@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700&family=Manrope:wght@500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1d2822;--ink:#1d2822;--muted:#68736e;--paper:#fbfbf4;--line:#d9ded1;--mint:#50b98a;--moss:#174c3b;--amber:#d89b28;--coral:#e66d54;--blue:#3e6fba;background:#eef0e8;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(120deg,#50b98a24,#0000 34%),linear-gradient(220deg,#d89b2829,#0000 28%),#eef0e8;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer;border:0}input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffef7;border-radius:8px;outline:none;padding:.78rem .85rem}input:focus{border-color:var(--mint);box-shadow:0 0 0 3px #50b98a2b}label{color:var(--muted);text-transform:uppercase;gap:.42rem;font-size:.78rem;font-weight:800;display:grid}h1,h2,p{margin:0}h1,h2{letter-spacing:0;font-family:Fraunces,serif}.auth-shell{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:1rem;min-height:100vh;padding:1rem;display:grid}.auth-visual{color:#f6f5ea;background:linear-gradient(135deg,#174c3bf5,#1d2822db),url(https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=1600&q=80) 50%/cover;border-radius:8px;align-content:space-between;min-height:calc(100vh - 2rem);padding:clamp(1.5rem,4vw,4rem);display:grid;position:relative;overflow:hidden}.auth-visual:after{content:"";background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.auth-visual>*{z-index:1;position:relative}.auth-visual h1{max-width:760px;font-size:clamp(3rem,7vw,6.8rem);line-height:.95}.brand-mark{align-items:center;gap:.75rem;font-weight:900;display:inline-flex}.brand-mark svg{color:var(--amber)}.brand-mark.compact{border-bottom:1px solid var(--line);padding:.9rem}.proof-grid{flex-wrap:wrap;gap:.75rem;display:flex}.proof-grid span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:.45rem;min-height:40px;padding:.65rem .85rem;display:inline-flex}.auth-card,.panel,.metric-grid article{border:1px solid var(--line);background:#fbfbf4e0;border-radius:8px;box-shadow:0 20px 60px #1d282214}.auth-card{align-self:center;padding:1rem}.auth-card form{gap:1rem;padding-top:1rem;display:grid}.segmented{background:#e5e9df;border-radius:8px;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.segmented button{min-height:42px;color:var(--muted);background:0 0;border-radius:6px;font-weight:900}.segmented button.active{color:var(--ink);background:var(--paper)}.primary,.ghost,.icon-button{border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-height:42px;font-weight:900;display:inline-flex}.primary{color:#fff;background:var(--moss);padding:.75rem 1rem}.primary:hover{background:#0d382a}.wide{width:100%}.ghost{color:var(--ink);background:#e8ebe1;padding:.65rem .85rem}.icon-button{width:42px;color:var(--ink);background:#e8ebe1}.danger{color:var(--coral)}.error{color:var(--coral);font-weight:800}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfbf4d1;align-content:start;gap:1rem;height:100vh;display:grid;position:sticky;top:0}.sidebar nav{gap:.35rem;padding:0 .75rem;display:grid}.sidebar a{min-height:42px;color:var(--muted);border-radius:8px;align-items:center;gap:.7rem;padding:0 .85rem;font-weight:900;text-decoration:none;display:flex}.sidebar a.active,.sidebar a:hover{color:var(--ink);background:#e8ebe1}.sidebar .ghost{margin:auto .75rem .75rem}.workspace{align-content:start;gap:1rem;padding:clamp(1rem,3vw,2rem);display:grid}.topbar,.panel-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar h1{font-size:clamp(2rem,4vw,4.6rem)}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:900}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.metric-grid article{gap:.45rem;min-height:132px;padding:1rem;display:grid}.metric-grid svg{color:var(--blue)}.metric-grid span,.expense-row small,.cache-note{color:var(--muted);font-size:.82rem;font-weight:700}.metric-grid strong{align-self:end;font-family:Fraunces,serif;font-size:1.9rem}.split-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1rem;display:grid}.panel{padding:1rem}.panel h2{font-size:1.65rem}.expense-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.description-field,.expense-form .primary{grid-column:1/-1}.ai-panel{gap:1rem;display:grid}.score-ring{--score:70%;aspect-ratio:1;background:conic-gradient(var(--mint) var(--score), #e4e8de 0);width:132px;color:var(--moss);border-radius:999px;justify-self:start;place-items:center;display:grid}.score-ring span{font-family:Fraunces,serif;font-size:2.4rem;line-height:1}.score-ring small{color:var(--muted);margin-top:-1.8rem;font-weight:900}.ai-panel ul{gap:.5rem;margin:0;padding-left:1.1rem;display:grid}.expense-list{gap:.55rem;margin-top:1rem;display:grid}.expense-row{border:1px solid var(--line);background:#fffef7;border-radius:8px;grid-template-columns:46px minmax(0,1fr) auto 42px;align-items:center;gap:.8rem;min-height:62px;padding:.6rem;display:grid}.expense-row div{min-width:0;display:grid}.expense-row strong,.expense-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-dot{aspect-ratio:1;width:42px;color:var(--moss);background:#dfeadf;border-radius:8px;place-items:center;font-size:.78rem;font-weight:900;display:grid}@media (width<=920px){.auth-shell,.app-shell,.split-layout{grid-template-columns:1fr}.auth-visual{min-height:56vh}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar .ghost{margin:0 .75rem .75rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.auth-shell{padding:0}.auth-visual,.auth-card,.panel,.metric-grid article{border-radius:0}.auth-visual h1{font-size:3rem}.topbar{flex-direction:column;align-items:start}.sidebar nav,.metric-grid,.expense-form{grid-template-columns:1fr}.expense-row{grid-template-columns:42px minmax(0,1fr) 42px}.expense-row b{grid-column:2/3}}
