:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d211f;background:#f7f5ef;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #fffdfa;--ink: #1d211f;--muted: #737872;--line: #e5e2d9;--green: #244a38;--green-soft: #dfe8df;--cream: #f2eee4;--danger: #9a3c35;--shadow: 0 10px 32px rgba(35, 42, 38, .07)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f7f5ef}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;min-height:100dvh;padding-bottom:max(28px,env(safe-area-inset-bottom))}.topbar{height:76px;padding:max(14px,env(safe-area-inset-top)) 18px 12px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;border-bottom:1px solid rgba(29,33,31,.08);background:#f7f5efeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--green);color:#fff}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.12em;font-weight:700;color:#7f847e;text-transform:uppercase}.topbar h1{font-size:20px;line-height:1.05;margin:2px 0 0;letter-spacing:-.025em}.count-pill{min-width:34px;height:34px;padding:0 10px;display:grid;place-items:center;border-radius:999px;background:#ebe8df;font-size:13px;font-weight:700}.content{width:min(100%,720px);margin:0 auto;padding:18px 14px 40px}.voice-card{position:relative;overflow:hidden;border-radius:25px;padding:22px 22px 20px;background:var(--green);color:#fff;box-shadow:var(--shadow)}.voice-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:#ffffff0d;right:-70px;top:-72px;z-index:0;pointer-events:none}.voice-card .section-kicker{color:#bacbbf}.voice-copy{position:relative;z-index:1;padding-right:90px}.voice-card h2{margin:6px 0 7px;font-size:27px;letter-spacing:-.045em}.voice-card p{margin:0;color:#d2ddd5;font-size:13px;line-height:1.45}.mic-button,.mic-disabled{position:absolute;right:20px;top:24px;width:64px;height:64px;border-radius:50%;border:0;display:grid;place-items:center;background:#fff;color:var(--green);box-shadow:0 8px 24px #00000029;z-index:2;touch-action:manipulation}.mic-button{cursor:pointer}.mic-button.listening{background:#f4d6d1;color:#7f2823;animation:breathe 1.4s infinite}.mic-disabled{opacity:.5}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.voice-status{position:relative;z-index:1;margin-top:17px;min-height:20px;color:#d9e2dc;font-size:12px}.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ef9b8e;margin-right:7px}.transcript-box{display:grid;gap:5px;padding-top:2px}.transcript-box span{color:#aebfb3}.transcript-box strong{font-size:13px;color:#fff;line-height:1.4}.transcript-box button{justify-self:start;margin-top:5px;border:0;border-radius:9px;padding:8px 11px;font-weight:700;font-size:12px;background:#fff;color:var(--green)}.quick-add-card{margin-top:13px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:16px}.quick-add-card>label{display:block;font-size:12px;font-weight:700;margin:0 0 9px}.quick-row{display:flex;gap:8px}.quick-row input{flex:1;min-width:0;height:48px;border-radius:13px;border:1px solid #d8d5cd;background:#fff;padding:0 13px;outline:none;font-size:13px}.quick-row input:focus{border-color:#71877a;box-shadow:0 0 0 3px #244a3817}.add-button{height:48px;border:0;border-radius:13px;background:#222725;color:#fff;padding:0 15px;display:flex;align-items:center;gap:7px;font-weight:700;cursor:pointer}.add-button:disabled{opacity:.4;cursor:default}.input-hint{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.error-banner{margin-top:12px;border:1px solid #e9c8c4;background:#fff1ef;color:#843b35;padding:11px 13px;border-radius:12px;font-size:12px}.list-section,.bought-section{margin-top:28px}.list-heading,.bought-header{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;padding:0 2px}.list-heading h2,.bought-header h2,.sheet-header h2{font-size:20px;margin:4px 0 0;letter-spacing:-.035em}.groups{display:grid;gap:20px}.category-title{padding:0 3px 7px;color:#777c76;font-size:11px;font-weight:700}.items-card{overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--paper)}.shopping-row{min-height:62px;display:grid;grid-template-columns:38px 1fr 38px 38px;align-items:center;padding:4px 7px 4px 11px;border-bottom:1px solid #ece9e1}.shopping-row:last-child{border-bottom:0}.check-button{width:26px;height:26px;border-radius:9px;border:1.5px solid #c9c9c1;background:#fff;color:#fff;display:grid;place-items:center;cursor:pointer}.check-button.checked{background:var(--green);border-color:var(--green)}.item-main{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;border:0;background:transparent;padding:9px 4px 9px 0;text-align:left;cursor:pointer;color:inherit}.item-name{min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-qty{flex:none;color:#747972;font-size:12px;font-weight:600}.icon-button{width:36px;height:36px;border:0;background:transparent;color:#838781;border-radius:10px;display:grid;place-items:center;cursor:pointer}.icon-button.delete{color:#a3726f}.shopping-row.bought .item-name{text-decoration:line-through;color:#8a8f89;font-weight:500}.shopping-row.bought .item-qty{color:#a0a49f}.muted-card{background:#f0eee7}.empty-state{border:1px dashed #d4d1c8;border-radius:20px;padding:34px 20px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:var(--muted);font-size:12px}.empty-state strong{color:var(--ink);font-size:14px}.empty-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:#ebe8df;color:var(--green);margin-bottom:4px}.text-button{border:0;background:transparent;font-size:11px;font-weight:700;cursor:pointer;padding:8px 0}.text-button.danger{color:var(--danger)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#12161466;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.edit-sheet{width:min(100%,620px);max-height:92dvh;overflow-y:auto;background:#fffdfa;border-radius:26px 26px 0 0;padding:10px 18px max(20px,env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0000001f}.sheet-handle{width:42px;height:4px;border-radius:10px;background:#d8d5cc;margin:0 auto 16px}.sheet-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.close-button{width:38px;height:38px;border:0;border-radius:12px;background:#f0eee7;display:grid;place-items:center;cursor:pointer}.edit-sheet form{display:grid;gap:14px}.edit-sheet label{display:grid;gap:7px;color:#555b56;font-size:11px;font-weight:700}.edit-sheet input,.edit-sheet select{width:100%;height:48px;border:1px solid #d8d5cd;border-radius:12px;background:#fff;padding:0 12px;color:var(--ink);outline:none;font-size:14px;font-weight:500}.edit-sheet input:focus,.edit-sheet select:focus{border-color:#71877a;box-shadow:0 0 0 3px #244a3817}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.select-wrap{position:relative}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:35px}.select-wrap svg{pointer-events:none;position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#777c76}.quantity-stepper{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:stretch;gap:6px}.quantity-stepper input{min-width:0;text-align:center;-moz-appearance:textfield}.quantity-stepper input::-webkit-outer-spin-button,.quantity-stepper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.quantity-step-button{min-width:42px;border:1px solid #d8d5cc;border-radius:12px;background:#f7f5ef;color:var(--green);font-size:22px;font-weight:700;line-height:1;cursor:pointer}.quantity-step-button:hover{background:#eef2ec}.quantity-step-button:active{transform:translateY(1px)}.optional{color:#a1a49f;font-weight:500}.sheet-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;padding-top:7px}.secondary-button,.primary-button{height:48px;border-radius:13px;font-weight:700;cursor:pointer}.secondary-button{border:1px solid #d8d5cd;background:#fff;color:var(--ink)}.primary-button{border:0;background:var(--green);color:#fff}.primary-button:disabled{opacity:.4}@media(min-width:760px){.topbar{padding-left:30px;padding-right:30px}.content{padding-top:28px}.voice-card{padding:26px}.mic-button,.mic-disabled{right:25px;top:27px}.edit-sheet{margin-bottom:24px;border-radius:26px;padding-bottom:22px}.sheet-backdrop{align-items:center}}@media(max-width:430px){.add-button span{display:none}.add-button{width:48px;padding:0;justify-content:center}.voice-card h2{font-size:25px}}.mic-button.working{cursor:wait;background:#eef2ee}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.voice-idle-note{display:block;color:#c7d3cb;line-height:1.45}.voice-progress,.voice-error{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px}.voice-progress>div,.voice-error>div{min-width:0;display:grid;gap:4px}.voice-progress strong,.voice-error strong{color:#fff;font-size:12px;line-height:1.35}.voice-progress span,.voice-error span{color:#c7d3cb;line-height:1.45;overflow-wrap:anywhere}.voice-progress>svg,.voice-error>svg{margin-top:1px;flex:none}.voice-success>svg{color:#bfe1c7}.voice-error{padding:10px 11px;margin:3px -3px 0;border:1px solid rgba(255,205,197,.28);border-radius:12px;background:#6c251f3d}.voice-error>svg{color:#ffc9c0}.voice-error strong{color:#fff4f2}.voice-error span{color:#f0cfca}.voice-error button{justify-self:start;margin-top:5px;border:0;border-radius:9px;padding:8px 11px;font-weight:700;font-size:11px;background:#fff;color:var(--green);cursor:pointer}.voice-error.voice-clarification{border-color:#f0d38b57;background:#674e1e3d}.voice-error.voice-clarification>svg{color:#f0d38b}.voice-error.voice-clarification strong{color:#fff5d8}.voice-error.voice-clarification span{color:#eadfb9}.voice-warning{margin-top:8px;padding:8px 10px;border-radius:10px;background:#ffeeb81f;color:#eadfb9;line-height:1.45}.voice-warning strong{color:#fff6d7}@media(max-width:430px){.voice-status{padding-right:2px}}.voice-mode-switch{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:min(100%,390px);margin-top:17px;padding:4px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#0000001f}.voice-mode-switch button{min-width:0;border:0;border-radius:10px;padding:8px 10px 7px;background:transparent;color:#c8d5cc;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.voice-mode-switch button.active{background:#fffffff5;color:var(--green);box-shadow:0 3px 12px #00000014}.voice-mode-switch button:disabled{cursor:default}.voice-mode-switch span,.voice-mode-switch small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-mode-switch span{font-size:11px;font-weight:800}.voice-mode-switch small{margin-top:2px;font-size:9px;opacity:.72}.voice-fallback>svg{color:#f2d99f}.voice-privacy,.voice-transcript{display:block;color:#aebfb3;font-size:10px;line-height:1.45;font-weight:500}.voice-transcript{margin-top:2px;color:#d4ded7}@media(max-width:430px){.voice-mode-switch{width:100%}.voice-mode-switch button{padding-left:9px;padding-right:9px}}.undo-toast{position:fixed;left:50%;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));transform:translate(-50%);z-index:140;width:min(calc(100% - 28px),520px);min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px 9px 14px;border-radius:16px;background:#1f2924;color:#fff;box-shadow:0 14px 42px #11181440;animation:toast-in .2s ease-out}.undo-toast>div{min-width:0;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650}.undo-toast>div svg{flex:none;color:#bfe1c7}.undo-toast button{flex:none;height:36px;border:0;border-radius:10px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--green);font-size:11px;font-weight:800;cursor:pointer}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.notice-banner{margin-top:12px;border:1px solid #e3d7ad;background:#fff9e7;color:#6f5b1f;padding:11px 13px;border-radius:12px;font-size:12px;line-height:1.45}.quick-input-wrap{position:relative;flex:1;min-width:0}.quick-input-wrap>input{width:100%}.suggestions-popover{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:35;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 12px 32px #1f272224}.suggestions-label{padding:9px 12px 6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.suggestion-row{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-top:1px solid #efede6;padding:8px 11px 8px 12px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.suggestion-row:hover{background:#f6f4ed}.suggestion-row:disabled{opacity:.55;cursor:wait}.suggestion-row>span{min-width:0;display:grid;gap:2px}.suggestion-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.suggestion-row small{color:var(--muted);font-size:10px}.suggestion-row>svg{flex:none;color:var(--green)}.memory-section{margin-top:22px}.memory-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px;padding:0 2px}.memory-heading h2{margin:4px 0 0;font-size:18px;letter-spacing:-.03em}.memory-caption{color:var(--muted);font-size:10px;text-align:right}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.memory-product{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) 34px 34px 34px;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.memory-product.favorite{border-color:#d7d7c4;background:#fffef8}.memory-product-main{min-width:0;border:0;background:transparent;padding:11px 4px 10px 12px;display:grid;align-content:center;gap:4px;text-align:left;color:var(--ink);cursor:pointer}.memory-product-main:disabled,.memory-star:disabled,.memory-plus:disabled,.memory-delete:disabled{opacity:.55;cursor:wait}.memory-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.memory-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9.5px;font-weight:550}.memory-star,.memory-plus,.memory-delete{border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.memory-star{color:#a6a69d}.memory-star.active{color:#8a7b3d}.memory-plus{color:var(--green)}.memory-delete{color:#a86f67}.memory-star:hover,.memory-plus:hover,.memory-delete:hover{background:#f3f1e9}.memory-delete:hover{color:#8f5148}@media(max-width:560px){.memory-grid{grid-template-columns:1fr}.memory-product{min-height:61px}.memory-heading{align-items:center}}@media(max-width:390px){.memory-caption{display:none}}.household-title-button{min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.household-title-button h1{font-size:20px;line-height:1.05;margin:2px 0 0;letter-spacing:-.025em}.household-subtitle{margin-top:3px;display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{display:flex;align-items:center;gap:6px}.topbar-icon-button{width:34px;height:34px;border:1px solid #dfdcd3;border-radius:11px;background:#ffffff94;display:grid;place-items:center;color:#555d58;cursor:pointer}.topbar-icon-button:hover{background:#fff}.live-dot{width:8px;height:8px;border-radius:999px;background:#c4c5bf;box-shadow:0 0 0 3px #c4c5bf2b}.live-dot.online{background:#4d8b68;box-shadow:0 0 0 3px #4d8b6829}.item-copy{min-width:0;display:grid;gap:2px}.item-author{color:#959991;font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shopping-row.bought .item-author{opacity:.7}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 14px;background:radial-gradient(circle at 75% 5%,rgba(36,74,56,.1),transparent 28%),#f7f5ef}.auth-card{width:min(100%,440px);padding:27px;border:1px solid var(--line);border-radius:25px;background:var(--paper);box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand .brand-mark{width:44px;height:44px;flex:0 0 auto}.auth-brand h1{margin:3px 0 0;font-size:23px;line-height:1.08;letter-spacing:-.035em}.auth-lead{margin:18px 0 20px;color:var(--muted);font-size:12.5px;line-height:1.55}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:13px;background:#efede6}.auth-tabs.single{grid-template-columns:1fr}.auth-tabs button{height:38px;border:0;border-radius:10px;background:transparent;color:#6d726d;font-size:12px;font-weight:700;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #0000000d}.auth-form{margin-top:18px;display:grid;gap:13px}.auth-form label{display:grid;gap:6px;font-size:11px;font-weight:700}.auth-form input,.inline-form input{width:100%;height:44px;border:1px solid #d9d6cd;border-radius:12px;background:#fff;padding:0 12px;outline:0;font-size:13px;font-weight:500}.auth-form input:focus,.inline-form input:focus{border-color:#728679;box-shadow:0 0 0 3px #244a3814}.auth-submit{width:100%;min-height:45px;display:flex;align-items:center;justify-content:center;gap:8px}.auth-note{display:block;margin-top:14px;color:#858a84;font-size:10px;line-height:1.5}.error-banner.compact{margin:0;padding:10px 12px;font-size:11px}.boot-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px}.family-backdrop{align-items:flex-end}.family-sheet{max-height:min(90vh,780px);overflow-y:auto}.family-user-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:#faf8f2}.avatar-circle,.avatar-small{display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.avatar-circle{width:40px;height:40px;font-size:14px}.avatar-small{width:32px;height:32px;font-size:11px}.family-user-row>div:nth-child(2),.member-row>div:nth-child(2){min-width:0;display:grid;gap:2px}.family-user-row strong,.member-row strong{font-size:12px}.family-user-row span,.member-row span{color:var(--muted);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-user-row .text-button{display:flex;align-items:center;gap:5px;font-size:10px}.family-section{margin-top:19px}.family-section>.section-kicker{display:block;margin-bottom:8px}.household-switch-list{display:grid;gap:7px}.household-choice{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;text-align:left;cursor:pointer}.household-choice.active{border-color:#8ea092;background:#f3f6f2}.household-choice>span{display:grid;gap:2px}.household-choice strong{font-size:12px}.household-choice small{color:var(--muted);font-size:9px}.family-rename{margin-top:8px}.inline-form{display:flex;gap:7px}.inline-form input{min-width:0;height:40px}.inline-form .secondary-button{min-height:40px;white-space:nowrap}.family-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:8px}.family-section-heading h3{margin:3px 0 0;font-size:16px}.member-count{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px}.member-list{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.member-row{min-height:50px;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #eeece6}.member-row:last-child{border-bottom:0}.member-row>small{color:#858a84;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.invite-button{width:100%;margin-top:8px;min-height:42px;display:flex;justify-content:center;align-items:center;gap:7px}.invite-card{margin-top:8px;padding:12px;border-radius:14px;background:#edf3ed;border:1px solid #d4e1d5}.invite-card>span{display:block;color:#69766d;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.invite-card>div{margin:7px 0 6px;display:flex;align-items:center;justify-content:space-between;gap:10px}.invite-card strong{font-size:19px;letter-spacing:.09em}.invite-card button{border:0;border-radius:10px;background:#fff;padding:8px 10px;display:flex;align-items:center;gap:5px;cursor:pointer;font-size:10px;font-weight:700}.invite-card small{color:#727a74;font-size:9.5px;line-height:1.45}.split-family-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split-family-actions form{min-width:0;display:grid;gap:7px}@media(max-width:620px){.topbar{grid-template-columns:38px minmax(0,1fr) auto;padding-left:12px;padding-right:10px;gap:8px}.topbar-actions{gap:4px}.desktop-logout{display:none}.count-pill{min-width:31px;height:31px;padding:0 8px}.topbar-icon-button{width:31px;height:31px;border-radius:10px}.household-title-button h1{font-size:18px}.household-subtitle{max-width:180px}.split-family-actions{grid-template-columns:1fr}}@media(max-width:400px){.household-subtitle{max-width:145px}.auth-card{padding:21px 17px}.family-user-row{grid-template-columns:38px minmax(0,1fr)}.family-user-row .text-button{grid-column:2;justify-self:start}.inline-form{flex-direction:column}}.https-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.https-actions a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:9px;background:#ffffffed;color:var(--green);font-weight:800;font-size:11px;text-decoration:none}.https-actions a:hover{background:#fff}.voice-confirm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.voice-confirm-actions button{margin-top:0}.voice-confirm-actions .voice-confirm-danger{background:#fff1ed;color:#8f342b}.voice-confirm-actions .voice-confirm-cancel{background:#ffffff1f;color:#fff5d8;border:1px solid rgba(255,255,255,.18)}.field-error{display:block;margin-top:6px;color:#a84f42;font-size:.78rem;font-weight:600}.brand-back-button{border:0;cursor:pointer;padding:0}.brand-back-button:hover{filter:brightness(1.07)}.list-title-static{cursor:default}.lists-content{width:min(100%,920px);padding-top:24px}.lists-hero{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:5px 3px 21px}.lists-hero h2{margin:5px 0 7px;font-size:clamp(27px,4vw,36px);line-height:1.05;letter-spacing:-.045em}.lists-hero p{max-width:590px;margin:0;color:var(--muted);font-size:12.5px;line-height:1.55}.lists-new-button,.empty-create-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;padding:0 17px}.lists-new-button{min-width:132px}.lists-loading{min-height:170px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:12px}.lists-empty{min-height:270px}.empty-create-button{margin-top:8px;min-height:44px}.shopping-lists-section{margin-top:4px}.lists-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px;padding:0 2px}.lists-section-heading h2{margin:4px 0 0;font-size:20px;letter-spacing:-.035em}.shopping-lists-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shopping-list-card{min-width:0;border:1px solid var(--line);border-radius:19px;background:var(--paper);overflow:hidden;box-shadow:0 5px 18px #232a2609;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.shopping-list-card:hover{transform:translateY(-1px);border-color:#d6d6cc;box-shadow:0 9px 24px #232a2612}.shopping-list-card-main{width:100%;min-height:168px;display:flex;flex-direction:column;border:0;background:transparent;padding:16px;color:inherit;text-align:left;cursor:pointer}.shopping-list-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.list-status-badge{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;background:#efede6;color:#6f746e;font-size:8.5px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.list-status-badge.shopping{background:#e2eee5;color:#356247}.list-open-label{color:var(--green);font-size:10px;font-weight:800}.shopping-list-card h3{margin:18px 0 13px;font-size:18px;line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere}.shopping-list-meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:10.5px;font-weight:600}.shopping-list-meta span{min-width:0;display:inline-flex;align-items:center;gap:5px}.list-progress-line{height:4px;margin-top:15px;overflow:hidden;border-radius:999px;background:#eceae3}.list-progress-line>span{display:block;height:100%;border-radius:inherit;background:var(--green)}.history-preview{margin-top:18px;padding:14px 16px;border:1px dashed #d8d4cb;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);background:#fffdfa73}.history-preview>div{display:grid;gap:3px}.history-preview strong{color:var(--ink);font-size:12px}.history-preview>span{max-width:340px;font-size:10.5px;line-height:1.45;text-align:right}.list-create-sheet .sheet-actions .primary-button{display:flex;align-items:center;justify-content:center;gap:7px}@media(max-width:650px){.lists-content{padding-top:18px}.lists-hero{align-items:stretch;flex-direction:column;gap:14px}.lists-hero h2{font-size:29px}.lists-new-button{width:100%}.shopping-lists-grid{grid-template-columns:1fr}.shopping-list-card-main{min-height:148px}.history-preview{align-items:flex-start;flex-direction:column;gap:7px}.history-preview>span{text-align:left}}.shopping-list-card-actions{padding:0 14px 14px}.list-shopping-button{width:100%;min-height:42px;border:0;border-radius:12px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800;cursor:pointer}.list-shopping-button.continue{background:#e3eee5;color:#315e44}.list-shopping-button:disabled{opacity:.62;cursor:wait}.shopping-start-card,.shopping-progress-card,.shopping-complete-card{margin-bottom:14px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 5px 18px #232a2609}.shopping-start-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 17px}.shopping-start-card h2,.shopping-complete-card h2{margin:4px 0 5px;font-size:18px;letter-spacing:-.035em}.shopping-start-card p,.shopping-complete-card p,.completion-sheet p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.shopping-start-button,.shopping-back-button{min-height:44px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none}.shopping-progress-card{padding:16px 17px 14px;background:#edf3ed;border-color:#d6e2d8}.shopping-progress-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.shopping-progress-main>div:first-child{display:grid;gap:3px}.shopping-progress-main strong{font-size:20px;letter-spacing:-.035em}.shopping-progress-main span:not(.section-kicker){color:#68766c;font-size:10.5px}.shopping-progress-percent{flex:none;min-width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:15px;font-weight:850;box-shadow:0 5px 16px #244a3814}.shopping-progress-track{height:8px;margin:13px 0 12px;overflow:hidden;border-radius:999px;background:#d8e1d9}.shopping-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .2s ease}.shopping-finish-button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;background:#fff}.shopping-active-shell .topbar{background:#eff4eff0}.shopping-active-shell .voice-card{margin-bottom:18px}.shopping-mode-content{width:min(100%,760px);padding-top:14px}.shopping-mode-list-section{margin-top:20px}.shopping-active-shell .category-title{margin-bottom:7px;font-size:11px}.shopping-active-shell .items-card{border-radius:18px}.shopping-row.shopping-mode-row{min-height:72px;grid-template-columns:50px minmax(0,1fr) 38px 38px;padding-top:7px;padding-bottom:7px}.shopping-mode-row .check-button{width:42px;height:42px;border-radius:13px;flex:0 0 42px}.shopping-mode-row .check-button.checked{background:var(--green);color:#fff;border-color:var(--green)}.shopping-mode-row .item-name{font-size:15px}.shopping-mode-row .item-qty{font-size:13px;font-weight:800}.shopping-mode-row.bought .item-name{text-decoration:line-through;color:#7c837e}.shopping-active-shell .bought-section{margin-top:24px}.shopping-active-shell .muted-card{opacity:.88}.shopping-complete-card{margin-top:28px;padding:28px 22px;text-align:center}.shopping-complete-icon{width:70px;height:70px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#e4efe6;color:var(--green)}.shopping-complete-icon.warning{width:58px;height:58px;margin:0 0 12px;background:#f1ede0;color:#7d6941}.shopping-complete-card .shopping-back-button{margin-top:18px}.completion-sheet{width:min(92vw,470px);border-radius:22px;background:var(--paper);padding:22px;box-shadow:0 24px 70px #141c1738}.completion-sheet h2{margin:4px 0 8px;font-size:21px;line-height:1.2;letter-spacing:-.035em}.completion-sheet .sheet-actions{margin-top:18px}@media(max-width:650px){.shopping-start-card{align-items:stretch;flex-direction:column;gap:12px}.shopping-start-button{width:100%}.shopping-mode-content{padding-left:9px;padding-right:9px}.shopping-active-shell .voice-card{border-radius:22px}.shopping-active-shell .voice-copy{padding-right:76px}.shopping-active-shell .voice-card h2{font-size:24px}.shopping-row.shopping-mode-row{min-height:78px;grid-template-columns:54px minmax(0,1fr) 38px 38px}.shopping-mode-row .check-button{width:46px;height:46px;flex-basis:46px}.shopping-mode-row .item-name{font-size:16px}.shopping-mode-row .item-qty{font-size:14px}.shopping-progress-main strong{font-size:22px}.shopping-progress-percent{min-width:62px;height:62px}}.shopping-quick-add-card{margin-top:10px;margin-bottom:4px;padding:13px;border-radius:17px}.shopping-quick-add-card .input-hint{margin-bottom:0}.history-preview-button{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;font:inherit}.history-preview-button:hover{border-color:#cfcabd;background:#fffdfacc}.list-status-badge.completed{background:#e8ebe6;color:#5f675f}.history-content,.history-detail-content{width:min(100%,920px)}.history-hero{margin-bottom:6px}.history-empty{min-height:290px}.history-empty .secondary-button{margin-top:8px}.history-list-section{margin-top:12px}.history-list-stack{display:grid;gap:12px}.history-list-card{border:1px solid var(--line);border-radius:19px;background:var(--paper);overflow:hidden;box-shadow:0 5px 18px #232a2609}.history-card-main{width:100%;border:0;background:transparent;padding:17px 18px 15px;color:inherit;text-align:left;cursor:pointer}.history-card-main:hover{background:#f6f5f09e}.history-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-date{color:var(--muted);font-size:10px;font-weight:700}.history-list-card h3{margin:14px 0 11px;font-size:19px;letter-spacing:-.035em}.history-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;color:var(--muted);font-size:10.5px;font-weight:650}.history-card-meta span{display:inline-flex;align-items:center;gap:5px}.history-card-meta .history-remaining{color:#8b6745}.history-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 14px 14px}.history-card-actions .secondary-button,.history-card-actions .primary-button{min-height:42px;justify-content:center}.buy-again-source{margin-top:4px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#f6f5f0;display:grid;gap:3px}.buy-again-source span,.buy-again-source small{color:var(--muted);font-size:10px}.buy-again-source strong{font-size:13px;color:var(--ink)}.buy-again-sheet .primary-button{display:flex;align-items:center;justify-content:center;gap:7px}.history-summary-card{margin-top:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy stats" "icon button button";gap:10px 16px;align-items:center;box-shadow:0 7px 24px #232a260b}.history-summary-icon{grid-area:icon;width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#e6eee7;color:var(--green)}.history-summary-copy{grid-area:copy;min-width:0}.history-summary-copy h2{margin:3px 0 4px;font-size:23px;letter-spacing:-.04em;overflow-wrap:anywhere}.history-summary-copy p{margin:0;color:var(--muted);font-size:10.5px}.history-summary-stats{grid-area:stats;min-width:78px;text-align:right;display:grid;gap:0}.history-summary-stats strong{font-size:21px;letter-spacing:-.04em}.history-summary-stats span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.history-buy-again{grid-area:button;justify-self:end;min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px}.history-products-section{margin-top:22px}.history-items-card{overflow:hidden}.history-items-card.missed{border-color:#e4d8cb}.history-empty-products{border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--muted);font-size:11px}.history-item-row{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 13px;border-bottom:1px solid var(--line)}.history-item-row:last-child{border-bottom:0}.history-item-row.bought .history-item-copy strong{color:#58635b}.history-item-check{width:29px;height:29px;border:1px solid #d6d8d4;border-radius:9px;display:grid;place-items:center;color:#fff;background:#fff}.history-item-check.checked{background:var(--green);border-color:var(--green)}.history-item-copy{min-width:0;display:grid;gap:2px}.history-item-copy strong{font-size:13px;overflow-wrap:anywhere}.history-item-copy span{color:var(--muted);font-size:10px}.history-item-qty{color:var(--ink);font-size:11.5px;font-weight:800;white-space:nowrap}@media(max-width:650px){.history-card-actions{grid-template-columns:1fr}.history-summary-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon copy" "stats stats" "button button";padding:17px}.history-summary-stats{text-align:left;display:flex;gap:6px;align-items:baseline}.history-buy-again{width:100%;justify-self:stretch}.history-summary-copy h2{font-size:20px}.history-item-row{min-height:62px;padding:10px}}
