@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_980bdf{font-family:Geist,Geist Fallback;font-style:normal}.__variable_980bdf{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_5f34dc{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_5f34dc{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--on-accent:#FFFFFF;--ease:cubic-bezier(0.22,1,0.36,1);--exit:cubic-bezier(0.4,0,1,1);--font:var(--font-geist),ui-sans-serif,system-ui,sans-serif;--mono:var(--font-mono),ui-monospace,monospace}:root,[data-theme=dark]{--page:linear-gradient(180deg,#1B2832,#10171C 640px,#0E1418 1400px);--bg:#0E1418;--surface:#151D23;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.16);--fg:#EEF2F4;--muted:#9AA7B0;--subtle:#1D272E;--glass:rgba(21,29,35,0.72);--glass-bg:rgba(14,20,24,0.8);--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-lg:0 16px 32px -8px rgba(0,0,0,0.6);--accent:#D06A43;--accent-soft:rgba(208,106,67,0.16);--accent-fill:#B9532E;--emerald:#7FAE7F;--emerald-soft:rgba(127,174,127,0.14);--emerald-fg:#9CC79C;--emerald-fill:#4E7A4F;--danger:#F2847C;--danger-soft:rgba(242,132,124,0.14);--warn:#E3B556;--warn-soft:rgba(227,181,86,0.14);--tone-sky:#1D2A34;--tone-sand:#2A251D;--tone-sage:#1E2A21;--tone-clay:#2F231D;--tone-stone:#22272B;--ink:#26323C;--on-ink:#EEF2F4;--scrim:rgba(0,0,0,0.55);--shadow-rgb:0,0,0;--track-bg:#090D10;--track-shadow:inset 0 1px 3px rgba(0,0,0,0.65),inset 0 0 0 1px rgba(255,255,255,0.035),0 1px 0 rgba(255,255,255,0.035);--raised-bg:linear-gradient(180deg,#27323B,#1B242B);--raised-hover:rgba(255,255,255,0.045);--raised-shadow:inset 0 1px 0 rgba(255,255,255,0.08),inset 0 0 0 1px rgba(255,255,255,0.03),0 1px 2px rgba(0,0,0,0.5),0 8px 16px -8px rgba(0,0,0,0.8);--accent-glow:rgba(208,106,67,0.6);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}html{background:var(--bg);-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100vh;background:var(--page);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--fg)}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{max-width:1360px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}.skip{position:fixed;left:12px;top:12px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--fg);color:var(--bg);font-weight:600;transform:translateY(-200%);transition:transform .2s var(--ease)}.skip:focus{transform:none;color:var(--bg)}@keyframes fadeUp{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes panelIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes panelOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:none}}@keyframes sheetOut{0%{transform:none}to{transform:translateY(100%)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.16)}70%{transform:scale(.98)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .14s var(--ease),opacity .18s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-fill);color:var(--on-accent)}.btn-dark,.btn-primary{border-color:transparent}.btn-dark{background:var(--fg);color:var(--bg)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger,.btn-ghost{border-color:transparent}.btn-ghost{background:transparent}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-lg{height:52px;padding:0 24px;font-size:15px}.btn-block{width:100%}.btn-icon{width:40px;padding:0}@media (hover:hover){.btn:hover:not(:disabled){background:var(--subtle);color:var(--fg)}.btn-primary:hover:not(:disabled){background:var(--accent-fill);color:var(--on-accent);filter:brightness(1.06)}.btn-dark:hover:not(:disabled){background:var(--fg);color:var(--bg);filter:brightness(1.15)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);filter:brightness(1.1)}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span,.label{font-size:13px;font-weight:600}.field .hint{font-size:12px;color:var(--muted);font-weight:400}.input,.select,.textarea{width:100%;min-height:42px;padding:10px 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);outline:none;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.textarea{min-height:96px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.form-error{background:var(--danger-soft);color:var(--danger)}.form-error,.form-ok{padding:10px 14px;border-radius:12px;font-size:13px}.form-ok{background:var(--emerald-soft);color:var(--emerald-fg)}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--subtle);color:var(--fg)}.pill-green{background:var(--emerald-soft);color:var(--emerald-fg)}.pill-orange{background:var(--accent-soft);color:var(--accent)}.pill-red{background:var(--danger-soft);color:var(--danger)}.pill-amber{background:var(--warn-soft);color:var(--warn)}.pill-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm)}.panel-pad{padding:20px}.panel{min-width:0}.dash-main .panel{overflow-x:auto}.dash-main .stats,.dash-main [class*=grid],.dash-main>*{min-width:0}.panel-head{flex-wrap:wrap;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.panel-head h2,.panel-head h3{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:12px 16px;vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color .12s var(--ease)}@media (hover:hover){.table tbody tr:hover{background:var(--subtle)}}.table .num{text-align:right;font-family:var(--mono)}.table .num,.table td.mono,.table td.muted,.table td>.mono,.table td>.pill{white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat{padding:18px 20px}.stat .k{font-size:12px;color:var(--muted);font-weight:600}.stat .v{margin-top:6px;font-size:26px;font-weight:600;letter-spacing:-.03em;font-family:var(--mono)}.stat .d{margin-top:2px;font-size:12px}.empty,.stat .d{color:var(--muted)}.empty{padding:48px 24px;text-align:center}.toolbar{flex-wrap:wrap}.row,.toolbar{display:flex;align-items:center;gap:8px}.stack{gap:16px}.cover,.stack{display:flex;flex-direction:column}.cover{justify-content:space-between;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--border)}.tone-sky{background:var(--tone-sky);color:var(--fg)}.tone-sand{background:var(--tone-sand);color:var(--fg)}.tone-sage{background:var(--tone-sage);color:var(--fg)}.tone-clay{background:var(--tone-clay);color:var(--fg)}.tone-stone{background:var(--tone-stone);color:var(--fg)}.tone-ink{background:var(--ink);color:var(--on-ink)}.dash{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:var(--bg)}.dash-side{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}.dash-brand{display:flex;align-items:center;gap:8px;flex-shrink:0;height:64px;padding:0 22px;color:var(--fg);font-weight:700;font-size:18px;letter-spacing:-.04em;border-bottom:1px solid var(--border)}.dash-brand small{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.dash-nav{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 12px 16px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.dash-nav::-webkit-scrollbar{width:6px}.dash-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.dash-nav a{position:relative;display:flex;align-items:center;gap:11px;height:36px;margin:1px 0;padding:0 10px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:500;transition:background-color .14s var(--ease),color .14s var(--ease)}.dash-nav a svg{flex-shrink:0;transition:color .14s var(--ease)}.dash-nav a[aria-current=page]{background:var(--accent-soft);color:var(--fg);font-weight:600}.dash-nav a[aria-current=page] svg{color:var(--accent)}.dash-nav a[aria-current=page]:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}@media (hover:hover){.dash-nav a:not([aria-current=page]):hover{background:var(--subtle);color:var(--fg)}}.dash-nav a:focus-visible,.dash-store:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dash-nav .sep{margin:18px 10px 6px;font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--muted);opacity:.8;text-transform:uppercase}.dash-nav>div:first-child .sep{margin-top:6px}.dash-foot{flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px;border-top:1px solid var(--border)}.dash-store{display:flex;align-items:center;gap:11px;height:36px;padding:0 10px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:500}@media (hover:hover){.dash-store:hover{background:var(--subtle);color:var(--fg)}}.dash-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:var(--subtle);min-width:0}.dash-user .av{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:var(--accent-fill);color:#fff;font-size:12px;font-weight:700}.dash-user .who{flex:1 1;min-width:0;line-height:1.3}.dash-user .who b,.dash-user .who small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-user .who b{font-size:13px;font-weight:600}.dash-user .who small{font-size:11.5px;color:var(--muted)}.dash-user .ib{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .14s var(--ease),color .14s var(--ease)}@media (hover:hover){.dash-user .ib:hover{background:var(--surface);color:var(--fg)}}.dash-user .ib:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dash-main{min-width:0;padding:28px clamp(16px,3vw,40px) 64px}.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.dash-head h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.03em}.dash-head p{margin:4px 0 0;color:var(--muted)}.dash-top{display:none}@media (max-width:900px){.dash{grid-template-columns:minmax(0,1fr)}.dash-side{position:fixed;inset:0 auto 0 0;width:268px;height:100dvh;z-index:50;transform:translateX(-100%);transition:transform .26s var(--ease);box-shadow:var(--shadow-lg)}.dash-side[data-open=true]{transform:none}.dash-top{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:40;height:56px;padding:0 16px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sk{border-radius:12px;background:linear-gradient(90deg,var(--subtle) 30%,var(--surface) 50%,var(--subtle) 70%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.sk-line{height:14px;border-radius:7px}.sk-fade{animation:fadeIn .3s var(--ease) .12s backwards}.toasts{position:fixed;right:16px;bottom:16px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;max-width:360px;padding:12px 16px;border-radius:14px;background:var(--fg);color:var(--bg);font-size:14px;box-shadow:var(--shadow-lg);animation:panelIn .22s var(--ease)}.toast[data-kind=error]{background:var(--danger);color:#fff}.modal-scrim{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--scrim);animation:fadeIn .18s var(--ease)}.modal{width:min(560px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:0 40px 80px -24px rgba(var(--shadow-rgb),.45);animation:panelIn .26s var(--ease)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 0}.modal-head h2{margin:0;font-size:18px;font-weight:600}.modal-body{padding:18px 22px 22px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.btn:active{transform:none}*,:after,:before{animation-duration:1ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0s!important}}.progress{height:8px;border-radius:999px;background:var(--subtle);overflow:hidden}.progress>i{display:block;height:100%;background:var(--emerald-fill);border-radius:inherit;transition:width .6s var(--ease)}.media-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:26px 18px;border:1.5px dashed var(--border-strong);border-radius:16px;background:var(--subtle);color:var(--muted);text-align:center;font-size:13px;cursor:pointer;transition:border-color .16s var(--ease),background-color .16s var(--ease),color .16s var(--ease)}.media-drop strong{color:var(--fg);font-size:14px}.media-drop:hover,.media-drop[data-over=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.media-drop[data-disabled=true]{opacity:.6;cursor:not-allowed}.media-drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}.media-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.media-thumb{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--subtle);box-shadow:inset 0 0 0 1px var(--border);cursor:grab;transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.media-thumb:active{cursor:grabbing}.media-thumb[data-over=true]{box-shadow:0 0 0 2px var(--accent);transform:scale(1.02)}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.media-preview-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.media-preview-open span{position:absolute;left:6px;bottom:6px;padding:4px 8px;border-radius:8px;background:rgba(14,20,24,.84);color:#fff;font-size:12px;line-height:1.3}.media-preview-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.media-cover-tag{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:999px;background:var(--accent-fill);color:#fff;font-size:11px;font-weight:600}.media-actions{position:absolute;right:6px;bottom:6px;display:flex;gap:4px;opacity:0;transition:opacity .16s var(--ease)}.media-thumb:focus-within .media-actions,.media-thumb:hover .media-actions{opacity:1}@media (hover:none){.media-actions{opacity:1}}.media-actions button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;background:rgba(14,20,24,.78);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.media-actions button:hover:not(:disabled){background:rgba(14,20,24,.95)}.media-actions button.danger:hover:not(:disabled){background:#B3261E}.media-actions button:disabled{opacity:.35;cursor:default}.media-actions .flip svg{transform:rotate(180deg)}.media-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.media-files li{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--border);font-size:14px}.media-files li:last-child{border-bottom:none}.media-files .name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:13px}:root{--lg-fill:var(--accent-fill);--lg-on:var(--emerald-fill);--lg-ring:var(--accent)}