/* MRSTORE landing-only styles (extracted) — keep app.css untouched */
html.mobile-app .guest-landing-mobile,
    html.capacitor-native .guest-landing-mobile{
      padding-bottom: 1rem;
    }
html.mobile-app .guest-landing-mobile .gl-hero-mobile,
    html.capacitor-native .guest-landing-mobile .gl-hero-mobile{
      min-height: auto;
      padding-bottom: 0.5rem;
    }
html.mobile-app .guest-landing-mobile .gl-hero-cta-stack,
    html.capacitor-native .guest-landing-mobile .gl-hero-cta-stack{
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      width: 100%;
    }
html.mobile-app .guest-landing-mobile .gl-hero-cta-stack .gl-btn,
    html.capacitor-native .guest-landing-mobile .gl-hero-cta-stack .gl-btn{
      width: 100%;
      justify-content: center;
    }
html.mobile-app .guest-landing-mobile .gl-demo-dash-compact,
    html.capacitor-native .guest-landing-mobile .gl-demo-dash-compact{
      margin-top: 1rem;
    }
html.mobile-app .guest-landing .gl-reveal,
    html.capacitor-native .guest-landing .gl-reveal{
      opacity: 1 !important;
      transform: none !important;
    }
html.mobile-app .guest-landing .gl-hero-badge-dot,
    html.capacitor-native .guest-landing .gl-hero-badge-dot{
      animation: none !important;
    }
.qi-suggestion-icon-viz .shelf-viz{ width: 100%; height: 100%; border: none; border-radius: 0.65rem; }
.qi-suggestion-visual .qi-suggestion-icon-viz .shelf-viz,
    .qi-suggestion-visual .qi-suggestion-icon-viz .shelf-viz-sm{
      width: 100%;
      height: 100%;
      min-width: 3rem;
      min-height: 3rem;
      max-width: 3rem;
      max-height: 3rem;
      border: none;
      background: transparent;
      overflow: hidden;
    }
