@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--teal-50:#f0fdfa;--teal-100:#ccfbf1;--teal-200:#99f6e4;--teal-300:#5eead4;--teal-400:#2dd4bf;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--teal-800:#115e59;--teal-900:#134e4a;--emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;--bg-base:#0a0f0e;--bg-surface:#111917;--bg-card:#162220;--bg-card-hover:#1c2e2b;--bg-input:#1a2826;--bg-overlay:#0a0f0ed9;--text-primary:#f0fdf9;--text-secondary:#94a3a0;--text-muted:#5a7572;--text-accent:var(--teal-400);--border-default:#14b8a626;--border-hover:#14b8a659;--border-active:var(--teal-500);--accent:var(--teal-500);--accent-light:var(--teal-400);--accent-dark:var(--teal-700);--accent-glow:#14b8a633;--accent-glow-lg:#14b8a614;--healthy:#10b981;--moderate:#f59e0b;--unhealthy:#ef4444;--poor:#dc2626;--info:#06b6d4;--score-high:linear-gradient(90deg, var(--teal-500), var(--emerald-400));--score-mid:linear-gradient(90deg, #f59e0b, #fbbf24);--score-low:linear-gradient(90deg, #ef4444, #f97316);--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-glow:0 0 24px var(--accent-glow);--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--font-sans:"Inter", system-ui, sans-serif;--font-display:"Space Grotesk", system-ui, sans-serif;--transition:.2s ease;--transition-slow:.35s ease;--navbar-height:64px}[data-theme=light]{--bg-base:#f0fdf9;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f0fdf9;--bg-input:#f8fffe;--bg-overlay:#f0fdf9eb;--text-primary:#0f2b28;--text-secondary:#3d6b63;--text-muted:#7aaca4;--text-accent:var(--teal-700);--border-default:#0d94882e;--border-hover:#0d948866;--border-active:var(--teal-600);--accent:var(--teal-600);--accent-light:var(--teal-500);--accent-dark:var(--teal-800);--accent-glow:#0d948826;--accent-glow-lg:#0d94880d;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--shadow-glow:0 0 24px var(--accent-glow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}a{color:var(--accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent-light)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--accent-dark);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.navbar{z-index:100;height:var(--navbar-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-default);background:#0a0f0ee0;align-items:center;gap:2rem;padding:0 clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}[data-theme=light] .navbar{background:#f0fdf9e6}.navbar-brand{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:700;display:flex}.navbar-brand .brand-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.navbar-links{flex:1;align-items:center;gap:.25rem;display:flex}.navbar-link{color:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--transition);padding:.4rem .85rem;font-size:.9rem;font-weight:500}.navbar-link:hover{color:var(--text-primary);background:var(--border-default)}.navbar-link.active{color:var(--accent);background:var(--accent-glow)}.navbar-right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.theme-toggle{border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.navbar-user-btn{border-radius:var(--radius-full);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.5rem;padding:.4rem .9rem;font-size:.85rem;font-weight:500;display:flex}.navbar-user-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.navbar-avatar{background:var(--accent);width:26px;height:26px;color:var(--bg-base);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.navbar-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar-hamburger span{background:var(--text-secondary);width:22px;height:2px;transition:all var(--transition);border-radius:2px;display:block}.page{min-height:calc(100vh - var(--navbar-height));max-width:1200px;margin:0 auto;padding:2.5rem clamp(1rem,5vw,3rem)}.page-full{min-height:calc(100vh - var(--navbar-height));padding:0}.auth-page{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);pointer-events:none;width:600px;height:600px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.auth-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);z-index:1;padding:2.5rem 2rem;position:relative}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo-text{font-family:var(--font-display);color:var(--text-primary);font-size:1.8rem;font-weight:700}.auth-logo-sub{color:var(--text-secondary);margin-top:.3rem;font-size:.85rem}.auth-tabs{background:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-default);margin-bottom:2rem;padding:4px;display:flex}.auth-tab{border-radius:calc(var(--radius-md) - 2px);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-size:.9rem;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;flex:1;padding:.55rem}.auth-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.form-group{margin-bottom:1.2rem}.form-label{color:var(--text-secondary);margin-bottom:.45rem;font-size:.85rem;font-weight:500;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:.95rem;font-family:var(--font-sans);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.7rem 1rem}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::placeholder{color:var(--text-muted)}.form-error{color:var(--unhealthy);margin-top:.35rem;font-size:.8rem}.form-success{color:var(--healthy);margin-top:.35rem;font-size:.8rem}.btn{border-radius:var(--radius-md);font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;width:100%;box-shadow:0 4px 12px var(--accent-glow);padding:.8rem;font-size:.95rem}.btn-primary:hover:not(:disabled){background:var(--accent-light);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-outline{color:var(--accent);border:1px solid var(--border-hover);background:0 0}.btn-outline:hover{background:var(--accent-glow);border-color:var(--accent)}.btn-ghost{color:var(--text-secondary);background:0 0;padding:.5rem .75rem}.btn-ghost:hover{background:var(--border-default);color:var(--text-primary)}.btn-danger{color:var(--unhealthy);background:0 0;border:1px solid #ef44444d}.btn-danger:hover{border-color:var(--unhealthy);background:#ef44441a}.btn-sm{border-radius:var(--radius-sm);padding:.4rem .85rem;font-size:.82rem}.btn-icon{background:var(--bg-input);border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;padding:0}.btn-icon:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);padding:1.5rem}.card:hover{border-color:var(--border-hover)}.card-glow{box-shadow:var(--shadow-glow);border-color:var(--border-hover)}.home-hero{text-align:center;padding:5rem clamp(1rem,5vw,3rem) 3rem;position:relative;overflow:hidden}.hero-bg{opacity:.07;pointer-events:none;background-image:url(https://images.unsplash.com/photo-1512621776951-a57141f2eefd?w=1600&q=80);background-position:50% 40%;background-size:cover;position:absolute;inset:0}[data-theme=light] .hero-bg{opacity:.12}.hero-glow{background:radial-gradient(ellipse, var(--accent-glow-lg) 0%, transparent 70%);pointer-events:none;width:500px;height:400px;position:absolute;top:-80px;left:50%;transform:translate(-50%)}.hero-badge{background:var(--accent-glow);border:1px solid var(--border-hover);border-radius:var(--radius-full);color:var(--accent-light);align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.35rem .9rem;font-size:.8rem;font-weight:500;display:inline-flex}.hero-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:1.2rem;font-size:clamp(2.2rem,6vw,3.8rem);font-weight:700;line-height:1.15}.hero-title span{background:linear-gradient(135deg, var(--teal-400), var(--emerald-400));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:560px;margin:0 auto 2.5rem;font-size:1.05rem;line-height:1.7}.hero-stats{flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-top:2rem;display:flex}.hero-stat{text-align:center}.hero-stat-value{font-family:var(--font-display);color:var(--accent);font-size:1.6rem;font-weight:700}.hero-stat-label{color:var(--text-muted);margin-top:.15rem;font-size:.78rem}.home-main{max-width:1100px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem}.upload-section{margin-bottom:2.5rem}.upload-box{border:2px dashed var(--border-default);border-radius:var(--radius-xl);text-align:center;cursor:pointer;transition:all var(--transition-slow);background:var(--bg-card);padding:3rem 2rem;position:relative;overflow:hidden}.upload-box:hover,.upload-box.drag-over{border-color:var(--accent);background:var(--bg-card-hover);box-shadow:0 0 0 4px var(--accent-glow-lg)}.upload-icon{background:var(--accent-glow);border:1px solid var(--border-hover);width:64px;height:64px;transition:transform var(--transition);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.8rem;display:flex}.upload-box:hover .upload-icon{transform:scale(1.05)}.upload-title{color:var(--text-primary);margin-bottom:.4rem;font-size:1.05rem;font-weight:600}.upload-sub{color:var(--text-secondary);margin-bottom:1.2rem;font-size:.85rem}.upload-hint{color:var(--text-muted);font-size:.78rem}.upload-preview{margin-top:1.2rem;display:inline-block;position:relative}.upload-preview img{border-radius:var(--radius-md);border:1px solid var(--border-default);max-height:180px}.upload-preview-remove{background:var(--unhealthy);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;line-height:1;display:flex;position:absolute;top:-8px;right:-8px}.score-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);margin-bottom:1.5rem;padding:2rem}.score-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.score-product-name{font-family:var(--font-display);color:var(--text-primary);font-size:1.4rem;font-weight:700}.score-brand{color:var(--text-secondary);margin-top:.2rem;font-size:.88rem}.score-badge{border-radius:var(--radius-full);flex-shrink:0;align-items:center;padding:.4rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.score-badge.healthy{color:var(--healthy);background:#10b98126;border:1px solid #10b9814d}.score-badge.moderate{color:var(--moderate);background:#f59e0b26;border:1px solid #f59e0b4d}.score-badge.unhealthy{color:var(--unhealthy);background:#ef44441f;border:1px solid #ef444440}.score-badge.poor{color:var(--poor);background:#dc26261f;border:1px solid #dc262640}.score-bar-wrap{margin-bottom:1.5rem}.score-bar-header{justify-content:space-between;align-items:baseline;margin-bottom:.6rem;display:flex}.score-bar-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.score-bar-value{font-family:var(--font-display);color:var(--text-primary);font-size:2rem;font-weight:700}.score-bar-value span{color:var(--text-muted);font-size:1rem;font-weight:400}.score-bar-track{background:var(--bg-input);border-radius:var(--radius-full);border:1px solid var(--border-default);height:12px;overflow:hidden}.score-bar-fill{border-radius:var(--radius-full);width:0;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.score-bar-fill.high{background:var(--score-high);box-shadow:0 0 12px #14b8a666}.score-bar-fill.medium{background:var(--score-mid);box-shadow:0 0 12px #f59e0b4d}.score-bar-fill.low{background:var(--score-low);box-shadow:0 0 12px #ef44444d}.frequency-pill{border-radius:var(--radius-full);background:var(--accent-glow);border:1px solid var(--border-hover);color:var(--accent-light);align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.45rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.insights-section{margin-top:1.5rem}.insights-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem;font-size:.82rem;font-weight:600}.insight-item{border-bottom:1px solid var(--border-default);color:var(--text-secondary);gap:.75rem;padding:.7rem 0;font-size:.9rem;line-height:1.5;display:flex}.insight-item:last-child{border-bottom:none}.insight-icon{flex-shrink:0;margin-top:2px}.nutrition-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);margin-bottom:1.5rem;padding:1.5rem}.nutrition-card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1rem;font-size:.82rem;font-weight:600}.nutrient-row{border-bottom:1px solid var(--border-default);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.65rem 0;display:grid}.nutrient-row:last-child{border-bottom:none}.nutrient-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.nutrient-value{color:var(--text-secondary);white-space:nowrap;font-size:.88rem}.nutrient-bar-wrap{width:80px}.nutrient-bar-track{background:var(--bg-input);border-radius:var(--radius-full);height:6px;overflow:hidden}.nutrient-bar-fill{border-radius:var(--radius-full);height:100%;transition:width 1s .3s}.history-layout{grid-template-columns:320px 1fr;align-items:start;gap:1.5rem;display:grid}.history-sidebar{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);top:calc(var(--navbar-height) + 1.5rem);position:sticky;overflow:hidden}.history-sidebar-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:1.2rem 1.25rem;display:flex}.history-sidebar-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.history-item{border-bottom:1px solid var(--border-default);cursor:pointer;transition:background var(--transition);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--bg-card-hover)}.history-item.selected{background:var(--accent-glow);border-left:2px solid var(--accent)}.history-item-score{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:flex}.history-item-info{flex:1;min-width:0}.history-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.history-item-brand{color:var(--text-muted);margin-top:.1rem;font-size:.78rem}.history-empty{text-align:center;color:var(--text-muted);padding:2.5rem 1.5rem;font-size:.9rem}.history-empty-icon{opacity:.5;margin-bottom:.75rem;font-size:2rem}.catalogue-search-wrap{margin-bottom:1.5rem;position:relative}.catalogue-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.catalogue-search{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);font-size:.95rem;font-family:var(--font-sans);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.8rem 1rem .8rem 2.75rem}.catalogue-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.catalogue-letter-group{margin-bottom:1.5rem}.catalogue-letter-header{font-family:var(--font-display);letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border-default);margin-bottom:.5rem;padding:.5rem 0;font-size:.78rem;font-weight:700}.catalogue-item{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);align-items:center;gap:1rem;padding:.85rem 1rem;text-decoration:none;display:flex}.catalogue-item:hover{background:var(--bg-card-hover)}.catalogue-item-score{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:.88rem;font-weight:700;display:flex}.catalogue-item-info{flex:1;min-width:0}.catalogue-item-name{color:var(--text-primary);font-size:.92rem;font-weight:600}.catalogue-item-brand{color:var(--text-muted);font-size:.8rem}.catalogue-item-right{text-align:right;flex-shrink:0}.catalogue-item-freq{color:var(--text-muted);font-size:.75rem}.profile-grid{grid-template-columns:280px 1fr;align-items:start;gap:1.5rem;display:grid}.profile-sidebar-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);text-align:center;padding:2rem 1.5rem}.profile-avatar{background:linear-gradient(135deg, var(--teal-600), var(--emerald-500));color:#fff;width:72px;height:72px;font-family:var(--font-display);box-shadow:0 0 24px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.6rem;font-weight:700;display:flex}.profile-name{font-family:var(--font-display);color:var(--text-primary);font-size:1.15rem;font-weight:700}.profile-email{color:var(--text-muted);margin-top:.25rem;font-size:.82rem}.profile-stat-row{border-top:1px solid var(--border-default);justify-content:center;gap:1.5rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.profile-stat{text-align:center}.profile-stat-val{font-family:var(--font-display);color:var(--accent);font-size:1.2rem;font-weight:700}.profile-stat-lbl{color:var(--text-muted);font-size:.72rem}.profile-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1rem;font-size:.82rem;font-weight:600}.danger-zone{border-radius:var(--radius-lg);background:#ef44440a;border:1px solid #ef444440;padding:1.25rem}.danger-zone-title{color:var(--unhealthy);margin-bottom:.4rem;font-size:.88rem;font-weight:600}.danger-zone-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.82rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition);padding:1.4rem 1.5rem}.stat-card:hover{border-color:var(--border-hover)}.stat-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem;font-size:.78rem;font-weight:600}.stat-card-value{font-family:var(--font-display);color:var(--text-primary);font-size:2rem;font-weight:700}.stat-card-sub{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.dist-row{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.dist-label{width:80px;color:var(--text-secondary);flex-shrink:0;font-size:.82rem}.dist-bar-track{background:var(--bg-input);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.dist-bar-fill{border-radius:var(--radius-full);height:100%;transition:width 1s}.dist-count{text-align:right;width:32px;color:var(--text-secondary);font-size:.82rem;font-weight:600}.about-hero{text-align:center;margin-bottom:2.5rem;padding:3rem 0 2rem}.about-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700}.about-subtitle{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:1rem}.about-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-bottom:2.5rem;display:grid}.about-feature-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition);padding:1.5rem}.about-feature-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.about-feature-icon{margin-bottom:.75rem;font-size:1.5rem}.about-feature-title{color:var(--text-primary);margin-bottom:.4rem;font-size:.95rem;font-weight:700}.about-feature-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.scoring-table{border-collapse:collapse;width:100%;font-size:.9rem}.scoring-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-default);padding:.65rem 1rem;font-size:.78rem;font-weight:600}.scoring-table td{border-bottom:1px solid var(--border-default);color:var(--text-secondary);vertical-align:middle;padding:.8rem 1rem}.scoring-table tr:last-child td{border-bottom:none}.scoring-table tr:hover td{background:var(--bg-card-hover)}.weight-bar{align-items:center;gap:.5rem;display:flex}.weight-track{background:var(--bg-input);border-radius:var(--radius-full);flex:1;height:6px}.weight-fill{background:var(--accent);border-radius:var(--radius-full);height:100%}.page-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.4rem;font-size:1.7rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem}.spinner{border:3px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-wrap{color:var(--text-muted);flex-direction:column;align-items:center;gap:1rem;padding:3rem;font-size:.9rem;display:flex}.analyzing-steps{flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.analyzing-step{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.analyzing-step.active{color:var(--accent)}.analyzing-step.done{color:var(--healthy)}.toast{z-index:999;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:.5rem;padding:.8rem 1.25rem;font-size:.88rem;font-weight:500;animation:.3s slide-up;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast-success{background:var(--healthy);color:#fff}.toast-error{background:var(--unhealthy);color:#fff}.toast-info{background:var(--info);color:#fff}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pagination{border-top:1px solid var(--border-default);justify-content:center;align-items:center;gap:.5rem;padding:1.25rem;display:flex}.page-btn{border-radius:var(--radius-sm);border:1px solid var(--border-default);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;font-size:.85rem;display:flex}.page-btn:hover{border-color:var(--accent);color:var(--accent)}.page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.page-btn:disabled{opacity:.35;cursor:not-allowed}.score-color-healthy{color:var(--healthy)}.score-color-moderate{color:var(--moderate)}.score-color-unhealthy{color:var(--unhealthy)}.score-color-poor{color:var(--poor)}.score-bg-healthy{background:#10b98126}.score-bg-moderate{background:#f59e0b1f}.score-bg-unhealthy{background:#ef44441a}.score-bg-poor{background:#dc26261a}.modal-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:2rem}.modal-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.5rem;font-size:1.15rem;font-weight:700}.modal-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.88rem;line-height:1.6}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.divider{border:none;border-top:1px solid var(--border-default);margin:1.5rem 0}.text-muted{color:var(--text-muted);font-size:.85rem}.text-accent{color:var(--accent)}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-1{gap:.5rem}.gap-2{gap:1rem}@media (width<=900px){.history-layout{grid-template-columns:1fr}.history-sidebar{position:static}.profile-grid{grid-template-columns:1fr}}@media (width<=680px){.navbar-links{display:none}.navbar-hamburger{display:flex}.navbar-links.open{top:var(--navbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border-default);z-index:99;flex-direction:column;gap:.25rem;padding:.75rem;display:flex;position:fixed;left:0;right:0}.home-hero{padding:3rem 1rem 2rem}.hero-stats{gap:1.5rem}.score-bar-value{font-size:1.5rem}}
