@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.p.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:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-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:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.p.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:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-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:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.p.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:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-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:Sora Fallback;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_902748{font-family:Sora,Sora Fallback;font-style:normal}.__variable_902748{--font-display:"Sora","Sora Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;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;font-style:normal;font-weight:100 900;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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.p.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;font-style:normal;font-weight:100 900;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;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_1b85de{font-family:Inter,Inter Fallback;font-style:normal}.__variable_1b85de{--font-sans:"Inter","Inter Fallback"}:root{--ff-sans:var(--font-sans),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--ff-display:var(--font-display),var(--ff-sans);--canvas:#f5f7fb;--surface:#ffffff;--surface-2:#f1f4f9;--border:#e6eaf1;--border-strong:#d3dae6;--text:#0f1b2d;--text-muted:#5c6b83;--text-faint:#94a1b6;--accent:#2f6fed;--accent-hover:#2158c9;--accent-press:#1c49a8;--accent-tint:#eaf1fe;--accent-tint-2:#d8e6fd;--on-accent:#ffffff;--success:#128a4e;--success-tint:#e5f5ec;--warning:#b45309;--warning-tint:#fbf0e0;--danger:#d83a3a;--danger-tint:#fce9e9;--daylight:linear-gradient(90deg,#ffcf87,#ff9d7c 34%,#2f6fed);--r-sm:8px;--r:11px;--r-lg:16px;--r-full:999px;--shadow-xs:0 1px 2px rgba(16,27,45,0.05);--shadow-sm:0 1px 2px rgba(16,27,45,0.06),0 2px 6px rgba(16,27,45,0.04);--shadow-md:0 6px 18px rgba(16,27,45,0.09);--shadow-lg:0 18px 44px rgba(16,27,45,0.16);color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--canvas);font-family:var(--ff-sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,h1,h2,h3,h4{color:var(--text)}h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;letter-spacing:-.015em;margin:0}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.brand{display:flex;align-items:center;gap:.6rem}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--daylight);position:relative;flex-shrink:0;box-shadow:var(--shadow-sm)}.brand-mark:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;top:7px;left:7px;box-shadow:0 0 0 3px rgba(255,255,255,.35)}.brand-name{display:flex;flex-direction:column;line-height:1.1}.brand-name strong{font-family:var(--ff-display);font-weight:700;font-size:.98rem;letter-spacing:-.02em}.brand-name span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}button{font-family:inherit;cursor:pointer}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-family:var(--ff-sans);font-size:.9rem;font-weight:600;border:1px solid transparent;border-radius:var(--r-sm);padding:.58rem .95rem;background:var(--accent);color:var(--on-accent);transition:background .15s ease,box-shadow .15s ease,transform .05s ease;box-shadow:var(--shadow-xs)}.btn:hover{background:var(--accent-hover)}.btn:active{background:var(--accent-press);transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:none}.btn.ghost:hover{background:var(--surface-2)}label{display:flex;flex-direction:column;gap:.32rem;font-size:.82rem;font-weight:500;color:var(--text-muted)}input,select{font-family:var(--ff-sans);font-size:.92rem;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.55rem .7rem;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--text-faint)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.form{display:flex;flex-direction:column;gap:.85rem;max-width:440px}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.form-error{background:var(--danger-tint);color:#a52121;border:1px solid #f3c9c9;border-radius:var(--r-sm);padding:.55rem .75rem;font-size:.85rem}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(120% 80% at 50% -10%,rgba(255,197,122,.28) 0,rgba(255,158,124,.12) 22%,rgba(47,111,237,.06) 46%,transparent 68%),var(--canvas)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:2.25rem 2rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:.9rem}.login-card .brand{margin-bottom:.5rem}.login-head h1{font-size:1.25rem;margin-bottom:.15rem}.login-card .btn{margin-top:.35rem;padding:.68rem}.dash{display:flex;min-height:100vh}.dash-side{width:252px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:1.15rem .85rem;display:flex;flex-direction:column;gap:1.35rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.dash-side .brand{padding:.35rem .5rem;position:relative}.dash-side .brand:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:-.7rem;height:2px;border-radius:2px;background:var(--daylight);opacity:.7}.nav{display:flex;flex-direction:column;gap:.15rem;margin-top:.4rem}.nav-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;border-radius:var(--r-sm);color:var(--text-muted);font-weight:500;font-size:.9rem;position:relative}.nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-item.active{background:var(--accent-tint);color:var(--accent-press);font-weight:600}.nav-item.active svg{opacity:1;color:var(--accent)}.nav-item.active:before{content:"";position:absolute;left:-.85rem;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.user-card{margin-top:auto;border:1px solid var(--border);border-radius:var(--r);padding:.75rem;background:var(--surface-2);flex-direction:column}.user-card,.user-row{display:flex;gap:.6rem}.user-row{align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.8rem;flex-shrink:0;font-family:var(--ff-display)}.user-meta{min-width:0;line-height:1.2}.user-meta .nm{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta .rl{font-size:.75rem;color:var(--text-muted)}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-sm);padding:.45rem;font-size:.83rem;font-weight:500}.logout-btn:hover{background:var(--danger-tint);border-color:#f0c4c4;color:#a52121}.logout-btn svg{width:15px;height:15px}.dash-main{flex:1 1;min-width:0}.page{padding:2rem 2.25rem;max-width:1120px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-head .lead{color:var(--text-muted);margin-top:.2rem}.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-weight:600;margin-bottom:.35rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem 1.15rem;box-shadow:var(--shadow-xs)}.stat .lbl{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--text-muted);font-weight:500}.stat .lbl svg{width:16px;height:16px;color:var(--accent)}.stat .val{font-family:var(--ff-display);font-size:1.9rem;font-weight:700;letter-spacing:-.02em;margin-top:.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .sub{font-size:.78rem;margin-top:.1rem}.stat .sub,.stat.soon .val{color:var(--text-faint)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem 1.35rem;box-shadow:var(--shadow-xs)}.card+.card,.card.mt{margin-top:1.25rem}.card>h2,.card>h3{margin-bottom:.9rem}.card.form{gap:.85rem;box-shadow:var(--shadow-md)}.kv{display:grid;grid-template-columns:150px 1fr;grid-gap:.55rem 1rem;gap:.55rem 1rem;margin:0}.kv dt{color:var(--text-muted);font-size:.88rem}.kv dd{margin:0;font-weight:500}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-xs)}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table thead th{text-align:left;padding:.7rem 1rem;background:var(--surface-2);color:var(--text-muted);font-weight:600;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}.table tbody td,.table thead th{border-bottom:1px solid var(--border);white-space:nowrap}.table tbody td{padding:.72rem 1rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:#fafbfe}.table .primary-cell{font-weight:600;color:var(--text)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:var(--r-full);font-size:.75rem;font-weight:600;line-height:1.4}.badge.role{background:var(--accent-tint);color:var(--accent-press)}.badge.neutral{background:var(--surface-2);color:var(--text-muted)}.badge.on{background:var(--success-tint);color:var(--success)}.badge.off{background:var(--danger-tint);color:#a52121}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.modal-backdrop{position:fixed;inset:0;background:rgba(15,27,45,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:1.5rem;z-index:50}.modal{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto}.modal h3{margin-bottom:.35rem}.modal .modal-sub{color:var(--text-muted);font-size:.85rem;margin-bottom:1rem}.container{max-width:720px;margin:0 auto;padding:4rem 1.5rem}.container h1{font-size:2rem}.container ul{padding-left:1.1rem}@media (max-width:720px){.dash{flex-direction:column}.dash-side{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;flex-wrap:wrap;gap:.75rem}.dash-side .brand:after{display:none}.nav{flex-direction:row;flex-wrap:wrap;margin-top:0}.nav-item.active:before{display:none}.user-card{margin-top:0;margin-left:auto;flex-direction:row;align-items:center}.page{padding:1.35rem 1.15rem}.page-head{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}