/* Miss Leen API docs — the dashboard's look (tokens from admin/src/styles/dashboard.css) over Swagger UI. */
:root {
  --bg:#F4F4F8; --surface:#FFFFFF; --surface-2:#FAFAFC; --border:#ECECF1; --border-2:#E2E2EA;
  --text:#17171F; --text-2:#5C5C6E; --text-3:#9797A8;
  --red:#CC1010; --red-2:#A00C0C; --red-soft:rgba(204,16,16,.09);
  --ok:#0A7A4E; --ok-bg:#E7F6EF; --warn:#B45309; --warn-bg:#FBF1E3; --info:#1A6EB0; --info-bg:#E9F3FB;
  --accent:#7B2FBE; --accent-bg:#F2E9FB; --danger:#CC1010; --danger-bg:#FDECEC;
  --code:#17171F;
  --shadow-sm:0 1px 2px rgba(20,20,45,.05); --shadow:0 1px 3px rgba(20,20,45,.05),0 8px 24px rgba(20,20,45,.06);
  --shadow-lg:0 12px 48px rgba(20,20,45,.14); --sh-red:0 8px 22px rgba(204,16,16,.28);
  --font:'Cairo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:ui-monospace, 'Cascadia Code', 'SFMono-Regular', Menlo, Consolas, monospace;
  --top:72px;
  color-scheme:light;
}
html { scroll-padding-top:calc(var(--top) + 16px); }
body { margin:0; background:var(--bg); color:var(--text); font:14px/1.5 var(--font); -webkit-font-smoothing:antialiased; }
[hidden] { display:none !important; }
button { font-family:inherit; }
:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
::-webkit-scrollbar { width:9px; height:9px; }
::-webkit-scrollbar-thumb { background:#D9D9E2; border-radius:6px; }
::-webkit-scrollbar-track { background:transparent; }

/* ── header: brand · search (first and biggest) · actions ── */
.ml-top {
  position:sticky; top:0; z-index:50; height:var(--top); box-sizing:border-box;
  display:flex; align-items:center; gap:20px; padding:0 24px;
  background:rgba(255,255,255,.9); backdrop-filter:saturate(1.4) blur(14px); -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--border);
}
.ml-brand { display:flex; align-items:center; gap:11px; color:var(--text); text-decoration:none; flex-shrink:0; }
.ml-brand img { width:38px; height:38px; border-radius:11px; object-fit:cover; box-shadow:var(--shadow-sm); }
.ml-brand-text { display:flex; align-items:center; gap:8px; }
.ml-brand strong { font-size:16px; font-weight:800; letter-spacing:-.01em; white-space:nowrap; }
.ml-pill { font-size:11px; font-weight:700; color:var(--red); background:var(--red-soft); padding:2px 8px; border-radius:99px; }

