:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#192621;--muted:#59665f;--border:#dce2dd;--accent:#214b3c;background:#f5f6f4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input{font:inherit}button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:.7rem;min-height:44px;padding:.65rem 1rem;font-weight:600}button:disabled{cursor:default;opacity:.55}button.secondary{color:#233e32;border-color:var(--border);background:#fff}button.text-button{color:var(--accent);background:0 0;border:0;padding:.6rem .7rem}:focus-visible{outline-offset:3px;outline:3px solid #467fa2}label{gap:.5rem;font-size:.9rem;font-weight:600;display:grid}input{color:#192621;background:#fff;border:1px solid #aebbb2;border-radius:.6rem;width:100%;min-width:0;min-height:46px;padding:.7rem;font-size:1rem}input:read-only{background:#eef2ee}input:disabled{opacity:.65}form{gap:1rem;display:grid}fieldset{border:0;gap:1rem;min-width:0;margin:0;padding:0;display:grid}.dashboard{width:min(100%,60rem);margin:0 auto;padding:clamp(1rem,4vw,2.5rem)}.dashboard-header,.account-bar,.section-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-header{margin-bottom:1.5rem}.eyebrow{color:var(--muted);margin-bottom:.5rem;font-size:.75rem;font-weight:600}h1{letter-spacing:-.04em;font-size:clamp(1.6rem,5vw,2.4rem)}h2{letter-spacing:-.025em;font-size:1.3rem}h3{font-size:1rem}.currency,.badge{color:#344f40;background:#e8eeea;border-radius:2rem;padding:.35rem .65rem;font-size:.75rem;display:inline-block}.currency{border:1px solid var(--border);background:#fff}.muted,.purchase-meta,.field-hint,footer{color:var(--muted);font-size:.85rem;line-height:1.5}.account-bar{margin:0 0 1.5rem}.account-bar span{overflow-wrap:anywhere}.account-bar button{flex-shrink:0}.month-controls{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.month-controls label{flex:1;max-width:18rem}.panel,.stat{border:1px solid var(--border);background:#fff;border-radius:1rem;padding:clamp(1rem,3vw,1.5rem)}.panel{margin-top:1.25rem}.panel>p{margin-top:.75rem;line-height:1.6}.sign-in{max-width:28rem;margin:2.5rem auto}.sign-in form{margin-top:1.5rem}.summary-grid{grid-template-columns:2fr 1fr 1fr;gap:.75rem;display:grid}.stat{min-width:0}.stat.total{background:#e9f0eb;border-color:#d2ded5}.total-value{letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:650}.stat-value{font-variant-numeric:tabular-nums;margin-bottom:.25rem;font-size:2rem;font-weight:650}.section-header{margin-bottom:1rem}.section-header button{font-size:.85rem}.loading,.empty-state{color:var(--muted);padding:2rem 0;line-height:1.6}.empty-state p{margin-top:.5rem;font-size:.9rem}.purchase-list{margin:0;padding:0;list-style:none}.purchase{border-top:1px solid var(--border);padding:1.2rem 0 .5rem}.purchase-main{justify-content:space-between;align-items:start;gap:1rem;display:flex}.purchase-main h3{overflow-wrap:anywhere}.purchase-meta{margin-top:.45rem}.purchase-amount{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-width:7rem;max-width:45%;font-size:.95rem;font-weight:600}.purchase-actions{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.button-pair{flex-wrap:wrap;gap:.5rem;display:flex}.badge.review{color:#775612;background:#faf0d8}.excluded .purchase-main{color:#637269}.purchase-form{border:1px solid var(--border);background:#f5f7f4;border-radius:.8rem;margin:1rem 0 1.5rem;padding:1rem}.form-columns{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.error{color:#8b2b22;background:#fff0ee;border:1px solid #e9c1ba;border-radius:.65rem;margin-bottom:1rem;padding:.9rem;font-size:.9rem;line-height:1.5}.error button{margin-top:.75rem}.load-more{width:100%;margin-top:1rem}footer{margin-top:1.5rem;font-size:.75rem}@media (max-width:600px){.summary-grid{grid-template-columns:1fr 1fr}.stat.total{grid-column:1/-1}.purchase-main{gap:.65rem}.purchase-amount{min-width:5.5rem;font-size:.85rem}}.nav-link{color:var(--accent);margin-left:auto;padding:.6rem .4rem;font-weight:600}.insight-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.month-chart{border-bottom:1px solid var(--border);align-items:end;gap:2px;height:12rem;margin-top:1rem;padding-top:1.5rem;display:flex;overflow-x:auto}.month-bar{outline-offset:2px;flex-direction:column;flex:1 0 2.25rem;justify-content:end;align-items:center;height:100%;display:flex}.month-bar span{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:2.5rem;min-height:2px}.month-bar:hover span,.month-bar:focus span{background:#2f6b55}.month-bar em{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:.25rem;font-size:.7rem;font-style:normal}.month-labels{gap:2px;display:flex;overflow-x:hidden}.month-labels span{text-align:center;color:var(--muted);flex:1 0 2.25rem;padding-top:.35rem;font-size:.7rem}.bar-list{gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.bar-row{grid-template-columns:1fr auto;gap:.35rem 1rem;font-size:.9rem;display:grid}.bar-row strong{font-variant-numeric:tabular-nums}.bar-track{grid-column:1/-1;height:.6rem}.bar-track span{background:var(--accent);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}details{margin-top:1rem;font-size:.9rem}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:.75rem}th,td{text-align:left;border-top:1px solid var(--border);padding:.45rem .25rem}td:last-child,th:last-child{text-align:right}
