@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#20382d;background:#edeae1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -20%,#fffdf7 0,#f0ede5 45%,#e8e4da)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;background:#f8f6f0;box-shadow:0 0 45px #23382d18;padding-bottom:calc(25px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:11px;padding:calc(22px + env(safe-area-inset-top)) 20px 15px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#276749;color:#fff;box-shadow:0 6px 16px #2767492d}.eyebrow{margin:0 0 1px;font-size:9px;letter-spacing:.18em;font-weight:700;color:#947240}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font:800 22px/1 Manrope,sans-serif;letter-spacing:-.04em}.people-button{margin-left:auto;height:38px;min-width:48px;border:1px solid #dcd8cd;background:#fffdf8;border-radius:20px;color:#52655b;display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700}.composer{margin:5px 16px 0;padding:13px;border-radius:19px;background:#fff;box-shadow:0 7px 24px #263c3012;border:1px solid #ebe8df}.input-row{display:flex;gap:9px}.input-row input{flex:1;width:0;height:49px;border:0;background:#f3f1ea;border-radius:13px;padding:0 15px;color:#20382d;font-size:16px;outline:none}.input-row input:focus{box-shadow:inset 0 0 0 2px #4f8066;background:#f8f7f1}.add-button{width:49px;border:0;border-radius:13px;background:#276749;color:#fff;display:grid;place-items:center;box-shadow:0 5px 12px #27674932}.add-button:disabled{opacity:.35;cursor:default;box-shadow:none}.details-toggle{display:flex;align-items:center;gap:3px;margin:8px 0 0 5px;padding:3px;border:0;background:transparent;color:#68786f;font-size:12px}.details-toggle svg{transition:transform .2s}.details-toggle .rotate{transform:rotate(180deg)}.details-row{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:8px}.details-row input,.details-row label{min-width:0;height:40px;border:1px solid #e2dfd5;background:#faf9f5;border-radius:10px}.details-row input{padding:0 11px;outline:none}.details-row label{display:flex;align-items:center;padding-left:10px;color:#66776e}.details-row select{width:100%;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#334d40;padding:0 7px}.suggestions{padding:13px 3px 1px;border-top:1px solid #eeece5;margin-top:11px}.suggestions p{margin-bottom:8px;color:#8b928d;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.suggestions>div{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.suggestions button{flex:0 0 auto;display:flex;align-items:center;gap:5px;border:1px solid #dfe7df;border-radius:16px;padding:7px 10px;background:#f3f7f3;color:#38654d;font-size:12px;font-weight:600;text-align:left}.suggestions button span{display:flex;flex-direction:column}.suggestions button small{margin-top:1px;color:#819087;font-size:9px;font-weight:500}.list-section{padding:23px 17px 10px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 3px 12px}.section-heading h2{margin:0;font:800 15px Manrope,sans-serif;letter-spacing:-.02em}.section-heading>span{padding:4px 8px;border-radius:10px;background:#e6eee8;color:#397054;font-size:10px;font-weight:700}.groups{display:flex;flex-direction:column;gap:16px}.shop-title{display:flex;align-items:center;gap:6px;margin:0 4px 7px;color:#8a7049;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.item-card{overflow:hidden;background:#fff;border:1px solid #ebe8df;border-radius:15px;box-shadow:0 4px 16px #253b3010}.item{display:flex;align-items:center;min-height:53px;padding:7px 8px 7px 12px}.item+.item{border-top:1px solid #eeece6}.checkbox{flex:0 0 auto;width:25px;height:25px;padding:0;border:1.5px solid #aebbb3;border-radius:8px;background:#fff;color:transparent;display:grid;place-items:center}.item-name{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border:0;background:transparent;text-align:left;padding:0 10px;color:#263e32;font-weight:600}.item-name small{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:6px;background:#f1efe9;color:#847b6d;font-size:10px;font-weight:600}.item-name em{margin-top:2px;color:#9a9e98;font-size:9px;font-style:normal;font-weight:500;text-decoration:none}.delete{width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:#b2b4b0;border-radius:10px}.delete:hover{color:#b94c4c;background:#fff1ef}.checked-section{margin-top:24px}.checked-section .section-heading button{display:flex;gap:4px;align-items:center;border:0;background:transparent;color:#929890;font-size:11px}.purchase-groups{display:flex;flex-direction:column;gap:16px}.purchase-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 4px 7px;color:#6f7e75}.purchase-title span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.purchase-title small{flex:0 0 auto;color:#9a9f9b;font-size:9px}.is-checked .checkbox{background:#7c9a88;border-color:#7c9a88;color:#fff}.is-checked .item-name{color:#949d97;text-decoration:line-through}.empty-state{text-align:center;padding:34px 28px 26px;color:#76847c}.empty-state>div{width:67px;height:67px;display:grid;place-items:center;margin:0 auto 13px;border-radius:50%;background:#e9efe9;color:#5e806c}.empty-state h3{margin-bottom:6px;color:#3d5549;font:700 15px Manrope,sans-serif}.empty-state p{margin:0;font-size:12px;line-height:1.5}footer{display:flex;justify-content:center;align-items:center;gap:6px;color:#9a9e98;font-size:10px;padding:10px 20px}.sync-status.offline{color:#936d32}.sync-status.error{color:#a54942}.sync-status button{display:flex;align-items:center;gap:5px;padding:3px;border:0;background:transparent;color:inherit;font-size:inherit;cursor:pointer}.sync-error{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:14px;padding:10px 12px;border:0;border-radius:11px;background:#fff0ed;color:#a54942;text-align:left;font-size:11px}.sync-error span{flex:1}.sync-error strong{white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:#56a273;box-shadow:0 0 0 3px #56a27318}.onboarding{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 27px}.brand-mark.large{width:62px;height:62px;border-radius:19px;margin-bottom:20px}.onboarding h1{font-size:30px;margin-bottom:13px}.onboarding-copy{max-width:330px;color:#6f7c74;line-height:1.55;font-size:14px}.loading{display:flex;gap:8px;align-items:center;margin-top:18px;color:#68786f}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{width:100%;padding:10px;border-radius:10px;background:#fff0ed;color:#a54942;font-size:12px}.success-message{display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;max-width:340px;padding:20px;border-radius:15px;background:#eaf4ed;color:#326248}.success-message span{font-size:12px}.success-message small{margin-top:5px;color:#728178}.email-form{display:flex;flex-direction:column;width:100%;max-width:340px;text-align:left}.email-form label{margin:0 0 6px 3px;color:#617168;font-size:11px;font-weight:700}.email-form input{height:48px;margin-bottom:10px;padding:0 13px;border:1px solid #d9d7cf;border-radius:12px;background:#fff;outline:none}.email-form input:focus{border-color:#4f8066;box-shadow:0 0 0 3px #4f80661a}.email-form button{display:flex;justify-content:center;align-items:center;gap:7px}.primary-wide{width:100%;max-width:340px;border:0;border-radius:13px;padding:14px;background:#276749;color:#fff;font-weight:700}.primary-wide:disabled{opacity:.45;cursor:default}.text-button{display:flex;align-items:center;justify-content:center;gap:5px;margin:18px auto 0;border:0;background:transparent;color:#7a847e;font-size:11px}.divider{width:100%;max-width:340px;border-top:1px solid #dedbd2;margin:25px 0 17px}.divider span{position:relative;top:-10px;padding:0 10px;background:#f8f6f0;color:#9b9e99;font-size:11px}.join-form{width:100%;max-width:340px;display:flex;gap:8px}.join-form input{min-width:0;flex:1;border:1px solid #ddd9cf;border-radius:11px;padding:0 12px;background:#fff;text-transform:uppercase;letter-spacing:.12em}.join-form button{border:0;border-radius:11px;padding:12px;background:#e1aa45;color:#44351d;font-weight:700}.join-form button:disabled{opacity:.45}.setup-name{display:flex;flex-direction:column;width:100%;max-width:340px;margin-bottom:10px;text-align:left;color:#617168;font-size:11px;font-weight:700}.setup-name input{height:46px;margin-top:6px;padding:0 12px;border:1px solid #ddd9cf;border-radius:11px;background:#fff;outline:none}.setup-name input:focus{border-color:#4f8066;box-shadow:0 0 0 3px #4f80661a}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:end center;padding:20px;background:#162a20a3;backdrop-filter:blur(3px)}.modal{position:relative;width:min(100%,440px);padding:27px;border-radius:22px;background:#fffdf8;text-align:center;box-shadow:0 18px 60px #14261d4d}.modal>svg{color:#397054}.modal h2{margin:9px 0 6px}.modal p{color:#748078;font-size:13px;line-height:1.5}.modal-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#f0eee8;color:#66736c}.invite-code{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;margin:16px 0 11px;border:1px dashed #82a08e;border-radius:12px;background:#edf4ef;color:#276749}.invite-code strong{letter-spacing:.18em;font-size:19px}.modal small{color:#949b96}.edit-modal{text-align:left}.edit-modal h2{margin:0 0 20px}.edit-modal form>label,.edit-fields label{display:flex;flex-direction:column;gap:6px;color:#617168;font-size:11px;font-weight:700}.edit-modal input,.edit-modal select{width:100%;height:45px;padding:0 12px;border:1px solid #ddd9cf;border-radius:11px;background:#fff;color:#263e32;outline:none}.edit-modal input:focus,.edit-modal select:focus{border-color:#4f8066;box-shadow:0 0 0 3px #4f80661a}.edit-fields{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin:13px 0 18px}.edit-modal .primary-wide{max-width:none}.member-list{margin:17px 0;overflow:hidden;border:1px solid #e8e5dc;border-radius:12px;background:#fff;text-align:left}.member-list>div{display:flex;align-items:center;gap:9px;min-height:43px;padding:7px 10px}.member-list>div+div{border-top:1px solid #eeece6}.member-list span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e9f0eb;color:#397054}.member-list strong{flex:1;font-size:12px}.member-list small{padding:2px 6px;border-radius:7px;background:#edf4ef;color:#397054;font-size:9px}.profile-name{text-align:left}.profile-name label{color:#617168;font-size:10px;font-weight:700}.profile-name>div{display:flex;gap:7px;margin-top:5px}.profile-name input{flex:1;min-width:0;height:39px;padding:0 10px;border:1px solid #ddd9cf;border-radius:9px}.profile-name button{border:0;border-radius:9px;padding:0 12px;background:#276749;color:#fff;font-size:11px;font-weight:700}.profile-name button:disabled{opacity:.45}.undo-toast{position:fixed;z-index:20;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:14px;width:min(calc(100% - 32px),440px);min-height:50px;padding:9px 10px 9px 15px;border-radius:14px;background:#20382d;color:#fff;box-shadow:0 10px 30px #15251d4d;font-size:12px}.undo-toast span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-toast button{flex:0 0 auto;min-height:34px;padding:0 11px;border:0;border-radius:9px;background:#e6b85d;color:#342814;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}@media(min-width:600px){body{padding:24px 0}.app-shell{min-height:calc(100vh - 48px);border-radius:28px;overflow:hidden}}.brand-title{min-width:0}.brand-title .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:290px}.people-button{flex-shrink:0}.members-modal{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.members-modal h2{overflow-wrap:anywhere}.invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invite-actions .primary-wide{grid-column:1 / -1;max-width:none;display:flex;align-items:center;justify-content:center;gap:8px}.secondary-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;min-height:44px;border:1px solid #d9e2d9;border-radius:11px;background:#eff4ee;color:#356247;text-decoration:none;font-size:12px;font-weight:600}.secondary-button svg{flex-shrink:0}.modal .share-hint{font-size:11px;margin:10px 0}.modal .share-feedback{padding:10px;background:#edf4ef;border-radius:9px;color:#356247;font-size:12px}.invite-link-label{display:block;text-align:left;font-size:11px;color:#617168}.invite-link-label input{display:block;margin-top:5px;width:100%;min-width:0;padding:10px;border:1px solid #ddd9cf;border-radius:9px;background:#fff;color:#356247;font-size:12px}.modal .invite-code-text{font-size:12px;margin:10px 0}.invite-code-text strong{letter-spacing:.1em;color:#356247}.household-name{margin-top:13px}.members-modal .error-message{margin-top:12px}.leave-confirmation{margin-top:18px;padding:14px;background:#faf0e7;border:1px solid #e7d4c3;border-radius:12px;text-align:left;font-size:14px}.leave-confirmation p{margin:9px 0;color:#775e4d;font-size:12px}.danger-button{width:100%;min-height:44px;border:0;border-radius:10px;background:#a7473e;color:#fff;padding:11px;font-weight:600}.danger-text{color:#a7473e}button:disabled{cursor:default}.danger-button:disabled,.text-button:disabled{opacity:.45}.inline-button{border:0;background:transparent;text-decoration:underline;color:#356247;padding:4px}.invite-banner{margin:0 16px 14px;padding:15px;border:1px solid #d7e3d5;border-radius:14px;background:#edf4e9;font-size:13px}.invite-banner p{margin:7px 0 10px;color:#536b53;line-height:1.5}.invite-banner>button:not(.text-button){background:#276749;color:#fff;border:0;border-radius:9px;min-height:40px;padding:8px 12px}.invite-banner .text-button{display:inline-flex;margin:0 0 0 10px}.invite-notice{max-width:340px;padding:12px;border-radius:10px;background:#edf4e9;color:#356247;font-size:13px}.auth-note{max-width:340px;color:#617168;font-size:12px;line-height:1.5}.onboarding h2{font-size:20px;margin:20px 0 0}
