:root{color:#17201b;background:#f7f4ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:28px 0 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 4px;color:#53756a;font-size:.86rem;font-weight:800}h1,h2,p{margin-top:0}h1{max-width:720px;margin-bottom:0;font-size:clamp(2rem,4vw,4.4rem);line-height:1}.subhead{max-width:560px;margin:10px 0 0;color:#5e6f67;font-weight:700}h2{margin-bottom:0;font-size:1.05rem}.top-actions,.section-title,.expense-actions,.icon-text{display:flex;align-items:center}.top-actions{gap:10px}.icon-button,.expense-actions button,.member-chip button{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #cbd8d2;border-radius:8px;color:#22352e;background:#fff}.icon-button:hover,.expense-actions button:hover,.member-chip button:hover{border-color:#2f705b;color:#164b3b}.icon-button.danger:hover{border-color:#ba3e35;color:#ba3e35}.status-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #b9d4c7;border-radius:8px;margin-bottom:14px;padding:12px 14px;color:#194b3d;background:#eef8f3;font-weight:800}.status-strip small{color:#5d746a;font-size:.82rem;white-space:nowrap}.error-banner{border:1px solid #d9867e;border-radius:8px;padding:12px 14px;color:#8f2115;background:#fff5f3}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{border:1px solid #d9ded1;border-radius:8px;padding:14px;background:#fffdf8}.metric span{display:block;color:#66746d;font-size:.82rem;font-weight:700}.metric strong{display:block;margin-top:5px;font-size:1.35rem}.workspace{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.3fr);gap:18px;align-items:start}.input-column,.output-column{display:grid;gap:18px}.panel{border:1px solid #d9ded1;border-radius:8px;padding:18px;background:#fffdf8;box-shadow:0 18px 40px #2e393114}.focus-panel{border-color:#9bbdad;background:#f6fbf8}.section-title{gap:9px;margin-bottom:16px;color:#243a31}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:14px}input,select{width:100%;min-height:44px;border:1px solid #cbd8d2;border-radius:8px;padding:0 12px;color:#17201b;background:#fff}input:focus,select:focus{border-color:#2f705b;outline:3px solid rgba(47,112,91,.14)}.primary-button{justify-content:center;min-height:44px;border:0;border-radius:8px;padding:0 14px;color:#fff;font-weight:800;background:#19624d}.primary-button:hover{background:#124c3b}.chip-list,.toggle-grid{display:flex;flex-wrap:wrap;gap:10px}.member-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid #cfe0d7;border-radius:999px;padding:4px 4px 4px 12px;background:#edf7f2;font-weight:700}.member-chip button{width:28px;height:28px;border-radius:999px}.expense-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.expense-form label{display:grid;gap:7px;color:#4c5e56;font-size:.9rem;font-weight:800}.full-width,.submit-button{grid-column:1 / -1}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.field-heading legend{margin:0}.mini-actions{display:flex;gap:8px}.mini-actions button{min-height:32px;border:1px solid #cbd8d2;border-radius:8px;padding:0 10px;color:#294139;background:#fff;font-weight:800}.mini-actions button:hover{border-color:#2f705b;color:#164b3b}.toggle-pill{position:relative}.toggle-pill input{position:absolute;inset:0;opacity:0}.toggle-pill span{display:inline-flex;align-items:center;min-height:38px;border:1px solid #cbd8d2;border-radius:8px;padding:0 12px;color:#30443b;background:#fff}.toggle-pill input:checked+span{border-color:#19624d;color:#fff;background:#19624d}.settlement-panel{border-color:#9bbdad;background:#f3fbf7}.settlement-list,.balance-list,.expense-list{display:grid;gap:10px}.settlement-row,.balance-row,.expense-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e0e5dc;border-radius:8px;padding:12px;background:#fff}.settlement-row{display:grid;grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr) auto}.settlement-row span{color:#6e7d75;text-align:center}.settlement-row b{color:#113d31;text-align:right}.balance-row strong{font-size:1.05rem}.positive{color:#14664f}.negative{color:#ba3e35}.expense-row strong,.expense-row span{display:block}.expense-row span{margin-top:3px;color:#68776f;font-size:.9rem}.expense-row small{display:block;margin-top:5px;color:#7b8b83;font-size:.8rem}.expense-row.settled{opacity:.68}.expense-row.settled strong{text-decoration:line-through}.expense-actions{gap:10px}.empty-state{display:flex;align-items:center;gap:8px;margin:0;color:#61736b}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:820px){.app-shell{width:min(100vw - 24px,720px);padding-top:18px}.topbar,.workspace{grid-template-columns:1fr}.topbar{display:grid}.stats-strip{grid-template-columns:repeat(2,1fr)}.status-strip{grid-template-columns:auto 1fr}.status-strip small{grid-column:2}}@media(max-width:540px){h1{font-size:2.15rem}.stats-strip,.expense-form,.inline-form,.settlement-row{grid-template-columns:1fr}.settlement-row span,.settlement-row b{text-align:left}.expense-row{align-items:flex-start;flex-direction:column}.top-actions{display:grid;grid-template-columns:repeat(4,42px)}.field-heading{align-items:flex-start;flex-direction:column}}