.ml-search {
  position:relative; flex:1; max-width:760px; height:46px; margin:0 auto; box-sizing:border-box;
  display:flex; align-items:center; gap:10px; padding:0 8px 0 14px;
  background:var(--surface-2); border:1.5px solid var(--border-2); border-radius:13px;
  transition:border-color .15s, box-shadow .15s, background .15s;
}
.ml-search:hover { border-color:#D4D4DE; }
.ml-search:focus-within { background:var(--surface); border-color:var(--red); box-shadow:0 0 0 3.5px var(--red-soft); }
.ml-search-icon { width:19px; height:19px; fill:var(--text-3); flex-shrink:0; }
.ml-search:focus-within .ml-search-icon { fill:var(--red); }
.ml-search input {
  flex:1; min-width:0; height:100%; border:0; outline:0; background:transparent;
  font:500 15px var(--font); color:var(--text);
}
.ml-search input::placeholder { color:var(--text-3); font-weight:500; }
.ml-count { font-size:12px; font-weight:700; color:var(--text-3); white-space:nowrap; font-variant-numeric:tabular-nums; }
body.is-searching .ml-count { color:var(--red); background:var(--red-soft); padding:2px 9px; border-radius:99px; }
.ml-clear {
  width:28px; height:28px; border:0; border-radius:8px; background:var(--bg); color:var(--text-2);
  font-size:18px; line-height:1; cursor:pointer; display:none;
}
.ml-clear:hover { background:var(--border); color:var(--text); }
body.is-searching .ml-clear { display:block; }
.ml-kbd {
  font:700 12px var(--mono); color:var(--text-3); background:var(--surface); border:1px solid var(--border-2);
  border-bottom-width:2px; border-radius:6px; padding:1px 7px;
}
.ml-search:focus-within .ml-kbd, body.is-searching .ml-kbd { display:none; }

.ml-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.ml-auth {
  display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 16px; cursor:pointer;
  border:1px solid var(--red); border-radius:11px; background:var(--red); color:#fff;
  font:700 13.5px var(--font); box-shadow:var(--sh-red);
}
body.is-ready .ml-auth { transition:background .15s, box-shadow .15s; } /* no fade when a saved token is restored on load */
.ml-auth svg { width:15px; height:15px; fill:currentColor; }
.ml-auth:hover { background:var(--red-2); }
.ml-auth.is-on { background:var(--ok-bg); border-color:rgba(10,122,78,.25); color:var(--ok); box-shadow:none; }
.ml-auth.is-on:hover { background:#D9F0E5; }
.ml-link { color:var(--text-2); font-size:13px; font-weight:700; text-decoration:none; padding:9px 10px; border-radius:9px; white-space:nowrap; }
.ml-link:hover { color:var(--red); background:var(--red-soft); }

/* ── page: sections sidebar + endpoints ── */
.ml-body {
  display:grid; grid-template-columns:268px minmax(0,1fr); gap:28px; align-items:start;
  max-width:1480px; margin:0 auto; padding:24px 24px 72px; box-sizing:border-box;
}
.ml-side {
  position:sticky; top:calc(var(--top) + 24px); max-height:calc(100vh - var(--top) - 48px); overflow:auto;
  box-sizing:border-box; padding:14px 10px; background:var(--surface);
  border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-sm);
}
.ml-side-head { display:flex; align-items:center; justify-content:space-between; padding:2px 8px 6px; }
.ml-side-head > span:first-child { font-size:12px; font-weight:800; color:var(--text); }
.ml-side-actions { display:flex; gap:2px; }
.ml-side-actions button {
  border:0; background:none; cursor:pointer; padding:3px 7px; border-radius:7px;
  font-size:11.5px; font-weight:700; color:var(--text-3);
}
.ml-side-actions button:hover { background:var(--bg); color:var(--text); }
.ml-tags { list-style:none; margin:0; padding:0; }
.ml-group { padding:14px 10px 5px; font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-3); }
.ml-tag {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; text-align:start;
  padding:7px 10px; border:0; border-radius:9px; background:none; cursor:pointer;
  font-size:13.5px; font-weight:600; color:var(--text-2); transition:background .12s, color .12s, opacity .12s;
}
.ml-tag:hover { background:var(--bg); color:var(--text); }
.ml-tag.is-active { background:var(--red-soft); color:var(--red); }
.ml-tag-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ml-tag-count {
  min-width:24px; padding:1px 7px; box-sizing:border-box; border-radius:99px; text-align:center;
  font-size:11px; font-weight:800; color:var(--text-3); background:var(--bg); font-variant-numeric:tabular-nums;
}
.ml-tag.is-active .ml-tag-count { background:var(--surface); color:var(--red); }
body.is-searching .ml-tag:not(.is-empty) .ml-tag-count { background:var(--red-soft); color:var(--red); }
.ml-tag.is-empty { opacity:.38; }
.ml-legend { display:flex; flex-wrap:wrap; gap:5px; margin:14px 8px 4px; padding-top:14px; border-top:1px solid var(--border); }
.ml-legend span { font:800 10px var(--mono); padding:3px 7px; border-radius:6px; letter-spacing:.03em; }
.m-get { color:var(--info); background:var(--info-bg); }
.m-post { color:var(--ok); background:var(--ok-bg); }
.m-put { color:var(--warn); background:var(--warn-bg); }
.m-patch { color:var(--accent); background:var(--accent-bg); }
.m-delete { color:var(--danger); background:var(--danger-bg); }

