.diary-container{margin-bottom:50px;animation:.4s fadeIn}.date-navigation{background:var(--card);border:1px solid var(--border);border-radius:20px;margin-bottom:24px;padding:20px;transition:all .3s}.date-nav-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;display:flex}.date-nav-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .25s;display:flex}.date-nav-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px)}.date-display{text-align:center}.date-display h3{color:var(--text);margin-bottom:6px;font-size:20px;font-weight:700}.date-display p{color:var(--text-light);font-size:13px}.today-btn{background:var(--primary);color:#fff;border-color:var(--primary)}.today-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.entries-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;padding:28px}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.card-header h2{color:var(--text);align-items:center;gap:10px;font-size:24px;font-weight:700;display:flex}.entries-count{background:var(--bg);color:var(--text-light);border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500}.entries-list{flex-direction:column;gap:16px;display:flex}.entry-item{background:var(--bg);border:1px solid var(--border);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:20px;transition:all .25s;display:flex;position:relative;overflow:hidden}.entry-item:hover{border-color:var(--primary);transform:translate(4px);box-shadow:0 4px 12px #0000000d}.entry-info{flex:2;align-items:center;gap:16px;min-width:200px;display:flex}.entry-icon{width:48px;height:48px;color:var(--primary);background:#38b26c1f;border-radius:16px;justify-content:center;align-items:center;font-size:24px;display:flex}.entry-details{flex:1}.entry-title{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.entry-title strong{color:var(--text);font-size:16px;font-weight:700}.entry-time{color:var(--text-light);align-items:center;gap:4px;font-size:12px;display:flex}.entry-product{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.source-badge{background:var(--card);color:var(--text-light);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.entry-notes{color:var(--text-light);margin-top:6px;font-size:11px;font-style:italic}.entry-stats{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.calorie-badge{text-align:right;min-width:80px}.calorie-unit,.portion-value{color:var(--text-light);font-size:12px}.macro-badges{gap:8px;display:flex}.macro-badge{color:var(--text);background:#38b26c1f;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500}.entry-actions{gap:8px;display:flex}.action-btn{background:var(--card);border:1px solid var(--border);color:var(--text-light);cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;transition:all .2s;display:flex}.action-btn:hover{transform:translateY(-2px)}.edit-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.delete-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.empty-icon{color:var(--border);opacity:.5;margin-bottom:20px;font-size:64px}.empty-state h3{color:var(--text);margin-bottom:8px;font-size:20px}.empty-state p{margin-bottom:24px;font-size:14px}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border:1px solid var(--border);border-radius:28px;width:100%;max-width:600px;max-height:90vh;animation:.3s slideUp;overflow-y:auto;box-shadow:0 25px 50px #0000004d}.modal-header{border-bottom:1px solid var(--border);background:var(--card);z-index:1;justify-content:space-between;align-items:center;padding:24px 28px;display:flex;position:sticky;top:0}.modal-header h2{color:var(--text);align-items:center;gap:10px;font-size:24px;font-weight:700;display:flex}.close-btn{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--text-light);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:18px;transition:all .25s;display:flex}.close-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:rotate(90deg)}.modal-body{padding:28px}.entry-form{flex-direction:column;gap:20px;margin-bottom:45px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group label{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:14px;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .25s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #38b26c1a}.form-group textarea{resize:vertical;min-height:70px}.method-switch{background:var(--bg);border-radius:16px;gap:10px;padding:6px;display:flex}.method-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .25s;display:flex}.method-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #38b26c4d}.method-btn:hover:not(.active){background:var(--card);color:var(--text)}.submit-btn{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;margin-top:10px;padding:14px 24px;font-size:16px;font-weight:600;transition:all .25s;display:flex}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #38b26c4d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.stats-grid{gap:16px}.stats-card h3{font-size:28px}.entry-item{padding:16px}}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stats-card{padding:16px}.stats-card h3{font-size:24px}.stats-icon{font-size:28px}.entries-card{padding:20px}.card-header h2{font-size:20px}.entry-info{min-width:100%}.entry-item{flex-direction:column;align-items:stretch}.entry-stats{justify-content:space-between;margin-left:64px}.entry-actions{justify-content:flex-end;margin-left:64px}.date-nav-content{flex-direction:column}.date-nav-btn{justify-content:center;width:100%}.today-btn{order:-1}.form-row{grid-template-columns:1fr;gap:16px}.modal-content{max-width:95%}.modal-header,.modal-body{padding:20px}.method-switch{flex-direction:column}.method-btn{justify-content:center}}@media (width<=480px){.stats-grid{gap:10px}.stats-card{border-radius:16px;padding:12px}.stats-card h3{font-size:20px}.stats-icon{margin-bottom:8px;font-size:22px}.stats-card p{font-size:10px}.entries-card{border-radius:20px;padding:16px}.card-header{flex-direction:column;align-items:flex-start}.entry-icon{border-radius:12px;width:40px;height:40px;font-size:20px}.entry-title strong{font-size:14px}.entry-product{font-size:11px}.macro-badges{flex-wrap:wrap}.macro-badge{padding:3px 8px;font-size:10px}.entry-stats{flex-direction:column;align-items:flex-start;gap:10px;margin-left:56px}.calorie-badge{text-align:left}.entry-actions{margin-left:56px}.action-btn{padding:6px 10px;font-size:12px}.empty-state{padding:40px 20px}.empty-icon{font-size:48px}.empty-state h3{font-size:18px}.modal-header h2{font-size:20px}.close-btn{width:32px;height:32px}.submit-btn{padding:12px 20px;font-size:14px}}@media (width<=380px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-card h3{font-size:18px}.entry-icon{width:36px;height:36px;font-size:18px}.macro-badge{padding:2px 6px;font-size:9px}.action-btn span{display:none}.action-btn{padding:8px 10px}}.dark .stats-card,.dark .date-navigation,.dark .entries-card,.dark .modal-content{background:var(--card)}.dark .entry-item{background:#1f2937cc}.dark .form-group input,.dark .form-group select,.dark .form-group textarea{background:#0000004d}@media (prefers-reduced-motion:reduce){.stats-card,.entry-item,.action-btn,.date-nav-btn,.submit-btn,.modal-content{transition:none;animation:none}.stats-card:before{display:none}}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:var(--border);border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.statistics-container{animation:.4s fadeIn}.period-navigation{background:var(--card);border:1px solid var(--border);border-radius:24px;margin-bottom:24px;padding:20px}.period-tabs{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.period-tab{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:14px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .25s}.period-tab:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.period-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #38b26c4d}.custom-range{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.date-inputs{flex-wrap:wrap;gap:12px;display:flex}.date-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 14px;font-size:14px}.apply-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:10px 20px;font-weight:500;transition:all .25s}.apply-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.stats-grid-4{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px;display:grid}.stat-big-card{background:linear-gradient(135deg, var(--card), var(--bg));text-align:center;border:1px solid var(--border);border-radius:24px;padding:24px;transition:all .3s;position:relative;overflow:hidden}.stat-big-card:before{content:"";background:linear-gradient(90deg, var(--primary), #4ade80, #22c55e);height:4px;position:absolute;top:0;left:0;right:0}.stat-big-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.stat-big-icon{color:var(--primary);margin-bottom:12px;font-size:40px}.stat-big-value{color:var(--text);margin-bottom:8px;font-size:36px;font-weight:800}.stat-big-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;font-size:13px}.stat-big-sub{color:var(--text-light);margin-top:8px;font-size:11px}.charts-grid-2{grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px;display:grid}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:24px;transition:all .3s}.chart-card:hover{box-shadow:var(--shadow)}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.chart-header h3{color:var(--text);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.chart-icon{color:var(--primary);font-size:20px}.chart-container{width:100%;height:300px;position:relative}.macro-pie-container{flex-direction:column;gap:20px;display:flex}.pie-chart-wrapper{height:250px;position:relative}.macro-legend{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.legend-item{align-items:center;gap:8px;font-size:13px;display:flex}.legend-color{border-radius:3px;width:12px;height:12px}.legend-color.protein{background:#3b82f6}.legend-color.fat{background:#ef4444}.legend-color.carbs{background:#22c55e}.legend-value{color:var(--text);font-weight:600}.top-products-list{flex-direction:column;gap:16px;display:flex}.product-item{background:var(--bg);border-radius:16px;align-items:center;gap:15px;padding:12px;transition:all .25s;display:flex}.product-item:hover{background:#38b26c14;transform:translate(4px)}.product-rank{background:var(--primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}.product-info{flex:1}.product-name{color:var(--text);margin-bottom:4px;font-weight:600}.product-stats{color:var(--text-light);gap:16px;font-size:12px;display:flex}.product-bar{text-align:right;width:80px;color:var(--primary);font-weight:600}.top-days-list{flex-direction:column;gap:12px;display:flex}.day-item{background:var(--bg);border-radius:16px;align-items:center;gap:15px;padding:12px;display:flex}.day-date{color:var(--text);min-width:100px;font-weight:600}.day-calories{color:var(--primary);flex:1;font-weight:700}.day-meals{color:var(--text-light);font-size:13px}.achievements-section{margin-top:24px}.achievement-card{background:linear-gradient(135deg, var(--card), var(--bg));text-align:center;border:1px solid var(--border);border-radius:20px;padding:20px;transition:all .25s}.achievement-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.achievement-icon{margin-bottom:12px;font-size:32px}.achievement-title{color:var(--primary);margin-bottom:6px;font-size:24px;font-weight:800}.achievement-label{color:var(--text-light);font-size:12px}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:100px 20px;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1200px){.stats-grid-4{gap:16px}.stat-big-value{font-size:28px}}@media (width<=1024px){.charts-grid-2{grid-template-columns:1fr;gap:20px}.stats-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.period-tabs{justify-content:center}.period-tab{padding:8px 16px;font-size:12px}.custom-range{flex-direction:column}.date-inputs{width:100%}.date-input{flex:1}.apply-btn{width:100%}.stats-grid-4{gap:12px}.stat-big-card{padding:16px}.stat-big-icon{font-size:28px}.stat-big-value{font-size:22px}.stat-big-label{font-size:11px}.chart-card{padding:16px}.chart-header h3{font-size:16px}.chart-container{height:250px}.product-item{flex-wrap:wrap}.product-bar{width:auto;margin-left:auto}.day-item{flex-wrap:wrap}.achievements-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.stats-grid-4{grid-template-columns:1fr}.period-tab{text-align:center;flex:1}.date-inputs{flex-direction:column}.date-input{width:100%}.macro-legend{gap:12px}.legend-item{font-size:11px}.product-rank{width:28px;height:28px;font-size:12px}.product-name{font-size:13px}.product-stats{gap:8px;font-size:10px}.achievements-grid{grid-template-columns:1fr}.achievement-title{font-size:20px}}:root{--bg:#f4fff7;--card:#fff;--primary:#38b26c;--primary-hover:#2f9b5d;--text:#1f2937;--text-light:#6b7280;--border:#d1fae5;--shadow:0 10px 30px #00000014;--radius:18px}.dark{--bg:#111827;--card:#1f2937;--primary:#4ade80;--primary-hover:#22c55e;--text:#f9fafb;--text-light:#9ca3af;--border:#374151}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;transition:all .3s}.container{width:100%;max-width:1200px;margin:auto;padding:20px}button{cursor:pointer;border:none}input,select{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:12px;padding:14px}.auth-form{background:var(--card);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow);margin:50px auto;padding:30px}.auth-form h1{margin-bottom:20px}.auth-form form{flex-direction:column;gap:15px;display:flex}.auth-form button{background:var(--primary);color:#fff;border-radius:12px;padding:14px;font-size:16px}.hero{align-items:center;min-height:100vh;display:flex}.hero-text h1{margin-bottom:20px;font-size:56px;line-height:1.1}.hero-text p{color:var(--text-light);margin-bottom:20px;font-size:18px}.hero-buttons{gap:15px;display:flex}.primary-btn{background:var(--primary);color:#fff;border-radius:12px;padding:14px 24px}.secondary-btn{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:12px;padding:14px 24px}.hero-image img{width:100%}@media (width<=900px){.hero-content{grid-template-columns:1fr}.hero-text h1{font-size:40px}}.home-page{overflow:hidden}.hero{align-items:center;min-height:100vh;padding:60px 0;display:flex}.hero-content{grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;display:grid}.hero-badge{color:var(--primary);background:#38b26c1f;border-radius:999px;margin-bottom:25px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-block}.hero-text h1{margin-bottom:28px;font-size:68px;font-weight:800;line-height:1}.hero-text p{color:var(--text-light);margin-bottom:18px;font-size:18px;line-height:1.8}.hero-buttons{flex-wrap:wrap;gap:18px;margin-top:35px;display:flex}.big-btn{min-width:220px;padding:16px 28px;font-size:16px;font-weight:600;transition:all .25s}.hero-right{flex-direction:column;gap:20px;display:flex}.glass-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;padding:24px;transition:all .3s}.glass-card:hover{transform:translateY(-4px)}.card-main{padding:32px}.card-main h3{margin:16px 0;font-size:28px}.card-main p{color:var(--text-light);line-height:1.7}.mini-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card-icon{color:var(--primary);font-size:32px}.glass-card h4{margin:16px 0 10px;font-size:18px}.glass-card p{color:var(--text-light);line-height:1.6}.features{padding:100px 0}.section-title{text-align:center;margin-bottom:50px}.section-title h2{margin-bottom:15px;font-size:42px}.section-title p{color:var(--text-light);font-size:18px}.features-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.feature-card{background:var(--card);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow);border-radius:24px;padding:30px;transition:all .3s}.feature-card:hover{transform:translateY(-5px)}.feature-icon{color:var(--primary);margin-bottom:20px;font-size:42px}.feature-card h3{margin-bottom:15px}.feature-card p{color:var(--text-light);line-height:1.7}@media (width<=1000px){.hero-content{grid-template-columns:1fr}.hero-text h1{font-size:48px}.features-grid{grid-template-columns:1fr}}@media (width<=700px){.hero{padding-top:30px}.hero-text h1{font-size:38px}.hero-text p{font-size:16px}.mini-grid{grid-template-columns:1fr}.big-btn{width:100%}}.auth-page{background:linear-gradient(135deg,#0f172a,#111827,#064e3b);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-overlay{background:radial-gradient(circle at 0 0,#4ade8026,#0000 30%),radial-gradient(circle at 100% 100%,#10b9812e,#0000 30%);position:absolute;inset:0}.auth-container{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);z-index:2;background:#ffffff0a;border:1px solid #ffffff14;border-radius:32px;grid-template-columns:1fr 480px;width:100%;max-width:1200px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000059}.auth-left{color:#fff;flex-direction:column;justify-content:center;padding:70px;display:flex}.auth-brand{align-items:center;gap:12px;margin-bottom:40px;font-size:24px;font-weight:700;display:flex}.auth-brand svg{color:#4ade80}.auth-left h1{margin-bottom:28px;font-size:62px;line-height:1}.auth-left p{color:#ffffffbf;max-width:520px;font-size:18px;line-height:1.8}.auth-card{background:#111827eb;flex-direction:column;justify-content:center;padding:50px;display:flex}.auth-card h2{color:#fff;margin-bottom:10px;font-size:34px}.auth-subtitle{color:#9ca3af;margin-bottom:30px}.auth-card form{flex-direction:column;gap:18px;display:flex}.auth-card input,.auth-card select{color:#fff;appearance:none;background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;outline:none;width:100%;padding:16px;font-size:15px;transition:all .25s}.auth-card select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M208.49 88.49a12 12 0 0 0-17 0L128 152 64.49 88.49a12 12 0 0 0-17 17l72 72a12 12 0 0 0 17 0l72-72a12 12 0 0 0 0-17Z'%3E%3C/path%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:18px;padding-right:50px}.auth-card select option{color:#fff;background:#111827}.auth-card input:focus,.auth-card select:focus{border-color:#4ade80;box-shadow:0 0 0 4px #4ade801f}.auth-card input::placeholder{color:#9ca3af}.auth-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:16px;margin-top:10px;padding:16px;font-size:16px;font-weight:600;transition:all .25s}.auth-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #22c55e40}.auth-footer{color:#9ca3af;justify-content:center;gap:8px;margin-top:25px;display:flex}.auth-footer a{color:#4ade80;font-weight:600;text-decoration:none}.double-input{grid-template-columns:1fr 1fr;gap:15px;display:grid}@media (width<=1000px){.auth-container{grid-template-columns:1fr}.auth-left{display:none}}@media (width<=600px){.auth-card{padding:30px 24px}.auth-card h2{font-size:28px}.double-input{grid-template-columns:1fr}}.dashboard{background:var(--bg);min-height:100vh;color:var(--text);margin-bottom:50px;font-family:Inter,sans-serif;display:flex;position:relative}.sidebar{background:var(--card);border:1px solid var(--border);width:260px;box-shadow:var(--shadow);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;flex-direction:column;gap:8px;padding:24px 16px;transition:all .3s;display:flex;position:fixed;top:20px;bottom:20px;left:20px;overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:var(--border);border-radius:10px}.sidebar::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.logo{text-align:center;background:linear-gradient(135deg,#38b26c,#22c55e,#4ade80);-webkit-text-fill-color:transparent;letter-spacing:1px;cursor:pointer;-webkit-background-clip:text;background-clip:text;margin-bottom:40px;padding:16px;font-size:28px;font-weight:800;transition:all .3s;position:relative}.logo:before{content:"";background:linear-gradient(90deg,#0000,#38b26c,#4ade80,#0000);border-radius:3px;width:50px;height:3px;transition:width .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.logo:hover:before{width:80px}.logo:hover{letter-spacing:2px;transform:scale(1.02)}.sidebar-logo{background:linear-gradient(135deg, var(--primary), #4ade80);-webkit-text-fill-color:transparent;text-align:center;border-bottom:2px solid var(--border);-webkit-background-clip:text;background-clip:text;margin-bottom:32px;padding:12px;font-size:28px;font-weight:800}.sidebar-menu{flex-direction:column;flex:1;gap:8px;display:flex}.sidebar-btn{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:500;transition:all .25s;display:flex;position:relative;overflow:hidden}.sidebar-btn:before{content:"";background:var(--primary);z-index:-1;width:0;transition:width .25s;position:absolute;top:0;bottom:0;left:0}.sidebar-btn:hover:before{width:100%}.sidebar-btn:hover{color:#fff;transform:translate(4px)}.sidebar-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #38b26c4d}.sidebar-btn svg{min-width:24px;font-size:20px}.dashboard-content{flex-direction:column;flex:1;gap:20px;margin-left:300px;padding:20px;display:flex}.menu-button{cursor:pointer;color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-weight:500;transition:all .25s;display:flex}.menu-button.active,.menu-button:hover{background:var(--primary);color:#fff}.menu-button span{font-size:16px}.mobile-menu{background:var(--card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);z-index:1000;border-radius:28px;justify-content:space-around;gap:8px;padding:12px 20px;display:none;position:fixed;bottom:20px;left:20px;right:20px;box-shadow:0 10px 40px #0003}.mobile-menu-button{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:20px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .25s;display:flex}.mobile-menu-button svg{font-size:22px;transition:transform .2s}.mobile-menu-button span{font-size:11px;font-weight:500}.mobile-menu-button.active{color:var(--primary);background:#38b26c1a}.mobile-menu-button.active svg{transform:translateY(-2px)}.mobile-menu-button:hover:not(.active){color:var(--text);background:#ffffff0d;transform:translateY(-2px)}@media (width<=900px){.sidebar{display:none}.dashboard-content{margin-left:0;padding:20px 20px 90px}.mobile-menu{display:flex}}.topbar{background:var(--card);box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:20px 24px;display:flex}.topbar h1{background:linear-gradient(135deg, var(--text), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:28px;font-weight:700}.topbar p{color:var(--text-light);font-size:14px}.notification-btn{background:var(--bg);border:1px solid var(--border);color:var(--text-light);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;padding:12px;font-size:20px;transition:all .25s;display:flex;position:relative}.notification-btn:after{content:"";background:var(--primary);border:2px solid var(--card);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.notification-btn:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}@media (width<=1200px){.sidebar{width:240px;top:15px;bottom:15px;left:15px}.dashboard-content{margin-left:275px}}@media (width<=900px){.dashboard-content{margin-left:0;padding:15px 15px 85px}.topbar{padding:16px 20px}.topbar h1{font-size:22px}.mobile-menu{padding:10px 16px}.mobile-menu-button{padding:6px 8px}.mobile-menu-button svg{font-size:20px}.mobile-menu-button span{font-size:10px}}@media (width<=480px){.mobile-menu{border-radius:24px;padding:8px 12px;bottom:15px;left:15px;right:15px}.mobile-menu-button svg{font-size:18px}.mobile-menu-button span{font-size:9px}.dashboard-content{padding:12px 12px 80px}.topbar{text-align:center;flex-direction:column;gap:12px}.notification-btn{align-self:flex-end}}@media (width>=901px){.sidebar{transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar:hover{box-shadow:0 20px 40px #00000026}.dashboard-content{transition:margin-left .3s}}.dashboard-content::-webkit-scrollbar{width:6px}.dashboard-content::-webkit-scrollbar-track{background:var(--border);border-radius:10px}.dashboard-content::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.mobile-menu-button.active{position:relative}.sidebar,.mobile-menu,.topbar,.dashboard-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .sidebar,.dark .mobile-menu,.dark .topbar,.dark .dashboard-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1f2937f2}@supports (padding:max(0px)){.mobile-menu{padding-bottom:max(12px, env(safe-area-inset-bottom))}.dashboard-content{padding-bottom:max(20px, env(safe-area-inset-bottom))}}.stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.stats-card{background:var(--bg);text-align:center;border:1px solid var(--border);border-radius:20px;padding:24px;transition:all .25s}.stats-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.stats-icon{color:var(--primary);margin-bottom:12px;font-size:36px}.stats-card h3{color:var(--text);margin-bottom:8px;font-size:32px;font-weight:800}.stats-card p{color:var(--text-light);font-size:14px;font-weight:500}.scanner-card{text-align:center;max-width:600px;margin:0 auto}.method-switch button:hover:not(.active){background:var(--card);color:var(--text)}.scanner-icon{color:var(--primary);margin-bottom:24px;font-size:80px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.scanner-card h2{margin-bottom:16px;font-size:32px}.scanner-card p{color:var(--text-light);margin-bottom:32px;font-size:16px;line-height:1.6}.scanner-card .primary-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:14px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .25s}.scanner-card .primary-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px #38b26c4d}.chart-container{background:var(--bg);border-radius:20px;margin-top:24px;padding:20px}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.calculator-grid{grid-template-columns:1fr}}@media (width<=768px){.dashboard-card{padding:20px}.dashboard-card h2{font-size:24px}.stats-grid{grid-template-columns:1fr;gap:16px}.stats-card h3{font-size:28px}.scanner-icon{font-size:60px}.scanner-card h2{font-size:24px}.method-switch button{padding:10px 12px;font-size:13px}.topbar h1{font-size:22px}.topbar p{font-size:12px}}@media (width<=480px){.method-switch{flex-direction:column}.calculator-result{font-size:22px}.topbar{text-align:center;flex-direction:column;gap:12px}}.dark .stats-card,.dark .calculator-grid input{background:var(--card)}.dark .method-switch{background:#ffffff0d}.dark .chart-container{background:var(--card)}.dashboard-card{animation:.4s fadeIn}.primary-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:14px;padding:14px 28px;font-weight:600;transition:all .25s}.primary-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.dashboard-card p{color:var(--text-light);margin-bottom:20px;line-height:1.6}.empty-state{text-align:center;color:var(--text-light);padding:60px 20px}.empty-state svg{color:var(--border);margin-bottom:16px;font-size:64px}.calculator-wrapper{max-width:1000px;margin:0 auto}.calculator-subtitle{color:var(--text-light);margin-bottom:32px;font-size:14px}.calculator-form{background:var(--bg);border-radius:20px;margin-bottom:32px;padding:24px}.form-row{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text);font-size:14px;font-weight:600}.form-group input,.form-group select{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:12px 16px;font-size:15px;transition:all .25s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #38b26c1a}.gender-buttons{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gender-btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;transition:all .25s;display:flex}.gender-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.calculate-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:10px;padding:14px;font-size:16px;font-weight:600;transition:all .25s;display:flex}.calculate-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.calculator-results{animation:.5s ease-out slideUp}.results-header{text-align:center;border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:16px}.results-header h3{margin-bottom:8px;font-size:24px}.results-header p{color:var(--text-light);font-size:14px}.calories-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px;display:grid}.calorie-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;align-items:center;gap:16px;padding:20px;transition:all .25s;display:flex}.calorie-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.calorie-card.primary{background:linear-gradient(135deg, var(--primary), var(--primary-hover));border-color:#0000}.calorie-card.primary .calorie-info{color:#fff}.calorie-card.primary .calorie-label,.calorie-card.primary small{color:#ffffffe6}.calorie-icon{font-size:32px}.calorie-info{flex-direction:column;flex:1;gap:4px;display:flex}.calorie-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.calorie-value{color:var(--text);font-size:20px;font-weight:700}.calorie-value.large{font-size:28px}.calorie-info small{color:var(--text-light);font-size:11px}.macros-section,.weekly-section,.recommendations-section{margin-bottom:32px}.macros-section h4,.weekly-section h4,.recommendations-section h4{color:var(--text);align-items:center;gap:8px;margin-bottom:16px;font-size:18px;display:flex}.macros-grid{flex-direction:column;gap:16px;display:flex}.macro-item{background:var(--bg);border-radius:16px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.macro-icon{min-width:48px;font-size:32px}.macro-info{flex:1;min-width:150px}.macro-name{color:var(--text);margin-bottom:4px;font-weight:600;display:block}.macro-value{color:var(--primary);font-size:20px;font-weight:700}.macro-percent{color:var(--text-light);margin-left:8px;font-size:12px}.progress-bar{background:var(--border);border-radius:4px;flex:2;height:8px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:4px;height:100%;transition:width .5s}.weekly-card{background:linear-gradient(135deg, var(--bg), var(--card));border:1px solid var(--border);border-radius:16px;padding:24px}.weekly-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.weekly-item{flex-direction:column;gap:8px;display:flex}.weekly-label{color:var(--text-light);text-transform:uppercase;font-size:12px}.weekly-value{color:var(--text);font-size:18px;font-weight:600}.weekly-item.highlight .weekly-value{color:var(--primary);font-size:20px}.recommendations-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.recommendation-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;gap:16px;padding:16px;transition:all .25s;display:flex}.recommendation-card:hover{transform:translate(4px)}.rec-icon{color:var(--primary);font-size:28px}.rec-content h5{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600}.rec-content p{color:var(--text-light);font-size:13px;line-height:1.5}.water-reminder{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:16px;align-items:center;gap:16px;margin-top:24px;padding:20px;display:flex}.water-icon{font-size:40px}.water-info h4{color:#fff;margin-bottom:4px;font-size:18px}.water-info p{opacity:.95;font-size:14px}.section-icon{margin-right:8px}@media (width<=900px){.form-row{grid-template-columns:1fr;gap:16px}.calories-grid,.weekly-stats,.recommendations-grid{grid-template-columns:1fr}}@media (width<=600px){.macro-item{text-align:center;flex-direction:column}.progress-bar{width:100%}.gender-buttons{grid-template-columns:1fr}}.not-found{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.not-found__center{text-align:center}.not-found__code{letter-spacing:-2px;color:var(--accent);text-shadow:0 0 40px var(--accent-bg);font-size:110px;font-weight:800;line-height:1}.not-found__title{color:var(--text-h);margin-top:10px;font-size:28px}.not-found__text{max-width:420px;color:var(--text);opacity:.8;margin-top:10px}.not-found__actions{gap:12px;margin-top:24px;display:flex}@media (width<=1024px){.not-found__actions{flex-direction:column;width:100%}}.not-found__button{background:var(--accent-bg);color:var(--accent);border:2px solid #0000;border-radius:8px;padding:10px 14px;text-decoration:none;transition:all .25s}.not-found__button:hover{border-color:var(--accent-border);box-shadow:var(--shadow)}.not-found__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.not-found__button--ghost{border:2px solid var(--border);color:var(--text-h);background:0 0}.not-found__button--ghost:hover{border-color:var(--accent-border)}.not-found__glow{background:radial-gradient(circle, var(--accent-bg) 0%, transparent 60%);filter:blur(40px);opacity:.6;pointer-events:none;width:600px;height:600px;position:absolute;inset:-200px auto auto 50%;transform:translate(-50%)}.scanner-wrapper{max-width:700px;margin:0 auto 55px}.scanner-card{position:relative;overflow:hidden}.method-switch{background:var(--bg);border-radius:20px;gap:12px;margin-bottom:32px;padding:6px;display:flex}.method-switch button{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:600;transition:all .3s;display:flex}.method-switch button.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #38b26c4d}.photo-analysis{text-align:center}.upload-area{border:2px dashed var(--border);text-align:center;background:var(--bg);cursor:pointer;border-radius:20px;margin-top:24px;padding:48px 24px;transition:all .3s}.upload-area:hover{border-color:var(--primary);background:#38b26c0d;transform:translateY(-4px)}.upload-text{color:var(--text-light);font-size:14px}.barcode-scanner{text-align:center}.scanner-buttons{justify-content:center;gap:12px;margin:24px 0;display:flex}.scanner-buttons .primary-btn,.scanner-buttons .secondary-btn{cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;display:flex}.scanner-buttons .primary-btn{background:var(--primary);color:#fff;border:none}.scanner-buttons .secondary-btn{background:var(--bg);color:var(--text);border:1px solid var(--border)}.scanner-buttons .primary-btn:hover,.scanner-buttons .secondary-btn:hover{transform:translateY(-2px)}.scanner-container{background:#000;border-radius:20px;width:100%;max-width:400px;margin:20px auto;display:none;overflow:hidden}.scanner-container.active{animation:.3s fadeIn;display:block}.scanner-container video{width:100%;height:auto}.scanning-controls{justify-content:center;gap:12px;margin-top:16px;display:flex}.control-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;transition:all .3s;display:flex}.control-btn:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}.scan-result{background:var(--bg);border-radius:20px;margin-top:32px;padding:24px;animation:.5s slideUp}.scan-result-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.scan-result-header h3{color:var(--text);margin:0;font-size:20px}.product-info{background:var(--card);border-radius:16px;gap:20px;margin-bottom:24px;padding:16px;display:flex}.product-emoji{font-size:64px}.product-details{flex:1}.product-details h4{color:var(--text);margin-bottom:8px;font-size:18px}.product-brand{color:var(--text-light);margin-bottom:4px;font-size:13px}.product-weight{color:var(--primary);font-size:13px;font-weight:600}.nutritional-info{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.nutrient-item{background:var(--card);border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.nutrient-label{color:var(--text-light);font-size:14px}.nutrient-value{color:var(--primary);font-size:16px;font-weight:700}.scan-actions{gap:12px;display:flex}.add-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-weight:600;transition:all .3s}.add-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.clear-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex:1;padding:12px;font-weight:600;transition:all .3s}.clear-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.error-message{background:#ef44441a;border:1px solid #ef44444d;border-radius:16px;align-items:flex-start;gap:16px;margin-top:24px;padding:20px;display:flex}.error-content h4{color:#ef4444;margin-bottom:8px}.error-content p{color:var(--text);margin-bottom:12px;font-size:14px}.retry-btn{border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;transition:all .3s;display:flex}.retry-btn:hover{background:var(--primary);color:#fff}.info-note{color:var(--text-light);background:#38b26c1a;border-radius:12px;gap:12px;margin-top:24px;padding:16px;font-size:13px;display:flex}.info-note svg{color:var(--primary);flex-shrink:0;margin-top:2px}@media (width<=600px){.scanner-buttons{flex-direction:column}.nutritional-info{grid-template-columns:1fr}.scan-actions{flex-direction:column}.product-info{text-align:center;flex-direction:column}.method-switch button{padding:10px 12px;font-size:13px}.scanner-container{max-width:100%}}.scanner-video{border-radius:16px;width:100%;height:auto}.scanner-frame:before,.scanner-frame:after{content:"";border-color:var(--primary);border-style:solid;width:30px;height:30px;position:absolute}.image-preview{margin-top:20px;position:relative}.image-preview img{border-radius:16px;max-width:100%}.loading-spinner{color:#fff;background:#000c;border-radius:12px;padding:12px 24px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.confidence{color:var(--primary);margin-top:4px;font-size:12px}.analyzing-overlay{color:#fff;background:#000c;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.spinner{font-size:40px;animation:1s linear infinite spin}.image-preview{border-radius:16px;margin-top:20px;position:relative;overflow:hidden}.image-preview img{border-radius:16px;width:100%}.scanner-video{border-radius:16px;width:100%;transform:scaleX(-1)}.scanner-overlay{position:relative}.scanner-frame:before,.scanner-frame:after{content:"";border-style:solid;border-color:#4ade80;width:40px;height:40px;position:absolute}.scanner-frame:before{border-width:3px 0 0 3px;top:-2px;left:-2px}.scanner-frame:after{border-width:0 3px 3px 0;bottom:-2px;right:-2px}.confidence{color:#4ade80;margin-top:4px;font-size:12px;font-weight:600}.api-status{border-radius:12px;align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.api-status.success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d}.api-status.warning{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b4d}.spinner-large{color:var(--primary);margin-bottom:16px;font-size:48px;animation:1s linear infinite spin}.product-emoji-large{background:var(--bg);border-radius:16px;justify-content:center;align-items:center;width:80px;height:80px;font-size:64px;display:flex}.product-categories{background:var(--bg);color:var(--text-light);border-radius:10px;align-items:center;gap:8px;margin:16px 0;padding:10px 12px;font-size:13px;display:flex}.extra-nutrition{background:var(--bg);border-radius:12px;justify-content:space-between;gap:16px;margin:16px 0;padding:12px;font-size:13px;display:flex}.extra-item{color:var(--text-light);align-items:center;gap:6px;display:flex}.nutriscore{border-radius:20px;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.product-source{color:var(--text-light);margin-top:4px;font-size:11px}.product-icon{background:var(--bg);width:80px;height:80px;color:var(--primary);border-radius:16px;justify-content:center;align-items:center;font-size:64px;display:flex}.product-brand{color:var(--text-light);align-items:center;gap:6px;margin-bottom:4px;font-size:13px;display:flex}.product-weight{color:var(--text-light);align-items:center;gap:6px;font-size:13px;display:flex}.confidence{color:var(--primary);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.nutrient-item .nutrient-label{color:var(--text-light);align-items:center;gap:8px;font-size:14px;display:flex}.manual-input-form{background:var(--bg);border-radius:20px;margin-top:24px;padding:20px;animation:.3s slideUp}.manual-input-header{color:var(--primary);align-items:center;gap:12px;margin-bottom:20px;display:flex}.manual-input-header h3{color:var(--text);margin:0;font-size:18px}.barcode-input{border:2px solid var(--border);background:var(--card);color:var(--text);text-align:center;letter-spacing:2px;border-radius:14px;padding:16px;font-family:monospace;font-size:18px;transition:all .3s}.barcode-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #38b26c1a}.submit-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;transition:all .3s;display:flex}.submit-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;transition:all .3s;display:flex}.input-hint{color:var(--text-light);background:#38b26c1a;border-radius:12px;align-items:center;gap:10px;margin-top:16px;padding:12px;font-size:13px;display:flex}.input-hint svg{color:var(--primary);flex-shrink:0}.product-barcode{color:var(--text-light);align-items:center;gap:6px;margin-bottom:4px;font-family:monospace;font-size:12px;display:flex}.error-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}@media (width<=600px){.scanner-buttons,.input-actions{flex-direction:column}.barcode-input{padding:14px;font-size:16px}}.browser-support-info{margin-bottom:15px}.api-status.info{color:#0d47a1;background:#e3f2fd;border-left:4px solid #0d47a1}.scanner-placeholder{color:#666;background:#f5f5f5;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;height:300px;display:flex}.scanner-placeholder p{margin-top:10px;font-size:14px}.scanning-hint{color:#fff;background:#000000b3;border-radius:20px;padding:8px 16px;font-size:14px;animation:1.5s ease-in-out infinite pulse;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.preview-image{border-radius:8px;max-width:100%;margin-top:15px;overflow:hidden}.preview-image img{object-fit:cover;width:100%;max-height:300px}.progress-bar-container{background:#e0e0e0;border-radius:10px;width:100%;height:20px;margin-top:10px;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:10px;justify-content:center;align-items:center;height:100%;transition:width .3s;display:flex}.progress-text{color:#fff;text-shadow:0 1px 2px #0000004d;font-size:12px;font-weight:700}.scanner-container{background:#000;border-radius:12px;min-height:300px;margin:15px 0;position:relative;overflow:hidden}.scanner-video{width:100%;height:auto;display:block;transform:scaleX(-1)}.scanner-video.mirrored{transform:scaleX(-1)}.scanner-overlay{pointer-events:none;position:absolute;inset:0}.scanner-frame{border:3px solid #4caf50cc;border-radius:12px;width:70%;height:40%;animation:2s linear infinite scanLine;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0006}@keyframes scanLine{0%{box-shadow:0 0 0 9999px #0006,inset 0 0 #4caf504d}50%{box-shadow:0 0 0 9999px #0006,inset 0 0 0 2px #4caf504d}to{box-shadow:0 0 0 9999px #0006,inset 0 0 #4caf504d}}.scanner-buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin:15px 0;display:flex}.primary-btn,.secondary-btn,.control-btn,.submit-btn,.cancel-btn,.retry-btn,.add-btn,.clear-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s;display:flex}.primary-btn{color:#fff;background:#4caf50}.primary-btn:hover{background:#43a047;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.secondary-btn{color:#333;background:#e0e0e0}.secondary-btn:hover{background:#d0d0d0;transform:translateY(-2px)}.control-btn{color:#fff;background:#2196f3}.control-btn:hover{background:#1976d2}.control-btn.stop{background:#f44336}.control-btn.stop:hover{background:#d32f2f}.submit-btn{color:#fff;background:#4caf50}.submit-btn:disabled{cursor:not-allowed;background:#bdbdbd}.cancel-btn{color:#fff;background:#f44336}.retry-btn{color:#fff;background:#ff9800}.retry-btn:hover{background:#f57c00}.add-btn{color:#fff;background:#4caf50;flex:1}.add-btn:hover{background:#43a047}.clear-btn{color:#fff;background:#f44336}.clear-btn:hover{background:#d32f2f}.scanner-icon{color:#4caf50;margin-bottom:10px;font-size:48px}.method-switch{gap:10px;margin:20px 0;display:flex}.method-switch button{cursor:pointer;background:0 0;border:2px solid #e0e0e0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;transition:all .3s;display:flex}.method-switch button.active{color:#2e7d32;background:#4caf501a;border-color:#4caf50}.method-switch button:hover{border-color:#4caf50}.upload-area{text-align:center;cursor:pointer;border:2px dashed #bdbdbd;border-radius:12px;margin:20px 0;padding:40px;transition:all .3s}.upload-area:hover{background:#4caf500d;border-color:#4caf50}.upload-icon{color:#4caf50;margin-bottom:10px;font-size:48px}.upload-text{color:#666}.upload-text strong{color:#333}.scan-result{background:#f5f5f5;border-left:4px solid #4caf50;border-radius:12px;margin-top:20px;padding:20px}.scan-result-header{align-items:center;gap:10px;margin-bottom:15px;display:flex}.success-icon{color:#4caf50;font-size:24px}.product-info{flex-wrap:wrap;gap:15px;margin-bottom:15px;display:flex}.product-image{object-fit:cover;border-radius:8px;width:120px;height:120px}.product-icon{color:#4caf50;background:#e0e0e0;border-radius:8px;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.product-details{flex:1;min-width:200px}.product-details h4{margin:0 0 8px;font-size:18px}.product-details p{color:#555;align-items:center;gap:6px;margin:4px 0;font-size:14px;display:flex}.product-categories{color:#0d47a1;background:#e3f2fd;border-radius:8px;align-items:center;gap:8px;margin-bottom:15px;padding:10px;display:flex}.nutritional-info{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:15px 0;display:grid}.nutrient-item{text-align:center;background:#fff;border-radius:8px;padding:12px;box-shadow:0 2px 4px #0000001a}.nutrient-label{color:#666;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.nutrient-value{color:#333;margin-top:4px;font-size:18px;font-weight:700;display:block}.extra-nutrition{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.extra-item{color:#555;background:#fafafa;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.scan-actions{flex-wrap:wrap;gap:10px;margin-top:15px;display:flex}.error-message{background:#ffebee;border-left:4px solid #f44336;border-radius:12px;align-items:flex-start;gap:15px;margin-top:20px;padding:20px;display:flex}.error-icon{color:#f44336;flex-shrink:0;font-size:24px}.error-content{flex:1}.error-content h4{color:#c62828;margin:0 0 8px}.error-content p{color:#555;margin:0 0 15px}.error-actions{flex-wrap:wrap;gap:10px;display:flex}.loading-container{text-align:center;padding:30px 0}.spinner-large{color:#4caf50;font-size:48px;animation:1s linear infinite spin}.api-status{border-radius:8px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 15px;font-weight:500;display:flex}.api-status.success{color:#2e7d32;background:#e8f5e9;border-left:4px solid #4caf50}.api-status.warning{color:#e65100;background:#fff3e0;border-left:4px solid #ff9800}.manual-input-form{margin:20px 0}.manual-input-header{align-items:center;gap:10px;margin-bottom:15px;display:flex}.manual-input-header h3{margin:0}.input-group{flex-direction:column;gap:10px;display:flex}.barcode-input{box-sizing:border-box;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px;font-size:16px;transition:border-color .3s}.barcode-input:focus{border-color:#4caf50;outline:none}.input-actions{gap:10px;display:flex}.input-hint{color:#666;align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.scanning-controls{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.nutriscore{border-radius:20px;align-items:center;gap:6px;margin-top:5px;padding:4px 12px;font-size:14px;font-weight:600;display:inline-flex}.nutriscore-a{color:#fff;background:#2e7d32}.nutriscore-b{color:#fff;background:#558b2f}.nutriscore-c{color:#fff;background:#f9a825}.nutriscore-d{color:#fff;background:#e65100}.nutriscore-e{color:#fff;background:#b71c1c}.confidence{color:#4caf50;font-weight:600}@media (width<=768px){.scanner-buttons,.method-switch,.scanning-controls,.input-actions{flex-direction:column}.product-info{flex-direction:column;align-items:center}.product-details{text-align:center}.product-details p{justify-content:center}.scan-actions{flex-direction:column}.error-message{text-align:center;flex-direction:column;align-items:center}.error-actions{justify-content:center}}.profile-container{max-width:1200px;margin:0 auto 50px}.profile-header{margin-bottom:80px;position:relative}.profile-cover{background:linear-gradient(135deg, var(--primary), #22c55e);border-radius:24px;height:180px;position:relative;overflow:hidden}.profile-cover:after{content:"";background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" opacity=\"0.1\"><path fill=\"white\" d=\"M10,10 L90,10 L50,50 Z\"/></svg>");position:absolute;inset:0}.profile-avatar-section{align-items:flex-end;gap:24px;display:flex;position:absolute;bottom:-60px;left:40px}.avatar-wrapper{position:relative}.avatar-icon{color:var(--primary);background:var(--card);border:4px solid var(--card);border-radius:50%;font-size:120px}.avatar-image{object-fit:cover;border:4px solid var(--card);border-radius:50%;width:120px;height:120px}.avatar-edit-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex;position:absolute;bottom:10px;right:10px}.avatar-edit-btn:hover{transform:scale(1.1)}.profile-name{margin-bottom:16px}.profile-name h2{color:var(--text);font-size:28px;font-weight:700}.name-input{border:2px solid var(--primary);background:var(--card);color:var(--text);border-radius:12px;margin-bottom:8px;padding:4px 8px;font-size:28px;font-weight:700}.member-since{color:var(--text-light);align-items:center;gap:6px;font-size:13px;display:flex}.profile-stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;display:grid}.stat-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:16px;padding:20px;transition:all .25s;display:flex}.stat-card:hover{transform:translateY(-4px)}.stat-icon{color:var(--primary);font-size:36px}.stat-info{flex-direction:column;display:flex}.stat-value{color:var(--text);font-size:24px;font-weight:700}.stat-label{color:var(--text-light);font-size:13px}.profile-content{grid-template-columns:1fr 1fr;gap:24px;display:grid}.profile-main-info,.profile-physical,.profile-achievements{background:var(--card);box-shadow:var(--shadow);border-radius:24px;padding:24px}.profile-achievements{grid-column:span 2}.section-header{border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.section-title{color:var(--text);align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.edit-btn{background:var(--bg);color:var(--primary);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:8px 20px;font-weight:500;transition:all .25s;display:flex}.edit-btn:hover{background:var(--primary);color:#fff}.edit-actions{gap:12px;display:flex}.save-btn,.cancel-btn{cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:8px 20px;font-weight:500;transition:all .25s;display:flex}.save-btn{background:var(--primary);color:#fff;border:none}.save-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.cancel-btn{background:var(--bg);color:var(--text);border:1px solid var(--border)}.cancel-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.profile-fields{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.profile-field{align-items:center;gap:16px;display:flex}.field-icon{width:40px;color:var(--primary);font-size:20px}.field-content{flex:1}.field-content label{color:var(--text-light);margin-bottom:4px;font-size:13px;display:block}.field-value{color:var(--text);font-size:16px;font-weight:500}.field-unit{color:var(--text-light);margin-left:4px;font-size:13px}.field-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:10px;padding:8px 12px;font-size:16px}.bio-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.bio-label{color:var(--text-light);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.bio-text{color:var(--text);font-size:14px;line-height:1.6}.bio-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);resize:vertical;border-radius:12px;padding:12px;font-size:14px}.physical-stats{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.physical-card{background:var(--bg);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.physical-icon{color:var(--primary);font-size:24px}.physical-info{flex:1}.physical-info label{color:var(--text-light);margin-bottom:4px;font-size:12px;display:block}.physical-value{color:var(--text);font-size:16px;font-weight:500}.physical-input,.physical-select{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:8px;padding:4px 8px;font-size:14px}.daily-info{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;padding-top:20px;display:grid}.daily-card{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.daily-card svg{font-size:28px}.daily-content{flex-direction:column;flex:1;gap:4px;display:flex}.daily-label{opacity:.9;font-size:11px}.daily-value{font-size:18px;font-weight:700}.achievements-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.achievement-card{background:var(--bg);border-radius:16px;align-items:center;gap:12px;padding:16px;transition:all .25s;display:flex}.achievement-card.earned{background:linear-gradient(135deg, var(--primary), #22c55e);color:#fff}.achievement-card.locked{opacity:.5}.achievement-icon{font-size:28px}.achievement-info{flex:1;justify-content:space-between;align-items:center;display:flex}.achievement-name{font-size:14px;font-weight:500}.achievement-check{color:#fff;font-size:18px}@media (width<=900px){.profile-stats-grid{grid-template-columns:repeat(2,1fr)}.profile-content{grid-template-columns:1fr}.profile-achievements{grid-column:span 1}.achievements-grid{grid-template-columns:repeat(2,1fr)}.daily-info,.physical-stats{grid-template-columns:1fr}.profile-avatar-section{bottom:-50px;left:20px}.avatar-icon,.avatar-image{width:80px;height:80px}.profile-name h2{font-size:20px}}@media (width<=600px){.profile-stats-grid,.achievements-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:12px}}
