@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_f9a34d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_f9a34d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.p.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:__Inter_f9a34d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_f9a34d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_f9a34d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_f9a34d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.p.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:__Inter_f9a34d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_f9a34d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_f9a34d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_f9a34d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.p.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:__Inter_f9a34d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_f9a34d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_f9a34d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_f9a34d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.p.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:__Inter_f9a34d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f9a34d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_f9a34d;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f9a34d{font-family:__Inter_f9a34d,__Inter_Fallback_f9a34d;font-style:normal}.__variable_f9a34d{--font-inter:"__Inter_f9a34d","__Inter_Fallback_f9a34d"}@font-face{font-family:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.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:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-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:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.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:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-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:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6bb6a9cb68044e10-s.p.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:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9a3689a7cda641d2-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Be_Vietnam_Pro_221a9b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bed26dc8a57eea87-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:__Be_Vietnam_Pro_Fallback_221a9b;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_221a9b{font-family:__Be_Vietnam_Pro_221a9b,__Be_Vietnam_Pro_Fallback_221a9b;font-style:normal}.__variable_221a9b{--font-sora:"__Be_Vietnam_Pro_221a9b","__Be_Vietnam_Pro_Fallback_221a9b"}:root{--brand-50:#fdf1eb;--brand-100:#fbddcf;--brand-200:#f6b79b;--brand-300:#f08a60;--brand-400:#ec5922;--brand-500:#dd5021;--brand-600:#c13a1c;--brand-700:#9c251c;--brand-800:#7e1d18;--brand-900:#5a1413;--gradient-brand:linear-gradient(135deg,#ec5922,#901d1b);--gradient-brand-soft:linear-gradient(135deg,#fdf1eb,#fbddcf);--ink:#1c1917;--ink-soft:#44403c;--muted:#78716c;--line:#e7e2dd;--line-soft:#f0ece8;--surface:#fff;--surface-2:#f7f4f1;--surface-3:#f0ece8;--sidebar:#1a1614;--sidebar-2:#241d1a;--sidebar-line:#352b27;--sidebar-text:#d8cfc9;--sidebar-muted:#948b85;--success:#15803d;--success-bg:#dcfce7;--warning:#b45309;--warning-bg:#fef3c7;--danger:#b91c1c;--danger-bg:#fee2e2;--info:#1d4ed8;--info-bg:#dbeafe;--bg:var(--surface-2);--panel:var(--surface);--border:var(--line);--text:var(--ink);--accent:var(--brand-500);--green:var(--success);--amber:var(--warning);--red:var(--danger);--r-sm:6px;--r-md:10px;--r-lg:16px;--r-full:999px;--shadow-sm:0 1px 2px rgba(60,40,30,.06),0 1px 3px rgba(60,40,30,.04);--shadow-md:0 4px 12px rgba(60,40,30,.08),0 2px 4px rgba(60,40,30,.05);--shadow-lg:0 16px 40px rgba(60,40,30,.14),0 4px 12px rgba(60,40,30,.08);--ring:0 0 0 3px rgba(236,89,34,.2);--font-sans:var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:var(--font-sora),var(--font-sans);--font-mono:ui-monospace,"SF Mono","Menlo",monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand-600);text-decoration:none;transition:color .15s ease}a:hover{color:var(--brand-700)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}::selection{background:var(--brand-100);color:var(--brand-800)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--line);background-clip:padding-box}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--sidebar);background-image:radial-gradient(120% 60% at 0 0,rgba(236,89,34,.1),transparent 60%);color:var(--sidebar-text);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--sidebar-line)}.sidebar .brand-head{display:flex;align-items:center;gap:10px;padding:18px 18px 16px;border-bottom:1px solid var(--sidebar-line)}.sidebar .brand-head .mark{width:34px;height:34px;border-radius:9px;flex-shrink:0;box-shadow:0 0 0 1px hsla(0,0%,100%,.06),0 4px 10px rgba(0,0,0,.35);background:#fff;object-fit:contain;padding:2px}.sidebar .brand-head .brand-name{font-family:var(--font-display);font-weight:700;font-size:16px;color:#fff;letter-spacing:-.01em;line-height:1.1}.sidebar .brand-head .brand-tag{font-size:10.5px;color:var(--sidebar-muted);letter-spacing:.06em;text-transform:uppercase}.sidebar nav{flex:1 1;overflow-y:auto;padding:12px 12px 8px}.sidebar .group{padding:16px 10px 7px;color:var(--sidebar-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.sidebar .navlink{display:flex;align-items:center;gap:11px;padding:9px 11px;margin:1px 0;border-radius:var(--r-sm);color:var(--sidebar-text);font-size:13.5px;font-weight:500;position:relative;transition:background .15s ease,color .15s ease}.sidebar .navlink svg{width:17px;height:17px;flex-shrink:0;opacity:.8}.sidebar .navlink:hover{background:var(--sidebar-2);color:#fff}.sidebar .navlink:hover svg{opacity:1}.sidebar .navlink.active{background:var(--gradient-brand);color:#fff;box-shadow:0 6px 16px rgba(193,58,28,.35)}.sidebar .navlink.active svg{opacity:1}.sidebar .foot{border-top:1px solid var(--sidebar-line);padding:12px;display:flex;align-items:center;gap:10px}.sidebar .foot .avatar{width:32px;height:32px;border-radius:var(--r-full);background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.sidebar .foot .who{min-width:0}.sidebar .foot .who .e{font-size:12.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .foot .who .r{font-size:11px;color:var(--sidebar-muted)}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.appbar{height:58px;flex-shrink:0;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.appbar,.appbar .crumb{display:flex;align-items:center}.appbar .crumb{gap:8px;color:var(--muted);font-size:13px}.appbar .crumb .here{color:var(--ink);font-weight:600}.appbar .right{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}.appbar .right .live{display:inline-flex;align-items:center;gap:6px}.appbar .right .dot{width:8px;height:8px;border-radius:999px;display:inline-block}.appbar .right .dot.on{background:var(--success);box-shadow:0 0 0 3px rgba(21,128,61,.18)}.appbar .right .dot.off{background:var(--muted)}.appbar .right .logout{color:var(--muted);cursor:pointer;font-weight:500}.appbar .right .logout:hover{color:var(--brand-600)}.content{flex:1 1;overflow-y:auto;padding:28px}.content-inner{max-width:1240px}.container,.content-inner{margin:0 auto;animation:rise .22s ease-out}.container{max-width:1100px;padding:32px 24px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-title{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.page-sub{color:var(--muted);margin-top:3px;font-size:13.5px}.cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px;box-shadow:var(--shadow-sm)}.card .label{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.card .value{font-family:var(--font-display);font-size:27px;font-weight:700;margin-top:6px;color:var(--ink);letter-spacing:-.02em}.statcard{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.statcard:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.statcard .top{display:flex;align-items:center;justify-content:space-between}.statcard .label{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.statcard .chip{width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.statcard .chip svg{width:18px;height:18px}.statcard .value{font-family:var(--font-display);font-size:28px;font-weight:700;margin-top:10px;color:var(--ink);letter-spacing:-.02em;line-height:1.1}.statcard .hint{font-size:12px;color:var(--muted);margin-top:4px}.statcard .accent{position:absolute;left:0;top:0;bottom:0;width:3px}.statcard.t-brand .chip{background:var(--brand-50);color:var(--brand-600)}.statcard.t-brand .accent{background:var(--gradient-brand)}.statcard.t-success .chip{background:var(--success-bg);color:var(--success)}.statcard.t-success .accent{background:var(--success)}.statcard.t-warning .chip{background:var(--warning-bg);color:var(--warning)}.statcard.t-warning .accent{background:var(--warning)}.statcard.t-danger .chip{background:var(--danger-bg);color:var(--danger)}.statcard.t-danger .accent{background:var(--danger)}.statcard.t-info .chip{background:var(--info-bg);color:var(--info)}.statcard.t-info .accent{background:var(--info)}.statcard.t-neutral .chip{background:var(--surface-3);color:var(--ink-soft)}.statcard.t-neutral .accent{background:var(--line)}.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-bottom:20px}.section>.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line)}.section>.section-head .t{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--ink)}.section>.section-head .d{font-size:12.5px;color:var(--muted);margin-top:1px}.section>.section-body{padding:18px}.section>table{border:none;border-radius:0;box-shadow:none}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm)}thead th{position:-webkit-sticky;position:sticky;top:58px;background:var(--surface-2);z-index:1}td,th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line-soft);font-size:13.5px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--brand-50)}.badge,td a{font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-full);font-size:12px;line-height:1.4;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.7}.badge.plain:before{display:none}.badge.stage{background:var(--brand-50);color:var(--brand-700)}.badge.tier1{background:var(--success-bg);color:var(--success)}.badge.tier2{background:var(--info-bg);color:var(--info)}.badge.tier3{background:var(--warning-bg);color:var(--warning)}.badge.tier4{background:var(--danger-bg);color:var(--danger)}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.neutral{background:var(--surface-3);color:var(--ink-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--r-sm);border:1px solid transparent;font-family:var(--font-sans);font-size:13.5px;font-weight:600;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,transform .05s ease;background:var(--gradient-brand);color:#fff;box-shadow:0 4px 12px rgba(193,58,28,.25)}.btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 6px 18px rgba(193,58,28,.34)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn.primary{background:var(--gradient-brand);color:#fff;box-shadow:0 4px 12px rgba(193,58,28,.25)}.btn.primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 6px 18px rgba(193,58,28,.34)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}.btn.secondary:hover:not(:disabled){border-color:var(--brand-300);color:var(--brand-700)}.btn.ghost{background:transparent;color:var(--ink-soft)}.btn.ghost:hover:not(:disabled){background:var(--surface-3)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(1.06)}.btn.block{width:100%}.btn.lg{padding:11px 20px;font-size:14.5px}.field{margin-bottom:14px}.field label{display:block;color:var(--ink-soft);font-size:12.5px;font-weight:600;margin-bottom:6px}.field input,.field select,.field textarea,input.in,select.in,textarea.in{width:100%;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus,.in:focus{outline:none;border-color:var(--brand-400);box-shadow:var(--ring)}select{cursor:pointer}.pipeline{display:flex;gap:4px;align-items:stretch}.pipeline .seg{flex:1 1;min-width:0;border-radius:var(--r-sm);background:var(--surface-3);padding:10px 8px;text-align:center;border:1px solid var(--line);transition:transform .15s ease,box-shadow .15s ease;cursor:default}.pipeline .seg:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.pipeline .seg .n{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--ink)}.pipeline .seg .l{font-size:9.5px;color:var(--muted);margin-top:3px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:23px}.pipeline .seg.hot{background:var(--gradient-brand-soft);border-color:var(--brand-200)}.pipeline .seg.hot .n{color:var(--brand-700)}.pipeline .seg.done{background:var(--success-bg);border-color:#bbf7d0}.pipeline .seg.done .n{color:var(--success)}.progress{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress>span{display:block;height:100%;border-radius:999px;background:var(--gradient-brand)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-hero{position:relative;background:var(--gradient-brand);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 80% 20%,hsla(0,0%,100%,.18),transparent 60%);pointer-events:none}.login-hero .mark{width:56px;height:56px;border-radius:14px;background:#fff;padding:4px;box-shadow:var(--shadow-lg);position:relative;z-index:1}.login-hero h2{font-size:30px;font-weight:700;line-height:1.2;max-width:12ch;position:relative;z-index:1}.login-hero p{font-size:15px;opacity:.92;max-width:38ch;position:relative;z-index:1}.login-hero .feats{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}.login-hero .feats div{display:flex;align-items:center;gap:10px;font-size:14px;opacity:.95}.login-panel{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--surface-2)}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:36px;width:100%;max-width:380px;box-shadow:var(--shadow-lg)}.login-card .wm{height:26px;margin-bottom:22px}.login-card h1{font-size:20px;margin-bottom:4px;color:var(--ink)}.login-card .sub{color:var(--muted);margin-bottom:24px;font-size:13.5px}@media (max-width:860px){.login-wrap{grid-template-columns:1fr}.login-hero{display:none}}.error{color:var(--danger);font-size:13px;margin-top:12px;background:var(--danger-bg);padding:9px 12px;border-radius:var(--r-sm)}.empty{color:var(--muted);text-align:center;padding:48px 24px;background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-md)}.toolbar{align-items:center;margin-bottom:14px;flex-wrap:wrap}.toasts,.toolbar{display:flex;gap:10px}.toasts{position:fixed;bottom:22px;right:22px;width:340px;z-index:60;flex-direction:column}.toast{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand-500);border-radius:var(--r-md);padding:12px 14px;box-shadow:var(--shadow-lg);animation:slidein .22s ease-out}.toast .tl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-600);font-weight:700}.skel{background:linear-gradient(90deg,var(--surface-3) 25%,var(--line-soft) 37%,var(--surface-3) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes slidein{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}