.topbar[data-v-51a13b90]{display:flex;align-items:center;gap:var(--s4);height:var(--topbar-h);padding:0 var(--s4);background:var(--nav-bg);border-bottom:1px solid var(--nav-border);box-shadow:var(--nav-shadow);width:max-content;min-width:100%;box-sizing:border-box}.brand[data-v-51a13b90]{font-weight:600;letter-spacing:.2px;color:var(--nav-text)}nav[data-v-51a13b90]{display:flex;gap:var(--s1)}nav a[data-v-51a13b90]{padding:var(--s1) var(--s3);border-radius:999px;color:var(--nav-muted);text-decoration:none}nav a[data-v-51a13b90]:hover{background:var(--nav-hover);color:var(--nav-text)}.topbar a.help[data-v-51a13b90]{padding:var(--s1) var(--s3);border-radius:999px;color:var(--nav-muted);text-decoration:none}.topbar a.help[data-v-51a13b90]:hover{background:var(--nav-hover);color:var(--nav-text)}.topbar a.help.on[data-v-51a13b90]{background:var(--nav-active);color:var(--nav-text)}nav a.on[data-v-51a13b90]{background:var(--accent);color:var(--nav-text);font-weight:600}.spacer[data-v-51a13b90]{flex:1}.content[data-v-51a13b90]{display:flex;flex-direction:column;align-items:stretch;gap:var(--s3);padding:var(--s4);padding-bottom:calc(var(--s4) + var(--scrollbar-h));max-width:1600px;width:100%}.topbar .muted[data-v-51a13b90]{color:var(--nav-muted)}.who[data-v-51a13b90]{display:flex;align-items:baseline;gap:var(--s1);min-width:0;white-space:nowrap}.who .name[data-v-51a13b90]{flex:none}.who .ident[data-v-51a13b90]{overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-xs);opacity:.75}.topbar button[data-v-51a13b90]{background:var(--nav-hover);border-color:var(--nav-active);color:var(--nav-text)}.topbar button[data-v-51a13b90]:hover{background:var(--nav-active);border-color:var(--nav-muted);color:var(--nav-text)}.pagenav[data-v-6a4f6a59]{width:max-content;flex-wrap:nowrap}.msg[data-v-c9a42bec]{margin:0}.details[data-v-c9a42bec]{margin:0;padding-left:var(--s4);color:var(--muted);font-size:var(--fs-sm)}.details li+li[data-v-c9a42bec]{margin-top:var(--s0)}.typeit[data-v-c9a42bec]{display:flex;flex-direction:column;gap:var(--s1);font-size:var(--fs-sm)}.photos[data-v-ae886193]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s2)}.photos figure[data-v-ae886193]{margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-2)}.photos img[data-v-ae886193]{display:block;width:100%;height:110px;object-fit:cover;cursor:zoom-in}.photos .nofile[data-v-ae886193]{display:flex;align-items:center;justify-content:center;height:110px;font-size:var(--fs-xs);text-align:center}.photos figcaption[data-v-ae886193]{display:flex;align-items:center;gap:var(--s1);padding:var(--s1) var(--s2);font-size:var(--fs-2xs);background:var(--panel)}.photos figcaption>span[data-v-ae886193]:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who[data-v-ae886193]{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);max-height:96px;overflow:auto;padding:var(--s1) var(--s2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.whoitem[data-v-ae886193]{display:inline-flex;align-items:center;gap:var(--s1);white-space:nowrap}.bigphoto[data-v-ae886193]{max-width:92vw;max-height:92vh;border-radius:var(--radius-sm);cursor:zoom-out}.drawer>header[data-v-ae886193]{margin-bottom:var(--s3)}h4[data-v-ae886193]{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s2)}.info[data-v-ae886193]{display:grid;grid-template-columns:80px 1fr;gap:var(--s1) var(--s3);margin:0 0 var(--s4)}.info dt[data-v-ae886193]{color:var(--muted)}.info dd[data-v-ae886193]{margin:0}.field-grid[data-v-ae886193]{grid-template-columns:90px minmax(0,1fr)}.events[data-v-ae886193]{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.events li[data-v-ae886193]{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;padding:var(--s1) 0;border-bottom:1px solid var(--border)}.events li button[data-v-ae886193]{margin-left:auto}table.board[data-v-a123cd60] :is(th,td){padding:var(--s0) var(--s2);border-bottom:1px solid var(--border)}.col-loc[data-v-a123cd60]{width:160px}.col-floor[data-v-a123cd60]{width:64px}.col-code[data-v-a123cd60]{width:120px}.col-cell[data-v-a123cd60]{width:142px;text-align:center}.stick[data-v-a123cd60]{position:sticky;left:0;z-index:2;background:var(--panel)}thead .stick[data-v-a123cd60]{z-index:5;background:var(--panel)}tbody>tr:hover>.stick[data-v-a123cd60]{background:var(--row-hover)}.cellbox[data-v-a123cd60]{border-radius:var(--radius-sm);padding:var(--s0)}.cellrow[data-v-a123cd60]{display:flex;align-items:center;gap:var(--s0)}.qty[data-v-a123cd60]{flex:1;font-weight:600;font-variant-numeric:tabular-nums;text-align:left;padding-left:var(--s0);white-space:nowrap}.qtylabel[data-v-a123cd60]{margin-right:var(--s0);font-size:var(--fs-xs);font-weight:400;opacity:.7}.cellbox select[data-v-a123cd60]{width:100%;height:var(--control-h-xs);padding:0 var(--s0);font-size:var(--fs-xs);background:transparent;border-color:transparent;color:inherit;font-weight:600}.cellbox select[data-v-a123cd60]:hover{border-color:var(--border-strong);background:var(--panel)}.dispatch.on[data-v-a123cd60]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.kpis[data-v-15168a0e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s3)}.kpi[data-v-15168a0e]{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3) var(--s4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi .label[data-v-15168a0e]{font-size:var(--fs-xs);color:var(--muted)}.kpi .big[data-v-15168a0e]{font-size:var(--fs-xl);font-weight:600;font-variant-numeric:tabular-nums}.kpi .big small[data-v-15168a0e]{font-size:var(--fs-base);font-weight:400;color:var(--muted)}.kpi.accent .big[data-v-15168a0e]{color:var(--accent)}.kpi.good .big[data-v-15168a0e]{color:var(--success)}.kpi.warn .big[data-v-15168a0e]{color:var(--warn)}th.sortable[data-v-15168a0e]{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable[data-v-15168a0e]:hover{color:var(--accent)}td.num[data-v-15168a0e],th.num[data-v-15168a0e]{text-align:right;font-variant-numeric:tabular-nums}.col-spent[data-v-15168a0e]{color:var(--danger);background:var(--danger-soft)}.col-invoice[data-v-15168a0e]{color:var(--success);background:var(--success-soft)}.col-profit[data-v-15168a0e]{color:var(--accent);background:var(--accent-soft)}td.col-spent[data-v-15168a0e],td.col-invoice[data-v-15168a0e],td.col-profit[data-v-15168a0e]{font-weight:600}.neg[data-v-15168a0e]{color:var(--danger)!important}.name[data-v-15168a0e]{font-weight:600}.meta[data-v-15168a0e]{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s0);font-size:var(--fs-xs)}.rate[data-v-15168a0e]{color:var(--muted)}.rate.full[data-v-15168a0e]{color:var(--success);font-weight:600}td input[type=number][data-v-15168a0e]{width:110px}table.board[data-v-643d1a50]{font-size:var(--fs-base)}table.board[data-v-643d1a50] :is(th,td:not([colspan])){padding:var(--s0) var(--s2);border-bottom:1px solid var(--border)}table.board th[data-v-643d1a50]{font-size:var(--fs-sm);text-align:center}.col-name[data-v-643d1a50]{width:220px;text-align:left}.col-level[data-v-643d1a50]{width:62px;text-align:center}th.col-level[data-v-643d1a50]{white-space:normal;line-height:1.2}.col-drafter[data-v-643d1a50]{width:100px;color:var(--muted)}.pill.level[data-v-643d1a50]{padding:0 4px;font-size:var(--fs-xs);border-color:var(--border-strong);color:var(--text)}.col-rate[data-v-643d1a50]{width:62px}.col-cell[data-v-643d1a50]{width:74px}td.col-name[data-v-643d1a50]{cursor:pointer;font-weight:500}.dlink[data-v-643d1a50]{display:inline-block;width:14px;text-align:center;color:var(--accent);text-decoration:none;font-weight:600}.dlink[data-v-643d1a50]:hover{text-decoration:underline}.stick[data-v-643d1a50]{position:sticky;left:0;z-index:2;background:var(--panel)}tr.ghead>.stick[data-v-643d1a50]{background:var(--group-bg)}tbody>tr.ghead:hover>.stick[data-v-643d1a50]{background:var(--group-bg-hover)}tbody>tr:hover>.stick[data-v-643d1a50]{background:var(--row-hover)}thead .stick[data-v-643d1a50]{z-index:5;background:var(--panel)}td.num[data-v-643d1a50],th.num[data-v-643d1a50]{text-align:right;font-variant-numeric:tabular-nums}td.cell[data-v-643d1a50]{padding:1px var(--s0)}.cellbtn[data-v-643d1a50]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;height:var(--control-h);padding:0;border-color:transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);line-height:1.1}.cellbtn .ch[data-v-643d1a50]{font-size:var(--fs-sm);font-weight:600}.cellbtn small[data-v-643d1a50]{font-size:var(--fs-2xs);opacity:.75}.cellbtn[data-v-643d1a50]:hover:not(:disabled){border-color:var(--accent)}.cellbtn.active[data-v-643d1a50]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cellbtn.blocked[data-v-643d1a50]{box-shadow:inset 0 -3px 0 var(--danger)}tr.is-open>td[data-v-643d1a50]{background:var(--row-active)}@media(max-width:1200px){.col-drafter[data-v-643d1a50]{display:none}}@media(max-width:1000px){.col-level[data-v-643d1a50]{display:none}.col-cell[data-v-643d1a50]{width:52px}.col-name[data-v-643d1a50]{width:150px}.cellbtn small[data-v-643d1a50]{display:none}.cellbtn[data-v-643d1a50]{height:var(--control-h)}table.board th[data-v-643d1a50]{font-size:var(--fs-xs)}}.drawer[data-v-643d1a50]{width:620px;display:flex;flex-direction:column;gap:var(--s2)}.sum .bar[data-v-643d1a50]{flex:1;min-width:80px}table.items[data-v-643d1a50]{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel)}table.items th[data-v-643d1a50]{position:static}table.items td[data-v-643d1a50]{padding:var(--s1) var(--s2)}table.items[data-v-643d1a50] :is(input,select){width:100%}@media(max-width:760px){.drawer[data-v-643d1a50]{width:100%}table.items[data-v-643d1a50] :is(th,td){padding:var(--s1)}table.items th[data-v-643d1a50]:nth-child(3),table.items td[data-v-643d1a50]:nth-child(3){width:110px}}table.items tr.dirty>td[data-v-643d1a50]{background:var(--warn-soft)}table.items tr.focus>td[data-v-643d1a50]{box-shadow:inset 0 0 0 1px var(--accent)}.meta[data-v-643d1a50]{padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.bar-row[data-v-643d1a50]{display:grid;grid-template-columns:110px 1fr 90px;gap:var(--s3);align-items:center}.bar-row.excluded[data-v-643d1a50]{color:var(--muted)}.bar-row.excluded .bar i[data-v-643d1a50]{background:var(--border-strong)}.grid2[data-v-643d1a50]{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--s3);--table-h: none}.grid2>.card[data-v-643d1a50]{min-width:0}.breakdown[data-v-643d1a50]{margin-top:var(--s4)}.seg[data-v-643d1a50]{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--panel-2)}.seg i[data-v-643d1a50]{display:block;height:100%}.legend[data-v-643d1a50]{margin-top:var(--s2);font-size:var(--fs-xs)}.legend i[data-v-643d1a50]{display:inline-block;width:10px;height:10px;border-radius:var(--s0);margin-right:var(--s1);vertical-align:-1px}.s-done[data-v-643d1a50]{background:var(--success)}.s-open[data-v-643d1a50]{background:var(--accent)}.s-unrated[data-v-643d1a50]{background:var(--border-strong)}.s-na[data-v-643d1a50],.s-excl[data-v-643d1a50]{background:var(--border)}.chain[data-v-5cccdaa8]{margin:0;font-size:var(--fs-md);font-weight:600;letter-spacing:1px}.notes[data-v-5cccdaa8]{margin:0;padding-left:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.notes li[data-v-5cccdaa8]{line-height:1.7}code[data-v-5cccdaa8]{padding:1px var(--s1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm)}.wrap[data-v-b4c90712]{min-height:100vh;display:grid;place-items:center}.panel[data-v-b4c90712]{width:320px;display:flex;flex-direction:column;gap:var(--s3)}h2[data-v-b4c90712]{margin:0 0 var(--s1);font-size:var(--fs-lg)}label[data-v-b4c90712]{display:flex;flex-direction:column;gap:var(--s1);font-size:var(--fs-sm);color:var(--muted)}input[type=text][data-v-4dd28c16],input[type=number][data-v-4dd28c16],select[data-v-4dd28c16]{width:100%;min-width:60px}tr.dirty>td[data-v-4dd28c16]{background:var(--warn-soft);box-shadow:inset 3px 0 0 var(--warn)}tr.is-open>td[data-v-4dd28c16]{background:var(--row-active);border-bottom-color:var(--accent)}tr.is-open:hover>td[data-v-4dd28c16]{background:var(--row-active)}tr.is-open>td[data-v-4dd28c16]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.colorcell[data-v-4dd28c16]{display:flex;align-items:center;gap:var(--s1)}.colorcell input[type=color][data-v-4dd28c16]{width:34px;padding:var(--s0);flex:none;cursor:pointer}.colorcell .muted[data-v-4dd28c16]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs)}.short[data-v-3d22d5c9]{max-height:40vh}.wrap[data-v-3d22d5c9]{white-space:normal;word-break:break-word}.inner[data-v-4e9eef76]{width:100%}.acct[data-v-4e9eef76]{display:block;font-size:11px}.short[data-v-4e9eef76]{max-height:40vh}.gone[data-v-4e9eef76]{background:var(--danger-soft-2)}.wrap[data-v-4e9eef76]{white-space:normal;word-break:break-word}[data-v-bc694736] tr.low>td{background:var(--danger-soft)}.tabs button[data-v-a9d32ab1]{min-width:92px}.phase-cell[data-v-a9d32ab1]{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s1)}.phase-cell button[data-v-a9d32ab1]{margin-left:var(--s2)}.phase-opt[data-v-a9d32ab1]{display:flex;align-items:center;gap:var(--s2);cursor:pointer}.metrics[data-v-f94b823d]{align-items:flex-end;gap:var(--s5)}.metric[data-v-f94b823d]{display:flex;flex-direction:column}.calc[data-v-f94b823d]{font-variant-numeric:tabular-nums}.rate[data-v-f94b823d]{margin-left:var(--s2);font-size:var(--fs-base);color:var(--muted)}.gpct[data-v-f94b823d]{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.bar[data-v-f94b823d]{width:120px}.two-col[data-v-f94b823d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s5)}.list li[data-v-f94b823d]{display:flex;align-items:center;gap:var(--s2);padding:var(--s1) 0;border-bottom:1px solid var(--border)}.done[data-v-f94b823d]{text-decoration:line-through;color:var(--muted)}td.num[data-v-f94b823d],th.num[data-v-f94b823d]{text-align:right;font-variant-numeric:tabular-nums}.big.warn[data-v-f0abea75]{color:var(--danger)}.phases[data-v-f0abea75]{display:flex;flex-direction:column;gap:var(--s1);flex:1}.phase[data-v-f0abea75]{display:grid;grid-template-columns:48px 1fr 70px;gap:var(--s2);align-items:center;font-size:var(--fs-xs)}.states[data-v-f0abea75]{margin-top:var(--s3)}.systabs[data-v-3638d596]{flex-wrap:wrap}.tabnum[data-v-3638d596]{margin-left:var(--s2);color:var(--muted);font-variant-numeric:tabular-nums}.tabpct[data-v-3638d596]{margin-left:var(--s1);font-variant-numeric:tabular-nums}.tabpct.low[data-v-3638d596]{color:var(--danger)}.systabs button.active .tabnum[data-v-3638d596]{color:color-mix(in srgb,var(--on-accent) 70%,transparent)}.systabs button.active .tabpct[data-v-3638d596],.systabs button.active .tabpct.low[data-v-3638d596]{color:var(--on-accent)}.bulkbar[data-v-3638d596]{position:sticky;top:0;z-index:6;background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow)}.two[data-v-3638d596]{display:flex;gap:var(--s0)}.two select[data-v-3638d596]{min-width:0;flex:1}.pill.indoor[data-v-3638d596]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}tr.overdue>td[data-v-3638d596]{background:var(--danger-soft)}tr.dirty>td[data-v-3638d596]{background:var(--warn-soft);box-shadow:inset 3px 0 0 var(--warn)}.who-opt[data-v-3638d596]{display:flex;align-items:center;gap:var(--s2)}.whocell[data-v-3638d596]{width:100%;justify-content:flex-start}.whocell.none[data-v-3638d596]{border-style:dashed;color:var(--muted)}.photocell[data-v-3638d596]{display:inline-flex;gap:var(--s2);width:100%;justify-content:center}.photocell.none[data-v-3638d596]{border-style:dashed}tr.ghead[data-v-3638d596]{cursor:pointer}tr.ghead>td[data-v-3638d596]{background:var(--panel-3);border-bottom:1px solid var(--border-strong)}tr.ghead:hover>td[data-v-3638d596]{background:var(--row-hover)}tr.ghead strong[data-v-3638d596]{font-size:var(--fs-md)}.grow[data-v-3638d596]{display:flex;align-items:center;gap:var(--s2)}.caret[data-v-3638d596]{display:inline-block;width:14px;color:var(--muted)}.gname[data-v-3638d596]{min-width:150px}.gnum[data-v-3638d596]{min-width:60px;text-align:right;font-variant-numeric:tabular-nums}.gpct[data-v-3638d596]{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.bar[data-v-3638d596]{width:90px}.txt[data-v-3638d596]{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.pname[data-v-b06f6cb0]{font-size:var(--fs-md);font-weight:600;color:var(--text)}.pname[data-v-b06f6cb0]:hover{color:var(--accent)}td[data-v-b06f6cb0]{font-size:var(--fs-base)}.pill.live[data-v-b06f6cb0]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.pill.plan[data-v-b06f6cb0]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.pill.warranty[data-v-b06f6cb0]{background:var(--success-soft);border-color:var(--success);color:var(--success)}.pill.closed[data-v-b06f6cb0]{color:var(--muted)}.pill.stage[data-v-b06f6cb0]{background:var(--panel)}th.sortable[data-v-b06f6cb0]{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable[data-v-b06f6cb0]:hover{color:var(--accent)}.print-overlay[data-v-47fe4361]{position:fixed;inset:0;z-index:20;background:var(--scrim-strong);overflow:auto;padding:var(--s4)}.actions[data-v-47fe4361]{position:sticky;top:0;z-index:1;width:fit-content;max-width:100%;margin:0 auto var(--s4);background:var(--panel);padding:var(--s2) var(--s3);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:center}.warn[data-v-47fe4361]{color:var(--danger);font-weight:600}.paper[data-v-47fe4361]{max-width:1100px;margin:0 auto;background:#fff;color:#111;padding:28px 32px;border-radius:4px;overflow-x:auto}.doc-head[data-v-47fe4361]{text-align:center;margin-bottom:14px}.doc-head h1[data-v-47fe4361]{font-size:18px;margin:0 0 4px;letter-spacing:2px}.doc-head h2[data-v-47fe4361]{font-size:22px;margin:0 0 8px;letter-spacing:4px}.doc-head .line[data-v-47fe4361]{margin:2px 0;text-align:left;font-size:13px}.doc-head .seg+.seg[data-v-47fe4361]{margin-left:24px}table.doc[data-v-47fe4361]{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}table.doc[data-v-47fe4361] :is(th,td){border:1px solid #333;padding:4px 6px;color:#111;word-break:break-word}table.doc.summary[data-v-47fe4361]{table-layout:auto}table.doc th[data-v-47fe4361]{background:#eee;text-align:center;font-weight:700}td.right[data-v-47fe4361]{text-align:right}td.center[data-v-47fe4361]{text-align:center}tr.sec td[data-v-47fe4361]{background:#f3f3f3;font-weight:700}tr.sum td[data-v-47fe4361],tr.sub td[data-v-47fe4361],tr.total td[data-v-47fe4361]{font-weight:700}table.doc.detail[data-v-47fe4361]{margin-top:18px}tr.grand td[data-v-47fe4361]{font-size:14px}.loss[data-v-47fe4361]{color:#c0392b}.summary[data-v-47fe4361]{width:320px;margin-top:14px;margin-left:auto}@media print{.print-overlay[data-v-47fe4361]{position:static;background:none;padding:0;overflow:visible}.paper[data-v-47fe4361]{max-width:none;padding:0;border-radius:0;overflow:visible}table.doc[data-v-47fe4361]{font-size:10.5px}table.doc thead[data-v-47fe4361]{display:table-header-group}table.doc[data-v-47fe4361]:not(.detail):not(.summary){break-inside:avoid}@page{size:A4 landscape;margin:10mm}}.pick[data-v-15d09d27]{width:min(560px,100%)}.filters[data-v-15d09d27]{max-height:none;gap:var(--s2)}.filters input[data-v-15d09d27],.filters select[data-v-15d09d27]{width:100%}.opts[data-v-15d09d27]{max-height:46vh;overflow:auto;padding:var(--s1)}.empty[data-v-15d09d27]{margin:0;padding:var(--s3);text-align:center}.ghead[data-v-15d09d27]{padding:var(--s1) var(--s2);color:var(--muted);font-size:var(--fs-2xs)}.opt[data-v-15d09d27]{display:flex;align-items:center;gap:var(--s2);width:100%;height:auto;min-height:var(--control-h);padding:var(--s1) var(--s2);border:0;border-radius:var(--radius-sm);background:none;text-align:left;font-size:var(--fs-sm)}.opt[data-v-15d09d27]:hover{background:var(--row-hover)}.opt.on-cursor[data-v-15d09d27]{background:var(--row-active)}.opt.picked .label[data-v-15d09d27]{font-weight:600}.opt.disabled[data-v-15d09d27]{opacity:.5}.label[data-v-15d09d27]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub[data-v-15d09d27],.count[data-v-15d09d27]{font-size:var(--fs-xs)}.model-cell[data-v-4cbd2537]{flex-wrap:nowrap}.model-cell>input[data-v-4cbd2537]{min-width:0}.card.archived[data-v-4cbd2537]{--panel: var(--danger-soft);--panel-2: var(--danger-soft-2);--panel-3: var(--danger-soft-2)}fieldset.bare[data-v-4cbd2537]{min-width:0;margin:0;padding:0;border:0}fieldset.bare[disabled][data-v-4cbd2537]{opacity:.75}.stick[data-v-4cbd2537]{position:sticky;left:0;z-index:8;background:var(--panel)}thead .stick[data-v-4cbd2537]{z-index:9}tbody>tr:nth-child(2n)>.stick[data-v-4cbd2537]{background:var(--panel-2)}tbody>tr:hover>.stick[data-v-4cbd2537]{background:var(--row-hover)}.sec-name[data-v-4cbd2537]{min-width:280px;font-weight:600}tr.active[data-v-4cbd2537]{background:var(--row-active)}tr.unchecked[data-v-4cbd2537]{opacity:.5}.cell[data-v-4cbd2537]{width:100%;padding:var(--s0) var(--s1)}.cell[type=number][data-v-4cbd2537]::-webkit-outer-spin-button,.cell[type=number][data-v-4cbd2537]::-webkit-inner-spin-button{appearance:none;margin:0}.cell[type=number][data-v-4cbd2537]{-moz-appearance:textfield;appearance:textfield}button.missing[data-v-5e5f381f]{border-color:var(--danger);background:var(--danger-soft)}button.pick-model[data-v-5e5f381f]{width:100%;display:block;text-align:left;white-space:normal;word-break:break-word;height:auto;min-height:var(--control-h);line-height:1.35;padding-top:4px;padding-bottom:4px}th.sortable[data-v-5e5f381f]{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable[data-v-5e5f381f]:hover{color:var(--accent)}tr.is-open>td[data-v-5e5f381f]{background:var(--row-active);border-bottom-color:var(--accent)}tr.is-open:hover>td[data-v-5e5f381f]{background:var(--row-active)}tr.is-open>td[data-v-5e5f381f]:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.low>td[data-v-5e5f381f]{background:var(--danger-soft)}tr.closed>td[data-v-5e5f381f]{color:var(--muted)}tr.voided>td[data-v-5e5f381f]{color:var(--muted);text-decoration:line-through}tr.voided>td.actions[data-v-5e5f381f],tr.voided>td .pill[data-v-5e5f381f]{text-decoration:none}th.num[data-v-5e5f381f],td.num[data-v-5e5f381f]{text-align:right}.pos[data-v-5e5f381f]{color:var(--success)}.neg[data-v-5e5f381f]{color:var(--danger)}tbody td[data-v-38f62401]:not(:first-child){text-align:center}tr.ghead>td[data-v-38f62401]{background:var(--panel-3);border-bottom:1px solid var(--border-strong);text-align:left}.ovstats[data-v-9e8c7303]{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}tr.ghead[data-v-9e8c7303]{cursor:pointer}tr.ghead>td[data-v-9e8c7303]{background:var(--panel-3);border-bottom:1px solid var(--border-strong)}tr.ghead:hover>td[data-v-9e8c7303]{background:var(--row-hover)}tr.ghead .caret[data-v-9e8c7303]{margin-right:var(--s2)}.structcol[data-v-a8d9b594]>*:not(.card__head,.toolbar,.list){margin-left:var(--s3);margin-right:var(--s3);margin-top:var(--s3)}.structcol>.list[data-v-a8d9b594]{margin:0;border-left:none;border-right:none;border-radius:0}.structcol>.toolbar[data-v-a8d9b594]{margin:0;border-left:none;border-right:none;border-top:none;border-radius:0}.structcol>.card.accent[data-v-a8d9b594]{margin-bottom:var(--s3)}.structcol>.card.accent+.toolbar[data-v-a8d9b594]{border-top:1px solid var(--border)}.structcol[data-v-a8d9b594]>*:last-child{margin-bottom:var(--s3)}.cols[data-v-a8d9b594]{display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:var(--s3);align-items:start}@media(max-width:1100px){.cols[data-v-a8d9b594]{grid-template-columns:1fr}}h4[data-v-a8d9b594]{margin:0 0 var(--s2)}.list[data-v-a8d9b594]{list-style:none;margin:0 0 var(--s3);padding:0;max-height:48vh;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.list li[data-v-a8d9b594]{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);cursor:pointer}.list li.editrow[data-v-a8d9b594],.list li.devrow[data-v-a8d9b594]{display:block;cursor:default;padding:var(--s3);background:var(--bg);box-shadow:inset 3px 0 0 var(--accent)}.list li.editrow[data-v-a8d9b594]:hover,.list li.devrow[data-v-a8d9b594]:hover{background:var(--bg)}.list li>.card+.card[data-v-a8d9b594]{margin-top:var(--s3)}.caret[data-v-a8d9b594]{width:12px;color:var(--muted);flex:none}.list.nested[data-v-a8d9b594]{max-height:none;overflow:visible}.list li.odd[data-v-a8d9b594]{background:var(--panel-2)}.list li[data-v-a8d9b594]:hover{background:var(--row-hover)}.list li.active[data-v-a8d9b594]{background:var(--row-active);box-shadow:inset 3px 0 0 var(--accent)}.field-grid[data-v-a8d9b594]{grid-template-columns:72px minmax(0,1fr);margin-top:var(--s2)}:root{--panel: #ffffff;--panel-2: #f2f5fa;--panel-3: #dfe5f0;--bg: #bfcadf;--group-bg: var(--bg);--group-bg-hover: #aab8d2;--border: #aab8d2;--border-strong: #8e9db9;--text: #1e2338;--muted: #4d5464;--accent: #4f46e5;--accent-soft: #eef2ff;--row-hover: #dbe4ff;--row-active: #c9d6ff;--placeholder: #a6adb8;--on-accent: #ffffff;--success: #059669;--success-soft: #ecfdf5;--danger: #dc2626;--danger-soft: #fef2f2;--danger-soft-2: #fbe3e3;--warn: #d97706;--warn-soft: #fffbeb;--s0: 2px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--radius: 14px;--radius-sm: 8px;--topbar-h: 49px;--shadow: 0 1px 2px rgba(30, 35, 56, .04), 0 4px 16px rgba(30, 35, 56, .06);--shadow-lg: 0 2px 4px rgba(30, 35, 56, .05), 0 12px 32px rgba(30, 35, 56, .1);--control-h: 34px;--control-h-sm: 24px;--control-h-xs: 20px;--scrollbar-h: 10px;--drag-col-w: 56px;--thead-h: 39px;--scrim: rgba(30, 35, 56, .35);--scrim-strong: rgba(30, 35, 56, .5);--nav-bg: #1b1f38;--nav-border: #2a2f4d;--nav-text: #ffffff;--nav-muted: #b9bdd4;--nav-hover: rgba(255, 255, 255, .08);--nav-active: rgba(255, 255, 255, .18);--nav-shadow: 0 2px 12px rgba(30, 35, 56, .18);--shadow-accent: 0 2px 8px rgba(79, 70, 229, .3);--shadow-accent-sm: 0 1px 3px rgba(79, 70, 229, .35);font-family:-apple-system,BlinkMacSystemFont,Noto Sans TC,PingFang TC,Segoe UI,sans-serif;font-size:var(--fs-base);line-height:1.5;color:var(--text)}*{box-sizing:border-box}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}body{margin:0;background:var(--bg)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{height:var(--scrollbar-h);width:var(--scrollbar-h)}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid transparent;background-clip:padding-box;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:padding-box}#app{min-height:100vh;display:flex;flex-direction:column}h2{font-size:var(--fs-lg);font-weight:600}h4{font-size:var(--fs-md);font-weight:600}button,input,select,textarea{font:inherit;color:var(--text)}input,select,textarea{height:var(--control-h);padding:0 var(--s2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel)}textarea{height:auto;padding:var(--s2);resize:vertical}input[type=checkbox]{height:auto;accent-color:var(--accent)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input::placeholder{color:var(--placeholder)}button{display:inline-flex;align-items:center;gap:var(--s1);height:var(--control-h);padding:0 var(--s3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-accent-sm)}button.primary:hover:not(:disabled){color:var(--on-accent);filter:brightness(1.08)}button.danger{border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}button.mini{height:var(--control-h-sm);padding:0 var(--s2);font-size:var(--fs-xs)}button.tiny{height:var(--control-h-xs);min-width:22px;padding:0 var(--s1);font-size:var(--fs-xs);line-height:1}td.actions{white-space:nowrap}td.actions>*+*{margin-left:var(--s2)}td.actions:last-child,th.actions:last-child{position:sticky;right:0;z-index:2;background:var(--panel);box-shadow:-1px 0 0 var(--border)}th.actions:last-child{z-index:5;background:var(--panel)}tbody>tr:hover>td.actions:last-child{background:var(--row-hover)}.row{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:var(--s3)}.page-head{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3)}.page-head h2{margin:0}.page-head.with-nav{margin-bottom:var(--s2)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card.flow{overflow:visible;width:max-content;min-width:100%}.card.flow>.card__head,.card.flow>.toolbar{width:0;min-width:100%}.card__head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);background:var(--panel-3);font-size:var(--fs-md);font-weight:600}.card__head:before{content:"";flex:none;width:4px;height:18px;margin-right:2px;border-radius:999px;background:var(--accent)}.card__head .muted{font-size:var(--fs-base);font-weight:400}.card__body{padding:var(--s3)}.card__body.flush{padding:0}.card.accent{border-left:3px solid var(--accent)}.card.accent>.card__head{background:var(--accent-soft)}.card.inbound{border-left:3px solid var(--success)}.card.inbound>.card__head{background:var(--success-soft)}.card.outbound{border-left:3px solid var(--danger)}.card.outbound>.card__head{background:var(--danger-soft)}.toolbar{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-3)}.card>.toolbar{background:var(--bg)}.toolbar label{display:inline-flex;align-items:center;gap:var(--s1);color:var(--muted);white-space:nowrap}.tabs{display:flex;gap:var(--s1);flex-wrap:wrap;padding:var(--s1);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.tabs button{border-radius:calc(var(--radius) - var(--s1));border-color:transparent;background:transparent}.tabs button:hover:not(:disabled){background:var(--panel-2);border-color:transparent}.tabs button.active,.tabs a.router-link-exact-active>button{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;box-shadow:var(--shadow-accent)}.tabs button.active:hover:not(:disabled),.tabs a.router-link-exact-active>button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tabs a,.tabs a:hover{text-decoration:none}@media(hover:none){button{min-height:36px}}.table-wrap{overflow:auto;max-height:var(--table-h, 68vh);scroll-padding-bottom:var(--scrollbar-h)}.table-wrap.page-scroll{max-height:none;overflow:visible}.table-wrap.page-scroll th{top:0}.scroller{position:relative}.scroller>.edge{position:absolute;top:0;bottom:0;z-index:7;width:calc(var(--s5) * 2);height:auto;padding:0;border:0;border-radius:0;background:linear-gradient(to right,var(--bg),transparent);color:var(--text);font-size:var(--fs-xl);line-height:1;cursor:pointer;display:flex;align-items:flex-start;justify-content:center}.scroller>.edge.right{left:auto;right:0;background:linear-gradient(to left,var(--bg),transparent)}.scroller>.edge.left{left:0}.scroller>.edge:hover{background:linear-gradient(to right,var(--border-strong),transparent)}.scroller>.edge.right:hover{background:linear-gradient(to left,var(--border-strong),transparent)}.scroller.on-page>.edge{position:fixed;top:0;bottom:0;align-items:center}.scroller>.edge>.arrow{position:sticky;top:45vh;padding:var(--s2) 0}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel)}table.fixed{width:max-content;min-width:100%;table-layout:fixed}table.fixed>thead>tr>th.fill{width:auto;min-width:0}table.fixed>thead>tr>th,table.fixed>tbody>tr>td:not([colspan]):not(.actions){overflow:hidden;text-overflow:ellipsis}th,td{padding:var(--s2) var(--s3);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;vertical-align:middle}th{position:sticky;top:0;z-index:4;background:var(--panel);border-bottom:2px solid var(--border-strong);font-weight:600;color:var(--muted);font-size:var(--fs-sm)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.al-right{text-align:right}.al-center{text-align:center}th.sortable:hover{color:var(--accent)}tbody>tr:last-child>td{border-bottom:none}tbody>tr:nth-child(2n)>td{background:var(--panel-2)}tbody>tr:nth-child(2n)>td.actions:last-child{background:var(--panel-2)}tbody>tr:hover>td{background:var(--row-hover)}tbody>tr.ghead{cursor:pointer}tbody>tr.ghead>td{padding:var(--s2) var(--s3);background:var(--group-bg);box-shadow:inset 3px 0 0 var(--accent);border-bottom:1px solid var(--border-strong)}tbody>tr.ghead strong{font-size:var(--fs-md)}tbody>tr.ghead:hover>td{background:var(--group-bg-hover);box-shadow:inset 3px 0 0 var(--accent)}tbody>tr.ghead .pill,tbody>tr.ghead .muted{margin-left:var(--s2)}.caret{display:inline-block;width:14px;color:var(--muted)}tbody>tr.detail-row>td{background:var(--bg)}table.inner>tbody>tr:nth-child(2n)>td{background:transparent}td>.panel,td>.card{margin:var(--s2) 0}table.inner{width:auto;min-width:520px;font-size:var(--fs-sm);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}table.inner th{position:static;padding:var(--s1) var(--s2);background:transparent;border-bottom:1px dashed var(--border-strong);font-size:var(--fs-xs);font-weight:500}table.inner td{padding:var(--s1) var(--s2);border-bottom:1px solid var(--panel-2)}table.inner tbody>tr:last-child>td{border-bottom:none}table.inner tbody>tr:hover>td{background:var(--panel-2)}table.inner button{height:var(--control-h-sm);padding:0 var(--s2);font-size:var(--fs-xs)}.muted{color:var(--muted)}.error{color:var(--danger)}.pill{display:inline-block;padding:1px var(--s2);border-radius:999px;font-size:var(--fs-sm);font-weight:600;line-height:calc(var(--control-h-sm) - 4px);border:1px solid var(--border);background:var(--panel-2);color:var(--muted);white-space:nowrap}.pill.ok{border-color:var(--success);color:var(--success);background:var(--success-soft)}.pill.warn{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.pill.bad{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}button.pill{height:auto;padding:1px var(--s2);cursor:pointer}button.pill:hover:not(:disabled){border-color:currentColor;color:inherit;filter:brightness(.96)}button.pill.on{font-weight:700;box-shadow:inset 0 0 0 1px currentColor}input.over{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.req{color:var(--danger);font-weight:700}:is(input,select).missing{border-color:var(--danger);background:var(--danger-soft)}.note-ok,.note-err{font-weight:400;font-size:var(--fs-base)}.note-ok{color:var(--success)}.note-err{color:var(--danger)}.notice,.alert{padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2)}.alert{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.field-grid{display:grid;grid-template-columns:90px minmax(0,560px);gap:var(--s2) var(--s3);align-items:center}@media(max-width:760px){.field-grid{grid-template-columns:1fr;gap:var(--s1)}.field-grid>label{margin-top:var(--s2)}}.field-grid>label{color:var(--muted)}.field-grid :is(input,select,textarea){width:100%}.field-grid :is(input[type=checkbox],input[type=radio]){width:auto;justify-self:start}.field-grid>.field-actions{grid-column:2;display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}@media(max-width:760px){.field-grid>.field-actions{grid-column:1}}.field-grid .hint{color:var(--muted);font-size:.85em}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--s3)}@media print{.no-print{display:none!important}body:has(.print-overlay) .topbar{display:none!important}body:has(.print-overlay) .content>*:not(.print-overlay){display:none!important}body:has(.print-overlay) .content{padding:0;max-width:none;gap:0}body:has(.print-overlay){background:#fff}}.tabs__sep{width:1px;align-self:stretch;margin:0 var(--s2);background:var(--border)}:root{--fs-2xs: 11px;--fs-xs: 13px;--fs-sm: 14px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 24px}.detail-row>td.detail-cell{padding:var(--s3);background:var(--bg);box-shadow:inset 3px 0 0 var(--accent);white-space:normal}.detail-row:hover>td.detail-cell{background:var(--bg)}.detail :is(.card__head){font-size:var(--fs-sm)}.metric{display:flex;flex-direction:column;min-width:130px}.metric .label{font-size:var(--fs-xs);color:var(--muted)}.metric .big,.big{font-size:var(--fs-xl);line-height:1.2}.pos,.gain{color:var(--success)}.neg,.loss,.bad{color:var(--danger)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3)}.metric-grid>.metric{min-width:0;gap:var(--s0);padding:var(--s2) var(--s3);background:var(--panel-2);border-radius:var(--radius-sm)}table.form-table>thead>tr>th{background:var(--panel-3)}.filter-row>th{padding:var(--s1) var(--s2);background:var(--panel-3);border-bottom:2px solid var(--border-strong);font-weight:400;z-index:3}.filter-row>th.actions:last-child{background:var(--panel-3)}.table-wrap:not(.page-scroll) .filter-row>th{top:var(--thead-h)}.table-wrap.page-scroll .filter-row>th{top:var(--thead-h)}.filter-row :is(input,select){width:100%;min-width:0;height:var(--control-h-sm);font-size:var(--fs-xs)}.drag-col{width:var(--drag-col-w)}.drag-col,.drag-handle{padding-left:var(--s2);padding-right:var(--s2)}.drag-handle{text-align:right;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap}.drag-handle .pos{font-variant-numeric:tabular-nums}.drag-handle .grip{margin-left:var(--s1);opacity:.6}.drag-handle.off{cursor:default}.drag-handle.off .grip{opacity:.25}.drag-handle:active{cursor:grabbing}tr.drag-src>td{opacity:.4}tr.drag-over>td{box-shadow:inset 0 2px 0 var(--accent)}.divider{width:1px;align-self:stretch;background:var(--border)}.bar{--bar-h: 8px;display:inline-block;width:100%;height:var(--bar-h);border-radius:999px;background:var(--border);overflow:hidden;vertical-align:middle}.bar>i{display:block;height:100%;background:var(--accent)}.bar.ok>i{background:var(--success)}.bar.warn>i{background:var(--warn)}.bar.thin{--bar-h: 6px}.tbd{display:inline-block;width:15px;height:15px;margin-left:var(--s1);border-radius:999px;background:var(--warn-soft);border:1px solid var(--warn);color:var(--warn);font-size:var(--fs-2xs);line-height:13px;text-align:center;cursor:help}.tbd-note{font-weight:400;color:var(--warn)}.backdrop{position:fixed;inset:0;z-index:20;display:flex;justify-content:flex-end;background:var(--scrim)}.drawer{width:560px;max-width:100vw;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:var(--s3);background:var(--bg);border-left:1px solid var(--border)}.backdrop.center{align-items:center;justify-content:center;padding:var(--s4)}.modal{width:min(420px,100%)}.modal.wide{width:min(760px,100%)}.modal.xwide{width:min(1100px,100%)}.modal>.card__body{max-height:60vh;overflow:auto}.modal__foot{max-height:none;border-top:1px solid var(--border)}
