.bell[data-v-16c77e16]{color:inherit;opacity:.85;align-items:center;margin-right:6px;padding:4px 6px;display:inline-flex;position:relative}.bell[data-v-16c77e16]:hover,.bell.on[data-v-16c77e16]{opacity:1}.bell-n[data-v-16c77e16]{color:#fff;text-align:center;box-sizing:border-box;background:#d64545;border-radius:8px;min-width:16px;padding:0 4px;font-size:11px;line-height:16px;position:absolute;top:-4px;right:-6px}.sr[data-v-16c77e16]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.wx-or[data-v-9a11e0af]{color:var(--muted);align-items:center;gap:10px;margin-top:4px;font-size:12px;display:flex}.wx-or[data-v-9a11e0af]:before,.wx-or[data-v-9a11e0af]:after{content:"";border-top:1px solid var(--line);flex:1}.wx-btn[data-v-9a11e0af]{text-align:center;border:1px solid var(--brand);color:var(--brand);background:#fff;border-radius:6px;padding:10px;font-weight:600;text-decoration:none;display:block}.wx-btn[data-v-9a11e0af]:hover{background:var(--brand-soft)}.wx-btn.hot[data-v-9a11e0af]{background:var(--brand);color:#fff}.wx-btn.off[data-v-9a11e0af]{pointer-events:none;opacity:.5}.wx-sub[data-v-9a11e0af]{text-align:center;margin-top:-8px;font-size:12px}.draft-row[data-v-1c84cfc5]{border:none;border-top:1px solid var(--line);text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border-radius:0}.draft-row[data-v-1c84cfc5]:first-of-type{border-top:none}.draft-row:hover .go[data-v-1c84cfc5]{text-decoration:underline}.draft-row small[data-v-1c84cfc5]{color:var(--muted);margin-left:4px}h3 small.late[data-v-1c84cfc5]{color:var(--amber)}.wc-head[data-v-347bda0e]{align-items:center;gap:10px;margin-bottom:6px;display:flex}.wc .table-wrap[data-v-347bda0e]{margin-top:8px}.wx-part[data-v-0eb94fa7]{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:14px;padding-top:10px;display:flex}.wx-part h4[data-v-0eb94fa7]{margin:0;font-size:15px}.wx-part label[data-v-0eb94fa7]:not(.check){flex-direction:column;gap:4px;display:flex}.wx-part .dialog-foot[data-v-0eb94fa7]{margin-top:4px}.head-acts[data-v-35ba4761]{align-items:center;gap:14px;display:flex}.nt-list[data-v-f2ebe13a]{flex-direction:column;padding:4px 0;display:flex}.nt-row[data-v-f2ebe13a]{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;font:inherit;background:0 0;border-radius:0;align-items:flex-start;gap:10px;padding:12px 20px;display:flex}.nt-row[data-v-f2ebe13a]:hover{background:var(--brand-soft)}.nt-row[data-v-f2ebe13a]:last-of-type{border-bottom:0}.nt-dot[data-v-f2ebe13a]{background:0 0;border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.nt-row.unread .nt-dot[data-v-f2ebe13a]{background:var(--brand)}.nt-main[data-v-f2ebe13a]{flex-direction:column;flex:1;gap:3px;display:flex}.nt-main small[data-v-f2ebe13a]{color:var(--muted);line-height:1.5}.nt-row:not(.unread) b[data-v-f2ebe13a]{font-weight:500}.nt-time[data-v-f2ebe13a]{color:var(--muted);white-space:nowrap;font-size:12px}.wp-cats[data-v-49811be1]{flex-direction:column;gap:8px;margin:6px 0;display:flex}.wp-cats small[data-v-49811be1]{margin-left:8px}.wp-counts[data-v-49811be1]{flex-wrap:wrap;gap:8px;display:flex}.err-t[data-v-49811be1]{color:#c0392b;word-break:break-all}h3[data-v-49811be1]{margin:14px 0 6px;font-size:15px}.effect[data-v-df1b2ff8]{background:#f4f8ff;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:13px;line-height:1.8}.effect .row[data-v-df1b2ff8]{color:#1f2933}.effect .flag[data-v-df1b2ff8]{color:#a86400;margin-left:6px}.effect .sub[data-v-df1b2ff8]{color:#6b7785}.filters input.day[data-v-edd2b3af]{width:150px}.filters input.proj[data-v-edd2b3af]{width:170px}.more-btn[aria-expanded=true][data-v-edd2b3af]{border-color:var(--brand);color:var(--brand)}.more-box[data-v-edd2b3af]{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 14px;display:flex}.more-row[data-v-edd2b3af]{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.more-row .lbl[data-v-edd2b3af]{color:var(--muted);min-width:56px;font-size:13px}.more-row .lbl+.check[data-v-edd2b3af],.more-row .check[data-v-edd2b3af]{gap:4px}.more-row .check input[data-v-edd2b3af]{width:auto}.more-row input.kw[data-v-edd2b3af]{width:180px}.views button[data-v-edd2b3af]{padding-left:10px;padding-right:10px}.caliber[data-v-edd2b3af]{margin:-6px 0 10px}.sum-opts .lbl[data-v-edd2b3af]{color:var(--muted);font-size:13px}.sum-table td .sub[data-v-edd2b3af]{white-space:normal}.chips-bar[data-v-edd2b3af]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.qchip[data-v-edd2b3af]{background:var(--brand-soft);color:var(--brand);border-radius:12px;align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.qchip button[data-v-edd2b3af]{color:inherit;background:0 0;border:none;padding:0 4px;font-size:15px;line-height:1}.qchip button[data-v-edd2b3af]:hover{color:var(--danger)}.q-rows tr.open td[data-v-edd2b3af]{background:#f4f8ff}.q-rows th[data-v-edd2b3af],.q-rows td[data-v-edd2b3af]{padding:8px}.q-rows td[data-v-edd2b3af]:nth-child(5){min-width:90px}.q-rows td[data-v-edd2b3af]:nth-child(6){min-width:150px}.q-rows th[data-v-edd2b3af]{vertical-align:bottom}.row-detail>td[data-v-edd2b3af]{background:#fafcff;padding:10px 14px 14px}.rd[data-v-edd2b3af]{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.rd h4[data-v-edd2b3af]{margin:4px 0 6px;font-size:13px}.rd h4 small[data-v-edd2b3af]{color:var(--muted);margin-left:6px;font-weight:400}.rd-people[data-v-edd2b3af]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.kv[data-v-edd2b3af]{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:13px;display:grid}.kv dt[data-v-edd2b3af]{color:var(--muted)}.kv dd[data-v-edd2b3af]{margin:0}.kv.small[data-v-edd2b3af]{font-size:12px}@media (width<=1100px){.rd[data-v-edd2b3af]{grid-template-columns:1fr}}.mc[data-v-012ab4f0]{position:relative}svg[data-v-012ab4f0]{display:block}.legend[data-v-012ab4f0]{color:#52514e;gap:14px;margin-bottom:4px;font-size:12px;display:flex}.legend .unit[data-v-012ab4f0]{color:#6b7785;margin-left:auto}.legend i[data-v-012ab4f0]{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.pa[data-v-012ab4f0]{fill:#2a78d6;background:#2a78d6}.pb[data-v-012ab4f0]{fill:#eb6834;background:#eb6834}.grid line[data-v-012ab4f0]{stroke:#e6e8eb;stroke-width:1px}.grid text[data-v-012ab4f0],.lbl[data-v-012ab4f0]{fill:#6b7785;font-size:11px}.lbl.on[data-v-012ab4f0]{fill:#1f2933;font-weight:600}.hit[data-v-012ab4f0]{fill:#0000}g:hover .hit[data-v-012ab4f0]{fill:#0b4f9c0d}.tip[data-v-012ab4f0]{color:#1f2933;pointer-events:none;white-space:nowrap;background:#fff;border:1px solid #dfe4ea;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;top:24px;transform:translate(-50%);box-shadow:0 2px 8px #00000014}.go[data-v-6f7b2d91]{color:inherit;text-decoration:none}.go[data-v-6f7b2d91]:hover{color:var(--brand);text-decoration:underline}.k-studio[data-v-9b4c943a]{--k:#245483;--ks:#eef4fb}.k-field[data-v-9b4c943a]{--k:#0e9384;--ks:#e6f5f2}.k-other[data-v-9b4c943a]{--k:#7c5cd6;--ks:#f1edfc}.k-task[data-v-9b4c943a]{--k:#d55181;--ks:#fbeaf1}.k-duty[data-v-9b4c943a]{--k:#f0b429;--ks:#fdf3d3}.k-leave[data-v-9b4c943a]{--k:#e5484d;--ks:#fdecec}.k-free[data-v-9b4c943a],.k-free_guess[data-v-9b4c943a]{--k:#9aa5b1;--ks:#f4f6f8}.legend[data-v-9b4c943a]{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-left:auto;font-size:12px;display:flex}.lg i[data-v-9b4c943a],.gk i[data-v-9b4c943a]{background:var(--k);vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.ok[data-v-9b4c943a]{color:var(--green);margin-right:3px}.miss[data-v-9b4c943a],.unpl[data-v-9b4c943a],.wait[data-v-9b4c943a]{border-radius:6px;margin-right:3px;padding:0 5px;font-size:11px;font-weight:600}.miss[data-v-9b4c943a]{color:var(--amber);border:1px dashed var(--amber)}.wait[data-v-9b4c943a]{color:var(--brand);background:var(--brand-soft);cursor:help;border:1px solid #b9cdea}.unpl[data-v-9b4c943a]{color:#7c5cd6;border:1px solid #c9bdf2}.grp[data-v-9b4c943a]{border-top:1px solid var(--line);align-items:baseline;gap:10px;padding:5px 0;display:flex}.gk[data-v-9b4c943a]{flex:none;width:190px;font-size:13px}.gl .sub[data-v-9b4c943a]{color:var(--muted)}.today-head[data-v-9b4c943a]{align-items:center;gap:12px;margin-bottom:8px;display:flex}.today-head h3[data-v-9b4c943a]{margin:0}.ts-ops[data-v-9b4c943a]{color:var(--muted);white-space:nowrap;align-items:center;gap:14px;margin-left:auto;font-size:13px;display:flex}.ts[data-v-9b4c943a]{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink);flex-direction:row;align-items:center;gap:6px;position:relative}.ts input[data-v-9b4c943a]{opacity:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.ts-knob[data-v-9b4c943a]{background:#c9d1da;border-radius:9px;flex:none;width:30px;height:17px;transition:background .15s;position:relative}.ts-knob[data-v-9b4c943a]:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.ts input:checked+.ts-knob[data-v-9b4c943a]{background:var(--k)}.ts input:checked+.ts-knob[data-v-9b4c943a]:after{transform:translate(13px)}.ts input:focus-visible+.ts-knob[data-v-9b4c943a]{outline:2px solid var(--brand);outline-offset:2px}.gl[data-v-9b4c943a]{flex-wrap:wrap;gap:4px 12px;display:flex}.who small[data-v-9b4c943a]{color:var(--muted)}.wk-wrap[data-v-9b4c943a]{overflow-x:auto}.wk[data-v-9b4c943a]{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:100%;min-width:900px;font-size:12px}.wk th[data-v-9b4c943a],.wk td[data-v-9b4c943a]{vertical-align:top}.wk thead th[data-v-9b4c943a]{color:var(--muted);cursor:pointer;border-radius:6px;padding:4px;font-weight:600}.wk thead th small[data-v-9b4c943a]{margin-left:4px;font-weight:400}.wk thead th.now[data-v-9b4c943a]{color:var(--ink);background:#fff4cc}.wk thead th.pick[data-v-9b4c943a]{outline:2px solid var(--brand)}.wk .rh[data-v-9b4c943a]{text-align:left;width:110px;color:var(--ink);padding:4px;font-weight:600}.wk .rh small[data-v-9b4c943a]{color:var(--muted);font-size:11px;font-weight:400;display:block}.wk td[data-v-9b4c943a]{background:#fafbfc;border:1px solid #0000;border-radius:6px;min-height:36px;padding:4px 6px}.wk td.now[data-v-9b4c943a]{box-shadow:0 0 0 1.5px #f0b429}.wk td.pc[data-v-9b4c943a]{background:var(--ks,#fafbfc);box-shadow:inset 3px 0 0 var(--k,transparent)}.wk td.pc.now[data-v-9b4c943a]{box-shadow:inset 3px 0 0 var(--k,transparent), 0 0 0 1.5px #f0b429}.wk td.vc[data-v-9b4c943a]{background:#fafbfc}.wk td.vc[data-v-9b4c943a]:has(.pl:not(.cx)){background:#eef4fb;box-shadow:inset 3px 0 #245483}.wk td.st-missing[data-v-9b4c943a]{border:1px dashed var(--amber)}.wk td.st-draft[data-v-9b4c943a]{border:1px dashed #8fb0dd}.pl[data-v-9b4c943a]{line-height:1.35}.pl.cx[data-v-9b4c943a]{color:#a0a8b2;text-decoration:line-through}.ac[data-v-9b4c943a]{color:var(--ink);line-height:1.35}.ac small[data-v-9b4c943a]{color:var(--muted)}.dg-head[data-v-9b4c943a]{align-items:baseline;gap:12px;display:flex}.dg-ops[data-v-9b4c943a]{white-space:nowrap;margin-left:auto;font-size:13px}.wk .dh th[data-v-9b4c943a]{text-align:left;padding:16px 0 3px}.wk .dg:first-of-type .dh th[data-v-9b4c943a]{padding-top:2px}.dg-bar[data-v-9b4c943a]{border:none;border-left:5px solid var(--brand);background:var(--brand-soft);text-align:left;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.dg-bar[data-v-9b4c943a]:hover{background:#dce8f8}.dg-chev[data-v-9b4c943a]{width:12px;color:var(--brand);transition:transform .15s;display:inline-block}.dg-bar[aria-expanded=false] .dg-chev[data-v-9b4c943a]{transform:rotate(-90deg)}.dg-name[data-v-9b4c943a]{color:var(--brand);font-size:15px}.dg-n[data-v-9b4c943a]{color:var(--muted);font-size:13px}.dg-sum[data-v-9b4c943a]{gap:6px;display:flex}.dg-sum b[data-v-9b4c943a]{background:#fff}.dg-act[data-v-9b4c943a]{color:var(--brand);margin-left:auto;font-size:12px}.rv-hl td[data-v-51389f61]{background:#fff7e0}.hol-form h3[data-v-70ee92db]{margin:0 0 10px;font-size:15px}.hol-form label[data-v-70ee92db]{flex-direction:row;align-items:center;gap:6px;display:inline-flex}.hol-form input[type=date][data-v-70ee92db]{width:150px}.hol-form input[data-v-70ee92db]:not([type]){width:160px}.year-tabs[data-v-70ee92db]{align-items:center;gap:12px;margin-bottom:10px;display:flex}:root{--bg:#f4f6f9;--panel:#fff;--ink:#1f2933;--muted:#6b7785;--line:#dfe4ea;--brand:#0b4f9c;--brand-soft:#e8f0fb;--danger:#c0392b;--green:#1e7f4f;--amber:#a86400;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3{margin:0 0 12px}h2 small,h3 small{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}button,.btn{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:6px 14px;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.wide{width:100%;margin-top:8px;padding:10px}button.link{color:var(--brand);background:0 0;border:none;padding:2px 4px}button.link.danger{color:var(--danger)}input,select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;padding:7px 10px}label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}label input,label select{color:var(--ink);font-size:14px}.topbar{background:var(--brand);color:#fff;align-items:center;gap:24px;height:56px;padding:0 24px;display:flex}.brand{white-space:nowrap;font-size:16px;font-weight:600}.nav{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.nav a{color:#fffc;white-space:nowrap;border-radius:6px;padding:6px 12px;text-decoration:none}.nav a.on,.nav a:hover{color:#fff;background:#ffffff29}.me{white-space:nowrap;align-items:center;gap:8px;display:flex}.me .who small{opacity:.75;margin-left:6px;font-size:12px}.me .link{color:#fff}.main{max-width:1280px;margin:0 auto;padding:24px}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px 20px}.card.info{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.card.info span{color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.card.muted{color:var(--muted)}.actions{flex-wrap:wrap;gap:8px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters input{width:220px;max-width:100%}.count{color:var(--muted);margin-left:auto}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-height:calc(100vh - 150px);overflow:auto}.table-wrap>.table>thead th{z-index:3;box-shadow:inset 0 -1px 0 var(--line);position:sticky;top:0}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px}.table th{color:var(--muted);white-space:nowrap;background:#f8fafc;font-weight:500}.table tr:last-child td{border-bottom:none}.table .strong{font-weight:600}.table .ops{white-space:nowrap}.table .empty{text-align:center;color:var(--muted);padding:32px}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.tag{white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:12px}.tag.gray{color:var(--muted);background:#eef0f3}.tag.amber{color:var(--amber);background:#fff3e0}.tag.green{color:var(--green);background:#e6f4ec}.pager{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.err{color:var(--danger);margin:8px 0}.notice{background:var(--brand-soft);color:var(--brand);border-radius:6px;padding:8px 12px}.hint{color:var(--muted);font-size:13px}.auth-page{background:linear-gradient(160deg,#0b4f9c 0%,#103a6b 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:#fff;border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px 28px;display:flex}.auth-card h1{margin:0;font-size:20px}.auth-card .sub{color:var(--muted);margin:-8px 0 4px}.auth-card .link{align-self:center}.rules{color:var(--muted);margin:0;padding-left:18px;font-size:12px}.mask{z-index:10;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;padding:20px 24px;overflow:auto}.dialog-foot{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.roles{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;padding:8px 12px;display:flex}.roles legend{color:var(--muted);padding:0 4px;font-size:13px}.check{color:var(--ink);flex-direction:row;align-items:center;gap:6px;font-size:14px}.otp{letter-spacing:2px;text-align:center;-webkit-user-select:all;user-select:all;background:#f4f6f9;border-radius:8px;padding:12px;font-family:ui-monospace,Menlo,monospace;font-size:26px}@media (width<=720px){.topbar{gap:12px;padding:0 16px}.brand{display:none}.main{padding:16px}.grid2{grid-template-columns:1fr}.filters input{width:100%}.count{margin-left:0}}.dialog.wide{max-width:720px}.span2{grid-column:1/-1}.tag.blue{background:var(--brand-soft);color:var(--brand)}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.card.session{flex-direction:column;gap:6px;margin:0;display:flex}.card.session.ro{background:#fafbfc}.card.session.joined{border-color:var(--brand)}.s-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.s-time{font-variant-numeric:tabular-nums;font-weight:600}.s-loc{color:var(--muted)}.s-proj{font-size:15px;font-weight:600}.s-meta{color:var(--muted);font-size:13px}.s-people{flex-wrap:wrap;gap:4px;display:flex}.chip{background:#eef2f7;border-radius:12px;padding:2px 8px;font-size:12px}.chip small{color:var(--muted);margin-left:4px}.chip.me{background:var(--brand-soft);color:var(--brand)}.s-foot{margin-top:4px}.empty-tip{color:var(--muted);text-align:center;grid-column:1/-1;padding:32px}.score-line{color:var(--ink);background:#f4f8ff;border-radius:8px;margin-top:14px;padding:10px 12px}.score-line.bad{color:var(--danger);background:#fdecea}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.kpi span{color:var(--muted);font-size:12px;display:block}.kpi b{font-variant-numeric:tabular-nums;font-size:20px}.kpi.warn{background:#fffaf0;border-color:#f0c36d}.table .sub{color:var(--muted);font-size:12px}.table .flag{color:var(--amber);font-size:12px}.table tr.dim td{color:#a0a8b2;text-decoration:line-through}.table tr.dim td .tag{text-decoration:none}.table tr.off td{color:#a0a8b2}.sort-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.hint.warn{color:var(--amber)}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.pick{position:relative}.pick input{color:var(--ink);font-size:14px}.pick input.bad{border-color:var(--danger)}.pick-list{z-index:30;border:1px solid var(--line);background:#fff;border-radius:6px;max-height:260px;margin:0;padding:4px 0;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 6px 20px #0f172a24}.pick-list li{color:var(--ink);cursor:pointer;padding:6px 10px;font-size:14px}.pick-list li.on{background:var(--brand-soft)}.pick-list li.cur{color:var(--brand);font-weight:600}.pick-list li.pick-none{color:var(--muted);cursor:default}.pick-miss{color:var(--danger);font-size:12px}.pick-list li small{float:right;color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;text-decoration:none}.tabs a:hover{color:var(--ink)}.tabs a.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.search{width:260px;max-width:100%}button.danger-btn{color:var(--danger);border-color:#f1c4bf}.filters input.month{width:140px}.filters .check input{width:auto}.filters select{max-width:160px}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel);border:none;border-radius:0}.seg button.on{background:var(--brand);color:#fff}.table tfoot td{border-top:1px solid var(--line);background:#f8fafc;font-weight:600}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tr.pick{cursor:pointer}.table tr.pick:hover td{background:#f4f8ff}.multi{max-width:100%;display:inline-block;position:relative}.filters .multi input,.multi input{width:100%}.multi input.has::placeholder{color:var(--ink)}.pick-list li .pick-sub{color:var(--muted);margin-left:6px;font-size:12px}.pick-list li.pick-group{color:var(--muted);cursor:default;background:0 0;padding:6px 10px 2px;font-size:12px}.pick-list li .box{width:18px;color:var(--brand);display:inline-block}.pick-list li.muted{color:var(--muted)}.pick-list li.multi-foot{border-top:1px solid var(--line);margin-top:4px}.card.todo h3{margin:0 0 8px}.todo-row{border-top:1px solid var(--line);color:var(--ink);justify-content:space-between;gap:12px;padding:9px 0;text-decoration:none;display:flex}.todo-row:first-of-type{border-top:none}.todo-row.warn span:first-child{color:var(--amber)}.todo-row .go{color:var(--brand);white-space:nowrap}.seg button .n{opacity:.8;margin-left:4px;font-size:12px}.ov{color:var(--muted);background:#fffaf0;border-radius:6px;margin-top:4px;padding:4px 8px;font-size:12px}.table td.ops button+button{margin-left:4px}.lock-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:12px 14px}.lock-box h3{margin:0 0 6px}.lock-box ul{margin:6px 0;padding-left:20px}.ok-text{color:var(--green)}@media (width<=1180px){.topbar{gap:12px;padding:0 16px}.brand{display:none}.nav a{padding:6px 8px}}.dash h3{margin:0 0 10px}.dash h3 small,.dash h4 small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.dash h4{margin:14px 0 6px;font-size:14px}.dash .card{padding:14px 16px}.dash .kpi.hero b{font-size:26px}.dash .kpi small{color:var(--muted);font-size:12px;display:block}.dash .kpi b small{display:inline}.dash .kpi small.up{color:var(--green)}.dash .kpi small.down{color:var(--danger)}.dgrid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.dgrid>.card{min-width:0;margin-bottom:16px}@media (width<=1100px){.dgrid{grid-template-columns:1fr}}.dot{vertical-align:0;border-radius:2px;width:9px;height:9px;margin-right:3px;display:inline-block}.dot.pa{background:#2a78d6}.dot.pb{background:#eb6834}.table th.bar-col{width:32%}.table.compact th,.table.compact td{padding:6px 8px}.dash .table td{vertical-align:middle}.wl{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.wl li{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:8px;padding:4px 0;display:flex}.wl .sub,.natures .sub{color:var(--muted);font-size:12px}.natures{flex-wrap:wrap;gap:6px 16px;display:flex}.natures b{font-variant-numeric:tabular-nums}.th-sort{color:inherit;font-weight:inherit;white-space:nowrap;background:0 0;border:none;align-items:center;gap:3px;padding:0;display:inline-flex}.th-sort:hover,.th-sort.on{color:var(--brand)}.th-sort .arrow{opacity:.35;font-size:11px}.th-sort.on .arrow{opacity:1}.table tr.grp td{background:#eef3fa;padding:0}.table tbody+tbody tr.grp td{border-top:1px solid var(--line)}.grp-btn{text-align:left;background:0 0;border:none;border-radius:0;align-items:baseline;gap:8px;width:100%;padding:8px 12px;display:flex}.grp-btn:disabled{opacity:1;cursor:default}.grp-btn:not(:disabled):hover{background:#e2ebf7}.grp-btn .chev{width:12px;color:var(--muted);transition:transform .15s;display:inline-block}.grp-btn[aria-expanded=false] .chev{transform:rotate(-90deg)}.grp-btn b{color:var(--brand)}.grp-btn .n{color:var(--muted);font-size:13px}.tag.also{margin-left:6px;font-weight:400}.fold-ops{gap:2px;display:inline-flex}.chip small.own{color:var(--amber)}.s-foot .link+.link{margin-left:8px}.s-log{color:var(--muted);font-size:12px}.s-log summary{cursor:pointer}.s-log div{margin-top:2px}.mine-time{border:1px dashed var(--line);border-radius:8px;padding:6px 10px}.mine-time summary{cursor:pointer;color:var(--muted);font-size:13px}.mine-time .grid2{margin-top:8px}.card.changes{background:#fffaf0;border-color:#f0c36d}.card.changes h3 .link{font-size:13px}.change-row{border-bottom:1px dashed var(--line);padding:6px 0;line-height:1.6}.card.changes .sub{color:var(--muted);font-size:12px}label .lbl-sub{color:var(--muted);font-size:12px;font-weight:400}
