:root{--text: #323338;--muted: #676879;--border: #d0d4e4;--surface: #ffffff;--surface-alt: #f6f7fb;--primary: #0073ea;--primary-hover: #0060b9;--paid: #00c875;--due: #579bfc;--overdue: #df2f4a;--chasing: #fdab3d;--disputed: #a25ddc;--promised: #9cd326;font-family:Figtree,Roboto,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--surface)}body{margin:0;background:var(--surface)}.app{padding:16px;max-width:1280px}.app-header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.app-header h1{font-size:20px;margin:0 0 8px}.firm{color:var(--muted)}.banner{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.error{color:var(--overdue)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}.tile{border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.tile-label{color:var(--muted);font-size:13px}.tile-value{font-size:20px}.tile-value.overdue{color:var(--overdue)}.tile-note{color:var(--muted);font-size:12px}.filters{display:flex;gap:4px;margin-bottom:8px}.tab{border:0;background:none;padding:6px 12px;border-radius:4px;cursor:pointer;color:var(--muted);font:inherit}.tab.active{background:var(--surface-alt);color:var(--text);font-weight:600}.invoices{width:100%;border-collapse:collapse;font-size:14px}.invoices th{text-align:left;color:var(--muted);font-weight:500;border-bottom:1px solid var(--border);padding:8px}.invoices td{border-bottom:1px solid var(--border);padding:8px;vertical-align:middle}.num{text-align:right;font-variant-numeric:tabular-nums}.warn{color:var(--overdue)}.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pill{display:inline-block;padding:2px 10px;border-radius:12px;color:#fff;font-size:12px;white-space:nowrap}.pill-paid{background:var(--paid)}.pill-due{background:var(--due)}.pill-overdue{background:var(--overdue)}.pill-chasing{background:var(--chasing);color:var(--text)}.pill-disputed{background:var(--disputed)}.pill-promised{background:var(--promised);color:var(--text)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:4px 10px;cursor:pointer;font:inherit;font-size:13px}.btn:hover:not(:disabled){background:var(--surface-alt)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:2px 8px}.promise-form{display:flex;gap:4px;align-items:center}.empty{color:var(--muted);padding:24px 0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:720px){.invoices thead{display:none}.invoices tr{display:block;border-bottom:1px solid var(--border);padding:8px 0}.invoices td{display:block;border:0;padding:2px 0;text-align:left}}.setup{max-width:640px}.setup h1{font-size:20px;margin:0 0 4px}.step{border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin:12px 0}.step h2{font-size:16px;margin:0 0 8px}.step p{margin:0 0 8px}.done{color:var(--paid);font-weight:600}.setup form{display:flex;flex-direction:column;gap:10px}.setup label{display:flex;flex-direction:column;gap:4px;font-size:14px}.setup label.check{flex-direction:row;align-items:flex-start;gap:8px}.setup input:not([type=checkbox]){font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:4px}.setup form .btn{align-self:flex-start}.header-help{margin-left:auto}.org-pick{margin:4px 0 8px}.org-pick select{font:inherit;padding:4px 6px;border:1px solid var(--border);border-radius:4px}.link{background:none;border:0;padding:0;color:var(--primary, #0073ea);text-decoration:underline;cursor:pointer;font:inherit;white-space:nowrap}.detail .facts{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1rem 0}.detail .facts dt{font-size:.8rem;color:#676879}.detail .facts dd{margin:.2rem 0 0}.timeline{list-style:none;padding:0;margin:0;border-left:2px solid #c3c6d4}.timeline li{display:flex;flex-direction:column;gap:.15rem;padding:.4rem 0 .8rem 1rem;position:relative}.timeline li:before{content:"";position:absolute;left:-7px;top:.65rem;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #c3c6d4}.timeline li.done-sent:before{background:#00c875;border-color:#00c875}.timeline li.done-skipped:before{background:#c3c6d4}
