:root{--font-sans:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--text-sm:.825rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000001a;--header-height:3.5rem;--tab-bar-height:3.5rem;--content-max-width:72rem;--touch-target:44px;--page-gutter:var(--space-4);--gutter-left:max(var(--page-gutter), env(safe-area-inset-left,0px));--gutter-right:max(var(--page-gutter), env(safe-area-inset-right,0px));--footer-bottom:max(var(--space-4), env(safe-area-inset-bottom,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f7f1;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-hover:#edf3e8;--color-border:#dde5d6;--color-border-strong:#c2cfb6;--color-text:#1e2519;--color-text-muted:#5b6650;--color-primary:#2e7d32;--color-primary-hover:#276b2b;--color-on-primary:#fff;--color-primary-soft:#e2f0e0;--color-success:#256b28;--color-warning:#855800;--color-danger:#c62828;--color-danger-soft:#fbe9e9;--color-on-danger:#fff;--btn-primary-bg:var(--color-primary);--btn-primary-bg-hover:var(--color-primary-hover);--btn-primary-color:var(--color-on-primary);--btn-primary-border:transparent;--btn-danger-bg:var(--color-danger);--btn-danger-bg-hover:color-mix(in srgb, var(--color-danger) 92%, black);--btn-danger-color:var(--color-on-danger);--btn-danger-border:transparent;--btn-primary-glow:none;--btn-danger-glow:none;--btn-ghost-glow:none}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-hover:#eef1f6;--color-border:#e2e6ec;--color-border-strong:#c7cfd9;--color-text:#21262e;--color-text-muted:#5d6672;--color-primary:#2563eb;--color-primary-hover:#1d4fd8;--color-on-primary:#fff;--color-primary-soft:#e7eefc;--color-success:#166534;--color-warning:#855800;--color-danger:#b3261e;--color-danger-soft:#fdecea;--color-on-danger:#fff}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#000;--color-surface:#0e0e0e;--color-surface-raised:#161616;--color-surface-hover:#1e1e1e;--color-border:#262626;--color-border-strong:#3d3d3d;--color-text:#ececec;--color-text-muted:#9e9e9e;--color-primary:#7ac97f;--color-primary-hover:#93d696;--color-on-primary:#06130a;--color-primary-soft:#14210f;--color-success:#7ac97f;--color-warning:#e0b34c;--color-danger:#ef7b72;--color-danger-soft:#2a1513;--color-on-danger:#1f0a09;--btn-primary-bg:transparent;--btn-primary-bg-hover:var(--color-primary-soft);--btn-primary-color:var(--color-primary);--btn-primary-border:var(--color-primary);--btn-danger-bg:transparent;--btn-danger-bg-hover:var(--color-danger-soft);--btn-danger-color:var(--color-danger);--btn-danger-border:var(--color-danger);--btn-primary-glow:0 0 16px color-mix(in srgb, var(--color-primary) 45%, transparent);--btn-danger-glow:0 0 16px color-mix(in srgb, var(--color-danger) 40%, transparent);--btn-ghost-glow:0 0 16px color-mix(in srgb, var(--color-text) 25%, transparent);--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #0009}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);min-height:100dvh;margin:0;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{overflow-wrap:anywhere;margin:0;font-weight:650;line-height:1.2}p{margin:0}a{color:var(--color-primary)}button,input,select,textarea{font:inherit;color:inherit}code{font-family:var(--font-mono);background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.9em}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:2px}.muted{color:var(--color-text-muted)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--space-3);display:grid}.skip-link{z-index:100;padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-4);top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:50;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.app-header__inner{align-items:center;gap:var(--space-4);min-height:var(--header-height);width:100%;max-width:var(--content-max-width);padding-left:var(--gutter-left);padding-right:var(--gutter-right);margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-2);min-height:var(--touch-target);color:var(--color-text);font-weight:700;font-size:var(--text-lg);white-space:nowrap;text-decoration:none;display:inline-flex}.brand__icon{width:1.5rem;height:1.5rem;color:var(--color-primary);flex:none}.brand__name{letter-spacing:-.01em}.app-nav{align-items:center;gap:var(--space-1);flex:1;min-width:0;display:flex}.app-nav__link{min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--color-text-muted);white-space:nowrap;align-items:center;font-weight:550;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}.app-nav__link:hover{color:var(--color-text);background:var(--color-surface-hover)}.app-nav__link.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.app-header__actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.tab-bar,.app-nav__theme,.nav-toggle,.nav-backdrop{display:none}.app-main{width:100%;max-width:var(--content-max-width);padding:var(--space-5) var(--gutter-right) var(--space-8) var(--gutter-left);flex:1;min-width:0;margin:0 auto}.app-footer{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--gutter-right) var(--footer-bottom) var(--gutter-left);border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.page{gap:var(--space-5);max-width:52rem;display:grid}.page--wide{max-width:none}.page--center{padding-top:var(--space-8);grid-template-columns:minmax(0,1fr);justify-items:center}.page--center>.card{width:100%;max-width:28rem}.page__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.page__title{font-size:var(--text-2xl)}.dashboard-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767.98px){.app-header__actions .theme-switcher{display:none}.app-nav__theme{margin:var(--space-2) var(--space-3) 0;padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.app-nav__theme .theme-switcher{justify-content:space-between;width:100%}.app-nav__theme .theme-switcher__select{flex:1}.nav-toggle{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;background:0 0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:5px;padding:11px;display:inline-flex}.nav-toggle__bar{background:var(--color-text);border-radius:2px;width:100%;height:2px;transition:transform .15s,opacity .15s;display:block}.nav-toggle__bar.is-open:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle__bar.is-open:nth-child(2){opacity:0}.nav-toggle__bar.is-open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-backdrop{z-index:45;background:#00000073;display:block;position:fixed;inset:0}.app-nav{padding:var(--space-2) var(--gutter-right) var(--space-3) var(--gutter-left);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.app-nav.is-open{display:flex}.app-nav__link{border-radius:var(--radius-md);min-height:48px}.tab-bar{z-index:40;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar__link{min-height:var(--tab-bar-height);padding:var(--space-2) var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:550;text-decoration:none;transition:background-color .12s,color .12s;display:flex;position:relative}.tab-bar__link:hover{color:var(--color-text);background:var(--color-surface-hover)}.tab-bar__link.is-active{color:var(--color-primary)}.tab-bar__link.is-active:before{content:"";border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--color-primary);width:2rem;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.app-main{padding-bottom:calc(var(--space-8) + var(--tab-bar-height) + env(safe-area-inset-bottom,0px))}.app-footer{padding-bottom:calc(var(--footer-bottom) + var(--tab-bar-height))}}@media (width<=380px){:root{--page-gutter:var(--space-3)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;container-type:inline-size}.card__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0;flex-wrap:wrap;display:flex}.card__title{font-size:var(--text-lg)}.card__body{padding:var(--space-4) var(--space-5) var(--space-5);min-width:0}.collapsible__toggle{align-items:center;gap:var(--space-2);min-height:var(--touch-target);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.collapsible__chevron{color:var(--color-text-muted);flex:none;transition:transform .15s}.collapsible__toggle[aria-expanded=true] .collapsible__chevron{transform:rotate(90deg)}.collapsible--closed .card__header{padding-bottom:var(--space-4)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-color);border-color:var(--btn-primary-border)}.btn--primary:hover{background:var(--btn-primary-bg-hover)}.btn--primary:hover,.btn--primary:active,.btn--primary:focus-visible{box-shadow:var(--btn-primary-glow)}.btn--ghost{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.btn--ghost:hover{background:var(--color-surface-hover)}.btn--ghost:hover,.btn--ghost:active,.btn--ghost:focus-visible{box-shadow:var(--btn-ghost-glow)}.badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-hover);font-size:var(--text-sm);padding:.25rem .75rem;font-weight:550;display:inline-flex}.badge__dot{background:currentColor;border-radius:50%;flex:none;width:.5rem;height:.5rem}.badge--ok{color:var(--color-success);background:var(--color-primary-soft);border-color:#0000}.badge--warn{color:var(--color-warning)}.badge--error{color:var(--color-danger);background:var(--color-danger-soft);border-color:#0000}.badge--muted{color:var(--color-text-muted)}.status-list{gap:var(--space-3);margin:0;display:grid}.status-list__row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.status-list__row dt{color:var(--color-text-muted);font-weight:600}.status-list__row dd{margin:0}.status-list__error{color:var(--color-danger);font-size:var(--text-sm);overflow-wrap:anywhere}.empty-state{gap:var(--space-1);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);display:grid}.empty-state__title{font-weight:600}.empty-state__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.theme-switcher{align-items:center;gap:var(--space-2);min-height:var(--touch-target);display:inline-flex}.theme-switcher__label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:550}.theme-switcher__select{min-height:calc(var(--touch-target) - 10px);padding:0 var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);cursor:pointer}.settings-intro{margin-bottom:var(--space-4)}.theme-picker{border:0;margin:0;padding:0}.theme-picker__legend{margin-bottom:var(--space-3);padding:0;font-weight:600}.theme-picker__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.theme-option{gap:var(--space-1) var(--space-2);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;min-height:var(--touch-target);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;transition:border-color .12s,background-color .12s;display:grid;position:relative}.theme-option:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.theme-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.theme-option input{opacity:0;pointer-events:none;position:absolute}.theme-option:has(input:focus-visible){outline:3px solid var(--color-primary);outline-offset:2px}.theme-option__swatch{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);grid-row:1/span 2;width:2.5rem;height:2.5rem}.theme-option__name{font-weight:650}.theme-option__desc{font-size:var(--text-sm);color:var(--color-text-muted)}.field{gap:var(--space-1);min-width:0;display:grid}.field__label{font-size:var(--text-sm);font-weight:600}.field__input{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.field__input::placeholder{color:var(--color-text-muted)}.field__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.form-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.remember-me{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;display:flex}.remember-me input{accent-color:var(--color-primary)}.form-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);overflow-wrap:anywhere}.form-alert--error{color:var(--color-danger);background:var(--color-danger-soft)}.form-alert--success{color:var(--color-success);background:var(--color-primary-soft)}.form-alert--info{color:var(--color-text-muted);background:var(--color-surface-hover)}.btn--sm{min-height:2rem;padding:0 var(--space-2);font-size:var(--text-sm)}.btn--danger{background:var(--btn-danger-bg);color:var(--btn-danger-color);border-color:var(--btn-danger-border)}.btn--danger:hover{background:var(--btn-danger-bg-hover)}.btn--danger:hover,.btn--danger:active,.btn--danger:focus-visible{box-shadow:var(--btn-danger-glow)}.auth-page{min-height:100dvh;padding:var(--space-5) var(--space-4);place-items:center;display:grid}.auth-card{gap:var(--space-5);width:100%;max-width:26rem;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.auth-card form{gap:var(--space-4);display:grid}.auth-card__header{gap:var(--space-3);display:grid}.auth-card__title{font-size:var(--text-xl)}.auth-card__subtitle{font-size:var(--text-sm)}.auth-links{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.auth-forgot{margin-top:calc(-1 * var(--space-1));text-align:right;font-size:var(--text-sm)}.shared-template__items{max-height:16rem;overflow-y:auto}.user-menu{position:relative}.user-menu__toggle{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}.user-menu__toggle:hover{background:var(--color-surface-hover)}.user-menu__avatar{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);font-weight:700;font-size:var(--text-sm);border-radius:50%;place-items:center;display:grid}.user-menu__panel{top:calc(100% + var(--space-2));z-index:60;gap:var(--space-1);min-width:16rem;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:grid;position:absolute;right:0}.user-menu__identity{padding:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border);min-width:0;display:grid}.user-menu__name{overflow-wrap:anywhere;font-weight:650}.user-menu__email{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.user-menu__item{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;font-weight:550;text-decoration:none;display:flex}.user-menu__item:hover{background:var(--color-surface-hover)}.user-menu__item--danger{color:var(--color-danger)}.settings-account{gap:var(--space-4)}.settings-divider{border:0;border-top:1px solid var(--color-border);margin:0}.settings-subtitle{font-size:var(--text-base)}.settings-subtitle--danger{color:var(--color-danger)}.list-stack{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.list-row{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);flex-wrap:wrap;min-width:0;transition:background-color .12s;display:flex;position:relative}.list-row:hover{background:var(--color-surface-hover)}.list-row__fav{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;transition:color .12s,background-color .12s;display:inline-flex}.list-row__fav:hover{background:var(--color-surface);color:var(--color-warning)}.list-row__fav.is-fav{color:var(--color-warning)}.list-row .list-row__fav{width:2rem;height:2rem}.list-row__main{flex:1;gap:.1rem;min-width:0;display:grid}.list-row__name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;overflow:hidden}.list-row__name:hover{color:var(--color-primary);text-decoration:underline}.list-row__meta{font-size:var(--text-sm);color:var(--color-text-muted)}.list-row__actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.list-row__share{flex:100%;min-width:0}.list-row__reorder{align-items:center;gap:2px;display:inline-flex}.list-row__move{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.list-row__move:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.list-row__move:disabled{opacity:.35;cursor:default}.row-drag-handle{width:2rem;height:2rem;color:var(--color-text-muted);opacity:.45;cursor:grab;border-radius:var(--radius-sm);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.row-drag-handle:hover{opacity:1;background:var(--color-surface)}.row-drag-handle:active{cursor:grabbing}.row-drag-handle--static{opacity:0;cursor:default}.list-row:has(>.row-drag-handle){padding-left:calc(2rem + var(--space-2) * 2)}.list-row>.row-drag-handle{height:auto;position:absolute;top:0;bottom:0;left:0}li.is-dragging{opacity:.4;-webkit-user-select:none;user-select:none;cursor:grabbing}li.is-drop-above,li.is-drop-below{position:relative}li.is-drop-above:before,li.is-drop-below:after{content:"";left:var(--space-2);right:var(--space-2);border-radius:var(--radius-full);background:var(--color-primary);pointer-events:none;height:2px;position:absolute}li.is-drop-above:before{top:-3px}li.is-drop-below:after{bottom:-3px}.dropdown{display:inline-flex;position:relative}.dropdown__trigger{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.dropdown__trigger:hover{background:var(--color-surface-hover);color:var(--color-text)}.dropdown__panel{top:calc(100% + var(--space-1));z-index:60;min-width:9rem;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-md);gap:2px;display:grid;position:absolute;overflow-y:auto}.dropdown__panel--up{top:auto;bottom:calc(100% + var(--space-1))}.dropdown__panel--right{right:0}.dropdown__panel--left{left:0}.dropdown__item{align-items:center;gap:var(--space-2);width:100%;min-height:2.25rem;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;font-weight:550;display:flex}.dropdown__item svg{flex:none}.dropdown__item:hover:not(:disabled){background:var(--color-surface-hover)}.dropdown__item:disabled{opacity:.5;cursor:default}.dropdown__item--danger{color:var(--color-danger)}.modal-overlay{z-index:100;padding:var(--space-4);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.modal{gap:var(--space-4);width:100%;max-width:24rem;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid}.modal__title{font-size:var(--text-lg)}.modal__message{color:var(--color-text-muted);overflow-wrap:anywhere}.modal__actions{justify-content:flex-end;gap:var(--space-3);display:flex}.new-list-form{gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.new-list-form__row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.new-list-form__row .field__input{flex:1;min-width:12rem}.list-back{align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-weight:550;text-decoration:none;display:inline-flex}.list-back:hover{color:var(--color-text);background:var(--color-surface-hover)}.list-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.list-title-row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.list-title{font-size:var(--text-2xl);overflow-wrap:anywhere}.list-desc-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.list-desc{overflow-wrap:anywhere;flex:1;min-width:0}.list-desc-input{width:100%;padding:var(--space-2) var(--space-3);resize:vertical}.list-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.sort-select{align-items:center;gap:var(--space-2);min-height:var(--touch-target);display:inline-flex}.sort-select__label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:550}.sort-select__control{min-height:calc(var(--touch-target) - 10px);padding:0 var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);cursor:pointer}.item-form{gap:var(--space-3);grid-template-columns:1fr auto;grid-template-areas:"fields actions""details details""error error";align-items:center;display:grid}.item-form__fields{align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-area:fields;min-width:0;display:flex}.item-form__actions{align-items:center;gap:var(--space-2);grid-area:actions;display:flex}.item-form__error{grid-area:error}.item-form__row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.item-form__name{flex:2;min-width:10rem}.item-form__qty{flex:none;width:4.5rem}.item-form__unit{flex:none;width:5.5rem}.item-form__cat{flex:1;min-width:8rem}.item-form__details{gap:var(--space-3);grid-area:details;grid-template-columns:1fr;display:grid}.item-form__notes{padding:var(--space-2) var(--space-3);resize:vertical}@media (width>=768px){.item-form__details{grid-template-columns:repeat(2,1fr)}.item-form__details .field:first-child{grid-column:1/-1}}@media (width<=767.98px){.item-form{grid-template-columns:1fr;grid-template-areas:"fields""details""actions""error"}}.quick-add{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-hover);display:grid}.quick-add__form{gap:var(--space-2);grid-template-areas:"name""qty""notes""actions";display:grid}.quick-add__form--basic{grid-template-areas:"name""actions"}@media (width>=768px){.quick-add__form{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name qty""notes actions";align-items:start}}.quick-add__name-wrap{grid-area:name;min-width:0;position:relative}.quick-add__qty-unit{gap:var(--space-2);grid-area:qty;display:flex}.quick-add__notes{grid-area:notes}.quick-add__actions{grid-area:actions}.quick-add__qty{flex:none;width:4.5rem}.quick-add__unit{flex:none;width:5.5rem}.quick-add__list{z-index:60;margin:var(--space-1) 0 0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:18rem;box-shadow:var(--shadow-md);list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.quick-add__option{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.quick-add__option:hover,.quick-add__option.is-active{background:var(--color-surface-hover)}.quick-add__option-name{overflow-wrap:anywhere;font-weight:600}.quick-add__option-meta{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap;flex:none}.item-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.item-row{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);min-height:var(--touch-target);min-width:0;transition:background-color .12s;display:flex}.item-row:hover{background:var(--color-surface-hover)}.item-row--editing{background:0 0;padding:0;display:block}.item-row__check{appearance:none;border:2px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;margin:0;transition:background-color .12s,border-color .12s;display:grid}.item-row__check:hover{border-color:var(--color-primary)}.item-row__check:checked{background:var(--color-primary);border-color:var(--color-primary)}.item-row__check:checked:after{content:"";border:solid var(--color-on-primary);border-width:0 2.5px 2.5px 0;width:7px;height:12px;margin-top:-3px;transform:rotate(45deg)}.item-row__main{flex:1;gap:.1rem;min-width:0;display:grid}.item-row__line{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.item-row__side{flex:none;justify-items:end;gap:.1rem;min-width:0;display:grid}.item-row__line-side{align-items:baseline;gap:var(--space-2);min-width:0;display:inline-flex}.item-row__name{overflow-wrap:anywhere;min-width:0;font-weight:600}.item-row__qty{color:var(--color-text-muted);white-space:nowrap;font-weight:550}.item-row__price{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap}.item-row__notes{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere;min-width:0}.item-row__cat{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-hover);max-width:9rem;color:var(--color-text-muted);flex:none;align-items:center;gap:.4em;margin-left:auto;padding:.15rem .6rem;font-size:.8rem;display:inline-flex;overflow:hidden}.item-row__cat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-row__cat .category-icon{margin-right:0}.item-row__actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.item-row__btns,.list-row__btns,.category-row__btns{display:none}@container (width>=30rem){.item-row__btns,.list-row__btns,.category-row__btns{align-items:center;gap:var(--space-1);display:inline-flex}.item-row__actions .dropdown,.category-row__actions .dropdown{display:none}}.item-row__reorder{align-items:center;gap:2px;display:inline-flex}.item-row.is-purchased .item-row__name{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.item-row.is-purchased .item-row__qty,.item-row.is-purchased .item-row__price{opacity:.7}.item-groups{gap:var(--space-4);display:grid}.item-group__title{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:650;display:flex}.item-group__count{border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);text-transform:none;letter-spacing:0;padding:.05rem .55rem;font-size:.75rem;font-weight:600}.shopping-title{font-size:var(--text-2xl);overflow-wrap:anywhere}.shopping-progress{gap:var(--space-2);display:grid}.shopping-progress__label{font-weight:650}.shopping-progress__bar{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-hover);height:.75rem;overflow:hidden}.shopping-progress__fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width .15s}.shopping-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.shopping-row{min-width:0}.shopping-row__label{align-items:center;gap:var(--space-3);min-height:3.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:background-color .12s,border-color .12s;display:flex}.shopping-row__label:hover{background:var(--color-surface-hover)}.shopping-row__check{appearance:none;border:2px solid var(--color-border-strong);background:var(--color-surface);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;margin:0;transition:background-color .12s,border-color .12s;display:grid}.shopping-row__check:hover{border-color:var(--color-primary)}.shopping-row__check:checked{background:var(--color-primary);border-color:var(--color-primary)}.shopping-row__check:checked:after{content:"";border:solid var(--color-on-primary);border-width:0 3px 3px 0;width:8px;height:14px;margin-top:-4px;transform:rotate(45deg)}.shopping-row__main{flex:1;gap:.15rem;min-width:0;display:grid}.shopping-row__side{flex:none;justify-items:end;gap:.15rem;min-width:0;display:grid}.shopping-row__name{overflow-wrap:anywhere;min-width:0;font-weight:650}.shopping-row__qty{color:var(--color-text-muted);white-space:nowrap;font-weight:550}.shopping-row__notes{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere;min-width:0}.shopping-row__cat{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-hover);max-width:9rem;color:var(--color-text-muted);flex:none;align-items:center;gap:.4em;margin-left:auto;padding:.15rem .6rem;font-size:.8rem;display:inline-flex;overflow:hidden}.shopping-row__cat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shopping-row__cat .category-icon{margin-right:0}.shopping-row.is-purchased .shopping-row__name{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.category-manager{gap:var(--space-4);display:grid}.category-manager__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.category-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.category-row{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);min-height:var(--touch-target);min-width:0;transition:background-color .12s;display:flex}.category-row:hover{background:var(--color-surface-hover)}.category-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:550;overflow:hidden}.category-icon{object-fit:contain;vertical-align:-.2em;flex:none;margin-right:.45em}.cat-select{min-width:0;display:block;position:relative}.cat-select__icon{left:var(--space-3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.cat-select__icon .category-icon{margin-right:0}.cat-select--has-icon .field__input{padding-left:calc(var(--space-3) + 1.75rem)}.category-row__badge{margin-left:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);white-space:nowrap;padding:.1rem .55rem;font-size:.7rem;font-weight:600}.category-row__actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.category-row__rename{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;min-width:0;display:flex}.category-row__rename .field__input{flex:1;min-width:10rem}.category-add{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.category-add .field__input{flex:1;min-width:10rem}.list-row__star{width:var(--touch-target);height:var(--touch-target);color:var(--color-warning);flex:none;justify-content:center;align-items:center;display:inline-flex}@container (width<=29.99rem){.list-row__actions{flex:100%;justify-content:flex-end}.list-row__actions:has(>.dropdown):not(:has(>.btn)):not(:has(>.list-row__reorder)){flex:none}.list-row__actions:has(>.list-row__btns>.btn--primary) .list-row__btns{align-items:center;gap:var(--space-1);display:inline-flex}.list-row__actions:has(>.list-row__btns>.btn--primary) .list-row__btns .btn--primary{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.list-row__actions:has(>.list-row__btns>.btn--primary) .list-row__btns .btn--primary:hover{background:var(--color-surface-hover)}.list-row__reorder,.tpl-row .item-row__reorder{display:none}.list-row__share-btn{min-width:2.25rem;padding:0 var(--space-1)}.list-row__share-btn .list-row__share-label{display:none}.list-row__actions:has(>.list-row__reorder) .list-row__reorder{margin-right:auto}.item-row__actions,.category-row__actions{display:contents}.item-row__reorder{order:-1}.row-drag-handle{order:-2;width:1.5rem;height:1.5rem}.list-row{padding-left:var(--space-1);padding-right:var(--space-1)}.list-row:has(>.row-drag-handle){padding-left:calc(1.5rem + var(--space-1) + var(--space-2))}.list-row__fav,button.list-row__star{width:32px;height:32px}span.list-row__star{width:28px;height:28px}.list-row__name,.category-row__name{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}}.list-row__star button,button.list-row__star{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;transition:background-color .12s}button.list-row__star:hover{background:var(--color-surface-hover)}.list-row--editing{background:0 0;padding:0;display:block}.fav-search{max-width:24rem}.fav-panel{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-hover);display:grid}.fav-panel__legend{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.fav-panel__list{gap:2px;max-height:16rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.fav-panel__row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);min-width:0;display:flex}.fav-panel__main{flex:1;gap:.1rem;min-width:0;display:grid}.fav-panel__name{overflow-wrap:anywhere;font-weight:600}.fav-panel__meta{font-size:var(--text-sm);color:var(--color-text-muted)}.history-entry{gap:var(--space-2);display:grid}.history-entry__chevron{transition:transform .15s}.history-entry__chevron.is-open{transform:rotate(90deg)}.history-items{padding:0 var(--space-2);gap:2px;margin:0;list-style:none;display:grid}.history-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-hover);min-width:0;display:flex}.history-item__name{overflow-wrap:anywhere;font-weight:600}.history-item__meta{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere;flex:1}.history-item__price{font-size:var(--text-sm);color:var(--color-text-muted);flex:none}.history-item__status{color:var(--color-text-muted);text-transform:capitalize;flex:none;font-size:.78rem;font-weight:600}.history-item__status.is-done{color:var(--color-success)}.history-item.is-purchased .history-item__name{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.tpl-row{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);min-height:var(--touch-target);min-width:0;transition:background-color .12s;display:flex}.tpl-row:hover{background:var(--color-surface-hover)}.tpl-row--editing{background:0 0;padding:0;display:block}.add-to-list{color:inherit;justify-content:center;align-items:center;display:inline-flex}.role-badge{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-hover);text-transform:capitalize;letter-spacing:.02em;color:var(--color-text-muted);vertical-align:middle;align-items:center;padding:.05rem .5rem;font-size:.72rem;font-weight:650;display:inline-flex}.role-badge--owner{color:var(--color-primary);background:var(--color-primary-soft);border-color:#0000}.role-badge--editor{color:var(--color-warning)}.role-badge--unregistered{color:var(--color-warning);border-style:dashed}.list-row__name .role-badge{margin-left:var(--space-2)}.list-meta__shared{color:var(--color-primary);font-weight:550}.btn__count{border-radius:var(--radius-full);background:var(--color-primary);min-width:1.25rem;height:1.25rem;color:var(--color-on-primary);justify-content:center;align-items:center;padding:0 .35rem;font-size:.72rem;font-weight:700;display:inline-flex}.btn--ghost.is-active{background:var(--color-primary-soft);color:var(--color-primary)}.share-panel{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-hover);display:grid}.share-panel__hint,.share-panel__legend,.share-panel__empty{font-size:var(--text-sm);margin:0}.share-member-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.share-member{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);display:flex}.share-member__avatar{background:var(--color-primary-soft);width:2rem;height:2rem;color:var(--color-primary);font-weight:700;font-size:var(--text-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.share-member__info{flex:1;gap:.1rem;min-width:0;display:grid}.share-member__name{overflow-wrap:anywhere;font-weight:600}.share-member__email{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.share-member__remove{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.share-member__remove:hover{background:var(--color-danger-soft);color:var(--color-danger)}.share-member__role{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);max-width:7.5rem;color:var(--color-text);font-size:var(--text-sm);cursor:pointer;flex:none;padding:.3rem .4rem;font-weight:550}.share-member__role:disabled{opacity:.6;cursor:default}.share-invite{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.share-invite__email{flex:2;min-width:12rem}.share-invite__role{flex:1;min-width:8rem}.role-badge--pending{color:var(--color-text-muted);background:var(--color-surface-hover);border-style:dashed}.share-member--pending{border-style:dashed}.share-panel__subheading{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:650}.share-panel__trusted{font-size:var(--text-sm);margin:0}.invitation-row__actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.trust-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.trust-list__row{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);display:flex}.trust-list__info{flex:1;gap:.1rem;min-width:0;display:grid}.trust-list__name{font-weight:600}.trust-list__email{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.search-box{margin-bottom:var(--space-4);position:relative}.search-box__icon{left:var(--space-3);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-box__input{width:100%;min-height:var(--touch-target);padding-left:2.5rem}.search-results{gap:2px;margin:0;padding:0;list-style:none;display:grid}.search-result{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);flex-direction:column;gap:2px;min-width:0;display:flex}.search-result:hover{background:var(--color-surface-hover)}.search-result__name{color:var(--color-text);overflow-wrap:anywhere;font-weight:550;text-decoration:none}.search-result:hover .search-result__name{color:var(--color-primary)}.search-result__subtitle{color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.list-total{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.list-total strong{color:var(--color-text)}.shopping-progress__total{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.shopping-progress__total strong{color:var(--color-text)}.notif-bell{display:inline-flex;position:relative}.notif-bell__toggle{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex;position:relative}.notif-bell__toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.notif-bell__badge{border-radius:var(--radius-full);background:var(--color-danger);min-width:1.15rem;height:1.15rem;color:var(--color-on-danger);justify-content:center;align-items:center;padding:0 .3rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px}.notif-bell__panel{top:calc(100% + var(--space-2));z-index:60;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(24rem,100vw - 2rem);max-height:min(28rem,70vh);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;right:0}.notif-bell__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.notif-bell__title{font-size:var(--text-base)}.notif-bell__markall{align-items:center;gap:var(--space-1);color:var(--color-primary);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:.25rem .5rem;font-weight:600;display:inline-flex}.notif-bell__markall:hover{background:var(--color-primary-soft)}.notif-bell__loading,.notif-bell__empty{padding:var(--space-4)}.notif-bell__list{padding:var(--space-2);gap:2px;min-height:0;margin:0;list-style:none;display:grid;overflow-y:auto}.notif-bell__item{align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);display:flex}.notif-bell__item.is-unread{background:var(--color-primary-soft)}.notif-bell__body{align-items:flex-start;gap:var(--space-2);text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex:1;padding:0;display:flex}.notif-bell__body:disabled{cursor:default}.notif-bell__icon{background:var(--color-surface-hover);width:1.75rem;height:1.75rem;color:var(--color-text-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.notif-bell__icon--item_added,.notif-bell__icon--item_purchased,.notif-bell__icon--list_invite{color:var(--color-primary);background:var(--color-primary-soft)}.notif-bell__icon--item_removed{color:var(--color-warning)}.notif-bell__text{flex:1;gap:.1rem;min-width:0;display:grid}.notif-bell__message{font-size:var(--text-sm);overflow-wrap:anywhere}.notif-bell__time{color:var(--color-text-muted);font-size:.75rem}.notif-bell__dismiss{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.notif-bell__dismiss:hover{background:var(--color-surface-hover);color:var(--color-danger)}.settings-prefs{gap:var(--space-4)}.settings-toggles{gap:var(--space-1)}.toggle{align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex}.toggle:hover{background:var(--color-surface-hover)}.toggle input{appearance:none;border-radius:var(--radius-full);background:var(--color-border-strong);cursor:pointer;flex:none;width:2rem;height:1.15rem;transition:background-color .12s;position:relative}.toggle input:after{content:"";background:var(--color-surface);border-radius:50%;width:.9rem;height:.9rem;transition:transform .12s;position:absolute;top:2px;left:2px}.toggle input:checked{background:var(--color-primary)}.toggle input:checked:after{transform:translate(.85rem)}.toggle__label{font-weight:550}.admin-tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.admin-tab{align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-4);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;font-weight:600;display:inline-flex}.admin-tab:hover{color:var(--color-text)}.admin-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-stats{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.admin-stats{grid-template-columns:repeat(2,1fr)}}.admin-stat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));margin:0;display:grid}.admin-stat{gap:.15rem;display:grid}.admin-stat__label{font-size:var(--text-sm);color:var(--color-text-muted)}.admin-stat__value{font-size:var(--text-xl);font-weight:700}.admin-user-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.admin-user{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.admin-user.is-disabled{opacity:.7}.admin-user__main{flex:1;gap:.1rem;min-width:12rem;display:grid}.admin-user__name{font-weight:650}.admin-user__email{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.admin-user__meta{color:var(--color-text-muted);font-size:.78rem}.admin-user__badges{gap:var(--space-1);flex:none;display:flex}.admin-user__actions{gap:var(--space-1);flex-wrap:wrap;flex:none;display:flex}.admin-users-toolbar{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.admin-users-toolbar__search{flex:1;min-width:0;margin-bottom:0}.admin-users-toolbar__filter{flex:none;width:10rem}.admin-users-pagination{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.admin-users-pagination__info{font-size:var(--text-sm);color:var(--color-text-muted)}.admin-report-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.admin-report{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.admin-report.is-resolved{opacity:.7}.admin-report__main{flex:1;gap:.25rem;min-width:0;display:grid}.admin-report__byline{font-size:var(--text-sm);font-weight:600}.admin-report__message{overflow-wrap:anywhere}.admin-report__resolved{font-size:var(--text-sm)}.offline-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-sm);text-align:center;font-weight:550;display:flex}.offline-banner svg{color:var(--color-warning);flex:none}.sync-status{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-hover);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-sm);margin:0;font-weight:550;display:flex}.sync-status__spinner{border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);border-radius:50%;flex:none;width:1rem;height:1rem;animation:.7s linear infinite shopster-spin}@keyframes shopster-spin{to{transform:rotate(360deg)}}@media (width<=767.98px){.card__header{padding:var(--space-4) var(--space-4) 0}.card__body{padding:var(--space-4)}input,select,textarea{font-size:16px}.item-row__check{width:24px;height:24px}.dropdown__trigger{width:var(--touch-target);height:var(--touch-target)}.dropdown__item{min-height:var(--touch-target)}.btn--sm{min-height:36px}.sort-select__control,.theme-switcher__select{min-height:var(--touch-target)}.category-row__badge,.notif-bell__badge,.btn__count,.role-badge,.item-group__count,.history-item__status,.admin-user__meta{font-size:.75rem}.admin-users-toolbar{flex-wrap:wrap}.admin-users-toolbar__search,.admin-users-toolbar__filter{flex:100%;width:auto}.list-row__move,.notif-bell__dismiss{width:2.5rem;height:2.5rem}.notif-bell__panel{top:calc(var(--header-height) + var(--space-1));left:var(--gutter-left);right:var(--gutter-right);width:auto;max-height:calc(100dvh - var(--header-height) - var(--tab-bar-height) - env(safe-area-inset-bottom,0px) - 2 * var(--space-2));position:fixed}.shopping-row__label{min-height:4rem}.list-header-card .card__title{display:none}.quick-add__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.share-member:has(.share-member__role){flex-wrap:wrap}.share-member:not(.share-member--pending):has(.share-member__role) .share-member__info{flex-basis:calc(100% - 2rem - var(--space-3))}.share-member:has(.share-member__role) .share-member__role{max-width:none;margin-left:calc(2rem + var(--space-3));flex:auto}.share-member:has(.share-member__role) .share-member__remove{margin-left:auto}.auth-page{padding-top:max(var(--space-8), env(safe-area-inset-top,0px));place-items:start center}}
