:root{color:#2f312b;background:#f7f4ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.welcome{display:grid;min-height:100vh;place-content:center;gap:18px;padding:24px;text-align:center}.welcome h1{margin:0;font-size:46px}.welcome p{max-width:520px;margin:0;color:#6d6b62;line-height:1.6}.welcome button,.add-line button{border:0;border-radius:8px;background:#45624d;color:#fff;padding:12px 16px}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}aside{border-right:1px solid #e4ded2;background:#fffaf2;padding:22px 18px}.brand,nav button,.family-chip,.list-row,.goal>div{display:flex;align-items:center}.brand{gap:10px;margin-bottom:28px;font-size:20px;font-weight:800}nav{display:grid;gap:6px}nav button{gap:10px;width:100%;border:0;border-radius:8px;background:transparent;color:#55584f;padding:11px 12px;text-align:left}nav button.active,nav button:hover{background:#e9efe4;color:#243a2a}main{padding:26px}header{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:34px}h2{margin-bottom:16px;font-size:18px}header p,.family-settings p{color:#706d64}.family-chip{height:38px;border:1px solid #ddd4c7;border-radius:999px;background:#fffaf2;padding:0 14px;color:#55584f;white-space:nowrap}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{border:1px solid #e1dacd;border-radius:8px;background:#fffcf7d1;padding:18px;box-shadow:0 18px 44px #3a31240f}.wide{grid-column:span 2}.add-line,.form-grid{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px}.form-grid{grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) auto}.budget-form{grid-template-columns:130px minmax(150px,1fr) 130px 90px auto}.add-line input,.form-grid input,.form-grid select{min-width:0;border:1px solid #d9d0c2;border-radius:8px;background:#fff;padding:12px 14px}.list{display:grid;gap:8px}.list-row{width:100%;justify-content:flex-start;gap:10px;border:1px solid #ece4d7;border-radius:8px;background:#fffdf9;color:#31342d;padding:12px;text-align:left}.list-row.static{cursor:default}.list-row span{flex:1}.list-row time,.list-row small{color:#7a776e;font-size:13px}.list-row.done span{color:#8a877f;text-decoration:line-through}.empty{border:1px dashed #d8d0c3;border-radius:8px;color:#77746b;padding:18px}.notice{margin-bottom:16px;border:1px solid #d8d0c3;border-radius:8px;background:#fff8e6;color:#6c5a29;padding:12px 14px}.metric{font-size:34px;font-weight:800}.goal-grid{display:grid;gap:12px}.goal{border:1px solid #ece4d7;border-radius:8px;background:#fffdf9;padding:14px}.goal>div{justify-content:space-between;gap:12px}.bar{height:8px;margin-top:12px;overflow:hidden;border-radius:999px;background:#ebe5db}.bar i{display:block;height:100%;border-radius:inherit;background:#d88f55}@media(max-width:860px){.shell{grid-template-columns:1fr}aside{position:sticky;top:0;z-index:2;border-right:0;border-bottom:1px solid #e4ded2}nav{display:flex;overflow-x:auto}nav button{width:auto;white-space:nowrap}header,.add-line,.form-grid,.budget-form{grid-template-columns:1fr;flex-direction:column}.dashboard{grid-template-columns:1fr}.wide{grid-column:span 1}main{padding:18px}}