main { min-width:0; }
.ml-empty {
  display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center;
  padding:48px 24px; margin-bottom:14px; color:var(--text-2);
  background:var(--surface); border:1.5px dashed var(--border-2); border-radius:16px;
}
.ml-empty strong { font-size:16px; color:var(--text); }
.ml-empty code { font:600 12.5px var(--mono); background:var(--bg); padding:1px 6px; border-radius:6px; }

/* ── Swagger UI ─────────────────────────────────────────────────────────────── */
.swagger-ui, .swagger-ui * { font-family:var(--font) !important; }
.swagger-ui :is(code, pre, kbd, .microlight, .opblock-summary-path, .opblock-summary-path__deprecated,
  .model, .prop-type, .prop-format, .parameter__type, .response-col_status, .response-col_links,
  .curl, .request-url, .renderedMarkdown code, .markdown code, .parameter__in),
.swagger-ui :is(code, pre, .microlight, .opblock-summary-path, .model, .curl) * { font-family:var(--mono) !important; }
.swagger-ui { color:var(--text); }
.swagger-ui .wrapper { max-width:none; padding:0; }
.swagger-ui .filter-container, .swagger-ui .topbar { display:none; }
.swagger-ui a.nostyle, .swagger-ui a.nostyle:visited { color:inherit; }
.swagger-ui .markdown p, .swagger-ui .renderedMarkdown p, .swagger-ui .markdown li, .swagger-ui .renderedMarkdown li { color:var(--text-2); font-size:14px; line-height:1.6; margin:0 0 6px; }
.swagger-ui .markdown code, .swagger-ui .renderedMarkdown code {
  background:var(--bg); color:#3A3A48; border:1px solid var(--border); border-radius:6px; padding:0 5px; font-size:12px; font-weight:600;
}
.swagger-ui .markdown strong, .swagger-ui .renderedMarkdown strong { color:var(--text); font-weight:800; }

/* loading */
.swagger-ui .loading-container { padding:60px 0; }
.swagger-ui .loading-container .loading:after { color:var(--text-3); font-size:13px; }
.swagger-ui .loading-container .loading:before { border-color:var(--border); border-top-color:var(--red); }

/* overview card (the spec's description as tiles); hidden while searching so results come first */
.swagger-ui .information-container { margin:0 0 18px; }
.swagger-ui .info {
  margin:0; padding:22px 24px; background:var(--surface);
  border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-sm);
}
.swagger-ui .info hgroup.main { display:none; }
.swagger-ui .info .description :is(.markdown, .renderedMarkdown) {
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;
}
.swagger-ui .info .description :is(.markdown, .renderedMarkdown) p { margin:0; font-size:13.5px; }
.swagger-ui .info .description :is(.markdown, .renderedMarkdown) p:first-child {
  grid-column:1 / -1; font-size:15px; color:var(--text); font-weight:600; margin-bottom:4px;
}
.swagger-ui .info .description :is(.markdown, .renderedMarkdown) p:not(:first-child) {
  background:var(--surface-2); border:1px solid var(--border); border-radius:12px; padding:12px 14px;
}
.swagger-ui .info .description :is(.markdown, .renderedMarkdown) p strong { display:block; margin-bottom:2px; font-size:13px; }
body.is-searching .swagger-ui .information-container, body.is-searching .swagger-ui section.models { display:none; }

/* the native Authorize bar: our header button opens its dialog, the bar itself stays out of sight */
.swagger-ui .scheme-container { margin:0; padding:0; background:none; box-shadow:none; }
.swagger-ui .scheme-container .schemes { padding:0; }
.swagger-ui .scheme-container .schemes > .schemes-server-container,
.swagger-ui .scheme-container .schemes .auth-wrapper > .btn.authorize { display:none; }

