/**
 * Swagger UI - Grandid UI Theme Overrides
 *
 * This file overrides Swagger UI's default colors with Grandid UI CSS variables.
 * Each variable has a fallback to the original Swagger UI color.
 *
 * Load this AFTER swagger-ui.css for the cascade to work properly.
 */

/* ==========================================================================
   Base / Root Styles
   ========================================================================== */

.swagger-ui {
  color: var(--color-text, #3b4151);
}

.swagger-ui a {
  color: var(--primitive-color-blue, #4990e2);
}

/* ==========================================================================
   Typography
   ========================================================================== */

.swagger-ui .info .title,
.swagger-ui .info h1,
.swagger-ui .info h2,
.swagger-ui .info h3,
.swagger-ui .info h4,
.swagger-ui .info h5 {
  color: var(--color-text, #3b4151);
}

.swagger-ui .info p,
.swagger-ui .info li,
.swagger-ui .info table {
  color: var(--color-text, #3b4151);
}

.swagger-ui .info a {
  color: var(--primitive-color-blue, #4990e2);
}

.swagger-ui .info .base-url {
  color: var(--color-text-secondary, #999);
}

/* ==========================================================================
   Sections / Operations
   ========================================================================== */

.swagger-ui .opblock-tag {
  color: var(--color-text, #3b4151);
  border-bottom: 1px solid var(--color-border, #ebebeb);
}

.swagger-ui .opblock-tag:hover {
  background: var(--color-canvas, #f4f4f4);
}

.swagger-ui .opblock-tag small {
  color: var(--color-text-secondary, #6b6b6b);
}

.swagger-ui .opblock .opblock-summary-description {
  color: var(--color-text, #3b4151);
}

.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path__deprecated {
  color: var(--color-text, #3b4151);
}

/* ==========================================================================
   HTTP Method Colors (GET, POST, PUT, DELETE, PATCH)
   ========================================================================== */

/* GET - Success Green */
.swagger-ui .opblock.opblock-get {
  background: var(--color-success-surface, rgba(73, 204, 144, 0.1));
  border-color: var(--color-success-main, #49cc90);
}
.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background: var(--color-success-main, #49cc90);
}
.swagger-ui .opblock.opblock-get .opblock-summary {
  border-color: var(--color-success-main, #49cc90);
}
.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span::after {
  background: var(--color-success-main, #49cc90);
}

/* POST - Blue */
.swagger-ui .opblock.opblock-post {
  background: rgba(97, 175, 254, 0.1);
  border-color: var(--primitive-color-blue, #61affe);
}
.swagger-ui .opblock.opblock-post .opblock-summary-method {
  background: var(--primitive-color-blue, #61affe);
}
.swagger-ui .opblock.opblock-post .opblock-summary {
  border-color: var(--primitive-color-blue, #61affe);
}
.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span::after {
  background: var(--primitive-color-blue, #61affe);
}

/* PUT - Warning Orange */
.swagger-ui .opblock.opblock-put {
  background: var(--color-warning-surface, rgba(252, 161, 48, 0.1));
  border-color: var(--color-warning-main, #fca130);
}
.swagger-ui .opblock.opblock-put .opblock-summary-method {
  background: var(--color-warning-main, #fca130);
}
.swagger-ui .opblock.opblock-put .opblock-summary {
  border-color: var(--color-warning-main, #fca130);
}
.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span::after {
  background: var(--color-warning-main, #fca130);
}

/* DELETE - Error Red */
.swagger-ui .opblock.opblock-delete {
  background: var(--color-error-surface, rgba(249, 62, 62, 0.1));
  border-color: var(--color-error-main, #f93e3e);
}
.swagger-ui .opblock.opblock-delete .opblock-summary-method {
  background: var(--color-error-main, #f93e3e);
}
.swagger-ui .opblock.opblock-delete .opblock-summary {
  border-color: var(--color-error-main, #f93e3e);
}
.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span::after {
  background: var(--color-error-main, #f93e3e);
}

/* PATCH - Success Light */
.swagger-ui .opblock.opblock-patch {
  background: var(--color-success-surface, rgba(80, 227, 194, 0.1));
  border-color: var(--color-success-light, #50e3c2);
}
.swagger-ui .opblock.opblock-patch .opblock-summary-method {
  background: var(--color-success-light, #50e3c2);
}
.swagger-ui .opblock.opblock-patch .opblock-summary {
  border-color: var(--color-success-light, #50e3c2);
}
.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span::after {
  background: var(--color-success-light, #50e3c2);
}

/* ==========================================================================
   Parameters & Request Body
   ========================================================================== */

.swagger-ui .parameters-col_name {
  color: var(--color-text, #3b4151);
}

.swagger-ui .parameters-col_description {
  color: var(--color-text, #3b4151);
}

.swagger-ui .parameter__name {
  color: var(--color-text, #3b4151);
}

.swagger-ui .parameter__type {
  color: var(--color-text-secondary, #999);
}

.swagger-ui .parameter__in {
  color: var(--color-text-secondary, #999);
}

.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
  color: var(--color-text, #3b4151);
  border-bottom: 1px solid var(--color-border, #ebebeb);
}

.swagger-ui table tbody tr td {
  color: var(--color-text, #3b4151);
}

/* ==========================================================================
   Models / Schemas
   ========================================================================== */

.swagger-ui .model-title {
  color: var(--color-text, #3b4151);
}

.swagger-ui .model {
  color: var(--color-text, #3b4151);
}



.swagger-ui section.models {
  border: 1px solid var(--color-border, #ebebeb);
}

.swagger-ui section.models h4 {
  color: var(--color-text, #3b4151);
}

.swagger-ui section.models .model-container {
  background: var(--color-paper-main, #fff);
}

.swagger-ui .model-box {
  background: var(--color-canvas, #f4f4f4);
}

/* ==========================================================================
   Responses
   ========================================================================== */

.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 {
  color: var(--color-text, #3b4151);
}

.swagger-ui .response-col_status {
  color: var(--color-text, #3b4151);
}

.swagger-ui .response-col_description {
  color: var(--color-text, #3b4151);
}

.swagger-ui .response-col_links {
  color: var(--color-text, #3b4151);
}

/* ==========================================================================
   Code / Examples
   ========================================================================== */

.swagger-ui .highlight-code {
  background: var(--color-canvas, #f4f4f4);
}

.swagger-ui .example {
  color: var(--color-text, #3b4151);
}

/* ==========================================================================
   Buttons & Controls
   ========================================================================== */

.swagger-ui .btn {
  color: var(--color-text, #3b4151);
  border-color: var(--color-text-secondary, #888);
}

.swagger-ui .btn:hover {
  background: var(--color-canvas, #f4f4f4);
}

.swagger-ui select {
  color: var(--color-text, #3b4151);
  border-color: var(--color-border, #ccc);
  background: var(--color-paper-main, #fff);
}

.swagger-ui input[type="text"],
.swagger-ui input[type="password"],
.swagger-ui input[type="email"],
.swagger-ui input[type="file"],
.swagger-ui textarea {
  color: var(--color-text, #3b4151);
  border-color: var(--color-border, #ccc);
  background: var(--color-paper-main, #fff);
}

.swagger-ui input::placeholder,
.swagger-ui textarea::placeholder {
  color: var(--color-text-secondary, #999);
}

/* ==========================================================================
   Authorization
   ========================================================================== */

.swagger-ui .auth-wrapper {
  border-color: var(--color-border, #ebebeb);
}

.swagger-ui .auth-wrapper .authorize {
  color: var(--color-text, #3b4151);
}

.swagger-ui .authorization__btn {
  border-color: var(--color-text-secondary, #aaa);
}

/* ==========================================================================
   Dialog / Modal
   ========================================================================== */

.swagger-ui .dialog-ux .modal-ux {
  background: var(--color-paper-main, #fff);
  border: 1px solid var(--color-border, #ebebeb);
}

.swagger-ui .dialog-ux .modal-ux-header {
  border-bottom: 1px solid var(--color-border, #ebebeb);
}

.swagger-ui .dialog-ux .modal-ux-header h3 {
  color: var(--color-text, #3b4151);
}

.swagger-ui .dialog-ux .modal-ux-content {
  color: var(--color-text, #3b4151);
}

/* ==========================================================================
   Loading
   ========================================================================== */

.swagger-ui .loading-container .loading::before {
  border-color: var(--color-border, #ccc);
  border-top-color: var(--color-primary-main, #3b4151);
}

/* ==========================================================================
   Server Selection
   ========================================================================== */

.swagger-ui .servers > label {
  color: var(--color-text, #3b4151);
}

.swagger-ui .servers-title {
  color: var(--color-text, #3b4151);
}

/* ==========================================================================
   Tabs
   ========================================================================== */

.swagger-ui .tab li {
  color: var(--color-text, #3b4151);
}

.swagger-ui .tab li:first-of-type::after {
  background: var(--color-border, #ccc);
}

/* ==========================================================================
   Markdown Content
   ========================================================================== */

.swagger-ui .markdown p,
.swagger-ui .markdown li,
.swagger-ui .renderedMarkdown p,
.swagger-ui .renderedMarkdown li {
  color: var(--color-text, #3b4151);
}

.swagger-ui .markdown a,
.swagger-ui .renderedMarkdown a {
  color: var(--primitive-color-blue, #4990e2);
}

.swagger-ui .markdown code,
.swagger-ui .renderedMarkdown code {
  background: var(--color-canvas, #f4f4f4);
  color: var(--color-text, #3b4151);
}

/* ==========================================================================
   Topbar (if visible)
   ========================================================================== */

.swagger-ui .topbar {
  background: var(--color-paper-main, #fff);
}

/* ==========================================================================
   Filter
   ========================================================================== */

.swagger-ui .filter .operation-filter-input {
  border-color: var(--color-border, #ccc);
  background: var(--color-paper-main, #fff);
  color: var(--color-text, #3b4151);
}
