:root{--bg:#EAE5DA;--card:#FBF9F4;--card2:#FFFFFF;--inset:#F1ECE2;--border:#E1D8C9;--border2:#ECE5D8;--ink:#2A2521;--ink2:#4A4339;--muted:#8B8275;--faint:#B7AE9F;--accent:#D97C31;--accent-ink:#B4611C;--accent-soft:#D97C3118;--accent-strong:#C0691F;--good:#3C8B5D;--good-soft:#3C8B5D18;--warn:#C0851F;--warn-soft:#C0851F1f;--crit:#C0473A;--crit-soft:#C0473a16;--info:#3E6FA6;--info-soft:#3E6FA618;--hero:#231F19;--hero-ink:#F6F1E8;--hero-mut:#A79C89;--shadow:0 1px 2px #2a25210d,0 8px 24px #2a25210a;--r:14px;--ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--brand:Georgia,"Times New Roman",serif;--side:#1A1611;--side-ink:#EFE8DB;--side-mut:#8A8173;--side-hair:#ffffff12;--side-hover:#ffffff0c;--side-active:#ffffff16}@media(prefers-color-scheme:dark){:root{--bg:#141109;--card:#1F1B15;--card2:#241F18;--inset:#1A160F;--border:#332D23;--border2:#2A251E;--ink:#F1EBE0;--ink2:#D4CCBE;--muted:#A79E8E;--faint:#6E665A;--accent:#E89350;--accent-ink:#EFA267;--accent-soft:#E8935020;--accent-strong:#EFA267;--good:#5BB183;--good-soft:#5BB18320;--warn:#D6A64A;--warn-soft:#D6A64a22;--crit:#D96E5F;--crit-soft:#D96E5f18;--info:#6FA0D6;--info-soft:#6FA0D620;--hero:#2A2318;--hero-ink:#F6F1E8;--hero-mut:#A79C89;--shadow:0 1px 2px #00000040,0 10px 28px #00000035;--side:#120F0C}}:root[data-theme=dark]{--bg:#141109;--card:#1F1B15;--card2:#241F18;--inset:#1A160F;--border:#332D23;--border2:#2A251E;--ink:#F1EBE0;--ink2:#D4CCBE;--muted:#A79E8E;--faint:#6E665A;--accent:#E89350;--accent-ink:#EFA267;--accent-soft:#E8935020;--accent-strong:#EFA267;--good:#5BB183;--good-soft:#5BB18320;--warn:#D6A64A;--warn-soft:#D6A64a22;--crit:#D96E5F;--crit-soft:#D96E5f18;--info:#6FA0D6;--info-soft:#6FA0D620;--hero:#2A2318;--hero-ink:#F6F1E8;--hero-mut:#A79C89;--shadow:0 1px 2px #00000040,0 10px 28px #00000035;--side:#120F0C}:root[data-theme=light]{--bg:#EAE5DA;--card:#FBF9F4;--card2:#FFFFFF;--inset:#F1ECE2;--border:#E1D8C9;--border2:#ECE5D8;--ink:#2A2521;--ink2:#4A4339;--muted:#8B8275;--faint:#B7AE9F;--accent:#D97C31;--accent-ink:#B4611C;--accent-soft:#D97C3118;--accent-strong:#C0691F;--good:#3C8B5D;--good-soft:#3C8B5D18;--warn:#C0851F;--warn-soft:#C0851F1f;--crit:#C0473A;--crit-soft:#C0473a16;--info:#3E6FA6;--info-soft:#3E6FA618;--hero:#231F19;--hero-ink:#F6F1E8;--hero-mut:#A79C89;--shadow:0 1px 2px #2a25210d,0 8px 24px #2a25210a;--side:#1A1611}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html,body{overflow-x:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;line-height:1.4}.tab{font-variant-numeric:tabular-nums}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}svg{display:block}.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sideToggleBtn{display:none}@media(min-width:1001px){.app.collapsed{grid-template-columns:0 1fr}.app.collapsed .side{display:none}.app.collapsed .sideToggleBtn{display:grid;position:fixed;top:14px;left:14px;width:36px;height:36px;border-radius:10px;background:var(--card);border:1px solid var(--border);place-items:center;color:var(--ink);z-index:20}.app.collapsed .sideToggleBtn svg{width:18px;height:18px}}.appbar{display:none;align-items:center;gap:12px;padding:11px 14px;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.appbar .burger{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);display:grid;place-items:center;color:var(--ink)}.appbar .burger svg{width:20px;height:20px}.appbar .ablogo{display:flex;align-items:center;gap:9px}.appbar .ablogo .m{width:30px;height:30px;border-radius:8px;background:var(--accent);color:#1a1611;font-family:var(--brand);font-weight:700;font-size:18px;display:grid;place-items:center}.appbar .ablogo b{font-family:var(--brand);font-size:17px}.appbar .abtheme{border:1px solid var(--border);color:var(--ink)}.scrim{display:none}.side{grid-column:1;background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:16px 12px 12px}.logo{display:flex;align-items:center;gap:10px;padding:6px 8px 16px}.sideCollapseBtn{margin-left:auto;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--side-mut);flex:none}.sideCollapseBtn:hover{color:var(--side-ink);background:#ffffff14}.sideCollapseBtn svg{width:16px;height:16px}.logo .m{width:34px;height:34px;border-radius:9px;background:var(--accent);color:#1a1611;font-family:var(--brand);font-weight:700;font-size:21px;display:grid;place-items:center}.logo b{font-family:var(--brand);font-size:19px}.logo small{display:block;font-size:9.5px;letter-spacing:.22em;color:var(--side-mut);text-transform:uppercase;margin-top:2px}.navscroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.grp{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--side-mut);padding:15px 10px 5px}.n{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;color:var(--side-ink);font-size:13px;cursor:pointer;border-left:2px solid transparent}.n:hover{background:var(--side-hover)}.n svg{width:16px;height:16px;flex:none;opacity:.75}.n.on{background:var(--side-active);border-left-color:var(--accent);font-weight:600}.n.on svg{opacity:1;color:var(--accent)}.n .b{margin-left:auto;font-size:10.5px;font-weight:700;color:#1a1611;background:var(--accent);border-radius:20px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center}.n .soon{margin-left:auto;font-size:9.5px;color:var(--side-mut);border:1px solid var(--side-hair);border-radius:5px;padding:1px 5px}.user{display:flex;align-items:center;gap:10px;padding:10px 8px 4px;margin-top:8px;border-top:1px solid var(--side-hair)}.user .av{width:30px;height:30px;border-radius:8px;background:#3a332a;color:var(--side-ink);display:grid;place-items:center;font-size:11px;font-weight:700}.user b{font-size:12.5px}.user small{display:block;font-size:10.5px;color:var(--side-mut)}.themebtn{margin-left:auto;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--side-mut);border:1px solid var(--side-hair)}.themebtn:hover{background:var(--side-hover);color:var(--side-ink)}.themebtn svg{width:16px;height:16px}.avbtn{cursor:pointer;border:0}.avbtn:hover{outline:2px solid var(--accent)}.switchov{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;display:grid;place-items:center;z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:20px}.switchbox{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;width:100%;max-width:360px;box-shadow:0 20px 60px #00000045}.switchbox h3{font-size:16px;font-weight:680}.switchlist{display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow:auto}.switchitem{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;border:1px solid transparent}.switchitem:hover{background:var(--inset)}.switchitem.on{border-color:var(--accent);background:var(--accent-soft)}.switchitem .av{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.switchbox.wide{max-width:480px;text-align:left}.switchbox.xwide{max-width:820px;text-align:left;max-height:88vh;overflow:auto}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kcol{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.kcol .sectitle{padding:14px 16px 10px;margin:0}.kcol .sectitle b{font-weight:650}.kcol .n{color:var(--faint);font-weight:500}.klist{padding:0 12px 12px;display:flex;flex-direction:column;gap:10px;min-height:80px}.kempty{color:var(--faint);font-size:12.5px;text-align:center;padding:20px 0}.kcard{background:var(--card2);border:1px solid var(--border);border-radius:12px;padding:12px}.kcard .khead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.kcard b{font-size:13.5px}.kcard .kmeta{font-size:11px;color:var(--muted);margin-top:2px}.kcard .kend{font-size:11.5px;color:var(--muted);margin-top:7px}.kcard .kitens{font-size:11.5px;color:var(--ink2);margin-top:6px}.kcard .kact{display:flex;gap:8px;margin-top:11px}.kcard .kav{flex:1;background:var(--accent);color:#1c1611;font-weight:700;font-size:12px;padding:9px;border-radius:8px}.kcard .kcan{width:34px;color:var(--faint);border-radius:8px}.kcard .kcan:hover{background:var(--crit-soft);color:var(--crit)}@media(max-width:900px){.kanban{grid-template-columns:1fr}}.main{grid-column:2;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 30px 0}.hello .eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.hello h1{font-size:24px;font-weight:650;letter-spacing:-.02em;margin-top:3px}.hello h1 span{color:var(--accent-ink)}.tools{display:flex;align-items:center;gap:9px}.unit{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:500;box-shadow:var(--shadow)}.unit i{width:7px;height:7px;border-radius:50%;background:var(--good)}.seg{display:flex;background:var(--card);border:1px solid var(--border);border-radius:9px;padding:3px;box-shadow:var(--shadow)}.seg button{color:var(--muted);font-size:12.5px;font-weight:500;padding:5px 13px;border-radius:6px}.seg button.on{background:var(--accent);color:#fff;font-weight:600}.content{padding:22px 30px 44px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stats.cols3{grid-template-columns:repeat(3,1fr)}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}.stat small{font-size:11px;color:var(--muted)}.stat b{display:block;font-size:24px;font-weight:680;margin-top:6px;letter-spacing:-.02em}.stat b span{font-size:13px;color:var(--muted);font-weight:500}.stat.crit b{color:var(--crit)}.stat.warn b{color:var(--warn)}.sectitle{font-size:14px;font-weight:650;margin:6px 0 12px;display:flex;align-items:center;gap:8px}.sectitle .lnk{margin-left:auto;font-size:12px;color:var(--accent-ink);font-weight:600}.muted{color:var(--muted)}.hint{font-size:12.5px;color:var(--muted);background:var(--inset);border-radius:10px;padding:12px 14px;display:flex;gap:9px;align-items:flex-start}.hint svg{width:16px;height:16px;flex:none;color:var(--accent-ink);margin-top:1px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.search{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 12px;box-shadow:var(--shadow)}.search svg{width:15px;height:15px;color:var(--muted)}.search input{flex:1;border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);outline:none}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:12px;font-weight:600;color:var(--muted);padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--card)}.chip.on{background:var(--accent-soft);color:var(--accent-ink);border-color:#d97c3130}.tablewrap{border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow);overflow:auto;max-height:calc(100vh - 300px)}table{width:100%;border-collapse:collapse}thead th{position:sticky;top:0;background:var(--card);z-index:1;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:right;padding:12px 16px;border-bottom:1px solid var(--border)}thead th:nth-child(1),thead th:nth-child(2),thead th:nth-child(3){text-align:left}tbody td{padding:10px 16px;border-top:1px solid var(--border2);text-align:right;font-size:12.5px;white-space:nowrap}tbody td:nth-child(1){color:var(--faint);font-weight:600;text-align:left}tbody td:nth-child(2){text-align:left;font-weight:600;white-space:normal;min-width:180px}tbody td:nth-child(3){text-align:left}tbody tr:hover{background:var(--inset)}.gtag{font-size:10.5px;color:var(--muted);background:var(--inset);border-radius:5px;padding:2px 7px}.subt{font-size:10.5px;color:var(--faint);display:block;font-weight:400;margin-top:1px}.un{display:inline-block;font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.un.kg{color:var(--accent-ink);border-color:#d97c3140;background:var(--accent-soft)}.mg{font-weight:700}.mg.hi{color:var(--good)}.mg.mid{color:var(--warn)}.mg.lo{color:var(--crit)}.mg.zero{color:var(--faint)}.neg{color:var(--crit)}.rm{width:22px;height:22px;border-radius:6px;color:var(--faint);display:grid;place-items:center;flex:none;font-size:15px;line-height:1}.rm:hover{background:var(--crit-soft);color:var(--crit)}.rm svg{width:13px;height:13px}.foot{padding:10px 2px;font-size:11.5px;color:var(--muted)}.ph{display:grid;place-items:center;min-height:60vh;text-align:center;color:var(--faint);padding:40px}.ph svg{width:44px;height:44px;margin:0 auto 14px;opacity:.5}.ph h2{font-size:18px;color:var(--ink2);font-weight:640;margin-bottom:6px}.ph p{font-size:13px;max-width:42ch}.ph .tag{margin-top:14px;font-size:11px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border:1px solid #d97c3130;border-radius:20px;padding:4px 12px}@media(max-width:1000px){.app{grid-template-columns:1fr}.main{grid-column:1}.appbar{display:flex}.sideCollapseBtn{display:none}.side{position:fixed;top:0;left:0;height:100vh;width:min(280px,84vw);z-index:40;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 40px #00000030}.side.open{transform:none}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:35;opacity:0;pointer-events:none;transition:opacity .22s ease}.scrim.show{opacity:1;pointer-events:auto}.topbar{padding:18px 18px 0}.content{padding:18px 18px 40px}.stats,.stats.cols3{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:560px){.stats,.stats.cols3{grid-template-columns:1fr}.topbar .hello h1{font-size:21px}.topbar{gap:12px}}@media print{.no-print,.side,.appbar,.scrim{display:none!important}}
