:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-2:#f3f2ee;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--accent:#2a78d6;--accent-wash:#2a78d61a;--up:#d03b3b;--down:#006300;--good:#0ca30c;--warning:#b87a00;--band:#0ca30c1f;--s-00631L:#2a78d6;--s-00981A:#eb6834;--s-00662:#1baf7a;--s-0050:#eda100;--s-bench:#eda100;--s-other:#898781;--radius:12px;--font:system-ui, -apple-system, "PingFang TC", "Noto Sans TC", "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--accent-wash:#3987e524;--up:#ef6b6b;--down:#2fbf4a;--good:#0ca30c;--warning:#fab219;--band:#0ca30c2e;--s-00631L:#3987e5;--s-00981A:#d95926;--s-00662:#199e70;--s-0050:#c98500;--s-bench:#c98500}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--accent-wash:#3987e524;--up:#ef6b6b;--down:#2fbf4a;--good:#0ca30c;--warning:#fab219;--band:#0ca30c2e;--s-00631L:#3987e5;--s-00981A:#d95926;--s-00662:#199e70;--s-0050:#c98500;--s-bench:#c98500}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button,input,select{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--ink-2)}.muted{color:var(--muted)}.ink2{color:var(--ink-2)}.wrap{max-width:1180px;margin:0 auto;padding:20px 16px 64px}.top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.top h1{letter-spacing:.01em;margin:0;font-size:18px;font-weight:650}.top .meta{color:var(--muted);font-size:12px}.top .spacer{flex:1}.pill{background:var(--surface-2);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;display:inline-flex}.pill .dot{background:var(--muted);border-radius:50%;width:7px;height:7px}.pill.live .dot{background:var(--good);box-shadow:0 0 0 3px #0ca30c2e}.btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.small{padding:3px 8px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.btn.danger{color:var(--up)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:18px}.card h2{margin:0;font-size:14px;font-weight:600}.card .sub{color:var(--muted);margin-top:2px;font-size:12px}.card-head{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-head .spacer{flex:1}.grid{gap:14px;display:grid}.g-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,2fr)}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}@media (width<=900px){.g-hero,.g-2,.g-main{grid-template-columns:minmax(0,1fr)}}.hero .label{color:var(--ink-2);font-size:13px}.hero .value{letter-spacing:-.01em;margin:4px 0 8px;font-size:44px;font-weight:650;line-height:1.15}.hero .deltas{flex-wrap:wrap;gap:6px 18px;font-size:14px;display:flex}.hero .deltas span b{font-weight:600}.hero .foot{color:var(--muted);margin-top:14px;font-size:12px}@media (width<=520px){.hero .value{font-size:36px}}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=680px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:14px 16px}.tile .label{color:var(--ink-2);font-size:12px}.tile .value{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:22px;font-weight:600;overflow:hidden}.tile .delta{color:var(--muted);margin-top:2px;font-size:12px}.seg{background:var(--surface-2);border-radius:8px;padding:2px;display:inline-flex}.seg button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 10px;font-size:12px}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--border);font-weight:600}.legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.legend .key{align-items:center;gap:6px;display:inline-flex}.legend .sw{background:var(--muted);border-radius:2px;width:14px;height:3px}.legend .sw.box{border-radius:3px;width:10px;height:10px}.chart{width:100%;position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart .gridline{stroke:var(--grid);stroke-width:1px}.chart .baseline{stroke:var(--axis);stroke-width:1px}.chart .endlabel{fill:var(--ink-2);font-variant-numeric:tabular-nums;font-size:11px}.tooltip{pointer-events:none;z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:170px;padding:8px 10px;font-size:12px;position:absolute;box-shadow:0 6px 20px #0000001f}.tooltip .t-date{color:var(--muted);margin-bottom:4px}.tooltip .row{justify-content:space-between;align-items:center;gap:8px;display:flex}.tooltip .row .k{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.tooltip .row .v{font-variant-numeric:tabular-nums;font-weight:600}.tooltip .sw{border-radius:2px;width:10px;height:3px}.alloc-row{grid-template-columns:112px minmax(0,1fr) 118px;align-items:center;gap:12px;padding:8px 0;display:grid}.alloc-row+.alloc-row{border-top:1px solid var(--grid)}.alloc-row .name{flex-direction:column;min-width:0;display:flex}.alloc-row .name b{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.alloc-row .name span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.alloc-row .figs{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.alloc-row .figs b{font-size:14px;font-weight:600}.track{height:14px;position:relative}.track .bar{border-radius:0 4px 4px 0;height:10px;position:absolute;top:2px;left:0}.track .tgt{background:var(--ink);border-radius:1px;width:2px;height:20px;position:absolute;top:-3px}.track .axis0{background:var(--axis);width:1px;position:absolute;top:-2px;bottom:-2px;left:0}.dotkey{border-radius:50%;width:8px;height:8px;display:inline-block}.meter{border-top:1px solid var(--grid);margin-top:18px;padding-top:14px}.meter .mhead{align-items:baseline;gap:10px;display:flex}.meter .mhead b{font-size:20px;font-weight:600}.meter .mtrack{background:var(--surface-2);border-radius:5px;height:10px;margin:12px 0 6px;position:relative}.meter .mband{background:var(--band);border-left:1px solid var(--good);border-right:1px solid var(--good);position:absolute;top:0;bottom:0}.meter .mmark{background:var(--ink);width:4px;height:20px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;top:-5px;transform:translate(-2px)}.meter .mticks{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:11px;display:flex}.status{align-items:center;gap:5px;font-size:12px;display:inline-flex}.status.good{color:var(--good)}.status.warn{color:var(--warning)}.table-wrap{margin:0 -18px;padding:0 18px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:right;color:var(--muted);border-bottom:1px solid var(--grid);white-space:nowrap;padding:6px 10px;font-size:12px;font-weight:500}td{text-align:right;border-bottom:1px solid var(--grid);white-space:nowrap;font-variant-numeric:tabular-nums;padding:9px 10px}th:first-child,td:first-child{text-align:left;padding-left:0}th:last-child,td:last-child{padding-right:0}tr:last-child td{border-bottom:0}tfoot td{border-top:1px solid var(--axis);font-weight:600}td .tk{align-items:center;gap:6px;font-weight:600;display:inline-flex}td .nm{color:var(--muted);font-size:11px;display:block}.tag{background:var(--surface-2);color:var(--ink-2);border-radius:4px;margin-left:4px;padding:1px 6px;font-size:10px}.form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:14px;display:flex}.field{flex-direction:column;gap:3px;display:flex}.field label{color:var(--muted);font-size:11px}.field input,.field select{border:1px solid var(--border);background:var(--page);border-radius:7px;min-width:0;padding:6px 8px}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px}.field.w-date input{width:138px}.field.w-num input{width:110px}.field.w-sm input,.field.w-sm select{width:90px}.field.grow{flex:1;min-width:140px}.field.grow input{width:100%}.err{color:var(--up);margin-top:6px;font-size:12px}.hint{color:var(--muted);font-size:12px}.tabs{border-bottom:1px solid var(--grid);gap:2px;margin-bottom:14px;display:flex}.tabs button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{width:100%;max-width:360px;padding:26px}.login h1{margin:0 0 4px;font-size:18px}.login .field{margin-top:12px}.login .field input{width:100%;padding:9px 10px}.login .btn{width:100%;margin-top:16px;padding:9px}.section-title{color:var(--muted);text-transform:none;letter-spacing:.02em;margin:26px 0 10px;font-size:12px}.stack>*+*{margin-top:14px}.note{color:var(--muted);margin-top:10px;font-size:12px}.empty{color:var(--muted);text-align:center;padding:24px 0}.warnc{color:var(--warning)}.alloc-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.alloc-grid .meter{border-top:0;margin-top:0;padding-top:8px}@media (width<=900px){.alloc-grid{grid-template-columns:minmax(0,1fr);gap:0}.alloc-grid .meter{border-top:1px solid var(--grid);margin-top:18px;padding-top:14px}}tr.pos-head td{border-bottom:0}tr.lots-row>td{text-align:left;white-space:normal;padding:0 0 14px}.lots{background:var(--surface-2);border-radius:10px;padding:8px 12px}.lots table{font-size:12px}.lots th{padding:4px 6px;font-size:11px}.lots td{padding:4px 6px}.lots tr.dirty td{background:var(--accent-wash)}.lots tr.new td{border-top:1px dashed var(--axis)}.cell{border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;text-align:right;border-radius:6px;padding:3px 6px;font-size:12px}.cell:focus{outline:2px solid var(--accent);outline-offset:-1px}select.cell{text-align:left}.cell.w-date{text-align:left;width:128px}.cell.w-num{width:72px}.cell.w-amt{width:90px}.cell.w-note{text-align:left;width:100%;min-width:120px}
