:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;--text-large-title:2.125rem;--text-title-1:1.75rem;--text-title-2:1.375rem;--text-title-3:1.25rem;--text-headline:1.0625rem;--text-body:1.0625rem;--text-callout:1rem;--text-subhead:.9375rem;--text-footnote:.8125rem;--text-caption-1:.75rem;--tracking-tight:-.022em;--tracking-snug:-.014em;--tracking-normal:0;--tracking-wide:.01em;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.35;--leading-relaxed:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.125rem;--space-2:.25rem;--space-3:.5rem;--space-4:.75rem;--space-5:1rem;--space-6:1.25rem;--space-7:1.5rem;--space-8:2rem;--space-9:2.5rem;--space-10:3rem;--space-12:4rem;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-2xl:28px;--radius-capsule:999px;--shadow-1:0 1px 2px #0000000a, 0 1px 1px #0000000f;--shadow-2:0 2px 8px #0000000f, 0 1px 2px #00000014;--shadow-3:0 8px 24px #0000001a, 0 2px 6px #00000014;--shadow-4:0 16px 48px #00000024, 0 4px 12px #0000001a;--shadow-glass:0 8px 32px #0000002e;--ease-out:cubic-bezier(.23,1,.32,1);--ease-ios:cubic-bezier(.32,.72,0,1);--ease-snappy:cubic-bezier(.4,0,.2,1);--duration-instant:.1s;--duration-fast:.2s;--duration-base:.3s;--duration-slow:.45s;--blue:#007aff;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--accent:#16815f;--gray-1:#8e8e93;--gray-2:#aeaeb2;--gray-3:#c7c7cc;--gray-4:#d1d1d6;--gray-5:#e5e5ea;--gray-6:#f2f2f7;--bg:#fff;--bg-secondary:#f2f2f7;--bg-tertiary:#fff;--bg-grouped:#f2f2f7;--label:#000;--label-secondary:#3c3c4399;--label-tertiary:#3c3c434d;--label-quaternary:#3c3c432e;--separator:#3c3c434a;--separator-opaque:#c6c6c8;--fill-1:#78788033;--fill-2:#78788029;--fill-3:#7878801f;--fill-4:#78788014;--material-ultrathin-tint:#ffffff70;--material-thin-tint:#fff9;--material-regular-tint:#ffffffb8;--material-thick-tint:#ffffffd6;--material-blur:20px;--material-blur-thin:12px;--material-saturate:180%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--blue:#0a84ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--accent:#30d158;--gray-1:#8e8e93;--gray-2:#636366;--gray-3:#48484a;--gray-4:#3a3a3c;--gray-5:#2c2c2e;--gray-6:#1c1c1e;--bg:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--bg-grouped:#000;--label:#fff;--label-secondary:#ebebf599;--label-tertiary:#ebebf54d;--label-quaternary:#ebebf529;--separator:#54545899;--separator-opaque:#38383a;--fill-1:#7878805c;--fill-2:#78788052;--fill-3:#7878803d;--fill-4:#7878802e;--material-ultrathin-tint:#1e1e2070;--material-thin-tint:#1e1e209e;--material-regular-tint:#1e1e20bd;--material-thick-tint:#1e1e20db;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 2px 8px #0000005c;--shadow-3:0 8px 24px #00000070;--shadow-4:0 16px 48px #00000085;--shadow-glass:0 8px 32px #00000080}}[data-theme=dark]{--blue:#0a84ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--accent:#30d158;--gray-1:#8e8e93;--gray-2:#636366;--gray-3:#48484a;--gray-4:#3a3a3c;--gray-5:#2c2c2e;--gray-6:#1c1c1e;--bg:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--bg-grouped:#000;--label:#fff;--label-secondary:#ebebf599;--label-tertiary:#ebebf54d;--label-quaternary:#ebebf529;--separator:#54545899;--separator-opaque:#38383a;--fill-1:#7878805c;--fill-2:#78788052;--fill-3:#7878803d;--fill-4:#7878802e;--material-ultrathin-tint:#1e1e2070;--material-thin-tint:#1e1e209e;--material-regular-tint:#1e1e20bd;--material-thick-tint:#1e1e20db}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:var(--text-body);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--label);background:var(--bg);margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--safe-bottom:max(10px, env(safe-area-inset-bottom));--safe-top:env(safe-area-inset-top,0px)}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg-grouped);overscroll-behavior:none}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg-grouped);width:100%;min-width:300px;min-height:100%;margin:0}body{min-height:100vh;overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:100dvh;overflow-x:hidden}input,textarea,select,[contenteditable=true],code{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default}img,svg{-webkit-user-drag:none}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.42}h1,h2,p{margin-top:0}h1{font-size:var(--text-large-title);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h2{font-size:var(--text-headline);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug)}small,time{letter-spacing:var(--tracking-wide)}button,.product-card,.shopping-row{transition:transform var(--duration-instant) var(--ease-out), filter var(--duration-instant) var(--ease-out), background-color var(--duration-fast) var(--ease-out)}button:active,.shopping-row:active{filter:brightness(.94);transform:scale(.97)}button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 78%, white);outline-offset:2px}input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 78%, white);outline-offset:2px}select:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 78%, white);outline-offset:2px}.glass{background:var(--material-regular-tint);-webkit-backdrop-filter:blur(var(--material-blur)) saturate(var(--material-saturate));backdrop-filter:blur(var(--material-blur)) saturate(var(--material-saturate));box-shadow:inset 0 1px 0 #ffffff80, inset 0 0 0 .5px #ffffff29, 0 0 0 .5px #0000000f, var(--shadow-glass)}.splash,.login-page{min-height:100vh;padding:var(--space-7);background:radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--green) 24%, transparent), transparent 34%), radial-gradient(circle at 85% 88%, color-mix(in srgb, var(--blue) 18%, transparent), transparent 36%), var(--bg-secondary);place-items:center;display:grid;position:relative;overflow:hidden}.splash{font-size:var(--text-title-2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-snug)}.login-card{width:min(100%,420px);padding:var(--space-8);color:var(--label);background:var(--material-thick-tint);-webkit-backdrop-filter:blur(32px)saturate(180%);backdrop-filter:blur(32px)saturate(180%);border-radius:var(--radius-2xl);box-shadow:inset 0 1px 0 #ffffff94, 0 0 0 .5px var(--separator), var(--shadow-4);-webkit-corner-smoothing:60%;border:0}.brand-mark,.wordmark span{color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 76%, black), var(--accent));font-weight:var(--weight-bold);box-shadow:inset 0 1px 0 #ffffff59, var(--shadow-2);place-items:center;display:grid}.brand-mark{width:60px;height:60px;margin-bottom:var(--space-7);border-radius:17px}.login-card h1{margin-bottom:var(--space-3)}.login-card>p{margin-bottom:var(--space-8);color:var(--label-secondary)}label{gap:var(--space-3);font-size:var(--text-subhead);font-weight:var(--weight-semibold);display:grid}.login-card label+label{margin-top:var(--space-5)}input{width:100%;min-height:50px;padding:0 var(--space-5);color:var(--label);background:var(--fill-4);border-radius:var(--radius-md);box-shadow:inset 0 0 0 .5px var(--separator);border:1px solid #0000;outline:none}input:focus{background:var(--bg-tertiary);box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent)}input::placeholder{color:var(--label-secondary)}select{width:100%;min-height:50px;padding:0 var(--space-5);color:var(--label);background:var(--fill-4);border-radius:var(--radius-md);box-shadow:inset 0 0 0 .5px var(--separator);border:0}select option{color:var(--label);background:var(--bg-tertiary)}select option:checked{color:var(--label);background:color-mix(in srgb, var(--accent) 18%, var(--bg-tertiary))}.themed-select{color:var(--label);background-color:var(--fill-4)}.primary{min-height:50px;padding:var(--space-3) var(--space-6);color:#fff;background:var(--accent);border-radius:var(--radius-capsule);font-weight:var(--weight-semibold);box-shadow:inset 0 1px 0 #ffffff3d, var(--shadow-2);border:0}.login-card .primary{width:100%;margin-top:var(--space-7)}.error{margin:var(--space-5) 0 0;font-weight:var(--weight-semibold);color:var(--red)!important}.app-shell{min-height:100vh;min-height:100dvh;color:var(--label);background:var(--bg-grouped);padding-bottom:94px}.app-shell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 8% 18%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 30%);position:fixed;top:0;bottom:0;left:0;right:0}.topbar{z-index:20;min-height:calc(68px + var(--safe-top));justify-content:space-between;align-items:center;gap:var(--space-5);padding:calc(var(--space-3) + var(--safe-top)) max(var(--space-5), calc((100% - 1120px) / 2)) var(--space-3);color:var(--label);background:var(--material-regular-tint);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);display:flex;position:-webkit-sticky;position:sticky;top:0;box-shadow:0 10px 30px #00000012}.wordmark{align-items:center;gap:var(--space-3);color:var(--label);background:0 0;border:0;padding:0;display:flex}.wordmark span{width:40px;height:40px;font-size:var(--text-footnote);border-radius:11px}.wordmark b{font-size:var(--text-headline);letter-spacing:var(--tracking-snug)}.account{align-items:center;gap:var(--space-3);color:var(--label-secondary);font-size:var(--text-footnote);display:flex}.text-button{min-height:44px;padding:var(--space-3);color:var(--accent);border-radius:var(--radius-capsule);font-weight:var(--weight-semibold);background:0 0;border:0}.theme-toggle{width:44px;height:44px;color:var(--label);background:var(--fill-3);font-size:var(--text-title-3);border:0;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:inset 0 1px #ffffff47}.login-theme-toggle{top:var(--space-5);right:var(--space-5);z-index:5;background:var(--material-regular-tint);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);box-shadow:inset 0 1px 0 #ffffff80, var(--shadow-2);position:fixed}.sync-pill{min-height:38px;padding:var(--space-3) var(--space-4);color:color-mix(in srgb, var(--orange) 70%, var(--label));background:color-mix(in srgb, var(--orange) 16%, transparent);border-radius:var(--radius-capsule);font-size:var(--text-footnote);font-weight:var(--weight-semibold);border:0}.content{z-index:1;width:min(100%,1120px);padding:var(--space-8) var(--space-7);margin:0 auto;position:relative}.page-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-7);display:flex}.page-heading h1{margin-bottom:var(--space-2)}.page-heading p{color:var(--label-secondary);font-size:var(--text-subhead);margin:0}.heading-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.bottom-nav{z-index:30;bottom:var(--space-3);width:min(720px,100% - 24px);min-height:70px;padding:var(--space-2);background:var(--material-regular-tint);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);border-radius:var(--radius-xl);box-shadow:inset 0 1px 0 #ffffff8c, inset 0 0 0 .5px #ffffff29, 0 0 0 .5px #0000000f, var(--shadow-glass);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;left:50%;transform:translate(-50%)}.bottom-nav.admin-nav{grid-template-columns:repeat(6,1fr)}.bottom-nav button{align-content:center;place-items:center;gap:var(--space-1);min-height:58px;padding:var(--space-2);color:var(--label-secondary);border-radius:var(--radius-lg);font-size:var(--text-caption-1);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);background:0 0;border:0;display:grid}.bottom-nav button span{width:24px;height:24px;line-height:1}.bottom-nav button svg{width:100%;height:100%;display:block}.bottom-nav button.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, transparent)}.admin-tabs{margin-bottom:var(--space-6);background:var(--fill-3);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.admin-tabs button{min-height:44px;padding:var(--space-3);color:var(--label-secondary);font-weight:var(--weight-medium);background:0 0;border:0;border-radius:10px}.admin-tabs button.active{color:var(--label);background:var(--bg-tertiary);box-shadow:var(--shadow-1)}.admin-alert{padding:var(--space-4) var(--space-5);color:var(--red);background:color-mix(in srgb, var(--red) 10%, var(--bg-tertiary));border-radius:var(--radius-lg);font-weight:var(--weight-semibold)}.admin-layout{gap:var(--space-6);grid-template-columns:minmax(260px,340px) 1fr;align-items:start;display:grid}.admin-form{gap:var(--space-5);padding:var(--space-6);background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);display:grid}.admin-form h2{margin:0}.admin-list{gap:var(--space-3);display:grid}.admin-row,.device-row{align-items:center;gap:var(--space-4);min-height:82px;padding:var(--space-4) var(--space-5);background:var(--bg-tertiary);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);grid-template-columns:auto minmax(140px,1fr) minmax(120px,auto) auto;display:grid}.admin-row.inactive,.device-row.inactive{opacity:.58}.admin-avatar{color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 74%, black), var(--accent));border-radius:var(--radius-lg);width:48px;height:48px;font-weight:var(--weight-bold);place-items:center;display:grid;box-shadow:inset 0 1px #ffffff4d}.admin-main{gap:var(--space-1);min-width:0;display:grid}.admin-main strong{letter-spacing:var(--tracking-normal)}.admin-main strong small,.admin-main span,.admin-main small{color:var(--label-secondary);font-size:var(--text-footnote);letter-spacing:var(--tracking-wide);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-row select{min-height:44px}.row-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.tinted-button,.danger-button{min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-capsule);font-weight:var(--weight-semibold);border:0}.tinted-button{color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, transparent)}.danger-button{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent)}.password-row{gap:var(--space-3);padding-top:var(--space-3);border-top:.5px solid var(--separator);grid-column:2/-1;grid-template-columns:1fr auto;display:grid}.password-control{background:var(--fill-4);border-radius:var(--radius-md);box-shadow:inset 0 0 0 .5px var(--separator);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.password-control input{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0}.password-control input:focus{box-shadow:none;background:0 0}.password-reveal{min-width:66px;margin-right:var(--space-2)}.delete-confirmation{gap:var(--space-4);padding:var(--space-5);color:var(--label);background:color-mix(in srgb, var(--red) 9%, var(--bg-tertiary));border:1px solid color-mix(in srgb, var(--red) 22%, transparent);border-radius:var(--radius-lg);grid-column:2/-1;display:grid}.delete-confirmation p{color:var(--label-secondary);font-size:var(--text-footnote);line-height:var(--leading-relaxed);margin:0}.delete-confirmation strong{color:var(--label)}.delete-confirmation-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.device-indicator{background:var(--label-tertiary);border-radius:50%;width:12px;height:12px}.device-indicator.online{background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent)}.device-badges{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.device-badges span{padding:var(--space-2) var(--space-3);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:var(--radius-capsule);font-size:var(--text-caption-1);font-weight:var(--weight-semibold)}.device-badges code{color:var(--label-secondary)}.system-hero{align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);padding:var(--space-6);background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);display:flex}.system-hero h2{margin:0 0 var(--space-2)}.system-hero p{color:var(--label-secondary);margin:0}.status-orb{background:var(--accent);width:18px;height:18px;box-shadow:0 0 0 7px color-mix(in srgb, var(--accent) 13%, transparent), 0 0 22px color-mix(in srgb, var(--accent) 50%, transparent);border-radius:50%;flex:none}.backup-note{margin-top:var(--space-6);padding:var(--space-5);color:var(--label);background:color-mix(in srgb, var(--blue) 9%, var(--bg-tertiary));border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.backup-note p{margin:var(--space-2) 0 0;color:var(--label-secondary);line-height:var(--leading-relaxed)}.backup-note code{color:var(--label)}.primary:active,.tinted-button:active,.danger-button:active,.text-button:active,.icon-action:active,.bottom-nav button:active,.admin-tabs button:active{transform:scale(.97)}.terminal-view{width:min(100%,720px);margin:0 auto}.mode-banner{padding:var(--space-4) var(--space-6);color:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;text-align:center;font-size:var(--text-title-2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-snug);box-shadow:inset 0 1px #ffffff4d}.mode-banner.consume{background:linear-gradient(135deg, #d92d20, var(--red))}.mode-banner.purchase{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 74%, black), var(--accent))}.mode-switch{margin:var(--space-4) 0;background:var(--fill-3);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;padding:3px;display:grid}.mode-switch button{min-height:44px;padding:var(--space-3);color:var(--label-secondary);font-weight:var(--weight-medium);background:0 0;border:0;border-radius:10px;position:relative}.mode-switch button.active{color:var(--label);background:var(--bg-tertiary);box-shadow:var(--shadow-1)}.scanner-frame{aspect-ratio:4/3;border-radius:var(--radius-xl);width:100%;box-shadow:inset 0 0 0 1px #ffffff1f, var(--shadow-3);background:#080a0c;position:relative;overflow:hidden}.scanner-frame video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame:after{content:"";border-radius:var(--radius-lg);pointer-events:none;border:2px solid #ffffffe6;position:absolute;top:18%;bottom:18%;left:10%;right:10%;box-shadow:0 0 0 999px #00000038,inset 0 1px #fff6}.scan-line{z-index:1;background:var(--red);height:2px;box-shadow:0 0 10px var(--red);position:absolute;top:50%;left:13%;right:13%}.scanner-cover,.scanner-error{z-index:2;padding:var(--space-7);color:#fff;text-align:center;font-weight:var(--weight-semibold);background:#000000a8;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.scanner-error{z-index:3;background:#6c100ae0}.manual-code{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr auto;display:grid}.manual-code button{color:#fff;background:var(--accent);border-radius:var(--radius-capsule);min-width:64px;font-weight:var(--weight-semibold);border:0}.scan-result{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:68px;margin-top:var(--space-4);padding:var(--space-4) var(--space-5);color:color-mix(in srgb, var(--accent) 74%, var(--label));background:color-mix(in srgb, var(--accent) 12%, var(--bg-tertiary));border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);display:flex}.scan-result.bad{color:var(--red);background:color-mix(in srgb, var(--red) 10%, var(--bg-tertiary));border-color:color-mix(in srgb, var(--red) 35%, transparent)}.undo{min-height:44px;padding:var(--space-3) var(--space-5);color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:var(--radius-capsule);font-weight:var(--weight-semibold);border:0}.scan-add-card{margin-top:var(--space-4);padding:var(--space-6);color:var(--label);background:var(--bg-tertiary);border:.5px solid color-mix(in srgb, var(--accent) 32%, var(--separator));border-radius:var(--radius-xl);box-shadow:inset 0 1px 0 #ffffff2e, var(--shadow-3);animation:sheet-in var(--duration-base) var(--ease-ios) both}.scan-add-card .section-title p{margin:var(--space-1) 0 0;color:var(--label-secondary);font-size:var(--text-footnote)}.scan-add-note{margin:var(--space-4) 0 0;padding:var(--space-4);color:var(--label-secondary);background:var(--fill-4);border-radius:var(--radius-lg);line-height:var(--leading-relaxed)}.scan-lookup{margin-top:var(--space-4)}.scan-product-mark{color:#fff;background:var(--accent);border-radius:var(--radius-md);width:58px;height:58px;font-size:var(--text-title-2);font-weight:var(--weight-bold);place-items:center;display:grid}.scan-product-fields,.substitute-choice{margin-top:var(--space-5)}.scan-add-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}.quantity-editor{background:var(--fill-3);border-radius:var(--radius-capsule);box-shadow:inset 0 0 0 .5px var(--separator);grid-template-columns:48px minmax(74px,96px) 48px;align-items:center;display:grid;overflow:hidden}.quantity-editor button{width:48px;min-height:48px;color:var(--accent);font-size:var(--text-title-2);background:0 0;border:0;padding:0}.quantity-editor input{min-height:48px;padding:0 var(--space-2);box-shadow:none;text-align:center;font-size:var(--text-title-3);font-weight:var(--weight-semibold);-moz-appearance:textfield;background:0 0;border:0;border-radius:0}.quantity-editor input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-editor input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-editor.compact{grid-template-columns:44px minmax(64px,1fr) 44px}.quantity-editor.compact button{width:44px}.session-panel,.product-form{margin-top:var(--space-6);padding:var(--space-6);color:var(--label);background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.section-title{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.section-title h2{margin:0}.session-row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:68px;padding:var(--space-4) 0;border-bottom:.5px solid var(--separator);display:flex}.stepper{align-items:center;gap:var(--space-3);display:flex}.stepper button{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, transparent);font-size:var(--text-title-2);font-weight:var(--weight-medium);border:0;border-radius:50%}.wide{width:100%;margin-top:var(--space-5)}.filters{align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.inventory-tabs{margin-bottom:var(--space-6);background:var(--fill-3);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.inventory-tabs button{min-height:44px;padding:var(--space-3);color:var(--label-secondary);font-weight:var(--weight-medium);background:0 0;border:0;border-radius:10px}.inventory-tabs button.active{color:var(--label);background:var(--bg-tertiary);box-shadow:var(--shadow-1)}.search{flex:1}.checkbox{align-items:center;gap:var(--space-3);white-space:nowrap;color:var(--label-secondary);display:flex}.checkbox input,.shopping-row input{width:24px;min-height:24px;accent-color:var(--accent);box-shadow:none}.product-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.product-card{align-items:center;gap:var(--space-4);min-height:92px;padding:var(--space-4);color:var(--label);background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);border:1px solid #0000;grid-template-columns:56px 1fr auto;display:grid}.product-card:hover{box-shadow:var(--shadow-3);transform:translateY(-2px)}.product-card.low{border-color:color-mix(in srgb, var(--orange) 56%, transparent)}.product-card.archived{opacity:.62;border-color:var(--separator)}.product-image{color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 75%, black), var(--accent));border-radius:var(--radius-lg);width:56px;height:56px;font-size:var(--text-title-2);font-weight:var(--weight-bold);place-items:center;display:grid;box-shadow:inset 0 1px #ffffff4d}.product-image.actual{object-fit:cover}.product-data h2{margin:0 0 var(--space-2)}.product-data p{color:var(--label-secondary);font-size:var(--text-footnote);letter-spacing:var(--tracking-wide);margin:0}.low-badge{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-top:var(--space-2);padding:var(--space-1) var(--space-3);color:color-mix(in srgb, var(--orange) 76%, var(--label));background:color-mix(in srgb, var(--orange) 13%, transparent);border-radius:var(--radius-capsule);font-size:var(--text-caption-1);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);display:inline-flex}.archive-badge{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-top:var(--space-2);padding:var(--space-1) var(--space-3);color:var(--label-secondary);background:var(--fill-3);border-radius:var(--radius-capsule);font-size:var(--text-caption-1);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);display:inline-flex}.quantity{text-align:center;min-width:54px;display:grid}.quantity strong{font-size:var(--text-title-1);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.quantity span{color:var(--label-secondary);font-size:var(--text-caption-1);letter-spacing:var(--tracking-wide)}.product-trailing{align-items:center;gap:var(--space-3);display:flex}.product-actions{align-items:center;gap:var(--space-2);display:flex}.icon-action{min-width:44px;height:44px;padding:0 var(--space-3);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:var(--radius-capsule);font-size:var(--text-footnote);font-weight:var(--weight-semibold);border:0}.empty{padding:var(--space-9);color:var(--label-secondary);background:var(--fill-4);border-radius:var(--radius-xl);text-align:center;grid-column:1/-1}.stock-legend{align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-2)) 0 var(--space-5);color:var(--label-secondary);font-size:var(--text-footnote);letter-spacing:var(--tracking-wide);display:flex}.stock-legend i{border:2px solid var(--orange);border-radius:5px;flex:none;width:14px;height:14px}.product-form{margin:0 0 var(--space-7)}.product-form>label{margin-top:var(--space-5)}.form-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.product-form .primary{margin-top:var(--space-6)}.lookup-row{gap:var(--space-3);grid-template-columns:1fr auto;display:grid}.lookup-row button{min-height:50px;padding:0 var(--space-5);color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, transparent);border-radius:var(--radius-capsule);font-weight:var(--weight-semibold);border:0}.lookup-preview{align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);background:color-mix(in srgb, var(--accent) 9%, var(--bg-tertiary));border-radius:var(--radius-lg);display:flex}.lookup-preview img{object-fit:cover;border-radius:var(--radius-md);width:58px;height:58px}.lookup-preview span{gap:var(--space-2);display:grid}.lookup-preview small{color:var(--label-secondary)}.panel-actions{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.panel-description{color:var(--label-secondary);margin:0}.group-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));display:grid}.group-card{gap:var(--space-4);padding:var(--space-5);color:var(--label);background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);border:1px solid #0000;grid-template-columns:auto 1fr;display:grid}.group-card.low{border-color:color-mix(in srgb, var(--orange) 56%, transparent)}.group-card h2{margin:var(--space-2) 0}.group-card p{color:var(--label-secondary);font-size:var(--text-footnote);line-height:var(--leading-relaxed);margin:0}.group-card>small{color:var(--label-secondary);grid-column:2}.group-total{width:58px;height:58px;color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, transparent);border-radius:var(--radius-lg);align-content:center;place-items:center;display:grid}.group-total strong{font-size:var(--text-title-2);line-height:1}.group-total span{font-size:var(--text-caption-1)}.member-picker{gap:var(--space-3);margin:var(--space-5) 0 0;padding:var(--space-4);border:.5px solid var(--separator);border-radius:var(--radius-lg);display:grid}.member-picker legend{padding:0 var(--space-3);color:var(--label-secondary);font-size:var(--text-footnote)}.member-picker label{align-items:center;gap:var(--space-3);min-height:44px;display:flex}.member-picker input{width:24px;min-height:24px;accent-color:var(--accent);box-shadow:none}.member-picker span{gap:var(--space-1);display:grid}.member-picker small{color:var(--label-secondary)}.categories-layout{gap:var(--space-6);grid-template-columns:minmax(260px,360px) 1fr;align-items:start;display:grid}.category-form{margin:0}.category-form label{margin-top:var(--space-5)}.category-list{background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);overflow:hidden}.category-row{align-items:center;gap:var(--space-4);min-height:66px;padding:var(--space-4) var(--space-5);border-bottom:.5px solid var(--separator);display:flex}.category-row:last-child{border-bottom:0}.category-row div{gap:var(--space-1);display:grid}.category-row small{color:var(--label-secondary)}.category-dot{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%;flex:none}.metric-grid{gap:var(--space-4);grid-template-columns:repeat(5,1fr);display:grid}.metric-grid article{min-height:118px;padding:var(--space-5);background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);align-content:space-between;display:grid}.metric-grid span{color:var(--label-secondary);font-size:var(--text-footnote);letter-spacing:var(--tracking-wide)}.metric-grid strong{font-size:var(--text-large-title);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.chart-card{margin-top:var(--space-6);padding:var(--space-6);background:var(--bg-tertiary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.chart-card .section-title>span{color:var(--label-secondary);font-size:var(--text-footnote)}.bar-chart{gap:var(--space-4);margin-top:var(--space-6);display:grid}.bar-row{align-items:center;gap:var(--space-4);font-size:var(--text-subhead);grid-template-columns:minmax(110px,180px) 1fr 36px;display:grid}.bar-row>div{background:var(--fill-3);border-radius:var(--radius-capsule);height:10px;overflow:hidden}.bar-row i{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 68%, var(--blue)));border-radius:inherit;height:100%;display:block}.bar-row b{text-align:right}.modal-scrim{z-index:100;padding:var(--space-5);background:#0000006b;place-items:end center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}body.modal-open .topbar,body.modal-open .bottom-nav{z-index:0}body.modal-open .product-card{transform:none!important}.qr-sheet{width:min(100%,420px);padding:var(--space-6);color:var(--label);background:var(--material-thick-tint);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border-radius:var(--radius-2xl);box-shadow:inset 0 1px 0 #ffffff6b, var(--shadow-4);text-align:center;animation:sheet-in var(--duration-base) var(--ease-ios) both}.sheet-grabber{width:38px;height:5px;margin:0 auto var(--space-5);background:var(--label-tertiary);border-radius:var(--radius-capsule)}.qr-sheet h2{margin-bottom:var(--space-2)}.qr-sheet p{color:var(--label-secondary)}.qr-sheet img{width:min(70vw,260px);margin:var(--space-5) auto;border-radius:var(--radius-lg);display:block}.qr-sheet code{color:var(--label-secondary)}.threshold-sheet{width:min(100%,520px);padding:var(--space-6);color:var(--label);background:var(--material-thick-tint);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border-radius:var(--radius-2xl);box-shadow:inset 0 1px 0 #ffffff6b, var(--shadow-4);animation:sheet-in var(--duration-base) var(--ease-ios) both;border:0}.product-edit-sheet{text-align:left;max-height:min(88vh,760px);overflow-y:auto}.threshold-sheet .section-title{align-items:flex-start}.threshold-sheet .section-title p{margin:var(--space-1) 0 0;color:var(--label-secondary);font-size:var(--text-footnote)}.threshold-summary{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);color:var(--label-secondary);background:var(--fill-4);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;display:flex}.threshold-summary strong{color:var(--label);font-size:var(--text-title-3)}.stock-adjustment{justify-content:space-between;align-items:center;gap:var(--space-5);margin-top:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--fill-4);border-radius:var(--radius-lg);display:flex}.stock-adjustment>div{gap:var(--space-1);display:grid}.stock-adjustment small{color:var(--label-secondary);font-size:var(--text-footnote);line-height:var(--leading-relaxed)}.product-edit-sheet>label{margin-top:var(--space-5)}.edit-sheet-actions{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6);display:flex}.edit-sheet-actions .primary{min-width:170px}.form-hint{margin:var(--space-5) 0 0;color:var(--label-secondary);font-size:var(--text-footnote);line-height:var(--leading-relaxed)}@keyframes sheet-in{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.shopping-list,.history-list{gap:var(--space-3);display:grid}.shopping-row,.history-row{align-items:center;gap:var(--space-4);min-height:78px;padding:var(--space-4) var(--space-5);color:var(--label);background:var(--bg-tertiary);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);display:grid}.shopping-row{grid-template-columns:auto minmax(130px,1fr) minmax(150px,auto)}.shopping-row span,.history-row div{gap:var(--space-2);display:grid}.shopping-row small,.history-row small,.history-row time{color:var(--label-secondary);font-size:var(--text-footnote)}.shopping-row.checked{opacity:.58}.shopping-row.checked strong{text-decoration:line-through}.shopping-controls{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.shopping-controls select{min-width:160px;min-height:44px}.compact-stepper{background:var(--fill-3);border-radius:var(--radius-capsule);grid-template-columns:44px 38px 44px;align-items:center;display:grid;overflow:hidden}.compact-stepper button{width:44px;height:44px;color:var(--accent);font-size:var(--text-title-3);background:0 0;border:0;padding:0}.compact-stepper b{text-align:center;font-size:var(--text-headline)}.shopping-message{padding:var(--space-4) var(--space-5);color:color-mix(in srgb, var(--accent) 76%, var(--label));background:color-mix(in srgb, var(--accent) 11%, var(--bg-tertiary));border-radius:var(--radius-lg);font-weight:var(--weight-semibold)}.history-row{grid-template-columns:auto 1fr auto}.delta{width:48px;height:48px;font-size:var(--text-headline);font-weight:var(--weight-semibold);border-radius:50%;place-items:center;display:grid}.delta.plus{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.delta.minus{color:var(--red);background:color-mix(in srgb, var(--red) 13%, transparent)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar,.bottom-nav,.login-theme-toggle,.login-card{background:var(--bg-tertiary)}}@media (prefers-reduced-transparency:reduce){.topbar,.bottom-nav,.login-card,.login-theme-toggle,.threshold-sheet{background:var(--bg-tertiary);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.topbar,.bottom-nav,.login-card{box-shadow:0 0 0 2px var(--label)}}@media (prefers-reduced-motion:reduce){.product-card:hover{transform:none}}@media (max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-row,.device-row{grid-template-columns:auto minmax(0,1fr)}.admin-row>select,.device-badges{grid-column:2}.row-actions{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.password-row,.delete-confirmation{grid-column:1/-1}}@media (max-width:620px){.content{padding:var(--space-6) var(--space-4)}.topbar{padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) var(--space-3)}.wordmark b,.account>span{display:none}.account{gap:var(--space-2)}.login-card{padding:var(--space-7) var(--space-6)}.page-heading{align-items:flex-start}.page-heading,.heading-actions{flex-wrap:wrap}.filters{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.edit-sheet-actions{flex-direction:column-reverse;align-items:stretch}.edit-sheet-actions>button{width:100%}.categories-layout,.admin-layout{grid-template-columns:1fr}.admin-row,.device-row{grid-template-columns:auto 1fr}.admin-row>select,.device-badges{grid-column:2}.row-actions{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.password-row,.delete-confirmation{grid-column:1/-1}.admin-metrics,.metric-grid{grid-template-columns:repeat(2,1fr)}.bar-row{gap:var(--space-3);grid-template-columns:100px 1fr 28px}.lookup-row{grid-template-columns:1fr}.scan-add-actions,.stock-adjustment{flex-direction:column;align-items:stretch}.scan-add-actions button,.stock-adjustment .quantity-editor{width:100%}.stock-adjustment .quantity-editor{grid-template-columns:48px 1fr 48px}.product-card{grid-template-columns:52px 1fr}.product-trailing{grid-column:2;justify-content:space-between}.product-actions{flex-wrap:wrap;justify-content:flex-end}.shopping-row{grid-template-columns:auto 1fr}.shopping-controls{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.shopping-controls select{width:100%}.history-row{grid-template-columns:auto 1fr}.history-row time{grid-column:2}.mode-banner{font-size:var(--text-title-3)}.bottom-nav{bottom:max(var(--space-2), env(safe-area-inset-bottom));width:calc(100% - 16px)}.bottom-nav.admin-nav button{font-size:.66rem}.sync-pill{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}}
