:root{font:15px system-ui,sans-serif;color:#222537;background:#f5f6fb;--muted:#5e6579;--accent:#5142c4;--border:#e2e5ef;--ink:#222537}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}aside{background:#1c1b32;color:#f2efff;display:flex;flex-direction:column;padding:26px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:0 7px 28px;text-decoration:none;color:inherit;font-size:17px;font-weight:750}.brand span{background:#7462f1;border-radius:11px;width:37px;height:37px;display:grid;place-items:center;font-size:23px}.brand small{display:block;color:#c4bce2;font-size:9px;letter-spacing:.14em;margin-top:3px}nav{overflow:auto}nav p{color:#b1a9ce;font-size:10px;letter-spacing:.14em;font-weight:750;margin:19px 10px 6px}nav a{display:block;color:#e3dcfb;text-decoration:none;padding:9px 11px;border-radius:8px;margin:2px 0;font-size:13px}nav a:hover,nav a[aria-current]{background:#383354;color:white}nav a[aria-current]{box-shadow:inset 3px 0 #a399ff}.sidefoot{color:#d2c9ee;font-size:11px;margin:auto 6px 0;padding-top:16px}.sidefoot b{color:#7ee1ab;margin-right:5px}main{min-width:0}header{height:66px;background:white;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 30px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--muted)}#workspace{padding:27px 30px 45px;max-width:1650px;margin:auto}.heading,.toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}h1{margin:0;font-size:clamp(26px,4vw,37px);letter-spacing:-.045em}h2{font-size:17px;margin:0 0 12px;letter-spacing:-.015em}p{color:var(--muted);margin:5px 0 0;line-height:1.55}.stats,.grid{display:grid;gap:15px;margin-bottom:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.stat,.welcome{background:white;border:1px solid var(--border);border-radius:13px;padding:18px;min-width:0}.stat strong{display:block;font-size:clamp(19px,2.2vw,27px);letter-spacing:-.035em;margin-top:7px;overflow-wrap:anywhere}.stat small{font-weight:700;color:var(--muted)}.welcome{background:#eeebff;margin-bottom:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wide{grid-column:1/-1}.tablebox{overflow:auto}.tablebox table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:10px 11px;border-bottom:1px solid #eceef4}th{font-size:11px;color:var(--muted);background:#f7f7fb}td{font-variant-numeric:tabular-nums}td small{display:block;color:var(--muted)}tr:hover td{background:#faf9ff}.empty{padding:23px;color:var(--muted);text-align:center}.pill{background:#ece9ff;color:#4335a5;padding:3px 8px;border-radius:30px;font-size:11px;font-weight:700}.paid,.recorded{background:#def5e8;color:#176041}.unpaid{background:#fce8e9;color:#8b253a}.partial{background:#fff0ce;color:#774b07}.chart{display:flex;align-items:end;gap:5px;height:145px;border-bottom:1px solid var(--border);padding-top:10px}.chart>div{flex:1;min-width:0;height:100%;display:flex;align-items:end;justify-content:center;gap:2px}.bar{display:block;width:42%;max-width:27px;background:#7566e4;border-radius:4px 4px 0 0}.bar.second{background:#25a58b}.ticks{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:7px}.meter{display:grid;grid-template-columns:minmax(85px,1fr) minmax(35px,1fr) auto;gap:8px;align-items:center;font-size:12px;margin:9px 0}.meter i{display:block;height:7px;border-radius:7px;background:#7566e4}button,input,select,textarea{font:inherit;border:1px solid #cfd3e1;border-radius:8px;color:var(--ink);background:white;padding:8px 10px;max-width:100%}button{cursor:pointer;font-weight:650}button:hover{background:#eeebff}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.primary:hover{background:#4234ad}.actions{display:flex;gap:7px;flex-wrap:wrap}.danger{color:#a21e37}.quiet{font-size:12px;padding:5px 8px}label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:650}dialog{border:1px solid var(--border);border-radius:15px;padding:22px;color:var(--ink);width:min(640px,94vw);max-height:90vh}dialog::backdrop{background:#15132988}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}#toast{position:fixed;right:20px;bottom:20px;z-index:5;background:#24213c;color:white;padding:11px 15px;border-radius:8px;display:none;max-width:90vw}#toast.show{display:block}:focus-visible{outline:3px solid #a393ff;outline-offset:2px}
@media(max-width:1000px){.grid{grid-template-columns:1fr}}
@media(max-width:680px){body{display:block}aside{position:static;height:auto;padding:13px}.brand{padding:0 0 10px}.sidefoot,nav p{display:none}nav{display:flex;overflow-x:auto;white-space:nowrap}header{height:51px;padding:0 13px}#workspace{padding:17px 13px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat,.panel{padding:12px}}
.login{max-width:550px;margin:30px auto}.login button{margin-top:10px}button:disabled{opacity:.55;cursor:not-allowed}#account{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:680px){header .eyebrow{display:none}#account{max-width:160px}}
