:root{color:#1d2b24;background:#f6f7f2;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:pan-y;margin:0}.shell{grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem;max-width:1000px;margin:10vh auto;padding:2rem;display:grid}.landing-icon{object-fit:contain;filter:drop-shadow(0 12px 18px #34734a24);width:5.25rem;height:5.25rem;margin-bottom:1.25rem}.eyebrow{color:#34734a;letter-spacing:.08em;text-transform:uppercase;font-weight:700}h1{margin:.5rem 0 1rem;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1}.intro>p:last-child,.helper{color:#526158;font-size:1.05rem;line-height:1.6}.card{background:#fff;border:1px solid #dfe5dc;border-radius:1rem;padding:2rem;box-shadow:0 18px 50px #18251a12}.card h2{margin:1.5rem 0 .35rem}.tabs{border-bottom:1px solid #e7ebe4;gap:.5rem;display:flex}.tabs button{color:#526158;cursor:pointer;font:inherit;background:0 0;border:0;padding:.75rem .4rem}.tabs button.active{color:#1d2b24;border-bottom:2px solid #34734a;font-weight:700}form{gap:1rem;margin-top:1.5rem;display:grid}label{gap:.4rem;font-size:.9rem;font-weight:650;display:grid}input{font:inherit;border:1px solid #cdd6c9;border-radius:.55rem;padding:.75rem}select{width:100%;font:inherit;background:#fff;border:1px solid #cdd6c9;border-radius:.55rem;padding:.75rem}input:focus{border-color:#34734a;outline:3px solid #34734a22}.submit{color:#fff;cursor:pointer;font:inherit;background:#34734a;border:0;border-radius:.55rem;padding:.8rem 1rem;font-weight:700}.submit:disabled{opacity:.65;cursor:wait}.password-note,.message{color:#526158;margin:0;font-size:.9rem}.message{color:#1d2b24;margin-top:1rem;font-weight:650}.modal-backdrop{z-index:10;background:#17231acc;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:1rem;width:min(100%,440px);padding:2rem;box-shadow:0 20px 70px #0006}.modal h2{margin:.5rem 0 1rem}.modal p:not(.eyebrow){color:#526158;margin-bottom:1.5rem;line-height:1.55}.dashboard{max-width:1000px;margin:0 auto;padding:2rem}.dashboard-header{border-bottom:1px solid #dfe5dc;justify-content:space-between;align-items:center;display:flex}.dashboard-header button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cdd6c9;border-radius:.5rem;padding:.55rem .8rem}.dashboard-welcome{margin:5rem 0 2rem}.dashboard-welcome p:last-child,.empty-state p{color:#526158;font-size:1.05rem;line-height:1.6}.empty-state{background:#fff9;border:1px dashed #b9c8b9;border-radius:1rem;max-width:560px;padding:1.5rem}.app-shell{min-height:100vh;padding-bottom:6.5rem}.app-header{z-index:6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfcf8ee;border-bottom:1px solid #e1e7dd;justify-content:space-between;align-items:center;height:4.5rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.55rem;display:flex}.brand img{object-fit:contain;width:2.15rem;height:2.15rem}.wordmark{color:#34734a;letter-spacing:-.04em;margin:0;font-size:1.2rem;font-weight:800}.profile-button,.avatar-large{color:#215333;width:2.35rem;height:2.35rem;font:inherit;background:#dcebdd;border:0;border-radius:50%;place-items:center;font-weight:800;display:grid}.profile-button{cursor:pointer}.app-content{width:min(100% - 2.5rem,820px);margin:3rem auto}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.section-heading h1{margin:.25rem 0 0;font-size:clamp(2.2rem,5vw,3.5rem)}.text-action{color:#34734a;cursor:pointer;font:inherit;background:0 0;border:0;padding:.5rem;font-weight:750}.danger{color:#a03939}.group-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;display:grid}.group-hero{background:linear-gradient(125deg,#eaf4e7,#f9f7ec);border-radius:1.25rem;justify-content:space-between;align-items:center;min-height:175px;margin:0 0 1.25rem;padding:1.5rem 1.75rem;display:flex;position:relative;overflow:hidden}.group-hero>div{z-index:1;max-width:440px;position:relative}.group-hero h2{margin:.35rem 0 .6rem;font-size:clamp(1.45rem,3vw,2rem)}.group-hero p:last-child{color:#526158;margin:0;line-height:1.5}.group-hero img{opacity:.9;filter:drop-shadow(0 15px 15px #34734a1c);width:12rem;position:absolute;bottom:-1.65rem;right:.5rem;transform:rotate(10deg)}.group-card{background:#fff;border:1px solid #dfe5dc;border-radius:1rem;min-height:170px;padding:1.2rem;box-shadow:0 8px 25px #18251a0a}.group-card span{color:#2d6b40;background:#e2f0df;border-radius:.7rem;place-items:center;width:2.25rem;height:2.25rem;font-weight:800;display:grid}.group-card h2{margin:1.6rem 0 .25rem;font-size:1.2rem}.group-card p,.account-card p{color:#526158;margin:0}.account-card{background:#fff;border:1px solid #dfe5dc;border-radius:1rem;max-width:440px;padding:1.5rem}.avatar-large{width:3rem;height:3rem;font-size:1.2rem}.account-card h2{margin-bottom:.25rem}.account-card .text-action{margin-top:1.5rem;padding-left:0}.bottom-nav{z-index:5;background:#fffefc;border:1px solid #d6dfd2;border-radius:1.25rem;grid-template-columns:1fr 1fr auto 1fr;align-items:center;width:min(100% - 2rem,520px);height:4.4rem;padding:.35rem;display:grid;position:fixed;bottom:1.1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #18251a22}.bottom-nav button:not(.add-expense){color:#718075;cursor:pointer;background:0 0;border:0;gap:.15rem;font:.72rem inherit;display:grid}.bottom-nav button span{font-size:1.1rem}.bottom-nav button.selected{color:#27633a;font-weight:800}.add-expense{color:#fff;cursor:pointer;background:#34734a;border:0;border-radius:50%;width:3.4rem;height:3.4rem;font-size:2rem;line-height:1;box-shadow:0 5px 12px #34734a55}.modal-actions{justify-content:end;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.add-friend-button{margin-bottom:1rem}.people-list{gap:.75rem;display:grid}.people-list article{background:#fff;border:1px solid #dfe5dc;border-radius:.9rem;align-items:center;gap:.9rem;padding:.9rem 1rem;display:flex}.people-list span{color:#27633a;background:#e2f0df;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:grid}.people-list h2{margin:0;font-size:1rem}.people-list p{color:#718075;margin:.2rem 0 0;font-size:.85rem}.mobile-page{background:#f6f7f2;min-height:100vh}.mobile-page-header{z-index:7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfcf8ee;border-bottom:1px solid #e1e7dd;grid-template-columns:3rem 1fr 3rem;align-items:center;height:4.5rem;display:grid;position:sticky;top:0}.mobile-page-header h1{text-align:center;margin:0;font-size:1.1rem}.mobile-page-header button{color:#27633a;cursor:pointer;background:0 0;border:0;width:2.5rem;height:2.5rem;margin-left:.5rem;font-size:2.2rem}.mobile-page-content{width:min(100% - 2.5rem,560px);margin:0 auto;padding:2rem 0 4rem}.page-lead{color:#526158;margin:0 0 1.5rem;line-height:1.55}.choice-card{color:#1d2b24;text-align:left;cursor:pointer;width:100%;font:inherit;background:#fff;border:1px solid #dfe5dc;border-radius:1rem;align-items:center;gap:1rem;margin-bottom:.8rem;padding:1rem;display:flex}.choice-card span{color:#27633a;background:#e2f0df;border-radius:.8rem;place-items:center;width:2.8rem;height:2.8rem;font-size:1.35rem;display:grid}.choice-card div{gap:.2rem;display:grid}.choice-card small{color:#718075}.choice-card b{margin-left:auto;font-size:1.5rem}.choice-card.disabled{opacity:.48;cursor:not-allowed}.mobile-form{margin-top:0}.mobile-form fieldset{border:1px solid #dfe5dc;border-radius:.75rem;padding:.75rem}.mobile-form legend{padding:0 .25rem;font-weight:650}.check-row{grid-template-columns:1.25rem 1fr;align-items:center;padding:.5rem 0}.check-row input{width:1.1rem;height:1.1rem;padding:0}.balance-summary{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem;display:grid}.balance-summary div{background:#fff;border:1px solid #dfe5dc;border-radius:1rem;padding:1rem}.balance-summary small{color:#718075;margin-bottom:.35rem;display:block}.balance-summary strong{font-size:1.2rem}.balance-summary div:first-child strong{color:#a03939}.balance-summary div:last-child strong{color:#27633a}.expense-form{gap:1.25rem}.expense-form>label:first-child input{font-size:1.08rem}.expense-form fieldset{background:#fff}.field-help{color:#718075;margin:.1rem 0 .6rem;font-size:.85rem;line-height:1.4}.split-picker{background:#e7eee4;border-radius:.75rem;grid-template-columns:repeat(3,1fr);padding:.25rem;display:grid}.split-picker button{color:#526158;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:.55rem;padding:.65rem .25rem;font-size:.82rem}.split-picker button.active{color:#27633a;background:#fff;font-weight:750;box-shadow:0 2px 8px #18251a15}.split-summary{color:#27633a;background:#eaf4e7;border-radius:.75rem;margin:-.35rem 0 0;padding:.85rem 1rem;line-height:1.45}.share-row{grid-template-columns:1fr 8rem;align-items:center;padding:.35rem 0}.share-row input{min-width:0}.person-search input{background:#fff;border-radius:.9rem;width:100%;padding:.9rem 1rem}.person-choice-list{gap:.65rem;display:grid}.person-choice-list button{color:#1d2b24;text-align:left;cursor:pointer;font:inherit;background:#fff;border:1px solid #dfe5dc;border-radius:.9rem;grid-template-columns:2.5rem 1fr 2rem;align-items:center;gap:.75rem;padding:.7rem;display:grid}.person-choice-list button.chosen{background:#eef8eb;border-color:#34734a}.person-choice-list span{color:#27633a;background:#e2f0df;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:grid}.person-choice-list i{color:#526158;background:#e8eee6;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-style:normal;display:grid}.person-choice-list .chosen i{color:#fff;background:#34734a}.continue-button{color:#fff;width:100%;font:inherit;background:#34734a;border:0;border-radius:.75rem;margin-top:1.5rem;padding:1rem;font-weight:750;position:sticky;bottom:1rem}.continue-button:disabled{opacity:.45}.with-line{color:#27633a;margin:0;font-weight:700}.payer-pills{flex-wrap:wrap;gap:.5rem;display:flex}.payer-pills p{width:100%;margin:0 0 .15rem;font-weight:650}.payer-pills button{color:#526158;cursor:pointer;font:inherit;background:#fff;border:1px solid #d0dacf;border-radius:2rem;padding:.65rem .85rem}.payer-pills button.active{color:#27633a;background:#eaf4e7;border-color:#34734a;font-weight:750}@media (width<=720px){.shell{grid-template-columns:1fr;gap:2rem;margin:3rem auto;padding:1.25rem}}
