:root{--background:#f7f8fa;--foreground:#111827;--muted:#5f6b7a;--panel:#fff;--panel-border:#e2e6ed;--loading-line-base:#eef2f6;--loading-line-highlight:#dce3eb;--vui-skeleton-base:#eef2f6;--vui-skeleton-highlight:#dce3eb;--shadow-strong:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-soft:0 1px 2px #0000000d;--radius-xl:.5rem;--vui-primary:#2f7d5d;--vui-primary-soft:#e6f4ed;--vui-surface:#fff;--vui-surface-muted:#f3f5f7;--vui-text:#101828;--vui-text-muted:#475467;--vui-text-subtle:#667085;--vui-border:#e2e6ed;--vui-color-primary:#2f7d5d;--vui-color-primary-hover:#215c45}html{min-height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100vh;color:var(--foreground);background:var(--background);font-family:var(--font-geist-sans), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.vui-theme-midnight{--background:#0f1419;--foreground:#e4e8ee;--muted:#8b95a5;--panel:#1a2029;--panel-border:#2a3340;--loading-line-base:#1c2530;--loading-line-highlight:#273340;--vui-skeleton-base:#1c2530;--vui-skeleton-highlight:#273340;--shadow-strong:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-soft:0 1px 2px #0003;--vui-primary:#4db88a;--vui-primary-hover:#3da378;--vui-primary-soft:#4db88a1f;--vui-primary-contrast:#fff;--vui-surface:#1a2029;--vui-surface-muted:#1f2733;--vui-surface-translucent:#1a2029cc;--vui-text:#e8ecf2;--vui-text-muted:#a0abba;--vui-text-subtle:#6e7a8a;--vui-text-inverse:#0f1419;--vui-border:#2a3340;--vui-border-strong:#3a4555;--vui-divider:#2a3340;--vui-card-bg:#1a2029;--vui-card-border:#2a3340;--vui-card-divider:#2a3340;--vui-title-color:#edf2f7;--vui-title-muted-color:#6e7a8a;--vui-input-bg:#1f2733;--vui-input-color:#e8ecf2;--vui-input-border:#3a4555;--vui-input-focus-border:#4db88a;--vui-input-disabled-bg:#161d26;--vui-input-disabled-color:#4a5568;--vui-input-placeholder:#4a5568;--vui-input-label-color:#a0abba;--vui-input-hint-color:#6e7a8a;--vui-secondary:#1f2733;--vui-secondary-hover:#2a3340;--vui-secondary-text:#e8ecf2;--vui-ghost-hover:#4db88a1a;--vui-badge-default-bg:#1f2733;--vui-badge-default-color:#a0abba;--vui-badge-default-border:#2a3340;--vui-success-soft:#4db88a26;--vui-success-text:#6ee7b7;--vui-success-border:#6ee7b74d;--vui-warning-soft:#b4530933;--vui-warning-text:#fcd34d;--vui-warning-border:#fcd34d4d;--vui-info-soft:#1d4ed833;--vui-info-text:#93c5fd;--vui-info-border:#93c5fd4d;--vui-danger:#f87171;--vui-danger-hover:#ef4444;--vui-danger-contrast:#fff;--vui-color-primary:#4db88a;--vui-color-primary-hover:#6dcca3;background:#0f1419}body.vui-theme-midnight .sidebar-link:hover,body.vui-theme-midnight .sidebar-link--active{background:#4db88a1a}body.vui-theme-midnight .hero-panel{background:linear-gradient(160deg,#1e2737 0%,#1a2029 60%)}body.vui-theme-midnight .hero-panel h1,body.vui-theme-midnight .hero-panel h2,body.vui-theme-midnight .hero-panel h3{color:#edf2f7}body.vui-theme-midnight .eyebrow{color:#4db88a}body.vui-theme-midnight .stat-card__icon{color:#4db88a;background:#4db88a26}body.vui-theme-midnight .product-card__media{background:#1f2733}body.vui-theme-midnight .product-card__image{background:0 0}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:240px minmax(0,1fr);height:100vh;display:grid;position:relative;overflow:hidden}.app-shell__overlay{z-index:19;background:#0006;border:0;position:fixed;inset:0}.app-shell__sidebar{z-index:20;border-right:1px solid var(--panel-border);background:var(--panel);height:100%;overflow-y:auto}.sidebar-card{height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.sidebar-brand{flex-direction:column;align-items:center;gap:.25rem;display:flex}.brand-logo-long{object-fit:contain;width:120px;height:auto}.brand-tagline{color:var(--muted);text-align:center;font-size:.75rem;line-height:1.4}.sidebar-nav{gap:.125rem;display:grid}.sidebar-group{gap:.25rem;display:grid}.sidebar-link{min-height:2.25rem;color:var(--muted);border-radius:.375rem;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.875rem;transition:background .12s,color .12s;display:inline-flex}.sidebar-link--button{cursor:pointer;text-align:left;background:0 0;border:0;width:100%}.sidebar-link:hover,.sidebar-link--active{color:var(--foreground);background:#2f7d5d14}.sidebar-link__label{flex:1;min-width:0}.sidebar-link__chevron{flex-shrink:0;transition:transform .12s}.sidebar-link__chevron--open{transform:rotate(180deg)}.sidebar-link__icon{display:inline-flex}.sidebar-subnav{gap:.125rem;padding-left:2rem;display:grid}.sidebar-sublink{min-height:2rem;color:var(--muted);border-radius:.375rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .75rem;font-size:.8125rem;transition:background .12s,color .12s;display:flex}.sidebar-sublink:hover,.sidebar-sublink--active{color:var(--foreground);background:#2f7d5d14}.sidebar-sublink__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-sublink__badge{background:var(--vui-primary-soft);color:var(--vui-primary);border-radius:999px;flex-shrink:0;padding:.15rem .45rem;font-size:.6875rem;font-weight:600}.app-shell__content{min-width:0;padding:0;overflow-y:auto}.app-shell__topbar{border-bottom:1px solid var(--panel-border);background:var(--panel);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.5rem;display:flex}.topbar__intro,.topbar__actions{align-items:center;gap:.75rem;display:flex}.topbar__intro>div{gap:.25rem;display:grid}.app-shell__menu-button,.topbar__mobile,.topbar__mobile-search{display:none}.topbar__icon-btn{width:2.25rem;height:2.25rem;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:.375rem;justify-content:center;align-items:center;transition:background .12s;display:inline-flex}.topbar__icon-btn:hover{background:var(--vui-surface-muted)}.topbar__mobile-brand{align-items:center;display:inline-flex}.topbar__mobile-dropdown{align-items:center;gap:.5rem;padding:0 .75rem .5rem;display:flex}.topbar__mobile-search{border:1px solid var(--panel-border);background:var(--vui-surface-muted);color:var(--muted);border-radius:.5rem;align-items:center;gap:.5rem;margin:0 .75rem .75rem;padding:.5rem .75rem;font-size:.875rem}.app-shell__main{padding:1.5rem}.auth-shell{align-items:stretch;min-height:100vh;display:flex}.landing-shell{min-height:100vh}.auth-split{grid-template-columns:1fr 1fr;width:100%;min-height:100vh;display:grid}.auth-brand{background:var(--vui-primary);flex-direction:column;padding:3rem;display:flex;position:relative;overflow:hidden}body.vui-theme-midnight .auth-brand{background:#0d1f18}.auth-brand__glow{pointer-events:none;background:radial-gradient(70% 50% at 20% 10%,#ffffff1f 0%,#0000 60%),radial-gradient(60% 60% at 80% 90%,#00000040 0%,#0000 60%);position:absolute;inset:0}.auth-brand__grid-overlay{pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%)}body.vui-theme-midnight .auth-brand__grid-overlay{background-image:linear-gradient(#4db88a12 1px,#0000 1px),linear-gradient(90deg,#4db88a12 1px,#0000 1px)}.auth-brand__inner{z-index:1;flex-direction:column;justify-content:center;gap:2.5rem;height:100%;display:flex;position:relative}.auth-brand__logo-wrap{align-self:flex-start;align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.auth-brand__logo{border-radius:.875rem;box-shadow:0 4px 20px #0003}.auth-brand__name{letter-spacing:-.03em;color:#fff;font-size:1.375rem;font-weight:800}.auth-brand__copy{flex-direction:column;gap:.75rem;display:flex}.auth-brand__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#fff9;font-size:.75rem;font-weight:700}body.vui-theme-midnight .auth-brand__eyebrow{color:var(--vui-primary)}.auth-brand__headline{letter-spacing:-.035em;color:#fff;font-size:clamp(1.75rem,2.8vw,2.5rem);font-weight:800;line-height:1.1}.auth-brand__headline-accent{color:#ffffffbf}body.vui-theme-midnight .auth-brand__headline{color:var(--vui-text)}body.vui-theme-midnight .auth-brand__headline-accent{color:var(--vui-primary)}.auth-brand__sub{color:#ffffffb8;max-width:32ch;font-size:.9375rem;line-height:1.65}body.vui-theme-midnight .auth-brand__sub{color:var(--vui-text-muted)}.auth-brand__features{gap:1rem;list-style:none;display:grid}.auth-brand__feature{align-items:flex-start;gap:.875rem;display:flex}.auth-brand__feature-icon{color:#fff;background:#ffffff26;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.125rem;display:inline-flex}body.vui-theme-midnight .auth-brand__feature-icon{color:var(--vui-primary);background:#4db88a26}.auth-brand__feature-text{flex-direction:column;gap:.125rem;display:flex}.auth-brand__feature-text strong{color:#fff;font-size:.875rem;font-weight:600}body.vui-theme-midnight .auth-brand__feature-text strong{color:var(--vui-text)}.auth-brand__feature-text span{color:#ffffff9e;font-size:.8125rem;line-height:1.5}body.vui-theme-midnight .auth-brand__feature-text span{color:var(--vui-text-muted)}.auth-form-panel{background:var(--panel);justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.auth-form-panel__inner{gap:1.5rem;width:min(100%,22rem);display:grid}.auth-form-panel__header{gap:.375rem;display:grid}.auth-form-panel__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--vui-primary);font-size:.75rem;font-weight:700}.auth-form-panel__title{letter-spacing:-.03em;color:var(--vui-text);margin:0;font-size:1.625rem;font-weight:800}.auth-form-panel__sub{color:var(--vui-text-muted);margin-top:.125rem;font-size:.875rem;line-height:1.55}.auth-form-panel__fields{gap:.875rem;display:grid}.auth-form-panel__switch{color:var(--vui-text-muted);text-align:center;font-size:.875rem}.auth-form-panel__switch-link{color:var(--vui-primary);font-weight:500;text-decoration:none}.auth-form-panel__switch-link:hover{text-decoration:underline}@media (max-width:780px){.auth-split{grid-template-columns:1fr}.auth-brand{min-height:auto;padding:2.5rem 2rem 2rem}.auth-brand__inner{gap:1.75rem}.auth-brand__features{display:none}.auth-brand__headline{font-size:1.625rem}.auth-form-panel{padding:2.5rem 1.5rem}}@keyframes heroFloat1{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes heroFloat2{0%,to{transform:translateY(-6px)}50%{transform:translateY(6px)}}@keyframes heroFloat3{0%,to{transform:translateY(4px)}50%{transform:translateY(-8px)}}@keyframes heroFloat4{0%,to{transform:translateY(0)}40%{transform:translateY(-9px)}80%{transform:translateY(3px)}}@keyframes heroCardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes chartDraw{0%{stroke-dashoffset:400px}to{stroke-dashoffset:0}}@keyframes hcPulse{0%{r:5;opacity:.7}to{r:18;opacity:0}}@keyframes chipSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pingDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}@keyframes orbPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}.landing{flex-direction:column;min-height:100vh;display:flex}.landing__section-inner{max-width:72rem;margin:0 auto;padding:0 1.5rem}.landing__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--vui-primary);text-align:center;margin-bottom:.625rem;font-size:.75rem;font-weight:700}.landing__section-title{letter-spacing:-.025em;color:var(--foreground);text-align:center;margin-bottom:.75rem;font-size:clamp(1.625rem,3vw,2.25rem);font-weight:700}.landing__section-subtitle{text-align:center;color:var(--muted);max-width:36rem;margin:0 auto 3rem;font-size:1rem;line-height:1.65}.landing__nav{z-index:20;background:color-mix(in srgb, var(--background) 85%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--panel-border);position:sticky;top:0}.landing__nav-inner{justify-content:space-between;align-items:center;max-width:80rem;height:3.75rem;margin:0 auto;padding:0 2rem;display:flex}.landing__brand{align-items:center;gap:.5rem;text-decoration:none;display:flex}.landing__brand-mark{border-radius:.375rem}.landing__brand-name{letter-spacing:-.02em;color:var(--foreground);font-size:1rem;font-weight:700}.landing__nav-actions{align-items:center;gap:.75rem;display:flex}.landing__nav-signin{color:var(--muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s}.landing__nav-signin:hover{color:var(--foreground)}.landing__nav-cta{background:var(--vui-primary);color:#fff;border-radius:.4375rem;padding:.4375rem 1.125rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s}.landing__nav-cta:hover{opacity:.88}.landing__hero{padding:4.5rem 2rem 4rem;position:relative;overflow:hidden}.landing__hero-glow{background:radial-gradient(ellipse 65% 70% at 62% 40%, color-mix(in srgb, var(--vui-primary) 14%, transparent) 0%, transparent 65%);pointer-events:none;position:absolute;inset:0}.landing__hero-dots{background-image:radial-gradient(var(--panel-border) 1px, transparent 1px);opacity:.45;pointer-events:none;background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 80%)}.landing__hero-inner{z-index:1;grid-template-columns:1fr;align-items:center;gap:3.5rem;max-width:80rem;margin:0 auto;display:grid;position:relative}@media (min-width:960px){.landing__hero-inner{grid-template-columns:1fr 1fr}}.landing__hero-text{text-align:center;flex-direction:column;align-items:center;display:flex}@media (min-width:960px){.landing__hero-text{text-align:left;align-items:flex-start}}.landing__hero-badge{color:var(--vui-primary);background:var(--vui-primary-soft);border:1px solid color-mix(in srgb, var(--vui-primary) 25%, transparent);border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.3125rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.landing__hero-badge-dot{background:var(--vui-primary);border-radius:50%;flex-shrink:0;width:.4375rem;height:.4375rem;animation:2.5s ease-in-out infinite pingDot;display:block}.landing__hero-title{letter-spacing:-.04em;color:var(--foreground);margin-bottom:1.25rem;font-size:clamp(2.625rem,5.5vw,4rem);font-weight:800;line-height:1.08}.landing__hero-title--accent{color:var(--vui-primary)}.landing__hero-tagline{color:var(--muted);max-width:32rem;margin-bottom:2.25rem;font-size:1.0625rem;line-height:1.7}.landing__hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.landing__hero-actions--center{justify-content:center}.landing__cta{border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:opacity .15s,transform .15s;display:inline-flex}.landing__cta:hover{opacity:.88;transform:translateY(-1px)}.landing__cta--primary{background:var(--vui-primary);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--vui-primary) 35%, transparent)}.landing__cta--secondary{color:var(--foreground);border:1px solid var(--panel-border);background:0 0}.landing__cta--ghost{color:var(--muted);border:1px solid color-mix(in srgb, var(--panel-border) 60%, transparent);background:0 0}.hero-visual{width:100%;max-width:480px;height:460px;margin:0 auto;position:relative}.hero-orb{filter:blur(60px);pointer-events:none;border-radius:50%;position:absolute}.hero-orb--1{background:color-mix(in srgb, var(--vui-primary) 18%, transparent);width:220px;height:220px;animation:7s ease-in-out infinite orbPulse;top:-30px;right:-20px}.hero-orb--2{background:color-mix(in srgb, var(--vui-primary) 12%, transparent);width:160px;height:160px;animation:9s ease-in-out infinite reverse orbPulse;bottom:30px;left:-10px}.hero-card{background:var(--panel);border:1px solid var(--panel-border);z-index:2;border-radius:1.125rem;width:285px;padding:1.25rem;animation:8s ease-in-out infinite heroCardFloat;position:absolute;top:70px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 40px #00000029,0 2px 8px #00000014}.hero-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0e,#0000);width:40%;height:200%;animation:5s ease-in-out 2s infinite cardShine;position:absolute;top:-50%;left:-60%;transform:rotate(25deg)}@keyframes cardShine{0%{left:-60%}to{left:160%}}.hero-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:.375rem;display:flex}.hero-card__header-text{flex-direction:column;gap:.125rem;display:flex}.hero-card__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:600}.hero-card__product{color:var(--foreground);font-size:.8125rem;font-weight:500}.hero-card__trend{color:var(--vui-primary);background:var(--vui-primary-soft);border-radius:9999px;padding:.1875rem .5rem;font-size:.75rem;font-weight:700}.hero-card__price{letter-spacing:-.03em;color:var(--foreground);align-items:baseline;gap:.5rem;margin-bottom:.75rem;font-size:1.625rem;font-weight:800;display:flex}.hero-card__was{color:var(--muted);font-size:.8125rem;font-weight:400;text-decoration:line-through}.hero-card__chart{width:100%;margin-bottom:.5rem}.hero-chart-svg{width:100%;height:auto;display:block}.hc-grid{stroke:var(--panel-border);stroke-width:.5px}.hc-area{opacity:.9;animation:1.2s ease-out .3s both chartFadeIn}@keyframes chartFadeIn{0%{opacity:0}to{opacity:.9}}.hc-line{stroke:var(--vui-primary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400px;animation:1.8s cubic-bezier(.4,0,.2,1) .4s forwards chartDraw}.hc-dot{fill:var(--vui-primary);opacity:0;animation:.4s ease-out 1.8s forwards chartFadeIn}.hc-dot--latest{fill:var(--vui-primary)}.hc-pulse{fill:none;stroke:var(--vui-primary);stroke-width:1.5px;opacity:0;animation:2.2s ease-out 2s infinite hcPulse}.hero-card__dates{color:var(--muted);letter-spacing:.01em;justify-content:space-between;font-size:.625rem;display:flex}.hero-chip{background:var(--panel);border:1px solid var(--panel-border);z-index:3;white-space:nowrap;border-radius:.875rem;align-items:center;gap:.625rem;padding:.625rem .875rem;animation:.5s ease-out both chipSlideIn;display:flex;position:absolute;box-shadow:0 8px 24px #00000024,0 2px 6px #00000014}.hero-chip__body{flex-direction:column;gap:.0625rem;display:flex}.hero-chip__title{color:var(--foreground);font-size:.75rem;font-weight:600;line-height:1.2}.hero-chip__sub{color:var(--muted);font-size:.6875rem;line-height:1.3}.hero-chip__emoji{font-size:1.125rem;line-height:1}.hero-chip__ping{background:var(--vui-primary);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;animation:2s ease-in-out infinite pingDot;display:block}.hero-chip--alert{animation:.5s ease-out .6s both chipSlideIn,6.5s ease-in-out 1.1s infinite heroFloat1;top:20px;right:0}.hero-chip--schedule{animation:.5s ease-out .9s both chipSlideIn,7s ease-in-out 1.4s infinite heroFloat4;top:110px;left:0}.hero-chip--cart{animation:.5s ease-out 1.2s both chipSlideIn,7.5s ease-in-out 1.7s infinite heroFloat2;bottom:80px;right:0}.hero-chip--pantry{animation:.5s ease-out 1.5s both chipSlideIn,6s ease-in-out 2s infinite heroFloat3;bottom:20px;left:0}@media (max-width:959px){.hero-visual{max-width:380px;height:380px}.hero-chip--schedule,.hero-chip--pantry{display:none}.hero-card{width:260px;top:50px}}.landing__stats{border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);background:var(--panel);padding:0 2rem}.landing__stats-inner{flex-wrap:wrap;align-items:stretch;max-width:80rem;margin:0 auto;display:flex}.landing__stat-item{flex:1;align-items:stretch;min-width:10rem;display:flex}.landing__stat-divider{background:var(--panel-border);align-self:stretch;width:1px;margin:1.5rem 0}.landing__stat{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:2rem 1.5rem;display:flex}.landing__stat-value{letter-spacing:-.03em;color:var(--vui-primary);font-size:1.5rem;font-weight:800}.landing__stat-label{color:var(--muted);font-size:.8125rem;line-height:1.45}.landing__steps{padding:5.5rem 2rem}.landing__steps-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem;display:grid;position:relative}.landing__step{flex-direction:column;gap:.75rem;display:flex;position:relative}.landing__step-connector{display:none}@media (min-width:768px){.landing__step-connector{border-top:2px dashed var(--panel-border);pointer-events:none;width:calc(100% - 1rem);height:1px;display:block;position:absolute;top:1.25rem;left:calc(100% + .5rem)}}.landing__step-number{letter-spacing:.1em;color:var(--vui-primary);opacity:.7;font-size:.6875rem;font-weight:800}.landing__step-icon{background:var(--vui-primary-soft);width:2.75rem;height:2.75rem;color:var(--vui-primary);border:1px solid color-mix(in srgb, var(--vui-primary) 20%, transparent);border-radius:.75rem;justify-content:center;align-items:center;display:flex}.landing__step-title{color:var(--foreground);letter-spacing:-.01em;font-size:1rem;font-weight:700}.landing__step-desc{color:var(--muted);font-size:.875rem;line-height:1.65}.landing__features{border-top:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel) 60%, var(--background));padding:5.5rem 2rem}.landing__features-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem;display:grid}.landing__feature{background:var(--panel);border:1px solid var(--panel-border);border-radius:.875rem;flex-direction:column;gap:.625rem;padding:1.625rem 1.75rem;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex}.landing__feature:hover{box-shadow:var(--shadow-strong);border-color:color-mix(in srgb, var(--vui-primary) 40%, var(--panel-border));transform:translateY(-3px)}.landing__feature-icon{background:var(--vui-primary-soft);width:2.5rem;height:2.5rem;color:var(--vui-primary);border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:.25rem;display:flex}.landing__feature-title{color:var(--foreground);font-size:.9375rem;font-weight:600}.landing__feature-desc{color:var(--muted);margin:0;font-size:.875rem;line-height:1.6}.landing__cta-band{text-align:center;border-top:1px solid var(--panel-border);padding:5rem 2rem;position:relative;overflow:hidden}.landing__cta-band-glow{background:radial-gradient(ellipse 70% 80% at 50% 100%, color-mix(in srgb, var(--vui-primary) 12%, transparent) 0%, transparent 70%);pointer-events:none;position:absolute;inset:0}.landing__cta-band-inner{z-index:1;flex-direction:column;align-items:center;gap:1.25rem;max-width:40rem;margin:0 auto;display:flex;position:relative}.landing__cta-band-title{letter-spacing:-.035em;color:var(--foreground);font-size:clamp(1.875rem,4vw,2.75rem);font-weight:800}.landing__cta-band-subtitle{color:var(--muted);font-size:1rem;line-height:1.65}.landing__footer{border-top:1px solid var(--panel-border);margin-top:auto;padding:1.75rem 2rem}.landing__footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:80rem;margin:0 auto;display:flex}.landing__footer-copy{color:var(--muted);font-size:.8125rem}.page-transition,.page-stack{gap:1.25rem;display:grid}.hero-panel,.section-panel,.product-detail-hero{border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);gap:1.25rem;padding:1.5rem;display:grid}.hero-panel{align-items:end;min-height:15rem}.hero-panel--compact{align-items:start;min-height:auto}.hero-panel p,.section-panel p,.product-detail-hero p{color:var(--muted);max-width:62ch;line-height:1.6}.section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;overflow:hidden}.muted-copy{color:var(--muted);line-height:1.6}.stats-grid,.card-grid,.toolbar-grid,.summary-strip,.product-grid{gap:.75rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.toolbar-grid{grid-template-columns:minmax(0,1fr) 220px;align-items:end}.toolbar-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.search-toolbar{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,220px)) auto}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip>div,.product-detail-hero__meta>div{border:1px solid var(--panel-border);background:var(--vui-surface-muted);border-radius:.375rem;gap:.4rem;padding:.875rem;display:grid}.summary-strip span,.product-detail-hero__meta span{color:var(--muted);font-size:.85rem}.summary-strip strong,.product-detail-hero__meta strong{font-size:1rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.content-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:1.25rem;display:grid}.content-grid__main,.content-grid__side,.stack-card,.schedule-form,.chart-frame,.store-popover,.cart-builder{gap:1rem;display:grid}.cart-builder{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));align-items:stretch}.stack-card,.schedule-form{border:1px solid var(--panel-border);padding:1.25rem}.stat-card{gap:.5rem;padding:1.25rem;display:grid}.stat-card strong{font-size:1.75rem;font-weight:700}.stat-card span{color:var(--muted)}.stat-card__icon{background:var(--vui-primary-soft);border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.list-row{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-row__meta{color:var(--muted);align-items:center;gap:.75rem;display:inline-flex}.tracked-deal-row{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.tracked-deal-row:last-child{border-bottom:0;padding-bottom:0}.tracked-deal-row__copy,.tracked-deal-row__meta,.tracked-deal-row__pricing{gap:.35rem;display:grid}.tracked-deal-row__copy{flex:1;min-width:0}.tracked-deal-row__title{color:var(--foreground);font-weight:600}.tracked-deal-row__title:hover{color:var(--vui-color-primary)}.tracked-deal-row__meta{flex-shrink:0;justify-items:end}.tracked-deal-row__pricing{justify-items:end}.tracked-deal-row__pricing strong{font-size:1rem}.tracked-deal-row__pricing span{color:var(--muted);text-decoration:line-through}.pantry-item-card{gap:1rem}.pantry-item-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-item-card__actions,.pantry-editor__actions{flex-wrap:wrap;gap:.75rem;display:flex}.pantry-editor{gap:1rem;padding-top:.25rem;display:grid}.pantry-editor__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.pantry-hero__actions,.pantry-empty-actions,.pantry-feedback-panel__actions,.pantry-modal__actions{flex-wrap:wrap;gap:.75rem;display:flex}.pantry-feedback-panel{gap:.75rem}.pantry-hero__note{max-width:72ch}.pantry-location-stack{gap:1rem;display:grid}.pantry-location-section{gap:1.25rem}.pantry-location-section__header{align-items:flex-start}.pantry-section-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.pantry-section-metrics>div,.pantry-row__detail,.pantry-section-empty{border:1px solid var(--panel-border);background:var(--vui-surface-muted);border-radius:.75rem;gap:.35rem;padding:.875rem;display:grid}.pantry-section-metrics span,.pantry-row__detail span{color:var(--muted);font-size:.85rem}.pantry-row-list{display:grid}.pantry-row{border-top:1px solid var(--panel-border);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 0;display:grid}.pantry-row:first-child{border-top:0;padding-top:0}.pantry-row__main,.pantry-row__details{min-width:0}.pantry-row__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pantry-row__status{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.pantry-row__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.pantry-row__detail strong{font-size:.95rem;line-height:1.4}.pantry-row__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.pantry-modal-backdrop{z-index:40;background:color-mix(in srgb, var(--background) 62%, #00000073);-webkit-backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.pantry-modal{border:1px solid var(--panel-border);width:min(42rem,100%);max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto}.pantry-modal__body{gap:1rem;display:grid}.pantry-modal__form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.pantry-order-card__items{gap:0}.product-grid>*{height:100%}.search-cart-gate{z-index:30;background:color-mix(in srgb, var(--background) 62%, #00000073);-webkit-backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.search-cart-gate__card{border:1px solid var(--panel-border);width:min(32rem,100%)}.search-cart-gate__body,.search-cart-gate__create{gap:1rem;display:grid}.search-cart-gate__body{padding:1.25rem}.search-cart-gate__actions{flex-wrap:wrap;gap:.75rem;display:flex}.product-card{border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:var(--panel);flex-direction:column;height:100%;display:flex}.product-card--compact{height:auto}.product-card__header,.product-card__price{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.product-card__media{background:var(--vui-surface-muted);border-radius:var(--radius-xl) var(--radius-xl) 0 0;justify-content:center;align-items:center;padding:1rem;display:flex;position:relative}.product-card__badge{z-index:1;position:absolute;top:.625rem;right:.625rem}.product-card__favorite-overlay{z-index:2;background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(6px);width:2.25rem;min-width:2.25rem;height:2.25rem;color:var(--vui-text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex;position:absolute;top:.625rem;left:.625rem;box-shadow:0 6px 16px #1118271f}.product-card__favorite-overlay:hover{transform:translateY(-1px)}.product-card__favorite-overlay--active{background:color-mix(in srgb, var(--vui-primary) 18%, var(--panel));border-color:color-mix(in srgb, var(--vui-primary) 45%, transparent);color:var(--vui-primary)}.product-card__image{width:100%;height:9rem;color:var(--muted);border-radius:.375rem;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex;overflow:hidden}.product-card__image span{-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.product-card__image--has-img{padding:0}.product-card__image--has-img img{object-fit:contain;max-width:100%;max-height:100%}.product-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.95rem;font-weight:600;display:-webkit-box;overflow:hidden}.product-card>[class*=body]{flex:1}.product-card__description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.5;display:-webkit-box;overflow:hidden}.product-card__price{flex-direction:column;align-items:end}.product-card__price strong{font-size:1.05rem}.product-card__price span{color:var(--muted);font-size:.85rem;text-decoration:line-through}.product-card__footer{border-top:1px solid var(--panel-border);align-items:center;gap:.625rem;padding-top:.9rem;display:flex}.product-card__primary-action{flex:0 auto;min-width:0;max-width:calc(100% - 3.625rem);margin-left:auto}.product-card__primary-action>*{max-width:100%;display:block}.product-card__action-stack{gap:.5rem;display:grid}.product-card__action-button{border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;max-width:100%;min-height:2.5rem;font-weight:600;display:inline-flex}.product-card__action-button>span[aria-hidden=true]{justify-content:center;align-items:center;display:inline-flex}.product-card__utility-button{background:var(--vui-surface);border:1px solid var(--panel-border);width:3rem;min-width:3rem;color:var(--vui-text-muted);flex:0 0 3rem;padding-inline:0}.product-card__primary-button{white-space:nowrap;width:auto;min-width:0;max-width:100%;box-shadow:0 10px 18px color-mix(in srgb, var(--vui-primary) 22%, transparent);padding-inline:1rem}.product-card__tracking-button{width:100%;padding-inline:1rem}.product-detail-hero{grid-template-columns:minmax(0,1.3fr) 320px}.product-detail-hero__copy,.product-detail-hero__actions,.product-detail-hero__meta{gap:1rem;display:grid}.product-detail-hero__meta{grid-template-columns:repeat(3,minmax(0,1fr))}.store-selector__trigger{display:inline-flex}.store-selector__popover{z-index:40;position:fixed}.store-popover{border:1px solid var(--panel-border);background:var(--panel);width:min(28rem,100vw - 1.5rem);max-width:calc(100vw - 1.5rem);box-shadow:var(--shadow-strong);border-radius:.75rem;padding:1rem}.store-popover__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.store-popover__list{gap:.5rem;max-height:min(24rem,100vh - 10rem);padding-right:.125rem;display:grid;overflow-y:auto}.store-option{border:1px solid var(--panel-border);width:100%;color:var(--foreground);text-align:left;background:0 0;border-radius:.375rem;gap:.25rem;padding:.75rem 1rem;transition:border-color .12s,background .12s;display:grid}.store-option:hover,.store-option--active{border-color:var(--vui-primary);background:var(--vui-primary-soft)}.pagination-row{justify-content:center;display:flex}.cart-card,.cart-builder__item{border:1px solid var(--panel-border)}.cart-builder__cell,.cart-builder__cell>*{height:100%}.cart-card{gap:1rem;padding:1.25rem;display:grid}.cart-builder__item{grid-template-rows:minmax(0,1fr) auto;gap:1.25rem;padding:1rem 1.25rem;display:grid}.cart-builder__item-main{grid-template-columns:5.5rem minmax(0,1fr);align-items:center;gap:1rem;display:grid}.cart-builder__media{background:var(--vui-surface-muted);border-radius:1rem;justify-content:center;align-items:center;width:5.5rem;height:5.5rem;padding:.75rem;display:flex;overflow:hidden}.cart-builder__media img{object-fit:contain;width:100%;height:100%}.cart-builder__media span{-webkit-line-clamp:2;color:var(--muted);text-align:center;word-break:break-word;-webkit-box-orient:vertical;font-size:.75rem;font-weight:600;display:-webkit-box;overflow:hidden}.cart-builder__copy{gap:.35rem;min-width:0;display:grid}.cart-builder__copy h3{margin:0;font-size:1.05rem}.cart-builder__meta{flex-wrap:wrap;gap:.375rem 1rem;display:flex}.cart-builder__controls{align-content:end;gap:.875rem;display:grid}.cart-builder__controls>*{width:100%;min-width:0}.cart-builder__total{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cart-builder__total strong{font-size:1.05rem}.chart-frame{min-height:280px}.chart-frame--empty{border:1px dashed var(--panel-border);background:var(--vui-surface-muted);border-radius:.75rem;justify-content:center;align-items:center;padding:1.5rem}.timeline-picker{flex-wrap:wrap;gap:.5rem;display:inline-flex}.price-history-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;display:grid}.price-history-summary>div{border:1px solid var(--panel-border);background:var(--vui-surface-muted);border-radius:.5rem;gap:.35rem;padding:.95rem;display:grid}.price-history-summary span{color:var(--muted);font-size:.85rem}.price-history-summary p,.price-history-note{color:var(--muted);font-size:.9rem}.price-history-summary__value--increase{color:#d65f4b}.price-history-summary__value--decrease{color:var(--vui-primary)}.price-history-summary__value--neutral{color:var(--foreground)}.loading-card{border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);gap:1rem;padding:1.5rem;display:grid}.loading-line{background:linear-gradient(90deg, var(--loading-line-base), var(--loading-line-highlight), var(--loading-line-base));border-radius:.25rem;height:.75rem}.loading-line--short{width:32%}.loading-line--medium{width:58%}@media (max-width:1100px){.app-shell{display:block}.app-shell__topbar{flex-direction:column;align-items:stretch;gap:0;padding:0}.app-shell__sidebar{border-right:1px solid var(--panel-border);width:min(280px,85vw);max-width:calc(100vw - 2rem);box-shadow:var(--shadow-strong);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.app-shell__sidebar--open{transform:translate(0)}.app-shell__content{width:100%;min-width:0;padding:0}.topbar__intro,.topbar__actions{display:none}.topbar__mobile{justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.topbar__mobile-search{width:calc(100% - 1.5rem);min-width:0;display:flex}.topbar__mobile-search span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.section-heading{flex-direction:column;align-items:stretch}.tracked-deal-row,.tracked-deal-row__meta{align-items:stretch}.tracked-deal-row{flex-direction:column}.tracked-deal-row__meta,.tracked-deal-row__pricing{justify-items:start}.app-shell__main{padding:1rem}.app-shell__menu-button{display:inline-flex}}@media (max-width:980px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip,.content-grid,.product-detail-hero,.price-history-summary,.product-detail-hero__meta,.pantry-editor__grid,.pantry-section-metrics,.pantry-modal__form-grid,.toolbar-grid,.search-toolbar{grid-template-columns:1fr}.cart-builder{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.pantry-row,.pantry-row__details{grid-template-columns:1fr}.pantry-row__status,.pantry-row__actions{justify-content:flex-start}}@media (max-width:900px){.topbar__mobile-dropdown{flex-wrap:wrap;align-items:stretch}.topbar__mobile-dropdown>*{min-width:0}.hero-panel,.section-panel,.product-detail-hero{padding:1.25rem}.store-popover{width:min(24rem,100vw - 1rem);max-width:calc(100vw - 1rem)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.product-card__image{height:7rem}.cart-builder__item{padding:1rem}.cart-builder__total{flex-direction:row;align-items:center;width:100%}.pantry-modal{width:min(100%,100vw - 1rem)}}@media (max-width:420px){.product-grid{grid-template-columns:1fr}.app-shell__sidebar{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem)}.search-cart-gate__actions>*{width:100%}.product-card__header{flex-direction:column;align-items:stretch}.product-card__price{flex-direction:row;justify-content:flex-start;align-items:baseline}.product-card__image{height:9rem}.cart-builder__item-main{grid-template-columns:1fr}.cart-builder__media{width:100%;height:8rem}.cart-builder__total{flex-direction:column;align-items:stretch}.app-shell__main{padding:.75rem}.stats-grid{grid-template-columns:1fr}.pantry-hero__actions>*,.pantry-empty-actions>*,.pantry-feedback-panel__actions>*,.pantry-row__actions>*,.pantry-modal__actions>*{width:100%}}