/* sections */
.swagger-ui .opblock-tag-section {
  background:var(--surface); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-sm);
  margin:0 0 12px; overflow:hidden; scroll-margin-top:calc(var(--top) + 16px);
}
.swagger-ui .opblock-tag {
  margin:0; padding:15px 18px 15px 20px; gap:14px; border-bottom:1px solid transparent;
  font-size:16.5px; font-weight:800; color:var(--text); transition:background .12s;
}
.swagger-ui .opblock-tag:hover { background:var(--surface-2); }
.swagger-ui .opblock-tag[data-is-open="true"] { border-bottom-color:var(--border); }
.swagger-ui .opblock-tag > a.nostyle { flex-shrink:0; }
.swagger-ui .opblock-tag small { flex:1; padding:0; font-size:13px; font-weight:500; color:var(--text-2); }
.swagger-ui .opblock-tag small :is(.markdown, .renderedMarkdown) p { margin:0; font-size:13px; line-height:1.5; }
.swagger-ui .opblock-tag button.expand-operation { background:none; border:0; }
.swagger-ui .opblock-tag .arrow, .swagger-ui .expand-operation svg { color:var(--text-3); width:18px; height:18px; }
.swagger-ui .operation-tag-content { padding:10px 12px 12px; }
.swagger-ui h3.opblock-tag { scroll-margin-top:calc(var(--top) + 16px); }

/* 150+ open rows: Swagger UI switches to a flat virtual list (no section cards) — headers on the page, rows below */
.swagger-ui .operations-virtual__item { padding-bottom:6px; }
.swagger-ui .operations-virtual__item .opblock { margin:0; }
.swagger-ui .operations-virtual__item .opblock-tag { margin-top:10px; padding:12px 6px 8px; border-radius:10px; }
.swagger-ui .operations-virtual__item .opblock-tag:hover { background:var(--surface); }

/* operations */
.swagger-ui .opblock {
  margin:0 0 6px; background:var(--surface); border:1px solid var(--border); border-radius:12px;
  box-shadow:none; overflow:hidden; transition:border-color .15s, box-shadow .15s;
}
.swagger-ui .opblock:last-child { margin-bottom:0; }
.swagger-ui .opblock:hover { border-color:var(--border-2); }
.swagger-ui .opblock.is-open { border-color:var(--border-2); box-shadow:var(--shadow); }
.swagger-ui .opblock .opblock-summary { padding:7px 10px; gap:4px; border:0; }
.swagger-ui .opblock.is-open .opblock-summary { border-bottom:1px solid var(--border); background:var(--surface-2); }
.swagger-ui .opblock .opblock-summary-control { gap:12px; }
.swagger-ui .opblock .opblock-summary-control:focus { outline:none; }
.swagger-ui .opblock .opblock-summary-control:focus-visible { outline:2px solid var(--red); outline-offset:2px; border-radius:8px; }
.swagger-ui .opblock .opblock-summary-method {
  min-width:66px; padding:5px 0; border-radius:8px; font:800 11.5px var(--mono) !important; letter-spacing:.04em; text-shadow:none;
}
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path__deprecated { padding:0; font-size:13.5px; font-weight:600; color:var(--text); }
.swagger-ui .opblock .opblock-summary-description { font-size:13.5px; font-weight:500; color:var(--text-2); }
.swagger-ui .opblock .opblock-summary .view-line-link { margin:0 2px; opacity:.45; }
.swagger-ui .opblock .opblock-summary .view-line-link:hover { opacity:1; }
.swagger-ui svg.arrow { color:var(--text-3); width:16px; height:16px; }
.swagger-ui .opblock .authorization__btn { padding:0 6px; }
.swagger-ui .authorization__btn svg { width:15px; height:15px; opacity:1; color:var(--text-3); }
.swagger-ui .authorization__btn svg.locked { color:var(--ok); } /* Swagger's closed lock: you can call it as you are */

