:root{--navy:#132848;--navy-hover:#1D3A63;--gray:#8296B5;--accent:#2A4A86;--accent-fill:#E7EDF8;--saved:#1F7A4D;--saved-deep:#15603C;--saved-fill:#E8F3EC;--saved-hot:#CDE9D8;--lost:#B3261E;--lost-fill:#FBECEB;--warn:#D97706;--warn-fill:#FDF3E3;--gold:#916627;--gold-glyph:#D6A44A;--gold-deep:#7D5822;--gold-text:#7D5822;--gold-fill:#FBF3E2;--pl:#1D4ED8;--pl-fill:#DBEAFE;--cl:#B45309;--cl-fill:#FEF3C7;--ink:#132848;--ink-2:#2C3852;--body:#54607A;--muted:#8E9AB2;--faint:#A9B3C7;--placeholder:#B6BFD0;--border:#DDE3EE;--rule:#E4E9F2;--line-strong:#CED6E4;--zebra-b:#F7F9FD;--ctl-border:#C6CEDD;--page:#FFFFFF;--page-0:rgba(255,255,255,0);--wash:#EFF2F7;--scrim:rgba(19,40,72,.32);--font:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--disp:var(--font);--lift:0 1px 2px rgba(16,32,64,.06),0 8px 24px -10px rgba(16,32,64,.18);--lift-sm:0 1px 2px rgba(16,32,64,.05);--r-card:12px;--r-ctl:6px;--r-chip:6px;--gut:22px;--stick:150px;--drawer:400px}body,html{min-height:100%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--page);color:var(--body);font-size:14.5px;-webkit-font-smoothing:antialiased}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.spacer{flex:1 1}button{font-family:inherit;cursor:pointer}.ico{width:16px;height:16px;flex:none}.show-s{display:none}.appbar{height:48px;min-height:48px;padding:0 var(--gut);background:var(--page);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:8px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.title{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.2px}.sub{font-weight:400;color:var(--body);margin-left:4px}.buildno,.sub{font-size:12px}.buildno{font-weight:600;color:var(--muted)}.tabs{height:44px;gap:28px;padding:0 var(--gut);background:var(--page);border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:48px;z-index:39}.tab,.tabs{display:flex}.tab{align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--muted);border:0;border-bottom:2px solid transparent;background:none;padding:0 1px}.tab:hover{color:var(--ink-2)}.tab.on{color:var(--ink);border-bottom-color:var(--saved)}.tab .n{font-size:12px;font-weight:700;color:var(--warn);background:var(--warn-fill);border-radius:10px;padding:1px 7px}.tbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px var(--gut);background:var(--page);position:-webkit-sticky;position:sticky;top:92px;z-index:36;border-bottom:1px solid var(--rule)}input[type=date],input[type=text],select,textarea{font-family:inherit;font-size:14px;color:var(--ink);border:1px solid var(--ctl-border);border-radius:var(--r-ctl);background:#fff;padding:0 10px;height:34px}textarea{height:auto;min-height:62px;padding:8px 10px;resize:vertical;width:100%;line-height:1.4}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:-2px;border-color:var(--navy)}select.sel{height:32px;font-size:13.5px;color:var(--ink-2)}select.sel.act{border-color:var(--accent);color:var(--accent);font-weight:600}.search{position:relative;width:280px}.search input{width:100%;padding:0 30px 0 32px}.search .ic{left:9px;top:9px;pointer-events:none}.search .ic,.search .x{position:absolute;color:var(--muted)}.search .x{right:5px;top:6px;border:0;background:none;font-size:15px;line-height:1;padding:3px 5px;border-radius:var(--r-ctl)}.search .x:hover{color:var(--ink);background:var(--wash)}.chip{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-chip);font-size:13.5px;font-weight:600;color:var(--ink-2);background:#fff}.chip:hover{border-color:var(--line-strong)}.chip.on{background:var(--accent-fill);border-color:var(--accent);color:var(--accent)}.btn-primary{height:34px;padding:0 16px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:var(--r-ctl);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.btn-primary:hover:not([disabled]){background:var(--navy-hover)}.btn{height:32px;padding:0 13px;background:#fff;color:var(--ink-2);border:1px solid var(--ink-2);border-radius:var(--r-ctl);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.btn:hover:not([disabled]){background:var(--zebra-b);color:var(--ink);border-color:var(--ink)}.btn-go{height:32px;padding:0 14px;background:var(--saved);color:#fff;border:1px solid var(--saved);border-radius:var(--r-ctl);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.btn-go:hover:not([disabled]){background:var(--saved-deep)}.btn-x{height:32px;padding:0 13px;background:#fff;color:var(--lost);border:1px solid var(--lost);border-radius:var(--r-ctl);font-size:13.5px;font-weight:600}.btn-x:hover:not([disabled]){background:var(--lost-fill)}.btn-go[disabled],.btn-primary[disabled],.btn-x[disabled],.btn[disabled]{background:#fff;color:var(--placeholder);border-color:var(--border);cursor:not-allowed}.link{border:0;background:none;color:var(--accent);font-size:12.5px;font-weight:600;padding:2px 0}.link:hover{text-decoration:underline}.link.quiet{color:var(--muted)}.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--rule);border-top:2px solid;border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(1turn)}}.layout{display:grid;grid-template-columns:minmax(0,1fr) var(--drawer);align-items:start}.main{padding:4px var(--gut) 40px;min-width:0}.counts{font-size:12.5px;color:var(--muted);padding:9px 2px 5px;min-height:31px}.counts b{color:var(--ink-2);font-weight:700}table{width:100%;border-collapse:separate;border-spacing:0}thead th{position:-webkit-sticky;position:sticky;top:var(--stick);background:var(--page);text-align:left;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:9px 10px;border-bottom:2px solid var(--line-strong);z-index:5;white-space:nowrap}td.r,th.r{text-align:right}tbody td{padding:10px;border-bottom:1px solid var(--rule);color:var(--ink-2);vertical-align:middle}tbody tr{cursor:pointer}tbody tr:hover td{background:var(--zebra-b)}tbody tr.sel td{background:var(--accent-fill)}tbody tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tbody tr.done td{color:var(--body)}td .who{font-weight:600;color:var(--ink);max-width:280px;overflow:hidden;text-overflow:ellipsis}td .sub2,td .who{white-space:nowrap}td .sub2{font-size:12.5px;color:var(--muted)}td.amt{font-weight:600;color:var(--ink)}td.amt,td.nowrap{white-space:nowrap}.dash{color:var(--faint)}.empty{padding:46px 10px;text-align:center;color:var(--muted)}.trail{display:flex;align-items:center;white-space:nowrap}.trail i{width:10px;height:10px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;display:block;flex:none}.trail i.d{background:var(--saved);border-color:var(--saved)}.trail i.v{background:var(--faint);border-color:var(--faint)}.trail b{width:14px;height:2px;background:var(--line-strong);display:block;flex:none}.trail b.d{background:var(--saved)}.trail em{font-style:normal;color:var(--body);margin-left:9px}.age,.trail em{font-size:12.5px;white-space:nowrap}.age{font-weight:700;border-radius:10px;padding:2px 8px}.age.ok{color:var(--body);background:var(--wash)}.age.late{color:var(--lost);background:var(--lost-fill)}.pill{display:inline-block;font-size:11.5px;font-weight:700;border-radius:10px;padding:2px 8px;letter-spacing:.02em;white-space:nowrap}.pill.grey{background:var(--wash);color:var(--body)}.pill.flag{background:var(--warn-fill);color:var(--warn)}.pill.show-s{display:none}.drawer{border-left:1px solid var(--rule);background:var(--page);padding:20px 22px 30px;position:-webkit-sticky;position:sticky;top:var(--stick);height:calc(100vh - var(--stick));overflow:auto}.drawer .none{color:var(--muted);font-size:13.5px;padding-top:6px}.kick{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.drawer h2{font-size:21px;font-weight:700;color:var(--ink);margin:4px 0 2px;letter-spacing:-.2px;word-break:break-word}.big{font-size:28px;font-weight:700;color:var(--saved-deep);letter-spacing:-.5px;margin:8px 0 12px}.pills{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}.kv{display:grid;grid-template-columns:100px minmax(0,1fr);grid-row-gap:7px;row-gap:7px;font-size:13.5px;margin-bottom:16px}.kv dt{color:var(--muted)}.kv dd{color:var(--ink-2);font-weight:500;word-break:break-word}.sec{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:14px 0 10px}.sec .link{text-transform:none;letter-spacing:0;margin-left:auto}.steps{margin:2px 0 8px}.step{display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:10px;gap:10px;padding-bottom:15px;position:relative}.step:not(:last-child):before{content:"";position:absolute;left:11px;top:25px;bottom:2px;width:2px;background:var(--rule)}.step.d:not(:last-child):before{background:var(--saved)}.dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;display:flex;align-items:center;justify-content:center;color:#fff}.step.d .dot{background:var(--saved);border-color:var(--saved)}.step.now .dot{border-color:var(--warn);background:var(--warn-fill)}.step.v .dot{background:var(--faint);border-color:var(--faint)}.dot svg{width:13px;height:13px}.step h4{font-size:14px;font-weight:600;color:var(--ink);display:flex;gap:10px;align-items:baseline}.step h4 .link{margin-left:auto}.step.later h4{color:var(--muted);font-weight:500}.step p{font-size:12.5px;color:var(--muted);margin-top:1px}.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px;align-items:center}.acts input[type=date]{height:32px;font-size:13px;width:140px}.acts input[type=text]{height:32px;font-size:13px;width:130px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-ctl);overflow:hidden}.seg button{height:30px;padding:0 11px;border:0;border-right:1px solid var(--border);background:#fff;font-size:13px;font-weight:600;color:var(--ink-2)}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent-fill);color:var(--accent)}.note{font-size:13.5px;color:var(--ink-2);padding:9px 11px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;white-space:pre-wrap;word-break:break-word}.note small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.err{color:var(--lost);font-size:12.5px;margin-top:6px}.danger{margin-top:22px;padding-top:14px;border-top:1px solid var(--rule)}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:70px 16px 16px;overflow:auto}.dialog{background:#fff;border-radius:var(--r-card);box-shadow:var(--lift);width:520px;max-width:100%;padding:20px 22px}.dialog h3{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:14px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px;gap:12px}.f{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;min-width:0}.f label{font-size:12px;font-weight:600;color:var(--body)}.f input,.f select{width:100%}.f input.money{font-size:18px;font-weight:700;height:40px}.foot{display:flex;gap:8px;align-items:center;margin-top:6px}.foot .btn-primary{margin-left:auto}.inline-form .f{margin-bottom:9px}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:13px;padding:8px 16px;border-radius:20px;z-index:80;box-shadow:var(--lift)}.wrap{max-width:1000px;margin:0 auto;padding:16px var(--gut) 24px}.card{background:#fff;border-radius:var(--r-card);box-shadow:var(--lift)}@media (max-width:1100px){:root{--drawer:340px}.hide-m{display:none}}@media (max-width:820px){.layout{grid-template-columns:minmax(0,1fr)}.drawer{position:fixed;inset:0;top:0;height:100vh;z-index:55;border-left:0;display:none}.drawer.open{display:block}.search{width:100%}.tabs{gap:18px;overflow-x:auto}.tab{font-size:14px;white-space:nowrap}.hide-s{display:none}.show-s{display:inline-block;margin-bottom:12px}.pill.show-s{display:inline-block;margin-bottom:0}.grid2{grid-template-columns:minmax(0,1fr)}thead th{top:0;position:static}.main{padding:4px 16px 40px}td .who{max-width:34vw}tbody td{font-size:13.5px}td .sub2{word-break:break-word}td .pill,td .sub2{white-space:normal}tbody td,thead th{padding-left:6px;padding-right:6px}.tbar{position:static;padding:12px 16px}.appbar .sub{display:none}}