:root{color-scheme:light;--ink:#17252a;--muted:#6c7b7c;--paper:#f3f6f2;--panel:#fff;--line:#d9e3de;--accent:#197d72;--dark:#125b54;--sun:#f1c778;--danger:#a44a45;--good:#267a59}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.page{max-width:1280px;margin:auto;padding:4.5rem 5vw 3rem}.access-layout{min-height:78vh;display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}.brand h1,.topbar h1{max-width:680px;margin:1rem 0 1.5rem;font-size:clamp(3rem,6vw,6.2rem);line-height:.96;letter-spacing:-.07em}.kicker{margin:0;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lede{max-width:520px;color:var(--muted);font-size:1.12rem;line-height:1.65}.card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:14px 16px 0 rgba(241,199,120,.72)}.access-card{padding:2rem;max-width:440px}.tabs{display:flex;gap:.4rem;margin:-.25rem 0 1.8rem;border-bottom:1px solid var(--line)}.tab{width:auto;margin:0;padding:.8rem .7rem;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);cursor:pointer;font:inherit;font-weight:700}.tab.active{color:var(--accent);border-color:var(--accent)}.form{display:grid;gap:1rem}.form label,.profile-bar label{display:grid;gap:.4rem;color:var(--muted);font-size:.86rem;font-weight:700}.form input,.form select,.profile-bar select{width:100%;min-height:2.9rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.55rem;background:#fbfdfb;color:var(--ink);font:inherit}.button,button{font:inherit}.primary,.secondary,.quiet{min-height:2.8rem;padding:.65rem 1rem;border-radius:.55rem;font-weight:750;cursor:pointer}.primary{border:0;background:var(--accent);color:#fff}.primary:hover,.primary:focus-visible{background:var(--dark)}.secondary{border:1px solid var(--accent);background:transparent;color:var(--accent)}.quiet{border:0;background:transparent;color:var(--muted)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(25,125,114,.25);outline-offset:3px}.message{min-height:1.4rem;margin:.8rem 0 0;color:var(--danger);font-size:.88rem}.message.good{color:var(--good)}.hint,.empty{color:var(--muted);line-height:1.5;font-size:.9rem}.hidden{display:none!important}.topbar{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.topbar h1{font-size:clamp(2.3rem,5vw,4.8rem);margin-bottom:0}.session{display:flex;align-items:center;gap:1rem;color:var(--muted);font-size:.9rem}.profile-bar{display:flex;align-items:end;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.profile-bar label{width:260px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.summary-card{padding:1.3rem;border-left:4px solid var(--accent);background:#e8f1ec}.summary-card span{color:var(--muted);font-size:.85rem}.summary-card strong{display:block;margin-top:.4rem;font-size:1.8rem;letter-spacing:-.04em}.workspace{display:grid;grid-template-columns:1.5fr .85fr;gap:1rem}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.module{padding:1.3rem;box-shadow:none}.module-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.module h2{margin:0;font-size:1.15rem;letter-spacing:-.03em}.small{min-height:2.25rem;padding:.45rem .7rem;font-size:.82rem}.stack{display:grid;gap:.2rem}.list-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.list-row small,td small{display:block;color:var(--muted);font-size:.77rem;margin-top:.2rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{padding:.8rem .4rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.06em}.amount{text-align:right}.negative{color:var(--danger)}.positive{color:var(--good)}.dialog{width:min(94vw,460px);padding:1.7rem;border:1px solid var(--line);border-radius:1rem;color:var(--ink);box-shadow:20px 22px 0 rgba(241,199,120,.72)}.dialog::backdrop{background:rgba(23,37,42,.38)}.dialog h2{margin:.3rem 0 1.4rem}.dialog label{display:grid;gap:.4rem;margin:.9rem 0;color:var(--muted);font-size:.86rem;font-weight:700}.dialog input,.dialog select{min-height:2.8rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;font:inherit}.close{float:right;border:0;background:none;font-size:1.7rem;color:var(--muted);cursor:pointer}
@media(max-width:820px){.page{padding:2.5rem 5vw}.access-layout{grid-template-columns:1fr;gap:2rem;min-height:auto}.access-card{max-width:none}.workspace,.three-columns{grid-template-columns:1fr}.summary-grid{gap:.6rem}.summary-card{padding:1rem}.summary-card strong{font-size:1.35rem}.topbar{align-items:start;flex-direction:column;gap:1rem}.profile-bar{align-items:stretch;flex-wrap:wrap}.profile-bar label{width:100%}}
.row-actions{display:flex;gap:.25rem;align-items:center}.archived{opacity:.62}.report-panel{margin-top:1rem}.report-filters{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap}.report-filters label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}.report-filters input,.report-filters select,.member-row select{min-height:2.5rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:var(--ink);font:inherit}.report-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0;padding:1rem;background:#e8f1ec}.report-totals span{color:var(--muted);font-size:.82rem}.report-totals strong{display:block;color:var(--ink);font-size:1rem;margin-top:.3rem}.member-list{display:grid;gap:.25rem;max-height:45vh;overflow:auto}.member-row{display:grid;grid-template-columns:minmax(8rem,1fr) auto auto;gap:.5rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}.member-row small{display:block;color:var(--muted);margin-top:.2rem}.member-row select{font-size:.78rem}.dialog hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}.check{display:flex!important;align-items:center;gap:.6rem!important}.check input{width:auto;min-height:auto!important}.quiet.small{padding:.35rem .55rem}.report-panel table td{white-space:normal}
@media(max-width:650px){.report-totals{grid-template-columns:repeat(2,1fr)}.member-row{grid-template-columns:1fr auto}.member-row select{grid-column:1}.member-row button{grid-column:2;grid-row:1 / span 2}.profile-bar .message{width:100%}}
.dialog > .close{position:absolute;top:.65rem;right:.65rem;z-index:2;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.dialog > .close:hover{background:#e8f1ec;color:var(--dark)}
.currency-settings{margin-top:1rem}
.currency-settings-actions{display:grid;grid-template-columns:minmax(14rem,auto) minmax(14rem,22rem) 1fr;gap:1rem;align-items:end;margin:1.25rem 0}
.currency-settings-actions label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}
.currency-settings-actions input{min-height:2.7rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.5rem;font:inherit}
.currency-settings-actions .message{margin:0}
.currency-settings table td{padding:.7rem .5rem}
.muted{color:var(--muted)}
@media(max-width:820px){.session{flex-wrap:wrap}.currency-settings-actions{grid-template-columns:1fr}.currency-settings-actions .message{min-height:0}}