/* one colour per method, the dashboard's soft-pill style */
.swagger-ui .opblock.opblock-get, .swagger-ui .opblock.opblock-post, .swagger-ui .opblock.opblock-put,
.swagger-ui .opblock.opblock-patch, .swagger-ui .opblock.opblock-delete, .swagger-ui .opblock.opblock-head,
.swagger-ui .opblock.opblock-options { background:var(--surface); border-color:var(--border); }
.swagger-ui .opblock.is-open:is(.opblock-get, .opblock-post, .opblock-put, .opblock-patch, .opblock-delete) { border-color:var(--border-2); }
.swagger-ui .opblock:is(.opblock-get, .opblock-post, .opblock-put, .opblock-patch, .opblock-delete) .opblock-summary { border-color:var(--border); }
.swagger-ui .opblock.opblock-get .opblock-summary-method { background:var(--info-bg); color:var(--info); }
.swagger-ui .opblock.opblock-post .opblock-summary-method { background:var(--ok-bg); color:var(--ok); }
.swagger-ui .opblock.opblock-put .opblock-summary-method { background:var(--warn-bg); color:var(--warn); }
.swagger-ui .opblock.opblock-patch .opblock-summary-method { background:var(--accent-bg); color:var(--accent); }
.swagger-ui .opblock.opblock-delete .opblock-summary-method { background:var(--danger-bg); color:var(--danger); }
.swagger-ui .opblock.is-open.opblock-get .opblock-summary { box-shadow:inset 3px 0 0 var(--info); }
.swagger-ui .opblock.is-open.opblock-post .opblock-summary { box-shadow:inset 3px 0 0 var(--ok); }
.swagger-ui .opblock.is-open.opblock-put .opblock-summary { box-shadow:inset 3px 0 0 var(--warn); }
.swagger-ui .opblock.is-open.opblock-patch .opblock-summary { box-shadow:inset 3px 0 0 var(--accent); }
.swagger-ui .opblock.is-open.opblock-delete .opblock-summary { box-shadow:inset 3px 0 0 var(--danger); }
.swagger-ui .opblock .tab-header .tab-item.active h4 span:after,
.swagger-ui .opblock:is(.opblock-get, .opblock-post, .opblock-put, .opblock-patch, .opblock-delete) .tab-header .tab-item.active h4 span:after { background:var(--red); }
.swagger-ui .opblock.opblock-deprecated { opacity:.7; }

/* operation body */
.swagger-ui .opblock .opblock-section-header,
.swagger-ui .opblock:is(.opblock-get, .opblock-post, .opblock-put, .opblock-patch, .opblock-delete) .opblock-section-header {
  background:var(--surface); box-shadow:none; border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:9px 18px; min-height:44px; box-sizing:border-box;
}
.swagger-ui .opblock-body > .opblock-section:first-child .opblock-section-header { border-top:0; }
.swagger-ui .opblock .opblock-section-header h4, .swagger-ui .opblock-title, .swagger-ui .opblock .tab-header .tab-item h4 { font-size:13px; font-weight:800; color:var(--text); }
.swagger-ui .opblock .tab-header .tab-item { padding:0 18px 0 0; }
.swagger-ui .opblock-description-wrapper, .swagger-ui .opblock-external-docs-wrapper, .swagger-ui .opblock-title_normal { padding:14px 18px; margin:0; }
.swagger-ui .opblock-description-wrapper p, .swagger-ui .opblock-external-docs-wrapper p { font-size:13.5px; color:var(--text-2); }
.swagger-ui .opblock .opblock-section .parameters-container, .swagger-ui .parameters-col_description { font-size:13.5px; }
.swagger-ui .table-container { padding:6px 18px 14px; }
.swagger-ui .opblock .opblock-section-request-body > div:not(.opblock-section-header) { padding:12px 18px; }
.swagger-ui .opblock-body select { min-width:200px; }
.swagger-ui .parameters-col_name { width:30%; }

