:root .swagger-ui { color-scheme: light; }
:root.dark .swagger-ui { color-scheme: dark; }

.swagger-ui .version-stamp { background: #334155 !important; color: #e2e8f0 !important; }
.swagger-ui .info .title small:not(.version-stamp) { background: #334155 !important; }
.swagger-ui .info .title small:not(.version-stamp) pre.version { color: #e2e8f0 !important; }

/* Dark mode background overrides */
:root.dark .swagger-ui,
:root.dark .swagger-ui .info,
:root.dark .swagger-ui .opblock-tag,
:root.dark .swagger-ui .opblock,
:root.dark .swagger-ui .opblock-section-header,
:root.dark .swagger-ui section,
:root.dark .swagger-ui .scheme-container,
:root.dark .swagger-ui .schemes,
:root.dark .swagger-ui .servers,
:root.dark .swagger-ui .auth-wrapper,
:root.dark .swagger-ui .response-controls,
:root.dark .swagger-ui .block,
:root.dark .swagger-ui .topbar,
:root.dark .swagger-ui .opblock-body,
:root.dark .swagger-ui .responses-inner,
:root.dark .swagger-ui .loading-container,
:root.dark .swagger-ui .modal-ux-inner,
:root.dark .swagger-ui .modal-ux-header,
:root.dark .swagger-ui .auth-container,
:root.dark .swagger-ui .auth-container .wrapper,
:root.dark .swagger-ui .wrapper,
:root.dark .swagger-ui table thead tr th,
:root.dark .swagger-ui table thead tr td { background: var(--color-card) !important; }

/* Universal dark-mode text color — all swagger elements get light text */
:root.dark .swagger-ui,
:root.dark .swagger-ui * { color: var(--color-text) !important; }

/* Exceptions: elements that need a different color */
:root.dark .swagger-ui a,
:root.dark .swagger-ui .btn.authorize { color: var(--color-primary) !important; }
:root.dark .swagger-ui .prop-name { color: var(--color-primary) !important; }
:root.dark .swagger-ui .version-stamp { background: #1e293b !important; color: #94a3b8 !important; }
:root.dark .swagger-ui .version-stamp * { color: #94a3b8 !important; }
:root.dark .swagger-ui .info .title small:not(.version-stamp) { background: transparent !important; }
:root.dark .swagger-ui .btn.execute { color: #ffffff !important; }
:root.dark .swagger-ui .opblock-summary-method { color: #ffffff !important; }
:root.dark .swagger-ui .opblock-summary-description { color: var(--color-text) !important; }
:root.dark .swagger-ui .json-schema-2020-12-accordion__icon { color: inherit !important; }
:root.dark .swagger-ui .json-schema-2020-12-accordion { color: var(--color-text) !important; }

/* Error/warning colors */
:root.dark .swagger-ui .errors-wrapper,
:root.dark .swagger-ui .errors-wrapper *,
:root.dark .swagger-ui .error-wrapper,
:root.dark .swagger-ui .error-wrapper * { background: #3b1818 !important; color: #fca5a5 !important; }

/* Select dropdowns in auth dialog — dark bg with light text */
:root.dark .swagger-ui select,
:root.dark .swagger-ui select option { background: var(--color-card) !important; color: var(--color-text) !important; }

/* Input fields */
:root.dark .swagger-ui input,
:root.dark .swagger-ui textarea { background: var(--color-card) !important; color: var(--color-text) !important; }
:root.dark .swagger-ui .auth-container input { background: var(--color-muted) !important; }

/* Borders */
:root.dark .swagger-ui .opblock-tag,
:root.dark .swagger-ui .opblock,
:root.dark .swagger-ui .opblock-section-header,
:root.dark .swagger-ui .scheme-container,
:root.dark .swagger-ui .servers,
:root.dark .swagger-ui .auth-wrapper,
:root.dark .swagger-ui .response-controls,
:root.dark .swagger-ui table thead tr th,
:root.dark .swagger-ui table thead tr td,
:root.dark .swagger-ui .topbar,
:root.dark .swagger-ui .block,
:root.dark .swagger-ui .btn { border-color: var(--color-border) !important; }

/* HTTP method badges */
:root.dark .swagger-ui .opblock.opblock-post .opblock-summary-method { background: #1d4ed8 !important; }
:root.dark .swagger-ui .opblock.opblock-get .opblock-summary-method { background: #15803d !important; }
:root.dark .swagger-ui .opblock.opblock-delete .opblock-summary-method { background: #b91c1c !important; }
:root.dark .swagger-ui .opblock.opblock-patch .opblock-summary-method { background: #b45309 !important; }
:root.dark .swagger-ui .opblock.opblock-put .opblock-summary-method { background: #92400e !important; }

/* Execute button */
:root.dark .swagger-ui .btn.execute { background: #2563eb !important; }
:root.dark .swagger-ui .btn.execute:disabled { background: #1e40af !important; }

/* Code / pre blocks */
:root.dark .swagger-ui .opblock-body pre,
:root.dark .swagger-ui .opblock-body pre span,
:root.dark .swagger-ui .model-box { background: var(--color-muted) !important; }

/* Modal auth dialog */
:root.dark .swagger-ui .modal-ux-inner,
:root.dark .swagger-ui .modal-ux-header,
:root.dark .swagger-ui .modal-ux-header h3,
:root.dark .swagger-ui .modal-ux-content,
:root.dark .swagger-ui .auth-container,
:root.dark .swagger-ui .auth-container .wrapper,
:root.dark .swagger-ui .auth-container .wrapper p,
:root.dark .swagger-ui .auth-container .wrapper code,
:root.dark .swagger-ui .auth-container .wrapper label,
:root.dark .swagger-ui .auth-btn-wrapper,
:root.dark .swagger-ui .modal-btn { background: var(--color-card) !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }

:root.dark .swagger-ui .dialog-ux .backdrop-ux { background: rgba(0,0,0,0.6) !important; }

/* Schema/model viewer */
:root.dark .swagger-ui .json-schema-2020-12__constraint,
:root.dark .swagger-ui .json-schema-2020-12__constraint--string { background: var(--color-muted) !important; }
