.registration-shell{width:min(100% - 2rem,32rem);min-height:100vh;margin:0 auto;padding:2rem 0 4rem}.registration-back{color:var(--accent-deep);font-weight:700}.registration-card{border:1px solid var(--border-default);background:var(--surface);margin-top:2rem;padding:clamp(1.25rem,5vw,2rem)}.registration-eyebrow{color:var(--accent-deep);margin:0 0 .75rem;font-size:.875rem;font-weight:700}.registration-card h1{letter-spacing:-.04em;margin:0;font-size:2rem}.registration-intro{color:var(--text-muted);line-height:1.5}.registration-form{gap:.75rem;margin-top:1.5rem;display:grid}.registration-form label{font-weight:700}.registration-form input{border:1px solid var(--border-strong);width:100%;min-height:3rem;color:var(--text-primary);background:#fff;border-radius:0;margin-bottom:.5rem;padding:.5rem .75rem}.registration-form .button{margin-top:.5rem}.registration-form .button:disabled{opacity:.65;cursor:wait}.registration-form .form-error{margin:0}.registration-success{border-left:4px solid var(--accent-strong);background:var(--surface-muted);margin-top:1.5rem;padding:1rem;font-weight:700;line-height:1.5}.lists-shell{width:min(100% - 2rem,42rem);min-height:100vh;margin:0 auto;padding:2rem 0 4rem}.lists-header{margin:2rem 0}.lists-header h1{letter-spacing:-.04em;margin:0;font-size:2rem}.lists-header>p:last-child{max-width:38rem;color:var(--text-muted);line-height:1.5}.lists-card{border:1px solid var(--border-default);background:var(--surface);margin-top:1rem;padding:1.25rem}.lists-card h2{margin:0 0 1rem;font-size:1.25rem}.lists-create-form{gap:.75rem;display:grid}.lists-create-form label{font-weight:700}.lists-create-form>div{flex-wrap:wrap;gap:.75rem;display:flex}.lists-create-form input{border:1px solid var(--border-strong);min-height:3rem;color:var(--text-primary);background:#fff;flex:12rem;padding:.5rem .75rem}.lists-index{margin:0;padding:0;list-style:none}.lists-index li+li{border-top:1px solid var(--border-default)}.lists-index a{width:100%;min-height:3.5rem;color:var(--text-primary);text-align:left;font:inherit;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;text-decoration:none;display:flex}.lists-index a:hover{color:var(--accent-deep)}.lists-index small{color:var(--text-muted);font-weight:500}.lists-invite-code{gap:.5rem;margin-top:1rem;display:grid}.lists-invite-code label{font-weight:700}.lists-invite-code input{border:1px solid var(--border-strong);background:var(--surface-muted);width:100%;min-height:3rem;color:var(--text-primary);padding:.5rem}.lists-invite-code small{color:var(--text-muted);line-height:1.5}.invite-code-actions{flex-wrap:wrap;gap:.5rem;display:flex}.invite-code-actions .invite-code-button{place-items:center;min-width:2.75rem;min-height:2.75rem;padding:.5rem;display:grid}.invite-code-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}.scroll-diagnostics{z-index:20;right:calc(.75rem + env(safe-area-inset-right));bottom:calc(6.5rem + env(safe-area-inset-bottom));max-width:min(23rem, calc(100vw - 1.5rem - env(safe-area-inset-left) - env(safe-area-inset-right)));border:1px solid var(--border-strong);background:var(--surface);max-height:65dvh;color:var(--text-primary);padding:.5rem;font-size:.875rem;position:fixed;overflow-y:auto}.scroll-diagnostics summary{cursor:pointer;padding:.5rem}.scroll-diagnostics p{margin:.5rem}.scroll-diagnostics button{min-height:2.75rem;margin:.25rem}.scroll-diagnostics textarea{box-sizing:border-box;width:100%;min-height:10rem;margin-top:.5rem;font-size:1rem;display:block}#root{min-height:100vh}.app-shell{width:min(100% - 2rem,42rem);min-height:100vh;margin:0 auto;padding:2rem 0 3rem}.app-list-back{color:var(--accent-deep);margin-bottom:.75rem;font-weight:700;display:inline-block}.app-list-nav{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.app-list-nav a{color:var(--accent-deep);font-weight:700}.app-header{z-index:5;border-bottom:1px solid var(--border-default);background:var(--page-background);justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem .25rem 1rem;display:flex;position:sticky;top:0}.app-header h1,.task-section h2,.shopping-item h3,.item-form p{margin:0}.app-header h1{letter-spacing:-.04em;font-size:2rem}.app-header p{color:var(--text-muted);margin:0;font-size:.9375rem;font-weight:700}.edit-mode-toggle{place-items:center;min-width:2.75rem;min-height:2.75rem;padding:.5rem;display:grid}.task-sections{gap:1.5rem;display:grid}.task-section{background:var(--surface);border:1px solid var(--border-default)}.task-section h2{padding:0;font-size:.9375rem}.task-section h2 span{color:var(--text-muted);font-weight:500}.category-toggle{color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:3.5rem;padding:.75rem 1rem;font-weight:700;display:flex}.category-toggle:hover{background:var(--surface-muted)}.category-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.category-toggle-icon{font-size:1.4rem;line-height:1;color:var(--text-primary)!important;font-weight:500!important}.shopping-list{margin:0;padding:0;list-style:none}.shopping-item{border-top:1px solid var(--border-default);background:var(--surface);grid-template-columns:3.5rem minmax(0,1fr) auto auto;align-items:center;min-height:4.25rem;transition:background .12s,transform .12s;display:grid}.shopping-item-completed{color:var(--text-muted);background:var(--surface-muted)}.shopping-item-completed h3{text-decoration:line-through}.shopping-item-dragging{opacity:.56;transform:scale(.98)}.shopping-item-drag-over{border-top:3px solid var(--accent-strong)}.shopping-item h3{overflow-wrap:anywhere;font-size:1.0625rem;line-height:1.25}.completion-control{cursor:pointer;place-items:center;width:3.5rem;height:4.25rem;display:grid}.completion-control input{width:1.75rem;height:1.75rem;accent-color:var(--accent-strong);cursor:pointer;margin:0}.drag-handle,.icon-button{min-width:2.75rem;min-height:2.75rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0}.drag-handle{touch-action:none;font-size:1.5rem;line-height:1}.drag-handle:hover,.drag-handle:focus-visible{color:var(--text-primary)}.item-actions{margin-right:.25rem;display:flex}.icon-button{place-items:center;padding:.5rem;display:grid}.icon-button svg,.edit-mode-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}.icon-button:hover{color:var(--text-primary)}.icon-button-danger{color:var(--danger)}.empty-state{color:var(--text-muted);margin:0;padding:1.25rem 1rem}.add-item-panel{border:1px solid var(--border-strong);background:var(--surface);margin-top:1.5rem;padding:1rem}.item-form{flex-wrap:wrap;gap:.5rem;display:flex}.item-input-control{flex:12rem;min-width:0;position:relative}.item-input-control input{width:100%}.product-suggestions{z-index:15;overscroll-behavior-y:contain;border:1px solid var(--border-strong);background:var(--surface);max-height:min(15rem,30dvh);margin:0;padding:0;list-style:none;position:absolute;bottom:calc(100% + .5rem);left:0;right:0;overflow-y:auto;box-shadow:0 .25rem 1rem #18231d1f}.product-suggestions button{width:100%;min-height:2.75rem;color:var(--text-primary);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:.75rem}.product-suggestions button:hover,.product-suggestions button[aria-selected=true]{background:var(--surface-muted)}.item-form input{border:1px solid var(--border-strong);min-width:0;min-height:3rem;color:var(--text-primary);background:var(--surface);font:inherit;border-radius:0;flex:12rem;padding:0 .875rem}.button{min-height:3rem;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:0;padding:.5rem 1rem;font-weight:700}.button-primary{color:#fff;background:var(--accent-strong)}.button-primary:hover{background:var(--accent-deep)}.button-secondary{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface)}.button-danger{color:#fff;background:var(--danger)}.form-error{width:100%;color:var(--danger);font-weight:700}.shopping-item-editing{min-height:0;padding:.75rem;display:block}.shopping-item-editing .item-form{margin:0}button:focus-visible,input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.delete-dialog{border:1px solid var(--border-strong);width:min(100% - 2rem,28rem);color:var(--text-primary);background:var(--surface);padding:1.5rem}.delete-dialog::backdrop{background:#1b231f94}.delete-dialog h2{margin-top:0}.delete-dialog p{color:var(--text-muted)}.dialog-actions{flex-wrap:wrap;gap:.75rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=44rem){.app-shell{width:100%;height:100dvh;min-height:0;padding:calc(1rem + env(safe-area-inset-top)) calc(.75rem + env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) calc(.75rem + env(safe-area-inset-left));flex-direction:column;display:flex;position:relative;overflow:hidden}.app-list-nav,.app-header{flex-shrink:0}.app-header{padding:.75rem .25rem 1rem;position:static}.task-sections{overflow-anchor:none;overscroll-behavior-y:contain;flex:1;align-content:start;gap:1rem;min-height:0;position:relative;overflow-y:auto}.add-item-panel{flex-shrink:0;margin:.75rem .25rem 0;padding:.75rem;box-shadow:0 -.5rem 1.5rem #18231d1f}.item-form{flex-wrap:nowrap}.add-item-panel .item-form{grid-template-columns:minmax(0,1fr) auto;display:grid}.add-item-panel .form-error{grid-column:1/-1;margin:0}.item-form input{min-height:3.5rem;font-size:1rem}.item-form .button-primary{min-width:5.25rem;min-height:3.5rem}.item-form .button-secondary{display:none}}@media (width<=24rem){.shopping-item{grid-template-columns:3.25rem minmax(0,1fr) auto auto}.completion-control{width:3.25rem}}.settings-members{margin:0;padding:0;list-style:none}.settings-members li{border-top:1px solid var(--border-default);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.settings-members li>div:first-child{gap:.25rem;display:grid}.settings-members small{color:var(--text-muted)}.settings-actions{flex-wrap:wrap;gap:.5rem;display:flex}.settings-danger,.settings-confirm{border-color:var(--danger)}.settings-confirm p{line-height:1.5}:root{color:#18231d;background:var(--page-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--surface:#fffef9;--page-background:#f4f2eb;--surface-muted:#f0f1e9;--text-primary:#18231d;--text-muted:#59645d;--border-default:#d6d8cc;--border-strong:#949c90;--accent:#d8b558;--accent-strong:#315f4b;--accent-deep:#214536;--danger:#a4382c;--focus-ring:#d2781d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:20rem;min-height:100vh;margin:0}button,input,textarea{font:inherit}
