@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");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 Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");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{color-scheme:dark;--bg-0: #07091a;--bg-1: #0c0f24;--bg-2: #11152d;--bg-3: #171c38;--bg-4: #1e2446;--bg-5: #262d55;--line-1: rgba(255,255,255,.06);--line-2: rgba(255,255,255,.1);--line-3: rgba(255,255,255,.18);--backdrop: rgba(7,9,26,.6);--text-1: #edeff8;--text-2: #a9afc9;--text-3: #7c83a3;--text-4: #4a5070;--accent: #4D7CFF;--accent-fill: #3A6AF0;--accent-hover: #6b92ff;--accent-soft: rgba(77,124,255,.14);--ok: #3dd68c;--ok-soft: rgba(61,214,140,.14);--warn: #f5b942;--warn-soft: rgba(245,185,66,.14);--danger: #f2635e;--danger-soft: rgba(242,99,94,.14);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-xl: 14px;--r-full: 999px;--z-sticky: 10;--z-nav: 20;--z-panel: 30;--z-popover: 40;--z-modal: 50;--z-toast: 60;--z-palette: 70;--t-fast: .12s;--t-base: .16s;--t-slow: .2s;--ease-out: cubic-bezier(.2,.7,.2,1);--ease-io: cubic-bezier(.4,0,.2,1);--nav-w: 220px;--nav-w-collapsed: 56px;--panel-w: 360px;--topbar-h: 48px;--content-max: 1440px;--focus: 0 0 0 2px var(--bg-0), 0 0 0 4px var(--accent);--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Geist Variable", "Geist", system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--f-display: 600 28px/32px var(--font-display);--f-h1: 600 22px/28px var(--font-display);--f-h2: 600 18px/24px var(--font-display);--f-h3: 600 15px/20px var(--font-body);--f-body: 400 14px/20px var(--font-body);--f-small: 400 13px/18px var(--font-body);--f-label: 500 11px/16px var(--font-mono);--f-num: 500 13px/18px var(--font-mono);--f-kpi: 500 24px/28px var(--font-mono)}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-base: 0ms;--t-slow: 0ms}}@media(max-width:767px){:root{--f-body: 400 15px/22px var(--font-body)}}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg-0);color:var(--text-1);font:var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}code,kbd,.mono{font-family:var(--font-mono)}.num{font:var(--f-num);font-variant-numeric:tabular-nums}.label{font:var(--f-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.h1{font:var(--f-h1);letter-spacing:-.01em}.h2{font:var(--f-h2)}.h3{font:var(--f-h3)}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.small{font:var(--f-small)}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}::selection{background:var(--accent-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}hr{border:0;border-top:1px solid var(--line-1);margin:var(--s-4) 0}*{scrollbar-width:thin;scrollbar-color:var(--bg-5) transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid transparent;font:500 14px/20px var(--font-body);white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),opacity var(--t-fast)}.btn--sm{height:30px;padding:0 var(--s-3);font-size:13px}.btn--primary{background:var(--accent-fill);color:#fff}.btn--primary:hover{background:var(--accent-hover)}.btn--secondary{background:var(--bg-3);border-color:var(--line-2);color:var(--text-1)}.btn--secondary:hover{border-color:var(--line-3);background:var(--bg-4)}.btn--ghost{color:var(--text-2)}.btn--ghost:hover{background:var(--bg-3);color:var(--text-1)}.btn--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn--danger:hover{background:#f2635e38}.btn:disabled{opacity:.5;cursor:default}.btn--icon{width:36px;padding:0}.btn--sm.btn--icon{width:30px}.btn svg{width:16px;height:16px}.btn--full{width:100%}.field{display:grid;gap:var(--s-1)}.field__label{font:var(--f-small);color:var(--text-2)}.field__input{height:38px;padding:0 var(--s-3);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--text-1);width:100%;transition:border-color var(--t-fast),background var(--t-fast)}.field__input::placeholder{color:var(--text-4)}.field__input:hover{border-color:var(--line-3)}.field__input:focus{border-color:var(--accent);outline:none;box-shadow:none;background:var(--bg-2)}.field__input--mono{font:var(--f-num);letter-spacing:.12em;font-size:18px;text-align:center;height:48px}.field__hint{font:var(--f-small);color:var(--text-3)}.field__error{font:var(--f-small);color:var(--danger)}.field.has-error .field__input{border-color:var(--danger)}textarea.field__input{height:auto;min-height:96px;padding:var(--s-2) var(--s-3);resize:vertical;line-height:20px}select.field__input{appearance:none;padding-right:var(--s-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237c83a3' stroke-width='1.8'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.check{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text-2);cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent-fill);margin:0}.card{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:var(--s-5)}.card--sm{padding:var(--s-4)}.card--interactive{transition:border-color var(--t-fast),background var(--t-fast)}.card--interactive:hover{border-color:var(--line-3);background:var(--bg-3)}.card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.card__title{font:var(--f-h2)}.card__label{font:var(--f-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.badge{display:inline-flex;align-items:center;height:20px;padding:0 var(--s-2);border-radius:var(--r-sm);font:var(--f-label);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-4);color:var(--text-2)}.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--warn{background:var(--warn-soft);color:var(--warn)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--accent{background:var(--accent-soft);color:var(--accent)}.kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:var(--r-sm);background:var(--bg-5);border:1px solid var(--line-2);font:var(--f-label);color:var(--text-2);letter-spacing:0;text-transform:none}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font:var(--f-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line-3)}.table td{padding:var(--s-3);border-bottom:1px solid var(--line-1);vertical-align:middle}.table tr:hover td{background:var(--bg-3)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.empty{display:grid;gap:var(--s-2);justify-items:start;padding:var(--s-8) var(--s-5);border:1px dashed var(--line-2);border-radius:var(--r-lg);color:var(--text-2)}.empty b{font:var(--f-h3);color:var(--text-1)}.modal{background:var(--bg-4);color:var(--text-1);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:0;width:min(520px,calc(100vw - 32px))}.modal::backdrop{background:var(--backdrop)}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line-1);font:var(--f-h2)}.modal__body{padding:var(--s-5);display:grid;gap:var(--s-4)}.modal__foot{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line-1)}@media(max-width:767px){.modal{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:var(--r-xl) var(--r-xl) 0 0}}.toasts{position:fixed;bottom:var(--s-5);left:50%;transform:translate(-50%);display:grid;gap:var(--s-2);z-index:var(--z-toast);width:min(420px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:var(--s-3);background:var(--bg-4);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);animation:toast-in var(--t-slow) var(--ease-out)}.toast--danger{border-color:#f2635e66}.toast--ok{border-color:#3dd68c66}.toast span{flex:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:767px){.toasts{bottom:calc(60px + env(safe-area-inset-bottom))}}.kpi{display:grid;gap:var(--s-1)}.kpi__value{font:var(--f-kpi);font-variant-numeric:tabular-nums}.kpi__label{font:var(--f-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.shell{display:grid;grid-template-columns:var(--nav-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100%;min-height:100vh}.shell.nav-collapsed{grid-template-columns:var(--nav-w-collapsed) 1fr}.shell.panel-open{grid-template-columns:var(--nav-w) 1fr var(--panel-w)}.shell.nav-collapsed.panel-open{grid-template-columns:var(--nav-w-collapsed) 1fr var(--panel-w)}.nav{grid-row:1 / 3;background:var(--bg-1);border-right:1px solid var(--line-1);display:flex;flex-direction:column;padding:var(--s-3) var(--s-2);gap:var(--s-1);overflow:hidden}.nav__brand{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);height:40px;margin-bottom:var(--s-2)}.nav__brand b{font:var(--f-h2);letter-spacing:-.01em;white-space:nowrap}.nav__brand span{font:var(--f-label);color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.nav__section{font:var(--f-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-4);padding:var(--s-4) var(--s-3) var(--s-1);white-space:nowrap}.nav__item{display:flex;align-items:center;gap:var(--s-3);height:36px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--text-2);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.nav__item:hover{background:var(--bg-3);color:var(--text-1)}.nav__item.is-active{background:var(--accent-soft);color:var(--text-1)}.nav__item.is-active svg{color:var(--accent)}.nav__item svg{flex:none;width:18px;height:18px;color:var(--text-3)}.nav__item kbd{margin-left:auto}.nav__spacer{flex:1}.nav-collapsed .nav__item span,.nav-collapsed .nav__section,.nav-collapsed .nav__brand b,.nav-collapsed .nav__item kbd{display:none}.nav-collapsed .nav__item{justify-content:center;padding:0}.topbar{grid-column:2;display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-4);background:var(--bg-1);border-bottom:1px solid var(--line-1);position:sticky;top:0;z-index:var(--z-sticky)}.topbar__spacer{flex:1}.topbar__search{display:flex;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--text-3);background:var(--bg-2);min-width:220px}.topbar__search:hover{border-color:var(--line-3);color:var(--text-2)}.main{grid-column:2;padding:var(--s-6) var(--s-6) var(--s-12);overflow:auto}.main__inner{max-width:var(--content-max);margin:0 auto}.panel{grid-column:3;grid-row:1 / 3;background:var(--bg-1);border-left:1px solid var(--line-1)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6)}.page-head p{color:var(--text-2);margin-top:var(--s-1)}@media(max-width:767px){.shell,.shell.nav-collapsed,.shell.panel-open{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) 1fr auto}.nav{grid-row:3;grid-column:1;flex-direction:row;border-right:0;border-top:1px solid var(--line-1);padding:var(--s-1) var(--s-2);justify-content:space-around;position:sticky;bottom:0;z-index:var(--z-nav)}.nav__brand,.nav__section,.nav__spacer,.nav__item kbd,.nav__item span{display:none}.nav__item{height:44px;width:44px;justify-content:center;padding:0}.topbar,.main{grid-column:1}.main{padding:var(--s-4) var(--s-4) var(--s-8)}.topbar__search{min-width:0;flex:1}.panel{position:fixed;inset:var(--topbar-h) 0 0 0;z-index:var(--z-panel)}}.login{min-height:100vh;display:grid;place-items:center;padding:var(--s-6);background:radial-gradient(60% 50% at 50% 0%,rgba(77,124,255,.1),transparent 70%),var(--bg-0)}.login__box{width:min(380px,100%);display:grid;gap:var(--s-5)}.login__brand{display:flex;align-items:baseline;gap:var(--s-2)}.login__brand b{font:var(--f-display);letter-spacing:-.02em}.login__brand span{font:var(--f-label);color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.login__sub{color:var(--text-2)}.login__form{display:grid;gap:var(--s-4)}.login__error{color:var(--danger);font:var(--f-small);min-height:18px}.login__meta{display:flex;justify-content:space-between;align-items:center;font:var(--f-small);color:var(--text-3)}.settings{display:grid;grid-template-columns:200px 1fr;gap:var(--s-8)}.settings__nav{display:grid;gap:var(--s-1);align-content:start}.settings__section{display:grid;gap:var(--s-4);max-width:640px}.recovery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-2)}.recovery code{background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font:var(--f-num);letter-spacing:.04em}.qr{background:#fff;border-radius:var(--r-md);padding:var(--s-3);width:224px}.qr svg{display:block;width:200px;height:200px}@media(max-width:767px){.settings{grid-template-columns:1fr}.settings__nav{display:flex;overflow-x:auto}}.row{display:flex;align-items:center;gap:var(--s-3)}.row--between{justify-content:space-between}.stack{display:grid;gap:var(--s-3)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-4)}@media(max-width:767px){.grid-2{grid-template-columns:1fr}}
