@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff");unicode-range:U+0000-00FF,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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2) format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2) format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2) format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff) format("woff");unicode-range:U+0000-00FF,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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff");unicode-range:U+0000-00FF,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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2) format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2) format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2) format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff) format("woff");unicode-range:U+0000-00FF,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:Hind;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hind-devanagari-400-normal-Ce8EC4-d.woff2) format("woff2"),url(/assets/hind-devanagari-400-normal-6Ms-mAa1.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Hind;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hind-latin-ext-400-normal-CehS5lVz.woff2) format("woff2"),url(/assets/hind-latin-ext-400-normal-BIsWM9a7.woff) format("woff");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:Hind;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hind-latin-400-normal-BqbzxKtL.woff2) format("woff2"),url(/assets/hind-latin-400-normal-BDJq_LHN.woff) format("woff");unicode-range:U+0000-00FF,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:Hind;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hind-devanagari-500-normal-CBCyjCSE.woff2) format("woff2"),url(/assets/hind-devanagari-500-normal-DeCzNB2a.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Hind;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hind-latin-ext-500-normal-BriGsAve.woff2) format("woff2"),url(/assets/hind-latin-ext-500-normal-v73MMq9P.woff) format("woff");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:Hind;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hind-latin-500-normal-BTLLHyZr.woff2) format("woff2"),url(/assets/hind-latin-500-normal-CW6IhYjt.woff) format("woff");unicode-range:U+0000-00FF,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:Hind;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hind-devanagari-600-normal-CAkV9lZY.woff2) format("woff2"),url(/assets/hind-devanagari-600-normal-UIPOzgEY.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Hind;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hind-latin-ext-600-normal-BLGS_0zg.woff2) format("woff2"),url(/assets/hind-latin-ext-600-normal-CvngBY0q.woff) format("woff");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:Hind;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hind-latin-600-normal-C7XVtUlB.woff2) format("woff2"),url(/assets/hind-latin-600-normal-ViH-Hlns.woff) format("woff");unicode-range:U+0000-00FF,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}:root{--bg: #faf9fe;--surface: #ffffff;--surface-2: #f4f2fb;--surface-3: #eae6f6;--border: rgba(57, 44, 125, .11);--border-strong: rgba(57, 44, 125, .2);--text: #21194f;--text-soft: #4b446e;--muted: #7b7597;--brand: #392c7d;--pink: #ff4667;--gold: #ffbd59;--grad: linear-gradient(120deg, #392c7d 0%, #7b3bb8 55%, #ff4667 100%);--accent: #4b3bb0;--accent-hover: #392c7d;--accent-soft: rgba(75, 59, 176, .1);--btn-fg: #ffffff;--btn-bg: #392c7d;--btn-bg-hover: #2c2163;--ok: #1a8245;--ok-soft: rgba(26, 130, 69, .12);--warn: #9a6700;--warn-soft: rgba(154, 103, 0, .12);--danger: #e5344f;--danger-soft: rgba(255, 70, 103, .12);--info: #0b6bcb;--info-soft: rgba(11, 107, 203, .1);--shadow-sm: 0 1px 2px rgba(9, 9, 11, .05);--shadow-md: 0 2px 4px rgba(9, 9, 11, .04), 0 4px 16px rgba(9, 9, 11, .06);--shadow-lg: 0 8px 40px rgba(9, 9, 11, .12);--ring: 0 0 0 3px var(--accent-soft);--radius: 14px;--radius-sm: 10px;--sidebar-w: 244px;--ease: cubic-bezier(.4, 0, .2, 1);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d0a18;--surface: #161227;--surface-2: #1e1836;--surface-3: #291f45;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .17);--text: #ece9f7;--text-soft: #c0b9dd;--muted: #928ab0;--brand: #6d5cf0;--pink: #ff5c78;--gold: #ffca70;--grad: linear-gradient(120deg, #7d5cff 0%, #a24ce0 50%, #ff5c78 100%);--accent: #9b8cff;--accent-hover: #b0a4ff;--accent-soft: rgba(155, 140, 255, .18);--btn-fg: #ffffff;--btn-bg: #6d5cf0;--btn-bg-hover: #7d6dff;--ok: #3fb96b;--ok-soft: rgba(63, 185, 107, .16);--warn: #e6b455;--warn-soft: rgba(230, 180, 85, .16);--danger: #ff5c78;--danger-soft: rgba(255, 92, 120, .16);--info: #6aa9ff;--info-soft: rgba(106, 169, 255, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 2px 10px rgba(0, 0, 0, .55);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .65)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0a18;--surface: #161227;--surface-2: #1e1836;--surface-3: #291f45;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .17);--text: #ece9f7;--text-soft: #c0b9dd;--muted: #928ab0;--brand: #6d5cf0;--pink: #ff5c78;--gold: #ffca70;--grad: linear-gradient(120deg, #7d5cff 0%, #a24ce0 50%, #ff5c78 100%);--accent: #9b8cff;--accent-hover: #b0a4ff;--accent-soft: rgba(155, 140, 255, .18);--btn-fg: #ffffff;--btn-bg: #6d5cf0;--btn-bg-hover: #7d6dff;--ok: #3fb96b;--ok-soft: rgba(63, 185, 107, .16);--warn: #e6b455;--warn-soft: rgba(230, 180, 85, .16);--danger: #ff5c78;--danger-soft: rgba(255, 92, 120, .16);--info: #6aa9ff;--info-soft: rgba(106, 169, 255, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 2px 10px rgba(0, 0, 0, .55);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .65)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Hind,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}h1,h2,h3,.brand{font-family:Public Sans,Hind,sans-serif;color:var(--text);letter-spacing:-.02em}hr{border:none;border-top:1px solid var(--border);margin:20px 0}::selection{background:var(--accent-soft)}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:8px 10px 18px;letter-spacing:-.03em;color:var(--text)}.brand .logo{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--grad);color:#fff;flex:none;box-shadow:var(--shadow-sm)}.brand .logo .ico{width:15px;height:15px}.nav{display:flex;flex-direction:column;gap:1px}.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--muted);font-weight:500;font-size:13px;transition:background .12s var(--ease),color .12s var(--ease)}.nav a .ico{width:16px;height:16px;flex:none;opacity:.85}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{color:var(--text);background:var(--surface-2)}.nav a.active .ico{opacity:1;color:var(--accent)}.sidebar .spacer{flex:1}.section-label{color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:12px 10px 6px}.userbox{border-top:1px solid var(--border);padding-top:12px;margin-top:10px}.userbox .who .name{color:var(--text);font-weight:600;font-size:13px}.userbox .who .role{color:var(--muted);font-size:11.5px}.avatar{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--grad);color:#fff;font-weight:600;font-size:12.5px}.theme-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px;width:100%}.theme-toggle button{flex:1;border:none;background:transparent;color:var(--muted);padding:6px;border-radius:6px;justify-content:center;box-shadow:none}.theme-toggle button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.theme-toggle button:hover{color:var(--text)}.theme-toggle .ico{width:15px;height:15px}.main{flex:1;padding:30px 40px;max-width:1160px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head h1{font-size:21px;margin:0;font-weight:650}.page-head .sub{color:var(--muted);margin-top:4px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.card h2{font-size:13px;margin:0 0 14px;font-weight:600;color:var(--text);letter-spacing:-.01em}.card.tight{padding:12px 16px}.card.flush{padding:0;overflow:hidden}.card.flush h2{padding:15px 16px 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--border)}.card:not(.flush)>table th:first-child,.card:not(.flush)>table td:first-child{padding-left:4px}.card:not(.flush)>table th:last-child,.card:not(.flush)>table td:last-child{padding-right:4px}th{color:var(--muted);font-weight:550;font-size:11px;text-transform:uppercase;letter-spacing:.05em}tbody tr{transition:background .1s var(--ease)}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.muted{color:var(--muted)}.empty{color:var(--muted);padding:52px 20px;text-align:center}.empty .big{font-size:14px;color:var(--text);font-weight:600;margin-bottom:5px}.empty .ico{width:30px;height:30px;color:var(--muted);opacity:.5;margin-bottom:12px}button,.btn{font:inherit;font-weight:550;font-size:13px;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:7px 13px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:6px;line-height:1.2;transition:background .12s var(--ease),border-color .12s var(--ease),transform .06s var(--ease),box-shadow .12s var(--ease)}button:hover{background:var(--surface-2)}button:active{transform:scale(.975)}button:focus-visible{outline:none;box-shadow:var(--ring)}button.primary{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-fg)}button.primary:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover)}button.danger{color:var(--danger);border-color:transparent;background:transparent}button.danger:hover{background:var(--danger-soft)}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover{background:var(--surface-2);color:var(--text)}button.sm{padding:4px 9px;font-size:12.5px}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.row{display:flex;gap:8px;align-items:center}label{display:block;font-weight:550;margin:15px 0 6px;font-size:12.5px;color:var(--text-soft)}input,textarea,select{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 11px;font:inherit;font-size:13px;transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.65}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}textarea{min-height:118px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;resize:vertical;line-height:1.6}select[multiple]{padding:4px}.checkbox{display:flex;align-items:flex-start;gap:9px;margin:12px 0}.checkbox input{width:auto;margin-top:2px;accent-color:var(--accent)}.checkbox span{font-size:13px}.hint{color:var(--muted);font-size:12px;margin-top:5px;line-height:1.5}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.toolbar .count{color:var(--muted);font-size:12.5px;margin-left:auto}.grid{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.grid-scroll{max-height:320px;overflow:auto}.grid table{width:100%;border-collapse:separate;border-spacing:0}.grid th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}.grid td{padding:0;border-bottom:1px solid var(--border)}.grid tr:last-child td{border-bottom:none}.grid td.rownum{color:var(--muted);font-size:11px;text-align:center;width:34px;padding:0 4px;font-variant-numeric:tabular-nums}.grid td.del{width:38px;text-align:center}.grid-input{width:100%;border:none;background:transparent;border-radius:0;padding:9px 10px;font-size:13px;box-shadow:none;color:var(--text)}.grid-input:focus{outline:none;background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.grid-input.invalid{background:var(--danger-soft);box-shadow:inset 0 0 0 1.5px var(--danger)}.grid td.del button{width:26px;height:26px;padding:0;justify-content:center;border:none;background:transparent;color:var(--muted);border-radius:6px}.grid td.del button:hover{background:var(--danger-soft);color:var(--danger)}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;gap:2px}.seg button{border:none;background:transparent;color:var(--muted);padding:5px 12px;border-radius:6px;box-shadow:none;font-size:12.5px}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.picker{border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.picker-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.picker-head input.search{border:none;background:transparent;padding:4px 2px;font-size:13px;box-shadow:none}.picker-head input.search:focus{box-shadow:none}.picker-head .selall{margin-left:auto;font-size:12px;color:var(--accent);background:transparent;border:none;padding:4px 8px;box-shadow:none}.picker-head .selall:hover{background:var(--accent-soft)}.picker-list{max-height:216px;overflow-y:auto}.pick-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s var(--ease)}.pick-item:last-child{border-bottom:none}.pick-item:hover{background:var(--surface-2)}.pick-item.sel{background:var(--accent-soft)}.pick-box{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--border-strong);flex:none;display:grid;place-items:center;color:#fff;transition:all .1s var(--ease)}.pick-item.sel .pick-box{background:var(--brand);border-color:var(--brand)}.pick-box svg{width:12px;height:12px;opacity:0}.pick-item.sel .pick-box svg{opacity:1}.pick-name{font-weight:550;font-size:13px;color:var(--text)}.pick-count{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.picker-foot{padding:8px 12px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted);background:var(--surface-2)}.picker-empty{padding:22px;text-align:center;color:var(--muted);font-size:13px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 8px;border-radius:6px;font-size:11.5px;font-weight:550;letter-spacing:0;white-space:nowrap;background:var(--surface-2);color:var(--text-soft);border:1px solid var(--border)}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.badge.gray{color:var(--muted)}.badge.blue{color:var(--info)}.badge.green{color:var(--ok)}.badge.amber{color:var(--warn)}.badge.red{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#09090b66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:7vh 16px;z-index:50;animation:fade .12s var(--ease)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:640px;max-width:100%;padding:24px;max-height:84vh;overflow:auto;box-shadow:var(--shadow-lg);animation:pop .14s var(--ease)}.modal h2{margin:0 0 4px;font-size:17px;font-weight:650}.modal .modal-sub{color:var(--muted);font-size:13px;margin-bottom:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.99)}}.funnel{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.funnel .stat{background:var(--surface);padding:16px 16px 18px;position:relative}.funnel .stat .n{font-size:26px;font-weight:680;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.funnel .stat .l{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-top:9px;font-weight:550}.funnel .stat .pct{color:var(--text-soft);font-size:12px;margin-top:5px;font-variant-numeric:tabular-nums;font-weight:500}.funnel .stat .bar{position:absolute;left:0;bottom:0;height:3px;background:var(--grad);transition:width .5s var(--ease)}.funnel .stat.accent-green .bar{background:var(--ok)}.funnel .stat.accent-amber .bar{background:var(--gold)}.funnel .stat.accent-red .bar{background:var(--pink)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi .n{font-size:27px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-family:Public Sans,sans-serif;line-height:1}.kpi .l{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;margin-top:9px;font-weight:600}.kpi .sub{color:var(--accent);font-size:12.5px;margin-top:5px;font-weight:600}.kpi.hl{background:var(--grad);border:none;color:#fff}.kpi.hl .n,.kpi.hl .l,.kpi.hl .sub{color:#fff}.kpi.hl .l,.kpi.hl .sub{opacity:.9}.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:6px 2px 12px}.minibar{display:flex;height:6px;border-radius:4px;overflow:hidden;background:var(--surface-3);min-width:90px}.minibar span{display:block;height:100%}.live{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:550;font-size:12px;padding:5px 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface)}.live .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok-soft);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--ok-soft)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.timeline{list-style:none;padding:4px 18px 8px;margin:0}.timeline li{padding:10px 0;border-bottom:1px solid var(--border);display:flex;gap:13px;align-items:baseline;font-size:13px}.timeline li:last-child{border-bottom:none}.timeline .t{color:var(--muted);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:148px}.timeline .dotmark{width:7px;height:7px;border-radius:50%;flex:none;align-self:center;background:var(--muted)}.timeline .dotmark.green{background:var(--ok)}.timeline .dotmark.amber{background:var(--warn)}.timeline .dotmark.red{background:var(--danger)}.timeline .dotmark.blue{background:var(--info)}code{background:var(--surface-2);border:1px solid var(--border);padding:1px 5px;border-radius:5px;font-size:12px;font-family:ui-monospace,Menlo,monospace}.error-box{background:var(--danger-soft);border:1px solid transparent;color:var(--danger);padding:10px 12px;border-radius:var(--radius-sm);margin:10px 0;font-size:13px;font-weight:500}.notice{background:var(--warn-soft);border:1px solid transparent;color:var(--warn);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.notice.info{background:var(--info-soft);color:var(--info)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{width:372px;box-shadow:var(--shadow-md);padding:28px}.login-card .brand{padding:0 0 4px}@media (max-width: 760px){.sidebar{position:fixed;z-index:40;transform:translate(-100%)}.main{padding:20px 16px}.funnel{grid-template-columns:repeat(3,1fr)}}