/* tables */
.swagger-ui table thead tr th, .swagger-ui table thead tr td, .swagger-ui .parameters thead tr th {
  font-size:11.5px; font-weight:800; color:var(--text-3); text-transform:uppercase; letter-spacing:.05em;
  border-bottom:1px solid var(--border); padding:10px 0;
}
.swagger-ui table tbody tr td { padding:12px 10px 12px 0; border-bottom:1px solid var(--border); vertical-align:top; }
.swagger-ui table tbody tr:last-child td { border-bottom:0; }
.swagger-ui .parameter__name { font-size:14px; font-weight:700; color:var(--text); }
.swagger-ui .parameter__name.required { font-weight:800; }
.swagger-ui .parameter__name.required:after { color:var(--red); font-size:10px; font-weight:700; }
.swagger-ui .parameter__name.required span { color:var(--red); }
.swagger-ui .parameter__type { font-size:12px; font-weight:600; color:var(--accent); padding-top:4px; }
.swagger-ui .parameter__in { font-size:11.5px; font-style:normal; color:var(--text-3); }
.swagger-ui .parameter__deprecated { color:var(--warn); }
.swagger-ui .parameter__enum, .swagger-ui .parameter__default, .swagger-ui .parameter__extension { font-size:12px; color:var(--text-2); }

/* form controls */
.swagger-ui input[type=text], .swagger-ui input[type=password], .swagger-ui input[type=search],
.swagger-ui input[type=email], .swagger-ui input[type=file], .swagger-ui textarea {
  border:1px solid var(--border-2); border-radius:9px; background:var(--surface); color:var(--text);
  padding:8px 11px; font-size:13.5px; box-shadow:none; outline:none; transition:border-color .15s, box-shadow .15s;
}
.swagger-ui select {
  border:1px solid var(--border-2); border-radius:9px; background-color:var(--surface); color:var(--text);
  padding:7px 36px 7px 11px; font-size:13px; font-weight:600; box-shadow:none;
}
.swagger-ui :is(input, textarea, select):focus { border-color:var(--red); box-shadow:0 0 0 3.5px var(--red-soft); }
.swagger-ui input.invalid, .swagger-ui textarea.invalid, .swagger-ui select.invalid { border-color:var(--red); background:var(--danger-bg); }
.swagger-ui textarea { min-height:120px; }
.swagger-ui .opblock-body textarea.body-param__text, .swagger-ui textarea.curl {
  background:var(--code); color:#EDEDF3; border-color:var(--code); border-radius:10px; font-size:12.5px; line-height:1.6;
}

