:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#18352d;background:#f5f8f6;line-height:1.45;--green:#13795b;--green-dark:#0d5a44;--green-soft:#e8f4ef;--ink:#142e27;--muted:#6b7f78;--line:#dce7e2;--surface:#fff;--danger:#b83b2e;--danger-soft:#fff0ee;--shadow:0 16px 45px rgba(20,67,53,.09)}
#installApp.install-app{position:fixed;right:20px;bottom:20px;z-index:1000;border:0;border-radius:14px;background:var(--green);color:#fff;padding:13px 18px;font-weight:800;box-shadow:0 10px 30px rgba(19,121,91,.3);cursor:pointer}#installApp.install-app[hidden]{display:none}@media(max-width:700px){#installApp.install-app{right:14px;bottom:82px}}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%;scroll-behavior:smooth}body{margin:0;background:#f5f8f6}button,input,select{font:inherit}button{border:0;cursor:pointer;border-radius:12px;padding:.75rem 1rem;background:#e9f0ed;color:#204c3f;font-weight:650;transition:.16s ease}button:hover{filter:brightness(.98)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(19,121,91,.22);outline-offset:2px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.primary{background:var(--green);color:#fff;box-shadow:0 8px 18px rgba(19,121,91,.17)}.primary:hover{background:var(--green-dark)}.danger{background:var(--danger);color:#fff}.danger-text{background:var(--danger-soft);color:var(--danger)}.big{padding:1rem 1.25rem;display:inline-flex;gap:.55rem;align-items:center}.icon-btn{width:42px;height:42px;padding:0;display:grid;place-items:center;background:transparent}.field{display:grid;gap:.42rem}.field>span,.field>label,.field label{font-size:.79rem;font-weight:750;color:#405c53}.field input,.field select,input,select{width:100%;min-height:46px;padding:.72rem .85rem;border:1px solid #cfddd7;border-radius:11px;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,input:focus,select:focus{border-color:#5ca88f;box-shadow:0 0 0 4px rgba(19,121,91,.08);outline:0}.full{grid-column:1/-1}.hint{font-size:.8rem;color:var(--muted)}
#toast{position:fixed;left:50%;bottom:28px;z-index:30;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#173f33;color:#fff;padding:.8rem 1.05rem;border-radius:12px;box-shadow:0 14px 35px #0003;transition:.2s;max-width:min(90vw,480px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#8f3026}.busy:after{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(19,121,91,.12),transparent);height:3px;animation:loading 1s infinite}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
/* Auth */
.auth-page{min-height:100vh;padding:clamp(18px,4vw,56px);display:grid;place-items:center;background:radial-gradient(circle at 12% 12%,rgba(85,171,137,.18),transparent 34%),radial-gradient(circle at 88% 88%,rgba(198,224,210,.45),transparent 32%),#f4f8f6}.auth-layout{width:min(1120px,100%);min-height:min(700px,calc(100vh - 80px));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);background:#fff;border:1px solid rgba(23,83,66,.1);border-radius:32px;overflow:hidden;box-shadow:0 24px 70px rgba(13,65,50,.14)}.auth-intro{position:relative;overflow:hidden;padding:clamp(38px,5vw,68px);display:flex;flex-direction:column;background:linear-gradient(145deg,#0a4c3a,#126b52 58%,#238264);color:#fff}.brand{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;font-size:1.26rem}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.14)}.brand-mark svg{width:25px;height:25px;fill:currentColor}.intro-copy{margin:auto 0 38px;z-index:1}.eyebrow,.auth-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:850;color:var(--green)}.auth-intro .eyebrow{color:#a9dfca}.intro-copy h1{font-size:clamp(2.45rem,4.2vw,4.25rem);line-height:1.04;letter-spacing:-.055em;margin:18px 0 22px}.intro-copy p{font-size:1.08rem;line-height:1.7;color:#d2ebe1;max-width:500px}.benefit-list{list-style:none;padding:0;margin:0;display:grid;gap:18px;z-index:1}.benefit-list li{display:grid;grid-template-columns:38px 1fr;gap:13px}.benefit-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#ffffff21}.benefit-list b,.benefit-list small{display:block}.benefit-list small{color:#bcdacf}.intro-decoration i{position:absolute;border-radius:50%;border:1px solid #ffffff18}.intro-decoration i:first-child{width:340px;height:340px;right:-180px;top:-100px}.intro-decoration i:nth-child(2){width:240px;height:240px;right:-100px;top:-50px}.auth.card{padding:clamp(38px,5.5vw,76px);display:flex;flex-direction:column;justify-content:center}.mobile-brand{display:none}.auth-heading{margin-bottom:28px}.auth-heading h2{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.15;letter-spacing:-.035em;margin:.5rem 0 .75rem}.auth-heading p{color:var(--muted);margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin-bottom:28px;background:#edf4f1;border-radius:14px}.auth-tabs button{background:transparent;color:#60766e}.auth-tabs button.active{background:#fff;color:var(--green-dark);box-shadow:0 4px 13px #10493817}.auth form{display:grid;gap:18px}.auth form label{display:grid;gap:8px;font-size:.88rem;font-weight:700}.input-wrap{position:relative}.input-wrap svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#7e958d}.auth input{height:52px;padding-left:48px}.form-options{display:flex;justify-content:space-between;gap:15px;align-items:center}.form-options span{font-size:.75rem;color:#82968f}.form-options button{background:none;color:var(--green);padding:0}.auth-submit{height:53px;display:flex;justify-content:center;align-items:center;gap:12px;font-weight:800}.auth-footer{text-align:center;font-size:.72rem;color:#93a39e;margin:22px auto 0}.auth-kicker{display:block}.intro-decoration i:nth-child(3){display:none}
/* App shell */
.app-page{min-height:100vh}.app-header{height:76px;display:grid;grid-template-columns:230px minmax(240px,340px) 1fr;align-items:center;gap:24px;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;position:sticky;top:0;z-index:8}.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green-dark);font-size:1.16rem;font-weight:850}.app-brand .brand-mark{width:38px;height:38px;background:var(--green-soft)}.app-brand svg{fill:currentColor}.household-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.household-picker span{font-size:.72rem;color:var(--muted);white-space:nowrap}.household-picker select{min-height:42px;padding:.55rem 2rem .55rem .75rem;font-weight:700}.user-menu{display:flex;align-items:center;gap:10px;justify-self:end}.avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#dff0e9;color:var(--green-dark);font-weight:850}.user-menu #userName{font-size:.86rem;font-weight:700}.app-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 76px)}.side-nav{background:#fff;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:76px;height:calc(100vh - 76px)}.side-nav nav{display:grid;gap:6px}.side-nav button{display:flex;align-items:center;gap:12px;background:transparent;text-align:left;color:#587067}.side-nav button.active{background:var(--green-soft);color:var(--green-dark)}.side-nav svg{width:20px}.sync-note{margin-top:auto;display:flex;gap:8px;align-items:center;font-size:.72rem;color:var(--muted);padding:10px}.sync-note i,.status-pill i{width:7px;height:7px;border-radius:50%;background:#2da477;box-shadow:0 0 0 4px #e2f4ed}#content{width:100%;max-width:1240px;margin:0 auto;padding:34px clamp(22px,4vw,52px) 70px;min-width:0}.mobile-nav{display:none}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:26px}.page-head h1{font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.04em;line-height:1.1;margin:.35rem 0 .45rem}.page-head p{margin:0;color:var(--muted);max-width:650px}.page-head .eyebrow{color:var(--green)}.page-actions button{display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.content-card,.composer{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 5px 22px rgba(21,66,53,.045)}.list-switch{display:flex;gap:9px;overflow:auto;padding:2px 2px 12px;margin-bottom:16px;scrollbar-width:thin}.list-switch button{min-width:max-content;text-align:left;background:#edf2f0;color:#486157}.list-switch button span,.list-switch button small{display:block}.list-switch button small{font-size:.7rem;color:var(--muted);margin-top:2px}.list-switch button.active{background:var(--ink);color:#fff}.list-switch button.active small{color:#c9dad4}.soon{color:#c3650c!important}.urgent{color:#c0392b!important;font-weight:750}.composer{padding:18px;margin-bottom:16px}.quick-add{display:flex;gap:12px;align-items:end}.grow{flex:1}.input-action{position:relative}.input-action input{padding-right:54px;height:52px}.input-action .icon-btn{position:absolute;right:5px;top:5px}.add-button{height:52px;display:flex;align-items:center;gap:.45rem}.details-toggle{background:transparent;padding:.65rem 0 0;color:var(--green);font-size:.8rem}.item-details,.edit-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:13px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.alt-stores{grid-column:1/-1;border:0;padding:0;margin:0}.alt-stores legend{font-size:.79rem;font-weight:750;margin-bottom:.45rem}.alt-stores>div{display:flex;gap:8px;flex-wrap:wrap}.alt-stores label{cursor:pointer}.alt-stores input{position:absolute;opacity:0}.alt-stores span{display:block;border:1px solid var(--line);border-radius:10px;padding:.45rem .65rem;font-size:.78rem}.alt-stores input:checked+span{background:var(--green-soft);border-color:#89bea9;color:var(--green-dark)}.filter-row{display:flex;gap:7px;overflow:auto;padding:14px;border-bottom:1px solid var(--line);scrollbar-width:thin}.filter-row button{white-space:nowrap;padding:.58rem .8rem;background:#f0f4f2;font-size:.82rem}.filter-row button.active{background:var(--green);color:#fff}.item-groups{padding:8px 18px 18px}.item-group h3{display:flex;align-items:center;gap:8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 4px}.item-group h3 span{background:#edf3f0;padding:2px 7px;border-radius:20px}.shopping-item{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;border-bottom:1px solid #edf2ef;padding:13px 2px}.shopping-item:last-child{border-bottom:0}.check-btn{width:44px;height:44px;border-radius:50%;padding:0;display:grid;place-items:center;background:#e7f4ef;color:var(--green)}.check-btn:hover{background:var(--green);color:#fff}.item-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.item-title b{font-size:.98rem}.amount{background:#f0f4f2;border-radius:8px;padding:2px 7px;font-size:.74rem;color:#50665e}.item-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.item-meta span{font-size:.7rem;background:#f4f6f5;border-radius:6px;padding:2px 6px;color:#60756e}.item-main>small{display:block;font-size:.68rem;color:#8a9b95;margin-top:5px}.items-loading{display:grid;place-items:center;gap:10px;min-height:230px;color:var(--muted)}.spinner{width:30px;height:30px;border:3px solid #dce9e4;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{rotate:360deg}}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-state>div{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--green-soft);color:var(--green)}.empty-state h3{color:var(--ink);margin:13px 0 3px}.empty-state p{margin:0}.welcome-empty{text-align:center;max-width:580px;margin:10vh auto}.empty-illustration{width:88px;height:88px;border-radius:28px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin:auto}.empty-illustration svg{width:40px;height:40px}.welcome-empty h1{font-size:2.4rem;letter-spacing:-.04em;margin:.55rem 0}.welcome-empty>p:not(.eyebrow){color:var(--muted);margin:0 auto 24px}
/* Archive/settings */
.segmented{display:flex;gap:5px;background:#eaf1ee;padding:5px;border-radius:13px;width:max-content;margin-bottom:15px}.segmented button{background:transparent}.segmented button.active{background:#fff;box-shadow:0 4px 12px #183d3012}.segmented span{background:#dfe9e5;border-radius:20px;padding:1px 7px;font-size:.72rem}.archive-panel{padding:18px}.history-item{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:14px 2px;border-bottom:1px solid var(--line)}.history-item p,.history-item small{margin:2px 0;color:var(--muted)}.history-item p{font-size:.8rem}.history-item small{font-size:.72rem}.history-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.history-icon.done{background:var(--green-soft);color:var(--green)}.history-icon.trash{background:var(--danger-soft);color:var(--danger)}.panel-head,.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head p,.section-head p{margin:2px 0;color:var(--muted);font-size:.8rem}.section-head h2{font-size:1.05rem;margin:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-grid>.content-card{padding:20px}.member-list{margin-top:10px}.member{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.member:last-child{border-bottom:0}.member b,.member small{display:block}.member small{font-size:.72rem;color:var(--muted)}.badge{font-size:.68rem;padding:4px 8px;border-radius:20px;background:var(--green-soft);color:var(--green-dark)}.invite-empty{text-align:center;padding:24px 10px}.invite-empty>div{width:52px;height:52px;border-radius:18px;background:var(--green-soft);display:grid;place-items:center;margin:auto;color:var(--green)}.invite-ready{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center;margin-top:12px}.invite-ready img{width:130px;border-radius:12px}.invite-ready p{margin:0 0 5px;font-weight:700}.invite-ready small{display:block;color:var(--muted);margin-top:6px}.copy-field{display:flex}.copy-field input{border-radius:10px 0 0 10px;font-size:.72rem}.copy-field button{border-radius:0 10px 10px 0}.text-button{background:transparent;color:var(--green);font-size:.75rem;padding:.6rem 0}.stores-card{grid-column:1/-1}.store-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.store-chip{display:flex;gap:6px;align-items:center;background:#f1f5f3}.store-chip svg{width:16px}.store-chip.favorite{background:#fff6d8;color:#7b5b00}.store-chip.favorite svg{fill:currentColor}.danger-zone{border-color:#efd9d6}.danger-zone h2{margin-top:0}.profile-card{display:flex;align-items:center;gap:15px}.profile-avatar{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--green-soft);font-size:1.5rem;font-weight:850;color:var(--green-dark)}.profile-card h2,.profile-card p{margin:0}.status-pill{display:inline-flex;align-items:center;gap:9px;background:#edf7f3;color:var(--green-dark);font-size:.8rem;border-radius:20px;padding:.45rem .7rem}.status-pill i{display:block}
/* Dialogs */
.modal{position:fixed;inset:0;background:rgba(10,30,24,.56);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:20;padding:18px}.dialog{position:relative;width:min(100%,540px);max-height:min(90vh,760px);overflow:auto;background:#fff;border-radius:22px;padding:26px;box-shadow:0 26px 80px #0004}.dialog h2{margin:0 42px 6px 0;letter-spacing:-.025em}.dialog-text{color:var(--muted);margin:0 0 20px}.dialog-close{position:absolute;right:14px;top:14px}.dialog .field{margin-top:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.choice-list,.action-list{display:grid;gap:8px;margin-top:15px}.choice-list button,.action-list button{text-align:left;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.choice-list b,.choice-list span{grid-column:2}.choice-list span{font-size:.74rem;color:var(--muted)}.action-list button{display:flex;align-items:center}.action-list svg{width:19px}.edit-grid{grid-template-columns:repeat(2,1fr);border:0;padding:0}.edit-grid .alt-stores{grid-column:1/-1}
@media(max-width:900px){.app-header{grid-template-columns:auto 1fr auto}.app-brand>span:last-child,.user-menu #userName{display:none}.household-picker{grid-template-columns:1fr}.household-picker>span{display:none}.app-layout{grid-template-columns:190px 1fr}.side-nav{padding-inline:10px}.item-details{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.stores-card{grid-column:auto}}
@media(max-width:700px){body{background:#f7faf8}.auth-page{padding:0;place-items:stretch}.auth-layout{min-height:100vh;display:block;border:0;border-radius:0}.auth-intro{display:none}.auth.card{min-height:100vh;padding:32px 22px}.mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:auto;padding-bottom:36px;color:var(--green-dark);font-weight:800}.mobile-brand .brand-mark{width:38px;height:38px;background:var(--green-soft)}.form-options{align-items:flex-start;flex-direction:column;gap:7px}.auth-footer{margin-bottom:auto}.app-header{height:68px;padding:0 14px;gap:10px}.app-brand .brand-mark{width:36px;height:36px}.household-picker select{max-width:190px;min-height:40px;font-size:.82rem}.user-menu .avatar{display:none}.user-menu .icon-btn{width:38px}.app-layout{display:block;min-height:calc(100vh - 68px)}.side-nav{display:none}#content{padding:24px 15px 100px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}.mobile-nav button{background:transparent;padding:7px 2px 5px;display:grid;place-items:center;gap:2px;color:#72857e;font-size:.64rem}.mobile-nav button svg{width:21px;height:21px}.mobile-nav button.active{color:var(--green);background:var(--green-soft)}.page-head{align-items:flex-start;margin-bottom:20px}.page-head h1{font-size:1.8rem}.page-head>div>p:not(.eyebrow){font-size:.85rem}.page-actions button{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}.page-actions button span{display:none}.list-switch{margin-inline:-15px;padding-inline:15px}.composer{margin-inline:-3px;padding:13px;border-radius:17px}.quick-add{gap:8px}.add-button{width:50px;padding:0;justify-content:center}.add-button span{display:none}.item-details{grid-template-columns:1fr 1fr}.item-details .field:nth-child(3),.item-details .field:nth-child(4),.item-details .field:nth-child(5){grid-column:auto}.content-card{border-radius:17px}.filter-row{margin:0;padding:11px}.item-groups{padding:4px 13px 14px}.shopping-item{gap:9px}.check-btn{width:42px;height:42px}.item-title b{font-size:.93rem}.item-menu{width:36px}.settings-grid>.content-card{padding:16px}.section-head{align-items:flex-start}.section-head button{font-size:.75rem}.invite-ready{grid-template-columns:1fr;text-align:center}.invite-ready img{margin:auto}.history-item{grid-template-columns:auto 1fr}.history-item>button{grid-column:2;width:max-content}.segmented{width:100%}.segmented button{flex:1}.dialog{padding:22px 18px;border-radius:20px}.dialog-actions{position:sticky;bottom:-22px;background:#fff;padding:14px 0 2px}.edit-grid{grid-template-columns:1fr}.edit-grid>*{grid-column:1}.welcome-empty h1{font-size:2rem}}
@media(max-width:390px){.household-picker select{max-width:160px}.app-header{padding-inline:10px}.auth.card{padding:25px 18px}.auth-heading h2{font-size:1.7rem}.item-details{grid-template-columns:1fr}.item-details>*{grid-column:1!important}.page-head h1{font-size:1.65rem}.mobile-nav button{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
@media(max-width:700px){.page-actions button{font-size:0}.page-actions button svg{width:22px;height:22px}}

/* APPLE REMINDERS THEME */
:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;--green:#007aff;--green-dark:#0066d6;--green-soft:#e9f3ff;--ink:#111114;--muted:#727278;--line:#e5e5ea;--surface:#fff;--danger:#ff3b30;--danger-soft:#fff0ef;--shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.05);color:#111114;background:#f2f2f7}
body{background:#f2f2f7;color:#111114;-webkit-font-smoothing:antialiased}button{background:#e9e9ee;color:#111114;font-weight:600;border-radius:10px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(0,122,255,.22)}.primary{background:#007aff;color:#fff;box-shadow:none}.primary:hover{background:#006ee6}.danger{background:#ff3b30}.danger-text{background:#fff0ef;color:#ff3b30}.field>span,.field>label,.field label{color:#3a3a3c}.field input,.field select,input,select{border-color:#d1d1d6;background:#fff;color:#111114;border-radius:10px}.field input:focus,.field select:focus,input:focus,select:focus{border-color:#007aff;box-shadow:0 0 0 3px rgba(0,122,255,.12)}
#toast{background:#1c1c1e;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.2)}#toast.error{background:#ff3b30}
.auth-page{background:#f2f2f7}.auth-layout{border:1px solid #dedee3;border-radius:28px;box-shadow:0 25px 70px rgba(0,0,0,.1)}.auth-intro{background:#111114;color:#fff}.brand-mark{background:rgba(0,122,255,.16)!important;color:#0a84ff}.auth-intro .brand-mark{background:#0a84ff!important;color:#fff}.auth-intro .eyebrow{color:#64b5ff}.eyebrow:before{background:#0a84ff}.intro-copy p{color:#c7c7cc}.benefit-icon{background:#2c2c2e;color:#0a84ff}.benefit-list small{color:#aeaeb2}.auth-kicker,.eyebrow{color:#007aff}.auth-tabs{background:#f2f2f7;border-radius:11px}.auth-tabs button{color:#6e6e73}.auth-tabs button.active{color:#111114;box-shadow:0 1px 4px rgba(0,0,0,.12)}.auth input{background:#fff;border-color:#d1d1d6}.auth input:focus{border-color:#007aff;box-shadow:0 0 0 3px rgba(0,122,255,.12)}.form-options button{color:#007aff}.auth-submit{background:#007aff;border-radius:11px;box-shadow:none}.auth-submit:hover{background:#006ee6;box-shadow:none}.auth-footer{color:#8e8e93}
.app-header{background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(22px);border-color:#d8d8dc}.app-brand{color:#111114}.app-brand .brand-mark{background:#e9f3ff!important;color:#007aff}.household-picker select{background:#f2f2f7;border:0}.avatar{background:#e9f3ff;color:#007aff}.app-layout{background:#f2f2f7}.side-nav{background:#f2f2f7;border-right:1px solid #d8d8dc}.side-nav button{color:#3a3a3c;border-radius:10px}.side-nav button.active{background:#007aff;color:#fff}.sync-note i,.status-pill i{background:#34c759;box-shadow:0 0 0 4px #e4f8e9}.page-head h1{font-weight:750;letter-spacing:-.045em}.page-head .eyebrow{color:#8e8e93}.page-head p{color:#6e6e73}.content-card,.composer{border:0;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.list-switch button{background:#e5e5ea;color:#3a3a3c;border-radius:10px}.list-switch button.active{background:#007aff;color:#fff}.composer{background:#fff}.details-toggle{color:#007aff}.filter-row{border-color:#e5e5ea}.filter-row button{background:#f2f2f7;color:#3a3a3c}.filter-row button.active{background:#007aff;color:#fff}.item-group h3{color:#8e8e93}.item-group h3 span{background:#e5e5ea}.shopping-item{border-color:#e5e5ea}.check-btn{border:2px solid #007aff;background:#fff;color:#007aff}.check-btn:hover{background:#007aff}.amount,.item-meta span{background:#f2f2f7;color:#636366}.item-main>small{color:#8e8e93}.empty-state>div,.empty-illustration{background:#e9f3ff;color:#007aff}.spinner{border-color:#d1d1d6;border-top-color:#007aff}.segmented{background:#e5e5ea}.segmented button.active{background:#fff}.history-icon.done{background:#e9f3ff;color:#007aff}.history-icon.trash{background:#fff0ef;color:#ff3b30}.badge{background:#e9f3ff;color:#007aff}.invite-empty>div{background:#e9f3ff;color:#007aff}.store-chip{background:#f2f2f7}.store-chip.favorite{background:#e9f3ff;color:#007aff}.store-chip.favorite svg{fill:#007aff}.profile-avatar{background:#e9f3ff;color:#007aff}.status-pill{background:#effaf2;color:#248a3d}.modal{background:rgba(0,0,0,.4);backdrop-filter:blur(14px)}.dialog{border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.22)}
@media(max-width:700px){body{background:#f2f2f7}.app-header{background:rgba(249,249,249,.9);border-color:#d1d1d6}.mobile-nav{background:rgba(249,249,249,.94);border-color:#c7c7cc}.mobile-nav button{color:#8e8e93;border-radius:9px}.mobile-nav button.active{color:#007aff;background:#e9f3ff}.content-card,.composer{border-radius:16px}.auth.card{background:#fff}.page-head .eyebrow{color:#8e8e93}}
@media(prefers-color-scheme:dark){body.theme-auto-dark{background:#000}}

/* 2026 VISUAL POLISH */
body{background:radial-gradient(circle at 78% 4%,rgba(0,122,255,.07),transparent 28%),linear-gradient(180deg,#f7f8fb 0,#f2f2f7 52%,#eef0f5 100%)}
.app-header{box-shadow:0 1px 0 rgba(17,17,20,.04);border-bottom-color:rgba(60,60,67,.16)}
.app-brand{letter-spacing:-.025em}.app-brand .brand-mark,.avatar{box-shadow:inset 0 0 0 1px rgba(0,122,255,.08)}
.side-nav{background:rgba(246,247,250,.84);padding:28px 14px}.side-nav nav{gap:8px}.side-nav button{min-height:48px;padding:0 16px;font-weight:680}.side-nav button:hover{background:rgba(0,122,255,.07);color:#007aff}.side-nav button.active{background:#e5f1ff;color:#006ee6;box-shadow:inset 3px 0 #007aff}.side-nav button.active svg{stroke-width:2.15}
#content{max-width:1320px;padding-top:42px}.page-head{margin-bottom:30px}.page-head h1{font-size:clamp(2rem,3.4vw,2.8rem);color:#0d0d10}.page-head .eyebrow{font-size:.68rem;letter-spacing:.16em;font-weight:800}.page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.primary{background:linear-gradient(180deg,#1689ff,#0076ed);box-shadow:0 8px 22px rgba(0,122,255,.2);border:1px solid rgba(0,85,190,.12)}.primary:hover{background:linear-gradient(180deg,#087ef6,#006de0);box-shadow:0 10px 26px rgba(0,122,255,.25);transform:translateY(-1px)}
.content-card,.composer{border:1px solid rgba(60,60,67,.08);box-shadow:0 8px 30px rgba(20,25,35,.045),0 1px 2px rgba(0,0,0,.04)}
.list-switch{gap:9px}.list-switch button{min-height:46px;padding-inline:17px;background:rgba(255,255,255,.78);border:1px solid rgba(60,60,67,.1);box-shadow:0 2px 8px rgba(20,25,35,.035)}.list-switch button:hover{border-color:rgba(0,122,255,.25);color:#007aff}.list-switch button.active{background:linear-gradient(180deg,#1689ff,#0076ed);border-color:transparent;box-shadow:0 8px 20px rgba(0,122,255,.2)}
.composer{padding:20px}.quick-add input{background:#f8f9fb;border-color:#dedfe4}.quick-add input:focus{background:#fff}.details-toggle{font-weight:650}
.filter-row{padding:14px;gap:8px;background:rgba(249,250,252,.72)}.filter-row button{min-height:38px;padding:.55rem .88rem;background:#eceef3}.filter-row button:hover{background:#e2edfb;color:#007aff}.filter-row button.active{background:#111114;color:#fff;box-shadow:0 5px 14px rgba(17,17,20,.16)}
.shopping-item{margin:0 4px;padding:16px 8px;border-radius:12px;transition:background .16s ease,transform .16s ease}.shopping-item:hover{background:#f7f9fc;transform:translateX(2px)}.empty-state{padding:58px 20px}.empty-state>div{width:58px;height:58px;border-radius:19px;box-shadow:inset 0 0 0 1px rgba(0,122,255,.07)}
.dialog{border:1px solid rgba(255,255,255,.6)}.dialog-actions{gap:10px}.dialog-actions button{min-height:46px}
.auth-layout{box-shadow:0 30px 90px rgba(26,30,42,.14)}.auth-intro{background:radial-gradient(circle at 100% 0,rgba(0,122,255,.18),transparent 34%),linear-gradient(145deg,#0a0a0d,#15151a)}.auth-submit{background:linear-gradient(180deg,#1689ff,#0076ed);box-shadow:0 10px 26px rgba(0,122,255,.22)}
#installApp.install-app{background:linear-gradient(180deg,#1689ff,#0076ed);box-shadow:0 12px 32px rgba(0,122,255,.3)}
@media(max-width:700px){body{background:linear-gradient(180deg,#f8f9fb,#f2f2f7)}#content{padding-top:28px}.page-head{gap:14px}.page-head h1{font-size:2rem}.page-actions{gap:7px}.page-actions button{box-shadow:0 6px 16px rgba(0,122,255,.17)}.composer{padding:15px}.content-card,.composer{box-shadow:0 5px 20px rgba(20,25,35,.045)}.list-switch button{min-height:43px}.mobile-nav{box-shadow:0 -7px 25px rgba(20,25,35,.07)}.mobile-nav button.active{background:transparent;font-weight:750}.filter-row button.active{background:#111114}.shopping-item:hover{transform:none}}
.store-entry{display:flex;align-items:center;gap:5px;padding:4px;border-radius:13px;background:#f2f2f7}.store-entry .store-chip{background:transparent}.store-visibility{padding:.45rem .65rem;background:#fff;color:#007aff;font-size:.7rem}.store-entry.is-hidden{opacity:.62}.store-entry.is-hidden .store-chip{text-decoration:line-through}.store-entry.is-hidden .store-visibility{background:#e9f3ff}
@media(max-width:700px){.store-grid{display:grid;grid-template-columns:1fr}.store-entry{justify-content:space-between}.store-entry .store-chip{justify-content:flex-start;flex:1}}

/* HOUSEHOLD OVERVIEW */
.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.settings-grid>.content-card{padding:26px;border-radius:20px}.settings-grid .section-head{padding-bottom:16px;border-bottom:1px solid #ececf0}.settings-grid .section-head h2{font-size:1.18rem;letter-spacing:-.02em}.settings-grid .section-head p{margin-top:5px;font-size:.82rem;line-height:1.45}
.member-list{margin-top:4px}.member{padding:15px 0;gap:14px}.member .avatar{width:42px;height:42px;border-radius:14px}.member b{font-size:.95rem}.member small{margin-top:3px}.member .badge{padding:5px 9px;font-weight:700}
.invite-card{background:linear-gradient(145deg,#fff 55%,#f2f7ff)}.invite-ready{grid-template-columns:142px minmax(0,1fr);gap:22px}.invite-ready img{width:142px;padding:7px;background:#fff;border:1px solid #e5e5ea;box-shadow:0 6px 20px rgba(20,25,35,.06)}.copy-field{margin-top:9px}.copy-field input{background:#fff}.invite-ready .text-button{margin-top:7px;font-weight:700}
.stores-card{grid-column:1/-1}.stores-card .section-head{align-items:center}.stores-card #addStore{background:#edf4ff;color:#006ee6}.stores-card #addStore:hover{background:#e1efff}.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:20px}
.store-entry{min-height:58px;padding:7px 8px 7px 12px;border:1px solid #e6e7eb;background:#fafbfc;border-radius:15px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.store-entry:hover{border-color:#cbdcf2;box-shadow:0 5px 16px rgba(20,25,35,.055)}.store-entry .store-chip{min-width:0;justify-content:flex-start;flex:1;padding:.55rem .35rem;font-size:.88rem}.store-entry .store-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-entry .store-chip:disabled{opacity:1;cursor:default}.store-entry .store-chip svg{color:#8e8e93}.store-entry .store-chip.favorite svg{color:#007aff;fill:#007aff}.store-visibility{min-width:88px;border-radius:10px;background:#eceef2;color:#4a4a50;font-weight:700}.store-visibility:hover{background:#e1e4e9}.store-entry.is-hidden{opacity:1;background:#f5f5f7;border-style:dashed}.store-entry.is-hidden .store-chip{text-decoration:none;color:#8e8e93}.store-entry.is-hidden .store-visibility{background:#e5f1ff;color:#006ee6}.store-entry.is-hidden .store-visibility:hover{background:#d8eaff}
.danger-zone{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:center;background:linear-gradient(135deg,#fff,#fff8f7);border:1px solid #ffd9d5!important}.danger-zone h2{margin:0 0 6px;color:#1c1c1e}.danger-zone p{margin:0;max-width:760px}.danger-zone #leaveOrDelete{grid-column:2;grid-row:1/3;min-height:44px;padding-inline:18px}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.stores-card,.danger-zone{grid-column:1}.invite-ready{grid-template-columns:120px minmax(0,1fr)}.invite-ready img{width:120px}}
@media(max-width:700px){.settings-grid{gap:14px}.settings-grid>.content-card{padding:18px;border-radius:18px}.settings-grid .section-head{align-items:flex-start}.stores-card .section-head{gap:12px}.stores-card #addStore{font-size:0;width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:14px}.stores-card #addStore svg{width:22px}.store-grid{grid-template-columns:1fr;gap:8px;margin-top:15px}.store-entry{min-height:56px}.invite-ready{grid-template-columns:1fr;text-align:left}.invite-ready img{width:150px;margin:0 auto}.danger-zone{display:block}.danger-zone #leaveOrDelete{width:100%;margin-top:16px}.member{grid-template-columns:auto minmax(0,1fr) auto}.member small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.category-suggestion{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:.82rem;color:#636366}.category-suggestion b{color:#111114}.category-suggestion button{padding:.2rem .4rem;background:transparent;color:#007aff}.category-field{align-content:start}.remember-category{display:flex!important;align-items:flex-start;gap:7px;margin-top:7px;color:#636366!important;font-size:.7rem!important;font-weight:500!important}.remember-category input{width:16px!important;min-height:16px!important;margin:1px 0 0;accent-color:#007aff}
.item-group{margin-top:10px}.item-group-toggle{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:9px;padding:12px 4px 8px;background:transparent;color:#636366;text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.item-group-toggle:hover{color:#007aff}.item-group-toggle small{background:#e5e5ea;border-radius:999px;padding:2px 8px}.item-group-toggle i{font-style:normal;font-size:.9rem}.item-group-items[hidden]{display:none}
.category-mappings-card{grid-column:1/-1}.category-mapping-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin-top:17px}.category-mapping-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:5px;padding:11px 10px 11px 14px;border:1px solid #e6e7eb;border-radius:14px;background:#fafbfc}.category-mapping-list b,.category-mapping-list small{display:block}.category-mapping-list small{margin-top:3px;color:#007aff}.category-mapping-list .icon-btn{width:36px;height:36px}.mapping-empty{grid-column:1/-1;padding:22px;border:1px dashed #d1d1d6;border-radius:14px;text-align:center;color:#8e8e93;font-size:.82rem}
@media(max-width:700px){.category-suggestion{justify-content:space-between}.item-details .category-field{grid-column:1/-1}.category-mapping-list{grid-template-columns:1fr}.item-group-toggle{padding-inline:2px}}

.layout-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 16px 4px;padding:11px 14px;border-radius:13px;background:#f2f7ff;color:#006ee6}.layout-hint b{font-size:.82rem}.layout-hint span{font-size:.72rem;color:#636366}
.store-layouts-card{grid-column:1/-1}.store-layout-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;margin-top:18px}.store-layout-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:14px 15px;text-align:left;background:#fafbfc;border:1px solid #e6e7eb;border-radius:15px}.store-layout-list>button:hover{border-color:#b9d5f5;background:#f5f9ff}.layout-store b,.layout-store small{display:block}.layout-store small{margin-top:4px;color:#8e8e93;font-size:.7rem}.layout-source{padding:4px 7px;border-radius:999px;background:#eceef2;color:#636366;font-size:.66rem;font-weight:750}.layout-source.learned{background:#eaf8ef;color:#248a3d}.layout-source.manual{background:#e9f3ff;color:#007aff}
.layout-explanation{margin:0 0 12px;color:#636366;font-size:.82rem}.layout-order-editor{display:grid;gap:6px}.layout-order-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:12px;padding:8px 10px;border:1px solid #ececf0;border-radius:11px}.layout-order-row span{font-size:.82rem;font-weight:650}.layout-order-row select{min-height:38px}.layout-actions{margin-top:18px;padding-top:12px;border-top:1px solid #ececf0}
@media(max-width:700px){.layout-hint{align-items:flex-start;flex-direction:column;margin-inline:10px}.store-layout-list{grid-template-columns:1fr}.store-layout-list>button{min-height:64px}.layout-order-row{grid-template-columns:minmax(0,1fr) 68px}}
