@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}}@layer base{:root{--lch-canvas:98.8% .003 255;--lch-surface:97% .006 255;--lch-surface-elevated:99.5% .002 255;--lch-ink:28% .04 260;--lch-ink-muted:49% .03 255;--lch-brand:61% .17 258;--lch-positive:70% .16 150;--lch-danger:60% .2 28;--lch-focus:66% .16 258;--color-canvas:oklch(var(--lch-canvas));--color-surface:oklch(var(--lch-surface));--color-surface-elevated:oklch(var(--lch-surface-elevated));--color-ink:oklch(var(--lch-ink));--color-ink-muted:oklch(var(--lch-ink-muted));--color-brand:oklch(var(--lch-brand));--color-positive:oklch(var(--lch-positive));--color-danger:oklch(var(--lch-danger));--color-focus:oklch(var(--lch-focus));--color-border:color-mix(in srgb, var(--color-ink) 14%, transparent);--color-border-strong:color-mix(in srgb, var(--color-ink) 22%, transparent);--color-muted-surface:color-mix(in srgb, var(--color-ink) 6%, transparent);--shadow-sm:0 6px 20px -14px color-mix(in srgb, var(--color-ink) 42%, transparent);--radius-sm:.45rem;--radius-md:.75rem;--radius-lg:1rem;--space-1:.375rem;--space-2:.625rem;--space-3:.875rem;--space-4:1.25rem;--space-5:1.75rem;--text-small:.875rem;--text-base:1rem;--text-title:clamp(1.25rem, 1.6vw, 1.75rem)}html[data-theme=dark]{--lch-canvas:20% .016 260;--lch-surface:24% .02 260;--lch-surface-elevated:28% .022 260;--lch-ink:95% .01 250;--lch-ink-muted:77% .012 255;--color-border:color-mix(in srgb, var(--color-ink) 18%, transparent);--color-border-strong:color-mix(in srgb, var(--color-ink) 30%, transparent);--color-muted-surface:color-mix(in srgb, var(--color-ink) 9%, transparent);--shadow-sm:0 10px 28px -18px #000000b3}html,body{min-height:100%}body{background:var(--color-canvas);color:var(--color-ink);font-family:Inter,system-ui,sans-serif;font-size:var(--text-base);line-height:1.5}h1,h2,h3{letter-spacing:-.01em;line-height:1.25}h1{font-size:var(--text-title)}h2{font-size:clamp(1.06rem,1.2vw,1.3rem)}p{color:var(--color-ink-muted)}a{color:var(--color-brand);text-decoration:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}}@layer components{.app-shell{gap:var(--space-5);grid-template-columns:16.5rem minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--color-surface-elevated);border-inline-end:1px solid var(--color-border);padding:var(--space-5) var(--space-4);gap:var(--space-4);flex-direction:column;display:flex}.content{padding:var(--space-5) var(--space-5) var(--space-5) 0;gap:var(--space-4);align-content:start;display:grid}.card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);transition:border-color .15s,box-shadow .15s}.card:hover{border-color:var(--color-border-strong)}.button{--btn-bg:var(--color-brand);--btn-color:white;border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-color);cursor:pointer;border:1px solid #0000;padding:.55rem .85rem;font-weight:600;transition:background-color .14s,border-color .14s,transform 80ms}.button:hover:enabled{background:color-mix(in srgb, var(--btn-bg) 90%, black)}.button:active:enabled{transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button--muted{--btn-bg:var(--color-muted-surface);--btn-color:var(--color-ink);border-color:var(--color-border)}.button--danger{--btn-bg:var(--color-danger)}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-elevated);width:100%;color:var(--color-ink);padding:.6rem .7rem;transition:border-color .14s,box-shadow .14s}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-strong)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus) 20%, transparent);outline:none}.table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);width:100%;overflow:hidden}.table thead{background:var(--color-muted-surface)}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);font-size:var(--text-small);padding:.7rem .75rem}.table th{color:var(--color-ink);font-weight:600}.table tbody tr:hover{background:color-mix(in srgb, var(--color-brand) 8%, transparent)}}@layer modules{.sidebar-brand{gap:var(--space-1);display:grid}.sidebar-title{color:var(--color-ink);font-size:1.2rem;font-weight:700}.sidebar-subtitle{font-size:var(--text-small)}.sidebar-nav{gap:var(--space-1);display:grid}.nav-link{border-radius:var(--radius-sm);color:var(--color-ink);border:1px solid #0000;padding:.52rem .6rem;font-weight:500;transition:background-color .12s,border-color .12s,color .12s;display:block}.nav-link:hover{background:var(--color-muted-surface);border-color:var(--color-border)}.nav-link[aria-current=page]{background:color-mix(in srgb, var(--color-brand) 12%, var(--color-surface-elevated));border-color:color-mix(in srgb, var(--color-brand) 28%, transparent);color:color-mix(in srgb, var(--color-brand) 65%, var(--color-ink))}.page-title{font-size:var(--text-title);color:var(--color-ink)}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.split{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.grid-2{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sidebar-footer{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);margin-top:auto;display:grid}.auth-shell{min-height:min(100dvh,56rem);padding:var(--space-5);place-items:center;display:grid}.auth-card{gap:var(--space-4);width:min(100%,28rem);display:grid}.auth-heading{gap:var(--space-1);display:grid}.auth-form{gap:var(--space-3);display:grid}.field-group{gap:var(--space-1);display:grid}.field-label{font-size:var(--text-small);color:var(--color-ink);font-weight:600}.status-message{font-size:var(--text-small);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-muted-surface);padding:.55rem .65rem}.status-message--danger{border-color:color-mix(in srgb, var(--color-danger) 35%, transparent);background:color-mix(in srgb, var(--color-danger) 8%, transparent);color:color-mix(in srgb, var(--color-danger) 80%, var(--color-ink))}.dashboard{max-width:72rem}.dashboard__header{padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.dashboard-statboard{padding:var(--space-5)}.dashboard-statboard__lead{max-width:40rem}.dashboard-statgroups{gap:var(--space-5);display:grid}.dashboard-statgroup{gap:var(--space-3);display:grid}.dashboard-statgroup__title{font-size:var(--text-small);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin:0;font-weight:700}.dashboard-statgrid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(7.75rem,1fr));display:grid}@media (width>=640px){.dashboard-statgrid{grid-template-columns:repeat(auto-fill,minmax(9.25rem,1fr))}}.dashboard-stattile{align-content:start;gap:var(--space-1);min-height:4.25rem;padding:var(--space-3);background:color-mix(in srgb, var(--color-muted-surface) 88%, var(--color-surface-elevated));border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.dashboard-stattile--accent{border-color:color-mix(in srgb, var(--color-brand) 35%, var(--color-border));background:color-mix(in srgb, var(--color-brand) 7%, var(--color-surface-elevated))}.dashboard-stattile__label{color:var(--color-ink-muted);font-size:.75rem;font-weight:600;line-height:1.25}.dashboard-stattile__value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:clamp(1.2rem,2.4vw,1.75rem);font-weight:700;line-height:1.15}.dashboard-stattile__hint{color:var(--color-ink-muted);font-size:.7rem;line-height:1.2}.dashboard-table-wrap{margin-block:calc(var(--space-2) * -1);border-radius:var(--radius-md);overflow-x:auto}.dashboard-table-wrap .table{min-width:36rem}.dashboard-code-panel{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-muted-surface) 65%, var(--color-surface-elevated));display:grid}.dashboard-code{letter-spacing:.04em;word-break:break-all;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-elevated);border:1px dashed var(--color-border-strong);color:var(--color-ink);margin:0;font-family:ui-monospace,Cascadia Code,monospace;font-size:1.05rem;font-weight:600}.dashboard-code-meta{gap:var(--space-1);font-size:var(--text-small);color:var(--color-ink-muted);display:grid}.dashboard-table-code{letter-spacing:.02em;font-family:ui-monospace,Cascadia Code,monospace;font-size:.8rem;font-weight:600}.dashboard-prune__actions{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-prune__actions .field-group{flex:10rem;max-width:14rem}.dashboard-prune__toggle{align-items:center;gap:var(--space-2);font-size:var(--text-small);font-weight:500;display:flex}.status-message--success{border-color:color-mix(in srgb, var(--color-positive) 38%, transparent);background:color-mix(in srgb, var(--color-positive) 9%, transparent);color:color-mix(in srgb, var(--color-positive) 35%, var(--color-ink))}.dashboard-statgroup-v{gap:var(--space-5);display:grid}.dashboard-statgroup-charts{gap:var(--space-5);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-muted-surface) 45%, var(--color-surface-elevated));display:grid}.dashboard-barchart{gap:var(--space-2);display:grid}.dashboard-barchart__heading,.dashboard-compbar__heading{font-size:var(--text-small);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-weight:700}.dashboard-barchart__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.dashboard-barchart__row{gap:var(--space-1);display:grid}.dashboard-barchart__meta{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.dashboard-barchart__label{font-size:var(--text-small);color:var(--color-ink);font-weight:600}.dashboard-barchart__value{font-variant-numeric:tabular-nums;color:var(--color-ink);font-weight:700}.dashboard-barchart__track{background:color-mix(in srgb, var(--color-muted-surface) 75%, var(--color-border));border-radius:999px;height:.55rem;overflow:hidden}.dashboard-barchart__fill{background:linear-gradient(90deg, color-mix(in srgb, var(--color-brand) 75%, white), var(--color-brand));border-radius:999px;min-width:2px;height:100%;transition:width .36s}.dashboard-barchart__hint{color:var(--color-ink-muted);margin:0;font-size:.75rem}.dashboard-compbar-wrap{gap:var(--space-2);display:grid}.dashboard-compbar{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-muted-surface);width:100%;min-height:1.35rem;display:flex;overflow:hidden}.dashboard-compbar__seg{min-width:2px;transition:flex-grow .24s}.dashboard-compbar__seg--a{background:color-mix(in srgb, var(--color-brand) 88%, var(--color-ink))}.dashboard-compbar__seg--b{background:color-mix(in srgb, var(--color-positive) 45%, var(--color-brand))}.dashboard-compbar__seg--c{background:color-mix(in srgb, var(--color-ink-muted) 55%, var(--color-surface-elevated))}.dashboard-compbar__seg--rest{background:color-mix(in srgb, var(--color-ink-muted) 22%, var(--color-muted-surface))}.dashboard-compbar__legend{gap:var(--space-3) var(--space-4);font-size:var(--text-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.dashboard-compbar__legend-item{align-items:center;gap:var(--space-1);display:flex}.dashboard-compbar__legend-label{font-weight:600}.dashboard-compbar__legend-value{font-variant-numeric:tabular-nums;font-weight:700}.dashboard-compbar__swatch{border-radius:2px;flex-shrink:0;width:.55rem;height:.55rem}.dashboard-compbar__swatch--a{background:color-mix(in srgb, var(--color-brand) 88%, var(--color-ink))}.dashboard-compbar__swatch--b{background:color-mix(in srgb, var(--color-positive) 45%, var(--color-brand))}.dashboard-compbar__swatch--c{background:color-mix(in srgb, var(--color-ink-muted) 55%, var(--color-surface-elevated))}.dashboard-compbar__swatch--rest{background:color-mix(in srgb, var(--color-ink-muted) 22%, var(--color-muted-surface))}.dashboard-compbar__caption{margin:0;font-size:.75rem;line-height:1.35}@media (width<=860px){.app-shell{grid-template-columns:1fr;gap:0}.sidebar{border-inline-end:0;border-bottom:1px solid var(--color-border);padding:var(--space-4)}.content{padding:var(--space-4)}.grid-2{grid-template-columns:1fr}.auth-shell{padding:var(--space-4);min-height:auto}}}@layer utilities{.txt-muted{color:var(--color-ink-muted)}.txt-success{color:var(--color-positive)}.txt-danger{color:var(--color-danger)}.stack{gap:var(--space-2);display:grid}.stack-lg{gap:var(--space-4);display:grid}.cluster{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.section{gap:var(--space-3);display:grid}.hidden{display:none}}
