/* ============================================================
   GB10 Studio — Swagger UI dark/amber theme override
   Forces Swagger UI 5 onto the industrial-black / amber palette.
   Loaded AFTER swagger-ui.css so these win.
   ============================================================ */

:root {
    --sw-bg: #0a0a0a;
    --sw-card: #0d0d0d;
    --sw-card-2: #111111;
    --sw-line: #1a1a1a;
    --sw-line-2: #242424;
    --sw-ink: #f0f0f0;
    --sw-ink-2: #c4c4c4;
    --sw-mute: #777777;
    --sw-amber: #ffa100;
}

body { background: var(--sw-bg) !important; }

.swagger-ui { color: var(--sw-ink-2); }
.swagger-ui .wrapper { max-width: 1200px; }

/* Typography / headings */
.swagger-ui,
.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info table,
.swagger-ui label,
.swagger-ui .parameter__name,
.swagger-ui .tab li,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5,
.swagger-ui table.headers td { color: var(--sw-ink-2); }

.swagger-ui .info .title,
.swagger-ui h1, .swagger-ui h2, .swagger-ui h3,
.swagger-ui h4, .swagger-ui h5,
.swagger-ui .opblock-tag,
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path__deprecated,
.swagger-ui .parameter__type,
.swagger-ui .response-col_status,
.swagger-ui .model-title,
.swagger-ui .model { color: var(--sw-ink); }

.swagger-ui a, .swagger-ui .info a { color: var(--sw-amber); }
.swagger-ui .opblock-tag small,
.swagger-ui .opblock .opblock-summary-description,
.swagger-ui .parameter__in,
.swagger-ui .response-col_description__inner p,
.swagger-ui .tab li.active { color: var(--sw-mute); }

/* Servers / scheme bar */
.swagger-ui .scheme-container {
    background: var(--sw-card);
    box-shadow: none;
    border-bottom: 1px solid var(--sw-line);
}
.swagger-ui .scheme-container .schemes-title { color: var(--sw-mute); }

/* Section tags ("System", "Authentication"...) */
.swagger-ui .opblock-tag {
    border-bottom: 1px solid var(--sw-line);
}
.swagger-ui .opblock-tag:hover { background: rgba(255,255,255,0.02); }

/* Operation blocks — force every method onto a dark card */
.swagger-ui .opblock {
    background: var(--sw-card) !important;
    border: 1px solid var(--sw-line);
    box-shadow: none;
    margin: 0 0 12px;
    border-radius: 4px;
}
.swagger-ui .opblock .opblock-summary { border-color: var(--sw-line); }
.swagger-ui .opblock.is-open .opblock-summary { border-bottom: 1px solid var(--sw-line); }
.swagger-ui .opblock .opblock-section-header {
    background: var(--sw-card-2);
    box-shadow: none;
    border-bottom: 1px solid var(--sw-line);
}
.swagger-ui .opblock .opblock-section-header h4,
.swagger-ui .opblock .opblock-section-header > label { color: var(--sw-ink); }

/* Method badges keep semantic hue but on a slightly muted chip */
.swagger-ui .opblock .opblock-summary-method {
    border-radius: 3px;
    text-shadow: none;
    font-family: 'IBM Plex Mono', monospace;
}

/* Inputs, selects, filter */
.swagger-ui .filter .operation-filter-input,
.swagger-ui input[type=text],
.swagger-ui input[type=password],
.swagger-ui input[type=email],
.swagger-ui input[type=search],
.swagger-ui textarea,
.swagger-ui select {
    background: var(--sw-card) !important;
    border: 1px solid var(--sw-line-2) !important;
    color: var(--sw-ink) !important;
    box-shadow: none;
}
.swagger-ui .filter .operation-filter-input:focus,
.swagger-ui input:focus,
.swagger-ui select:focus { border-color: var(--sw-amber) !important; outline: none; }
.swagger-ui ::placeholder { color: var(--sw-mute); }

/* Buttons */
.swagger-ui .btn {
    color: var(--sw-ink);
    border-color: var(--sw-line-2);
    background: var(--sw-card);
    box-shadow: none;
}
.swagger-ui .btn:hover { border-color: var(--sw-amber); color: var(--sw-amber); }
.swagger-ui .btn.execute {
    background: var(--sw-amber);
    border-color: var(--sw-amber);
    color: #0a0a0a;
}
.swagger-ui .btn.execute:hover { background: #ffb733; border-color: #ffb733; color: #0a0a0a; }
.swagger-ui .btn.cancel { border-color: var(--danger, #ef4444); color: var(--danger, #ef4444); }
.swagger-ui .btn.authorize { border-color: var(--sw-amber); color: var(--sw-amber); }
.swagger-ui .btn.authorize svg { fill: var(--sw-amber); }

/* Tables / parameters / responses */
.swagger-ui table { border-collapse: collapse; }
.swagger-ui table thead tr td,
.swagger-ui table thead tr th {
    color: var(--sw-mute);
    border-bottom: 1px solid var(--sw-line);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    text-transform: uppercase;
}
.swagger-ui .parameters-col_description input,
.swagger-ui td, .swagger-ui .response-col_links { border-color: var(--sw-line); }
.swagger-ui .responses-table .response { border-color: var(--sw-line); }
.swagger-ui .response-control-media-type__title { color: var(--sw-mute); }

/* Models */
.swagger-ui section.models {
    background: var(--sw-card);
    border: 1px solid var(--sw-line);
}
.swagger-ui section.models.is-open h4 { border-bottom: 1px solid var(--sw-line); color: var(--sw-ink); }
.swagger-ui section.models .model-container { background: var(--sw-card-2); border-radius: 4px; }
.swagger-ui section.models .model-container:hover { background: var(--sw-card-2); }
.swagger-ui .model-box { background: transparent; }
.swagger-ui .prop-type { color: var(--sw-amber); }
.swagger-ui .prop-format, .swagger-ui .model .property.primitive { color: var(--sw-mute); }

/* Code / markdown */
.swagger-ui .markdown code,
.swagger-ui .renderedMarkdown code {
    background: var(--sw-line);
    color: var(--sw-amber);
    border-radius: 3px;
}
.swagger-ui .highlight-code,
.swagger-ui .microlight { background: #111 !important; border-radius: 4px; }
.swagger-ui .opblock-body pre.microlight { background: #111 !important; }
.swagger-ui .copy-to-clipboard { background: var(--sw-line-2); }

/* Misc chrome */
.swagger-ui .topbar { display: none; }
.swagger-ui .info .base-url,
.swagger-ui .info .title small pre { background: var(--sw-line); color: var(--sw-ink-2); }
.swagger-ui .info hgroup.main a { color: var(--sw-amber); }
.swagger-ui svg:not(:root) { fill: var(--sw-ink-2); }
.swagger-ui .expand-operation svg,
.swagger-ui .opblock-summary svg { fill: var(--sw-mute); }
.swagger-ui .authorization__btn svg { fill: var(--sw-amber); }
.swagger-ui .dialog-ux .modal-ux {
    background: var(--sw-card);
    border: 1px solid var(--sw-line-2);
}
.swagger-ui .dialog-ux .modal-ux-header h3,
.swagger-ui .dialog-ux .modal-ux-content h4,
.swagger-ui .dialog-ux .modal-ux-content p { color: var(--sw-ink-2); }
.swagger-ui .dialog-ux .backdrop-ux { background: rgba(0,0,0,0.7); }
