:root{--font-base:"Atkinson Hyperlegible", system-ui, sans-serif;--color-bg:#f7f5f0;--color-surface:#fff;--color-text:#1f1b16;--color-muted:#6b645a;--color-accent:#2f6f5e;--color-accent-soft:#e3efe9;--color-danger:#b3492f;--radius:14px;--shadow:0 1px 3px #1f1b1614}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-base);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}button{font-family:inherit}input,select{font-family:inherit;font-size:1rem}.page{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;padding:20px 16px 80px;display:flex}.page.gate{text-align:center;justify-content:center;gap:12px;min-height:100vh}.page-header h1{margin:0;font-size:1.5rem}.muted{color:var(--color-muted)}.small{font-size:.8rem}.center{text-align:center}.error-banner{color:var(--color-danger);border-radius:var(--radius);background:#fdecea;padding:10px 14px;font-size:.9rem}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.summary-total{justify-content:space-between;align-items:baseline;display:flex}.summary-total strong{color:var(--color-accent);font-size:1.6rem}.summary-breakdown{border-top:1px solid var(--color-accent-soft);flex-direction:column;gap:6px;margin:12px 0 0;padding:12px 0 0;list-style:none;display:flex}.summary-breakdown li{justify-content:space-between;font-size:.9rem;display:flex}.add-form{flex-direction:column;gap:10px;display:flex}.add-form-row{gap:8px;display:flex}.input{width:100%;color:var(--color-text);background:#fdfcf9;border:1px solid #ddd6cc;border-radius:10px;padding:12px 14px}.amount-input{flex:1.2;font-size:1.2rem;font-weight:700}.btn{cursor:pointer;border:none;border-radius:10px;padding:12px 16px;font-size:1rem;font-weight:700}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:disabled{opacity:.6}.btn-icon{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1rem}.expense-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.expense-item{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.expense-meta{align-items:center;gap:10px;display:flex}.expense-icon{font-size:1.4rem}.expense-note{font-weight:700}.expense-amount-row{align-items:center;gap:4px;display:flex}.expense-amount{font-weight:700}
