:root{color-scheme:light;--ground:#F4F8FC;--surface:#FFFFFF;--surface-2:#F1F6FC;--surface-3:#E6EEF8;--line:#DEE8F3;--line-soft:#EDF3FA;--ink:#1A2430;--ink-2:#4A5A6E;--ink-3:#75879C;--ink-4:#9FB0C3;--brand:#2F6FD0;--brand-2:#2560B8;--brand-soft:#E9F1FC;--on-brand:#FFFFFF;--on-brass:#FFFFFF;--brass:#5B93D6;--brass-soft:#EAF2FC;--ok:#1A8A63;--ok-soft:#E4F5EE;--warn:#B27B12;--warn-soft:#FCF3E1;--bad:#CE4B48;--bad-soft:#FCEBEA;--info:#2560B8;--info-soft:#E9F1FC;--shadow:0 1px 2px rgba(26,36,48,.04), 0 6px 20px rgba(47,111,208,.06);--shadow-sm:0 1px 2px rgba(26,36,48,.05);--r:12px;--r-sm:8px;--f-disp:"Archivo", "Helvetica Neue", Arial, sans-serif;--f-body:"IBM Plex Sans", system-ui, -apple-system, Segoe UI, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--f-disp);margin:0;text-wrap:balance;letter-spacing:-.01em}p{margin:0}a{color:var(--brand-2)}button{font:inherit;color:inherit}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.proto-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--line)}.proto-bar .tag{font-family:var(--f-disp);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass);border-radius:999px;padding:3px 9px}.proto-bar .note{color:var(--ink-3);font-size:12.5px}.proto-bar .spacer{flex:1}.ghost{background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 11px;font-size:12.5px;cursor:pointer;color:var(--ink-2)}.ghost:hover{background:var(--surface-2);color:var(--ink)}.app{display:grid;grid-template-columns:236px 1fr;min-height:calc(100vh - 46px)}.rail{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:14px 10px 20px}.brandbox{display:flex;align-items:center;gap:10px;padding:6px 8px 14px}.mark{width:30px;height:30px;border-radius:9px;background:var(--brand);display:grid;place-items:center;color:var(--on-brand);font-family:var(--f-disp);font-weight:700;font-size:15px;flex:none}.brandbox b{font-family:var(--f-disp);font-size:15.5px;display:block;line-height:1.1}.brandbox span{font-size:10.5px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.navgroup{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);padding:14px 10px 6px}.nav{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;border:0;background:transparent;width:100%;text-align:left;font-size:13.5px}.nav:hover{background:var(--surface-2);color:var(--ink)}.nav[aria-current=true]{background:var(--brand-soft);color:var(--brand-2);font-weight:600}.nav .ico{width:16px;text-align:center;opacity:.85;font-size:13px}.nav .badge{margin-left:auto;font-size:10.5px;font-family:var(--f-mono);background:var(--bad-soft);color:var(--bad);padding:1px 6px;border-radius:999px}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.tenant{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;padding:4px 12px 4px 5px;background:var(--surface-2)}.tenant .seal{width:24px;height:24px;border-radius:50%;background:var(--brass-soft);border:1px solid var(--brass);color:var(--brass);display:grid;place-items:center;font-family:var(--f-disp);font-weight:700;font-size:10px}.tenant b{font-size:12.5px;font-weight:600}.tenant small{color:var(--ink-3);font-size:11px}.topbar .spacer{flex:1}.who{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}.avatar{width:26px;height:26px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--ink-2)}.page{padding:22px 24px 60px;overflow-x:auto}.screen{display:none}.screen.on{display:block;animation:fade .18s ease-out}@keyframes fade{0%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion: reduce){.screen.on{animation:none}}.phead{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.phead h1{font-size:23px;font-weight:600}.phead .sub{color:var(--ink-3);font-size:13px;margin-top:3px}.phead .spacer{flex:1}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);border-radius:var(--r-sm);padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer}.btn:hover{background:var(--brand-2);border-color:var(--brand-2)}.btn.sec{background:var(--surface);color:var(--ink-2);border-color:var(--line)}.btn.sec:hover{background:var(--surface-2);color:var(--ink)}.btn.brass{background:var(--brass);border-color:var(--brass);color:var(--on-brass)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card>.hd{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-soft)}.card>.hd h3{font-size:14.5px;font-weight:600}.card>.hd .spacer{flex:1}.card>.bd{padding:16px}.card>.bd.tight{padding:0}.hint{font-size:12px;color:var(--ink-3)}.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g23{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.g32{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}@media (max-width:1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3,.g23,.g32{grid-template-columns:1fr}}@media (max-width:860px){.app{grid-template-columns:1fr}.rail{display:none}.g4,.g2{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.stat .lb{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.stat .v{font-family:var(--f-mono);font-size:24px;font-weight:600;letter-spacing:-.03em}.stat .d{font-size:11.5px;color:var(--ink-3)}.stat.accent{border-left:3px solid var(--brand)}.stat.good{border-left:3px solid var(--ok)}.stat.warn{border-left:3px solid var(--warn)}.stat.bad{border-left:3px solid var(--bad)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;letter-spacing:.02em}.pill.paid{background:var(--ok-soft);color:var(--ok)}.pill.due{background:var(--info-soft);color:var(--info)}.pill.soon{background:var(--warn-soft);color:var(--warn)}.pill.over{background:var(--bad-soft);color:var(--bad)}.pill.draft{background:var(--surface-3);color:var(--ink-3)}.pill.part{background:#e3f3f5;color:#11737d}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}td.r,th.r{text-align:right}.tw{overflow-x:auto}.sub2{display:block;font-size:11.5px;color:var(--ink-3)}.lnk{color:var(--brand-2);font-weight:500;cursor:pointer;text-decoration:none}.lnk:hover{text-decoration:underline}.kv{display:grid;grid-template-columns:auto 1fr;gap:9px 18px;font-size:13px}.kv dt{color:var(--ink-3)}.kv dd{margin:0;font-weight:500;text-align:right}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11.5px;font-weight:600;color:var(--ink-2);letter-spacing:.02em}.field .req{color:var(--bad)}.inp{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:8px 10px;font-size:13.5px;width:100%;font-family:inherit}.inp:focus{outline:2px solid var(--brand-2);outline-offset:1px;border-color:var(--brand-2)}.inp::placeholder{color:var(--ink-4)}.field .help{font-size:11px;color:var(--ink-3)}select.inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 15px) 16px,calc(100% - 10px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fgrid .span2{grid-column:1/-1}@media (max-width:720px){.fgrid{grid-template-columns:1fr}}.steps{display:flex;align-items:center;gap:0;margin-bottom:20px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:8px;padding-right:14px}.step .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;font-family:var(--f-mono);background:var(--surface-3);color:var(--ink-3);border:1px solid var(--line)}.step .t{font-size:12.5px;color:var(--ink-3)}.step.done .n{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.step.now .n{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.step.now .t{color:var(--ink);font-weight:600}.step .bar{width:26px;height:1px;background:var(--line)}.upl{border:1px dashed var(--line);border-radius:var(--r-sm);padding:14px;display:flex;align-items:center;gap:11px;background:var(--surface-2)}.upl .ic{width:32px;height:32px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:14px}.upl b{font-size:12.5px;display:block}.upl small{font-size:11px;color:var(--ink-3)}.callout{border:1px solid var(--line);border-left:3px solid var(--brand);background:var(--surface-2);border-radius:var(--r-sm);padding:11px 14px;font-size:12.5px;color:var(--ink-2)}.callout.warn{border-left-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.callout.ok{border-left-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.callout b{font-weight:600}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.tab{border:0;background:transparent;padding:8px 13px;font-size:13px;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tab[aria-selected=true]{color:var(--brand-2);border-bottom-color:var(--brand-2);font-weight:600}.tab:hover{color:var(--ink)}.phone{width:322px;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;flex:none}.phone .notch{height:26px;background:var(--surface-2);border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center}.phone .notch i{width:70px;height:5px;border-radius:99px;background:var(--line);display:block}.phone .scr{padding:18px 16px 22px;display:flex;flex-direction:column;gap:14px;min-height:470px}.bigq{font-family:var(--f-disp);font-size:19px;font-weight:600;line-height:1.25}.bigin{border:2px solid var(--line);border-radius:10px;padding:13px;font-size:17px;width:100%;background:var(--surface);color:var(--ink);font-family:var(--f-mono)}.choice{border:2px solid var(--line);border-radius:10px;padding:13px 14px;display:flex;align-items:center;gap:11px;cursor:pointer;background:var(--surface)}.choice:hover{border-color:var(--brand-2);background:var(--brand-soft)}.choice.sel{border-color:var(--brand);background:var(--brand-soft)}.choice .em{font-size:19px}.choice b{font-size:14px;display:block}.choice small{font-size:11.5px;color:var(--ink-3)}.bigbtn{width:100%;padding:14px;border-radius:10px;background:var(--brand);color:var(--on-brand);border:0;font-size:15px;font-weight:600;cursor:pointer}.prog{display:flex;gap:5px}.prog i{height:4px;flex:1;border-radius:99px;background:var(--line)}.prog i.on{background:var(--brand)}.doc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);max-width:660px;overflow:hidden}.doc .dh{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:14px}.doc .dh .seal{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--brass);color:var(--brass);display:grid;place-items:center;font-family:var(--f-disp);font-weight:700;font-size:13px;background:var(--brass-soft);flex:none}.doc .db{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.doc .df{padding:14px 24px;background:var(--surface-2);border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--ink-3)}.total{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px;background:var(--brand-soft);border-radius:var(--r-sm)}.total .v{font-family:var(--f-mono);font-size:26px;font-weight:600;color:var(--brand-2);letter-spacing:-.03em}.pm{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:var(--r);padding:13px 15px;cursor:pointer;background:var(--surface)}.pm:hover{border-color:var(--brand-2)}.pm.sel{border-color:var(--brand);background:var(--brand-soft)}.pm .ic{width:38px;height:26px;border-radius:5px;background:var(--surface-3);display:grid;place-items:center;font-size:9px;font-weight:700;font-family:var(--f-disp);letter-spacing:.04em;color:var(--ink-2);flex:none}.pm b{font-size:13.5px;display:block}.pm small{font-size:11.5px;color:var(--ink-3)}.pm .fee{margin-left:auto;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3);text-align:right}.pm.off{opacity:.5;cursor:not-allowed}.qr{width:150px;height:150px;border-radius:8px;background:repeating-conic-gradient(var(--ink) 0% 25%,var(--surface) 0% 50%) 50%/12px 12px;border:6px solid var(--surface);outline:1px solid var(--line)}.tl{display:flex;flex-direction:column;gap:0}.tl .it{display:grid;grid-template-columns:20px 1fr;gap:12px;padding-bottom:16px;position:relative}.tl .it:not(:last-child):before{content:"";position:absolute;left:9px;top:18px;bottom:0;width:1px;background:var(--line)}.tl .mk{width:19px;height:19px;border-radius:50%;border:2px solid var(--line);background:var(--surface);z-index:1;display:grid;place-items:center;font-size:9px}.tl .mk.ok{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.tl .mk.bad{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.tl .mk.now{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-2)}.tl b{font-size:13px;font-weight:600;display:block}.tl small{font-size:11.5px;color:var(--ink-3)}.calc{font-family:var(--f-mono);font-size:12.5px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:14px;display:flex;flex-direction:column;gap:7px;overflow-x:auto}.calc .row{display:flex;justify-content:space-between;gap:24px;white-space:nowrap}.calc .row.tot{border-top:1px solid var(--line);padding-top:7px;font-weight:600;color:var(--ink)}.calc .op{color:var(--ink-3)}.bars{display:flex;align-items:flex-end;gap:10px;height:130px;padding-top:8px}.bars .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;height:100%}.bars .b i{display:block;border-radius:4px 4px 0 0;background:var(--brand);min-height:3px}.bars .b.a i{background:var(--ok)}.bars .b.w i{background:var(--warn)}.bars .b.d i{background:var(--bad)}.bars .b.t1 i{background:#2f6fd0}.bars .b.t2 i{background:#5b93d6}.bars .b.t3 i{background:#8fb8e8}.bars .b.t4 i{background:#c3d8f3}.bars .b span{font-size:10.5px;color:var(--ink-3);text-align:center;font-family:var(--f-mono)}.swatch{display:flex;gap:8px;flex-wrap:wrap}.swatch i{width:34px;height:34px;border-radius:7px;border:1px solid var(--line);display:block}.toggle{width:38px;height:21px;border-radius:99px;background:var(--brand);position:relative;flex:none;cursor:pointer;border:0}.toggle:after{content:"";position:absolute;top:2px;left:19px;width:17px;height:17px;border-radius:50%;background:var(--on-brand);transition:left .15s}.toggle.off{background:var(--surface-3)}.toggle.off:after{left:2px;background:var(--ink-4)}.rowline{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.rowline:last-child{border-bottom:0}.rowline .spacer{flex:1}.rowline b{font-size:13px;font-weight:600;display:block}.rowline small{font-size:11.5px;color:var(--ink-3)}:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}html,body{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:14px;margin:0}.app{min-height:100vh}.rail a.nav{text-decoration:none}.spin{display:inline-block;width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px}@keyframes sp{to{transform:rotate(360deg)}}.loading{padding:40px;text-align:center;color:var(--ink-3)}.empty{padding:34px;text-align:center;color:var(--ink-3);font-size:13px}.err{background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad);border-radius:var(--r-sm);padding:10px 13px;font-size:12.5px;margin-bottom:14px}.ok-msg{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok);border-radius:var(--r-sm);padding:10px 13px;font-size:12.5px;margin-bottom:14px}.btn:disabled,.bigbtn:disabled{opacity:.5;cursor:not-allowed}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ground)}.login-card{width:100%;max-width:400px}.login-card .mark{width:38px;height:38px;font-size:18px;border-radius:11px}.demo-user{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:var(--surface);text-align:left;width:100%}.demo-user:hover{border-color:var(--brand-2);background:var(--brand-soft)}.demo-user b{font-size:12.5px;display:block}.demo-user small{font-size:11px;color:var(--ink-3)}.trace-row{display:flex;justify-content:space-between;gap:20px;white-space:nowrap}.sticky-actions{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:8px;align-items:center}table.compact td{padding:8px 12px}.chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--surface-3);color:var(--ink-2)}.clickable{cursor:pointer}.rail .nav{font:inherit}@media print{.rail,.topbar,.proto-bar,.actions{display:none!important}.app{grid-template-columns:1fr}}.src{display:block;margin-top:3px;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}.pill.amber{background:var(--warn-soft);color:var(--warn)}.hashcell{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-4)}.chain-ok{display:flex;align-items:center;gap:9px;background:var(--ok-soft);border:1px solid var(--ok);color:var(--ok);border-radius:var(--r-sm);padding:10px 13px;font-size:12.5px}.chain-bad{display:flex;align-items:center;gap:9px;background:var(--bad-soft);border:1px solid var(--bad);color:var(--bad);border-radius:var(--r-sm);padding:10px 13px;font-size:12.5px}.clock{font-family:var(--f-mono);font-size:11.5px;padding:2px 8px;border-radius:999px;white-space:nowrap}.clock.ok{background:var(--ok-soft);color:var(--ok)}.clock.warn,.clock.critical{background:var(--warn-soft);color:var(--warn)}.clock.bad,.clock.lapsed{background:var(--bad-soft);color:var(--bad)}.legalnote{border:1px solid var(--line);border-left:3px solid var(--warn);background:var(--warn-soft);border-radius:var(--r-sm);padding:12px 15px;font-size:12.5px;color:var(--warn);line-height:1.6}.legalnote b{font-weight:600}.deltarow{font-family:var(--f-mono);font-size:11px;color:var(--ink-2)}.deltarow s{color:var(--bad);text-decoration:line-through}.deltarow em{color:var(--ok);font-style:normal}.flagrow{background:var(--warn-soft)}.rolesel{min-width:158px;padding:5px 26px 5px 9px;font-size:12.5px}.accounts-table table{min-width:940px}
