.usermenu[data-v-9b4719c5]{position:relative}.who[data-v-9b4719c5]{display:flex;align-items:baseline;gap:var(--s1);max-width:320px;background:var(--nav-hover);border-color:var(--nav-active);color:var(--nav-text)}.who .name[data-v-9b4719c5]{flex:none}.who .ident[data-v-9b4719c5]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);opacity:.75}.who .caret[data-v-9b4719c5]{font-size:var(--fs-2xs);opacity:.75}.who[data-v-9b4719c5]:hover:not(:disabled),.who[data-v-9b4719c5]:focus-visible{background:var(--nav-active);border-color:var(--nav-active);color:var(--nav-text)}.who.open[data-v-9b4719c5]{background:var(--nav-active);border-color:var(--nav-active);color:var(--nav-text)}.menu[data-v-9b4719c5]{position:absolute;top:calc(100% + var(--s1));right:0;z-index:10;min-width:160px;display:flex;flex-direction:column;padding:var(--s1);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.menu .item[data-v-9b4719c5]{padding:var(--s2) var(--s3);border:0;border-radius:var(--radius-sm);background:none;color:var(--text);text-align:left;text-decoration:none;font-size:var(--fs-sm);height:auto}.menu .item[data-v-9b4719c5]:hover{background:var(--row-hover)}.menu .logout[data-v-9b4719c5]{margin-top:var(--s1);border-top:1px solid var(--border);border-radius:0}.topbar[data-v-75b9b119]{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);position:fixed;top:0;left:0;right:0;z-index:10;box-sizing:border-box}.brand[data-v-75b9b119]{font-weight:600;letter-spacing:.2px;color:var(--nav-text)}nav[data-v-75b9b119]{display:flex;gap:var(--s1)}nav a[data-v-75b9b119],.topbar a.help[data-v-75b9b119]{display:inline-flex;align-items:center;height:var(--control-h);padding:0 var(--s3);border-radius:999px;color:var(--nav-muted);text-decoration:none}nav a[data-v-75b9b119]:hover,.topbar a.help[data-v-75b9b119]:hover{background:var(--nav-hover);color:var(--nav-text)}.topbar a.help.on[data-v-75b9b119]{background:var(--nav-active);color:var(--nav-text)}nav a.on[data-v-75b9b119]{background:var(--accent);color:var(--nav-text);font-weight:600}.spacer[data-v-75b9b119]{flex:1}.content[data-v-75b9b119]{display:flex;flex-direction:column;align-items:stretch;gap:var(--s3);padding:var(--s4);padding-top:calc(var(--s4) + var(--topbar-h));padding-bottom:calc(var(--s4) + var(--scrollbar-h));max-width:1600px;width:100%}.msg[data-v-2e53286f]{margin:0}.details[data-v-2e53286f]{margin:0;padding-left:var(--s4);color:var(--muted);font-size:var(--fs-sm)}.details li+li[data-v-2e53286f]{margin-top:var(--s0)}.typeit[data-v-2e53286f]{display:flex;flex-direction:column;gap:var(--s1);font-size:var(--fs-sm)}.photos[data-v-bae9e766]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s2)}.photos figure[data-v-bae9e766]{margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-2)}.photos img[data-v-bae9e766]{display:block;width:100%;height:110px;object-fit:cover;cursor:zoom-in}.photos .nofile[data-v-bae9e766]{display:flex;align-items:center;justify-content:center;height:110px;font-size:var(--fs-xs);text-align:center}.photos figcaption[data-v-bae9e766]{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-bae9e766]:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who[data-v-bae9e766]{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-bae9e766]{display:inline-flex;align-items:center;gap:var(--s1);white-space:nowrap}.bigphoto[data-v-bae9e766]{max-width:92vw;max-height:92vh;border-radius:var(--radius-sm);cursor:zoom-out}.drawer>header[data-v-bae9e766]{margin-bottom:var(--s3)}h4[data-v-bae9e766]{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s2)}.info[data-v-bae9e766]{display:grid;grid-template-columns:80px 1fr;gap:var(--s1) var(--s3);margin:0 0 var(--s4)}.info dt[data-v-bae9e766]{color:var(--muted)}.info dd[data-v-bae9e766]{margin:0}.field-grid[data-v-bae9e766]{grid-template-columns:90px minmax(0,1fr)}.events[data-v-bae9e766]{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.events li[data-v-bae9e766]{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-bae9e766]{margin-left:auto}.grid2[data-v-e1a0a01e]{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);align-items:start}@media(max-width:900px){.grid2[data-v-e1a0a01e]{grid-template-columns:1fr}}.chart-title[data-v-e1a0a01e]{font-weight:600;margin-bottom:var(--s2);padding-bottom:var(--s1);border-bottom:1px solid var(--border)}.bar-row[data-v-e1a0a01e]{display:flex;align-items:center;gap:var(--s2);padding:3px 0}.bar-row[data-v-e1a0a01e]:hover{background:var(--row-hover)}.bar-name[data-v-e1a0a01e]{flex:0 0 118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barwrap[data-v-e1a0a01e]{flex:1 1 auto;max-width:240px;min-width:60px}.bar-row .bar[data-v-e1a0a01e]{--bar-h: 10px}.bar-num[data-v-e1a0a01e]{flex:0 0 auto;min-width:104px;white-space:nowrap;font-variant-numeric:tabular-nums}.bar-num.on[data-v-e1a0a01e]{color:var(--text);font-weight:600}.showpending[data-v-e1a0a01e]{margin-left:var(--s1);border-color:transparent;background:transparent;color:var(--accent);text-decoration:underline}table.board[data-v-e1a0a01e] :is(th,td){padding:var(--s0) var(--s2);border-bottom:1px solid var(--border)}.col-loc[data-v-e1a0a01e]{width:176px}.col-floor[data-v-e1a0a01e]{width:64px}.col-code[data-v-e1a0a01e]{width:120px}.col-cell[data-v-e1a0a01e]{width:142px;text-align:center}.board th.colhot[data-v-e1a0a01e],.board td.colhot[data-v-e1a0a01e]{background:var(--row-hover);box-shadow:inset 1px 0 0 var(--accent),inset -1px 0 0 var(--accent)}.board th.colhot[data-v-e1a0a01e]{background:var(--row-active);color:var(--accent)}tbody>tr:not(.ghead):not(.gmore)>td[data-v-e1a0a01e]{height:var(--row-h)}.stick[data-v-e1a0a01e]{position:sticky;left:0;z-index:2;background:var(--panel)}thead .stick[data-v-e1a0a01e]{z-index:5;background:var(--panel)}tbody>tr:nth-child(2n)>.stick[data-v-e1a0a01e]{background:var(--panel-2)}tbody>tr:hover>.stick[data-v-e1a0a01e]{background:var(--row-hover)}tbody>tr>.stick.colhot[data-v-e1a0a01e]{background:var(--row-hover)}thead .stick.colhot[data-v-e1a0a01e]{background:var(--row-active);color:var(--accent)}tbody>tr.ghead[data-v-e1a0a01e]{cursor:pointer}tbody>tr.ghead strong[data-v-e1a0a01e]{font-size:var(--fs-md)}.grow[data-v-e1a0a01e]{display:flex;align-items:center;gap:var(--s2)}.gseg[data-v-e1a0a01e]{display:flex;align-items:center;gap:var(--s2);flex:0 0 auto;min-width:calc(176px - var(--s3))}.gname[data-v-e1a0a01e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gnum[data-v-e1a0a01e]{min-width:84px;text-align:right;font-variant-numeric:tabular-nums}.gpct[data-v-e1a0a01e]{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.bar[data-v-e1a0a01e]{width:90px}.grows[data-v-e1a0a01e]{font-size:var(--fs-xs)}tbody>tr.ghead.empty[data-v-e1a0a01e]{cursor:default}tbody>tr.ghead.empty .gname[data-v-e1a0a01e]{color:var(--muted);font-weight:400}.gmore>td[data-v-e1a0a01e]{padding-left:var(--s5);font-size:var(--fs-xs)}.cellbox[data-v-e1a0a01e]{border-radius:var(--radius-sm);padding:var(--s0)}.cellrow[data-v-e1a0a01e]{display:flex;align-items:center;gap:var(--s0)}.qty[data-v-e1a0a01e]{flex:1;font-weight:600;font-variant-numeric:tabular-nums;text-align:left;padding-left:var(--s0);white-space:nowrap}.qtylabel[data-v-e1a0a01e]{margin-right:var(--s0);font-size:var(--fs-xs);font-weight:400;opacity:.7}.cellbox[data-v-e1a0a01e] :is(select,.state){width:100%;height:var(--control-h-xs);padding:0 var(--s0);font-size:var(--fs-xs);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:inherit;font-weight:600}.cellbox .state[data-v-e1a0a01e]{line-height:calc(var(--control-h-xs) - 2px);overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cellbox[data-v-e1a0a01e] :is(select,.state):hover{border-color:var(--border-strong);background:var(--panel)}.cellbox>.dispatch[data-v-e1a0a01e]{width:100%;font-size:var(--fs-xs);font-weight:600}.dispatch.on[data-v-e1a0a01e]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.add[data-v-e1a0a01e]{color:var(--muted);border-color:transparent;background:transparent;font-weight:700;line-height:1}.add[data-v-e1a0a01e]:hover,.add[data-v-e1a0a01e]:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.cell>.add[data-v-e1a0a01e]{width:100%;justify-content:center}.stats[data-v-e1a0a01e]{flex:1 1 100%;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s1)}.row-break[data-v-e1a0a01e]{flex-basis:100%;height:0}.col-cards[data-v-e1a0a01e]{text-align:left}.cards[data-v-e1a0a01e]{display:flex;flex-wrap:wrap;gap:var(--s1);align-items:flex-start}.card1[data-v-e1a0a01e]{width:142px;flex:0 0 auto}.cardname[data-v-e1a0a01e]{font-size:var(--fs-xs);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-type[data-v-e1a0a01e]{width:180px}.col-qty[data-v-e1a0a01e]{width:64px;text-align:right;font-variant-numeric:tabular-nums}.col-dis[data-v-e1a0a01e]{width:64px;text-align:center}.col-state[data-v-e1a0a01e]{width:150px}.col-act[data-v-e1a0a01e]{width:56px;text-align:center}tbody tr.cont>.col-loc[data-v-e1a0a01e],tbody tr.cont>.col-floor[data-v-e1a0a01e],tbody tr.cont>.col-code[data-v-e1a0a01e]{border-top-color:transparent}.gfilter[data-v-e1a0a01e]{flex:0 0 auto;width:14em}th.col-loc>.add[data-v-e1a0a01e],.gseg>.add[data-v-e1a0a01e]{margin-left:var(--s1);color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}th.col-loc>.add[data-v-e1a0a01e]:hover,th.col-loc>.add[data-v-e1a0a01e]:focus-visible,.gseg>.add[data-v-e1a0a01e]:hover,.gseg>.add[data-v-e1a0a01e]:focus-visible{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.phaseopts[data-v-e1a0a01e]{display:flex;flex-wrap:wrap;gap:var(--s2)}.phaseopt[data-v-e1a0a01e]{display:flex;align-items:center;gap:var(--s1);white-space:nowrap}.stat-addtype[data-v-e1a0a01e]{margin:0 var(--s1);color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.stat-addtype[data-v-e1a0a01e]:hover,.stat-addtype[data-v-e1a0a01e]:focus-visible{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.of[data-v-e1a0a01e]{color:var(--accent);font-weight:600}.note[data-v-e1a0a01e]{margin:var(--s2) 0 0;font-size:var(--fs-xs)}.note.warn[data-v-e1a0a01e]{color:var(--warn)}.phasebox[data-v-e1a0a01e]{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.phases.own[data-v-e1a0a01e]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.phase-opt[data-v-e1a0a01e]{display:flex;align-items:center;gap:var(--s1);cursor:pointer}table.board[data-v-37015d0b]{font-size:var(--fs-base)}table.board[data-v-37015d0b] :is(th,td:not([colspan])){padding:var(--s0) var(--s2);border-bottom:1px solid var(--border)}table.board th[data-v-37015d0b]{font-size:var(--fs-sm);text-align:center}.col-name[data-v-37015d0b]{width:264px;text-align:left}td.col-name .pill.unlinked[data-v-37015d0b]{padding:0 var(--s1);margin-right:var(--s1);font-size:var(--fs-2xs);line-height:var(--control-h-xs)}.col-level[data-v-37015d0b]{width:62px;text-align:center}th.col-level[data-v-37015d0b]{white-space:normal;line-height:1.2}.col-drafter[data-v-37015d0b]{width:100px;color:var(--muted)}.pill.level[data-v-37015d0b]{padding:0 var(--s1);font-size:var(--fs-xs);border-color:var(--border-strong);color:var(--text)}.col-rate[data-v-37015d0b]{width:62px}.col-cell[data-v-37015d0b]{width:74px}td.col-name[data-v-37015d0b]{cursor:pointer;font-weight:500}.dlink[data-v-37015d0b]{display:inline-block;width:14px;text-align:center;color:var(--accent);text-decoration:none;font-weight:600}.dlink[data-v-37015d0b]:hover{text-decoration:underline}.stick[data-v-37015d0b]{position:sticky;left:0;z-index:2;background:var(--panel)}tbody>tr:nth-child(2n)>.stick[data-v-37015d0b]{background:var(--panel-2)}tbody>tr.ghead>.stick[data-v-37015d0b]{background:var(--group-bg)}tbody>tr:hover>.stick[data-v-37015d0b]{background:var(--row-hover)}tbody>tr.is-open>.stick[data-v-37015d0b]{background:var(--row-active)}tbody>tr.ghead:hover>.stick[data-v-37015d0b]{background:var(--group-bg-hover)}thead .stick[data-v-37015d0b]{z-index:5;background:var(--panel)}td.num[data-v-37015d0b],th.num[data-v-37015d0b]{text-align:right;font-variant-numeric:tabular-nums}td.cell[data-v-37015d0b]{padding:1px var(--s0)}.cellbtn[data-v-37015d0b]{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-37015d0b]{font-size:var(--fs-sm);font-weight:600}.cellbtn small[data-v-37015d0b]{font-size:var(--fs-2xs);opacity:.75}.cellbtn[data-v-37015d0b]:hover:not(:disabled){border-color:var(--accent)}.cellbtn.active[data-v-37015d0b]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cellbtn.blocked[data-v-37015d0b]{box-shadow:inset 0 -3px 0 var(--danger)}tr.is-open>td[data-v-37015d0b]{background:var(--row-active)}@media(max-width:1200px){.col-drafter[data-v-37015d0b]{display:none}}@media(max-width:1000px){.col-level[data-v-37015d0b]{display:none}.col-cell[data-v-37015d0b]{width:52px}.col-name[data-v-37015d0b]{width:150px}.cellbtn small[data-v-37015d0b]{display:none}.cellbtn[data-v-37015d0b]{height:var(--control-h)}table.board th[data-v-37015d0b]{font-size:var(--fs-xs)}}.drawer[data-v-37015d0b]{width:620px;display:flex;flex-direction:column;gap:var(--s2)}.sum .bar[data-v-37015d0b]{flex:1;min-width:80px}table.items[data-v-37015d0b]{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel)}table.items th[data-v-37015d0b]{position:static}table.items td[data-v-37015d0b]{padding:var(--s1) var(--s2)}table.items[data-v-37015d0b] :is(input,select){width:100%}@media(max-width:760px){.drawer[data-v-37015d0b]{width:100%}table.items[data-v-37015d0b] :is(th,td){padding:var(--s1)}table.items th[data-v-37015d0b]:nth-child(3),table.items td[data-v-37015d0b]:nth-child(3){width:110px}}.drawer-note[data-v-37015d0b]{white-space:normal;line-height:1.5}.meta .drawer-note[data-v-37015d0b]{flex:1 0 100%}table.items tr.note-row>td[data-v-37015d0b]{white-space:normal;line-height:1.5}table.items tr.note-row>td.note-ok[data-v-37015d0b]{background:var(--success-soft)}table.items tr.note-row>td.note-err[data-v-37015d0b]{background:var(--danger-soft)}table.items tr.dirty>td[data-v-37015d0b]{background:var(--warn-soft)}table.items tr.focus>td[data-v-37015d0b]{box-shadow:inset 0 0 0 1px var(--accent)}.meta[data-v-37015d0b]{padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.bar-row[data-v-37015d0b]{display:grid;grid-template-columns:110px 1fr 90px;gap:var(--s3);align-items:center}.bar-row.excluded[data-v-37015d0b]{color:var(--muted)}.bar-row.excluded .bar i[data-v-37015d0b]{background:var(--border-strong)}.grid2[data-v-37015d0b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--s3);--table-h: none}.grid2>.card[data-v-37015d0b]{min-width:0}.breakdown[data-v-37015d0b]{margin-top:var(--s4)}.seg[data-v-37015d0b]{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--panel-2)}.seg i[data-v-37015d0b]{display:block;height:100%}.legend[data-v-37015d0b]{margin-top:var(--s2);font-size:var(--fs-xs)}.legend i[data-v-37015d0b]{display:inline-block;width:10px;height:10px;border-radius:var(--s0);margin-right:var(--s1);vertical-align:-1px}.s-done[data-v-37015d0b]{background:var(--success)}.s-open[data-v-37015d0b]{background:var(--accent)}.s-unrated[data-v-37015d0b]{background:var(--border-strong)}.s-na[data-v-37015d0b],.s-excl[data-v-37015d0b]{background:var(--border)}.chain[data-v-ae85b06c]{margin:0;font-size:var(--fs-md);font-weight:600;letter-spacing:1px}.notes[data-v-ae85b06c]{margin:0;padding-left:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.notes li[data-v-ae85b06c]{line-height:1.7}code[data-v-ae85b06c]{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)}.fstat[data-v-069fe54b]{position:relative;display:flex;align-items:center;gap:var(--s1);width:100%}.fstat.inline[data-v-069fe54b]{width:auto;justify-self:start}.fstat[data-v-069fe54b]>:is(input,select,textarea){min-width:0}.fstat__mark[data-v-069fe54b]{flex:0 0 var(--control-h-sm);width:var(--control-h-sm);height:var(--control-h-sm);display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-sm);color:var(--muted)}.fstat[data-state=saved] .fstat__mark[data-v-069fe54b]{color:var(--success)}.fstat[data-state=error] .fstat__mark[data-v-069fe54b]{color:var(--danger)}.fstat[data-state=error][data-v-069fe54b] :is(input,select,textarea){border-color:var(--danger);background:var(--danger-soft)}.fstat__spin[data-v-069fe54b]{width:.75em;height:.75em;border:2px solid var(--border-strong);border-top-color:var(--muted);border-radius:999px;animation:fstat-spin-069fe54b .7s linear infinite}@keyframes fstat-spin-069fe54b{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.fstat__spin[data-v-069fe54b]{animation:none}}.fstat__msg[data-v-069fe54b]{position:absolute;top:100%;left:0;z-index:3;margin-top:var(--s0);display:flex;align-items:center;gap:var(--s2);max-width:100%;padding:var(--s1) var(--s2);border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-xs);white-space:normal}.print-overlay[data-v-f70c11d1]{position:fixed;inset:0;z-index:100;overflow:auto;padding:var(--s4);background:var(--backdrop, rgba(0, 0, 0, .5))}.actions[data-v-f70c11d1]{display:flex;align-items:center;gap:var(--s2);position:sticky;top:0;padding:var(--s2) var(--s3);margin-bottom:var(--s3);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.paper[data-v-f70c11d1]{max-width:297mm;margin:0 auto var(--s4);padding:var(--s4);background:var(--panel);border-radius:var(--radius)}.rep-head[data-v-f70c11d1]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);padding-bottom:var(--s2);border-bottom:2px solid var(--border)}.rep-head h1[data-v-f70c11d1]{margin:0;font-size:var(--fs-lg)}.rep-head h2[data-v-f70c11d1]{margin:0;font-size:var(--fs-base);font-weight:500;color:var(--muted)}.meta[data-v-f70c11d1]{font-size:var(--fs-xs);color:var(--muted);text-align:right}.grid4[data-v-f70c11d1]{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s3)}.cell[data-v-f70c11d1]{margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.shot[data-v-f70c11d1]{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;background:var(--panel-2)}.shot>img[data-v-f70c11d1]{width:100%;height:100%;object-fit:contain}figcaption[data-v-f70c11d1]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1);padding:var(--s2);font-size:var(--fs-xs)}.note[data-v-f70c11d1]{width:100%;color:var(--danger)}@media print{.print-overlay[data-v-f70c11d1]{position:static;padding:0;background:none;overflow:visible}.no-print[data-v-f70c11d1]{display:none}.paper[data-v-f70c11d1]{max-width:none;margin:0;padding:0;border-radius:0;break-after:page}.paper[data-v-f70c11d1]:last-child{break-after:auto}.cell[data-v-f70c11d1]{break-inside:avoid}@page{size:A4 landscape;margin:10mm}}.inspshell[data-v-84523d7d]{display:flex;align-items:flex-start;gap:var(--s3)}.commside[data-v-84523d7d]{position:sticky;top:calc(var(--topbar-h) + var(--s3));width:260px;flex:none;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s2);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.inspmain[data-v-84523d7d]{flex:1;min-width:0}.csearch[data-v-84523d7d]{width:100%}.cfilter[data-v-84523d7d]{display:flex;flex-wrap:wrap;gap:var(--s0)}.cfilter button[data-v-84523d7d]{padding:0 var(--s2);font-size:var(--fs-2xs)}.clist[data-v-84523d7d]{display:flex;flex-direction:column;gap:var(--s0);max-height:calc(100vh - var(--topbar-h) - 160px);overflow-y:auto}.crow[data-v-84523d7d]{display:flex;flex-direction:column;align-items:stretch;gap:var(--s0);height:auto;padding:var(--s1) var(--s2);text-align:left;border-color:transparent;background:transparent}.crow[data-v-84523d7d]:hover:not(:disabled){background:var(--panel-2);border-color:transparent}.crow.on[data-v-84523d7d]{background:var(--panel-2);border-color:var(--accent)}.ctop[data-v-84523d7d]{display:flex;align-items:center;justify-content:space-between;gap:var(--s1)}.cname[data-v-84523d7d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctop .pill[data-v-84523d7d]{flex:none;font-size:var(--fs-2xs)}.csub[data-v-84523d7d]{font-size:var(--fs-2xs)}tbody>tr.ghead[data-v-84523d7d]{cursor:pointer}tbody>tr.ghead>td[data-v-84523d7d]{display:flex;align-items:center;gap:var(--s2)}tbody>tr.bad>td[data-v-84523d7d]{background:var(--danger-soft)}td.photos[data-v-84523d7d]{display:flex;align-items:center;gap:var(--s1);flex-wrap:wrap}.thumb[data-v-84523d7d]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--row-h);height:var(--row-h);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-2);font-size:var(--fs-2xs)}.thumb>img[data-v-84523d7d]{width:100%;height:100%;object-fit:cover}.thumb>button[data-v-84523d7d]{position:absolute;top:0;right:0;padding:0 var(--s0);border-radius:0 0 0 var(--radius-sm)}.thumb.pending>button[data-v-84523d7d]{background:var(--danger);color:var(--on-accent);border-color:var(--danger)}.wrap[data-v-e1f1539f]{min-height:100vh;display:grid;place-items:center}.panel[data-v-e1f1539f]{width:320px;display:flex;flex-direction:column;gap:var(--s3)}h2[data-v-e1f1539f]{margin:0 0 var(--s1);font-size:var(--fs-lg)}label[data-v-e1f1539f]{display:flex;flex-direction:column;gap:var(--s1);font-size:var(--fs-sm);color:var(--muted)}input[type=text][data-v-cde3f4b9],input[type=number][data-v-cde3f4b9],select[data-v-cde3f4b9]{width:100%;min-width:60px}tr.dirty>td[data-v-cde3f4b9]{background:var(--warn-soft);box-shadow:inset 3px 0 0 var(--warn)}tr.is-open>td[data-v-cde3f4b9]{background:var(--row-active);border-bottom-color:var(--accent)}tr.is-open:hover>td[data-v-cde3f4b9]{background:var(--row-active)}tr.is-open>td[data-v-cde3f4b9]:first-child{box-shadow:inset 3px 0 0 var(--accent)}tbody>tr.noted.noted--ok>td[data-v-cde3f4b9],tbody>tr.noted.noted--ok:hover>td[data-v-cde3f4b9]{background:var(--success-soft)}tbody>tr.noted.noted--err>td[data-v-cde3f4b9],tbody>tr.noted.noted--err:hover>td[data-v-cde3f4b9]{background:var(--danger-soft)}tbody>tr.noted.noted--ok>td[data-v-cde3f4b9]:first-child{box-shadow:inset 3px 0 0 var(--success)}tbody>tr.noted.noted--err>td[data-v-cde3f4b9]:first-child{box-shadow:inset 3px 0 0 var(--danger)}.note-row>td[data-v-cde3f4b9]{white-space:normal;line-height:1.5}.note-row--ok>td[data-v-cde3f4b9]{background:var(--success-soft)}.note-row--err>td[data-v-cde3f4b9]{background:var(--danger-soft)}.colorcell[data-v-cde3f4b9]{display:flex;align-items:center;gap:var(--s1)}.colorcell input[type=color][data-v-cde3f4b9]{width:34px;padding:var(--s0);flex:none;cursor:pointer}.colorcell .muted[data-v-cde3f4b9]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs)}.short[data-v-f03e9621]{max-height:40vh}.wrap[data-v-f03e9621]{white-space:normal;word-break:break-word}.inner[data-v-7fad90b9]{width:100%}.acct[data-v-7fad90b9],.rid[data-v-7fad90b9]{display:block;font-size:11px}.short[data-v-7fad90b9]{max-height:40vh}.gone[data-v-7fad90b9]{background:var(--danger-soft-2)}.more[data-v-7fad90b9]{padding:6px 10px;text-align:center}.wrap[data-v-7fad90b9]{white-space:normal;word-break:break-word}[data-v-3f41c284] tr.low>td{background:var(--danger-soft)}.phase-cell[data-v-3f41c284]{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s1)}.phase-opt[data-v-3f41c284]{display:flex;align-items:center;gap:var(--s1);cursor:pointer}.tabs button[data-v-50c3c024]{min-width:92px}.phase-cell[data-v-50c3c024]{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s1)}.phase-cell button[data-v-50c3c024]{margin-left:var(--s2)}.phase-opt[data-v-50c3c024]{display:flex;align-items:center;gap:var(--s2);cursor:pointer}.field-grid.readonly .val[data-v-360851b0]{align-self:center;min-height:var(--control-h);display:flex;align-items:center}.field-grid.narrow[data-v-360851b0]{max-width:420px}.caps[data-v-360851b0]{display:flex;flex-wrap:wrap;gap:var(--s1)}.hint[data-v-360851b0]{margin:var(--s3) 0 0;font-size:var(--fs-sm)}.totals[data-v-ade4e50c]{margin-top:var(--s3)}tbody>tr.sum>td[data-v-ade4e50c]{background:var(--panel-2)}tbody>tr.sum.top>td[data-v-ade4e50c]{border-top:2px solid var(--border-strong)}.sums[data-v-ade4e50c]{display:flex;flex-wrap:wrap;gap:var(--s5)}.sums div[data-v-ade4e50c]{display:flex;flex-direction:column;gap:var(--s0)}.sums label[data-v-ade4e50c]{font-size:var(--fs-xs);color:var(--muted)}.sums strong[data-v-ade4e50c]{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.sums .wait strong[data-v-ade4e50c]{color:var(--warn)}.sheetnav[data-v-d30db4c0]{align-items:center;flex-wrap:nowrap}.pickwrap[data-v-d30db4c0]{position:relative;display:inline-flex;flex:none}.pick[data-v-d30db4c0]{display:inline-flex;align-items:center;gap:var(--s1);white-space:nowrap}.pick .caret[data-v-d30db4c0]{color:var(--muted)}.pick.on[data-v-d30db4c0]{border-color:var(--accent);color:var(--accent)}.pmenu[data-v-d30db4c0]{position:absolute;top:calc(100% + var(--s1));left:0;z-index:10;min-width:12em;max-height:40vh;overflow:auto;display:flex;flex-direction:column;padding:var(--s1);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.pmenu>a[data-v-d30db4c0]{padding:4px var(--s2);border-radius:var(--radius-sm);white-space:nowrap}.pmenu>a[data-v-d30db4c0]:hover{background:var(--row-hover)}.pmenu>a.on[data-v-d30db4c0]{background:var(--accent-soft);color:var(--accent)}.step[data-v-d30db4c0]{flex:none;padding:0 var(--s2);color:var(--muted)}.step.off[data-v-d30db4c0]{opacity:.35;cursor:default}.back[data-v-d30db4c0]{flex:none;white-space:nowrap}.navsplit[data-v-d30db4c0]{width:1px;align-self:stretch;margin:0 var(--s2);background:var(--border)}.calc[data-v-d30db4c0]{font-variant-numeric:tabular-nums}.ro[data-v-d30db4c0]{display:inline-flex;align-items:center;min-height:var(--control-h)}.periods[data-v-d30db4c0]{margin-bottom:var(--s3)}.periods a[data-v-d30db4c0]{display:inline-flex;align-items:center;height:var(--control-h);padding:0 var(--s3);border:1px solid transparent;border-radius:calc(var(--radius) - var(--s1));color:var(--text);font-size:var(--fs-sm)}.periods a[data-v-d30db4c0]:hover{background:var(--panel-2)}.periods a.on[data-v-d30db4c0]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;box-shadow:var(--shadow-accent)}.periods .tag[data-v-d30db4c0]{margin-left:var(--s1);font-size:var(--fs-2xs);opacity:.75}.tabs.sub[data-v-d30db4c0]{margin-bottom:var(--s3)}.split-toggle[data-v-d30db4c0]{display:inline-flex;align-items:center;gap:var(--s1);padding-right:var(--s2);color:var(--muted);font-size:var(--fs-sm);white-space:nowrap}.toolbar.views[data-v-d30db4c0]{margin-bottom:var(--s3)}tbody>tr.ghost>td[data-v-d30db4c0]{color:var(--muted)}.go[data-v-d30db4c0]{color:var(--accent);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}td.num[data-v-d30db4c0],th.num[data-v-d30db4c0]{text-align:right;font-variant-numeric:tabular-nums}input.cell-num[data-v-d30db4c0]{width:100%;padding-left:var(--s1);padding-right:var(--s1);text-align:right;font-variant-numeric:tabular-nums}.pct[data-v-d30db4c0]{display:flex;align-items:center;gap:var(--s0)}.pct>input[data-v-d30db4c0]{flex:1;min-width:0}.pct>i[data-v-d30db4c0]{color:var(--muted);font-style:normal}tr.voided>td[data-v-d30db4c0]{color:var(--muted);text-decoration:line-through}tr.voided>td.actions[data-v-d30db4c0]{text-decoration:none}.sheet-table th.grp[data-v-d30db4c0]{text-align:center;border-bottom:2px solid var(--border-strong)}.sheet-table th.grp.fill[data-v-d30db4c0]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.sheet-table th.fill[data-v-d30db4c0],.sheet-table td.fill[data-v-d30db4c0]{background:var(--accent-soft)}tbody>tr.sum>td[data-v-d30db4c0]{background:var(--panel-2)}tbody>tr.sum.top>td[data-v-d30db4c0]{border-top:2px solid var(--border-strong)}tbody>tr.sum>td.fill.fill[data-v-d30db4c0]{background:var(--accent-soft)}.sub[data-v-0daf2431]{font-size:var(--fs-md)}.lab[data-v-0daf2431]{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.calc[data-v-0daf2431]{font-variant-numeric:tabular-nums}.gpct[data-v-0daf2431]{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.bar[data-v-0daf2431]{width:120px}td.num[data-v-0daf2431],th.num[data-v-0daf2431]{text-align:right;font-variant-numeric:tabular-nums}.amt[data-v-0daf2431]{max-width:120px}.tagrow[data-v-2a2f281a]{display:inline-flex;flex-wrap:wrap;gap:var(--s1)}.tag[data-v-2a2f281a]{height:auto;padding:2px var(--s2);font-size:var(--fs-sm);border-radius:999px;white-space:nowrap}.tag.on[data-v-2a2f281a]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.kindcell[data-v-2a2f281a]{white-space:nowrap}.kindcell input[data-v-2a2f281a]{width:calc(100% - 2.4em)}.up input[type=file][data-v-2a2f281a]{max-width:22em}.up .kind[data-v-2a2f281a]{max-width:10em}.go[data-v-2a2f281a]{cursor:pointer}.tagrow[data-v-257d316b]{display:flex;flex-wrap:wrap;gap:var(--s1);max-height:7.5em;overflow-y:auto;scrollbar-width:thin}.tag[data-v-257d316b]{height:auto;padding:2px var(--s2);font-size:var(--fs-sm);border-radius:999px;white-space:nowrap}.tag.on[data-v-257d316b]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.matrix .stick[data-v-257d316b]{position:sticky;left:0;z-index:2;background:var(--panel)}.matrix thead .stick[data-v-257d316b]{z-index:3}.cell[data-v-257d316b]{padding:2px}.dot[data-v-257d316b]{width:100%;height:var(--control-h-sm);padding:0 var(--s1);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:600;border:1px solid var(--border)}.dot.off[data-v-257d316b]{color:var(--muted);background:var(--panel-2);border-style:dashed}.dot.off[data-v-257d316b]:disabled{opacity:1}.dot.todo[data-v-257d316b]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.dot.warn[data-v-257d316b]{color:var(--warn);background:var(--warn-soft);border-color:var(--warn)}.dot.ready[data-v-257d316b]{color:var(--info, var(--accent));background:var(--info-soft, var(--accent-soft));border-color:var(--info, var(--accent));box-shadow:inset 0 0 0 1px currentColor}.dot.done[data-v-257d316b]{color:var(--success);background:var(--success-soft);border-color:var(--success)}.sysitem[data-v-257d316b]{white-space:nowrap}.finshell[data-v-f5fc46d4]{min-width:0}.sideadd[data-v-50e043be]{display:block;width:100%;text-align:left;padding:var(--s1) var(--s2);margin-top:2px;color:var(--muted);background:none;border:1px dashed var(--border);border-radius:var(--r1)}.sideadd[data-v-50e043be]:hover{color:var(--text);border-color:var(--border-strong)}.sideform[data-v-50e043be]{padding:var(--s2);border:1px solid var(--border);border-radius:var(--r1);background:var(--panel-2)}.sideform input[data-v-50e043be]{width:100%;margin:var(--s1) 0}.sidepick[data-v-50e043be]{display:block;width:100%;text-align:left;padding:var(--s1) var(--s2);background:none;border:0;border-radius:var(--r1)}.sidepick[data-v-50e043be]:hover{background:var(--row-hover)}.sideform .row[data-v-50e043be]{gap:var(--s1)}.projside__title[data-v-50e043be]{margin:calc(var(--s2) * -1) calc(var(--s2) * -1) var(--s2);padding:var(--s3) var(--s3) var(--s2);font-size:var(--fs-lg);font-weight:600;line-height:1.3;color:var(--text);border-bottom:1px solid var(--border);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projside[data-v-50e043be]{width:220px;flex:0 0 auto;position:sticky;top:calc(var(--topbar-h) + var(--s3));max-height:calc(100vh - var(--topbar-h) - var(--s5));overflow:auto;padding:var(--s2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.projside__body[data-v-50e043be]{display:flex;flex-direction:column;gap:var(--s0);min-width:0}.sidelink[data-v-50e043be]{display:flex;align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden}.sidelink[data-v-50e043be]:hover{background:var(--row-hover);text-decoration:none}.sidelink.on[data-v-50e043be]{background:var(--row-active);font-weight:600}.sidelink.sub[data-v-50e043be]{position:relative}.sidelink.sub.on[data-v-50e043be]:before{content:"";position:absolute;left:0;top:var(--s0);bottom:var(--s0);width:3px;border-radius:999px;background:var(--accent)}.sidelink__label[data-v-50e043be]{flex:1;overflow:hidden;text-overflow:ellipsis}.rate[data-v-50e043be]{font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--muted)}.phase[data-v-50e043be]{margin-top:var(--s1);padding-top:var(--s1);border-top:1px solid var(--border)}.phasehead[data-v-50e043be]{display:flex;align-items:center;gap:var(--s2);width:100%;height:auto;min-height:var(--control-h);padding:var(--s1) var(--s2);justify-content:flex-start;border:0;background:transparent;font-size:var(--fs-sm);font-weight:600}.phasehead[data-v-50e043be]:hover:not(:disabled){background:var(--row-hover);color:var(--text)}.caret[data-v-50e043be]{flex:none;width:1em;color:var(--muted);font-size:var(--fs-sm);line-height:1}.phasehead__name[data-v-50e043be]{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.phasemeta[data-v-50e043be]{flex:none;font-size:var(--fs-xs);font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}.phasebody[data-v-50e043be]{display:flex;flex-direction:column;gap:var(--s0);margin:var(--s0) 0 var(--s1) var(--s3)}@media(max-width:900px){.projside[data-v-50e043be]{width:100%;position:static;max-height:none}}.projshell[data-v-db3f82fe]{display:flex;align-items:flex-start;gap:var(--s3)}.projmain[data-v-db3f82fe]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--s3)}@media(max-width:900px){.projshell[data-v-db3f82fe]{flex-direction:column;align-items:stretch}}.big.warn[data-v-c6e2e918]{color:var(--danger)}.phases[data-v-c6e2e918]{display:flex;flex-direction:column;gap:var(--s1);flex:1}.phase[data-v-c6e2e918]{display:grid;grid-template-columns:48px 1fr 70px;gap:var(--s2);align-items:center;font-size:var(--fs-xs)}.states[data-v-c6e2e918]{margin-top:var(--s3)}.two-col[data-v-7c08c2fa]{display:grid;grid-template-columns:1fr;gap:var(--s5)}.sect+.sect[data-v-7c08c2fa]{margin-top:var(--s3)}.list li[data-v-7c08c2fa]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);padding:var(--s1) 0;border-bottom:1px solid var(--border)}.list .stamp[data-v-7c08c2fa]{font-size:var(--fs-xs);white-space:nowrap}.list .txt[data-v-7c08c2fa]{flex:1;min-width:8em;border-color:transparent;background:transparent;padding-left:var(--s1)}.list .txt[data-v-7c08c2fa]:hover,.list .txt[data-v-7c08c2fa]:focus{border-color:var(--border-strong);background:var(--panel)}.meta[data-v-7c08c2fa]{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);padding-left:1.6em}.meta label[data-v-7c08c2fa],.lab[data-v-7c08c2fa]{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.who[data-v-7c08c2fa]{width:6em}.qty[data-v-7c08c2fa]{width:5em}.unit[data-v-7c08c2fa]{width:4em}.late[data-v-7c08c2fa],.late input[data-v-7c08c2fa]{color:var(--danger)}.list .pill.here[data-v-7c08c2fa]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.pwrap[data-v-7c08c2fa]{position:relative;display:inline-flex}.pmenu[data-v-7c08c2fa]{position:absolute;top:calc(100% + var(--s1));right:0;z-index:10;min-width:10em;max-height:40vh;overflow:auto;display:flex;flex-direction:column;padding:var(--s1);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.pmitem[data-v-7c08c2fa]{display:flex;align-items:center;gap:5px;padding:4px var(--s2);border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer}.pmitem[data-v-7c08c2fa]:hover{background:var(--row-hover)}.mini.on[data-v-7c08c2fa]{border-color:var(--accent);color:var(--accent)}.list li.ro[data-v-7c08c2fa]{flex-wrap:nowrap;padding:2px 0;border-bottom:0}.mark[data-v-7c08c2fa]{width:1em;text-align:center;color:var(--muted)}.mark.ok[data-v-7c08c2fa]{color:var(--success);font-weight:600}.done[data-v-7c08c2fa]{text-decoration:line-through;color:var(--muted)}.sysgrid[data-v-ab9d093b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--s4)}.syscard[data-v-ab9d093b]{padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.syscard h4[data-v-ab9d093b]{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s2);padding-bottom:var(--s1);border-bottom:1px solid var(--border);font-size:var(--fs-md)}.prow[data-v-ab9d093b]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);padding:var(--s1) 0}.prow+.prow[data-v-ab9d093b]{border-top:1px solid var(--border)}.phase[data-v-ab9d093b]{display:inline-flex;align-items:center;gap:var(--s1);cursor:pointer}.prow .gpct[data-v-ab9d093b]{min-width:3em;text-align:right;font-variant-numeric:tabular-nums}.prow .bar[data-v-ab9d093b]{width:5em}.prow .cnt[data-v-ab9d093b]{font-size:var(--fs-xs);white-space:nowrap}.prow .mark[data-v-ab9d093b]{display:inline-block;width:1em;text-align:center;color:var(--muted)}.prow .mark.ok[data-v-ab9d093b]{color:var(--success);font-weight:600}.pnote[data-v-ab9d093b],.pnote input[data-v-ab9d093b]{width:100%}.custpick[data-v-ab9d093b]{display:flex;align-items:center;gap:var(--s2)}.custnew[data-v-ab9d093b]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s2);margin-top:var(--s2);padding:var(--s2);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--panel-2)}.custnew>label[data-v-ab9d093b]{display:flex;flex-direction:column;gap:var(--s0);font-size:var(--fs-xs);color:var(--muted)}.custnew input[data-v-ab9d093b]{width:160px}.metrics[data-v-ab9d093b]{align-items:flex-end;gap:var(--s5)}.calc[data-v-ab9d093b]{font-variant-numeric:tabular-nums}.rate[data-v-ab9d093b]{margin-left:var(--s2);font-size:var(--fs-base);color:var(--muted)}.gpct[data-v-ab9d093b]{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.bar[data-v-ab9d093b]{width:120px}.ro[data-v-ab9d093b]{display:inline-flex;align-items:center;min-height:var(--control-h);white-space:pre-wrap}.fgroup+.fgroup[data-v-ab9d093b]{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border)}.fgroup>h4[data-v-ab9d093b]{margin:0 0 var(--s2)}td.num[data-v-ab9d093b],th.num[data-v-ab9d093b]{text-align:right;font-variant-numeric:tabular-nums}.archive-zone[data-v-ab9d093b],.danger-zone[data-v-ab9d093b]{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--border)}.archive-zone .col[data-v-ab9d093b],.danger-zone .col[data-v-ab9d093b]{display:flex;flex-direction:column}.range[data-v-d7e36785]{white-space:nowrap}.range input[data-v-d7e36785]{width:9.5em}.totals[data-v-d7e36785]{margin-top:var(--s3)}tbody>tr.sum>td[data-v-d7e36785]{background:var(--panel-2)}tbody>tr.sum.top>td[data-v-d7e36785]{border-top:2px solid var(--border-strong)}.bulkbar[data-v-b72a4a31]{position:sticky;top:var(--topbar-h);z-index:6;background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow)}.two[data-v-b72a4a31]{display:flex;gap:var(--s0)}.two select[data-v-b72a4a31]{min-width:0;flex:1}.two>.fstat[data-v-b72a4a31]{min-width:0;flex:1}.pill.indoor[data-v-b72a4a31]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}tr.overdue>td[data-v-b72a4a31]{background:var(--danger-soft)}tbody>tr:not(.ghead):not(.gmore)>td[data-v-b72a4a31]{height:var(--row-h)}.gmore>td[data-v-b72a4a31]{padding-left:var(--s5);font-size:var(--fs-xs)}tr.ghead.empty[data-v-b72a4a31]{cursor:default}tr.ghead.empty .gname[data-v-b72a4a31]{color:var(--muted);font-weight:400}.who-opt[data-v-b72a4a31]{display:flex;align-items:center;gap:var(--s2)}.whocell[data-v-b72a4a31]{width:100%;justify-content:flex-start}.whocell.none[data-v-b72a4a31]{border-style:dashed;color:var(--muted)}.photocell[data-v-b72a4a31]{display:inline-flex;gap:var(--s2);width:100%;justify-content:center}.photocell.none[data-v-b72a4a31]{border-style:dashed}tr.ghead[data-v-b72a4a31]{cursor:pointer}tr.ghead strong[data-v-b72a4a31]{font-size:var(--fs-md)}.grow[data-v-b72a4a31]{display:flex;align-items:center;gap:var(--s2)}.gname[data-v-b72a4a31]{min-width:150px}.gnum[data-v-b72a4a31]{min-width:60px;text-align:right;font-variant-numeric:tabular-nums}.gpct[data-v-b72a4a31]{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.bar[data-v-b72a4a31]{width:90px}.txt[data-v-b72a4a31]{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.rate[data-v-f600cf4b]{display:flex;align-items:center;gap:var(--s2)}.rate>.bar[data-v-f600cf4b]{flex:1;min-width:40px}.ratenum[data-v-f600cf4b]{flex:none;font-variant-numeric:tabular-nums}.rowact[data-v-f600cf4b]{white-space:nowrap;text-align:right}.picks[data-v-f600cf4b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s1) var(--s3);max-height:240px;overflow-y:auto;padding:var(--s2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2)}.cat[data-v-05346051]{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2)}.cathead[data-v-05346051]{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.catname[data-v-05346051]{width:260px;font-size:var(--fs-md);font-weight:600}.card.archived[data-v-04f96866],.card.pending[data-v-04f96866]{--panel: var(--danger-soft);--panel-2: var(--danger-soft-2);--panel-3: var(--danger-soft-2)}.page-head .n[data-v-04f96866]{margin-left:var(--s1);color:var(--muted);font-variant-numeric:tabular-nums}.pname[data-v-04f96866]{font-size:var(--fs-md);font-weight:600}.pname[data-v-04f96866]:hover{color:var(--accent)}td[data-v-04f96866]{font-size:var(--fs-base)}.chips[data-v-04f96866]{display:flex;gap:var(--s1);flex-wrap:wrap}.chips button[data-v-04f96866]{border-radius:999px}.chips button.on[data-v-04f96866]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.chips button.on[data-v-04f96866]:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chips .n[data-v-04f96866]{margin-left:var(--s1);color:var(--muted);font-variant-numeric:tabular-nums}.chips button.on .n[data-v-04f96866]{color:var(--on-accent)}.chips button.unset[data-v-04f96866]{border-style:dashed}.toolbar .kw[data-v-04f96866]{flex:1;min-width:220px}.money-toggle.on[data-v-04f96866]{border-color:var(--accent);color:var(--accent);font-weight:600}.pill.live[data-v-04f96866]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.pill.plan[data-v-04f96866]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.pill.warranty[data-v-04f96866]{background:var(--success-soft);border-color:var(--success);color:var(--success)}.pill.closed[data-v-04f96866]{color:var(--muted)}.pill.unset[data-v-04f96866]{background:transparent;border-style:dashed;color:var(--muted)}.pill.stage[data-v-04f96866]{background:var(--panel)}.ordcol[data-v-04f96866]{white-space:nowrap}.ordcell[data-v-04f96866]{text-align:left}.ghandle[data-v-04f96866]{display:inline-flex;align-items:center;gap:var(--s1);cursor:grab;-webkit-user-select:none;user-select:none}.ghandle.off[data-v-04f96866]{cursor:default}.ghandle.off .grip[data-v-04f96866]{opacity:.25}.ghandle[data-v-04f96866]:active{cursor:grabbing}.ord[data-v-04f96866]{width:52px;height:var(--control-h-sm);padding:0 var(--s1);text-align:center;font-variant-numeric:tabular-nums}.ord[data-v-04f96866]:disabled{color:var(--muted);cursor:not-allowed}td.num[data-v-04f96866],th.num[data-v-04f96866]{text-align:right;font-variant-numeric:tabular-nums}.col-spent[data-v-04f96866]{color:var(--danger);background:var(--danger-soft)}.col-invoice[data-v-04f96866]{color:var(--success);background:var(--success-soft)}.col-profit[data-v-04f96866]{color:var(--accent);background:var(--accent-soft)}td.col-spent[data-v-04f96866],td.col-invoice[data-v-04f96866],td.col-profit[data-v-04f96866]{font-weight:600}.neg[data-v-04f96866]{color:var(--danger)!important}.rate[data-v-04f96866]{color:var(--muted)}.rate.full[data-v-04f96866]{color:var(--success);font-weight:600}.print-overlay[data-v-a9d46365]{position:fixed;inset:0;z-index:20;background:var(--scrim-strong);overflow:auto;padding:var(--s4)}.actions[data-v-a9d46365]{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-a9d46365]{color:var(--danger);font-weight:600}.paper[data-v-a9d46365]{max-width:1100px;margin:0 auto;background:#fff;color:#111;padding:28px 32px;border-radius:4px;overflow-x:auto}.doc-head[data-v-a9d46365]{text-align:center;margin-bottom:14px}.doc-head h1[data-v-a9d46365]{font-size:18px;margin:0 0 4px;letter-spacing:2px}.doc-head h2[data-v-a9d46365]{font-size:22px;margin:0 0 8px;letter-spacing:4px}.doc-head .line[data-v-a9d46365]{margin:2px 0;text-align:left;font-size:13px}.doc-head .seg+.seg[data-v-a9d46365]{margin-left:24px}table.doc[data-v-a9d46365]{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}table.doc[data-v-a9d46365] :is(th,td){border:1px solid #333;padding:4px 6px;color:#111;word-break:break-word}table.doc.summary[data-v-a9d46365]{table-layout:auto}table.doc th[data-v-a9d46365]{background:#eee;text-align:center;font-weight:700}td.right[data-v-a9d46365]{text-align:right}td.center[data-v-a9d46365]{text-align:center}tr.sec td[data-v-a9d46365]{background:#f3f3f3;font-weight:700}tr.sum td[data-v-a9d46365],tr.sub td[data-v-a9d46365],tr.total td[data-v-a9d46365]{font-weight:700}table.doc.detail[data-v-a9d46365]{margin-top:18px}tr.grand td[data-v-a9d46365]{font-size:14px}.loss[data-v-a9d46365]{color:#c0392b}.summary[data-v-a9d46365]{width:320px;margin-top:14px;margin-left:auto}@media print{.print-overlay[data-v-a9d46365]{position:static;background:none;padding:0;overflow:visible}.paper[data-v-a9d46365]{max-width:none;padding:0;border-radius:0;overflow:visible}table.doc[data-v-a9d46365]{font-size:10.5px}table.doc thead[data-v-a9d46365]{display:table-header-group}table.doc[data-v-a9d46365]:not(.detail):not(.summary){break-inside:avoid}@page{size:A4 landscape;margin:10mm}}.pick[data-v-dbf9c6a3]{width:min(560px,100%)}.filters[data-v-dbf9c6a3]{max-height:none;gap:var(--s2)}.filters input[data-v-dbf9c6a3],.filters select[data-v-dbf9c6a3]{width:100%}.opts[data-v-dbf9c6a3]{max-height:46vh;overflow:auto;padding:var(--s1)}.empty[data-v-dbf9c6a3]{margin:0;padding:var(--s3);text-align:center}.ghead[data-v-dbf9c6a3]{padding:var(--s1) var(--s2);color:var(--muted);font-size:var(--fs-2xs)}.opt[data-v-dbf9c6a3]{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-dbf9c6a3]:hover{background:var(--row-hover)}.opt.on-cursor[data-v-dbf9c6a3]{background:var(--row-active)}.opt.picked .label[data-v-dbf9c6a3]{font-weight:600}.opt.disabled[data-v-dbf9c6a3]{opacity:.5}.label[data-v-dbf9c6a3]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub[data-v-dbf9c6a3],.count[data-v-dbf9c6a3]{font-size:var(--fs-xs)}.model-cell[data-v-34f07712]{flex-wrap:nowrap}.model-cell>input[data-v-34f07712]{min-width:0}.card.archived[data-v-34f07712]{--panel: var(--danger-soft);--panel-2: var(--danger-soft-2);--panel-3: var(--danger-soft-2)}fieldset.bare[data-v-34f07712]{min-width:0;margin:0;padding:0;border:0}fieldset.bare[disabled][data-v-34f07712]{opacity:.75}.stick[data-v-34f07712]{position:sticky;left:0;z-index:8;background:var(--panel)}thead .stick[data-v-34f07712]{z-index:9}tbody>tr:nth-child(2n)>.stick[data-v-34f07712]{background:var(--panel-2)}tbody>tr:hover>.stick[data-v-34f07712]{background:var(--row-hover)}.sec-name[data-v-34f07712]{min-width:280px;font-weight:600}tr.active[data-v-34f07712]{background:var(--row-active)}tr.unchecked[data-v-34f07712]{opacity:.5}.cell[data-v-34f07712]{width:100%;padding:var(--s0) var(--s1)}.cell[type=number][data-v-34f07712]::-webkit-outer-spin-button,.cell[type=number][data-v-34f07712]::-webkit-inner-spin-button{appearance:none;margin:0}.cell[type=number][data-v-34f07712]{-moz-appearance:textfield;appearance:textfield}.clickrow[data-v-1cb9d8e9]{cursor:pointer}.rate[data-v-1cb9d8e9]{display:flex;align-items:center;gap:var(--s2)}.rate>.bar[data-v-1cb9d8e9]{flex:1;min-width:40px}.ratenum[data-v-1cb9d8e9]{flex:none;font-variant-numeric:tabular-nums}.wall[data-v-1cb9d8e9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s3)}.ccard[data-v-1cb9d8e9]{display:flex;flex-direction:column;align-items:stretch;gap:var(--s1);height:auto;padding:var(--s3);text-align:left;background:var(--panel-2)}.ctop[data-v-1cb9d8e9]{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.csub[data-v-1cb9d8e9]{font-size:var(--fs-xs)}button.missing[data-v-3c2dc647]{border-color:var(--danger);background:var(--danger-soft)}button.pick-model[data-v-3c2dc647]{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:var(--s1);padding-bottom:var(--s1)}tr.is-open>td[data-v-3c2dc647]{background:var(--row-active);border-bottom-color:var(--accent)}tr.is-open:hover>td[data-v-3c2dc647]{background:var(--row-active)}tr.is-open>td[data-v-3c2dc647]:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.low>td[data-v-3c2dc647]{background:var(--danger-soft)}tr.closed>td[data-v-3c2dc647]{color:var(--muted)}tr.voided>td[data-v-3c2dc647]{color:var(--muted);text-decoration:line-through}tr.voided>td.actions[data-v-3c2dc647],tr.voided>td .pill[data-v-3c2dc647]{text-decoration:none}th.num[data-v-3c2dc647],td.num[data-v-3c2dc647]{text-align:right}.stale[data-v-f2ff5199]{background:var(--warn-soft, var(--panel-2));border-color:var(--warn, var(--border))}.summary[data-v-f2ff5199]{margin:0}.rule[data-v-f2ff5199]{flex-wrap:wrap;gap:var(--s3)}.rule label[data-v-f2ff5199]{display:flex;align-items:center;gap:var(--s1)}.rule input[type=number][data-v-f2ff5199]{width:96px}.note-warn[data-v-f2ff5199]{margin:0;padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:var(--warn-soft);font-size:var(--fs-sm)}.doomed[data-v-f2ff5199],.total[data-v-f2ff5199]{font-size:var(--fs-md)}.detail[data-v-f2ff5199],.via[data-v-f2ff5199],.subject[data-v-f2ff5199]{font-size:var(--fs-sm)}tbody td[data-v-9493c253]:not(:first-child){text-align:center}tbody>tr.ghead[data-v-9493c253]{cursor:default}tr.ghead>td[data-v-9493c253]{text-align:left}.inner[data-v-6e966807]{width:100%}.error[data-v-6e966807]{margin-left:var(--s2)}.ovstats[data-v-29fb9030]{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}tr.ghead[data-v-29fb9030]{cursor:pointer}tr.ghead .caret[data-v-29fb9030]{margin-right:var(--s2)}.loclist .bldg[data-v-dcc331b1]{color:var(--muted);font-weight:600}.picker-wrap[data-v-dcc331b1]{--table-h: 46vh}.pick-col[data-v-dcc331b1]{width:40px;text-align:center}.phase-col[data-v-dcc331b1]{width:88px}.pickbar select[data-v-dcc331b1]{max-width:14em}.pt-filter[data-v-dcc331b1]{width:12em}.num-col[data-v-dcc331b1]{width:72px;text-align:right;font-variant-numeric:tabular-nums}.picker-wrap tbody tr[data-v-dcc331b1]{cursor:pointer}.structcol[data-v-dcc331b1]>*:not(.card__head,.toolbar,.list){margin-left:var(--s3);margin-right:var(--s3);margin-top:var(--s3)}.structcol[data-v-dcc331b1]{display:flex;flex-direction:column;max-height:calc(100dvh - var(--topbar-h) - var(--s4) * 2 - var(--scrollbar-h))}.structcol[data-v-dcc331b1]>*:not(.list){flex:none}.structcol>.list[data-v-dcc331b1]{margin:0;border-left:none;border-right:none;border-radius:0;flex:1 1 auto;min-height:0;overflow-y:auto}.devrow[data-v-dcc331b1]{--table-h: none}.structcol>.toolbar[data-v-dcc331b1]{margin:0;border-left:none;border-right:none;border-top:none;border-radius:0}.structcol>.card.accent[data-v-dcc331b1]{margin-bottom:var(--s3)}.structcol>.card.accent+.toolbar[data-v-dcc331b1]{border-top:1px solid var(--border)}.structcol[data-v-dcc331b1]>*:last-child{margin-bottom:var(--s3)}.cols[data-v-dcc331b1]{display:grid;grid-template-columns:minmax(260px,280px) minmax(0,1fr);gap:var(--s3);align-items:start}@media(max-width:1100px){.cols[data-v-dcc331b1]{grid-template-columns:1fr}.structcol[data-v-dcc331b1]{max-height:none}.structcol>.list[data-v-dcc331b1]{overflow-y:visible}}.structcol[data-v-dcc331b1]:last-child{position:sticky;top:calc(var(--topbar-h) + var(--s3));align-self:start}h4[data-v-dcc331b1]{margin:0 0 var(--s2)}.list[data-v-dcc331b1]{list-style:none;margin:0 0 var(--s3);padding:0;border:1px solid var(--border);border-radius:var(--radius-sm)}.list li[data-v-dcc331b1]{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-dcc331b1],.list li.devrow[data-v-dcc331b1]{display:block;cursor:default;padding:var(--s3);background:var(--bg);box-shadow:inset 3px 0 0 var(--accent)}.list li.editrow[data-v-dcc331b1]:hover,.list li.devrow[data-v-dcc331b1]:hover{background:var(--bg)}.list li>.card+.card[data-v-dcc331b1]{margin-top:var(--s3)}.caret[data-v-dcc331b1]{width:12px;color:var(--muted);flex:none}.list li.odd[data-v-dcc331b1]{background:var(--panel-2)}.list li[data-v-dcc331b1]:hover{background:var(--row-hover)}.list li.active[data-v-dcc331b1]{background:var(--row-active);box-shadow:inset 4px 0 0 var(--accent)}.list li.active>strong[data-v-dcc331b1]{font-weight:700}.of[data-v-dcc331b1]{color:var(--accent);font-weight:600}.count[data-v-dcc331b1]{white-space:nowrap}.toolbar>input[data-v-dcc331b1]{flex:1 1 16rem;min-width:0}.field-grid[data-v-dcc331b1]{grid-template-columns:minmax(72px,max-content) minmax(0,1fr);margin-top:var(--s2)}.phases.own[data-v-dcc331b1]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.devtable[data-v-dcc331b1],.devtable select[data-v-dcc331b1]{width:100%;min-width:0}.devtable[data-v-dcc331b1] td>input{min-width:0}.devtable[data-v-dcc331b1] th.fill,.devtable[data-v-dcc331b1] td.fill{width:0;min-width:0;padding:0}.devtable[data-v-dcc331b1] td.actions{white-space:normal}.phase-opt[data-v-dcc331b1]{display:flex;align-items:center;gap:var(--s2);cursor:pointer}:root{--panel: #fafbfc;--panel-2: #f2f5f8;--panel-3: #e9eef4;--bg: #dde4ec;--group-bg: #d2dbe6;--group-bg-hover: #bfcbd9;--border: #cbd5e1;--border-strong: #94a3b8;--text: #0f172a;--muted: #475569;--accent: #2563eb;--accent-soft: #eff6ff;--row-hover: #dbe7fb;--row-active: #c7d9f7;--placeholder: #94a3b8;--on-accent: #ffffff;--success: #059669;--success-soft: #ecfdf5;--danger: #dc2626;--danger-soft: #fef2f2;--danger-soft-2: #fbe3e3;--warn: #d97706;--warn-soft: #fffbeb;--s-hair: 1px;--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(15, 23, 42, .06), 0 4px 14px rgba(15, 23, 42, .08);--shadow-lg: 0 2px 6px rgba(15, 23, 42, .08), 0 12px 32px rgba(15, 23, 42, .14);--control-h: 34px;--control-h-sm: 24px;--control-h-xs: 20px;--scrollbar-h: 10px;--drag-col-w: 56px;--thead-h: 41px;--row-h: 53px;--scrim: rgba(15, 23, 42, .35);--scrim-strong: rgba(15, 23, 42, .5);--nav-bg: #0f172a;--nav-border: #1e293b;--nav-text: #ffffff;--nav-muted: #b6c0cf;--nav-hover: rgba(255, 255, 255, .08);--nav-active: rgba(255, 255, 255, .18);--nav-shadow: 0 2px 12px rgba(15, 23, 42, .18);--shadow-accent: 0 2px 8px rgba(37, 99, 235, .28);--shadow-accent-sm: 0 1px 3px rgba(37, 99, 235, .32);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}.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:var(--s0);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{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){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:var(--topbar-h)}.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:var(--topbar-h);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:var(--topbar-h);z-index:4;background:var(--panel);border-bottom:2px solid var(--border-strong);font-weight:600;color:var(--muted);font-size:var(--fs-sm)}.table-wrap:not(.page-scroll) th{top:0}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 .bar{background:var(--panel)}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:var(--s-hair) 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:var(--s-hair) 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:minmax(90px,max-content) 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:var(--panel)}}.tabs__sep{width:1px;align-self:stretch;margin:0 var(--s2);background:var(--border)}:root{--fs-2xs: 12px;--fs-xs: 14px;--fs-sm: 15px;--fs-base: 16px;--fs-md: 17px;--fs-lg: 22px;--fs-xl: 26px}.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)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s3)}.kpi{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{font-size:var(--fs-xs);color:var(--muted)}.kpi .big{font-size:var(--fs-xl);font-weight:600;font-variant-numeric:tabular-nums}.kpi .big small{font-size:var(--fs-base);font-weight:400;color:var(--muted)}.kpi .foot{font-size:var(--fs-2xs);color:var(--muted)}.kpi.accent .big{color:var(--accent)}.kpi.good .big{color:var(--success)}.kpi.warn .big{color:var(--warn)}.kpi.bad .big{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:calc(var(--topbar-h) + 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}.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)}
