:root{font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;color:#18231d;background:#f6f1e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% 0%,#dcead8 0,transparent 32%),#f6f1e8}button,input,select,textarea{font:inherit}button,a[href],select,.receipt-upload{cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:rgba(37,88,59,.2);transition:transform 90ms ease,filter 90ms ease,box-shadow 90ms ease,opacity 90ms ease,background-color 90ms ease}button:active:not(:disabled),a[href]:active,select:active:not(:disabled),.receipt-upload:active,button.is-pressed:not(:disabled),a[href].is-pressed,select.is-pressed:not(:disabled),.receipt-upload.is-pressed{transform:scale(.95);filter:brightness(.9);box-shadow:inset 0 0 0 2px #18392629}button:focus-visible,a[href]:focus-visible,select:focus-visible,.receipt-upload:focus-within{outline:3px solid rgba(47,118,80,.35);outline-offset:2px}button:disabled{cursor:default;opacity:.48}.app-shell{max-width:680px;min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 18px calc(94px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.4px}.nest-mark{display:grid;place-items:center;width:34px;height:34px;color:#f8f4eb;background:#25583b;border-radius:12px 12px 15px 15px}.header-actions{display:flex;align-items:center;gap:8px}.bug-button,.avatar{border:0;width:38px;height:38px;border-radius:50%;color:#25583b;background:#d8e7d5;font-weight:800}.bug-button{display:grid;place-items:center;background:#f1e7cf;font-size:17px}.bug-button:active,.avatar:active{transform:scale(.94)}.hero{margin:38px 4px 24px}.eyebrow{margin:0 0 8px;color:#6a756d;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1.2px}.hero h1{margin:0;font-family:Georgia,serif;font-size:42px;line-height:1.05;letter-spacing:-1.8px;font-weight:500}.hero>p:last-child{color:#748078;margin:10px 0 0}.smart-add{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;border:1px solid #dde1d8;border-radius:20px;background:#ffffffe0;box-shadow:0 12px 30px #303d3314}.spark{color:#bb783d;font-size:21px}.smart-add input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#18231d;font-size:15px}.smart-add input::placeholder{color:#929991}.smart-add button{border:0;width:42px;height:42px;border-radius:14px;background:#25583b;color:#fff;font-size:24px;line-height:1;transition:.15s transform}.smart-add button:active{transform:scale(.92)}.smart-add button:disabled{opacity:.35}.hint{padding:9px 8px 18px;color:#78817a;font-size:12px}.error{padding:12px 14px;margin-bottom:12px;border-radius:14px;color:#8e352a;background:#f7ddd6;font-size:14px}.list-card{background:#ffffffb8;border:1px solid rgba(216,216,205,.8);border-radius:24px;overflow:hidden;box-shadow:0 20px 50px #303d3312}.list-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 10px}.list-heading h2{margin:0;font-size:18px}.list-heading span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:10px;color:#fff;background:#25583b;font-size:13px;font-weight:800}.items{padding:0 10px 10px}.item{width:100%;display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid #e9e7df;padding:15px 10px;text-align:left;color:#1d2922;background:transparent;cursor:pointer}.item:last-child{border-bottom:0}.check{flex:none;display:grid;place-items:center;width:27px;height:27px;border:2px solid #aab2a9;border-radius:9px;color:#fff;font-weight:800}.item.done .check{border-color:#7b9d7e;background:#7b9d7e}.item-copy{display:flex;flex-direction:column;gap:2px}.item-copy strong{font-weight:650}.item-copy small{color:#8a938c}.item.done strong{color:#909891;text-decoration:line-through}.empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7d887f}.empty>span{font-size:38px;margin-bottom:10px}.empty strong{color:#3a473f}.empty p{margin:5px 0;font-size:14px}.clear{width:calc(100% - 24px);margin:0 12px 14px;padding:12px;border:0;border-radius:13px;color:#667168;background:#ecece5;font-weight:700}nav{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 28px),650px);display:grid;grid-template-columns:repeat(3,1fr);padding:8px;border:1px solid rgba(220,220,210,.9);border-radius:22px;background:#fcfaf5f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 35px #29342d24}nav button{border:0;padding:8px;display:flex;flex-direction:column;gap:2px;align-items:center;color:#899189;background:transparent;font-size:11px}nav button span{font-size:21px}nav .active{color:#25583b;font-weight:800}nav button:disabled{opacity:.55}@media(max-width:380px){.hero h1{font-size:36px}.smart-add{padding-left:12px}.app-shell{padding-left:12px;padding-right:12px}}.space-line{display:flex;align-items:center;gap:9px;margin-bottom:8px}.space-line .eyebrow{margin:0}.space-line select{max-width:75%;border:0;padding:7px 9px;border-radius:10px;color:#25583b;background:#e1eadc;font-weight:800}.role{padding:4px 8px;border-radius:8px;color:#6c756d;background:#ebe8de;font-size:11px;text-transform:uppercase}.quick-actions{display:flex;gap:8px;margin:-6px 0 16px}.quick-actions button{border:0;padding:9px 11px;border-radius:11px;color:#516057;background:#e9e8df;font-size:12px;font-weight:700}.notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;margin-bottom:12px;border-radius:13px;color:#25583b;background:#dcebd9;font-size:13px}.notice button{flex:none;border:0;padding:7px 9px;border-radius:9px;color:#25583b;background:#c9dfc5;font-weight:800}.error{display:flex;justify-content:space-between;align-items:center}.error button{border:0;color:inherit;background:transparent;font-size:20px}.quick-actions .family-action{color:#5b4805;background:linear-gradient(135deg,#fff0a8,#f1d45f);box-shadow:0 5px 14px #75590c24}.items .item{display:flex;padding:12px 8px;cursor:default}.items .item .check{flex:none;background:transparent}.items .item.done .check{background:#7b9d7e}.items .item-copy{flex:1;min-width:0;border:0;padding:3px 0;text-align:left;background:transparent}.more{border:0;color:#879088;background:transparent;letter-spacing:1px}.loader{width:28px!important;height:28px;border:3px solid #d7ddd5;border-top-color:#25583b;border-radius:50%;animation:spin .8s linear infinite}.modal-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:#141d187a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(100%,620px);max-height:88vh;overflow:auto;padding:22px;border-radius:24px;background:#fbfaf5;box-shadow:0 30px 80px #0000003d}.modal h2{margin:0 0 18px}.modal label{display:flex;flex-direction:column;gap:6px;margin:12px 0;color:#68736b;font-size:12px;font-weight:700}.modal input,.modal select,.modal textarea{width:100%;border:1px solid #d9ddd5;border-radius:12px;padding:12px;color:#18231d;background:#fff;outline:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.modal-actions button,.primary,.options button{flex:1;border:0;padding:12px;border-radius:12px;color:#fff;background:#25583b;font-weight:800}.modal-actions .danger{color:#a63d32;background:#f4dfd9}.recipe-modal textarea{min-height:105px;resize:vertical}.recipe-modal .primary{width:100%;margin-top:12px}.options{display:grid;gap:8px}.recipe-modal ul{list-style:none;margin:0;padding:0}.recipe-modal li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e8e6dd}.recipe-modal li strong{white-space:nowrap}.purchase-note{margin:10px 0 14px;padding:11px 12px;border-radius:12px;color:#5f582d;background:#f5edc8;font-size:12px;line-height:1.45}@keyframes spin{to{transform:rotate(360deg)}}.list-search{display:flex;align-items:center;gap:8px;margin:2px 14px 12px;padding:9px 12px;border:1px solid #e1e3dc;border-radius:13px;color:#7a857d;background:#f6f6f1}.list-search input{width:100%;min-width:0;border:0;outline:0;color:#243129;background:transparent}.list-search input::-webkit-search-cancel-button{opacity:.55}.grouped{padding-top:0}.category-group{padding-top:4px}.category-group h3{display:flex;align-items:center;gap:7px;margin:0;padding:10px 10px 6px;color:#738077;font-size:12px;text-transform:uppercase;letter-spacing:.7px}.category-group h3>span{font-size:16px}.category-group h3 small{margin-left:auto;display:grid;place-items:center;min-width:22px;height:22px;border-radius:8px;color:#5e6a62;background:#ecece5;font-size:11px}.purchased-group{margin-top:7px;padding-top:4px;border-top:1px solid #e5e5dc}.purchased-toggle{width:100%;display:flex;align-items:center;gap:8px;border:0;padding:13px 10px;color:#68746c;background:transparent;text-align:left;font-weight:800}.purchased-toggle small{display:grid;place-items:center;min-width:24px;height:22px;border-radius:8px;color:#607066;background:#e5ebe2}.purchased-toggle b{margin-left:auto;font-size:16px}.empty.compact{min-height:130px}@media(max-width:480px){.app-shell{padding-left:12px;padding-right:12px}.hero{margin-top:28px}.hero h1{font-size:36px}.smart-add{position:sticky;z-index:5;top:max(8px,env(safe-area-inset-top))}.quick-actions{overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.quick-actions button{flex:none}.modal-backdrop{padding:8px}.modal{padding:18px;border-radius:22px 22px 16px 16px}.fields{grid-template-columns:1fr 1fr;gap:8px}}@media(min-width:700px){.app-shell{padding-left:24px;padding-right:24px}.modal-backdrop{align-items:center}.modal{border-radius:24px}}.receipt-upload{display:grid!important;place-items:center;min-height:110px;border:2px dashed #b9c8ba;border-radius:16px;color:#25583b!important;background:#eef4eb;font-size:15px!important;cursor:pointer}.receipt-upload input{display:none}.receipt-history,.receipt-lines{display:grid;gap:7px;margin-top:14px}.receipt-history button,.receipt-lines>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;border-radius:12px;padding:11px;background:#eeeee8;text-align:left}.receipt-lines input{flex:1;min-width:0}.receipt-lines span{white-space:nowrap;font-weight:800}.modal-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-title h2{margin-bottom:3px}.modal-title p{margin:0;color:#778179;font-size:13px}.modal-title>button{border:0;width:34px;height:34px;border-radius:11px;color:#68736b;background:#ecece6;font-size:21px}.space-settings>.primary{width:100%;margin-top:6px}.members{margin-top:22px;padding-top:16px;border-top:1px solid #e2e2d9}.members h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:15px}.members h3 span{display:grid;place-items:center;min-width:23px;height:22px;border-radius:8px;color:#647168;background:#e6ebe3;font-size:11px}.member{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 0;border-bottom:1px solid #eceae2}.member-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:#fff;background:#6e8b73;font-weight:800}.member-name{flex:1;min-width:0;display:flex;flex-direction:column}.member-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.member-name small{color:#899189}.member select{max-width:132px;border:1px solid #d9ddd5;border-radius:10px;padding:8px;background:#fff;font-size:12px}.member-role{padding:5px 7px;border-radius:8px;color:#667168;background:#e9e9e3;font-size:10px;text-transform:uppercase}.space-danger{display:flex;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid #eadfdc}.space-danger button{flex:1;border:0;padding:11px;border-radius:11px;color:#6b736d;background:#ecece6;font-weight:700}.space-danger .danger{color:#a23e34;background:#f4dfd9}@media(max-width:380px){.member select{max-width:105px;padding:7px 4px}.space-danger{flex-direction:column}}.insights-modal{width:min(94vw,620px);max-height:88vh;overflow:auto}.period-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:4px 0 14px;padding:4px;border-radius:14px;background:#eff0e9}.period-tabs button{border:0;border-radius:10px;padding:9px;color:#677269;background:transparent;font-weight:800}.period-tabs button.active{color:#fff;background:#275f3f}.summary-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-cards article{padding:14px;border:1px solid #e2e5dc;border-radius:16px;background:#f8f8f3}.summary-cards small{display:block;color:#738077;font-size:11px}.summary-cards strong{display:block;margin-top:5px;color:#1f3227;font-size:22px}.expense-categories,.history-section{margin-top:18px}.expense-categories h3,.history-section h3{margin:0 0 10px;color:#26362c;font-size:15px}.expense-categories>div{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:8px;margin:8px 0;color:#5f6b63;font-size:12px}.expense-categories i{height:7px;overflow:hidden;border-radius:9px;background:#e4e8e0}.expense-categories i b{display:block;height:100%;border-radius:9px;background:#367950}.history-filters{display:grid;grid-template-columns:1fr 145px;gap:7px;margin-bottom:9px}.history-filters input,.history-filters select{min-width:0;border:1px solid #dfe3da;border-radius:12px;padding:10px;color:#26362c;background:#fafaf6}.history-list,.expense-list{display:grid;gap:7px}.history-list article,.expense-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #e4e6df;border-radius:14px;background:#fbfbf8}.history-list article div,.expense-list article div{min-width:0}.history-list article strong,.expense-list article strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#26362c}.history-list article small,.expense-list article small{display:block;margin-top:3px;color:#7b857e;font-size:11px}.history-list article button{flex:0 0 36px;width:36px;height:36px;border:0;border-radius:12px;color:#fff;background:#2d7048;font-size:20px}.expense-list>p{color:#7b857e;font-size:13px}@media(max-width:420px){.history-filters{grid-template-columns:1fr}}.organizer-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:14px 0;padding:4px;border-radius:13px;background:#eceee8}.organizer-tabs button{border:0;border-radius:9px;padding:9px 4px;color:#6d776f;background:transparent;font-size:11px;font-weight:800}.organizer-tabs button.active{color:#fff;background:#285f40}.compact-form{display:grid;gap:8px;padding:13px;border:1px solid #e2e4dd;border-radius:16px;background:#f7f8f3}.compact-form input,.compact-form select{min-width:0;border:1px solid #d9ddd5;border-radius:11px;padding:10px;background:#fff}.compact-form>button{border:0;border-radius:11px;padding:11px;color:#fff;background:#285f40;font-weight:800}.organizer-list{display:grid;gap:7px;margin-top:12px}.organizer-list article{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e4e6df;border-radius:13px;background:#fbfbf8}.organizer-list article div{flex:1;min-width:0}.organizer-list strong,.organizer-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organizer-list small{margin-top:3px;color:#7b857e;font-size:11px}.organizer-list article>button{border:0;width:30px;height:30px;border-radius:9px;color:#9a443a;background:#f3e2dd}.usage-panel h3{margin:8px 0 14px}.usage-panel>div{display:grid;grid-template-columns:70px 1fr 48px;align-items:center;gap:8px;margin:10px 0;font-size:12px}.usage-panel progress{width:100%;accent-color:#2c6a46}.usage-panel p{padding:12px;border-radius:12px;color:#667168;background:#eff1eb;font-size:12px}.feedback{margin-top:18px;padding-top:12px;border-top:1px solid #e4e3dc}.feedback textarea{min-height:70px;resize:vertical}.feedback button{width:100%;border:0;border-radius:11px;padding:10px;color:#fff;background:#52735d;font-weight:800}.legal-links{display:flex;justify-content:center;gap:18px;margin-top:14px}.legal-links a{color:#55705f;font-size:12px}.bug-report textarea{min-height:140px;resize:vertical}.bug-report>.primary{width:100%;margin-top:8px}.bug-email{display:block;margin-top:15px;color:#55705f;text-align:center;font-size:12px}.item-copy:active:not(:disabled),.item-copy.is-pressed,.more:active:not(:disabled),.more.is-pressed,.purchased-toggle:active:not(:disabled),.purchased-toggle.is-pressed,nav button:active:not(:disabled),nav button.is-pressed,.modal-title>button:active:not(:disabled),.modal-title>button.is-pressed{background-color:#25583b1f}.save-recipe{width:100%;margin-top:12px;border:1px solid #bfcbbf;border-radius:11px;padding:10px;color:#285f40;background:#edf4eb;font-weight:800}.stars-offer{margin:10px 0 16px;padding:16px;border-radius:16px;color:#463a13;background:linear-gradient(135deg,#fff3b8,#f5df75)}.stars-offer>b{display:block;font-size:23px}.stars-offer p{margin:6px 0 12px;padding:0;color:#66581f;background:transparent}.stars-offer button{width:100%;border:0;border-radius:11px;padding:12px;color:#fff;background:#5d4b09;font-weight:800}.stars-offer small{display:block;margin-top:9px;color:#756824;font-size:10px;line-height:1.4}