/* buttons */
.swagger-ui .btn {
  border:1px solid var(--border-2); border-radius:9px; background:var(--surface); color:var(--text);
  padding:7px 16px; font-size:13px; font-weight:700; box-shadow:none; transition:background .15s, border-color .15s, box-shadow .15s;
}
.swagger-ui .btn:hover { box-shadow:var(--shadow-sm); border-color:#D4D4DE; }
.swagger-ui .btn.try-out__btn { border-color:var(--border-2); }
.swagger-ui .btn.try-out__btn.cancel, .swagger-ui .btn.cancel { color:var(--red); border-color:rgba(204,16,16,.3); background:var(--surface); }
.swagger-ui .btn.execute, .swagger-ui .btn-group .btn.execute {
  background:var(--red); border-color:var(--red); color:#fff; box-shadow:var(--sh-red);
}
.swagger-ui .btn.execute:hover { background:var(--red-2); border-color:var(--red-2); }
.swagger-ui .btn-group { padding:16px 18px; gap:8px; }
.swagger-ui .btn-group .btn:first-child, .swagger-ui .btn-group .btn:last-child { border-radius:9px; }
.swagger-ui .execute-wrapper { padding:16px 18px; }
.swagger-ui .btn.authorize, .swagger-ui .btn.modal-btn.auth.authorize {
  background:var(--red); border-color:var(--red); color:#fff;
}
.swagger-ui .btn.authorize svg { fill:#fff; }
.swagger-ui .btn.modal-btn { padding:8px 20px; }
.swagger-ui .btn.modal-btn.auth.btn-done, .swagger-ui .btn.modal-btn.auth:not(.authorize) { background:var(--surface); color:var(--text); border-color:var(--border-2); }

/* responses */
.swagger-ui .responses-wrapper .opblock-section-header { border-top:1px solid var(--border); }
.swagger-ui .responses-inner { padding:14px 18px 18px; }
.swagger-ui .responses-inner h4, .swagger-ui .responses-inner h5 { font-size:13px; font-weight:800; color:var(--text); margin:14px 0 8px; }
.swagger-ui .response-col_status { font-size:14px; font-weight:800; color:var(--text); }
.swagger-ui .response-col_status .response-undocumented { color:var(--text-3); font-size:11px; }
.swagger-ui .response-col_links { color:var(--text-3); font-size:12px; }
.swagger-ui .response-col_description { font-size:13.5px; }
.swagger-ui .responses-table .response { vertical-align:top; }
.swagger-ui .response-control-media-type__title, .swagger-ui .response-control-media-type__accept-message { font-size:12px; font-weight:600; }
.swagger-ui .response-control-media-type--accept-controller select { border-color:var(--ok); }
.swagger-ui .response-control-media-type__accept-message { color:var(--ok); }
.swagger-ui .request-url pre, .swagger-ui .curl-command pre { border-radius:10px; }
.swagger-ui .request-url .microlight { background:var(--bg) !important; color:var(--text) !important; }
.swagger-ui .live-responses-table .response-col_status { font-size:15px; }
.swagger-ui .opblock-body pre.microlight, .swagger-ui .highlight-code > .microlight, .swagger-ui .microlight {
  background:var(--code) !important; color:#EDEDF3; border-radius:10px; padding:14px 16px !important;
  font-size:12.5px !important; line-height:1.6; max-height:440px;
}
.swagger-ui .highlight-code { border-radius:10px; }
.swagger-ui :is(.highlight-code, .curl-command, .request-url) .copy-to-clipboard { background:#2B2B36; border-radius:8px; bottom:10px; right:12px; }
.swagger-ui .opblock-summary .view-line-link.copy-to-clipboard { background:transparent; }
.swagger-ui .copy-to-clipboard button { background-size:13px; }
.swagger-ui .download-contents { background:#2B2B36; border-radius:8px; font-size:12px; font-weight:700; }
.swagger-ui .request-snippets { padding:0; }

/* schemas */
.swagger-ui section.models {
  margin:22px 0 0; background:var(--surface); border:1px solid var(--border); border-radius:16px;
  box-shadow:var(--shadow-sm); overflow:hidden;
}
.swagger-ui section.models h4 { margin:0; padding:16px 20px; font-size:16.5px; font-weight:800; color:var(--text); }
.swagger-ui section.models h4:hover { background:var(--surface-2); }
.swagger-ui section.models.is-open { padding:0 0 12px; }
.swagger-ui section.models.is-open h4 { margin:0 0 10px; border-bottom:1px solid var(--border); }
.swagger-ui section.models .model-container { margin:0 14px 6px; border-radius:10px; background:var(--surface-2); border:1px solid var(--border); }
.swagger-ui section.models .model-container:hover { background:var(--bg); }
.swagger-ui section.models .model-box { background:none; padding:9px 14px; }
.swagger-ui .model-title { font-size:13.5px; font-weight:700; color:var(--text); }
.swagger-ui .model, .swagger-ui .model .property { font-size:12.5px; color:var(--text); }
.swagger-ui .model-box { border-radius:10px; }
.swagger-ui .model .property.primitive, .swagger-ui .prop-type { color:var(--accent); }
.swagger-ui .prop-format { color:var(--text-3); }
.swagger-ui .model-toggle:after { opacity:.5; }
.swagger-ui .model-box-control:focus, .swagger-ui .models-control:focus { outline:none; }
.swagger-ui .tab li { font-size:12.5px; font-weight:700; color:var(--text-3); }
.swagger-ui .tab li.active, .swagger-ui .tab li button.tablinks { color:var(--text); }
.swagger-ui .tab li:first-of-type:after { background:var(--border-2); }

/* Authorize dialog */
.swagger-ui .dialog-ux { z-index:100; }
.swagger-ui .dialog-ux .backdrop-ux { background:rgba(20,20,45,.45); backdrop-filter:blur(2px); }
.swagger-ui .dialog-ux .modal-ux {
  max-width:580px; border:0; border-radius:18px; box-shadow:var(--shadow-lg); overflow:hidden; top:44%;
}
.swagger-ui .dialog-ux .modal-ux-header { padding:16px 22px; border-bottom:1px solid var(--border); }
.swagger-ui .dialog-ux .modal-ux-header h3 { font-size:17px; font-weight:800; color:var(--text); }
.swagger-ui .dialog-ux .modal-ux-header .close-modal { padding:6px; border-radius:8px; }
.swagger-ui .dialog-ux .modal-ux-header .close-modal:hover { background:var(--bg); }
.swagger-ui .dialog-ux .modal-ux-content { padding:6px 22px 16px; max-height:70vh; }
.swagger-ui .dialog-ux .modal-ux-content h4 { font-size:15px; font-weight:800; color:var(--text); margin:14px 0 6px; }
.swagger-ui .dialog-ux .modal-ux-content p { font-size:13px; color:var(--text-2); }
.swagger-ui .dialog-ux .modal-ux-content label { font-size:12.5px; font-weight:700; color:var(--text-2); }
.swagger-ui .dialog-ux .modal-ux-content input { width:100%; box-sizing:border-box; margin:4px 0 0; }
.swagger-ui .dialog-ux .modal-ux-content .auth-container { margin:0; padding:4px 0 16px; border:0; border-bottom:1px solid var(--border); }
.swagger-ui .dialog-ux .modal-ux-content .auth-container:last-of-type { border-bottom:0; }
.swagger-ui .auth-container .wrapper { padding:0; }
.swagger-ui .auth-btn-wrapper { padding:12px 0 0; gap:8px; justify-content:flex-start; }
.swagger-ui .auth-container .errors { border-radius:9px; background:var(--danger-bg); color:var(--danger); }

/* misc */
.swagger-ui .errors-wrapper { border-radius:12px; border:1px solid rgba(204,16,16,.25); background:var(--danger-bg); margin:0 0 14px; }
.swagger-ui .no-margin > h3 { display:none; }
.swagger-ui .loading-container + * { margin-top:0; }

/* ── narrow screens: search on its own row, sections as a chip strip ── */
@media (max-width: 1080px) {
  .ml-link { display:none; }
}
@media (max-width: 900px) {
  :root { --top:118px; }
  .ml-top { flex-wrap:wrap; height:auto; padding:10px 16px 12px; gap:10px 12px; }
  .ml-brand { flex:1; }
  .ml-search { order:3; flex-basis:100%; max-width:none; height:44px; }
  .ml-kbd { display:none; }
  .ml-body { display:block; padding:12px 16px 56px; }
  .ml-side {
    position:static; max-height:none; overflow:visible; padding:0; margin:0 -16px 12px;
    background:none; border:0; box-shadow:none;
  }
  .ml-side-head, .ml-group, .ml-legend { display:none; }
  .ml-tags { display:flex; gap:6px; overflow-x:auto; padding:2px 16px 6px; scrollbar-width:none; }
  .ml-tags::-webkit-scrollbar { display:none; }
  .ml-tag { width:auto; white-space:nowrap; background:var(--surface); border:1px solid var(--border); border-radius:99px; padding:6px 10px 6px 12px; }
  .swagger-ui .info .description :is(.markdown, .renderedMarkdown) { grid-template-columns:1fr; }
  .swagger-ui .opblock .opblock-summary-control { flex-wrap:wrap; gap:6px 10px; }
  .swagger-ui .opblock .opblock-summary-description { flex-basis:100%; }
}
@media (max-width: 520px) {
  .ml-brand-text .ml-pill, body:not(.is-searching) .ml-count { display:none; }
  .ml-auth { padding:0 12px; }
  .swagger-ui .opblock-tag { flex-wrap:wrap; }
  .swagger-ui .opblock-tag small { flex-basis:100%; order:3; }
}
@media (prefers-reduced-motion: reduce) { * { transition:none !important; scroll-behavior:auto !important; } }
