@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{color:#27302e;background:#f4f1ea;font-family:DM Sans,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}main{max-width:1180px;margin:0 auto;padding:0 32px 80px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd9d0}.brand{color:#27302e;font-size:26px;font-weight:700;letter-spacing:-1.5px;text-decoration:none}.brand span{color:#d85e43}.topbar-actions{display:flex;align-items:center;gap:24px}.month-picker{display:flex;align-items:center;gap:10px;color:#84857f;font:12px DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em}.month-picker input{border:0;background:transparent;color:#27302e;font:13px DM Mono,monospace}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#f4f1ea;background:#27302e;font:11px DM Mono,monospace}.user-name{color:#7e807b;font-size:13px}.logout-button,.text-button{border:0;padding:0;color:#9b7665;background:transparent;font-size:12px}.logout-button:hover,.text-button:hover{color:#bd624c}.hero{display:flex;justify-content:space-between;align-items:center;padding:76px 0 62px}.kicker,.eyebrow{margin:0 0 12px;color:#9b7665;font:11px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}h1{max-width:680px;margin:0;font-size:clamp(48px,8vw,90px);line-height:.95;letter-spacing:-5px;font-weight:600}h1 em{color:#bd624c;font-family:Playfair Display,serif;font-weight:500;letter-spacing:-4px}.hero-copy{max-width:370px;margin:25px 0 0;color:#7e807b;font-size:16px;line-height:1.55}.hero-mark{color:#d85e43;font-size:84px;transform:rotate(15deg)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.summary-card,.panel{border:1px solid #ddd9d0;background:#ffffff47}.summary-card{padding:26px 28px;min-height:137px}.amount{display:block;font-size:32px;letter-spacing:-1.5px}.amount.positive{color:#397c62}.amount.negative{color:#bd624c}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.panel{padding:30px}.transactions-panel{margin-top:14px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:32px}.panel-heading h2{margin:0;font-size:22px;letter-spacing:-.8px}.period{color:#9a9a93;font:11px DM Mono,monospace;text-transform:uppercase}.bar-row{margin:0 0 24px}.bar-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:13px}.bar-label strong,.bar-label span:last-child{color:#7e807b;font-weight:500}.bar-track{height:8px;overflow:hidden;background:#e2e0d9}.bar-fill{height:100%;background:#d85e43}.bar-fill.warning{background:#d49a4b}.budget-list .bar-fill{background:#5b8c76}.budget-manager{margin-top:24px;padding-top:18px;border-top:1px solid #e4e1d9}.budget-form{display:flex;gap:8px;margin-top:14px}.budget-form input,.budget-form select{min-width:0;flex:1;border:1px solid #d5d2c9;padding:10px;color:#27302e;background:#faf9f5;font-size:12px}.budget-actions{display:grid;gap:8px;margin-top:15px}.budget-actions>div{display:flex;align-items:center;gap:10px;color:#7e807b;font-size:12px}.budget-actions>div span{flex:1}.danger-button{border:0;padding:0;color:#bd624c;background:transparent;font-size:12px}.primary-button{border:0;padding:11px 16px;color:#f8f6f0;background:#27302e;font-size:12px}.transaction-list{border-top:1px solid #e4e1d9}.transaction-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #e4e1d9}.transaction-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:18px}.transaction-icon.income{color:#397c62;background:#dcebe3}.transaction-icon.expense{color:#bd624c;background:#f3ded7}.transaction-info{flex:1;display:grid;gap:5px}.transaction-info strong{font-size:14px;font-weight:600}.transaction-info span{color:#9a9a93;font:11px DM Mono,monospace}.income{color:#397c62}.expense{color:#bd624c}.transaction-form{display:flex;flex-wrap:wrap;gap:9px;padding:0 0 24px}.transaction-form input,.transaction-form select{min-width:130px;flex:1;border:1px solid #d5d2c9;padding:10px;color:#27302e;background:#faf9f5;font-size:12px}.form-error{flex-basis:100%;color:#bd624c}.alert,.loading,.empty-state{padding:18px 0;color:#7e807b;font-size:13px}.alert{color:#bd624c}.alert button{margin-left:8px;border:0;color:inherit;background:transparent;text-decoration:underline}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);padding:42px;border:1px solid #ddd9d0;background:#ffffff4d}.auth-card h1{margin:32px 0 14px;font-size:48px;letter-spacing:-3px}.auth-copy{margin:0 0 28px;color:#7e807b;line-height:1.5}.auth-form{display:grid;gap:10px}.auth-form input{border:1px solid #d5d2c9;padding:13px;color:#27302e;background:#faf9f5;font-size:13px}.auth-form .primary-button{margin-top:6px}.demo-hint{display:block;margin-top:20px;color:#9a9a93;font:10px DM Mono,monospace}@media(max-width:760px){main{padding:0 18px 50px}.topbar{height:72px}.topbar-actions{gap:10px}.user-name,.month-picker span{display:none}.hero{padding:52px 0 42px}.hero-mark{display:none}.summary-grid,.content-grid{grid-template-columns:1fr}.panel{padding:22px}h1{letter-spacing:-3px}.transaction-form input,.transaction-form select,.transaction-form button{flex-basis:calc(50% - 9px)}.transaction-info span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-card{padding:28px}.auth-card h1{font-size:42px}}
