/* Application tokens follow the device preference; vendor assets stay untouched. */
.swagger-ui { color: var(--color-ink); font-family: var(--font-sans); }
.swagger-ui .wrapper { max-width: 1440px; padding: 24px 40px; }
.swagger-ui .info .title { color: var(--color-ink); font-family: var(--font-serif); font-weight: 500; }
.swagger-ui :is(.info p,.info li,.info a,.info hgroup.main a,.info .base-url,.opblock-tag,.opblock-tag small,.opblock-summary-description,.opblock-summary-path,.opblock-summary-path__deprecated,.parameter__name,.parameter__type,.parameter__in,.response-col_status,.response-col_links,.tab li,.model,.model-title,.model-toggle:after,.prop-format,.prop-type,label,table thead tr th,table thead tr td,.opblock-description-wrapper p,.opblock-external-docs-wrapper p,.opblock-title_normal p,.opblock-title_normal,section.models h4) { color: var(--color-ink); }
.swagger-ui .scheme-container { background: var(--surface); border-bottom: 1px solid var(--border); box-shadow: none; }
.swagger-ui .scheme-container .schemes > label { color: var(--color-ink); }
.swagger-ui :is(input[type=text],input[type=password],input[type=email],input[type=search],input[type=file],textarea,select) { color: var(--color-ink); background: var(--surface); border-color: var(--border-strong); min-height: 44px; }
.swagger-ui :is(.btn,.download-contents) { min-height: 44px; border-radius: 6px; box-shadow: none; font-size: 13px; }
.swagger-ui .btn { color: var(--color-ink); border-color: var(--border-strong); }
.swagger-ui .btn.execute { background: var(--action); color: var(--action-ink); border-color: var(--action); }
.swagger-ui :is(.opblock-section-header,.dialog-ux .modal-ux,.model-box,.model-container,.responses-inner) { background: var(--surface); }
.swagger-ui .opblock .opblock-section-header { background: var(--surface); box-shadow: none; }
.swagger-ui :is(.opblock-section-header h4,.dialog-ux .modal-ux-header h3,.dialog-ux .modal-ux-content h4,.dialog-ux .modal-ux-content p) { color: var(--color-ink); }
.swagger-ui :is(.opblock-tag,section.models,section.models h4,.model-container) { border-color: var(--border-strong); }
.swagger-ui .model-box-control:focus-visible,.swagger-ui button:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.swagger-ui svg { fill: currentColor; }
.swagger-ui .markdown :is(p,pre,code) { overflow-wrap: anywhere; }
.swagger-ui .opblock-summary { flex-wrap: wrap; gap: 8px; }
.swagger-ui .opblock-summary-path { min-width: 0; overflow-wrap: anywhere; }
.swagger-ui .opblock .opblock-summary-method { color: #ffffff; }
.swagger-ui .opblock.opblock-get .opblock-summary-method { background: #25627e; }
.swagger-ui .opblock.opblock-post .opblock-summary-method { background: #27683d; }
.swagger-ui .opblock.opblock-head .opblock-summary-method { background: #684084; }
.swagger-ui .opblock.opblock-delete .opblock-summary-method { background: #8f3a2e; }
.swagger-ui .dialog-ux .modal-ux { border-color: var(--border-strong); }
@media (prefers-color-scheme: dark) {
  .swagger-ui .opblock.opblock-get { background: #1c3036; border-color: #5c98ae; }
  .swagger-ui .opblock.opblock-post { background: #20382b; border-color: #78a47a; }
  .swagger-ui .opblock.opblock-head { background: #302936; border-color: #a48eb3; }
  .swagger-ui :is(.opblock-summary-control,.authorization__btn,.expand-operation,.model-box-control) { color: var(--color-ink); }
  .swagger-ui .prop-type { color: #b4d6ff; }
  .swagger-ui .parameter__name.required:after { color: #eaa28a; }
  .swagger-ui .renderedMarkdown code { color: var(--code-ink); background: var(--code-surface); }
}
@media (max-width: 767px) {
  .swagger-ui .wrapper { padding: 20px 16px; }
  .swagger-ui .info .title { font-size: 30px; }
  .swagger-ui .opblock-summary-description { flex-basis: 100%; }
  .swagger-ui :is(.parameters-container,.responses-inner) { max-width: 100%; overflow-x: auto; }
  .swagger-ui table { min-width: 520px; }
}
