@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2"),url(./be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff) format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(./be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2) format("woff2"),url(./be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff) format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(./be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2"),url(./be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff) format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2"),url(./be-vietnam-pro-latin-400-normal-bXgqVju9.woff) format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(./be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2) format("woff2"),url(./be-vietnam-pro-latin-600-normal-5IO4e7bK.woff) format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(./be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2"),url(./be-vietnam-pro-latin-700-normal-C2EtzaOi.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(./jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(./jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(./jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff) format("woff")}:root,:root[data-theme=dark]{--bg: #060a13;--bg2: #0a1020;--surface: #0d1526;--surface2: #111c31;--raise: #16233c;--line: rgba(148, 170, 210, .13);--line2: rgba(148, 170, 210, .22);--ink: #e4ecf7;--ink2: #b4c2d6;--mute: #7f8ea6;--accent: #22d3ee;--accent2: #818cf8;--accent-ink: #04141a;--accent-soft: rgba(34, 211, 238, .12);--ok: #34d399;--ok-soft: rgba(52, 211, 153, .13);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .13);--bad: #fb7185;--bad-soft: rgba(251, 113, 133, .14);--info: #60a5fa;--info-soft: rgba(96, 165, 250, .14);--orange: #fbbf24;--orange-soft: rgba(251, 191, 36, .13);--c-ok: #12a877;--c-info: #3b82f6;--c-warn: #f59e0b;--c-bad: #f43f5e;--input: #0a1222;--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 10px 30px -12px rgba(0, 0, 0, .6);--glow: 0 0 0 1px rgba(34, 211, 238, .35), 0 0 24px -4px rgba(34, 211, 238, .35);--grid: rgba(120, 160, 220, .045);color-scheme:dark}:root[data-theme=light]{--bg: #eef2f8;--bg2: #e6ecf5;--surface: #ffffff;--surface2: #f6f8fc;--raise: #edf2f9;--line: rgba(15, 30, 60, .09);--line2: rgba(15, 30, 60, .16);--ink: #0d1728;--ink2: #334155;--mute: #64748b;--accent: #0891b2;--accent2: #6366f1;--accent-ink: #ffffff;--accent-soft: rgba(8, 145, 178, .1);--ok: #059669;--ok-soft: rgba(5, 150, 105, .1);--warn: #b45309;--warn-soft: rgba(217, 119, 6, .12);--bad: #e11d48;--bad-soft: rgba(225, 29, 72, .09);--info: #2563eb;--info-soft: rgba(37, 99, 235, .09);--orange: #b45309;--orange-soft: rgba(217, 119, 6, .12);--c-ok: #059669;--c-info: #2563eb;--c-warn: #d97706;--c-bad: #e11d48;--input: #f8fafd;--shadow: 0 1px 2px rgba(15, 30, 60, .05), 0 8px 24px -14px rgba(15, 30, 60, .18);--glow: 0 0 0 1px rgba(8, 145, 178, .35), 0 0 20px -6px rgba(8, 145, 178, .35);--grid: rgba(15, 40, 90, .04);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;color:var(--ink);background:var(--bg);font:14px/1.5 Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background-image:radial-gradient(1200px 500px at 85% -10%,rgba(34,211,238,.09),transparent 60%),radial-gradient(900px 400px at -10% 10%,rgba(129,140,248,.08),transparent 60%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:auto,auto,32px 32px,32px 32px;background-attachment:fixed}.mono,.num{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}.mute{color:var(--mute)}.small{font-size:12px}.hide{display:none!important}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.info{color:var(--info)}.accent{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--line)}.topbar-in{max-width:1440px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#04121a;box-shadow:var(--glow)}.brand-t{font-weight:700;font-size:15px;letter-spacing:.2px;white-space:nowrap}.brand-s{font-size:11.5px;color:var(--mute);white-space:nowrap;display:flex;align-items:center;gap:6px}.live{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);display:inline-block}.live.busy{background:var(--warn);box-shadow:0 0 8px var(--warn);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.35}}.top-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.userchip{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.userchip .nm{font-size:12.5px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userchip .rl{font-size:11px;color:var(--accent)}.tabsbar{max-width:1440px;margin:0 auto;padding:0 20px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.tabsbar::-webkit-scrollbar{display:none}.tab{border:0;background:none;cursor:pointer;padding:10px 14px 11px;display:flex;align-items:center;gap:8px;color:var(--mute);font-weight:600;white-space:nowrap;position:relative;border-radius:8px 8px 0 0}.tab:hover{color:var(--ink)}.tab .ix{font-family:JetBrains Mono,monospace;font-size:11px;opacity:.6}.tab.on{color:var(--ink)}.tab .tl-short{display:none}.tab.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 12px var(--accent)}.tab.on svg{color:var(--accent)}main.page{max-width:1440px;width:100%;margin:0 auto;padding:18px 20px 60px;flex:1}.page-h{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.page-h h1{font-size:20px;margin:0;letter-spacing:-.2px}.page-h .sub{color:var(--mute);font-size:12.5px}.page-h .tools{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grid{display:grid;gap:14px}.g-kpi{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.g-2{grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr))}.g-3{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.g-main{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.span-all{grid-column:1 / -1}.grid>*{min-width:0}.mb{margin-bottom:14px}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row.end{align-items:flex-end}.spacer{flex:1}@media (max-width: 1080px){.g-main{grid-template-columns:1fr}}.card{background:linear-gradient(180deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px;min-width:0;position:relative}.card-h{display:flex;align-items:center;gap:10px;margin:-2px 0 12px;flex-wrap:wrap}.card-h h3{margin:0;font-size:14px;font-weight:650;display:flex;align-items:center;gap:8px}.card-h h3 svg{color:var(--accent)}.card-h .hint{font-size:12px;color:var(--mute)}.card-h .right{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.kpi{padding:14px 16px;overflow:hidden;cursor:default}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--tone, var(--accent));opacity:.9}.kpi .lb{font-size:12px;color:var(--mute);display:flex;align-items:center;gap:6px}.kpi .lb svg{color:var(--tone, var(--accent))}.kpi .v{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700;line-height:1.15;margin-top:6px;letter-spacing:-.5px;color:var(--tone-ink, var(--ink))}.kpi .v small{font-size:13px;color:var(--mute);font-weight:500;margin-left:4px}.kpi .ft{font-size:11.5px;color:var(--mute);margin-top:4px}.kpi .meter{height:4px;border-radius:4px;background:var(--raise);margin-top:10px;overflow:hidden}.kpi .meter i{display:block;height:100%;background:var(--tone, var(--accent));border-radius:4px;box-shadow:0 0 10px var(--tone, var(--accent))}.t-ok{--tone: var(--ok)}.t-warn{--tone: var(--warn)}.t-bad{--tone: var(--bad)}.t-info{--tone: var(--info)}.t-orange{--tone: var(--orange)}.t-violet{--tone: var(--accent2)}.kpi.kpi-alert{--tone-ink: var(--bad)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;white-space:nowrap;border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:9px;padding:7px 12px;font-weight:550;font-size:13px;transition:border-color .15s,background .15s,box-shadow .15s}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.pri{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--accent2)));border-color:transparent;color:var(--accent-ink)}.btn.pri:hover{box-shadow:var(--glow)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink2)}.btn.ghost:hover{background:var(--raise)}.btn.danger{color:var(--bad)}.btn.danger:hover{border-color:var(--bad)}.btn.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:var(--ok-soft)}.btn.sm{padding:4px 9px;font-size:12px;border-radius:7px}.btn.icon{padding:7px}.btn .lbl-m{display:inline}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--mute);min-width:0}.field>span{font-weight:550}.inp,select.inp,textarea.inp{width:100%;background:var(--input);border:1px solid var(--line2);border-radius:9px;padding:8px 10px;color:var(--ink);min-width:0;font-size:13.5px}.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inp.sm{padding:4px 8px;font-size:12.5px;border-radius:7px}.inp.num{text-align:right}.date-inp{position:relative;display:inline-flex!important;align-items:center;justify-content:space-between;gap:6px;cursor:pointer;font-family:JetBrains Mono,monospace}.date-inp input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}.date-inp:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search{position:relative}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--mute);pointer-events:none}.search .inp{padding-left:32px}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.form-grid .wide{grid-column:span 2}@media (max-width: 520px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .wide{grid-column:1 / -1}}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--input);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}.seg button{border:0;background:none;padding:5px 11px;border-radius:7px;cursor:pointer;color:var(--mute);font-size:12.5px;font-weight:600}.seg button.on{background:var(--raise);color:var(--ink);box-shadow:0 0 0 1px var(--line2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--raise);color:var(--ink2);border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.plain:before{display:none}.b-ok{background:var(--ok-soft);color:var(--ok)}.b-warn{background:var(--warn-soft);color:var(--warn)}.b-bad{background:var(--bad-soft);color:var(--bad)}.b-info{background:var(--info-soft);color:var(--info)}.b-orange{background:var(--orange-soft);color:var(--orange)}.b-accent{background:var(--accent-soft);color:var(--accent)}.tw{overflow:auto;border:1px solid var(--line);border-radius:10px;max-height:560px}.tw.short{max-height:340px}table.t{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.t th,.t td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:middle}.t th{position:sticky;top:0;z-index:1;background:var(--surface2);color:var(--mute);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}.t tbody tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.t td.n,.t th.n{text-align:right;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.t td.wrap{white-space:normal;min-width:180px}.t tr.tot td{font-weight:700;background:var(--raise);position:sticky;bottom:0}.t tr:last-child td{border-bottom:0}.t .ma{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--accent);cursor:pointer;background:none;border:0;padding:0}.t .ma:hover{text-decoration:underline}.empty{padding:28px;text-align:center;color:var(--mute);font-size:13px}.bar-cell{display:flex;align-items:center;gap:8px;min-width:120px}.bar-cell .track{flex:1;height:6px;background:var(--raise);border-radius:4px;overflow:hidden;min-width:50px}.bar-cell .track i{display:block;height:100%;border-radius:4px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:7px;border:1px solid var(--line2);background:var(--input);color:var(--ink2);display:inline-flex;align-items:center;gap:5px;transition:all .12s}.chip:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-1px)}.chip i{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok)}.chip.s-bddk i{background:var(--info);box-shadow:0 0 6px var(--info)}.chip.s-hong{border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:var(--bad-soft);color:var(--bad)}.chip.s-hong i{background:var(--bad);box-shadow:0 0 6px var(--bad)}.chip.s-bdcl{border-color:color-mix(in srgb,var(--orange) 45%,transparent);background:var(--orange-soft);color:var(--orange)}.chip.s-bdcl i{background:var(--orange);box-shadow:0 0 6px var(--orange)}.chip .hc{font-size:9.5px;padding:0 4px;border-radius:4px;background:var(--accent-soft);color:var(--accent)}.to-block{border-top:1px dashed var(--line2);padding:12px 0 2px}.to-block:first-child{border-top:0;padding-top:0}.to-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.to-head b{font-size:13px}.chart{width:100%;min-width:0}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.recharts-tooltip-wrapper{outline:none}.tip{background:var(--surface2);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow);min-width:140px}.tip .h{font-weight:700;margin-bottom:4px}.tip .r{display:flex;justify-content:space-between;gap:14px}.tip .r i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:6px}.donut-wrap{position:relative}.donut-c{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;text-align:center}.donut-c b{font-family:JetBrains Mono,monospace;font-size:26px;display:block;line-height:1.1}.donut-c span{font-size:11px;color:var(--mute)}.shift{padding:0;overflow:hidden}.shift-h{padding:14px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--accent-soft),transparent 70%)}.shift-h .t1{font-weight:700;font-size:14.5px}.shift-h .t2{font-size:12px;color:var(--mute)}.shift-b{padding:14px 16px}.balance{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.bal{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--input)}.bal .d{font-size:12px;color:var(--mute);display:flex;justify-content:space-between;gap:6px}.bal .big{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;margin-top:2px}.bal.bad{border-color:color-mix(in srgb,var(--bad) 50%,transparent);background:var(--bad-soft)}.bal.ok{border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.bal.info{border-color:color-mix(in srgb,var(--info) 40%,transparent)}.alerts{display:flex;flex-direction:column;gap:8px}.alert{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--input);font-size:13px}.alert svg{flex:none;margin-top:2px}.alert.bad{border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:var(--bad-soft)}.alert.bad svg{color:var(--bad)}.alert.warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-soft)}.alert.warn svg{color:var(--warn)}.alert.ok svg{color:var(--ok)}.alert.info svg{color:var(--info)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#02060e9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .15s}@keyframes fade{0%{opacity:0}}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(560px,100vw);background:var(--bg2);border-left:1px solid var(--line2);box-shadow:-20px 0 50px -20px #0009;display:flex;flex-direction:column;animation:slide .2s ease-out}@keyframes slide{0%{transform:translate(40px);opacity:0}}.drawer-h{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:10px}.drawer-b{padding:16px 18px 40px;overflow-y:auto;flex:1}.modal{position:fixed;z-index:61;left:50%;top:50%;transform:translate(-50%,-50%);width:min(var(--w, 720px),calc(100vw - 24px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line2);border-radius:16px;box-shadow:0 30px 80px -20px #000000b3;animation:fade .15s}.modal-h{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.modal-h h3{margin:0;font-size:15px}.modal-b{padding:16px 18px;overflow-y:auto}.modal-f{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.spec{display:grid;grid-template-columns:1fr auto;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.spec>div{padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}.spec>div:nth-child(odd){color:var(--mute)}.spec>div:nth-child(2n){text-align:right;font-family:JetBrains Mono,monospace;font-weight:600}.spec>div:nth-last-child(-n+2){border-bottom:0}.sec-t{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--mute);font-weight:700;margin:18px 0 8px;display:flex;align-items:center;gap:6px}.sec-t:first-child{margin-top:0}.timeline{display:flex;flex-direction:column;gap:8px}.tl-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);font-size:13px}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:230px;background:var(--bg2);border:1px solid var(--line2);border-radius:12px;padding:6px;box-shadow:0 20px 50px -15px #0009}.menu button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;background:none;border-radius:8px;cursor:pointer;text-align:left;font-size:13px;color:var(--ink)}.menu button:hover{background:var(--raise)}.menu button svg{color:var(--accent)}.menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.menu .grp{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--mute);padding:6px 10px 2px;font-weight:700}.toasts{position:fixed;z-index:90;bottom:18px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;max-width:calc(100vw - 24px)}.toast{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--surface2);border:1px solid var(--line2);box-shadow:0 16px 40px -12px #0009;font-size:13px;animation:slideup .2s}.toast.ok svg{color:var(--ok)}.toast.bad svg{color:var(--bad)}.toast.bad{border-color:color-mix(in srgb,var(--bad) 50%,transparent)}@keyframes slideup{0%{transform:translateY(10px);opacity:0}}.login{min-height:100vh;display:grid;place-items:center;padding:20px 16px}.login-card{width:min(400px,100%);padding:28px}.login-card h1{font-size:20px;margin:18px 0 4px}.loading{min-height:60vh;display:grid;place-items:center;color:var(--mute);gap:10px}.spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--raise);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.demo-flag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--warn-soft);color:var(--warn)}@media (max-width: 760px){.topbar-in{padding:8px 12px;gap:8px}.tabsbar{padding:0 8px}.tab{padding:9px 10px 10px;font-size:13px;flex:1;justify-content:center;gap:6px}.tab .tl-long,.tab .ix{display:none}.tab .tl-short{display:inline}main.page{padding:14px 12px 50px}.card{padding:13px;border-radius:12px}.kpi .v{font-size:23px}.g-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-s .dt,.userchip .nm,.userchip .rl-wrap{display:none}.userchip{padding:3px}.btn .lbl-m{display:none}.page-h h1{font-size:17px}.page-h .tools{margin-left:0;width:100%}}@media (max-width: 400px){.brand-t{font-size:13.5px}}@media print{.topbar,.tabsbar,.toasts{display:none!important}body{background:#fff}}
