@font-face{font-family:Archivo;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/archivo-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/archivo-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Archivo;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/archivo-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Narrow;font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/archivo-narrow-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/archivo-narrow-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Archivo Narrow;font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/archivo-narrow-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/big-shoulders-display-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/big-shoulders-display-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Big Shoulders Display;font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/big-shoulders-display-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gold-100:#f0de9d;--gold-300:#e7ce7d;--gold-500:#d5a828;--gold-700:#cc9a0a;--gold-900:#6e5312;--bg:#0d0d0d;--bg-raised:#141414;--surface:#1c1c1c;--surface-raised:#242424;--surface-active:#2c2c2c;--border:#303030;--text:#ece9e1;--text-strong:#fff;--text-muted:#a5a29a;--text-faint:#6f6f6f;--accent:var(--gold-300);--profit:#5bc493;--loss:#e4695f;--info:#86add9;--warn:#d9a85c;--chip-gold-bg:#d5a82824;--chip-info-bg:#4a7fc129;--chip-warn-bg:#c98a1b24;--shadow-card:0 1px 0 #ffffff0a inset, 0 10px 26px #00000052;--shadow-cta:0 2px 8px #d5a82840;--on-gold:#16150f;--on-fill:#0d0d0d;--scrim:#00000073;--shadow-drawer:-12px 0 32px #00000059;--thumb-empty-fg:var(--text-faint);--font-display:"Big Shoulders Display", "Arial Narrow", sans-serif;--font-ui:"Archivo", system-ui, sans-serif;--font-label:"Archivo Narrow", "Archivo", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-card:12px;--radius-control:7px;--radius-pill:20px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,:root[data-theme=light]{--accent-strong:var(--gold-500)}:root[data-theme=light]{--bg:#fbfaf7;--bg-raised:#fff;--surface:#fff;--surface-raised:#f4f1ea;--surface-active:#efece3;--border:#e4dfd3;--text:#0d0d0d;--text-strong:#0d0d0d;--text-muted:#6f6c63;--text-faint:#8b887e;--accent:var(--gold-900);--profit:#1e6b48;--loss:#b23730;--info:#2e5a94;--warn:#8a5e12;--chip-gold-bg:#f9efd4;--chip-info-bg:#e7eef8;--chip-warn-bg:#f7ecd8;--shadow-card:0 1px 3px #16150f0a, 0 10px 26px #16150f0d;--shadow-cta:0 2px 8px #16150f2e;--on-fill:#fff;--scrim:#16150f4d;--shadow-drawer:-12px 0 32px #16150f24;--thumb-empty-fg:var(--text-muted);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body,html{background:var(--bg);color:var(--text);font-family:var(--font-ui);margin:0;font-size:14px}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px 24px}.overline{margin-bottom:8px}.mono{font-family:var(--font-mono);letter-spacing:2px;color:var(--accent);font-size:11px}.muted{color:var(--text-muted)}.btn{border-radius:var(--radius-control);font-family:var(--font-ui);cursor:pointer;border:none;padding:9px 16px;font-size:13px;font-weight:600}.btn-gold{background:var(--gold-500);color:var(--on-gold);box-shadow:var(--shadow-cta)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn:disabled{opacity:.45;cursor:default}.field{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);font-size:13px;font-family:var(--font-ui);padding:9px 13px}.chip{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;padding:2px 9px;font-size:10px;display:inline-block}.chip-gold{background:var(--chip-gold-bg);color:var(--accent)}.chip-info{background:var(--chip-info-bg);color:var(--info)}.chip-warn{background:var(--chip-warn-bg);color:var(--warn)}.chip-neutral{background:var(--surface-active);color:var(--text-muted)}.chip-ink{background:var(--text-strong);color:var(--bg)}@media (width<=720px){.stage{gap:12px!important;padding:12px!important}.card{overflow-x:auto;max-width:none!important;padding:14px!important}.card table{min-width:640px}.btn{min-height:40px}.field,select.field{min-height:40px!important;font-size:16px!important}}.page-title{font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-strong);margin:0;font-size:30px;font-weight:700;line-height:1}.page-sub{max-width:68ch;margin:6px 0 0;font-size:13.5px;line-height:1.5}.label,.page-sub{color:var(--text-muted)}.label{font-family:var(--font-label);letter-spacing:1.2px;text-transform:uppercase;font-size:11px;font-weight:600}.label.gold{color:var(--accent)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.h2{font-family:var(--font-display);letter-spacing:1.2px;text-transform:uppercase;margin:0;font-size:18px}.h2,.strong{color:var(--text-strong);font-weight:600}.faint{color:var(--text-faint)}.small{font-size:12px}.gain{color:var(--profit)}.lose{color:var(--loss)}.stage{flex-direction:column;gap:14px;padding:20px 24px 48px;display:flex}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;padding:6px 0 4px;display:flex}.page-head .grow{flex:320px;min-width:0}.page-head .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-head{align-items:center;gap:10px;min-height:30px;margin-bottom:12px;display:flex}.section-head .h2{flex:1}.section-head .meta{color:var(--text-muted);font-size:12px}.btn{white-space:nowrap;justify-content:center;align-items:center;gap:6px;line-height:1.2;display:inline-flex}a.btn{text-decoration:none}.btn-xs{min-height:0;padding:5px 10px;font-size:12px;font-weight:500}.btn-danger{color:var(--loss);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--text-faint);color:var(--text-strong)}.btn-gold:hover:not(:disabled){background:var(--gold-300)}.row-actions{opacity:0;gap:6px;transition:opacity .12s;display:inline-flex}.row.selected .row-actions,.row:focus-within .row-actions,.row:hover .row-actions,tr:focus-within .row-actions,tr:hover .row-actions{opacity:1}@media (hover:none){.row-actions{opacity:1}}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-family:var(--font-label);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding:6px 10px;font-size:11px;font-weight:600}.table td,.table th{border-bottom:1px solid var(--border)}.table td{vertical-align:middle;padding:9px 10px}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-raised)}.table tbody tr.selected td{background:var(--surface-active)}.table td.r,.table th.r{text-align:right}.table td.num,.table th.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.table .cell-title{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;max-width:42ch;font-weight:600;overflow:hidden}.table-wrap{overflow-x:auto}.thumb{-o-object-fit:cover;object-fit:cover;background:var(--surface-active);border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:44px;height:44px}.thumb.lg{border-radius:8px;width:72px;height:72px}.thumb.xl{border-radius:10px;width:120px;height:120px}.thumb-empty{color:var(--thumb-empty-fg);letter-spacing:1px;justify-content:center;align-items:center;font-size:10px}.seg,.thumb-empty{display:inline-flex}.seg{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px}.seg button{color:var(--text-muted);font:600 13px var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.seg button.on{background:var(--surface-active);color:var(--text-strong)}.seg .count{font-family:var(--font-mono);color:var(--text-faint);font-size:11px}.seg button.on .count{color:var(--accent)}.empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.empty .title{color:var(--text-strong);font-weight:600}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.stat{background:var(--bg);border:1px solid var(--border);border-radius:10px;min-width:0;padding:12px 14px}.stat .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-strong);font-size:20px;line-height:1.1}.stat .l{margin-top:4px}.stat.hot{border-color:var(--gold-700);background:var(--chip-gold-bg)}.drawer-scrim{background:var(--scrim);z-index:40;position:fixed;inset:0}.drawer{background:var(--bg-raised);border-left:1px solid var(--border);z-index:41;width:min(520px,100vw);box-shadow:var(--shadow-drawer);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.drawer-head .h2{flex:1;font-size:16px}.drawer-body{flex-direction:column;flex:1;gap:14px;padding:18px 20px;display:flex;overflow-y:auto}.drawer-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.help-btn{border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);font:600 12px var(--font-ui);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.help-btn:hover{color:var(--text-strong);border-color:var(--text-faint)}.help-pop{z-index:30;background:var(--bg-raised);border:1px solid var(--border);width:min(380px,90vw);color:var(--text);box-shadow:var(--shadow-card);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.55;position:absolute;top:calc(100% + 8px);left:0}.status-line{color:var(--text-muted);margin:8px 0 0;font-size:12px}.status-line.err{color:var(--loss)}.status-line.ok{color:var(--profit)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px;display:grid}.form-grid .wide{grid-column:1/-1}.field-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.field-wrap .field{width:100%}.dial{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.dial .field{text-align:right;width:72px;padding:6px 8px}.toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.toggle input{accent-color:var(--gold-500);width:16px;height:16px}@media (width<=720px){.page-title{font-size:24px}.page-head{align-items:flex-start}.page-head .actions{width:100%}.drawer{border-left:none;width:100vw}.seg{max-width:100%;overflow-x:auto}.stats{grid-template-columns:repeat(2,1fr)}}.shell[data-v-954dad08]{flex-direction:column;min-height:100vh;display:flex}.topbar[data-v-954dad08]{border-bottom:1px solid var(--border);background:var(--bg-raised);gap:28px;padding:0 24px}.brand[data-v-954dad08],.topbar[data-v-954dad08]{align-items:center;height:56px;display:flex}.brand[data-v-954dad08]{gap:10px;padding:0 4px;text-decoration:none}.mark[data-v-954dad08]{width:30px;height:30px;display:block}.wordmark[data-v-954dad08]{font-family:var(--font-display);letter-spacing:3px;color:var(--text-strong);font-size:18px;font-weight:700;line-height:1}.dock[data-v-954dad08]{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;font-size:13px}.dock[data-v-954dad08],.dock-item[data-v-954dad08]{align-items:center;display:flex}.dock-item[data-v-954dad08]{color:var(--text-muted);border-radius:8px;gap:7px;padding:7px 12px;text-decoration:none}.dock-item.active[data-v-954dad08]{background:var(--surface-active);color:var(--text-strong);box-shadow:inset 0 -2px 0 var(--gold-500);font-weight:600}.dock-item[data-v-954dad08]:hover:not(.active){color:var(--text)}.badge[data-v-954dad08]{background:var(--warn);min-width:18px;height:18px;color:var(--on-fill);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.badge.critical[data-v-954dad08]{background:var(--loss)}@media (width<=720px){.topbar[data-v-954dad08]{flex-wrap:wrap;gap:8px 10px;height:auto;padding:8px 12px 10px}.brand[data-v-954dad08]{height:40px}.dock[data-v-954dad08]{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;order:3;width:100%;overflow-x:auto}.dock[data-v-954dad08]::-webkit-scrollbar{display:none}.dock-item[data-v-954dad08]{flex:none;padding:9px 12px}.status[data-v-954dad08]{margin-left:auto}}.dot[data-v-954dad08]{background:var(--gold-500);border-radius:3px;width:5px;height:5px}.status[data-v-954dad08]{align-items:center;gap:6px;margin-left:auto;display:flex}.chip-halt[data-v-954dad08]{background:var(--loss);color:var(--on-fill)}.theme-btn[data-v-954dad08]{border:1px solid var(--border);border-radius:var(--radius-control);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-btn[data-v-954dad08]:hover{color:var(--text-strong);border-color:var(--text-faint)}.theme-btn .moon[data-v-954dad08],:root[data-theme=light] .theme-btn .sun[data-v-954dad08]{display:none}:root[data-theme=light] .theme-btn .moon[data-v-954dad08]{display:block}.login-card[data-v-954dad08]{max-width:560px}.lockup[data-v-954dad08]{width:240px;height:auto;margin:4px 0 18px;display:block}.lockup.on-light[data-v-954dad08],:root[data-theme=light] .lockup.on-dark[data-v-954dad08]{display:none}:root[data-theme=light] .lockup.on-light[data-v-954dad08]{display:block}.login-card p[data-v-954dad08]{margin:0;line-height:1.6}.login-form[data-v-954dad08]{gap:10px;margin-top:12px;display:flex}.login-input[data-v-954dad08]{flex-grow:1;font-size:13px}.passkey-line[data-v-954dad08]{align-items:center;gap:10px;margin-top:12px;display:flex}.passkey-note[data-v-954dad08]{font-size:11px}.code-details[data-v-954dad08]{margin-top:16px}.code-details summary[data-v-954dad08]{cursor:pointer;font-size:13px}.code-details p[data-v-954dad08]{margin-top:8px;font-size:13px}.login-error[data-v-954dad08]{color:var(--loss);margin-top:10px;font-size:12px}main[data-v-954dad08]{flex-grow:1}.stage[data-v-954dad08]{flex-direction:column;gap:16px;padding:24px;display:flex}@media (display-mode:standalone){.topbar[data-v-954dad08]{padding-top:env(safe-area-inset-top,0);height:auto}}@media print{.topbar[data-v-954dad08]{display:none!important}}
