@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-Bput3-QP.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-DCpCPQOf.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-DxZsaF_h.woff2) format("woff2"),url(/assets/inter-greek-400-normal-BZzXV7-1.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-BUNmGMP1.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-hnt3BR84.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-C1t-h-pH.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-BOOGhInR.woff2) format("woff2"),url(/assets/inter-latin-400-normal-gitzw0hO.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-DH2hs3aW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-B6guLgqG.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-M2hEX8vc.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-CeQXL5ds.woff2) format("woff2"),url(/assets/inter-greek-500-normal-d_eO-yCQ.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-DQPw2Hwd.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-UMdmhHu2.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-D2bGa7uu.woff2) format("woff2"),url(/assets/inter-latin-500-normal-deR1Tlfd.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-BGBWG807.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-BuzJQFbW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-C9WLioJ8.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-Dhlb-90d.woff2) format("woff2"),url(/assets/inter-greek-600-normal-CwicyhtI.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-Cm6aH8_k.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-BnYJhD27.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CAF0vJDd.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-D273HNI0.woff2) format("woff2"),url(/assets/inter-latin-600-normal-B5cFAncS.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-ClVoMEGq.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-Ced3hgUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-bGtGjVdZ.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-Bc8_fv8J.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-SzCdnevJ.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-DXvzx4Na.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-Cxpycf-U.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BRYTaFLL.woff) format("woff");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-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-CGpBpxLq.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-dAnkLlTo.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-CzikT_rs.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-6V9MnIL5.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Sckx8rpT.woff2) format("woff2"),url(/assets/inter-latin-700-normal-B8MtJ_2k.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-DkJRRbRv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Blqt89nY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-Gn5VisWc.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-C1n5rDZ2.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-JPzvdjtt.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-D4Z3eQTi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-C7uvZBs2.woff2) format("woff2"),url(/assets/inter-greek-800-normal-DCnbPe0-.woff) format("woff");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-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-BUZV_87j.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:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DhAspwKZ.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-B4NYOez9.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-qNthNgub.woff2) format("woff2"),url(/assets/inter-latin-800-normal-DDBFRMkW.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #F4F6FA;--surface: #FFFFFF;--surface2: #F1F5F9;--border: #E2E8F0;--text: #0F172A;--muted: #566175;--primary: #0B3D91;--accent: #1976D2;--accentText: #1565C0;--accentSoft: #E8F1FC;--nav: #0B2550;--navText: #C9D6EE;--okBg: #DCFCE7;--okFg: #166534;--warnBg: #FEF3C7;--warnFg: #92400E;--critBg: #FEE2E2;--critFg: #B91C1C;--infoBg: #DBEAFE;--infoFg: #1E40AF;--neuBg: #EEF1F5;--neuFg: #475569;color-scheme:light}:root[data-theme=dark]{--bg: #0A1020;--surface: #121A2C;--surface2: #18223A;--border: #26324D;--text: #E6EBF4;--muted: #9AA7BF;--accentText: #7DB3F5;--accentSoft: #16294A;--nav: #070D1A;--navText: #A9B6CF;--okBg: #0F3A2A;--okFg: #6EE7B7;--warnBg: #3D2A0A;--warnFg: #FCD34D;--critBg: #451515;--critFg: #FCA5A5;--infoBg: #172B4D;--infoFg: #93C5FD;--neuBg: #1E293B;--neuFg: #CBD5E1;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.45;color:var(--text);background:var(--bg)}a{color:var(--accentText)}h1{margin:0;font-size:26px;font-weight:700}h2{margin:0;font-size:16px;font-weight:600}.muted{color:var(--muted)}.layout{min-height:100vh;display:flex;flex-wrap:wrap}.nav{flex:1 1 264px;background:var(--nav);padding:20px 14px;display:flex;flex-direction:column;gap:2px}.brand{display:flex;align-items:baseline;gap:6px;padding:4px 12px 22px;color:#fff;text-decoration:none}.brand b{font-weight:800;font-size:21px;letter-spacing:.02em}.brand span{font-weight:400;font-size:21px;color:#8fb8f0}.ni{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:8px;color:var(--navText);text-decoration:none;font-weight:500;white-space:nowrap}.ni:hover{background:#ffffff14;color:#fff}.ni.active{background:#1976d2;color:#fff}.ni .soon{margin-left:auto;font-size:11px;opacity:.7}.icon-btn.menu-btn{display:none}.user-text{display:flex;flex-direction:column;line-height:1.2}.content{flex:999 1 560px;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar .spacer{flex:1}.main{padding:24px 28px;display:flex;flex-direction:column;gap:18px;max-width:1360px;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.kpi-label{font-size:13px;color:var(--muted);font-weight:500}.kpi-value{font-size:28px;font-weight:700;line-height:1.2}.btn{min-height:44px;padding:0 18px;border:0;border-radius:8px;background:#1976d2;color:#fff;font:inherit;font-weight:600;cursor:pointer}.btn:hover{background:#1565c0}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{background:var(--surface2)}.btn.small{min-height:36px;padding:0 12px;font-size:13px}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.icon-btn:hover{background:var(--surface2)}.avatar{width:36px;height:36px;border-radius:50%;background:#0b3d91;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}label.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.input,select.input{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-weight:400}.input:focus{outline:2px solid #1976D2;outline-offset:1px}.alert{padding:10px 14px;border-radius:8px;font-weight:600}.alert.error{background:var(--critBg);color:var(--critFg)}.alert.ok{background:var(--okBg);color:var(--okFg)}.alert.info{background:var(--infoBg);color:var(--infoFg)}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.ok{background:var(--okBg);color:var(--okFg)}.badge.warn{background:var(--warnBg);color:var(--warnFg)}.badge.neu{background:var(--neuBg);color:var(--neuFg)}.code{font-family:ui-monospace,Consolas,monospace;letter-spacing:.08em}.table-box{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 16px;border-bottom:1px solid var(--border)}td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:0}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--nav)}.auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:16px}.auth-card .brand{padding:0;color:var(--primary)}.auth-card .brand span{color:#1976d2}.qr{width:220px;height:220px;align-self:center;background:#fff;border-radius:8px;padding:6px}@media (max-width: 800px){.main,.topbar{padding-left:16px;padding-right:16px}.icon-btn.menu-btn{display:inline-flex}.nav{flex-basis:100%}.nav.closed,.topbar .user-text{display:none}.topbar{flex-wrap:nowrap;gap:8px}.topbar .tenant-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
