@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg-dark:#090d16;--bg-card:#121826d9;--bg-card-hover:#1c2438f2;--border-color:#ffffff14;--border-glow:#10b98140;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent-green:#10b981;--accent-green-glow:#10b98126;--accent-yellow:#f59e0b;--accent-yellow-glow:#f59e0b26;--accent-red:#ef4444;--accent-red-glow:#ef444426;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--font-main:"Outfit", "Plus Jakarta Sans", -apple-system, sans-serif;--radius-lg:20px;--radius-md:14px;--radius-sm:8px}*{box-sizing:border-box;touch-action:manipulation;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;padding-bottom:env(safe-area-inset-bottom);background-image:radial-gradient(at 10% 10%,#10b9811f 0,#0000 50%),radial-gradient(at 90% 20%,#6366f11f 0,#0000 50%),radial-gradient(at 50% 90%,#ef444414 0,#0000 50%);background-attachment:fixed}.navbar{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);padding-top:env(safe-area-inset-top);background:#090d16d9;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:14px 24px;display:flex}@media (width<=768px){.navbar-container{padding:10px 16px}}.brand-logo{align-items:center;gap:10px;display:flex}.brand-icon-wrapper{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 20px #10b98166}.brand-icon{color:#fff;width:22px;height:22px}.brand-title{letter-spacing:-.5px;align-items:center;gap:6px;font-size:1.3rem;font-weight:800;display:flex}.brand-badge{text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:6px;padding:2px 6px;font-size:.65rem;font-weight:700}.brand-subtitle{color:var(--text-secondary);font-size:.75rem;display:block}@media (width<=480px){.brand-subtitle{display:none}}.navbar-actions{align-items:center;gap:10px;display:flex}@media (width<=768px){.navbar-actions{display:none}}.nav-btn{border-radius:var(--radius-md);font-family:var(--font-main);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-btn:active{transform:scale(.96)}.nav-btn-primary{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 16px #10b9814d}.nav-btn-secondary{color:var(--text-primary);border-color:var(--border-color);background:#ffffff0f}.nav-btn-ghost{color:var(--text-secondary);background:0 0}.history-badge{background:var(--accent-red);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;font-size:.75rem;font-weight:700;display:flex}.app-main{max-width:1280px;margin:0 auto;padding:24px 24px 100px}@media (width<=768px){.app-main{padding:16px 14px 110px}}.hero-cta-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#10b98126,#6366f126);border:1px solid #10b9814d;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding:32px;display:flex}@media (width<=768px){.hero-cta-card{text-align:center;border-radius:16px;flex-direction:column;padding:20px 16px}}.hero-cta-title{margin-bottom:8px;font-size:1.7rem;font-weight:800;line-height:1.25}@media (width<=480px){.hero-cta-title{font-size:1.3rem}}.gradient-text{background:linear-gradient(135deg,#34d399,#818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-cta-desc{color:var(--text-secondary);font-size:.95rem}@media (width<=480px){.hero-cta-desc{font-size:.85rem}}.hero-scan-btn{border-radius:var(--radius-md);flex-shrink:0;padding:14px 28px;font-size:1rem}@media (width<=768px){.hero-scan-btn{justify-content:center;width:100%}}.sample-barcodes-section{margin-bottom:32px}.section-header{margin-bottom:16px}.section-title-group h3{font-size:1.2rem;font-weight:700}@media (width<=480px){.section-title-group h3{font-size:1.05rem}}.section-subtitle{color:var(--text-muted);font-size:.85rem}.barcodes-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}@media (width<=640px){.barcodes-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:12px;display:flex;overflow-x:auto}}.sample-product-chip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:left;align-items:center;gap:12px;min-height:48px;padding:12px 14px;transition:all .2s;display:flex}@media (width<=640px){.sample-product-chip{scroll-snap-align:start;flex-shrink:0;min-width:260px}}.sample-product-chip:active{transform:scale(.97)}.chip-img{border-radius:var(--radius-sm);object-fit:contain;background:#ffffff0d;width:46px;height:46px}.chip-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;display:block;overflow:hidden}.chip-brand{color:var(--text-secondary);font-size:.75rem}.chip-barcode{color:var(--text-muted);align-items:center;gap:4px;font-size:.7rem;display:flex}.nutriscore-pill{text-transform:uppercase;border-radius:6px;flex-shrink:0;padding:4px 6px;font-size:.72rem;font-weight:800}.grade-a{color:#fff;background:#038141}.grade-b{color:#fff;background:#85bb2f}.grade-c{color:#111;background:#fecb02}.grade-d{color:#fff;background:#ee8100}.grade-e{color:#fff;background:#e63e11}.product-card-hero{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-bottom:32px;padding:24px}@media (width<=768px){.product-card-hero{border-radius:16px;padding:16px}}.product-top-grid{grid-template-columns:200px 1fr 200px;align-items:start;gap:24px;margin-bottom:24px;display:grid}@media (width<=900px){.product-top-grid{grid-template-columns:1fr}}.product-hero-img{object-fit:contain;border-radius:var(--radius-md);background:#ffffff08;width:100%;max-height:200px;padding:8px}.barcode-tag{color:var(--text-secondary);background:#ffffff0f;border-radius:20px;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;font-size:.78rem;display:inline-flex}.product-title{margin-bottom:4px;font-size:1.5rem;font-weight:800;line-height:1.25}@media (width<=480px){.product-title{font-size:1.25rem}}.product-brand{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem;font-weight:500}.badges-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.badge-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#ffffff0a;padding:8px 12px}.hero-actions{gap:10px;display:flex}@media (width<=480px){.hero-actions{flex-direction:column}}.action-btn{border-radius:var(--radius-sm);font-family:var(--font-main);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.compare-btn{color:#818cf8;background:#6366f126;border:1px solid #6366f14d}.alt-btn{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.health-score-gauge-box{border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;background:#ffffff08;flex-direction:column;align-items:center;padding:20px;display:flex}.gauge-ring-wrapper{width:110px;height:110px;margin-bottom:10px;position:relative}.gauge-svg{width:100%;height:100%;transform:rotate(-90deg)}.gauge-bg{fill:none;stroke:#ffffff14;stroke-width:8px}.gauge-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1s ease-in-out}.gauge-fill.safe{stroke:var(--accent-green)}.gauge-fill.safe-light{stroke:#34d399}.gauge-fill.warning{stroke:var(--accent-yellow)}.gauge-fill.danger{stroke:var(--accent-red)}.gauge-inner{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.score-num{font-size:1.9rem;font-weight:800;line-height:1}.score-out{color:var(--text-muted);font-size:.7rem}.score-title{margin-bottom:2px;font-size:.95rem;font-weight:700;display:block}.score-desc{color:var(--text-secondary);font-size:.78rem}.product-details-sections{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=900px){.product-details-sections{grid-template-columns:1fr}}.ingredient-risk-card,.nutrition-breakdown-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;padding:20px}@media (width<=480px){.ingredient-risk-card,.nutrition-breakdown-card{padding:14px}}.uk-fsa-traffic-box{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#0000004d;padding:10px 14px}.fsa-title{color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.fsa-pills-row{flex-wrap:wrap;gap:6px;display:flex}.fsa-pill{border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:700}.fsa-red{color:#fca5a5;background:#ef444440;border:1px solid #ef444466}.fsa-amber{color:#fde047;background:#f59e0b40;border:1px solid #f59e0b66}.fsa-green{color:#6ee7b7;background:#10b98140;border:1px solid #10b98166}.macros-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.macros-grid{grid-template-columns:1fr}}.macro-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#ffffff08;padding:12px}.modal-backdrop{-webkit-backdrop-filter:blur(14px);z-index:200;background:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;display:flex;position:fixed;top:0;left:0}@media (width<=768px){.modal-backdrop{align-items:flex-end;padding:0}}.modal-card{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:600px;max-height:88vh;display:flex;overflow:hidden}@media (width<=768px){.modal-card{border-bottom:none;border-radius:24px 24px 0 0;max-height:90vh;animation:.25s ease-out slideUp}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:6px}.modal-body{padding:20px;overflow-y:auto}@media (width<=480px){.modal-body{padding:16px}}.mobile-bottom-nav{display:none}@media (width<=768px){.mobile-bottom-nav{-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-color);z-index:150;width:100vw;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#090d16f2;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0}}.mobile-nav-item{color:var(--text-muted);font-family:var(--font-main);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:44px;font-size:.7rem;font-weight:600;display:flex}.mobile-nav-item.active{color:var(--accent-green)}.mobile-badge{color:#fff;background:#6366f1;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:-4px;right:-8px}.mobile-badge.alert{background:var(--accent-red)}.fab-container{flex-shrink:0;width:60px;height:60px;margin-top:-24px;position:relative}.mobile-fab-btn{color:#fff;border:4px solid var(--bg-dark);cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .2s;display:flex;box-shadow:0 8px 24px #10b98180}.mobile-fab-btn:active{transform:scale(.9)}.alert-banner{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.85rem;display:flex}.alert-warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.loading-state{text-align:center;color:var(--text-muted);padding:40px 20px}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