.qi-suggestion-visual .shelf-pouch-empty,
    .qi-suggestion-visual .shelf-cig-gap{
      position: relative;
      inset: auto;
      width: 2rem;
      height: 2.35rem;
      margin: 0 auto;
      border: 1.5px solid #cbd5e1;
      border-radius: 0.45rem;
      background: linear-gradient(180deg, #f8fafc, #e2e8f0);
      opacity: 1;
      transform: none;
      border-style: solid;
    }
.home-shelf-mini-viz .shelf-viz-tag{ display: none !important; }
.home-shelf-mini-viz .shelf-viz-sm{ width: 2.85rem; height: 3.15rem; }
.home-shelf-mini-viz .shelf-viz-sm.shelf-cooler-lite,
    .home-shelf-mini-viz .shelf-viz-sm.shelf-cig-wall-lite,
    .home-shelf-mini-viz .shelf-viz-sm.shelf-pouch{ width: 2.85rem; height: 3.15rem; }
.home-shelf-mini-viz .shelf-pouch-empty,
    .home-shelf-mini-viz .shelf-cooler-empty,
    .home-shelf-mini-viz .shelf-cig-gap{
      position: relative;
      inset: auto;
      width: 2rem; height: 2.35rem; margin: 0 auto;
      border: 1.5px solid #cbd5e1; border-radius: 0.45rem;
      background: linear-gradient(180deg, #f8fafc, #e2e8f0);
      opacity: 1; transform: none;
      border-style: solid;
    }
.home-shelf-mini-viz .shelf-pouch.shelf-empty,
    .home-shelf-mini-viz .shelf-cooler-lite.shelf-empty,
    .home-shelf-mini-viz .shelf-cig-wall.shelf-empty{ filter: none; opacity: 1; }
.product-shelf-combo-dshelf .combo-viz .shelf-viz-lg{ width: 3.35rem; height: 3.35rem; }
.product-shelf-combo-no-photo .combo-viz .shelf-viz-lg,
    .product-shelf-combo-no-photo .combo-viz .shelf-viz-sm{ width: 3rem; height: 3rem; }
.product-shelf-combo-has-photo .combo-viz .shelf-viz-lg{ width: 2.5rem; height: 2.5rem; }
.product-shelf-combo-has-photo .combo-viz .shelf-viz-sm{ width: 2.15rem; height: 2.15rem; }
.product-shelf-combo-has-photo .combo-viz .shelf-viz-xs{ width: 1.85rem; height: 1.85rem; }
.dshelf-detail-visual .product-shelf-combo-has-photo .combo-viz .shelf-viz-lg{ width: 3.25rem; height: 3.25rem; }
.dshelf-hand-viz .shelf-viz-lg{ width: 4.5rem; height: 4.5rem; }
body.guest-mode #home-money-section,
    body.auth-booting #home-money-section{ display: none !important; }
body:not(.guest-mode):not(.auth-booting) #home-money-section:not(.money-panel-open){ display: none !important; }
body:not(.guest-mode):not(.auth-booting) #home-money-section.money-panel-open{ display: block !important; }
body.guest-mode #tools-hub{ display: none !important; }
body.auth-booting:not(.guest-mode) .store-hero,
    body.auth-booting:not(.guest-mode) #section-quick-add,
    body.auth-booting:not(.guest-mode) #section-ledger-metrics,
    body.auth-booting:not(.guest-mode) #section-ledger-table,
    body.auth-booting:not(.guest-mode) #bottom-nav,
    body.auth-booting:not(.guest-mode) #home-dashboard-status,
    body.auth-booting:not(.guest-mode) #workspace-boot-overlay,
    body.auth-booting:not(.guest-mode) #home-guest-welcome,
    body.auth-booting:not(.guest-mode) .app-footer-hint{ display: none !important; }
body.auth-booting:not(.guest-mode) #guest-auth-shell:not(.hidden){ display: block !important; }
body.auth-booting:not(.guest-mode) #home-insights > *:not(#guest-auth-shell){ display: none !important; }
body.auth-booting:not(.guest-mode){ padding-bottom: 0 !important; }
body.guest-mode .store-hero,
    body.guest-mode #section-quick-add,
    body.guest-mode #section-ledger-metrics,
    body.guest-mode #section-ledger-table,
    body.guest-mode #bottom-nav,
    body.guest-mode #home-dashboard-status,
    body.guest-mode #workspace-boot-overlay,
    body.guest-mode #guest-auth-shell,
    body.guest-mode #employee-role-badge,
    body.guest-mode #btn-employee-login-top,
    body.guest-mode #btn-upgrade-pro,
    body.guest-mode #btn-power-search,
    body.guest-mode #feature-browser-tab,
    body.guest-mode #feature-browser-drawer,
    body.guest-mode #feature-browser-backdrop,
    body.guest-mode #btn-app-lock,
    body.guest-mode #btn-founder-admin,
    body.guest-mode #offline-badge,
    body.guest-mode #pwa-install-banner,
    body.guest-mode #btn-header-money,
    body.guest-mode #btn-logout-top,
    body.guest-mode #btn-dark-mode,
    body.guest-mode #btn-header-menu,
    body.guest-mode #header-tools{ display: none !important; }
body.guest-mode #btn-login-top{ display: inline-flex !important; }
body.guest-mode #home-dashboard-status{ display: none !important; }
body.guest-mode #home-insights{ margin-top: 0; }
body.guest-mode .app-footer-hint{ display: none; }
body.guest-mode #home-guest-welcome:not(.hidden){ display: block !important; }
body.guest-mode,
    body.guest-mode.has-bottom-nav,
    body.auth-booting:not(.guest-mode),
    body.auth-booting:not(.guest-mode).has-bottom-nav{ padding-bottom: 0 !important; }
#home-guest-welcome.guest-landing{
      border: none;
      background: transparent;
      padding: 0;
      border-radius: 0;
      box-shadow: none;
    }
.guest-landing{
      color: #18181b;
      --gl-accent: #10b981;
      --gl-accent-dk: #059669;
      --gl-pro: #f59e0b;
      --gl-ink: #09090b;
      --gl-muted: #71717a;
      --gl-surface: #ffffff;
      --gl-line: rgba(15, 23, 42, 0.08);
    }
.guest-landing .gl-section{ margin-bottom: 0.85rem; }
.gl-hero{
      position: relative;
      overflow: hidden;
      border-radius: 1.75rem;
      padding: 1.75rem 1.25rem 1.5rem;
      background:
        radial-gradient(ellipse 80% 60% at 100% 0%, rgba(16, 185, 129, 0.22), transparent 55%),
        radial-gradient(ellipse 60% 50% at 0% 100%, rgba(99, 102, 241, 0.14), transparent 50%),
        linear-gradient(155deg, #0f172a 0%, #134e4a 42%, #064e3b 100%);
      border: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: 0 24px 48px -12px rgba(6, 78, 59, 0.35);
    }
.gl-hero-grid{
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.5rem;
      align-items: center;
    }
.gl-hero-copy{ position: relative; z-index: 1; text-align: left; }
.gl-hero-badge{
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.625rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #6ee7b7;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(110, 231, 183, 0.35);
      border-radius: 999px;
      padding: 0.35rem 0.8rem;
      margin-bottom: 0.85rem;
      backdrop-filter: blur(8px);
    }
.gl-hero-badge-dot{
      width: 0.4rem; height: 0.4rem; border-radius: 999px;
      background: #34d399;
      box-shadow: 0 0 8px #34d399;
    }
.gl-hero-title{
      font-size: 1.85rem;
      line-height: 1.08;
      font-weight: 800;
      letter-spacing: -0.04em;
      color: #fff;
    }
.gl-hero-title span{
      background: linear-gradient(90deg, #6ee7b7, #fde68a);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
.gl-hero-sub{
      font-size: 0.875rem;
      line-height: 1.6;
      color: rgba(255, 255, 255, 0.78);
      max-width: 30rem;
      margin: 0.85rem 0 0;
    }
.gl-hero-cta{
      display: flex;
      flex-direction: column;
      gap: 0.625rem;
      margin-top: 1.35rem;
    }
.gl-btn{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.35rem;
      padding: 0.9rem 1.35rem;
      border-radius: 0.9rem;
      font-size: 0.8125rem;
      font-weight: 700;
      border: none;
      cursor: pointer;
      touch-action: manipulation;
      transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
      white-space: nowrap;
    }
.gl-btn:active{ transform: scale(0.98); }
.gl-btn-emerald{
      background: linear-gradient(135deg, #34d399, #059669);
      color: #fff;
      box-shadow: 0 8px 24px -6px rgba(16, 185, 129, 0.55);
    }
.gl-btn-emerald:hover{ box-shadow: 0 12px 28px -6px rgba(16, 185, 129, 0.65); }
.gl-btn-amber{
      background: linear-gradient(135deg, #fbbf24, #d97706);
      color: #1c1917;
      box-shadow: 0 8px 24px -6px rgba(245, 158, 11, 0.45);
    }
.gl-btn-amber:hover{ box-shadow: 0 12px 28px -6px rgba(245, 158, 11, 0.55); }
.gl-btn-ghost{
      background: rgba(255, 255, 255, 0.1);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.22);
      backdrop-filter: blur(6px);
    }
.gl-btn-ghost:hover{ background: rgba(255, 255, 255, 0.16); }
.gl-btn-outline{
      background: #fff;
      color: #047857;
      border: 1.5px solid #a7f3d0;
    }
.gl-btn-outline:hover{ background: #ecfdf5; }
.gl-trust{
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
      margin-top: 1.1rem;
    }
.gl-trust span{
      font-size: 0.625rem;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.85);
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 999px;
      padding: 0.3rem 0.65rem;
      white-space: nowrap;
    }
.gl-hero-mock{
      position: relative;
      border-radius: 1.25rem;
      background: rgba(255, 255, 255, 0.07);
      border: 1px solid rgba(255, 255, 255, 0.14);
      padding: 0.85rem;
      backdrop-filter: blur(12px);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
    }
.gl-hero-shelf-mock .gl-shelf-aisle{ margin-bottom: 0.55rem; }
.gl-shelf-aisle{
      display: flex;
      gap: 0.55rem;
      overflow-x: auto;
      padding-bottom: 0.35rem;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x proximity;
    }
.gl-shelf-aisle-wide{
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0.55rem;
      overflow: visible;
      padding-bottom: 0;
    }
.gl-shelf-aisle-hero{ scroll-snap-type: x proximity; }
.gl-shelf-item{
      flex: 0 0 auto;
      scroll-snap-align: start;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.3rem;
      min-width: 4.75rem;
      max-width: 5.5rem;
      padding: 0.45rem 0.35rem 0.5rem;
      border-radius: 1rem;
      border: 1px solid var(--gl-line);
      background: #fff;
      transition: transform 0.12s ease, box-shadow 0.12s ease;
    }
.gl-hero-shelf-mock .gl-shelf-item{
      background: rgba(255, 255, 255, 0.08);
      border-color: rgba(255, 255, 255, 0.14);
    }
.gl-shelf-item:hover{ transform: translateY(-2px); box-shadow: 0 8px 20px -10px rgba(15, 23, 42, 0.2); }
.gl-shelf-urgent{
      border-color: #fca5a5 !important;
      background: #fff1f2 !important;
      animation: shelf-pulse-nudge 2.5s ease-in-out infinite;
    }
.gl-hero-shelf-mock .gl-shelf-urgent{
      background: rgba(254, 226, 226, 0.15) !important;
      border-color: rgba(252, 165, 165, 0.55) !important;
    }
.gl-shelf-name{
      font-size: 0.5625rem;
      font-weight: 800;
      text-align: center;
      line-height: 1.2;
      color: var(--gl-ink);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      width: 100%;
    }
.gl-hero-shelf-mock .gl-shelf-name{ color: rgba(255, 255, 255, 0.92); }
.gl-shelf-meta, .gl-shelf-status{
      font-size: 0.5rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.2;
    }
.gl-shelf-status.gl-shelf-ok{ color: #059669; }
.gl-shelf-status.gl-shelf-warn{ color: #d97706; }
.gl-shelf-status.gl-shelf-out{ color: #dc2626; }
.gl-shelf-aisle-wide .shelf-viz-lg{ width: 3.25rem; height: 3.25rem; }
.shelf-soda{
      background: linear-gradient(165deg, #eff6ff, #dbeafe);
    }
.shelf-soda-cap{
      position: absolute;
      top: 6%;
      left: 50%;
      transform: translateX(-50%);
      width: 30%;
      height: 9%;
      background: #dc2626;
      border-radius: 2px 2px 0 0;
      z-index: 2;
    }
.shelf-soda-body{
      position: absolute;
      bottom: 10%;
      left: 30%;
      right: 30%;
      height: 72%;
      border: 2px solid rgba(37, 99, 235, 0.35);
      border-radius: 4px 4px 12px 12px;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.35);
    }
.shelf-soda-fill{
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: calc(var(--fill-pct, 50) * 1%);
      background: linear-gradient(180deg, #38bdf8 0%, #0284c7 55%, #1e40af 100%);
      transition: height 0.35s ease;
    }
.shelf-soda.shelf-low .shelf-soda-fill{ animation: shelf-wine-pulse 2s ease-in-out infinite; }
.shelf-soda.shelf-empty .shelf-soda-fill{ height: 0 !important; }
.shelf-chips{
      background: linear-gradient(165deg, #fef9c3, #fde68a);
    }
.shelf-chips-crinkle{
      position: absolute;
      top: 6%;
      left: 22%;
      right: 22%;
      height: 10%;
      background: #fef08a;
      border-radius: 4px 4px 0 0;
      border-top: 2px dashed rgba(180, 83, 9, 0.3);
      z-index: 2;
    }
.shelf-chips-bag{
      position: absolute;
      bottom: 8%;
      left: 16%;
      right: 16%;
      height: 70%;
      border: 2px solid rgba(180, 83, 9, 0.35);
      border-radius: 10px 10px 16px 16px;
      overflow: hidden;
      background: linear-gradient(180deg, #fde047, #fbbf24);
      clip-path: polygon(6% 0%, 94% 0%, 100% 100%, 0% 100%);
    }
.shelf-chips-fill{
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: calc(var(--fill-pct, 50) * 1%);
      background: linear-gradient(180deg, #f59e0b, #d97706);
      transition: height 0.35s ease;
    }
.shelf-chips.shelf-low .shelf-chips-fill{ animation: shelf-beer-slosh 2.4s ease-in-out infinite; }
.shelf-chips.shelf-empty .shelf-chips-fill{ height: 0 !important; }
.shelf-chips.shelf-empty .shelf-chips-bag{ filter: grayscale(0.7); opacity: 0.7; }
.shelf-cigar{
      background: linear-gradient(165deg, #fff7ed, #ffedd5);
    }
.shelf-cigar-stick{
      position: absolute;
      bottom: 16%;
      left: 50%;
      transform: translateX(-50%) rotate(-10deg);
      width: 16%;
      height: 58%;
      background: linear-gradient(180deg, #fef3c7 0%, #d97706 38%, #78350f 100%);
      border-radius: 4px 4px 10px 10px;
      border: 1px solid rgba(120, 53, 15, 0.4);
    }
.shelf-cigar-band{
      position: absolute;
      bottom: 46%;
      left: 50%;
      transform: translateX(-50%) rotate(-10deg);
      width: 18%;
      height: 7%;
      background: #dc2626;
      border-radius: 1px;
      z-index: 2;
    }
.gl-cigar-ember{ top: 22% !important; }
.gl-cigar-dim{ filter: grayscale(0.85); opacity: 0.55; }
.shelf-cigar.shelf-empty .shelf-cigar-stick{ filter: grayscale(0.85); opacity: 0.6; }
.shelf-vape{
      background: linear-gradient(165deg, #f5f3ff, #ede9fe);
    }
.shelf-vape-body{
      position: absolute;
      bottom: 10%;
      left: 28%;
      right: 28%;
      height: 74%;
      border-radius: 0.65rem 0.65rem 1rem 1rem;
      border: 2px solid rgba(109, 40, 217, 0.35);
      background: linear-gradient(180deg, #faf5ff, #e9d5ff);
      overflow: hidden;
      box-shadow: inset 0 -4px 8px rgba(109, 40, 217, 0.12);
    }
.shelf-vape-mouth{
      position: absolute;
      top: 4%;
      left: 50%;
      transform: translateX(-50%);
      width: 42%;
      height: 8%;
      background: #71717a;
      border-radius: 999px;
    }
.shelf-vape-screen{
      position: absolute;
      top: 18%;
      left: 22%;
      right: 22%;
      height: 14%;
      border-radius: 3px;
      background: #18181b;
      transition: box-shadow 0.3s ease;
    }
.shelf-vape-screen-on{ box-shadow: 0 0 8px rgba(167, 139, 250, 0.9); background: linear-gradient(90deg, #4c1d95, #7c3aed); }
.shelf-vape-screen-dim{ box-shadow: 0 0 4px rgba(167, 139, 250, 0.45); opacity: 0.7; }
.shelf-vape-screen-off{ background: #3f3f46; box-shadow: none; }
.shelf-vape-fill{
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: calc(var(--fill-pct, 50) * 0.72%);
      background: linear-gradient(180deg, #c4b5fd, #7c3aed);
      transition: height 0.35s ease;
    }
.shelf-vape.shelf-low .shelf-vape-screen-on{ animation: shelf-wine-pulse 2s ease-in-out infinite; }
.shelf-vape.shelf-empty .shelf-vape-fill{ height: 0 !important; }
.gl-mock-bar{
      display: flex; align-items: center; justify-content: space-between;
      margin-bottom: 0.65rem; padding-bottom: 0.55rem;
      border-bottom: 1px solid rgba(255,255,255,0.1);
    }
.gl-mock-bar span{ font-size: 0.625rem; font-weight: 700; color: rgba(255,255,255,0.9); letter-spacing: 0.04em; }
.gl-mock-live{
      font-size: 0.5625rem; font-weight: 700; color: #6ee7b7;
      background: rgba(16,185,129,0.15); border-radius: 999px; padding: 0.15rem 0.45rem;
    }
.gl-founder-strip{ margin-top: 0; }
.gl-founder-card{
      display: flex; align-items: flex-start; gap: 0.85rem;
      padding: 1rem 1.05rem; border-radius: 1.1rem;
      border: 1px solid #bfdbfe; background: linear-gradient(135deg, #eff6ff 0%, #fff 55%, #f0fdf4 100%);
      box-shadow: 0 8px 24px -14px rgba(30, 64, 175, 0.35);
    }
.gl-founder-logo{
      width: 3rem; height: 3rem; border-radius: 0.85rem;
      object-fit: cover; flex-shrink: 0; border: 1px solid rgba(15, 23, 42, 0.08);
    }
.gl-founder-eyebrow{
      font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.12em;
      text-transform: uppercase; color: #1d4ed8; margin-bottom: 0.25rem;
    }
.gl-founder-lead{
      font-size: 0.8125rem; line-height: 1.5; color: #0f172a; margin: 0 0 0.35rem;
    }
.gl-founder-meta{
      font-size: 0.6875rem; line-height: 1.45; color: #475569; margin: 0;
    }
.gl-founder-meta a{ color: #047857; font-weight: 700; text-decoration: none; }
.gl-founder-meta a:hover{ text-decoration: underline; }
.gl-mock-kpis{
      display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.45rem;
      margin-bottom: 0.55rem;
    }
.gl-mock-kpi{
      border-radius: 0.75rem; padding: 0.5rem 0.4rem;
      background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08);
    }
.gl-mock-kpi-lbl{ font-size: 0.5rem; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.06em; }
.gl-mock-kpi-val{ font-size: 0.8rem; font-weight: 800; color: #fff; margin-top: 0.15rem; }
.gl-mock-kpi-val.up{ color: #6ee7b7; }
.gl-mock-rows{ display: flex; flex-direction: column; gap: 0.35rem; }
.gl-mock-row{
      display: flex; align-items: center; justify-content: space-between;
      font-size: 0.625rem; color: rgba(255,255,255,0.75);
      padding: 0.4rem 0.5rem; border-radius: 0.55rem;
      background: rgba(255,255,255,0.04);
    }
.gl-mock-row strong{ color: #fff; font-weight: 700; }
.gl-stats{
      display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem;
    }
.gl-stat{
      text-align: center; padding: 0.85rem 0.5rem;
      border-radius: 1rem;
      background: var(--gl-surface);
      border: 1px solid var(--gl-line);
      box-shadow: 0 4px 16px -8px rgba(15, 23, 42, 0.12);
    }
.gl-stat-val{
      font-size: 1.125rem; font-weight: 800; letter-spacing: -0.03em;
      background: linear-gradient(135deg, #059669, #0d9488);
      -webkit-background-clip: text; background-clip: text; color: transparent;
    }
.gl-stat-lbl{ font-size: 0.5625rem; color: var(--gl-muted); margin-top: 0.15rem; line-height: 1.35; font-weight: 600; }
.gl-panel{
      border-radius: 1.35rem;
      border: 1px solid var(--gl-line);
      background: var(--gl-surface);
      padding: 1.25rem;
      box-shadow: 0 8px 30px -16px rgba(15, 23, 42, 0.12);
    }
.gl-panel-head{ margin-bottom: 1rem; }
.gl-panel-eyebrow{
      font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--gl-accent-dk); margin-bottom: 0.3rem;
    }
.gl-panel-title{
      font-size: 1.0625rem; font-weight: 800; color: var(--gl-ink);
      letter-spacing: -0.02em; margin: 0;
    }
.gl-panel-sub{
      font-size: 0.75rem; color: var(--gl-muted); margin: 0.35rem 0 0; line-height: 1.5;
    }
.gl-steps{
      display: grid; grid-template-columns: 1fr; gap: 0.65rem;
    }
.gl-step{
      position: relative;
      border-radius: 1.1rem;
      border: 1px solid var(--gl-line);
      background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
      padding: 1rem 1rem 1rem 1.1rem;
    }
.gl-step-idx{
      width: 1.65rem; height: 1.65rem; border-radius: 0.55rem;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.6875rem; font-weight: 800; color: #fff;
      background: linear-gradient(135deg, #10b981, #059669);
      margin-bottom: 0.55rem;
    }
.gl-step h3{
      font-size: 0.8125rem; font-weight: 800; margin: 0 0 0.3rem; color: var(--gl-ink);
    }
.gl-step p{
      font-size: 0.6875rem; line-height: 1.5; color: var(--gl-muted); margin: 0;
    }
.gl-bento{
      display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem;
    }
.gl-feat{
      border-radius: 1.1rem;
      border: 1px solid var(--gl-line);
      background: #fff;
      padding: 0.9rem;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
.gl-feat:hover{
      border-color: rgba(16, 185, 129, 0.25);
      box-shadow: 0 8px 24px -12px rgba(16, 185, 129, 0.2);
    }
.gl-feat-wide{ grid-column: span 2; }
.gl-feat-icon{
      width: 2rem; height: 2rem; border-radius: 0.65rem;
      display: flex; align-items: center; justify-content: center;
      font-size: 1rem; margin-bottom: 0.45rem;
    }
.gl-feat-icon.emerald{ background: #ecfdf5; }
.gl-feat-icon.blue{ background: #eff6ff; }
.gl-feat-icon.amber{ background: #fffbeb; }
.gl-feat-icon.violet{ background: #f5f3ff; }
.gl-feat-icon.teal{ background: #f0fdfa; }
.gl-feat-icon.purple{ background: #faf5ff; }
.gl-feat h3{
      font-size: 0.75rem; font-weight: 800; margin: 0 0 0.2rem; color: var(--gl-ink);
    }
.gl-feat p{
      font-size: 0.625rem; line-height: 1.45; color: var(--gl-muted); margin: 0;
    }
.gl-compare-wrap{
      overflow-x: auto; -webkit-overflow-scrolling: touch;
      border-radius: 1rem; border: 1px solid var(--gl-line);
    }
.gl-compare{
      width: 100%; min-width: 300px;
      border-collapse: collapse; font-size: 0.6875rem;
    }
.gl-compare th, .gl-compare td{
      padding: 0.55rem 0.7rem; border-bottom: 1px solid #f4f4f5;
      text-align: left; vertical-align: middle;
    }
.gl-compare thead th{ background: #f8fafc; position: sticky; top: 0; }
.gl-compare th{
      font-size: 0.5625rem; font-weight: 800; text-transform: uppercase;
      letter-spacing: 0.08em; color: var(--gl-muted);
    }
.gl-compare th.gl-col-free{ color: #047857; }
.gl-compare th.gl-col-pro{ color: #b45309; }
.gl-compare td.gl-col-free, .gl-compare td.gl-col-pro{ text-align: center; width: 4.25rem; }
.gl-yes{
      display: inline-flex; width: 1.25rem; height: 1.25rem; border-radius: 999px;
      align-items: center; justify-content: center;
      background: #ecfdf5; color: #059669; font-weight: 800; font-size: 0.625rem;
    }
.gl-no{ color: #d4d4d8; }
.gl-plans{
      display: grid; grid-template-columns: 1fr; gap: 0.85rem;
    }
.gl-plan{
      position: relative;
      border-radius: 1.35rem;
      padding: 1.35rem;
      display: flex; flex-direction: column;
    }
.gl-plan-free{
      border: 1px solid #a7f3d0;
      background: linear-gradient(180deg, #f0fdf4 0%, #fff 100%);
    }
.gl-plan-pro{
      border: 1px solid #fcd34d;
      background: linear-gradient(180deg, #fffbeb 0%, #fff 55%, #fff7ed 100%);
      box-shadow: 0 16px 40px -16px rgba(245, 158, 11, 0.35);
    }
.gl-plan-rec{
      position: absolute; top: -0.55rem; right: 1rem;
      font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.06em;
      text-transform: uppercase; color: #1c1917;
      background: linear-gradient(135deg, #fbbf24, #f59e0b);
      border-radius: 999px; padding: 0.25rem 0.6rem;
      box-shadow: 0 4px 12px -4px rgba(245, 158, 11, 0.5);
    }
.gl-plan-tag{
      font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
    }
.gl-plan-free .gl-plan-tag{ color: #047857; }
.gl-plan-pro .gl-plan-tag{ color: #b45309; }
.gl-plan-name{
      font-size: 1.2rem; font-weight: 800; margin: 0.35rem 0 0.15rem;
      color: var(--gl-ink); letter-spacing: -0.02em;
    }
.gl-plan-price{
      font-size: 0.8125rem; color: var(--gl-muted); margin-bottom: 0.85rem;
    }
.gl-plan-price strong{ color: var(--gl-ink); font-size: 1.5rem; font-weight: 800; letter-spacing: -0.03em; }
.gl-plan ul{ list-style: none; padding: 0; margin: 0 0 1.1rem; flex: 1; }
.gl-plan li{
      font-size: 0.6875rem; line-height: 1.5; color: #3f3f46;
      padding: 0.28rem 0 0.28rem 1.1rem; position: relative;
    }
.gl-plan li::before{
      content: '✓'; position: absolute; left: 0; color: #10b981; font-weight: 800; font-size: 0.625rem;
    }
.gl-plan-pro li::before{ color: #f59e0b; }
.gl-pos-band{
      border-radius: 1.35rem;
      padding: 1.35rem;
      display: flex; flex-direction: column; gap: 0.85rem;
      background:
        radial-gradient(ellipse 70% 80% at 100% 0%, rgba(99, 102, 241, 0.2), transparent),
        linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #1e3a5f 100%);
      border: 1px solid rgba(255, 255, 255, 0.1);
      color: #fff;
    }
.gl-pos-band h3{
      font-size: 1rem; font-weight: 800; margin: 0 0 0.35rem; letter-spacing: -0.02em;
    }
.gl-pos-band p{
      font-size: 0.6875rem; line-height: 1.55; color: rgba(255,255,255,0.75); margin: 0;
    }
.gl-pos-tags{ display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.55rem; }
.gl-pos-tags span{
      font-size: 0.5625rem; font-weight: 700; padding: 0.2rem 0.5rem;
      border-radius: 999px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15);
    }
.gl-footer-cta{
      border-radius: 1.35rem;
      padding: 1.65rem 1.35rem;
      text-align: center;
      background:
        radial-gradient(ellipse 60% 80% at 50% 120%, rgba(16, 185, 129, 0.35), transparent),
        linear-gradient(160deg, #022c22 0%, #064e3b 55%, #065f46 100%);
      color: #fff;
      border: 1px solid rgba(110, 231, 183, 0.2);
    }
.gl-footer-cta h3{
      font-size: 1.15rem; font-weight: 800; margin: 0 0 0.4rem; letter-spacing: -0.02em;
    }
.gl-footer-cta p{
      font-size: 0.75rem; color: rgba(255,255,255,0.78); margin: 0 0 1.1rem; line-height: 1.5;
    }
.gl-footer-links{
      text-align: center; font-size: 0.6875rem; color: var(--gl-muted);
      padding: 0.75rem 0 1.25rem; line-height: 1.7;
    }
.gl-footer-links button{
      color: #047857; font-weight: 700; text-decoration: none;
      background: none; border: none; cursor: pointer; font-size: inherit; padding: 0;
    }
.gl-footer-links button:hover{ text-decoration: underline; text-underline-offset: 2px; }
.gl-close-steps{
      display: grid;
      grid-template-columns: 1fr;
      gap: 0.55rem;
    }
.gl-close-step{
      border-radius: 1.1rem;
      border: 1px solid var(--gl-line);
      background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
      padding: 0.95rem;
      text-align: center;
    }
.gl-close-step-num{
      width: 1.75rem; height: 1.75rem; border-radius: 999px;
      display: inline-flex; align-items: center; justify-content: center;
      font-size: 0.75rem; font-weight: 800; color: #fff;
      background: linear-gradient(135deg, #10b981, #059669);
      margin-bottom: 0.45rem;
    }
.gl-close-step h3{ font-size: 0.75rem; font-weight: 800; margin: 0 0 0.25rem; color: var(--gl-ink); }
.gl-close-step p{ font-size: 0.625rem; line-height: 1.45; color: var(--gl-muted); margin: 0; }
.gl-trust-panel{
      border-radius: 1.35rem;
      border: 1px solid #dbeafe;
      background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);
      padding: 1.25rem;
    }
.gl-trust-panel h3{ font-size: 0.9rem; font-weight: 800; margin: 0 0 0.35rem; color: #1e3a8a; }
.gl-trust-panel p{ font-size: 0.6875rem; line-height: 1.5; color: #475569; margin: 0 0 0.65rem; }
.gl-trust-bullets{
      display: grid; grid-template-columns: 1fr 1fr; gap: 0.35rem 0.65rem;
      font-size: 0.625rem; color: #334155; margin-bottom: 0.75rem;
    }
.gl-trust-bullets span::before{ content: '✓ '; color: #059669; font-weight: 800; }
.gl-legal-links{
      display: flex; flex-wrap: wrap; gap: 0.35rem 0.65rem;
      justify-content: center;
      padding: 0.85rem 0 0.25rem;
      border-top: 1px solid var(--gl-line);
      margin-top: 0.5rem;
    }
.gl-legal-links button{
      font-size: 0.625rem; font-weight: 700; color: #047857;
      background: none; border: none; cursor: pointer; padding: 0.2rem 0;
    }
.gl-legal-links button:hover{ text-decoration: underline; }
.gl-brand-note{
      text-align: center; font-size: 0.5625rem; color: var(--gl-muted);
      line-height: 1.5; padding: 0.5rem 0.75rem 1rem;
    }
.gl-legal-links a{
      font-size: 0.625rem; font-weight: 700; color: #047857;
      text-decoration: none; padding: 0.2rem 0;
    }
.gl-legal-links a:hover{ text-decoration: underline; }
@keyframes gl-float{
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-5px); }
    }
@keyframes gl-blink{
      0%, 100% { opacity: 1; }
      50% { opacity: 0; }
    }
@keyframes gl-bar-grow{
      from { transform: scaleY(0); }
      to { transform: scaleY(1); }
    }
@keyframes gl-pulse-ring{
      0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.45); }
      70% { box-shadow: 0 0 0 8px rgba(52, 211, 153, 0); }
      100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); }
    }
.gl-hero-mock.gl-ai-mock{
      animation: gl-float 7s ease-in-out infinite;
    }
.gl-hero-badge-dot{ animation: gl-pulse-ring 2.4s ease infinite; }
.gl-reveal{
      opacity: 0;
      transform: translateY(14px);
      transition: opacity 0.55s ease, transform 0.55s ease;
    }
.gl-reveal.is-visible{
      opacity: 1;
      transform: translateY(0);
    }
.gl-ai-mock .gl-ai-chat{
      display: flex;
      flex-direction: column;
      gap: 0.45rem;
      min-height: 7.5rem;
      margin-bottom: 0.55rem;
    }
.gl-ai-msg{
      font-size: 0.625rem;
      line-height: 1.5;
      padding: 0.45rem 0.55rem;
      border-radius: 0.65rem;
      max-width: 92%;
    }
.gl-ai-msg--user{
      align-self: flex-end;
      color: rgba(255,255,255,0.9);
      background: rgba(99, 102, 241, 0.35);
      border: 1px solid rgba(129, 140, 248, 0.35);
    }
.gl-ai-msg--ai{
      align-self: flex-start;
      color: #ecfdf5;
      background: rgba(6, 78, 59, 0.55);
      border: 1px solid rgba(110, 231, 183, 0.25);
      min-height: 2.6rem;
    }
.gl-ai-cursor{
      display: inline-block;
      width: 1.5px;
      height: 0.85em;
      margin-left: 1px;
      vertical-align: text-bottom;
      background: #6ee7b7;
      animation: gl-blink 0.75s step-end infinite;
    }
.gl-ai-mini-chart{
      display: flex;
      align-items: flex-end;
      gap: 0.3rem;
      height: 2.75rem;
      padding: 0.35rem 0.4rem 0;
      border-radius: 0.65rem;
      background: rgba(0,0,0,0.15);
      border: 1px solid rgba(255,255,255,0.08);
    }
.gl-ai-bar{
      flex: 1;
      border-radius: 0.25rem 0.25rem 0 0;
      background: linear-gradient(180deg, #6ee7b7, #059669);
      transform-origin: bottom;
      transform: scaleY(0);
      opacity: 0.85;
    }
.gl-ai-bar.is-animated{ animation: gl-bar-grow 0.9s ease forwards; }
.gl-ai-bar:nth-child(2){ animation-delay: 0.08s; background: linear-gradient(180deg, #93c5fd, #2563eb); }
.gl-ai-bar:nth-child(3){ animation-delay: 0.16s; }
.gl-ai-bar:nth-child(4){ animation-delay: 0.24s; background: linear-gradient(180deg, #fde68a, #d97706); }
.gl-ai-bar:nth-child(5){ animation-delay: 0.32s; }
.gl-ai-bar:nth-child(6){ animation-delay: 0.4s; background: linear-gradient(180deg, #c4b5fd, #7c3aed); }
.gl-ai-bar:nth-child(7){ animation-delay: 0.48s; }
.gl-cred{
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0.55rem;
    }
.gl-cred-card{
      text-align: center;
      padding: 0.9rem 0.5rem;
      border-radius: 1rem;
      background: var(--gl-surface);
      border: 1px solid var(--gl-line);
      box-shadow: 0 4px 16px -8px rgba(15, 23, 42, 0.1);
      transition: transform 0.2s, box-shadow 0.2s;
    }
.gl-cred-card:hover{
      transform: translateY(-2px);
      box-shadow: 0 10px 24px -10px rgba(16, 185, 129, 0.25);
    }
.gl-cred-val{
      font-size: 1.25rem;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--gl-ink);
    }
.gl-cred-val span{ color: #059669; }
.gl-cred-lbl{
      font-size: 0.5625rem;
      color: var(--gl-muted);
      margin-top: 0.2rem;
      line-height: 1.35;
      font-weight: 600;
    }
.gl-pain-grid, .gl-fix-grid{
      display: grid;
      grid-template-columns: 1fr;
      gap: 0.55rem;
    }
.gl-pain-card, .gl-fix-card{
      border-radius: 1.1rem;
      padding: 0.95rem;
      border: 1px solid var(--gl-line);
      transition: transform 0.2s, border-color 0.2s;
    }
.gl-pain-card{
      background: linear-gradient(180deg, #fef2f2 0%, #fff 100%);
      border-color: #fecaca;
    }
.gl-fix-card{
      background: linear-gradient(180deg, #ecfdf5 0%, #fff 100%);
      border-color: #a7f3d0;
    }
.gl-pain-card:hover, .gl-fix-card:hover{ transform: translateY(-2px); }
.gl-pain-icon, .gl-fix-icon{
      font-size: 1.25rem;
      margin-bottom: 0.35rem;
    }
.gl-pain-card h3, .gl-fix-card h3{
      font-size: 0.75rem;
      font-weight: 800;
      margin: 0 0 0.25rem;
      color: var(--gl-ink);
    }
.gl-pain-card p, .gl-fix-card p{
      font-size: 0.625rem;
      line-height: 1.45;
      color: var(--gl-muted);
      margin: 0;
    }
.gl-demo-dash{
      border-radius: 1.1rem;
      border: 1px solid var(--gl-line);
      background: linear-gradient(180deg, #0f172a 0%, #134e4a 100%);
      padding: 0.85rem;
      color: #fff;
      overflow: hidden;
    }
.gl-demo-dash-head{
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 0.65rem;
      font-size: 0.625rem;
      font-weight: 700;
      letter-spacing: 0.04em;
    }
.gl-demo-kpis{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.4rem;
      margin-bottom: 0.65rem;
    }
.gl-demo-kpi{
      border-radius: 0.65rem;
      padding: 0.45rem;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.1);
    }
.gl-demo-kpi-lbl{ font-size: 0.5rem; color: rgba(255,255,255,0.55); text-transform: uppercase; }
.gl-demo-kpi-val{ font-size: 0.85rem; font-weight: 800; margin-top: 0.1rem; }
.gl-demo-kpi-val.up{ color: #6ee7b7; }
.gl-demo-chart{
      display: flex;
      align-items: flex-end;
      gap: 0.35rem;
      height: 3.5rem;
      padding-top: 0.25rem;
    }
.gl-demo-chart-bar{
      flex: 1;
      border-radius: 0.3rem 0.3rem 0 0;
      background: linear-gradient(180deg, #6ee7b7, #047857);
      transform-origin: bottom;
      transform: scaleY(0);
    }
.gl-demo-chart-bar.is-animated{ animation: gl-bar-grow 1s ease forwards; }
.gl-demo-chart-bar.alt{ background: linear-gradient(180deg, #fbbf24, #b45309); }
.gl-testimonials{
      display: grid;
      grid-template-columns: 1fr;
      gap: 0.65rem;
    }
.gl-quote{
      border-radius: 1.1rem;
      padding: 1rem;
      border: 1px solid var(--gl-line);
      background: #fff;
      transition: box-shadow 0.2s;
    }
.gl-quote:hover{ box-shadow: 0 10px 28px -14px rgba(15, 23, 42, 0.18); }
.gl-quote p{
      font-size: 0.6875rem;
      line-height: 1.55;
      color: #3f3f46;
      margin: 0 0 0.65rem;
      font-style: italic;
    }
.gl-quote cite{
      font-size: 0.5625rem;
      font-style: normal;
      font-weight: 700;
      color: var(--gl-muted);
    }
.gl-faq{ display: flex; flex-direction: column; gap: 0.45rem; }
.gl-faq details{
      border-radius: 0.85rem;
      border: 1px solid var(--gl-line);
      background: #fafafa;
      overflow: hidden;
    }
.gl-faq summary{
      padding: 0.75rem 0.9rem;
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--gl-ink);
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
    }
.gl-faq summary::-webkit-details-marker{ display: none; }
.gl-faq summary::after{ content: '+'; font-weight: 800; color: #059669; }
.gl-faq details[open] summary::after{ content: '−'; }
.gl-faq details p{
      margin: 0;
      padding: 0 0.9rem 0.75rem;
      font-size: 0.6875rem;
      line-height: 1.5;
      color: var(--gl-muted);
    }
.gl-spotlight-grid{
      display: grid;
      grid-template-columns: 1fr;
      gap: 0.65rem;
    }
.gl-spotlight-demo{
      border-radius: 1.1rem;
      padding: 0.85rem;
      background: #0f172a;
      border: 1px solid rgba(255,255,255,0.1);
      color: #fff;
      font-size: 0.625rem;
      line-height: 1.55;
    }
.gl-spotlight-line{ margin-bottom: 0.35rem; color: rgba(255,255,255,0.85); }
.gl-spotlight-line strong{ color: #6ee7b7; font-weight: 700; }
.gl-spotlight-scan{
      margin-top: 0.55rem;
      padding: 0.5rem;
      border-radius: 0.55rem;
      background: rgba(255,255,255,0.06);
      border: 1px dashed rgba(110, 231, 183, 0.35);
      font-size: 0.5625rem;
      color: rgba(255,255,255,0.7);
    }
.catalog-stock-viz .shelf-viz,
    .catalog-mobile-level .shelf-viz,
    .catalog-level-cell .shelf-viz{
      overflow: hidden !important;
    }
.catalog-stock-viz .shelf-viz.shelf-cig-wall,
    .catalog-stock-viz .shelf-viz.shelf-cooler,
    .catalog-stock-viz .shelf-viz.shelf-pouch,
    .catalog-stock-viz .shelf-viz.shelf-cigarette,
    .catalog-stock-viz .shelf-viz.shelf-cigar,
    .catalog-mobile-level .shelf-viz.shelf-cig-wall,
    .catalog-mobile-level .shelf-viz.shelf-cooler,
    .catalog-level-cell .shelf-viz.shelf-cig-wall,
    .catalog-level-cell .shelf-viz.shelf-cooler{
      overflow: hidden !important;
      border-radius: 0.45rem;
    }
.catalog-stock-viz .shelf-viz-xs,
    .catalog-mobile-level .shelf-viz-xs,
    .catalog-level-cell .shelf-viz-xs{
      width: 2rem !important;
      height: 2rem !important;
      min-width: 2rem;
      min-height: 2rem;
      max-width: 2rem;
      max-height: 2rem;
    }
.catalog-stock-viz .shelf-cig-wall-frame,
    .catalog-stock-viz .shelf-cooler-frame-lite,
    .catalog-stock-viz .shelf-pouch-stage,
    .catalog-stock-viz .shelf-cigarette,
    .catalog-stock-viz .shelf-cigar{
      width: 100%;
      height: 100%;
      overflow: hidden;
    }
.catalog-stock-viz .shelf-viz-tag,
    .catalog-mobile-level .shelf-viz-tag{
      display: none !important;
    }
.shelf-viz{
      --fill-pct: 50;
      --bottle-fill: 50;
      position: relative;
      display: flex; align-items: flex-end; justify-content: center;
      border-radius: 0.65rem;
      border: 1px solid #e4e4e7;
      background: linear-gradient(165deg, #fafafa 0%, #f4f4f5 100%);
      overflow: hidden;
      flex-shrink: 0;
    }
.shelf-viz.shelf-cooler,
    .shelf-viz.shelf-cig-wall{
      border: none;
      background: transparent;
      overflow: visible;
    }
.shelf-viz-xs{ width: 2rem; height: 2rem; }
.shelf-viz-sm{ width: 2.75rem; height: 2.75rem; }
.shelf-viz-md{ width: 3rem; height: 3rem; }
.shelf-viz-lg{ width: 3.75rem; height: 3.75rem; }
.shelf-viz-tag{
      position: absolute; top: 2px; right: 2px;
      font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em;
      background: rgba(239, 68, 68, 0.92); color: #fff; border-radius: 4px; padding: 1px 3px; z-index: 2;
    }
.shelf-beer-mug{
      width: 58%; height: 78%; margin-bottom: 8%;
      border: 2px solid rgba(146, 64, 14, 0.45);
      border-radius: 0 0 10px 10px;
      position: relative; overflow: hidden;
      background: rgba(255, 255, 255, 0.35);
    }
.shelf-beer-foam{
      position: absolute; top: 0; left: 0; right: 0; height: 18%;
      background: linear-gradient(180deg, #fffbeb, #fef3c7);
      z-index: 2;
    }
.shelf-beer-liquid{
      position: absolute; left: 0; right: 0; bottom: 0;
      height: calc(var(--fill-pct, 50) * 1%);
      background: linear-gradient(180deg, #fbbf24 0%, #d97706 55%, #b45309 100%);
      transition: height 0.35s ease;
      z-index: 1;
    }
.shelf-beer-drip{
      position: absolute; right: 18%; bottom: -2px; width: 3px; height: 8px;
      background: #d97706; border-radius: 0 0 3px 3px;
      animation: shelf-beer-drip 1.6s ease-in-out infinite;
    }
.shelf-beer.shelf-low .shelf-beer-liquid{ animation: shelf-beer-slosh 2.2s ease-in-out infinite; }
.shelf-beer.shelf-empty .shelf-beer-liquid{ height: 0 !important; }
.shelf-beer.shelf-empty .shelf-beer-foam{ opacity: 0.35; }
.shelf-cigarette{ background: linear-gradient(165deg, #fff7ed, #ffedd5); }
.shelf-cig-pack{
      position: absolute; bottom: 10%; left: 14%; right: 14%; height: 34%;
      background: linear-gradient(180deg, #fdba74, #ea580c);
      border-radius: 3px 3px 5px 5px;
      border: 1px solid rgba(154, 52, 18, 0.35);
    }
.shelf-cig-row{
      position: absolute; bottom: 38%; left: 18%; right: 18%;
      display: flex; justify-content: center; gap: 2px; height: 42%;
      align-items: flex-end;
    }
.shelf-cig-stick{
      width: 3px; height: 0; background: linear-gradient(180deg, #fefce8, #fef08a 40%, #fff 85%);
      border-radius: 2px 2px 0 0; border: 1px solid rgba(161, 98, 7, 0.25);
      transition: height 0.25s ease;
    }
.shelf-cig-stick.up{ height: 88%; }
.shelf-cig-ember{
      position: absolute; top: 16%; left: 50%; transform: translateX(-50%);
      width: 6px; height: 6px; border-radius: 999px;
    }
.shelf-cig-ember-lit{
      background: #fb923c;
      box-shadow: 0 0 6px 2px rgba(251, 146, 60, 0.85), 0 0 12px 4px rgba(234, 88, 12, 0.45);
      animation: shelf-ember-glow 1.8s ease-in-out infinite;
    }
.shelf-cig-ember-flicker{
      background: #f97316;
      box-shadow: 0 0 4px 1px rgba(249, 115, 22, 0.55);
      animation: shelf-ember-die 1.2s ease-in-out infinite;
    }
.shelf-cig-ember-out{ display: none; }
.shelf-cigarette.shelf-empty .shelf-cig-pack{ filter: grayscale(0.85); opacity: 0.65; }
.shelf-cooler-beer .shelf-beer-drip{
      position: absolute;
      right: 20%;
      bottom: 0;
      width: 2px;
      height: 10%;
      background: #d97706;
      z-index: 4;
    }
.shelf-cig-wall-frame{
      position: relative;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
      border-radius: 0.5rem;
      border: 1px solid rgba(180, 83, 9, 0.2);
      overflow: hidden;
    }
.shelf-cig-wall-shelf{
      position: absolute;
      left: 0;
      right: 0;
      bottom: 18%;
      height: 4px;
      background: linear-gradient(180deg, #d6d3d1, #a8a29e);
      box-shadow: 0 2px 4px rgba(0,0,0,0.12);
      z-index: 2;
    }
.shelf-cig-stack{
      position: absolute;
      left: 10%;
      right: 10%;
      bottom: 20%;
      height: 68%;
      transform-style: preserve-3d;
      perspective: 120px;
    }
.shelf-cig-carton{
      position: absolute;
      left: 8%;
      right: 8%;
      bottom: 0;
      height: 88%;
      transform-origin: bottom center;
    }
.shelf-cig-carton-d1{ transform: translateZ(18px) scale(1); z-index: 5; }
.shelf-cig-carton-d2{ transform: translateZ(8px) translateY(-3px) scale(0.94); z-index: 4; opacity: 0.92; }
.shelf-cig-carton-d3{ transform: translateZ(0px) translateY(-6px) scale(0.88); z-index: 3; opacity: 0.86; }
.shelf-cig-carton-d4{ transform: translateZ(-8px) translateY(-9px) scale(0.82); z-index: 2; opacity: 0.78; }
.shelf-cig-carton-flap{
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 14%;
      background: linear-gradient(180deg, #fdba74, #f97316);
      border-radius: 3px 3px 0 0;
      border: 1px solid rgba(154, 52, 18, 0.3);
      z-index: 2;
    }
.shelf-cig-carton-side{
      position: absolute;
      top: 12%;
      right: -4%;
      width: 8%;
      height: 78%;
      background: linear-gradient(90deg, #ea580c, #c2410c);
      transform: skewY(-2deg);
      border-radius: 0 2px 2px 0;
      z-index: 0;
      opacity: 0.7;
    }
.shelf-cig-carton-face{
      position: absolute;
      top: 12%;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(180deg, #fed7aa 0%, #fdba74 40%, #ea580c 100%);
      border: 1px solid rgba(154, 52, 18, 0.35);
      border-radius: 0 0 6px 6px;
      overflow: hidden;
      box-shadow: inset 0 -4px 8px rgba(0,0,0,0.08);
    }
.shelf-cig-carton-brand{
      position: absolute;
      top: 35%;
      left: 15%;
      right: 15%;
      height: 28%;
      background: linear-gradient(180deg, #fff7ed, #ffedd5);
      border: 1px solid rgba(180, 83, 9, 0.25);
      border-radius: 2px;
    }
.shelf-cig-wall .shelf-cig-row{
      position: absolute;
      bottom: 28%;
      left: 20%;
      right: 20%;
      display: flex;
      justify-content: center;
      gap: 2px;
      height: 38%;
      align-items: flex-end;
      z-index: 3;
    }
.shelf-cig-wall .shelf-cig-stick.up{ height: 90%; }
.shelf-cig-gap{
      position: absolute;
      inset: 20% 15%;
      border: 1px dashed rgba(180, 83, 9, 0.35);
      border-radius: 4px;
    }
.shelf-cigarette.shelf-empty .shelf-cig-carton{ filter: grayscale(0.7); opacity: 0.55; }
.shelf-viz-lg.shelf-cooler,
    .shelf-viz-lg.shelf-cig-wall{ width: 3.85rem; height: 4.35rem; }
.shelf-viz-sm.shelf-cooler,
    .shelf-viz-sm.shelf-cig-wall{ width: 2.85rem; height: 3.25rem; }
.dshelf-rack-cooler .product-shelf-combo-dshelf .combo-viz .shelf-viz-lg{
      width: 3.85rem;
      height: 4.35rem;
    }
.shelf-cig-carton .shelf-cig-carton-face{ background: linear-gradient(145deg, #fef3c7, #fde68a); }
.shelf-cig-carton .shelf-cig-carton-brand{ background: linear-gradient(90deg, #92400e, #b45309); }
.shelf-viz-lg.shelf-pouch{ width: 3.5rem; height: 3.9rem; }
.shelf-viz-sm.shelf-pouch{ width: 2.75rem; height: 3.1rem; }
.shelf-cig-wall-lite .shelf-cig-carton-d3,
    .shelf-cig-wall-lite .shelf-cig-carton-d4{ display: none; }
.shelf-viz-lg.shelf-cooler-lite,
    .shelf-viz-lg.shelf-cig-wall-lite{ width: 3.5rem; height: 3.9rem; }
.dshelf-chip-count{
      font-size: 0.58rem;
      font-weight: 900;
      margin-left: 0.2rem;
      opacity: 0.9;
    }
.dshelf-modern .product-shelf-combo-dshelf .combo-viz .shelf-viz-lg{
      width: 3.5rem;
      height: 3.9rem;
    }
.dshelf-spotlight-viz .shelf-viz-lg{ width: 4.25rem; height: 4.75rem; }
.shelf-wine{ background: linear-gradient(165deg, #faf5ff, #f3e8ff); }
.shelf-wine-neck{
      position: absolute; top: 8%; left: 50%; transform: translateX(-50%);
      width: 16%; height: 22%; background: #581c87; border-radius: 3px 3px 0 0; opacity: 0.85;
    }
.shelf-wine-body{
      position: absolute; bottom: 12%; left: 26%; right: 26%; height: 58%;
      border: 2px solid rgba(88, 28, 135, 0.45); border-radius: 4px 4px 10px 10px;
      overflow: hidden; background: rgba(255,255,255,0.25);
    }
.shelf-wine-fill{
      position: absolute; left: 0; right: 0; bottom: 0;
      height: calc(var(--fill-pct, 50) * 1%);
      background: linear-gradient(180deg, #a855f7, #6b21a8);
      transition: height 0.35s ease;
    }
.shelf-wine.shelf-low .shelf-wine-fill{ animation: shelf-wine-pulse 2s ease-in-out infinite; }
@keyframes shelf-beer-slosh{
      0%, 100% { transform: skewX(0deg); }
      50% { transform: skewX(-3deg); }
    }
@keyframes shelf-beer-drip{
      0%, 100% { opacity: 0.3; transform: translateY(0); }
      50% { opacity: 1; transform: translateY(2px); }
    }
@keyframes shelf-wine-pulse{
      0%, 100% { opacity: 1; }
      50% { opacity: 0.72; }
    }
body.guest-mode #feature-browser-tab,
    body.auth-booting:not(.guest-mode) #feature-browser-tab{ display: none !important; }
/* ── Landing redesign v420 ── */
.gl-landing-full .gl-founder-card {
  border-radius: 1.25rem;
  border: 1px solid rgba(16, 185, 129, 0.18);
  background: linear-gradient(135deg, #ecfdf5 0%, #fff 55%);
  box-shadow: 0 4px 20px -10px rgba(5, 150, 105, 0.2);
}
.gl-landing-full .gl-pos-band {
  border-radius: 1.5rem;
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  background:
    radial-gradient(ellipse 70% 80% at 100% 0%, rgba(52, 211, 153, 0.25), transparent 55%),
    linear-gradient(135deg, #064e3b 0%, #0f172a 100%);
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 20px 40px -16px rgba(6, 78, 59, 0.4);
}
.gl-landing-full .gl-plan-pro {
  border-color: rgba(245, 158, 11, 0.35);
  box-shadow: 0 12px 32px -12px rgba(245, 158, 11, 0.25);
}
.gl-landing-full .gl-feat {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gl-landing-full .gl-feat:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.15);
}
@media (min-width: 768px) {
  .gl-landing-full .gl-shelf-aisle-wide {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .gl-landing-full .gl-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
