/* ── Fonts ── */
.swagger-ui, html.dark-mode .swagger-ui { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.swagger-ui .info .title, .swagger-ui .opblock-tag, .swagger-ui .model-title, html.dark-mode .swagger-ui .info .title, html.dark-mode .swagger-ui .opblock-tag { font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important; }
/* ── Page background ── */
html.dark-mode .swagger-ui, html.dark-mode body { background: #020617 !important; }
html.dark-mode .swagger-ui .wrapper { background: #020617 !important; }
/* ── Top bar ── */
html.dark-mode .swagger-ui .topbar, .swagger-ui .topbar { background-color: #0f172a !important; border: none !important; box-shadow: none !important; border-bottom: 1px solid #1e293b !important; }
.swagger-ui .topbar .topbar-wrapper { padding: 8px 0; }
.swagger-ui .topbar .topbar-wrapper img { max-height: 40px; }
.swagger-ui .topbar .topbar-wrapper a { display: flex !important; align-items: center !important; }
html.dark-mode .swagger-ui .topbar .download-url-wrapper .download-url-button { background: #0ea5e9 !important; color: #fff !important; }
/* ── Links ── */
html.dark-mode .swagger-ui .info a { color: #38bdf8 !important; }
html.dark-mode .swagger-ui .info .base-url { color: #94a3b8 !important; }
/* ── Server/Auth bar ── */
html.dark-mode .swagger-ui .scheme-container { background: #020617 !important; border: none !important; box-shadow: none !important; padding: 20px 0 !important; }
html.dark-mode .swagger-ui .scheme-container .schemes > label { margin-bottom: 8px !important; display: block !important; }
html.dark-mode .swagger-ui .btn.authorize { color: #38bdf8 !important; border-color: #38bdf8 !important; background-color: transparent !important; }
html.dark-mode .swagger-ui .btn.authorize svg { fill: #38bdf8 !important; }
html.dark-mode .swagger-ui .btn.authorize:hover { background: rgba(56, 189, 248, 0.1) !important; }
/* ── POST ── */
html.dark-mode .swagger-ui .opblock.opblock-post { border-color: #334155 !important; background: #0f172a !important; }
html.dark-mode .swagger-ui .opblock.opblock-post .opblock-summary-method { background: #0ea5e9 !important; color: #fff !important; border-radius: 4px !important; }
html.dark-mode .swagger-ui .opblock.opblock-post .opblock-summary { border-color: #334155 !important; }
html.dark-mode .swagger-ui .opblock.opblock-post .opblock-section-header { background: #1e293b !important; border-color: #334155 !important; }
html.dark-mode .swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after { background: #0ea5e9 !important; }
html.dark-mode .swagger-ui .opblock.opblock-post .opblock-title span:after { background: #0ea5e9 !important; }
html.dark-mode .swagger-ui .opblock.opblock-post thead tr td, html.dark-mode .swagger-ui .opblock.opblock-post thead tr th { border-color: #334155 !important; }
/* ── GET ── */
html.dark-mode .swagger-ui .opblock.opblock-get { border-color: #334155 !important; background: #0f172a !important; }
html.dark-mode .swagger-ui .opblock.opblock-get .opblock-summary-method { background: #1d4291 !important; color: #fff !important; border-radius: 4px !important; }
html.dark-mode .swagger-ui .opblock.opblock-get .opblock-summary { border-color: #334155 !important; }
html.dark-mode .swagger-ui .opblock.opblock-get .opblock-section-header { background: #1e293b !important; border-color: #334155 !important; }
html.dark-mode .swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after { background: #1d4291 !important; }
/* ── DELETE ── */
html.dark-mode .swagger-ui .opblock.opblock-delete { border-color: #334155 !important; background: #0f172a !important; }
html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-summary-method { background: #b91c1c !important; color: #fff !important; border-radius: 4px !important; }
html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-summary { border-color: #334155 !important; }
html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-section-header { background: #1e293b !important; border-color: #334155 !important; }
/* ── PUT/PATCH ── */
html.dark-mode .swagger-ui .opblock.opblock-put { border-color: #334155 !important; background: #0f172a !important; }
html.dark-mode .swagger-ui .opblock.opblock-put .opblock-summary-method { background: #f59e0b !important; color: #000 !important; border-radius: 4px !important; }
html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-summary-method { background: #f59e0b !important; color: #000 !important; border-radius: 4px !important; }
/* ── Buttons ── */
html.dark-mode .swagger-ui .btn.execute { background-color: #0ea5e9 !important; border-color: #0ea5e9 !important; color: #fff !important; }
html.dark-mode .swagger-ui .btn.execute:hover { background-color: #0284c7 !important; }
html.dark-mode .swagger-ui .try-out__btn { color: #38bdf8 !important; border-color: #38bdf8 !important; }
html.dark-mode .swagger-ui .try-out__btn:hover { background: rgba(56, 189, 248, 0.1) !important; }
html.dark-mode .swagger-ui .btn.cancel { border-color: #b91c1c !important; color: #b91c1c !important; }
html.dark-mode .swagger-ui .copy-to-clipboard { background: #1e293b !important; }
/* ── Tags/sections ── */
html.dark-mode .swagger-ui .opblock-tag { border-color: #334155 !important; }
html.dark-mode .swagger-ui .opblock-tag:hover { background: #0f172a !important; }
/* ── Inputs/selects ── */
html.dark-mode .swagger-ui select { border-color: #334155 !important; background: #1e293b !important; }
html.dark-mode .swagger-ui input[type=text] { border-color: #334155 !important; background: #1e293b !important; }
html.dark-mode .swagger-ui textarea { border-color: #334155 !important; background: #1e293b !important; }
/* ── All opblock borders (blanket override for all HTTP methods) ── */
html.dark-mode .swagger-ui .opblock .opblock-summary { border-color: #334155 !important; }
html.dark-mode .swagger-ui .opblock .opblock-section-header { border-color: #334155 !important; border-bottom: 1px solid #334155 !important; border-top: 1px solid #334155 !important; }
html.dark-mode .swagger-ui .opblock .opblock-body > .opblock-description-wrapper, html.dark-mode .swagger-ui .opblock .opblock-body > .opblock-title_normal { border-top: 1px solid #334155 !important; }
html.dark-mode .swagger-ui .opblock thead tr td, html.dark-mode .swagger-ui .opblock thead tr th { border-color: #334155 !important; }
/* ── Misc ── */
html.dark-mode .swagger-ui .parameter__name.required::after { color: #b91c1c !important; }
html.dark-mode .swagger-ui .response-col_status .response-undocumented { color: #38bdf8 !important; }
html.dark-mode .swagger-ui .model-box { background: #1e293b !important; }
html.dark-mode .swagger-ui .model { color: #94a3b8 !important; }
html.dark-mode .swagger-ui table thead tr td, html.dark-mode .swagger-ui table thead tr th { border-color: #334155 !important; }