:root{--spot-bg-deep:#0d1b2a;--spot-bg-mid:#14304a;--spot-bg-soft:#eaf6f0;--spot-accent-1:#2ecc71;--spot-accent-2:#27ae60;--spot-accent-3:#38d9a9;--spot-accent-4:#4fc3f7;--spot-accent-5:#a78bfa;--spot-accent-warm:#ffb454;--spot-glass-bg:#ffffffb8;--spot-glass-border:#ffffff8c;--spot-glass-shadow:0 18px 48px #0d1b2a2e, 0 2px 8px #0d1b2a14;--spot-ring:0 0 0 4px #2ecc712e;--spot-radius-xl:22px}html,body{min-height:100%}body{background:linear-gradient(135deg,#eaf6f0 0%,#d6ecff 45%,#f4e7ff 100%) fixed;position:relative}.spot-bg-layer{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.spot-bg-layer:before,.spot-bg-layer:after,.spot-bg-layer .blob{content:"";filter:blur(80px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.spot-bg-layer:before{background:radial-gradient(circle at 30% 30%,#38d9a9,#0000 70%);width:520px;height:520px;animation:18s ease-in-out infinite alternate spot-float-a;top:-160px;left:-120px}.spot-bg-layer:after{background:radial-gradient(circle at 60% 40%,#4fc3f7,#0000 70%);width:600px;height:600px;animation:22s ease-in-out infinite alternate spot-float-b;bottom:-200px;right:-180px}.spot-bg-layer .blob.b3{opacity:.35;background:radial-gradient(circle,#a78bfa,#0000 70%);width:420px;height:420px;animation:26s ease-in-out infinite alternate spot-float-c;top:35%;left:50%;transform:translate(-50%,-50%)}.spot-bg-layer .blob.b4{opacity:.35;background:radial-gradient(circle,#ffb454,#0000 70%);width:360px;height:360px;animation:28s ease-in-out infinite alternate-reverse spot-float-a;top:8%;right:18%}.spot-bg-layer .grid{opacity:.6;background-image:radial-gradient(#0d1b2a14 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#0009 30%,#0000 75%);mask-image:radial-gradient(#0009 30%,#0000 75%)}@keyframes spot-float-a{0%{transform:translate(0)scale(1)}to{transform:translate(60px,40px)scale(1.08)}}@keyframes spot-float-b{0%{transform:translate(0)scale(1)}to{transform:translate(-50px,-30px)scale(1.12)}}@keyframes spot-float-c{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-46%,-56%)scale(1.1)}}@media (prefers-reduced-motion:reduce){.spot-bg-layer:before,.spot-bg-layer:after,.spot-bg-layer .blob{animation:none!important}}.navbar{-webkit-backdrop-filter:saturate(160%)blur(14px);background:linear-gradient(120deg,#0d1b2aeb,#14304aeb)!important;border-bottom:1px solid #ffffff0f!important;box-shadow:0 8px 24px #0d1b2a47!important}.navbar-brand a{background:linear-gradient(90deg,#fff,#d5f5e3 60%,#38d9a9);text-shadow:0 1px #0000000f;-webkit-background-clip:text;background-clip:text;color:#0000!important}.main-content{z-index:1;position:relative}.page,.page-header,.card,.section-card,.dashboard-card,.optimize-card,.checkout-card,.lists-sidebar,.lists-main,.savings-summary,.deals-grid>*,.product-card{background:var(--spot-glass-bg);-webkit-backdrop-filter:saturate(140%)blur(10px);border:1px solid var(--spot-glass-border);box-shadow:var(--spot-glass-shadow);border-radius:var(--spot-radius-xl)}.page-header{background:linear-gradient(135deg, #2ecc712e, #4fc3f72e), var(--spot-glass-bg);margin-bottom:1.4rem;padding:1.6rem 1.8rem;position:relative;overflow:hidden}.page-header:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#2ecc7159,#0000 45%),radial-gradient(circle at 100% 100%,#4fc3f747,#0000 50%);position:absolute;inset:0}.page-header>*{position:relative}.page-header h1{background:linear-gradient(90deg,#0d1b2a 10%,#27ae60 55%,#4fc3f7);color:#0000;letter-spacing:-.4px;-webkit-background-clip:text;background-clip:text}.page-subtitle{color:#2c3e50;opacity:.85}.product-card,.deals-grid>*,.dashboard-card{transition:transform .25s,box-shadow .25s,border-color .25s}.product-card:hover,.deals-grid>:hover,.dashboard-card:hover{border-color:#2ecc7173;transform:translateY(-3px);box-shadow:0 24px 48px #0d1b2a2e}.btn,button.btn{letter-spacing:.2px;border-radius:999px;font-weight:600;transition:transform .18s,box-shadow .2s,filter .2s;position:relative;overflow:hidden}.btn-primary,button.btn-primary{box-shadow:0 10px 24px #27ae6059;color:#fff!important;background:linear-gradient(135deg,#2ecc71,#27ae60 55%,#1b9e57)!important;border:none!important}.btn-primary:hover,button.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 14px 32px #27ae606b}.btn-primary:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000,#ffffff59,#0000);width:60%;height:340%;transition:transform .6s;position:absolute;top:-120%;left:-40%;transform:rotate(20deg)}.btn-primary:hover:after{transform:rotate(20deg)translate(260%)}.btn-outline,button.btn-outline{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#1b9e57!important;background:#fff9!important;border:1.5px solid #27ae6073!important}.btn-outline:hover,button.btn-outline:hover{transform:translateY(-1px);background:#2ecc711f!important}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=tel],input[type=date],select,textarea{transition:border-color .2s,box-shadow .2s,background .2s;background:#ffffffd9!important;border:1px solid #0d1b2a1f!important;border-radius:12px!important}input:focus,select:focus,textarea:focus{box-shadow:var(--spot-ring)!important;background:#fff!important;border-color:#2ecc71b3!important;outline:none!important}.footer{position:relative;overflow:hidden;color:#e6edf3!important;background:linear-gradient(135deg,#0d1b2a 0%,#14304a 60%,#1b3b5f 100%)!important}.footer:before{content:"";opacity:.95;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'><path d='M0,40 C240,80 480,0 720,40 C960,80 1200,0 1440,40 L1440,0 L0,0 Z' fill='%23f4e7ff'/></svg>");background-size:100% 100%;height:40px;position:absolute;top:-1px;left:0;right:0}.footer-links a{transition:color .2s,transform .2s;display:inline-block;color:#cfe9da!important}.footer-links a:hover{transform:translateY(-1px);color:#fff!important}.hero,.home-hero,.landing-hero{border-radius:var(--spot-radius-xl);box-shadow:var(--spot-glass-shadow);background:radial-gradient(circle at 15% 25%,#2ecc7138,#0000 55%),radial-gradient(circle at 90% 80%,#4fc3f738,#0000 55%),linear-gradient(135deg,#fff,#eaf6f0 70%);padding:3rem 2rem;position:relative;overflow:hidden}.hero:after,.home-hero:after,.landing-hero:after{content:"";opacity:.35;pointer-events:none;background-image:radial-gradient(#0d1b2a14 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000b3,#0000 80%);mask-image:linear-gradient(#000000b3,#0000 80%)}.badge,.chip,.tag{color:#14532d;background:linear-gradient(135deg,#2ecc7126,#4fc3f726);border:1px solid #2ecc714d;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#0d1b2a0a}::-webkit-scrollbar-thumb{background:linear-gradient(#38d9a9,#27ae60) padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#2ecc71,#1b9e57) padding-box padding-box;border:3px solid #0000}.section-wave{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'><path d='M0,40 C240,0 480,80 720,40 C960,0 1200,80 1440,40 L1440,80 L0,80 Z' fill='%232ecc71' fill-opacity='0.18'/></svg>");background-size:100% 100%;height:60px}table{border-collapse:separate;border-spacing:0;background:var(--spot-glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;width:100%;overflow:hidden;box-shadow:0 4px 18px #0d1b2a14}table th{color:#0d1b2a;text-align:left;background:linear-gradient(135deg,#2ecc712e,#4fc3f72e);padding:.7rem .9rem;font-size:.9rem}table td{border-top:1px solid #0d1b2a0f;padding:.65rem .9rem}table tr:hover td{background:#2ecc710d}.loading{text-align:center;color:#14532d;padding:2rem;font-weight:600;position:relative}.loading:after{content:"";border:4px solid #2ecc7133;border-top-color:#2ecc71;border-radius:50%;width:56px;height:56px;margin:1rem auto 0;animation:.9s linear infinite spot-spin;display:block}@keyframes spot-spin{to{transform:rotate(360deg)}}.checkbox-row{color:#1f2933;align-items:center;gap:.6rem;padding:.55rem 0;display:flex}input[type=checkbox],input[type=radio]{accent-color:#27ae60;width:18px;height:18px}.elevate{box-shadow:var(--spot-glass-shadow);border-radius:var(--spot-radius-xl)}.spot-companion,.spot-mascot,.location-prompt{z-index:5}.page .card,.page>.card,.page>section.card{margin-top:1rem;padding:1.4rem 1.6rem}.page>.card+.card,.page>section+section{margin-top:1.25rem}.product-chip-grid .product-chip{white-space:nowrap;text-overflow:ellipsis;text-align:center;width:100%;min-width:0;min-height:2.5rem;line-height:1.4;display:inline-block;overflow:hidden}ul.basket-list>li,li.basket-row,.basket-row{border:1px solid var(--spot-glass-border);background:#ffffff8c;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.55rem .85rem;line-height:1.35;display:flex;list-style:none!important}.basket-row>span{overflow-wrap:anywhere;min-width:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.spot-mascot-svg{-webkit-user-select:none;user-select:none;line-height:0;transition:transform .25s;display:inline-block;position:relative}.spot-mascot-svg svg{overflow:visible}.spot-mascot-svg.spot-flip{transform:scaleX(-1)}.footer-brand-row{align-items:center;gap:.5rem;display:flex}.sm-tail{transform-origin:150px 158px;animation:.55s ease-in-out infinite alternate sm-wag}.sm-ear-left{transform-origin:60px 60px;animation:1.6s ease-in-out infinite alternate sm-ear-flop}.sm-eye-left,.sm-eye-right{transform-origin:50%;transform-box:fill-box;animation:4.5s ease-in-out infinite sm-blink}.sm-eye-right{animation-delay:.15s}.sm-tongue{transform-origin:100px 148px;animation:.8s ease-in-out infinite alternate sm-tongue-pant}.sm-head{animation:3.2s ease-in-out infinite sm-breathe}@keyframes sm-wag{0%{transform:rotate(-22deg)}to{transform:rotate(22deg)}}@keyframes sm-ear-flop{0%{transform:rotate(-3deg)}to{transform:rotate(8deg)}}@keyframes sm-blink{0%,92%,to{transform:scaleY(1)}95%,98%{transform:scaleY(.1)}}@keyframes sm-tongue-pant{0%{transform:translateY(0)scaleY(1)}to{transform:translateY(2px)scaleY(1.1)}}@keyframes sm-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}.spot-mood-idle{animation:2.8s ease-in-out infinite sm-bounce}@keyframes sm-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.spot-mood-searching .sm-head{animation:.9s ease-in-out infinite sm-sniff}.spot-mood-searching .sm-magnifier{transform-origin:148px 118px;animation:1.6s ease-in-out infinite sm-magnifier-pop;opacity:1!important}@keyframes sm-sniff{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(-5deg)translateY(-1px)}75%{transform:rotate(5deg)translateY(-1px)}}@keyframes sm-magnifier-pop{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.12)rotate(-8deg)}}.spot-mood-happy .sm-tail{animation-duration:.28s}.spot-mood-happy{animation:.6s ease-in-out infinite sm-bounce}.spot-mood-happy .sm-blush{transition:opacity .4s;opacity:.85!important}.spot-mood-celebrate{animation:1.1s ease-in-out infinite sm-celebrate}.spot-mood-celebrate .sm-tail{animation-duration:.22s}.spot-mood-celebrate .sm-sparkles{animation:1.4s ease-in-out infinite sm-sparkle;opacity:1!important}.spot-mood-celebrate .sm-blush{opacity:.9!important}@keyframes sm-celebrate{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-10px)rotate(-4deg)}50%{transform:translateY(-2px)rotate(0)}75%{transform:translateY(-10px)rotate(4deg)}}@keyframes sm-sparkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.spot-mood-sleep .sm-eye-left,.spot-mood-sleep .sm-eye-right{animation:none;transform:scaleY(.08)}.spot-mood-sleep .sm-tail{animation:none;transform:rotate(0)}.spot-mood-sleep .sm-ear-left{animation:none}.spot-mood-sleep .sm-tongue{display:none}.spot-mood-sleep .sm-head{animation:3.5s ease-in-out infinite sm-head-bob}.spot-mood-sleep .sm-zzz{animation:2.2s ease-out infinite sm-zzz-float;opacity:1!important}@keyframes sm-head-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(2px)rotate(-3deg)}}@keyframes sm-zzz-float{0%{opacity:0;transform:translate(0)}30%{opacity:1}to{opacity:0;transform:translate(8px,-14px)}}.spot-mood-walk{animation:.55s ease-in-out infinite sm-walk-bob}.spot-mood-walk .sm-leg-bl{animation:.55s ease-in-out infinite sm-leg-cycle}.spot-mood-walk .sm-leg-br{animation:.55s ease-in-out -.275s infinite sm-leg-cycle}.spot-mood-walk .sm-paw-bl{animation:.55s ease-in-out infinite sm-leg-cycle}.spot-mood-walk .sm-paw-br,.spot-mood-walk .sm-paw-fl{animation:.55s ease-in-out -.275s infinite sm-leg-cycle}.spot-mood-walk .sm-paw-fr{animation:.55s ease-in-out infinite sm-leg-cycle}.spot-mood-walk .sm-tail{animation-duration:.4s}@keyframes sm-walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes sm-leg-cycle{0%,to{transform:rotate(-12deg)}50%{transform:rotate(14deg)}}.spot-mood-sit .sm-leg-bl,.spot-mood-sit .sm-leg-br{transform-origin:top;transform:scaleY(.55)translateY(8px)}.spot-mood-sit .sm-paw-bl,.spot-mood-sit .sm-paw-br{transform:translateY(-6px)}.spot-mood-sit .sm-head{animation:2.4s ease-in-out infinite sm-breathe;transform:translateY(-2px)}.spot-mood-spin{transform-origin:50%;animation:1s linear infinite sm-spin}@keyframes sm-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.spot-mood-roll{transform-origin:50%;animation:1.4s ease-in-out infinite sm-roll}@keyframes sm-roll{0%{transform:rotate(0)translate(0)}50%{transform:rotate(180deg)translate(8px)}to{transform:rotate(360deg)translate(0)}}.spot-mood-jump{animation:.9s ease-out infinite sm-jump}.spot-mood-jump .sm-shadow{animation:.9s ease-out infinite sm-shadow-shrink}@keyframes sm-jump{0%,to{transform:translateY(0)scaleY(1)}20%{transform:translateY(2px)scaleY(.92)}50%{transform:translateY(-32px)scaleY(1.05)}80%{transform:translateY(2px)scaleY(.94)}}@keyframes sm-shadow-shrink{0%,to{opacity:.22;transform:scale(1)}50%{opacity:.1;transform:scale(.5)}}.spot-mood-beg{transform-origin:100px 195px;animation:1.6s ease-in-out infinite sm-beg}.spot-mood-beg .sm-paw-fl{animation:.6s ease-in-out infinite alternate sm-paw-wave}.spot-mood-beg .sm-paw-fr{animation:.6s ease-in-out infinite alternate-reverse sm-paw-wave}@keyframes sm-beg{0%,to{transform:rotate(-6deg)translateY(-2px)}50%{transform:rotate(-10deg)translateY(-6px)}}@keyframes sm-paw-wave{0%{transform:translateY(-8px)rotate(-15deg)}to{transform:translateY(-12px)rotate(15deg)}}.spot-mood-dig .sm-paw-fl{transform-origin:85px 155px;animation:.32s ease-in-out infinite sm-dig-paw}.spot-mood-dig .sm-paw-fr{transform-origin:115px 155px;animation:.32s ease-in-out -.16s infinite sm-dig-paw}.spot-mood-dig .sm-head{animation:.6s ease-in-out infinite sm-head-down}.spot-mood-dig .sm-dirt{animation:.6s ease-out infinite sm-dirt-fly;opacity:1!important}@keyframes sm-dig-paw{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(-25deg)}}@keyframes sm-head-down{0%,to{transform:translateY(2px)rotate(0)}50%{transform:translateY(5px)rotate(-3deg)}}@keyframes sm-dirt-fly{0%{opacity:0;transform:translate(0)}50%{opacity:1}to{opacity:0;transform:translate(-12px,-18px)}}.spot-mood-bark .sm-head{animation:.4s ease-in-out infinite sm-bark-head}.spot-mood-bark .sm-tongue{display:none}.spot-mood-bark .sm-woof{transform-origin:42px 60px;animation:.6s ease-out infinite sm-woof-pop;opacity:1!important}@keyframes sm-bark-head{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(-4deg)}}@keyframes sm-woof-pop{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.2)}}.spot-mood-dance{animation:.7s ease-in-out infinite sm-dance}.spot-mood-dance .sm-tail{animation-duration:.18s}.spot-mood-dance .sm-paw-fl{animation:.35s ease-in-out infinite alternate sm-paw-wave}.spot-mood-dance .sm-paw-fr{animation:.35s ease-in-out infinite alternate-reverse sm-paw-wave}@keyframes sm-dance{0%,to{transform:rotate(-8deg)translateY(0)}25%{transform:rotate(0)translateY(-6px)}50%{transform:rotate(8deg)translateY(0)}75%{transform:rotate(0)translateY(-6px)}}.spot-mood-fetch .sm-bone{animation:1.2s ease-in-out infinite sm-bone-pop;opacity:1!important}.spot-mood-fetch .sm-tail{animation-duration:.25s}.spot-mood-fetch{animation:.5s ease-in-out infinite sm-bounce}@keyframes sm-bone-pop{0%,to{transform:rotate(-8deg)scale(1)}50%{transform:rotate(8deg)scale(1.08)}}.spot-mood-peek{animation:3s ease-in-out infinite sm-peek}@keyframes sm-peek{0%,to{opacity:.6;transform:translate(60%)}25%,75%{opacity:1;transform:translate(0)}50%{opacity:1;transform:translate(-3px)rotate(-4deg)}}.spot-mood-love .sm-blush{opacity:1!important}.spot-mood-love .sm-hearts{animation:1.8s ease-out infinite sm-hearts-rise;opacity:1!important}.spot-mood-love .sm-tail{animation-duration:.25s}.spot-mood-love .sm-eye-left,.spot-mood-love .sm-eye-right{animation:none;transform:scaleY(.55)}@keyframes sm-hearts-rise{0%{opacity:0;transform:translateY(0)scale(.6)}30%{opacity:1}to{opacity:0;transform:translateY(-30px)scale(1.2)}}.spot-variant-biscuit{filter:hue-rotate(28deg)sepia(.55)saturate(1.35)brightness(1.02)}.spot-variant-charcoal{filter:grayscale(.85)brightness(.78)contrast(1.08)}.spot-variant-sunny{filter:hue-rotate(48deg)sepia(.7)saturate(1.65)brightness(1.06)}.spot-variant-pepper{filter:invert(.78)hue-rotate(180deg)saturate(1.15)}.spot-variant-rooi{filter:hue-rotate(330deg)sepia(.55)saturate(1.8)brightness(.98)}.character-tile .spot-mascot-svg{transition:filter .3s,transform .3s}.character-tile:hover .spot-mascot-svg{transform:translateY(-2px)scale(1.04)}@media (prefers-reduced-motion:reduce){.spot-mascot-svg *,.spot-mascot-svg{transition:none!important;animation:none!important}}.location-prompt{z-index:80;pointer-events:none;padding:.75rem;position:fixed;bottom:0;left:0;right:0}.location-prompt__inner{pointer-events:auto;background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;max-width:720px;margin:0 auto;padding:1rem 1.25rem;display:grid;box-shadow:0 10px 30px #00000026}.location-prompt__icon{font-size:2rem}.location-prompt__body h3{margin:0 0 .25rem;font-size:1.1rem}.location-prompt__body p{color:#555;margin:0;font-size:.9rem}.location-prompt__actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=600px){.location-prompt__inner{grid-template-columns:auto 1fr}.location-prompt__actions{grid-column:1/-1;justify-content:flex-end}}.spot-sniffing{background:linear-gradient(#fff7e6 0%,#fff 100%);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:3rem 1rem;display:flex;position:relative;overflow:hidden}.spot-sniffing__sky{pointer-events:none;position:absolute;inset:0}.spot-sniffing__tag{color:#b8860b;opacity:0;background:#fff3cd;border-radius:8px;padding:.15rem .5rem;font-size:.75rem;font-weight:700;animation:4.5s linear infinite spot-sniff-fall;position:absolute;top:-1.5rem;box-shadow:0 2px 6px #0000000f}@keyframes spot-sniff-fall{0%{opacity:0;transform:translateY(0)rotate(-5deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(340px)rotate(15deg)}}.spot-sniffing__stage{z-index:1;justify-content:center;align-items:flex-end;width:100%;height:160px;display:flex;position:relative}.spot-sniffing__trail{justify-content:center;gap:14px;display:flex;position:absolute;bottom:8px;left:0;right:0}.spot-sniffing__paw{opacity:0;background:#d4a017;border-radius:50%;width:14px;height:8px;animation:1.5s ease-in-out infinite spot-sniff-paw}@keyframes spot-sniff-paw{0%,to{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}.spot-sniffing__hero{animation:1.4s ease-in-out infinite spot-sniff-bob}@keyframes spot-sniff-bob{0%,to{transform:rotate(-12deg)translateY(0)}50%{transform:rotate(-6deg)translateY(-3px)}}.spot-sniffing__copy{text-align:center;z-index:1;margin-top:1.5rem}.spot-sniffing__copy h2{color:#2d2d2d;margin:0 0 .25rem;font-size:1.25rem}.spot-sniffing__copy p{color:#7a7a7a;margin:0;font-size:.95rem}*{box-sizing:border-box;margin:0;padding:0}:root{--navy:#1a2332;--navy-light:#243447;--navy-mid:#2c3e50;--green:#2ecc71;--green-dark:#27ae60;--green-light:#d5f5e3;--green-glow:#2ecc7126;--grey:#95a5a6;--grey-light:#ecf0f1;--grey-dark:#7f8c8d;--primary:#2ecc71;--primary-dark:#27ae60;--primary-light:#d5f5e3;--accent:#3498db;--danger:#e74c3c;--warning:#f39c12;--text:#1a2332;--text-light:#7f8c8d;--bg:#f5f7fa;--white:#fff;--border:#dfe6e9;--shadow:0 2px 8px #1a233214;--shadow-md:0 4px 16px #1a23321f;--shadow-lg:0 8px 32px #1a233229;--radius:10px;--radius-lg:16px;--radius-xl:24px;--transition:all .25s ease}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6}#root{text-align:left;max-width:100%;margin:0;padding:0}a{color:var(--green-dark);text-decoration:none;transition:color .2s}a:hover{color:var(--green);text-decoration:none}.navbar{background:var(--navy);box-shadow:var(--shadow-md);z-index:100;border-bottom:none;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.navbar-top{flex-shrink:0;justify-content:space-between;align-items:center;height:64px;display:flex}.navbar-brand a{color:var(--white);letter-spacing:.5px;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:800;display:flex}.navbar-brand a:hover{text-decoration:none}.logo{font-size:1.6rem}.hamburger{cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;transition:background .2s;display:none}.hamburger:hover{background:var(--navy-light)}.hamburger span{background:var(--white);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.navbar-menu{align-items:center;gap:1.5rem;height:64px;display:flex}.navbar-links{gap:1.5rem;display:flex}.navbar-links a{color:#ffffffbf;padding:.5rem 0;font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.navbar-links a:hover{color:var(--green);text-decoration:none}.navbar-links a:after{content:"";background:var(--green);height:2px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.navbar-links a:hover:after{transform:scaleX(1)}.navbar-auth{align-items:center;gap:.75rem;display:flex}.user-greeting{color:#fffc;font-size:.9rem}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.5rem 1.2rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{border:1.5px solid var(--primary);color:var(--primary-dark);background:0 0}.btn-outline:hover{background:var(--primary-light)}.btn-full{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.footer{text-align:center;color:var(--text-light);border-top:1px solid var(--border);background:var(--white);padding:1.5rem;font-size:.85rem}.hero{text-align:center;background:linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 50%, var(--navy-mid) 100%);border-radius:0 0 var(--radius-xl) var(--radius-xl);margin:-2rem -2rem 2rem;padding:4rem 2rem 5rem}.hero h1{color:var(--white);margin-bottom:1rem;font-size:2.8rem;font-weight:800;line-height:1.15}.highlight{color:var(--green);position:relative}.hero p{color:#fffc;max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.15rem}.hero-actions{justify-content:center;gap:1rem;display:flex}.section{margin-bottom:3rem}.section h2{margin-bottom:1.25rem;font-size:1.5rem;font-weight:700}.category-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.category-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;justify-content:center;align-items:center;min-height:80px;padding:1.25rem;transition:all .2s;display:flex}.category-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);text-decoration:none}.category-name{color:var(--text);font-size:.95rem;font-weight:600}.category-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.chip{border:1px solid var(--border);background:var(--white);color:var(--text-light);cursor:pointer;border-radius:20px;padding:.4rem 1rem;font-size:.85rem;transition:all .2s}.chip:hover{border-color:var(--primary);color:var(--primary-dark)}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.deals-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.deal-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;transition:box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.deal-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.deal-card-img-wrap{aspect-ratio:16/9;background:#f5f0e8;width:100%;position:relative;overflow:hidden}.deal-card-img{object-fit:cover;width:100%;height:100%;transition:transform .25s}.deal-card:hover .deal-card-img{transform:scale(1.04)}.deal-badge{background:var(--danger,#d94a4a);color:#fff;z-index:1;border-radius:6px;padding:.25rem .65rem;font-size:.85rem;font-weight:700;position:absolute;top:.7rem;right:.7rem}.deal-badge-top{position:absolute;top:1rem;right:1rem}.deal-card-body{flex-direction:column;flex:1;gap:.35rem;padding:1rem 1.25rem 1.25rem;display:flex}.deal-card h3{margin:0;font-size:1rem;line-height:1.3}.deal-store{color:var(--text-light);margin-bottom:.75rem;font-size:.85rem}.deal-description{color:var(--text-light);margin-bottom:.5rem;font-size:.85rem}.deal-prices{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.price-old{color:var(--text-light);font-size:.95rem;text-decoration:line-through}.price-deal{color:var(--primary-dark);font-size:1.3rem;font-weight:700}.deal-expiry{color:var(--text-light);margin-bottom:.75rem;font-size:.8rem}.products-page h1,.deals-page h1,.compare-page h1,.products-toolbar{margin-bottom:1.5rem}.search-bar{gap:.5rem;margin-bottom:1rem;display:flex}.search-bar input{border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:.6rem 1rem;font-size:.95rem}.search-bar input:focus{border-color:var(--primary)}.products-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.product-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;text-decoration:none;transition:box-shadow .18s,transform .18s;display:flex;overflow:hidden}.product-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.product-card-img-wrap{aspect-ratio:1;background:#f5f0e8;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.product-card-img{object-fit:cover;width:100%;height:100%;transition:transform .25s}.product-card:hover .product-card-img{transform:scale(1.04)}.product-card-img-placeholder{background:linear-gradient(135deg,#f5f0e8 0%,#ebe3d5 100%)}.product-card-emoji{filter:drop-shadow(0 2px 4px #00000014);font-size:3rem;line-height:1}.product-card-body{flex-direction:column;flex:1;gap:.25rem;padding:.75rem 1rem 1rem;display:flex}.product-card-name{color:var(--text-dark,#1a1a1a);margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.product-card-meta{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.product-brand{color:var(--primary-dark,#1a6b2f);background:#5dbb631f;border-radius:999px;padding:.1rem .4rem;font-size:.75rem;font-weight:600}.product-category-tag{color:var(--text-light);background:var(--bg-soft,#f5f5f5);border-radius:999px;padding:.1rem .4rem;font-size:.72rem}.product-unit{color:var(--text-light);margin:0;font-size:.78rem}.product-compare-cta{color:var(--primary,#5dbb63);margin-top:auto;padding-top:.5rem;font-size:.8rem;font-weight:600}.back-link{color:var(--text-light);margin-bottom:1rem;font-size:.9rem;display:inline-block}.compare-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.compare-meta{color:var(--text-light);margin-top:.25rem}.savings-badge{background:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius);padding:.6rem 1.2rem;font-size:1rem}.price-table{overflow-x:auto}.price-table table{border-collapse:collapse;background:var(--white);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow);overflow:hidden}.price-table th{text-align:left;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;background:#f3f4f6;padding:.75rem 1rem;font-size:.85rem;font-weight:600}.price-table td{border-top:1px solid var(--border);padding:.75rem 1rem;font-size:.95rem}.cheapest-row{background:var(--primary-light)!important}.cheapest-tag{background:var(--primary);color:#fff;vertical-align:middle;border-radius:4px;margin-left:.5rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.price-cell{font-size:1.05rem;font-weight:700}.add-to-list-select{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.3rem .5rem;font-size:.8rem}.auth-page{justify-content:center;align-items:center;min-height:60vh;display:flex}.auth-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:2.5rem}.auth-card h2{margin-bottom:.25rem}.auth-subtitle{color:var(--text-light);margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.3rem;font-size:.9rem;font-weight:600;display:block}.form-group input{border:1px solid var(--border);border-radius:var(--radius);outline:none;width:100%;padding:.6rem .8rem;font-size:.95rem}.form-group input:focus{border-color:var(--primary)}.form-group small{color:var(--text-light);font-size:.8rem}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.auth-footer{text-align:center;color:var(--text-light);margin-top:1.25rem;font-size:.9rem}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.lists-page{grid-template-columns:280px 1fr;gap:2rem;min-height:60vh;display:grid}.lists-sidebar{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);height:fit-content;padding:1.25rem}.lists-sidebar h2{margin-bottom:1rem;font-size:1.1rem}.create-list-form{gap:.5rem;margin-bottom:1rem;display:flex}.create-list-form input{border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:.4rem .6rem;font-size:.85rem}.create-list-form input:focus{border-color:var(--primary)}.lists-nav{list-style:none}.lists-nav li{border-radius:var(--radius);align-items:center;transition:background .2s;display:flex}.lists-nav li:hover{background:var(--bg)}.lists-nav li.active{background:var(--primary-light)}.lists-nav li button:first-child{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;padding:.6rem .75rem;display:flex}.lists-nav li button:first-child span{font-size:.9rem;font-weight:600}.lists-nav li button:first-child small{color:var(--text-light);font-size:.75rem}.delete-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.3rem .5rem;font-size:1.2rem}.delete-btn:hover{color:var(--danger);background:#fef2f2}.list-detail{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.list-header h2{font-size:1.3rem}.list-total{background:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius);padding:.5rem 1rem;font-size:.95rem}.add-product-bar{gap:.5rem;margin-bottom:1rem;display:flex}.add-product-bar input{border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:.5rem .8rem;font-size:.9rem}.add-product-bar input:focus{border-color:var(--primary)}.search-results-dropdown{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);max-height:250px;box-shadow:var(--shadow-md);margin-bottom:1rem;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item small{color:var(--text-light)}.list-items table{border-collapse:collapse;width:100%}.list-items th{text-align:left;color:var(--text-light);text-transform:uppercase;border-bottom:2px solid var(--border);padding:.6rem .75rem;font-size:.8rem;font-weight:600}.list-items td{border-bottom:1px solid var(--border);padding:.6rem .75rem;font-size:.9rem}.list-items tr.checked td{opacity:.5;text-decoration:line-through}.list-items input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.loading{text-align:center;color:var(--text-light);padding:3rem;font-size:1.1rem}.empty-state{text-align:center;color:var(--text-light);padding:2rem}.empty-state h3{margin-bottom:.5rem}@media (width<=768px){.navbar{flex-direction:column;align-items:stretch;padding:0 1rem}.navbar-top{width:100%}.hamburger{display:flex}.navbar-menu{flex-direction:column;align-items:stretch;gap:0;width:100%;height:auto;padding-bottom:1rem;display:none}.navbar-menu.show{display:flex}.navbar-links{flex-direction:column;gap:0}.navbar-links a{color:#fffc;border-bottom:1px solid #ffffff1a;padding:.75rem 0;font-size:1rem}.navbar-links a:after{display:none}.navbar-auth{flex-direction:column;gap:.5rem;padding-top:.75rem}.navbar-auth .btn{text-align:center;width:100%}.main-content{padding:1rem}.hero{padding:2rem .5rem 2.5rem}.hero h1{font-size:1.8rem}.hero p{font-size:1rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.category-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.lists-page{grid-template-columns:1fr}.compare-header{flex-direction:column}.deals-grid,.products-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}.search-bar{flex-direction:column}.search-bar input{width:100%}.add-product-bar{flex-direction:column}.list-header{flex-direction:column;align-items:flex-start}.price-table,.list-items{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=480px){.category-grid{grid-template-columns:1fr 1fr}.category-card{min-height:60px;padding:.75rem}.category-name{font-size:.85rem}.section h2{font-size:1.2rem}}.basket-search-page h1{margin-bottom:.5rem;font-size:1.8rem}.basket-search-page .page-subtitle{color:var(--text-light);margin-bottom:1.5rem;font-size:1rem}.basket-tabs{border-bottom:2px solid var(--grey-light);gap:.5rem;margin-bottom:1.5rem;padding-bottom:0;display:flex}.basket-tab{color:var(--text-light);cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:color .15s,border-color .15s}.basket-tab:hover{color:var(--text)}.basket-tab.active{color:var(--green-dark);border-bottom-color:var(--green-dark);background:var(--green-light)}.basket-input-section{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem}.basket-textarea{border:2px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;min-height:120px;padding:1rem;font-family:inherit;font-size:1rem;line-height:1.6;transition:border-color .2s}.basket-textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow);outline:none}.location-section{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);padding:.75rem 1rem}.location-section label{font-size:.9rem;font-weight:500}.location-section select{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer;padding:.35rem .6rem;font-size:.85rem}.location-section input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.basket-actions{gap:.75rem;margin-top:1rem;display:flex}.basket-summary{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.summary-stat{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:center;padding:1.25rem 1rem;display:flex}.summary-stat.highlight{background:linear-gradient(135deg, var(--navy), var(--navy-light));color:var(--white)}.summary-stat.highlight .stat-label{color:#ffffffd9}.stat-value{font-size:1.6rem;font-weight:700;line-height:1.2}.stat-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem;font-size:.8rem;font-weight:500}.basket-items{flex-direction:column;gap:.75rem;display:flex}.basket-item-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border-left:4px solid var(--primary);transition:box-shadow .2s;overflow:hidden}.basket-item-card:hover{box-shadow:var(--shadow-md)}.basket-item-card.not-found{border-left-color:var(--danger);opacity:.7}.basket-item-header{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.basket-item-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.searched-name{font-size:1rem;font-weight:600}.matched-name{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.matched-name .brand{color:var(--primary-dark)}.not-found-label{color:var(--danger);font-size:.85rem;font-style:italic}.basket-item-cheapest{white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.cheapest-price{color:var(--primary-dark);font-size:1.25rem;font-weight:700}.cheapest-store{color:var(--text-light);font-size:.75rem}.distance-tag{color:var(--primary-dark);background:var(--primary-light);border-radius:4px;margin-top:.15rem;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.basket-item-stores{border-top:1px solid var(--border);background:var(--bg);-webkit-overflow-scrolling:touch;padding:0;overflow-x:auto}.store-prices-table{border-collapse:collapse;width:100%;min-width:400px;font-size:.85rem}.store-prices-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;padding:.6rem .75rem;font-size:.75rem;font-weight:600}.store-prices-table td{border-bottom:1px solid var(--border);padding:.5rem .75rem}.store-prices-table .cheapest-row{background:var(--primary-light);font-weight:600}.cheapest-badge{color:var(--primary-dark);font-size:.75rem;font-weight:600}.error-message{color:var(--danger);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;margin-bottom:1rem;padding:1rem;font-size:.9rem}@media (width<=640px){.basket-search-page h1{font-size:1.4rem}.basket-input-section{padding:1rem}.basket-textarea{min-height:140px;padding:.75rem;font-size:.95rem}.location-section{flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important}.basket-actions{flex-direction:column}.basket-actions .btn{width:100%;padding:.75rem 1rem;font-size:1rem}.basket-summary{grid-template-columns:1fr;gap:.75rem}.summary-stat{flex-direction:row;justify-content:space-between;padding:1rem 1.25rem}.stat-value{font-size:1.4rem}.stat-label{margin-top:0}.basket-item-header{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1rem}.basket-item-cheapest{flex-direction:row;align-items:baseline;gap:.5rem}.cheapest-price{font-size:1.15rem}.cheapest-store{font-size:.75rem}.basket-item-stores{padding:0}.store-prices-table{min-width:360px;font-size:.8rem}.store-prices-table th,.store-prices-table td{padding:.4rem .5rem}}.page-header{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{margin-bottom:0}.result-count{color:var(--text-light);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:.2rem .75rem;font-size:.9rem;font-weight:500}.features-row{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1rem;display:grid}.feature-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:1.5rem;transition:all .2s}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-card h3{margin-bottom:.4rem;font-size:1rem}.feature-card p{color:var(--text-light);font-size:.85rem;line-height:1.4}.feature-icon{margin-bottom:.75rem;font-size:2rem;display:block}.category-card{flex-direction:column;gap:.4rem}.category-emoji{font-size:1.6rem}.category-filters-scroll{-webkit-overflow-scrolling:touch;margin-bottom:1.5rem;padding-bottom:.25rem;overflow-x:auto}.category-filters-scroll::-webkit-scrollbar{height:4px}.category-filters-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.category-filters-scroll .category-filters{flex-wrap:nowrap;margin-bottom:0}.active-filter-bar{background:var(--primary-light);border-radius:var(--radius);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.product-card{color:inherit;cursor:pointer;text-decoration:none}.product-card:hover{border-color:var(--primary);text-decoration:none}.product-details{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.product-category-tag{background:var(--bg);color:var(--text-light);border:1px solid var(--border);border-radius:4px;padding:.1rem .5rem;font-size:.75rem}.product-compare-arrow{color:var(--primary);flex-shrink:0;font-size:1.2rem;font-weight:700;transition:transform .2s}.product-card:hover .product-compare-arrow{transform:translate(4px)}.deal-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.deal-footer .deal-expiry{margin-bottom:0}.compare-brand{color:var(--primary-dark);font-weight:600}.compare-sep{color:var(--border);margin:0 .25rem}.compare-stats{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.store-count-badge{background:var(--bg);color:var(--text-light);border-radius:var(--radius);border:1px solid var(--border);padding:.5rem 1rem;font-size:.9rem}.desktop-only{display:block}.mobile-only{display:none}.price-cards{flex-direction:column;gap:.75rem;display:flex}.price-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow .2s;overflow:hidden}.price-card:hover{box-shadow:var(--shadow-md)}.price-card-cheapest{border-color:var(--primary);background:var(--primary-light)}.price-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.price-card-sub{color:var(--text-light);margin-top:.15rem;font-size:.8rem}.price-card-footer{border-top:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.price-card-date{color:var(--text-light);font-size:.8rem}.lists-mobile-toggle{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;width:100%;margin-bottom:1rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s;display:none}.lists-mobile-toggle:hover{border-color:var(--primary);color:var(--primary-dark)}.sidebar-empty{color:var(--text-light);text-align:center;padding:1rem 0;font-size:.85rem}.list-items-cards{flex-direction:column;gap:.5rem;display:flex}.list-item-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;transition:opacity .2s}.list-item-card.checked{opacity:.5}.list-item-card.checked .list-item-card-info strong{text-decoration:line-through}.list-item-card-main{align-items:center;gap:.75rem;display:flex}.list-item-card-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.list-item-card-info strong{font-size:.9rem}.list-item-card-info small{color:var(--text-light);font-size:.8rem}.list-item-card-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.list-item-price{color:var(--primary-dark);font-size:.95rem;font-weight:700}.footer{background:var(--navy);color:#ffffffb3;border-top:none}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;max-width:1200px;margin:0 auto;padding:2rem 2rem 1rem;display:flex}.footer-brand{flex-direction:column;gap:.4rem;display:flex}.footer-brand .logo{font-size:1.2rem}.footer-brand strong{color:var(--white)}.footer-brand p{color:#fff9;max-width:280px;font-size:.85rem}.footer-links{gap:1.5rem;display:flex}.footer-links a{color:#fff9;font-size:.9rem;font-weight:500;transition:color .2s}.footer-links a:hover{color:var(--green)}.footer-bottom{text-align:center;color:#fff6;border-top:1px solid #ffffff1a;padding:1rem 2rem;font-size:.8rem}@media (width<=768px){.features-row{grid-template-columns:1fr;gap:.75rem}.feature-card{text-align:left;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.feature-icon{flex-shrink:0;margin-bottom:0;font-size:1.5rem}.desktop-only{display:none}.mobile-only,.lists-mobile-toggle{display:block}.lists-sidebar{display:none}.lists-sidebar.show{display:block}.lists-page{flex-direction:column;display:flex}.page-header{flex-direction:column;gap:.5rem}.compare-stats{flex-direction:column;align-items:flex-start}.deal-footer{flex-direction:column;align-items:flex-start;gap:.5rem}.footer-content{text-align:center;flex-direction:column;align-items:center;padding:1.5rem 1rem 1rem}.footer-links{flex-wrap:wrap;justify-content:center}.footer-brand p{max-width:100%}.active-filter-bar{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (width<=480px){.features-row{gap:.5rem}.feature-card{padding:.75rem 1rem}.feature-card h3{font-size:.9rem}.feature-card p{font-size:.8rem}}.spot-mascot{filter:drop-shadow(0 4px 8px #0003);font-size:4rem;animation:2s ease-in-out infinite spot-bounce;display:inline-block}.spot-mascot-sm{font-size:2rem;animation:1s ease-in-out infinite spot-wag;display:inline-block}.spot-mascot-searching{font-size:3rem;animation:.6s ease-in-out infinite spot-sniff;display:inline-block}.spot-celebrate{font-size:3rem;animation:.8s ease-in-out infinite spot-celebrate;display:inline-block}@keyframes spot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes spot-wag{0%,to{transform:rotate(0)}25%{transform:rotate(8deg)}75%{transform:rotate(-8deg)}}@keyframes spot-sniff{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(6px)rotate(5deg)}75%{transform:translate(-6px)rotate(-5deg)}}@keyframes spot-celebrate{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.1)rotate(-5deg)}50%{transform:scale(1.15)rotate(0)}75%{transform:scale(1.1)rotate(5deg)}}.avatar-selector{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1rem 0;display:flex}.avatar-option{border:3px solid var(--border);background:var(--white);cursor:pointer;width:64px;height:64px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:flex;position:relative}.avatar-option:hover{border-color:var(--green);box-shadow:0 0 0 4px var(--green-glow);transform:scale(1.1)}.avatar-option.selected{border-color:var(--green);background:var(--green-light);box-shadow:0 0 0 4px var(--green-glow);transform:scale(1.1)}.avatar-option.selected:after{content:"✓";background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:-4px;right:-4px}.avatar-section-label{text-align:center;color:var(--text-light);margin-bottom:.5rem;font-size:.85rem}.auth-page{justify-content:center;align-items:center;min-height:70vh;padding:2rem 1rem;display:flex}.auth-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:2.5rem;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, var(--green), var(--accent), var(--green));height:4px;position:absolute;top:0;left:0;right:0}.auth-mascot{text-align:center;margin-bottom:1rem}.auth-card h2{text-align:center;color:var(--navy);margin-bottom:.25rem;font-size:1.5rem}.auth-subtitle{color:var(--text-light);text-align:center;margin-bottom:1.5rem;font-size:.95rem}.auth-divider{color:var(--text-light);align-items:center;gap:1rem;margin:1.25rem 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.savings-breakdown{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-top:1.5rem;padding:1.5rem}.savings-breakdown h3{color:var(--navy);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;display:flex}.savings-line{justify-content:space-between;padding:.5rem 0;font-size:.95rem;display:flex}.savings-line+.savings-line{border-top:1px solid var(--border)}.savings-line.total{border-top:2px solid var(--navy);margin-top:.25rem;padding-top:.75rem;font-size:1.1rem;font-weight:700}.savings-line.savings-amount{color:var(--green-dark);font-weight:600}.savings-line.fee-line{color:var(--text-light);font-size:.85rem}.savings-highlight{background:linear-gradient(135deg, var(--green-light), #e8f8f0);border:1px solid var(--green);border-radius:var(--radius-lg);text-align:center;margin-top:1rem;padding:1.25rem}.savings-highlight .amount{color:var(--green-dark);font-size:2rem;font-weight:800;display:block}.savings-highlight .label{color:var(--green-dark);font-size:.85rem;font-weight:500}.savings-dashboard{max-width:900px;margin:0 auto}.savings-dashboard h1{color:var(--navy);margin-bottom:.5rem;font-size:1.8rem}.dashboard-subtitle{color:var(--text-light);margin-bottom:2rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;transition:var(--transition);padding:1.25rem}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-icon{margin-bottom:.5rem;font-size:1.5rem;display:block}.stat-card .stat-value{color:var(--navy);font-size:1.4rem;font-weight:700;display:block}.stat-card.savings-total{background:linear-gradient(135deg, var(--green), var(--green-dark));color:var(--white)}.stat-card.savings-total .stat-value,.stat-card.savings-total .stat-label{color:var(--white)}.stat-card.savings-total .stat-label{opacity:.85}.chart-section{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem}.chart-section h3{color:var(--navy);margin-bottom:1rem}.chart-bar-group{flex-direction:column;gap:.75rem;display:flex}.chart-bar-item{align-items:center;gap:1rem;display:flex}.chart-bar-label{width:60px;color:var(--text-light);text-align:right;flex-shrink:0;font-size:.8rem}.chart-bar-track{background:var(--grey-light);border-radius:14px;flex:1;height:28px;position:relative;overflow:hidden}.chart-bar-fill{background:linear-gradient(90deg, var(--green), var(--green-dark));border-radius:14px;justify-content:flex-end;align-items:center;min-width:60px;height:100%;padding-right:.75rem;transition:width .8s;display:flex}.chart-bar-value{color:var(--white);font-size:.75rem;font-weight:700}.transaction-list{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.transaction-list h3{color:var(--navy);margin-bottom:1rem;padding:1.25rem 1.5rem 0}.transaction-item{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:background .2s;display:flex}.transaction-item:hover{background:var(--bg)}.transaction-info{flex-direction:column;gap:.15rem;display:flex}.transaction-date{color:var(--text-light);font-size:.8rem}.transaction-desc{font-size:.95rem;font-weight:600}.transaction-amounts{flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.transaction-total{font-size:1rem;font-weight:700}.transaction-saved{color:var(--green-dark);font-size:.85rem;font-weight:600}.loyalty-banner{background:linear-gradient(135deg, var(--navy), var(--navy-light));border-radius:var(--radius-lg);color:var(--white);align-items:center;gap:1.25rem;margin-bottom:2rem;padding:1.5rem;display:flex}.loyalty-banner .loyalty-icon{flex-shrink:0;font-size:2.5rem}.loyalty-banner h3{color:var(--green);margin-bottom:.25rem;font-size:1rem}.loyalty-banner p{opacity:.8;font-size:.85rem}.loyalty-amount{color:var(--green);flex-shrink:0;margin-left:auto;font-size:1.5rem;font-weight:800}.spot-speech{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border);color:var(--text);max-width:350px;margin-left:1rem;padding:1rem 1.25rem;font-size:.9rem;position:relative}.spot-speech:before{content:"";border:10px solid #0000;border-right-color:var(--white);border-left:0;width:0;height:0;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.spot-greeting{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.share-btn{background:var(--navy);color:var(--white);border-radius:var(--radius);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.share-btn:hover{background:var(--navy-light);transform:translateY(-1px)}.suggestions-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#fef9e7,#fef5e0);border:1px solid #f7dc6f;margin-top:1.5rem;padding:1.25rem}.suggestions-card h3{color:var(--navy);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1rem;display:flex}.suggestion-item{justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.9rem;display:flex}.suggestion-item+.suggestion-item{border-top:1px solid #f7dc6f4d}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.loyalty-banner{text-align:center;flex-direction:column}.loyalty-amount{margin-left:0}.avatar-selector{gap:.5rem}.avatar-option{width:52px;height:52px;font-size:1.6rem}.hero{border-radius:0 0 var(--radius-lg) var(--radius-lg);margin:-1rem -1rem 1rem;padding:2.5rem 1rem 3rem}}@media (width<=480px){.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{padding:1rem}.stat-card .stat-value{font-size:1.2rem}.transaction-item{flex-direction:column;align-items:flex-start;gap:.5rem}.transaction-amounts{align-items:flex-start}}.optimize-overlay{-webkit-backdrop-filter:blur(3px);z-index:8500;background:#1a2e4a8c;justify-content:center;align-items:center;animation:.25s ease-out optimize-overlay-fade;display:flex;position:fixed;inset:0}.optimize-overlay-inner{text-align:center;background:#fff;border:2px solid #5dbb63;border-radius:16px;max-width:360px;padding:2rem 2.5rem;box-shadow:0 12px 40px #00000040}.optimize-overlay-text{color:#1a2e4a;margin:.5rem 0 .25rem;font-size:1.05rem;font-weight:700}@keyframes optimize-overlay-fade{0%{opacity:0}to{opacity:1}}.savings-banner{color:#1a2e4a;background:linear-gradient(90deg,#e8f5e9,#c8e6c9);border-left:4px solid #5dbb63;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.95rem}.plans-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.plans-carousel::-webkit-scrollbar{height:6px}.plans-carousel::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.plans-carousel::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.plan-option-card{scroll-snap-align:start;background:#fff;border:2px solid #e0e6ed;border-radius:12px;flex-direction:column;flex:0 0 300px;min-width:280px;max-width:320px;transition:box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000f}.plan-option-card.recommended{border-color:#f0a500;box-shadow:0 4px 16px #f0a5002e}.plan-option-header{background:#f7f9fc;border-bottom:1px solid #e0e6ed;align-items:center;gap:.5rem;padding:.65rem .9rem;display:flex}.plan-option-card.recommended .plan-option-header{background:linear-gradient(90deg,#fff8e1,#fff3cd);border-bottom-color:#f0a500}.plan-option-label{color:#1a2e4a;flex:1;font-size:.92rem;font-weight:700}.plan-recommended-badge{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#f0a500;border-radius:20px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.plan-option-items{flex-direction:column;flex:1;gap:.25rem;padding:.5rem .75rem;display:flex}.plan-option-row{border-bottom:1px solid #f3f3f3;justify-content:space-between;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.82rem;display:flex}.plan-option-row:last-child{border-bottom:none}.plan-option-item-name{color:#2c3e50;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.substitute-tag{color:#888;font-size:.75rem}.plan-store-pill{color:#fff;white-space:nowrap;letter-spacing:.02em;text-transform:capitalize;border-radius:20px;flex-shrink:0;padding:.18rem .55rem;font-size:.68rem;font-weight:600}.plan-option-footer{color:#444;background:#f7f9fc;border-top:1px solid #e0e6ed;padding:.75rem .9rem;font-size:.82rem}.plan-option-card.recommended .plan-option-footer{background:#fffdf0;border-top-color:#f0a500}.plan-option-total{color:#333;margin-bottom:.35rem}.plan-option-saving{color:#2e7d32;border:1.5px solid #2e7d32;border-radius:6px;margin-bottom:.35rem;padding:.25rem .5rem;font-size:.88rem;font-weight:700;display:inline-block}.plan-option-meta{color:#888;font-size:.75rem}.btn-secondary{color:#fff;background:#1a2e4a;border:2px solid #1a2e4a}.btn-secondary:hover:not(:disabled){background:#243b5d;border-color:#243b5d}.personal-page{max-width:1100px;margin:0 auto;padding:1.5rem}.personal-page h1{color:#1a2e4a;margin-bottom:.25rem}.personal-blurb{color:#4a5d7a;margin-bottom:1.25rem;font-size:.95rem}.personal-tabs{border-bottom:2px solid #e3e8ef;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.personal-tab{color:#4a5d7a;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;padding:.65rem 1.1rem;font-size:.95rem;font-weight:700;transition:color .2s,border-color .2s,background .2s}.personal-tab:hover{color:#1a2e4a;background:#5dbb6314}.personal-tab.active{color:#1a2e4a;background:#5dbb631f;border-bottom-color:#5dbb63}.stat-card{background:#fff;border:1px solid #e3e8ef;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 8px #1a2e4a0d}.stat-card .stat-label{color:#4a5d7a;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.stat-card .stat-value{color:#1a2e4a;font-size:1.4rem;font-weight:800}.character-picker{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.65rem;margin:.5rem 0;display:grid}.character-tile{cursor:pointer;background:#fff;border:2px solid #e3e8ef;border-radius:14px;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .4rem .5rem;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s;display:flex}.character-tile:hover{border-color:#5dbb63;transform:translateY(-2px)}.character-tile.selected{background:#5dbb6314;border-color:#5dbb63;box-shadow:0 4px 14px #5dbb6340}.character-tile .character-name{color:#1a2e4a;letter-spacing:.02em;font-size:.78rem;font-weight:800}.character-tagline{text-align:center;color:#4a5d7a;margin:.2rem 0 .75rem;font-size:.85rem;font-style:italic}.spot-companion-root .spot-companion{transition:left 4.2s cubic-bezier(.22,.61,.36,1)}.spot-dig-target{z-index:3;animation:.9s ease-in-out infinite spot-dig-pulse;position:relative;box-shadow:0 0 0 3px #5dbb63,0 8px 22px #5dbb6359!important}.spot-dig-target:before{content:"🦴";filter:drop-shadow(0 2px 4px #1a2e4a4d);pointer-events:none;z-index:4;font-size:1.4rem;animation:.9s ease-in-out infinite spot-bone-bob;position:absolute;top:-14px;right:-10px;transform:rotate(18deg)}@keyframes spot-dig-pulse{0%,to{box-shadow:0 0 0 3px #5dbb63,0 8px 22px #5dbb634d}50%{box-shadow:0 0 0 5px #5dbb63,0 12px 28px #5dbb6380}}@keyframes spot-bone-bob{0%,to{transform:rotate(18deg)translateY(0)}50%{transform:rotate(24deg)translateY(-4px)}}@media (prefers-reduced-motion:reduce){.spot-dig-target,.spot-dig-target:before{animation:none!important}}.spot-sniff-target{transition:box-shadow .2s;position:relative;box-shadow:0 0 0 2px #5dbb6373,0 4px 14px #5dbb632e!important}.spot-sniff-target:after{content:"👃";filter:drop-shadow(0 1px 2px #1a2e4a40);pointer-events:none;font-size:1.05rem;animation:.7s ease-in-out infinite spot-sniff-bob;position:absolute;top:-10px;right:-6px;transform:rotate(-12deg)}@media (prefers-reduced-motion:reduce){.spot-sniff-target:after{animation:none!important}}.address-manage-link{color:var(--green-dark);white-space:nowrap;font-size:.85rem;font-weight:600}.address-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;margin:.25rem 0 1.25rem;display:grid}.address-card{text-align:left;background:var(--white);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow);font:inherit;color:inherit;flex-direction:column;gap:.35rem;padding:1rem 1rem .9rem;display:flex;position:relative}.address-card:hover{border-color:var(--green);box-shadow:var(--shadow-md);transform:translateY(-2px)}.address-card.selected{border-color:var(--green);background:linear-gradient(180deg, #fff 0%, var(--green-light) 100%);box-shadow:0 0 0 4px var(--green-glow), var(--shadow-md)}.address-card-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.address-label-pill{background:var(--navy);color:var(--white);letter-spacing:.3px;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.address-default-pill{background:var(--green);color:var(--white);border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:700}.address-radio{border:2px solid var(--border);background:var(--white);width:22px;height:22px;color:var(--white);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-size:.85rem;font-weight:800;display:inline-flex}.address-radio.on{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px var(--green-glow)}.address-card-name{color:var(--navy);font-size:1rem;font-weight:700}.address-card-phone{color:var(--text-light);font-size:.85rem}.address-card-line{color:var(--text);margin-top:.1rem;font-size:.85rem;line-height:1.4}.address-card-add{min-height:130px;color:var(--text-light);background:0 0;border-style:dashed;justify-content:center;align-items:center}.address-card-add:hover{color:var(--green-dark);background:var(--green-light)}.address-card-add.selected{background:linear-gradient(180deg, #fff 0%, var(--green-light) 100%);color:var(--green-dark)}.address-add-icon{font-size:2rem;font-weight:300;line-height:1}.address-add-text{font-size:.95rem;font-weight:600}.address-empty{background:var(--grey-light);border-radius:var(--radius);align-items:flex-start;gap:1rem;margin:.75rem 0 1rem;padding:1rem 1.1rem;display:flex}.address-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fbfcfd;grid-template-columns:1fr 1fr;gap:.85rem 1rem;margin-top:.5rem;padding:1.1rem 1.2rem 1.2rem;display:grid}.address-form label{color:var(--text-light);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.address-form label>span{color:var(--navy)}.address-form-full{grid-column:1/-1}.address-save-toggle{background:var(--green-light);border:1px dashed var(--green);border-radius:var(--radius);align-items:center;padding:.65rem .9rem;color:var(--green-dark)!important;flex-direction:row!important;gap:.55rem!important;font-size:.9rem!important;font-weight:600!important}.address-save-toggle input[type=checkbox]{accent-color:var(--green);width:18px;height:18px}.address-summary{background:var(--green-light);border-left:4px solid var(--green);border-radius:var(--radius);flex-direction:column;gap:.25rem;margin:.5rem 0 0;padding:.9rem 1.1rem;display:flex}.address-summary-name{color:var(--navy);font-size:1.05rem;font-weight:700}.address-summary-phone,.address-summary-line{color:var(--text);font-size:.9rem}@media (width<=640px){.address-form,.address-grid{grid-template-columns:1fr}}.pill{border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-block}.pill-green{color:#166534;background:#dcfce7}.pill-amber{color:#92400e;background:#fef3c7}.btn-sm{padding:.35rem .7rem;font-size:.85rem}.btn-lg{padding:.75rem 1.5rem;font-size:1.05rem}.error-card{color:#991b1b;background:#fef2f2;border-left:4px solid #dc2626}.text-muted{color:#6b7280}.retailer-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.retailer-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.retailer-card.linked{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a1f}.retailer-card-head{justify-content:space-between;align-items:center;display:flex}.retailer-card-head h3{margin:0;font-size:1.05rem}.retailer-card-status{color:#4b5563;font-size:.85rem}.retailer-card-actions{margin-top:auto}.tab-row{flex-wrap:wrap;gap:.5rem;display:flex}.tab{cursor:pointer;background:#f3f4f6;border:1px solid #0000;border-radius:999px;padding:.5rem .9rem;font-weight:600}.tab.on{color:#78350f;background:#fef3c7;border-color:#f59e0b}.suggestion-strip .suggestion-row{gap:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.suggestion-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:.25rem;min-width:180px;padding:.75rem;display:flex}.suggestion-name{font-weight:600}.suggestion-brand{color:#6b7280;font-size:.8rem}.suggestion-reason{color:#92400e;margin-bottom:.4rem;font-size:.78rem}.tracking-stages{justify-content:space-between;align-items:flex-start;margin:1rem 0;display:flex;position:relative}.tracking-stages:before{content:"";z-index:0;background:#e5e7eb;height:2px;position:absolute;top:8px;left:8px;right:8px}.tracking-stage{z-index:1;text-align:center;flex:1;position:relative}.tracking-dot{background:#e5e7eb;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin:0 auto}.tracking-stage.on .tracking-dot{background:#16a34a}.tracking-label{color:#4b5563;margin-top:.35rem;font-size:.72rem}.tracking-stage.on .tracking-label{color:#166534;font-weight:600}.tracking-list{margin:.5rem 0 0;padding:0;list-style:none}.tracking-list li{border-bottom:1px dashed #f3f4f6;padding:.4rem 0;font-size:.9rem}.admin-totals{text-align:center;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.admin-totals .kpi{color:#111827;font-size:1.6rem;font-weight:700}.admin-totals .kpi-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #f3f4f6;padding:.5rem .6rem}.admin-table th{background:#f9fafb;font-weight:600}.page>.card,.page>section.card{margin-top:1.25rem;padding:1.4rem 1.6rem}.page>.card:first-of-type,.page>section.card:first-of-type{margin-top:1rem}.card h2{margin:0 0 .9rem;line-height:1.25}.product-chip-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:stretch;gap:.6rem;margin-top:1rem;display:grid}.product-chip-grid .product-chip{white-space:nowrap;text-overflow:ellipsis;text-align:center;width:100%;min-width:0;min-height:2.5rem;padding:.5rem .75rem;line-height:1.4;display:inline-block;overflow:hidden}ul.basket-list,.basket-list{flex-direction:column;gap:.4rem;display:flex;margin:.5rem 0 0!important;padding:0!important;list-style:none!important}ul.basket-list>li.basket-row,li.basket-row,.basket-row{background:#ffffff8c;border:1px solid #0f172a14;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-left:0;padding:.55rem .9rem;line-height:1.4;display:flex;list-style:none!important}.basket-row::marker{content:""}.basket-row>span:first-child{overflow-wrap:anywhere;min-width:0}.basket-row .text-muted{white-space:nowrap;flex-shrink:0;margin-left:auto;padding-left:.75rem}.page>.page-header{margin-bottom:.75rem}
