
:root { color-scheme: dark; --bg: #050912; --panel: #0b1221; --panel-2: #111a2d; --border: rgba(148,163,184,.16); --text: #eef2fb; --muted: #94a3b8; --blue: #4d80ff; }
html, body { background: var(--bg); }
body { margin: 0; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  background: radial-gradient(900px 480px at 85% -5%, rgba(47,107,255,.22), transparent 70%), radial-gradient(700px 420px at 0% 20%, rgba(11,79,234,.10), transparent 70%), var(--bg) no-repeat; }
.swagger-ui, .swagger-ui .info, .swagger-ui .opblock-tag, .swagger-ui .opblock .opblock-summary-description, .swagger-ui table, .swagger-ui .tab li, .swagger-ui .response-col_status,
.swagger-ui .parameter__name, .swagger-ui .parameter__type, .swagger-ui .model, .swagger-ui .model-title, .swagger-ui label, .swagger-ui .btn, .swagger-ui select, .swagger-ui input { font-family: inherit; }

/* floating top bar, like the landing page */
.swagger-ui .topbar { position: sticky; top: 0; z-index: 10; background: transparent; padding: 10px 16px 0; }
.swagger-ui .topbar .wrapper { padding: 0; }
.swagger-ui .topbar-wrapper { max-width: 1400px; margin: 0 auto; height: 56px; padding: 0 10px 0 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  background: rgba(9,15,30,.75); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.swagger-ui .topbar-wrapper a { max-width: none; }
.swagger-ui .topbar-wrapper img { height: 28px; }
.swagger-ui .topbar .download-url-wrapper, .swagger-ui .topbar .dark-mode-toggle { display: none; }
.swagger-ui .topbar-wrapper { display: flex; align-items: center; justify-content: space-between; }
.swagger-ui .topbar-wrapper a.triggerflow-home, .triggerflow-home { flex: none; max-width: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 10px; font-size: 14px; font-weight: 600; text-decoration: none;
  color: #fff; background: linear-gradient(120deg, #0b2a7a, #1546c8 60%, #2563eb); border: 1px solid #12389e; box-shadow: 0 8px 22px rgba(21, 70, 200, 0.35); }
.triggerflow-home:hover { filter: brightness(1.12); }

/* header */
.swagger-ui .wrapper { max-width: 1400px; padding: 0 24px; }
.swagger-ui .information-container .info { margin: 44px 0 20px; }
.swagger-ui .info .title { color: var(--text); font-size: 44px; font-weight: 800; letter-spacing: -1.2px; }
.swagger-ui .info .title small { background: rgba(77,128,255,.16); border: 1px solid rgba(77,128,255,.3); top: -14px; }
.swagger-ui .info .title small pre { color: #9db8ff; font-family: inherit; font-weight: 700; }
.swagger-ui .info .title small.version-stamp { background: rgba(74,222,128,.12); border-color: rgba(74,222,128,.3); }
.swagger-ui .info .title small.version-stamp pre { color: #4ade80; }
.swagger-ui .info a, .swagger-ui .info .link { color: #7aa2ff; }
.swagger-ui .info p, .swagger-ui .info li, .swagger-ui .info .base-url { color: var(--muted); font-size: 15px; line-height: 1.65; max-width: 860px; margin: 10px 0; }
.swagger-ui .markdown code, .swagger-ui .renderedMarkdown code { color: #9db8ff; background: rgba(77,128,255,.12); border-radius: 6px; padding: 1px 6px; font-weight: 600; }
.swagger-ui .scheme-container { background: transparent; box-shadow: none; padding: 0 0 18px; margin: 0; }
.swagger-ui .scheme-container .schemes { justify-content: flex-end; }

/* buttons */
.swagger-ui .btn { border-radius: 9px; border: 1px solid var(--border); color: var(--text); background: var(--panel-2); box-shadow: none; font-weight: 600; }
.swagger-ui .btn:hover { border-color: rgba(77,128,255,.5); box-shadow: none; }
.swagger-ui .btn.authorize { color: #fff; background: #2f6bff; border-color: #2f6bff; box-shadow: 0 0 0 1px rgba(77,128,255,.3), 0 8px 24px rgba(47,107,255,.3); }
.swagger-ui .btn.authorize svg { fill: #fff; }
.swagger-ui .btn.execute { background: #2f6bff; border-color: #2f6bff; color: #fff; }
.swagger-ui .btn.cancel { color: #fda4af; border-color: rgba(253,164,175,.4); background: transparent; }
.swagger-ui .try-out__btn { color: #9db8ff; border-color: rgba(77,128,255,.4); background: transparent; }

/* sections */
.swagger-ui .opblock-tag-section { margin-bottom: 8px; }
.swagger-ui .opblock-tag { color: var(--text); border-bottom: 1px solid var(--border); font-size: 20px; font-weight: 700; text-transform: capitalize; padding: 14px 8px; }
.swagger-ui .opblock-tag:hover { background: rgba(255,255,255,.02); }
.swagger-ui .opblock-tag small { color: var(--muted); }
.swagger-ui svg.arrow, .swagger-ui .expand-operation svg, .swagger-ui .opblock-control-arrow svg, .swagger-ui .authorization__btn svg, .swagger-ui .model-toggle::after { fill: var(--muted); }
.swagger-ui .opblock-tag svg { fill: var(--muted); }

/* operations: dark cards with a coloured method badge */
.swagger-ui .opblock { --m: #4d80ff; background: var(--panel); border: 1px solid var(--border); border-left: 3px solid var(--m); border-radius: 12px; box-shadow: none; margin: 0 0 10px; overflow: hidden; }
.swagger-ui .opblock:hover { border-color: color-mix(in srgb, var(--m) 45%, transparent); border-left-color: var(--m); }
.swagger-ui .opblock.opblock-get { --m: #4d80ff; }
.swagger-ui .opblock.opblock-post { --m: #22c55e; }
.swagger-ui .opblock.opblock-put { --m: #f59e0b; }
.swagger-ui .opblock.opblock-patch { --m: #2dd4bf; }
.swagger-ui .opblock.opblock-delete { --m: #f43f5e; }
.swagger-ui .opblock.opblock-head, .swagger-ui .opblock.opblock-options { --m: #a78bfa; }
.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(--panel); border-color: var(--border); border-left-color: var(--m); }
.swagger-ui .opblock.opblock-get .opblock-summary-method, .swagger-ui .opblock.opblock-post .opblock-summary-method, .swagger-ui .opblock.opblock-put .opblock-summary-method, .swagger-ui .opblock.opblock-patch .opblock-summary-method,
.swagger-ui .opblock.opblock-delete .opblock-summary-method, .swagger-ui .opblock.opblock-head .opblock-summary-method, .swagger-ui .opblock.opblock-options .opblock-summary-method { background: color-mix(in srgb, var(--m) 16%, transparent); color: var(--m); }
.swagger-ui .opblock.opblock-get .opblock-summary, .swagger-ui .opblock.opblock-post .opblock-summary, .swagger-ui .opblock.opblock-put .opblock-summary, .swagger-ui .opblock.opblock-patch .opblock-summary, .swagger-ui .opblock.opblock-delete .opblock-summary { border-color: var(--border); }
.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span::after, .swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span::after, .swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span::after, .swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span::after { background: var(--m); }
.swagger-ui .opblock .opblock-summary { border: 0; padding: 8px 12px; }
.swagger-ui .opblock.is-open .opblock-summary { border-bottom: 1px solid var(--border); }
.swagger-ui .opblock .opblock-summary-method { min-width: 72px; border-radius: 7px; font-size: 12.5px; padding: 6px 0; background: color-mix(in srgb, var(--m) 16%, transparent); color: var(--m); text-shadow: none; border: 1px solid color-mix(in srgb, var(--m) 35%, transparent); }
.swagger-ui .opblock .opblock-summary-path, .swagger-ui .opblock .opblock-summary-path__deprecated, .swagger-ui .opblock .opblock-summary-operation-id { color: var(--text); font-size: 14.5px; font-weight: 600; }
.swagger-ui .opblock .opblock-summary-description { color: var(--muted); font-size: 13.5px; }
.swagger-ui .opblock.opblock-deprecated { opacity: .6; }
.swagger-ui .opblock .opblock-section-header { background: var(--panel-2); box-shadow: none; border-bottom: 1px solid var(--border); }
.swagger-ui .opblock .opblock-section-header h4, .swagger-ui .opblock-description-wrapper p, .swagger-ui .opblock-external-docs-wrapper p, .swagger-ui .opblock-title_normal p,
.swagger-ui .opblock .opblock-section-header > label, .swagger-ui .tab li, .swagger-ui .responses-inner h4, .swagger-ui .responses-inner h5, .swagger-ui .opblock-title_normal h4 { color: var(--text); }
.swagger-ui .opblock-body pre.microlight, .swagger-ui .highlight-code > .microlight, .swagger-ui .opblock-body .highlight-code pre { background: #050912 !important; border: 1px solid var(--border); border-radius: 10px; color: #cbd5e1; }
.swagger-ui .authorization__btn .locked, .swagger-ui .authorization__btn .unlocked { opacity: .8; }

/* tables, parameters, responses */
.swagger-ui table thead tr td, .swagger-ui table thead tr th { color: var(--muted); border-bottom: 1px solid var(--border); }
.swagger-ui .parameter__name, .swagger-ui .response-col_status, .swagger-ui .parameter__type, .swagger-ui .parameter__in, .swagger-ui .parameter__extension, .swagger-ui .prop-format { color: var(--text); }
.swagger-ui .parameter__name.required::after { color: #f43f5e; }
.swagger-ui .parameter__name.required span { color: #f43f5e; }
.swagger-ui .parameter__in, .swagger-ui .parameter__type { color: var(--muted); }
.swagger-ui .response-col_description, .swagger-ui .response-col_links, .swagger-ui .responses-table .response-col_description p, .swagger-ui .parameters-col_description p, .swagger-ui .renderedMarkdown p { color: var(--muted); }
.swagger-ui .responses-inner, .swagger-ui .parameters-container, .swagger-ui .opblock-description-wrapper, .swagger-ui .opblock-external-docs-wrapper, .swagger-ui .opblock-title_normal { color: var(--text); }
.swagger-ui .tab li:first-of-type::after { background: var(--border); }
.swagger-ui .response-control-media-type__accept-message { color: #4ade80; }

/* 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, .swagger-ui select {
  background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 8px; box-shadow: none; }
.swagger-ui select { background-color: var(--bg); }
.swagger-ui input:focus, .swagger-ui textarea:focus, .swagger-ui select:focus { outline: 2px solid rgba(77,128,255,.5); outline-offset: 0; }
.swagger-ui .body-param__text { background: var(--bg); color: var(--text); }
.swagger-ui .filter-container { margin: 0; }
.swagger-ui .filter .operation-filter-input { border: 1px solid var(--border); border-radius: 10px; background: var(--panel); color: var(--text); padding: 10px 14px; margin: 0 0 16px; }

/* models */
.swagger-ui section.models { border: 1px solid var(--border); border-radius: 14px; background: var(--panel); }
.swagger-ui section.models h4, .swagger-ui section.models h4 span { color: var(--text); }
.swagger-ui section.models.is-open h4 { border-bottom: 1px solid var(--border); }
.swagger-ui section.models .model-container { background: var(--panel-2); border-radius: 10px; }
.swagger-ui section.models .model-container:hover { background: #16213a; }
.swagger-ui .model, .swagger-ui .model-title, .swagger-ui .model .property, .swagger-ui .model .renderedMarkdown p { color: var(--text); }
.swagger-ui .model .property.primitive, .swagger-ui .model-hint { color: var(--muted); }
.swagger-ui .prop-type { color: #9db8ff; }
.swagger-ui .model-box { background: transparent; }

/* authorize dialog */
.swagger-ui .dialog-ux .backdrop-ux { background: rgba(2,6,16,.7); backdrop-filter: blur(4px); }
.swagger-ui .dialog-ux .modal-ux { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 30px 80px rgba(0,0,0,.6); }
.swagger-ui .dialog-ux .modal-ux-header { border-bottom: 1px solid var(--border); }
.swagger-ui .dialog-ux .modal-ux-header h3, .swagger-ui .dialog-ux .modal-ux-content h4, .swagger-ui .dialog-ux .modal-ux-content p, .swagger-ui .auth-container h4, .swagger-ui .auth-container label { color: var(--text); }
.swagger-ui .dialog-ux .modal-ux-header .close-modal svg { fill: var(--muted); }
.swagger-ui .auth-container { border-bottom-color: var(--border); }

/* misc */
.swagger-ui .loading-container .loading::after { color: var(--muted); }
.swagger-ui .errors-wrapper { background: rgba(244,63,94,.08); border-color: rgba(244,63,94,.4); }
.swagger-ui .errors-wrapper hgroup h4, .swagger-ui .errors-wrapper .errors h4, .swagger-ui .errors-wrapper .errors small { color: #fda4af; }
.swagger-ui .copy-to-clipboard { background: var(--panel-2); border-radius: 6px; }
.swagger-ui .copy-to-clipboard button { filter: invert(1); }
::selection { background: rgba(77,128,255,.35); }
