:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf9f6;--surface:#fff;--surface-alt:#f1efe9;--text:#1a1a1a;--text-body:#4a463f;--text-muted:#6f6a5e;--border:#e2ded4;--accent:#fe6459;--accent-ink:#1a1a1a;--on:#1a1a1a;--on-ink:#faf9f6;--late:#d6443a;--req-tint:#fe64591f;--status-initial:#eed732;--status-repeat:#5fcdff;--status-overdue:#fe6459;--status-none:#a7a193;--chip-ink:#1a1a1a;--header-bg:#1d1b18;--header-text:#f3f1ea;--header-border:#37342e;--header-outline:#6f6a5e;--users-bg:transparent;--users-ink:#f3f1ea;--users-border:#6f6a5e;--signout-bg:#f3f1ea;--signout-ink:#1a1a1a;--nav-bg:#fff;--nav-ink:#1a1a1a;--nav-border:#e2ded4;--nav-on-bg:#1a1a1a;--nav-on-ink:#faf9f6;--nav-on-border:#1a1a1a;--sync-dot:#3f9460;--sync-dot-stale:#d08a00;--radius-nav:2px;--radius-card:4px;--radius-btn:2px;--radius-chip:20px;--shadow-card:none;--font-display:"Oswald", sans-serif;--font-body:"Inter", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--display-transform:uppercase;--display-weight:700;--max-width:1240px;--page-pad:32px;--section-gap:48px}
*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0}a{color:var(--text)}a:hover{color:var(--accent)}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:12px}h1,h2{font-family:var(--font-display);letter-spacing:.01em;text-transform:var(--display-transform);margin:0}h1{font-size:34px;font-weight:var(--display-weight)}h2{font-size:24px;font-weight:600}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{font:600 13px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);height:34px;color:var(--text);cursor:pointer;padding:0 14px}.btn[aria-pressed=true]{background:var(--on);color:var(--on-ink);border-color:var(--on)}.btn:focus-visible,nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-header{padding:0 max(var(--page-pad),calc((100% - var(--max-width))/2 + var(--page-pad)));background:var(--header-bg);color:var(--header-text);box-shadow:var(--shadow-card)}.hdr-top{flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:56px;padding:8px 0;display:flex}.hdr-title{color:var(--header-text);font-size:22px}.hdr-account{align-items:center;gap:10px;margin-left:auto;display:flex}.hdr-users,.hdr-signout{border-radius:var(--radius-nav);height:36px;font:700 14px var(--font-body);white-space:nowrap;cursor:pointer;border:1px solid #0000;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.hdr-users{background:var(--users-bg);color:var(--users-ink);border-color:var(--users-border)}.hdr-signout{background:var(--signout-bg);color:var(--signout-ink)}.hdr-users:hover,.hdr-signout:hover{filter:brightness(1.1)}.hdr-users[aria-current=page]{box-shadow:inset 0 0 0 2px var(--header-text)}.hdr-users:focus-visible,.hdr-signout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.subbar{padding:12px max(var(--page-pad),calc((100% - var(--max-width))/2 + var(--page-pad)));flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.subbar nav{flex-wrap:wrap;gap:8px;display:flex}.subbar nav a{border:1px solid var(--nav-border);border-radius:var(--radius-nav);background:var(--nav-bg);height:34px;color:var(--nav-ink);font:700 14px var(--font-body);align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.subbar nav a:hover{border-color:var(--nav-ink)}.subbar nav a.on{background:var(--nav-on-bg);color:var(--nav-on-ink);border-color:var(--nav-on-border)}.page-error{flex-direction:column;align-items:flex-start;gap:12px;padding:24px;display:flex}.late{color:var(--late);font-weight:700}main{max-width:var(--max-width);padding:var(--page-pad);gap:var(--section-gap);flex-direction:column;margin:0 auto;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.placeholder{color:var(--text-body);padding:24px;line-height:1.6}@media (max-width:700px){.app-header{padding:0 16px}main{padding:20px 16px}.subbar{padding:12px 16px}.hdr-account{margin-left:0}}.sub{color:var(--text-muted);font-size:12px}.btns{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btns .filt{margin:0 6px 0 0}.ctl{color:var(--text-body);flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;font-size:13px;display:flex}.ctl label,.ctl .lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.ctl input,.ctl select{font:14px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);height:34px;color:var(--text);padding:0 10px}.wrap{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow-x:auto}.ct{border-collapse:collapse;width:100%;font-size:13px}.ct th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);vertical-align:bottom;padding:10px 8px;font-size:10px;font-weight:600;line-height:1.3}.ct th[aria-sort=ascending],.ct th[aria-sort=descending]{color:var(--text)}.ct th.n,.ct td.n{text-align:right;font-variant-numeric:tabular-nums}.ct td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 8px}.ct td.nw{white-space:nowrap}.ct tr:last-child td{border-bottom:0}.btn:disabled{opacity:.6;cursor:progress}main.auth-page{box-sizing:border-box;justify-content:center;align-items:center;max-width:none;min-height:100vh;padding:24px 16px}.admin-users{flex-direction:column;gap:28px;display:flex}.admin-card h2{font-family:var(--font-display);text-transform:var(--display-transform);margin:0 0 10px;font-size:16px}.admin-card.card{padding:16px}.admin-card.card .ctl{margin-bottom:0}.admin-msg{min-height:20px;color:var(--text-body);font-size:13px}.admin-msg[data-err=true]{color:var(--late);font-weight:600}.badge{font:600 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--text-muted);border-radius:var(--radius-chip);color:var(--text);padding:2px 8px;display:inline-block}.role-sel{font:13px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);height:34px;color:var(--text);padding:0 8px}.btn-danger{border-color:var(--late);color:var(--late)}.admin-more{margin-top:12px}.app-header{box-shadow:none}.sync{font:12px var(--font-body);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-left:6px;display:inline-flex}.sync-dot{background:var(--sync-dot);border-radius:50%;flex-shrink:0;width:7px;height:7px}.sync[data-stale=true] .sync-dot{background:var(--sync-dot-stale)}.sync-sep{opacity:.5}.sync-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sync-link:hover{color:var(--text)}.sync-link:disabled{opacity:.7;cursor:progress}.sync-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.sync-note{font-size:11px}.sync-note.err{color:var(--late)}.refresh{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.refresh-msg{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.refresh-msg.err{color:var(--late)}.banners{max-width:var(--max-width);padding:var(--page-pad) var(--page-pad) 0;flex-direction:column;gap:10px;margin:0 auto;display:flex}.banners:empty{display:none}.banner{border:1px solid var(--border);border-left:4px solid var(--status-initial);border-radius:var(--radius-card);background:var(--surface);color:var(--text-body);padding:12px 16px;font-size:14px;line-height:1.5}.banner.warn{border-left-color:var(--accent)}@media (max-width:700px){.banners{padding:20px 16px 0}.refresh{justify-content:flex-start}}.kpis{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.kpi-month{flex:1 0 100%;font-size:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);flex:160px;padding:14px 16px}.kl{font:12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.kv{font:var(--display-weight) 30px var(--font-display);margin-top:4px}.ctl{margin-bottom:0}.filt.s-none[aria-pressed=true],.filt.s-initial[aria-pressed=true],.filt.s-repeat[aria-pressed=true],.filt.s-overdue[aria-pressed=true]{background:var(--on);color:var(--on-ink)}.chk{align-items:center;gap:6px;font-size:13px;display:inline-flex}.table-scroll{overflow-x:auto}table.clients{border-collapse:collapse;width:100%;color:var(--text-body);font-size:13px}table.clients th,table.clients td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap;padding:8px 10px}table.clients td.note-cell{white-space:normal;min-width:220px}table.clients .num{text-align:right}table.clients tr.not-target td:not(:nth-last-child(-n+2)){opacity:.55}table.clients tr.detail td{background:var(--surface-alt);white-space:normal}.th-btn,.acct-btn,.link-btn{font:inherit;color:var(--text);cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}.th-btn{font-weight:700}.acct-btn{font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.link-btn{color:var(--text-muted);font-size:12px}.th-btn:focus-visible,.acct-btn:focus-visible,.link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pill{border-radius:var(--radius-chip);color:var(--chip-ink);padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.pill.s-none{background:var(--status-none)}.pill.s-initial{background:var(--status-initial)}.pill.s-repeat{background:var(--status-repeat)}.pill.s-overdue{background:var(--status-overdue)}.note-cell textarea{width:100%;min-height:32px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);resize:vertical;padding:4px 6px}.note-state{min-height:14px;color:var(--text-muted);font-size:11px;display:block}.deal-list{margin:0;padding-left:18px;line-height:1.7}.tl{padding:12px}.tl-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:12px;display:flex}.tl-legend .dot{border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.tl-scroll{overflow-x:auto}.tl-scroll svg{min-width:720px}.tl-grid{stroke:var(--border)}.tl-today{stroke:var(--text-muted)}.tl-join{stroke:var(--text-muted);stroke-width:2px}.tl-label{fill:var(--text)}.tl-muted{fill:var(--text-muted)}.tl-dot,.tl-ring,.tl-legend .dot{stroke:var(--text)}.tl-dot.s-none,.tl-legend .dot.s-none{fill:var(--status-none);background:var(--status-none)}.tl-dot.s-initial,.tl-legend .dot.s-initial{fill:var(--status-initial);background:var(--status-initial)}.tl-dot.s-repeat,.tl-legend .dot.s-repeat{fill:var(--status-repeat);background:var(--status-repeat)}.tl-dot.s-overdue,.tl-legend .dot.s-overdue{fill:var(--status-overdue);background:var(--status-overdue)}.tl-ring{fill:var(--surface);stroke-width:2.5px}.tl-ring.s-none{stroke:var(--status-none)}.tl-ring.s-initial{stroke:var(--status-initial)}.tl-ring.s-repeat{stroke:var(--status-repeat)}.tl-ring.s-overdue{stroke:var(--status-overdue)}.section-details{padding:12px 16px}.section-details>summary{cursor:pointer}.section-details>summary h2{font-size:20px;display:inline}.recon{flex-direction:column;gap:10px;padding:16px;display:flex}.recon h2{font-size:20px}.recon-reason{font:600 14px var(--font-body);margin:6px 0 2px}.recon-counts{flex-wrap:wrap;gap:18px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.rules{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-card)}.rules>summary{cursor:pointer;font:600 18px var(--font-display);align-items:center;gap:10px;padding:14px 16px;list-style:none;display:flex}.rules>summary::-webkit-details-marker{display:none}.rules>summary em{font:12px var(--font-mono);color:var(--text-muted);margin-left:auto;font-style:normal}.rules[open]>summary em{display:none}.rules .chev{border-right:2px solid var(--text);border-bottom:2px solid var(--text);width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.rules[open] .chev{transform:rotate(45deg)}.rules>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rb{flex-direction:column;gap:10px;padding:0 16px 16px;display:flex}.note{color:var(--text-body);font-size:14px;line-height:1.55}
