.login-page{min-height:100vh;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(900px 520px at 16% 8%,rgba(96,165,250,.14),transparent 55%),radial-gradient(820px 500px at 84% 92%,rgba(168,85,247,.1),transparent 58%),transparent}.login-stage{width:min(100%,960px);display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1fr);align-items:stretch;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px #0000004d;border:1px solid var(--border)}.login-hero{padding:40px 38px;display:flex;flex-direction:column;justify-content:center;gap:26px;background:linear-gradient(160deg,rgba(96,165,250,.12) 0%,transparent 60%),var(--shell-card);border-right:1px solid var(--border)}.login-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}.login-brand-logo{max-width:380px;width:100%;height:auto;display:block}.login-hero-tagline{margin:0;color:var(--text);font-size:17px;font-weight:600;line-height:1.35}.login-checklist{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.login-checklist li{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:14px;line-height:1.4}.login-check-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#5dcaa5;background:#5dcaa524;border:1px solid rgba(93,202,165,.32)}.login-hero-footer{color:var(--muted);font-size:12px;opacity:.8}.login-card{background:var(--shell-card);padding:40px 38px;display:flex;flex-direction:column;justify-content:center}.login-card h2{margin:0;font-size:28px;line-height:1.05}.login-card-copy{margin:8px 0 20px;color:var(--muted);font-size:14px;line-height:1.45}.login-alert,.login-ok{margin-bottom:14px;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.4}.login-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.24);color:#fca5a5}.login-ok{background:#22c55e1a;border:1px solid rgba(34,197,94,.24);color:#86efac}body.light .login-alert{color:#b91c1c}body.light .login-ok{color:#166534}.login-field{margin-bottom:14px}.login-field label{display:block;margin:0 0 6px;color:var(--muted);font-size:13px}.login-input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.22);background:#02061759;color:var(--text);outline:none}.login-input:focus{border-color:#60a5fa7a;box-shadow:0 0 0 4px #60a5fa1a}body.light .login-input{background:#fff}.login-actions{display:grid;gap:12px;margin-top:4px}.login-button{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(96,165,250,.55);background:#60a5fa38;color:var(--text);font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.login-button:hover{background:#60a5fa4d;transform:translateY(-1px)}.login-links{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:14px}.login-links a{color:var(--link);text-decoration:none}.login-links a:hover{text-decoration:underline}.login-footer-note{color:var(--muted);font-size:12px;line-height:1.4;margin-top:8px}.login-sso{margin-top:16px}.login-sso-divider{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--muted);font-size:13px}.login-sso-divider:before,.login-sso-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-sso-button{display:block;width:100%;text-align:center}@media(max-width:860px){.login-stage{grid-template-columns:1fr}.login-hero{border-right:none;border-bottom:1px solid var(--border);padding:30px 26px}.login-card{padding:30px 26px}}.ok{background:#34d3991a;border:1px solid rgba(52,211,153,.25);color:var(--pos);padding:12px;border-radius:14px;margin:14px 0}.settings-narrow{max-width:560px}.settings-form{display:grid;gap:6px}.settings-form label{display:block;margin:12px 0 4px;color:var(--muted);font-size:13px}.settings-form label:first-child{margin-top:0}.settings-form input[type=text],.settings-form input[type=password],.settings-form input[type=url]{width:100%}.settings-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.settings-hint{color:var(--muted);font-size:12px;margin:4px 0 0;line-height:1.4}.settings-checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:13px}.settings-checkbox input{width:auto}.settings-fieldset{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:12px 0 0;display:grid;gap:8px}.settings-fieldset legend{padding:0 6px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.settings-radio{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:13px;margin:0}.settings-radio input{width:auto}.tag-badge.tag-badge-danger{background:#f8717129;color:var(--neg, #f87171)}.sec-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em}.sec-pill.on{background:#34d39929;color:var(--pos)}.sec-pill.off{background:#94a3b829;color:var(--muted)}.sec-secret{font-family:var(--font-mono);font-size:15px;letter-spacing:.06em;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 12px;word-break:break-all}.role-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.role-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:#ffffff0d}body.light .role-chip{background:#0206170a}.role-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid rgba(248,113,113,.35);background:#f871711f;color:var(--neg, #f87171);cursor:pointer;font-size:11px;font-weight:900;line-height:1;padding:0}.role-chip-remove:disabled{opacity:.5;cursor:not-allowed}.seg-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;margin:4px 0 0}.seg-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.seg-form input,.seg-form select{width:100%}.seg-form .settings-checkbox{margin-top:18px}.seg-vip{color:#ffc04d;font-weight:700}.eola-table tr.off td{opacity:.45}.audit-filters{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.audit-filter-group{display:flex;flex-direction:column;gap:4px}.audit-filter-group label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.audit-filter-actions{display:flex;gap:8px;align-items:flex-end;margin-left:auto}.audit-time{white-space:nowrap;color:var(--muted);font-size:12px}.audit-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:14px}.tag-badge.audit-ok{background:#34d39929;color:var(--pos)}.tag-badge.audit-warn{background:#fbbf2429;color:#fbbf24}.tag-badge.audit-fail{background:#f8717129;color:var(--neg, #f87171)}.bug-card{border:1px solid var(--line, rgba(255, 255, 255, .08));border-radius:10px;padding:14px;background:#ffffff05}.bug-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.bug-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}.bug-card-desc{margin:10px 0 6px;white-space:pre-wrap}.bug-notes{margin-top:10px}.bug-notes label{display:block;font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.route-editor{border:1px solid var(--line, rgba(255, 255, 255, .08));border-radius:10px;padding:14px;margin-bottom:12px}.route-editor h3{margin:0 0 2px;font-size:14px}.route-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.route-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line, rgba(255, 255, 255, .06));border-radius:8px}.route-order{width:24px}.route-name{flex:1;font-weight:600}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:var(--font-mono);--color-black:#000;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--font-display:var(--font-display)}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-0{left:0}.left-1\/2{left:50%}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.my-1{margin-block:var(--spacing)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-\[18px\]{width:18px;height:18px}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-px{height:1px}.min-h-24{min-height:calc(var(--spacing) * 24)}.w-64{width:calc(var(--spacing) * 64)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.min-w-\[18rem\]{min-width:18rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.border-t-\[color\:var\(--brand-1\)\]{border-top-color:var(--brand-1)}.bg-\[color\:var\(--brand-1\)\]{background-color:var(--brand-1)}.bg-\[color\:var\(--link\)\]\/15{background-color:var(--link)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:var\(--link\)\]\/15{background-color:color-mix(in oklab,var(--link) 15%,transparent)}}.bg-\[color\:var\(--neg\)\]\/15{background-color:var(--neg)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:var\(--neg\)\]\/15{background-color:color-mix(in oklab,var(--neg) 15%,transparent)}}.bg-\[color\:var\(--panel\)\]{background-color:var(--panel)}.bg-\[color\:var\(--pos\)\]\/15{background-color:var(--pos)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:var\(--pos\)\]\/15{background-color:color-mix(in oklab,var(--pos) 15%,transparent)}}.bg-\[color\:var\(--warn\)\]\/15{background-color:var(--warn)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:var\(--warn\)\]\/15{background-color:color-mix(in oklab,var(--warn) 15%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--panel)}.bg-primary{background-color:var(--brand-1)}.bg-secondary{background-color:var(--panel)}.bg-transparent{background-color:#0000}.bg-\[image\:var\(--brand-grad\)\]{background-image:var(--brand-grad)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pb-1{padding-bottom:var(--spacing)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[\#0a0e15\]{color:#0a0e15}.text-\[color\:var\(--link\)\]{color:var(--link)}.text-\[color\:var\(--neg\)\]{color:var(--neg)}.text-\[color\:var\(--neg\,\#fb7185\)\]{color:var(--neg,#fb7185)}.text-\[color\:var\(--pos\)\]{color:var(--pos)}.text-\[color\:var\(--pos\,\#34d399\)\]{color:var(--pos,#34d399)}.text-\[color\:var\(--warn\)\]{color:var(--warn)}.text-card-foreground,.text-foreground{color:var(--text)}.text-muted-foreground{color:var(--muted)}.text-primary-foreground{color:#0a0e15}.text-secondary-foreground{color:var(--text)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\/help\:visible:is(:where(.group\/help):focus-within *){visibility:visible}.group-focus-within\/help\:opacity-100:is(:where(.group\/help):focus-within *){opacity:1}@media(hover:hover){.group-hover\/help\:visible:is(:where(.group\/help):hover *){visibility:visible}.group-hover\/help\:opacity-100:is(:where(.group\/help):hover *){opacity:1}.hover\:border-\[color\:var\(--brand-1\)\]:hover{border-color:var(--brand-1)}.hover\:bg-\[color\:var\(--panel\)\]:hover{background-color:var(--panel)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus-visible\:bg-\[rgba\(121\,214\,255\,0\.14\)\]:focus-visible{background-color:#79d6ff24}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--focus)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[highlighted\]\:bg-\[rgba\(121\,214\,255\,0\.14\)\][data-highlighted]{background-color:#79d6ff24}.data-\[state\=active\]\:bg-\[image\:var\(--brand-grad\)\][data-state=active]{background-image:var(--brand-grad)}.data-\[state\=active\]\:font-bold[data-state=active]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-\[state\=active\]\:text-\[\#0a0e15\][data-state=active]{color:#0a0e15}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.print\:block{display:block}.print\:hidden{display:none}}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{position:absolute;left:8px;top:-60px;z-index:2000;padding:10px 16px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;text-decoration:none;font-weight:600;transition:top .12s ease}.skip-link:focus,.skip-link:focus-visible{top:8px;outline:2px solid var(--brand, #f97316);outline-offset:2px}.app-main:focus{outline:none}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}.dash-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:48px 24px;min-height:220px;color:var(--muted)}.dash-state-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#ffffff0d;border:1px solid var(--border);font-size:22px}.dash-state-title{margin:0;font-family:var(--font-display);font-size:20px;color:var(--text)}.dash-state-body{margin:0;max-width:440px;font-size:14px;line-height:1.5}.dash-state-actions{margin-top:6px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.dash-spinner{width:30px;height:30px;border-radius:999px;border:3px solid var(--border);border-top-color:var(--brand-1, #79d6ff);animation:dash-spin .8s linear infinite}@keyframes dash-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dash-spinner{animation-duration:2s}}.dash-source-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--border);background:#ffffff0d;color:var(--muted)}.dash-source-badge.is-hit{color:var(--pos);border-color:#34d3994d}.dash-source-badge.is-stale{color:#eab308;border-color:#eab3084d}.dash-source-badge.is-not_configured,.dash-source-badge.is-negative{color:var(--muted)}.dash-source-badge.is-account_not_mapped{color:#eab308;border-color:#eab3084d}.dash-source-badge.is-schema_error{color:var(--neg);border-color:#f871714d}.exp-band{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--border);background:#ffffff0d;color:var(--text)}.exp-band-shape{font-size:10px;line-height:1}.exp-band-good{border-color:#34d39959}.exp-band-good .exp-band-shape{color:var(--pos)}.exp-band-fair{border-color:var(--border)}.exp-band-fair .exp-band-shape{color:var(--neu)}.exp-band-poor{border-color:#fb718559}.exp-band-poor .exp-band-shape{color:var(--neg)}.dash-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-toolbar-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.dash-search{min-width:220px}.dash-table-meta{color:var(--muted);font-size:13px}th.dash-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.dash-sortable:hover{color:var(--text)}.dash-sort-caret{display:inline-block;margin-left:6px;opacity:.6;font-size:10px}th.dash-sortable[aria-sort=ascending] .dash-sort-caret,th.dash-sortable[aria-sort=descending] .dash-sort-caret{opacity:1}.dash-table-scroll{overflow-x:auto}.dash-filter-row td{padding:6px 8px;background:transparent}.dash-filter-input{font:inherit;font-size:12px;width:100%;min-width:90px;box-sizing:border-box;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:#ffffff05;color:var(--text)}body.light .dash-filter-input{background:#fff}.dash-filter-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.dash-pager{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 2px 2px;font-size:13px;color:var(--muted)}.dash-pager-size-field{display:inline-flex;align-items:center;gap:6px}.dash-pager-size{font:inherit;font-size:12px;padding:4px 8px;border-radius:8px;border:1px solid var(--border);background:#ffffff05;color:var(--text)}body.light .dash-pager-size{background:#fff}.dash-pager-size:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.dash-pager-spacer{margin-left:auto}.dash-pager-status{font-variant-numeric:tabular-nums}.dash-pager-btn{font-size:12px}.dash-pager-btn:disabled{opacity:.45;cursor:not-allowed}.dash-collapsible-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:4px 0;font:inherit;text-align:left;color:inherit;background:transparent;border:none;cursor:pointer}.dash-collapsible-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}.dash-collapsible-caret{width:14px;font-size:12px;opacity:.7}.dash-collapsible-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text)}.dash-collapsible-badge{font-size:13px;font-weight:700;padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff08;color:var(--muted)}.dash-collapsible-sub{font-size:12px;color:var(--muted)}.dash-collapsible-panel{margin-top:12px}.dash-export-row{display:flex;justify-content:flex-end;margin-bottom:8px}.dash-export-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--muted);background:#ffffff08;border:1px solid var(--border);border-radius:999px;cursor:pointer}body.light .dash-export-btn{background:#fff}.dash-export-btn:hover{color:var(--text);border-color:var(--brand-1, #79d6ff)}.dash-export-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.dash-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:4px 0 6px}.dash-metric{border:1px solid var(--border);border-radius:14px;padding:16px 18px;background:#ffffff05}body.light .dash-metric{background:#fff}.dash-metric-value{font-family:var(--font-display);font-size:30px;font-weight:800;line-height:1.05;color:var(--text)}.dash-metric-label{margin-top:4px;color:var(--muted);font-size:13px}.dash-metric-hint{margin-top:4px;color:var(--muted);opacity:.75;font-size:11px;line-height:1.4}.dash-bars{display:grid;gap:10px}.dash-bar-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr auto;gap:12px;align-items:center}.dash-bar-label{font-size:13px;color:var(--text);overflow-wrap:anywhere}.dash-bar-track{height:14px;border-radius:999px;background:#94a3b829;overflow:hidden}.dash-bar-fill{height:100%;border-radius:999px;background:var(--brand-grad);min-width:2px}.dash-bar-value{font-family:var(--font-mono);font-size:13px;color:var(--muted);text-align:right;min-width:48px}.account-selector{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.account-selector-label{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.account-selector-select{background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:6px 10px;font-size:13px;max-width:220px}.account-selector-select:focus-visible{outline:2px solid var(--link);outline-offset:1px}.account-selector-muted{font-style:italic;opacity:.8}.drill-link{text-decoration:none;color:inherit;border-bottom:1px dotted currentColor}.drill-link:hover{opacity:.85}.report-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 18px}.report-controls-hint{margin:0;font-size:13px;color:var(--muted);max-width:520px}.report-cover{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;color:#e8edf4;background:radial-gradient(120% 90% at 15% 10%,rgba(121,214,255,.28),transparent 55%),radial-gradient(120% 90% at 90% 90%,rgba(47,155,216,.26),transparent 55%),linear-gradient(135deg,#0a0e15,#141d33 55%,#12203a);padding:48px 44px}.report-cover:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#79d6ff,#2f9bd8)}.report-cover-inner{position:relative;z-index:1}.report-cover-logo{height:44px;width:auto;display:block;margin-bottom:28px}.report-cover-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#79d6ff;font-weight:700}.report-cover-title{font-family:var(--font-display);font-size:40px;line-height:1.05;margin:10px 0 6px;color:#fff}.report-cover-subtitle{margin:0 0 32px;font-size:16px;color:#b7c2d4}.report-cover-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px 28px;margin:0 0 34px;padding:22px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.report-cover-meta dt{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#8b97a8}.report-cover-meta dd{margin:4px 0 0;font-size:16px;font-weight:600;color:#fff}.report-cover-toc h2{font-family:var(--font-display);font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#8b97a8;margin:0 0 12px}.report-cover-toc ol{list-style:decimal;padding-left:22px;margin:0;columns:2;column-gap:40px}.report-cover-toc li{margin:0 0 8px;break-inside:avoid}.report-toc-title{color:#e8edf4;font-weight:600}.report-toc-group{color:#8b97a8;font-size:12px;margin-left:8px}.report-section{margin:26px 0;padding-top:22px;border-top:1px solid var(--border)}.report-section-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px}.report-section-num{font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1;color:transparent;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text}.report-section-group{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;color:var(--brand-1, #79d6ff)}.report-section-title{font-family:var(--font-display);font-size:22px;margin:2px 0 4px;color:var(--text)}.report-section-intro{margin:0;font-size:13px;color:var(--muted);max-width:640px}.report-source{display:flex;justify-content:flex-end;margin-bottom:8px}.print-only{display:none}@media print{@page{size:A4;margin:14mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.skip-link,.page-hero-actions,.export-toast,.report-controls{display:none!important}.page-hero-card{border:none!important;background:none!important;box-shadow:none!important;padding:0!important;margin:0 0 8px!important}.page-hero-card .eyebrow,.page-hero-card .page-intro{display:none!important}.print-only,.app-shell{display:block!important}.app-main{overflow:visible!important}.page-shell{max-width:none!important;padding:0!important}.report-cover{min-height:92vh;break-after:page;border-radius:0}.report-section{break-before:page;border-top:none;padding-top:0}.report-section-head,.dash-metrics,.dash-metric,.chart-wrap,.content-section,.dash-table-scroll,.card,tr,.dash-bar-row{break-inside:avoid}.dash-table-scroll{overflow:visible!important}a[href]:after{content:none!important}.report-print-header{margin:0 0 20px;padding:0 0 16px;border-bottom:2px solid var(--border)}.report-print-header .report-print-title{font-family:var(--font-display);font-size:24px;line-height:1.1;margin:0 0 4px;color:var(--text)}.report-print-header .report-print-meta{font-size:12px;color:var(--muted)}}
