html{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#10b981;--primary-dark:#059669;--primary-light:#d1fae5;--secondary:#6366f1;--secondary-dark:#4f46e5;--accent:#f59e0b;--danger:#ef4444;--success:#22c55e;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--transition:all 0.2s ease}[data-theme=dark]{--primary:#34d399;--primary-dark:#10b981;--primary-light:#064e3b;--secondary:#818cf8;--secondary-dark:#6366f1;--accent:#fbbf24;--danger:#f87171;--success:#4ade80;--gray-50:#111827;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#6b7280;--gray-500:#9ca3af;--gray-600:#d1d5db;--gray-700:#e5e7eb;--gray-800:#f3f4f6;--gray-900:#f9fafb;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #0006;--shadow-xl:0 20px 25px -5px #0006}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f9fafb;background:var(--gray-50);color:#1f2937;color:var(--gray-800);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;transition:background-color .3s ease,color .3s ease}.auth-page{display:flex;flex-direction:column;min-height:100vh}.auth-visual{background:linear-gradient(135deg,#10b981,#059669 50%,#047857);color:#fff;display:none;overflow:hidden;padding:60px;position:relative}.signup-visual{background:linear-gradient(135deg,#6366f1,#4f46e5 50%,#4338ca)}.auth-visual-content{max-width:480px;position:relative;z-index:1}.auth-logo{align-items:center;display:flex;gap:12px;margin-bottom:48px}.auth-logo .logo-icon{font-size:40px}.auth-logo .logo-text{font-size:28px;font-weight:700}.auth-visual h1{font-size:42px;font-weight:800;line-height:1.2;margin-bottom:20px}.auth-visual>.auth-visual-content>p{font-size:18px;line-height:1.7;margin-bottom:48px;opacity:.9}.auth-features{display:flex;flex-direction:column;gap:20px}.auth-features .feature{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:16px;padding:16px 20px}.feature-bullet{background:#fffc;border-radius:50%;flex-shrink:0;height:8px;width:8px}.signup-benefits{display:flex;flex-direction:column;gap:24px}.benefit{align-items:flex-start;display:flex;gap:16px}.benefit-icon{background:#ffffff26;border-radius:12px;border-radius:var(--radius-md);font-size:32px;padding:12px}.benefit-text{display:flex;flex-direction:column;gap:4px}.benefit-text strong{font-size:18px}.benefit-text span{font-size:14px;opacity:.8}.auth-visual-decoration{inset:0;pointer-events:none;position:absolute}.circle{background:#ffffff14;border-radius:50%;position:absolute}.circle-1{height:400px;right:-100px;top:-100px;width:400px}.circle-2{bottom:-50px;height:300px;left:-50px;width:300px}.circle-3{bottom:30%;height:200px;right:10%;width:200px}.auth-form-container{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:24px}.auth-form-wrapper{max-width:400px;width:100%}.auth-mobile-logo{gap:12px;justify-content:center;margin-bottom:40px}.auth-mobile-logo .logo-icon{font-size:48px}.auth-mobile-logo .logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:800}.auth-form-wrapper h2{color:#111827;color:var(--gray-900);font-size:28px;font-weight:700;margin-bottom:8px;text-align:center}.auth-subtitle{color:#6b7280;color:var(--gray-500);font-size:15px;margin-bottom:32px;text-align:center}.signup-progress{justify-content:center;margin-bottom:32px}.progress-step,.signup-progress{align-items:center;display:flex;gap:8px}.progress-step{flex-direction:column}.step-circle{align-items:center;background:#e5e7eb;background:var(--gray-200);border-radius:50%;color:#6b7280;color:var(--gray-500);display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:36px}.progress-step.active .step-circle{background:#6366f1;background:var(--secondary);color:#fff}.progress-step.completed .step-circle{background:#22c55e;background:var(--success);color:#fff}.progress-step span{color:#9ca3af;color:var(--gray-400);font-size:12px;font-weight:500}.progress-step.active span{color:#6366f1;color:var(--secondary)}.progress-line{background:#e5e7eb;background:var(--gray-200);height:3px;margin-bottom:24px;width:40px}.auth-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#ef4444;color:var(--danger);display:flex;font-size:14px;gap:10px;margin-bottom:24px;padding:14px 16px}.auth-form{gap:20px}.auth-form,.input-group{display:flex;flex-direction:column}.input-group{gap:8px}.input-group label{color:#374151;color:var(--gray-700);font-size:14px;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{font-size:18px;left:16px;pointer-events:none;position:absolute}.input-group input,.input-group select{background:#f9fafb;background:var(--gray-50);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:16px;padding:14px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.input-group input:focus,.input-group select:focus{background:#fff;border-color:#10b981;border-color:var(--primary);box-shadow:0 0 0 4px #d1fae5;box-shadow:0 0 0 4px var(--primary-light);outline:none}.input-group input::placeholder{color:#9ca3af;color:var(--gray-400)}.password-field{align-items:center;display:flex;position:relative}.password-field input{background:#f9fafb;background:var(--gray-50);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:16px;padding:14px 60px 14px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.password-field input:focus{background:#fff;border-color:#10b981;border-color:var(--primary);box-shadow:0 0 0 4px #d1fae5;box-shadow:0 0 0 4px var(--primary-light);outline:none}.password-toggle{background:none;border:none;color:#6b7280;color:var(--gray-500);cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px;position:absolute;right:12px;transition:all .2s ease;transition:var(--transition)}.password-toggle:hover{color:#10b981;color:var(--primary)}.password-requirements{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px;padding:12px}.requirement{align-items:center;color:#6b7280;color:var(--gray-500);display:flex;font-size:13px;gap:8px}.requirement.met{color:#22c55e;color:var(--success)}.req-icon{font-size:14px}.auth-buttons{display:flex;gap:12px;margin-top:8px}.auth-back{background:#f3f4f6;background:var(--gray-100);border:none;border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;flex:0 0 auto;font-size:16px;font-weight:600;padding:16px 24px;transition:all .2s ease;transition:var(--transition)}.auth-back:hover{background:#e5e7eb;background:var(--gray-200)}.auth-submit{align-items:center;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px 32px;transition:all .2s ease;transition:var(--transition)}.auth-submit:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.auth-submit:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-submit.secondary{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.auth-submit.secondary:hover{background:#e5e7eb;background:var(--gray-200);box-shadow:none;transform:none}.signup-steps{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:32px;padding:0 20px}.signup-steps .step{align-items:center;display:flex;flex-direction:column;gap:6px}.signup-steps .step-number{align-items:center;background:#e5e7eb;background:var(--gray-200);border-radius:50%;color:#6b7280;color:var(--gray-500);display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:32px}.signup-steps .step.active .step-number{background:#10b981;background:var(--primary);color:#fff}.signup-steps .step.completed .step-number{background:#22c55e;background:var(--success);color:#fff}.signup-steps .step-label{color:#9ca3af;color:var(--gray-400);font-size:11px;font-weight:500;text-align:center}.signup-steps .step.active .step-label{color:#10b981;color:var(--primary);font-weight:600}.signup-steps .step.completed .step-label{color:#22c55e;color:var(--success)}.signup-steps .step-line{background:#e5e7eb;background:var(--gray-200);height:2px;margin-bottom:20px;width:40px}@media (min-width:768px){.signup-steps{gap:12px}.signup-steps .step-number{font-size:16px;height:40px;width:40px}.signup-steps .step-label{font-size:12px}.signup-steps .step-line{width:60px}}.input-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.goal-preview{background:#d1fae5;background:var(--primary-light);border:1px solid #10b981;border:1px solid var(--primary);border-radius:12px;border-radius:var(--radius-md);padding:16px}.goal-preview-item{color:#374151;color:var(--gray-700);font-size:14px;margin:0}.goal-preview-item+.goal-preview-item{margin-top:8px}.goal-preview-item strong{color:#059669;color:var(--primary-dark)}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.auth-divider{align-items:center;display:flex;gap:16px;margin:32px 0}.auth-divider:after,.auth-divider:before{background:#e5e7eb;background:var(--gray-200);content:"";flex:1 1;height:1px}.auth-divider span{color:#9ca3af;color:var(--gray-400);font-size:14px;white-space:nowrap}.auth-switch-btn{background:#fff;border:2px solid #10b981;border:2px solid var(--primary);border-radius:12px;border-radius:var(--radius-md);color:#10b981;color:var(--primary);display:block;font-size:16px;font-weight:600;padding:16px;text-align:center;text-decoration:none;transition:all .2s ease;transition:var(--transition);width:100%}.auth-switch-btn:hover{background:#d1fae5;background:var(--primary-light)}.auth-switch{color:#4b5563;color:var(--gray-600);font-size:14px;margin-top:24px;text-align:center}.auth-switch a{color:#10b981;color:var(--primary);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}@media (min-width:1024px){.auth-page{flex-direction:row}.auth-visual{align-items:center;display:flex;justify-content:center}.auth-form-container,.auth-visual{flex:1 1;max-width:50%}.auth-mobile-logo{display:none}.auth-form-wrapper h2,.auth-subtitle{text-align:left}}.navbar{background:#fff;border-bottom:1px solid #0000;left:0;padding-top:env(safe-area-inset-top,0);position:fixed;right:0;top:0;transition:all .2s ease;transition:var(--transition);z-index:1000}.navbar.scrolled{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md)}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:8px 20px}.nav-brand,.nav-container{align-items:center;display:flex}.nav-brand{color:#111827;color:var(--gray-900);gap:10px;text-decoration:none}.brand-icon{font-size:28px}.nav-logo{height:28px;width:auto}.brand-text{font-size:22px;font-weight:700}.nav-desktop{display:none;gap:8px}.nav-link{align-items:center;border-radius:12px;border-radius:var(--radius-md);color:#4b5563;color:var(--gray-600);display:flex;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease;transition:var(--transition)}.nav-link:hover{background:#f3f4f6;background:var(--gray-100);color:#111827;color:var(--gray-900)}.nav-link.active{background:#d1fae5;background:var(--primary-light);color:#059669;color:var(--primary-dark)}.nav-icon{font-size:18px}.nav-right{align-items:center;display:none;gap:16px}.nav-user-info{align-items:center;display:flex;gap:10px}.user-avatar{font-weight:600;height:38px;width:38px}.user-name{color:#374151;color:var(--gray-700)}.logout-btn{align-items:center;background:#f3f4f6;background:var(--gray-100);border:none;border-radius:12px;border-radius:var(--radius-md);color:#4b5563;color:var(--gray-600);cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease;transition:var(--transition)}.logout-btn:hover{background:#fef2f2;color:#ef4444;color:var(--danger)}.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;height:44px;justify-content:center;padding:10px;width:44px;z-index:1001}.hamburger span{background:#374151;background:var(--gray-700);border-radius:2px;display:block;height:3px;transition:all .2s ease;transition:var(--transition)}.hamburger.open span:first-child{transform:rotate(45deg) translate(5px,6px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.mobile-menu-overlay{background:#00000080;inset:0;opacity:0;position:fixed;transition:all .2s ease;transition:var(--transition);visibility:hidden;z-index:1001}.mobile-menu-overlay.open{opacity:1;visibility:visible}.mobile-menu{background:#fff;display:flex;flex-direction:column;height:100vh;position:fixed;right:-300px;top:0;transition:transform .3s ease;width:300px;z-index:1002}.mobile-menu.open{transform:translateX(-300px)}.mobile-menu-header{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;padding:20px 16px}.mobile-user{gap:14px}.mobile-avatar,.mobile-user{align-items:center;display:flex}.mobile-avatar{background:#fff3;border-radius:50%;font-size:20px;font-weight:600;height:50px;justify-content:center;width:50px}.mobile-user-info{display:flex;flex-direction:column}.mobile-username{font-size:18px;font-weight:600}.mobile-greeting{font-size:14px;opacity:.8}.mobile-menu-links{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:16px}.mobile-link{align-items:center;border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);display:flex;font-size:16px;font-weight:500;gap:14px;padding:16px;text-decoration:none;transition:all .2s ease;transition:var(--transition)}.mobile-link.active,.mobile-link:hover{background:#d1fae5;background:var(--primary-light);color:#059669;color:var(--primary-dark)}.mobile-link-icon{font-size:22px}.mobile-menu-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);padding:16px}.mobile-logout{align-items:center;background:none;border:none;border-radius:12px;border-radius:var(--radius-md);color:#ef4444;color:var(--danger);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:14px;padding:16px;transition:all .2s ease;transition:var(--transition);width:100%}.mobile-logout:hover{background:#fef2f2}@media (min-width:768px){.hamburger{display:none}.nav-desktop,.nav-right{display:flex}}.container{margin:0 auto;max-width:1000px;padding:80px 16px 24px}@media (min-width:768px){.container{padding:100px 24px 40px}}.loading{align-items:center;color:#6b7280;color:var(--gray-500);display:flex;font-size:16px;justify-content:center;min-height:200px}.dashboard h1{color:#111827;color:var(--gray-900);font-size:28px;font-weight:700;margin-bottom:24px}@media (min-width:768px){.dashboard h1{font-size:32px}}.calorie-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (min-width:768px){.calorie-summary{gap:20px}}.date-nav{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);justify-content:space-between;margin-bottom:20px;padding:12px 16px}.date-nav,.date-nav-btn{align-items:center;display:flex}.date-nav-btn{background:#f3f4f6;background:var(--gray-100);border:none;border-radius:12px;border-radius:var(--radius-md);color:#4b5563;color:var(--gray-600);cursor:pointer;font-size:18px;font-weight:600;height:40px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:40px}.date-nav-btn:hover:not(:disabled){background:#d1fae5;background:var(--primary-light);color:#059669;color:var(--primary-dark)}.date-nav-btn:disabled{cursor:not-allowed;opacity:.4}.date-display{align-items:center;display:flex;flex-direction:column;gap:4px}.date-text{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600}.today-link{background:none;border:none;color:#10b981;color:var(--primary);cursor:pointer;font-size:13px;font-weight:500;padding:0}.today-link:hover{text-decoration:underline}.tab-nav{background:#f3f4f6;background:var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);display:flex;gap:8px;margin-bottom:20px;padding:6px}.tab-btn{background:#0000;border:none;border-radius:12px;border-radius:var(--radius-md);color:#4b5563;color:var(--gray-600);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease;transition:var(--transition)}.tab-btn:hover{color:#1f2937;color:var(--gray-800)}.tab-btn.active{background:#fff;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#059669;color:var(--primary-dark)}.tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.meal-group{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:12px;padding:16px 20px}@media (min-width:768px){.meal-group{margin-bottom:16px;padding:20px 24px}}.meal-group-header{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.meal-group-header h3{color:#1f2937;color:var(--gray-800);font-size:16px;font-weight:600;margin:0}.meal-group-actions{align-items:center;display:flex;gap:10px}.meal-group-total{background:#d1fae5;background:var(--primary-light);border-radius:9999px;border-radius:var(--radius-full);color:#10b981;color:var(--primary);font-size:14px;font-weight:600;padding:4px 12px}.add-meal-btn-small{align-items:center;background:#10b981;background:var(--primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:500;height:32px;justify-content:center;line-height:1;transition:all .2s ease;transition:var(--transition);width:32px}.add-meal-btn-small:hover{background:#059669;background:var(--primary-dark);transform:scale(1.1)}.meal-title{color:#1f2937;color:var(--gray-800);font-size:15px;font-weight:500}.meal-cals{color:#10b981;color:var(--primary);font-size:14px;font-weight:600}.no-meals{color:#9ca3af;color:var(--gray-400);font-size:14px;font-style:italic;padding:8px 0}.calorie-summary .stat{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:16px;text-align:center}@media (min-width:768px){.calorie-summary .stat{padding:24px}}.calorie-summary .stat.remaining{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;color:#fff}.stat-value{display:block;font-size:24px}@media (min-width:768px){.stat-value{font-size:32px}}.stat-label{color:#6b7280;color:var(--gray-500);display:block;font-weight:500;margin-top:4px}@media (min-width:768px){.stat-label{font-size:14px}}.stat.remaining .stat-label{color:#ffffffd9}.macros-section{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);margin:16px 0;padding:20px}.macros-section h3{color:#1f2937;color:var(--gray-800);font-size:16px;font-weight:600;margin-bottom:16px;text-align:center}.macros-chart-container{margin-bottom:16px}.macros-totals{display:flex;gap:12px;justify-content:space-around}.macro-item{align-items:center;border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:80px;padding:12px 16px}.macro-item.protein{background:#4caf501a}.macro-item.carbs{background:#ff98001a}.macro-item.fat{background:#e91e631a}.macro-label{color:#6b7280;color:var(--gray-500);font-size:12px;font-weight:500;margin-bottom:4px}.macro-item.protein .macro-value{color:#4caf50}.macro-item.carbs .macro-value{color:#ff9800}.macro-item.fat .macro-value{color:#e91e63}.macro-value{font-size:18px;font-weight:700}@media (min-width:768px){.macros-section{padding:24px}.macro-item{min-width:100px;padding:16px 24px}.macro-value{font-size:20px}}.section{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}@media (min-width:768px){.section{margin-bottom:24px;padding:28px}}.section h2{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600;margin-bottom:16px}@media (min-width:768px){.section h2{font-size:20px;margin-bottom:20px}}.meal-list{list-style:none}.meal-item{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:14px 0}.meal-item:last-child{border-bottom:none;padding-bottom:0}.meal-item:first-child{padding-top:0}.meal-item.has-recipe{cursor:pointer;transition:all .2s ease;transition:var(--transition)}.meal-item.has-recipe:hover{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);margin:0 -16px;padding-left:16px;padding-right:16px}.recipe-indicator{font-size:12px;margin-left:8px;opacity:.7}.modal-calories{color:#10b981;color:var(--primary);font-size:18px}.meal-info{display:flex;flex-direction:column;gap:6px}@media (min-width:768px){.meal-info{align-items:center;flex-direction:row;gap:16px}}.meal-info strong{color:#1f2937;color:var(--gray-800);font-size:15px}.meal-type{background:#f3f4f6;background:var(--gray-100);border-radius:9999px;border-radius:var(--radius-full);color:#4b5563;color:var(--gray-600);display:inline-block;font-size:11px;font-weight:500;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.meal-calories{font-size:14px}.delete-btn{align-items:center;background:#f3f4f6;background:var(--gray-100);border:none;border-radius:50%;color:#6b7280;color:var(--gray-500);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:32px}.delete-btn:hover{background:#fef2f2;color:#ef4444;color:var(--danger)}.form-group{margin-bottom:16px}.form-group label{color:#374151;color:var(--gray-700);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:16px;padding:14px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.form-group input:focus,.form-group select:focus{border-color:#10b981;border-color:var(--primary);box-shadow:0 0 0 4px #d1fae5;box-shadow:0 0 0 4px var(--primary-light);outline:none}.quick-add-section{display:block}.add-meal-form{display:flex;flex-direction:column;gap:12px}.macros-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.macros-row input{width:100%}@media (min-width:768px){.add-meal-form{flex-direction:row}}.add-meal-form input,.add-meal-form select{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);flex:1 1;font-size:16px;padding:14px 16px}.add-meal-form input:focus,.add-meal-form select:focus{border-color:#10b981;border-color:var(--primary);outline:none}.add-meal-form button{background:#10b981;background:var(--primary);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .2s ease;transition:var(--transition)}.add-meal-form button:hover{background:#059669;background:var(--primary-dark)}.suggestion-form{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.suggestion-form{flex-direction:row;flex-wrap:wrap}}.suggestion-form input,.suggestion-form select{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);flex:1 1;font-size:16px;min-width:0;padding:14px 16px}@media (min-width:768px){.suggestion-form select{flex:0 0 150px}.suggestion-form input{flex:1 1;min-width:200px}}.suggestion-form input:focus,.suggestion-form select:focus{border-color:#10b981;border-color:var(--primary);outline:none}.suggestion-form button{background:#6366f1;background:var(--secondary);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.suggestion-form button:hover{background:#4f46e5;background:var(--secondary-dark)}.suggestion-form button:disabled{background:#d1d5db;background:var(--gray-300);cursor:not-allowed}.ai-form{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.ai-form{flex-direction:row}}.ai-form input,.ai-form select{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);flex:1 1;font-size:16px;padding:14px 16px}.ai-form input:focus,.ai-form select:focus{border-color:#10b981;border-color:var(--primary);outline:none}@media (min-width:768px){.ai-form select{flex:0 0 140px}}.btn{align-items:center;border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease;transition:var(--transition)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background:#6366f1;background:var(--secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:#4f46e5;background:var(--secondary-dark)}.full-width{width:100%}.recipe-actions{display:flex;gap:10px;margin-top:16px}.recipe-actions .btn{flex:1 1}.raw-response{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);padding:16px}.raw-response pre{word-wrap:break-word;color:#374151;color:var(--gray-700);font-family:inherit;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.suggestion-result{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border:2px solid #e9d5ff}.suggestion-content{background:#fff;border-radius:12px;border-radius:var(--radius-md);max-height:400px;overflow-y:auto;padding:20px}.suggestion-content pre{word-wrap:break-word;font-family:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap}.recipe-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:768px){.recipe-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.recipe-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:20px}.recipe-header{align-items:flex-start;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.recipe-header h3,.recipe-header h4{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600;margin:0}.recipe-calories{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:9999px;border-radius:var(--radius-full);color:#fff;font-size:13px;font-weight:600;padding:6px 14px;white-space:nowrap}.recipe-macros{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.recipe-macros span{background:#f3f4f6;background:var(--gray-100);border-radius:9999px;border-radius:var(--radius-full);color:#4b5563;color:var(--gray-600);font-size:12px;font-weight:500;padding:6px 12px}.recipe-section{margin-bottom:16px}.recipe-section strong{color:#374151;color:var(--gray-700);display:block;font-size:14px;margin-bottom:10px}.recipe-section ul{margin:0;padding-left:20px}.recipe-section li{margin-bottom:6px}.recipe-section li,.recipe-section p{color:#4b5563;color:var(--gray-600);font-size:14px}.recipe-section p{line-height:1.6;margin:0}.recipe-ingredients{margin-bottom:16px}.recipe-ingredients strong,.recipe-instructions strong{color:#374151;color:var(--gray-700);display:block;font-size:14px;margin-bottom:10px}.recipe-ingredients ul{margin:0;padding-left:20px}.recipe-ingredients li{color:#4b5563;color:var(--gray-600);font-size:14px;margin-bottom:6px}.recipe-instructions{margin-bottom:20px}.recipe-instructions p{color:#4b5563;color:var(--gray-600);font-size:14px;line-height:1.6}.add-recipe-btn{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 20px;transition:all .2s ease;transition:var(--transition);width:100%}.add-recipe-btn:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile h1{color:#111827;color:var(--gray-900);font-size:28px;font-weight:700;margin-bottom:24px}@media (min-width:768px){.profile h1{font-size:32px}}.stats-display{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}@media (min-width:768px){.stats-display{gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.stat-card{background:#6366f1;background:var(--secondary);border-radius:16px;border-radius:var(--radius-lg);color:#fff;padding:20px;text-align:center}@media (min-width:768px){.stat-card{padding:24px}}.stat-card .stat-value{font-size:28px}@media (min-width:768px){.stat-card .stat-value{font-size:36px}}.stat-card .stat-label{color:#ffffffd9;font-size:13px}.stat-card .stat-detail{color:#ffffffb3;display:block;font-size:11px;margin-top:4px}.stat-card.highlight{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.stat-card.goal{background:linear-gradient(135deg,#9333ea,#7c3aed)}.message{border-radius:12px;border-radius:var(--radius-md);font-size:14px;margin-bottom:20px;padding:14px 16px}.message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.goal-section{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.goal-section h2{color:#fff}.goal-form{display:flex;flex-direction:column;gap:16px}@media (min-width:768px){.goal-form{flex-direction:row;gap:20px}}.goal-form .form-group{flex:1 1;margin-bottom:0}.goal-form .form-group label{color:#ffffffe6}.goal-form .form-group input,.goal-form .form-group select{background:#fffffff2;border:none}.goal-form .form-group input:focus,.goal-form .form-group select:focus{background:#fff;box-shadow:0 0 0 4px #ffffff4d}.goal-info{background:#ffffff26;border-radius:12px;border-radius:var(--radius-md);margin-top:20px;padding:16px}.goal-info p{font-size:15px;margin:8px 0}.goal-info strong{color:#fff}.weight-form,.weight-tracker h2{margin-bottom:20px}.weight-form{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.weight-form{flex-direction:row}}.weight-form input{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);flex:1 1;font-size:16px;padding:14px 16px}.weight-form input:focus{border-color:#10b981;border-color:var(--primary);outline:none}.weight-form button{background:#10b981;background:var(--primary);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease;transition:var(--transition)}.weight-form button:hover{background:#059669;background:var(--primary-dark)}.weight-form button:disabled{background:#d1d5db;background:var(--gray-300);cursor:not-allowed}.weight-change{border-radius:12px;border-radius:var(--radius-md);font-size:22px;font-weight:700;margin-bottom:20px;padding:16px;text-align:center}.weight-change.loss{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.weight-change.gain{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.weight-change .change-period{display:block;font-size:12px;font-weight:500;margin-top:4px;opacity:.7}.weight-chart{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);margin-bottom:24px;overflow-x:auto;padding:20px}.chart-container{align-items:flex-end;gap:6px;justify-content:space-around;min-width:300px;padding:10px 0}@media (min-width:768px){.chart-container{gap:8px;height:200px}}.chart-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;max-width:45px}.chart-bar{align-items:flex-start;background:linear-gradient(180deg,#10b981,#059669);background:linear-gradient(180deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:4px 4px 0 0;display:flex;justify-content:center;min-height:20px;position:relative;transition:all .3s ease;width:100%}.chart-bar:hover{background:linear-gradient(180deg,#34d399,#10b981);background:linear-gradient(180deg,#34d399 0,var(--primary) 100%)}.bar-value{color:#374151;color:var(--gray-700);font-size:10px;font-weight:600;position:absolute;top:-22px;white-space:nowrap}.bar-date{color:#6b7280;color:var(--gray-500);font-size:9px;margin-top:6px;transform:rotate(-45deg);white-space:nowrap}.weight-history{margin-top:20px}.weight-history h3{color:#374151;color:var(--gray-700);font-size:16px;margin-bottom:16px}.weight-history ul{list-style:none}.weight-history li{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s ease;transition:var(--transition)}.weight-history li:hover{background:#f9fafb;background:var(--gray-50)}.weight-history li:last-child{border-bottom:none}.weight-value{color:#1f2937;color:var(--gray-800);font-weight:600}.weight-date{font-size:14px}.no-data,.weight-date{color:#6b7280;color:var(--gray-500)}.no-data{font-size:15px;padding:32px;text-align:center}.profile-form{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:24px}@media (min-width:768px){.profile-form{padding:32px}}.profile-form h2{color:#1f2937;color:var(--gray-800);font-size:20px;margin-bottom:24px}.profile-form button[type=submit]{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:16px;transition:all .2s ease;transition:var(--transition);width:100%}.profile-form button[type=submit]:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile-form button[type=submit]:disabled{cursor:not-allowed;opacity:.7;transform:none}.food-selector h3{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600;margin-bottom:16px}.food-selector-row{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.food-selector-row{align-items:flex-start;flex-direction:row}}.food-dropdown{flex:2 1;position:relative}.food-dropdown input{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:16px;padding:14px 16px;width:100%}.food-dropdown input:focus{border-color:#10b981;border-color:var(--primary);outline:none}.food-dropdown-menu{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;left:0;margin-top:4px;max-height:350px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.category-filter{background:#f9fafb;background:var(--gray-50);border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;flex-wrap:wrap;gap:6px;overflow-x:auto;padding:12px}@media (max-width:767px){.category-filter{display:none}}.category-filter button{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:9999px;border-radius:var(--radius-full);cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.category-filter button:hover{border-color:#10b981;border-color:var(--primary);color:#10b981;color:var(--primary)}.category-filter button.active{background:#10b981;background:var(--primary);border-color:#10b981;border-color:var(--primary);color:#fff}.category-filter .favorites-btn{align-items:center;background:#fef3c7;border-color:#fbbf24;color:#92400e;display:flex;gap:4px}.category-filter .favorites-btn svg{flex-shrink:0}.category-filter .favorites-btn.active,.category-filter .favorites-btn:hover{background:#fbbf24;border-color:#f59e0b;color:#78350f}.food-list{max-height:260px;overflow-y:auto}.food-category-group{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100)}.category-header{background:#f9fafb;background:var(--gray-50);color:#6b7280;color:var(--gray-500);font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 14px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0}.food-item{align-items:center;cursor:pointer;display:flex;gap:8px;padding:12px 14px;transition:all .2s ease;transition:var(--transition)}.food-item:hover{background:#d1fae5;background:var(--primary-light)}.favorite-star{align-items:center;background:#0000;border:none;border-radius:9999px;border-radius:var(--radius-full);color:#d1d5db;color:var(--gray-300);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:28px}.favorite-star svg{height:18px;width:18px}.favorite-star:hover{background:#fef3c7;color:#fbbf24}.favorite-star.is-favorite{color:#f59e0b}.favorite-star.is-favorite:hover{background:#fef3c7;color:#d97706}.food-name{color:#1f2937;color:var(--gray-800);flex:1 1;font-size:14px}.food-cals{color:#10b981;color:var(--primary);font-size:13px;font-weight:600}.no-foods{color:#6b7280;color:var(--gray-500);padding:24px;text-align:center}.grams-input{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:16px;padding:14px 16px;width:100%}@media (min-width:768px){.grams-input{width:100px}}.grams-input:focus{border-color:#10b981;border-color:var(--primary);outline:none}.food-selector-row select{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:16px;padding:14px 16px;width:100%}@media (min-width:768px){.food-selector-row select{width:auto}}.add-food-btn{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease;transition:var(--transition);width:100%}@media (min-width:768px){.add-food-btn{width:auto}}.add-food-btn:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.add-food-btn:disabled{background:#d1d5db;background:var(--gray-300);box-shadow:none;cursor:not-allowed;transform:none}.nutrition-preview{background:#d1fae5;background:var(--primary-light);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;padding:12px 16px}.preview-item{color:#4b5563;color:var(--gray-600);font-size:14px;font-weight:500}.preview-item.calories{color:#059669;color:var(--primary-dark);font-weight:700}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#991b1b;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@supports (padding-bottom:env(safe-area-inset-bottom)){.mobile-menu{padding-bottom:env(safe-area-inset-bottom)}}body.menu-open{overflow:hidden}.language-toggle{background:#f3f4f6;background:var(--gray-100);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all .2s ease;transition:var(--transition)}.language-toggle:hover{background:#d1fae5;background:var(--primary-light);border-color:#10b981;border-color:var(--primary);color:#059669;color:var(--primary-dark)}.theme-toggle{align-items:center;background:#f3f4f6;background:var(--gray-100);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .2s ease;transition:var(--transition);width:36px}.theme-toggle:hover{background:#d1fae5;background:var(--primary-light);border-color:#10b981;border-color:var(--primary);color:#059669;color:var(--primary-dark)}.theme-toggle svg{height:18px;width:18px}.mobile-menu-header{align-items:flex-start}.auth-mobile-logo,.mobile-menu-header{display:flex;justify-content:space-between}.auth-mobile-logo{align-items:center;margin-bottom:32px}.weekly-plan h1{color:#111827;color:var(--gray-900);font-size:28px;font-weight:700;margin:0}@media (min-width:768px){.weekly-plan h1{font-size:32px}}.weekly-plan-header{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}@media (min-width:768px){.weekly-plan-header{align-items:center;flex-direction:row;justify-content:space-between}}.plan-tabs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.plan-tab{align-items:center;background:#fff;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);color:#4b5563;color:var(--gray-600);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.plan-tab:hover{color:#10b981;color:var(--primary)}.plan-tab.active,.plan-tab:hover{border-color:#10b981;border-color:var(--primary)}.plan-tab.active{background:#10b981;background:var(--primary);color:#fff}.plan-tab.shared-tab{background:#f9fafb;background:var(--gray-50)}.plan-tab.shared-tab.active{background:#6366f1;background:var(--secondary);border-color:#6366f1;border-color:var(--secondary);color:#fff}.tab-badge{background:#e5e7eb;background:var(--gray-200);border-radius:10px;color:#374151;color:var(--gray-700);font-size:11px;padding:2px 8px}.plan-tab.active .tab-badge{background:#ffffff4d;color:#fff}.shared-edit-note{background:var(--warning-light);border-radius:8px;border-radius:var(--radius-sm);color:var(--warning-dark);font-size:13px;margin-top:12px;padding:8px 12px;text-align:center}.daily-calories-info{background:#d1fae5;background:var(--primary-light);border-radius:12px;border-radius:var(--radius-md);color:#059669;color:var(--primary-dark);font-size:15px;margin-bottom:20px;padding:12px 20px}.daily-calories-info strong{font-weight:700}.no-plan{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:60px 24px;text-align:center}.no-plan-icon{font-size:64px;margin-bottom:20px}.no-plan h2{color:#1f2937;color:var(--gray-800);font-size:24px;margin-bottom:12px}.no-plan p{color:#6b7280;color:var(--gray-500);font-size:15px;margin:0 auto;max-width:400px}.plan-table-container{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow-x:auto}.plan-actions{border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);display:flex;justify-content:center;padding:16px}.generate-shopping-btn{align-items:center;display:flex;gap:8px}.plan-table{border-collapse:collapse;min-width:700px;width:100%}.plan-table td,.plan-table th{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);padding:12px 8px;text-align:center}.plan-table th{background:#f9fafb;background:var(--gray-50);color:#374151;color:var(--gray-700);font-size:13px;font-weight:600}.meal-type-header{width:80px}.day-header{min-width:90px}.day-name{color:#1f2937;color:var(--gray-800);display:block;font-weight:700}.day-total{color:#10b981;color:var(--primary);display:block;font-size:11px;font-weight:600;margin-top:2px}.meal-type-cell{background:#f9fafb;background:var(--gray-50);color:#4b5563;color:var(--gray-600);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.meal-cell{cursor:pointer;min-height:70px;padding:10px 6px;transition:all .2s ease;transition:var(--transition);vertical-align:top}.meal-cell.has-meal:hover{background:#d1fae5;background:var(--primary-light)}.meal-cell.eaten{background:#d1fae5}.meal-cell.eaten:hover{background:#a7f3d0}.meal-name{color:#1f2937;color:var(--gray-800);display:block;font-size:13px;font-weight:500;line-height:1.3;margin-bottom:4px}.meal-calories{color:#10b981;color:var(--primary);display:block;font-size:11px;font-weight:600}.eaten-badge{background:#22c55e;background:var(--success);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-block;font-size:10px;margin-top:4px;padding:2px 6px}.no-meal{color:#d1d5db;color:var(--gray-300);font-size:18px}.meal-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.meal-modal{animation:modalSlideIn .2s ease;background:#fff;border-radius:16px;border-radius:var(--radius-lg);max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;position:relative;width:100%}.meal-modal .modal-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:0 0 16px}.meal-modal .modal-header h2{color:#111827;color:var(--gray-900);font-size:20px;font-weight:600;line-height:1.3;margin:0;padding-right:40px}.meal-modal .modal-calories{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-block;font-size:15px;font-weight:600;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.meal-modal .recipe-macros{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:16px}.meal-modal .recipe-macros span{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:9999px;border-radius:var(--radius-full);color:#374151;color:var(--gray-700);font-size:14px;font-weight:500;padding:8px 14px}.meal-modal .recipe-section{margin-bottom:20px}.meal-modal .recipe-section:last-child{margin-bottom:0}.meal-modal .recipe-section strong{color:#1f2937;color:var(--gray-800);display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.meal-modal .recipe-section ul{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);list-style:none;margin:0;padding:12px 16px}.meal-modal .recipe-section ul li{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);color:#374151;color:var(--gray-700);font-size:14px;padding:8px 0}.meal-modal .recipe-section ul li:last-child{border-bottom:none;padding-bottom:0}.meal-modal .recipe-section ul li:first-child{padding-top:0}.meal-modal .recipe-section p{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);font-size:14px;line-height:1.6;margin:0;padding:16px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:#f3f4f6;background:var(--gray-100);border:none;border-radius:50%;color:#4b5563;color:var(--gray-600);cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;transition:var(--transition);width:36px}.modal-close:hover{background:#e5e7eb;background:var(--gray-200);color:#1f2937;color:var(--gray-800)}.modal-header{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);padding:24px 24px 16px}.modal-header h2{color:#111827;color:var(--gray-900);font-size:22px;font-weight:700;margin:0 0 8px;padding-right:40px}.modal-calories{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-block;font-size:14px;font-weight:600;padding:6px 14px}.modal-macros{background:#f9fafb;background:var(--gray-50);border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;gap:12px;padding:16px 24px}.modal-macros span{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:9999px;border-radius:var(--radius-full);color:#4b5563;color:var(--gray-600);font-size:13px;font-weight:500;padding:6px 12px}.modal-section{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);padding:16px 24px}.modal-section:last-of-type{border-bottom:none}.modal-section strong{color:#374151;color:var(--gray-700);display:block;font-size:14px;font-weight:600;margin-bottom:12px}.modal-section ul{margin:0;padding-left:20px}.modal-section li{margin-bottom:6px}.modal-section li,.modal-section p{color:#4b5563;color:var(--gray-600);font-size:14px}.modal-section p{line-height:1.6;margin:0}.modal-actions{background:#f9fafb;background:var(--gray-50);flex-direction:column;gap:16px;padding:20px 24px}.regenerate-section{display:flex;flex-direction:column;gap:10px}@media (min-width:500px){.regenerate-section{flex-direction:row}}.regenerate-section input{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);flex:1 1;font-size:14px;padding:12px 16px}.regenerate-section input:focus{border-color:#10b981;border-color:var(--primary);outline:none}.regenerate-section .btn{white-space:nowrap}.generate-options-modal{max-width:450px}.generate-options-form{padding:20px 24px}.generate-options-form .form-group{margin-bottom:20px}.generate-options-form .form-group:last-child{margin-bottom:0}.generate-options-form label{color:#374151;color:var(--gray-700);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.generate-options-form input,.generate-options-form select,.generate-options-form textarea{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:14px;padding:12px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.generate-options-form input:focus,.generate-options-form select:focus,.generate-options-form textarea:focus{border-color:#10b981;border-color:var(--primary);outline:none}.generate-options-form textarea{min-height:80px;resize:vertical}.btn-block{width:100%}.shopping-list-page{padding-bottom:24px}.shopping-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.shopping-list-header h1{color:#1f2937;color:var(--gray-800);font-size:28px;font-weight:700}.no-lists{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:60px 20px;text-align:center}.no-lists-icon{font-size:64px;margin-bottom:16px}.no-lists h2{color:#1f2937;color:var(--gray-800);font-size:20px;margin-bottom:8px}.no-lists p{color:#6b7280;color:var(--gray-500)}.shopping-lists-grid{grid-gap:16px;display:grid;gap:16px}.shopping-list-card{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden}.shopping-list-card-header{align-items:center;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;display:flex;justify-content:space-between;padding:16px}.shopping-list-card-header h3{font-size:18px;font-weight:600}.item-count{background:#fff3;border-radius:9999px;border-radius:var(--radius-full);font-size:13px;padding:4px 12px}.shopping-list-card-body{max-height:150px;overflow-y:auto;padding:16px}.items-preview{color:#4b5563;color:var(--gray-600);font-family:inherit;font-size:14px;line-height:1.8;white-space:pre-wrap}.shopping-list-card-actions{background:#f9fafb;background:var(--gray-50);border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);display:flex;gap:8px;padding:12px 16px}.shopping-list-modal{max-width:500px}.shopping-list-form{padding:0 24px 24px}.shopping-list-form .form-group{margin-bottom:16px}.shopping-list-form label{color:#374151;color:var(--gray-700);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.shopping-list-form input,.shopping-list-form textarea{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:14px;padding:12px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.shopping-list-form input:focus,.shopping-list-form textarea:focus{border-color:#10b981;border-color:var(--primary);outline:none}.shopping-list-form textarea{font-family:inherit;min-height:200px;resize:vertical}.shopping-list-form .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.form-hint{color:#6b7280;color:var(--gray-500);font-size:13px;font-style:italic;margin-top:8px}.notebook-container{background:#fff;border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:12px;border-radius:var(--radius-md);overflow:hidden}.notebook-header{align-items:center;background:#f3f4f6;background:var(--gray-100);border-bottom:2px solid #d1d5db;border-bottom:2px solid var(--gray-300);color:#4b5563;color:var(--gray-600);display:grid;font-size:11px;font-weight:700;grid-template-columns:70px 1fr 32px;letter-spacing:.5px;padding:10px 8px;text-transform:uppercase}.notebook-col-qty{padding-left:4px;text-align:center}.notebook-col-item{padding-left:12px}.notebook-lines{max-height:280px;overflow-y:auto}.notebook-row{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:grid;grid-template-columns:70px 1fr 32px}.notebook-row:nth-child(odd){background:#f9fafb;background:var(--gray-50)}.notebook-row:hover{background:#d1fae5;background:var(--primary-light)}.notebook-qty-input{background:#0000;border:none;border-right:1px solid #e5e7eb;border-right:1px solid var(--gray-200);box-sizing:border-box;color:#059669;color:var(--primary-dark);font-size:13px;font-weight:600;padding:12px 6px;text-align:center;width:100%}.notebook-qty-input:focus{background:#10b9811a;outline:none}.notebook-qty-input::placeholder{color:#9ca3af;color:var(--gray-400);font-size:12px;font-weight:400}.notebook-item-input{background:#0000;border:none;box-sizing:border-box;color:#1f2937;color:var(--gray-800);font-size:14px;padding:12px 10px;width:100%}.notebook-item-input:focus{background:#10b9811a;outline:none}.notebook-item-input::placeholder,.notebook-remove-btn{color:#9ca3af;color:var(--gray-400)}.notebook-remove-btn{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;margin:0 4px;padding:0;transition:all .15s ease;width:24px}.notebook-remove-btn:hover{background:#fee2e2;color:#ef4444}.notebook-lines::-webkit-scrollbar{width:6px}.notebook-lines::-webkit-scrollbar-track{background:#f3f4f6;background:var(--gray-100)}.notebook-lines::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--gray-300);border-radius:3px}.notebook-lines::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--gray-400)}.shopping-list-card{cursor:pointer;transition:all .2s ease;transition:var(--transition)}.shopping-list-card:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.shopping-list-card.shared-list{border:2px solid #6366f1;border:2px solid var(--secondary)}.shopping-list-card.shared-list .shopping-list-card-header{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--secondary) 0,var(--secondary-dark) 100%)}.card-header-right{align-items:center;display:flex;gap:8px}.shared-badge{align-items:center;background:#ffffff40;border-radius:9999px;border-radius:var(--radius-full);display:flex;font-size:12px;gap:4px;padding:4px 10px}.shared-badge.shared-count{background:#ffffff4d}.btn.btn-icon{align-items:center;background:#f3f4f6;background:var(--gray-100);border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;padding:0;transition:all .2s ease;transition:var(--transition);width:36px}.btn.btn-icon:hover{background:#d1fae5;background:var(--primary-light)}.share-modal{max-width:450px}.share-modal .modal-subtitle{color:#6b7280;color:var(--gray-500);font-size:14px;margin-top:4px}.share-list-name{align-items:center;background:#f3f4f6;background:var(--gray-100);border-radius:12px;border-radius:var(--radius-md);display:flex;font-weight:600;gap:8px;margin-bottom:16px;padding:12px 16px}.share-friends-list{margin-bottom:16px;max-height:200px;overflow-y:auto}.friend-item.selectable{border:2px solid #0000;cursor:pointer;transition:all .2s ease;transition:var(--transition)}.friend-item.selectable:hover{background:#f3f4f6;background:var(--gray-100)}.friend-item.selectable.selected{background:#d1fae5;background:var(--primary-light);border-color:#10b981;border-color:var(--primary)}.friend-select-indicator{align-items:center;color:#10b981;color:var(--primary);display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;width:24px}.currently-shared{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);margin-top:16px;padding:16px}.currently-shared h4{color:#4b5563;color:var(--gray-600);font-size:13px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.shared-users-list{display:flex;flex-direction:column;gap:8px}.shared-user{align-items:center;background:#fff;border-radius:8px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:8px 12px}.expanded-list-modal{max-width:500px}.expanded-list-meta{align-items:center;display:flex;gap:12px;margin-top:8px}.shared-by-info{color:#6366f1;color:var(--secondary);font-size:13px;font-weight:500}.item-count-badge{background:#f3f4f6;background:var(--gray-100);border-radius:9999px;border-radius:var(--radius-full);color:#4b5563;color:var(--gray-600);font-size:13px;padding:4px 12px}.expanded-list-content{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);margin:16px 0;max-height:300px;overflow-y:auto;padding:16px}.expanded-items-list{display:flex;flex-direction:column;gap:8px}.expanded-item{align-items:flex-start;background:#fff;border-radius:8px;border-radius:var(--radius-sm);display:flex;font-size:15px;gap:10px;padding:8px 12px}.item-bullet{color:#10b981;color:var(--primary);font-weight:700}.item-text{color:#374151;color:var(--gray-700);flex:1 1}.expanded-shared-section{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.expanded-shared-section h4{color:#4b5563;color:var(--gray-600);font-size:13px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.shared-avatars{display:flex;flex-wrap:wrap;gap:8px}.shared-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--secondary) 0,var(--secondary-dark) 100%);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.shopping-list-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.load-list-select{background:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;min-width:160px;padding:6px 12px;width:auto}.save-list-section{margin-top:8px}.save-list-form{align-items:center;display:flex;gap:8px}.save-list-form input{flex:1 1;font-size:13px;padding:8px 12px}.btn-text{background:#0000;color:#10b981;color:var(--primary);padding:6px 12px}.btn-text:hover{background:#d1fae5;background:var(--primary-light)}.btn-sm{font-size:13px;padding:6px 12px}.btn-danger{background:#ef4444;background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}@media (min-width:768px){.shopping-lists-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.shopping-lists-grid{grid-template-columns:repeat(3,1fr)}}.friends-page{padding-bottom:24px}.friends-header{margin-bottom:24px}.friends-header h1{color:#1f2937;color:var(--gray-800);font-size:28px;font-weight:700;margin-bottom:8px}.friends-subtitle{color:#6b7280;color:var(--gray-500);font-size:15px}.friends-section{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:20px}.friends-section h2{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600;margin-bottom:16px}.invite-link-container{display:flex;flex-direction:column;gap:12px}.invite-link-display{display:flex;flex-wrap:wrap;gap:12px}.invite-link-input{background:#f9fafb;background:var(--gray-50);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);color:#4b5563;color:var(--gray-600);flex:1 1;font-size:14px;min-width:200px;padding:12px 16px}.search-container{position:relative}.search-input{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);font-size:14px;padding:12px 16px;width:100%}.search-input:focus{border-color:#10b981;border-color:var(--primary);outline:none}.searching-indicator{color:#9ca3af;color:var(--gray-400);font-size:13px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.search-results{border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);margin-top:12px;overflow:hidden}.friend-item,.pending-item,.search-result-item{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;gap:12px;padding:12px 16px}.friend-item:last-child,.pending-item:last-child,.search-result-item:last-child{border-bottom:none}.user-avatar{align-items:center;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.user-name{color:#1f2937;color:var(--gray-800);flex:1 1;font-weight:500}.status-badge{border-radius:9999px;border-radius:var(--radius-full);font-size:12px;font-weight:500;padding:4px 10px}.status-badge.friend{background:#d1fae5;background:var(--primary-light);color:#059669;color:var(--primary-dark)}.status-badge.pending{background:#fef3c7;color:#92400e}.friends-list,.pending-list{border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);overflow:hidden}.pending-actions{display:flex;gap:8px}.no-friends{padding:40px 20px;text-align:center}.no-friends-icon{font-size:48px;margin-bottom:12px}.no-friends h3{color:#374151;color:var(--gray-700);font-size:18px;margin-bottom:8px}.no-friends p{color:#6b7280;color:var(--gray-500);font-size:14px}.success-message{background:#d1fae5;border:1px solid #a7f3d0;border-radius:12px;border-radius:var(--radius-md);color:#065f46;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.invite-accept-page{align-items:center;display:flex;justify-content:center;min-height:60vh}.invite-accept-card{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);max-width:400px;padding:40px;text-align:center;width:100%}.invite-error-icon,.invite-loading-icon .spinner,.invite-success-icon{align-items:center;border-radius:50%;display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.invite-success-icon{background:#d1fae5;background:var(--primary-light);color:#10b981;color:var(--primary)}.invite-error-icon{background:#fef2f2;color:#ef4444;color:var(--danger)}.invite-loading-icon .spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-top-color:#10b981;border:4px solid var(--gray-200);border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(1turn)}}.invite-accept-card h2{color:#1f2937;color:var(--gray-800);font-size:22px;margin-bottom:12px}.invite-accept-card p{color:#4b5563;color:var(--gray-600);margin-bottom:8px}.redirect-notice{color:#9ca3af;color:var(--gray-400);font-size:13px}.header-actions{display:flex;gap:12px}.share-modal{max-width:400px}.share-description{color:#4b5563;color:var(--gray-600);font-size:14px;margin-bottom:16px;padding:0 24px}.friends-select-list{border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);margin:0 24px 20px;max-height:300px;overflow-y:auto}.friend-select-item{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease;transition:var(--transition)}.friend-select-item:last-child{border-bottom:none}.friend-select-item:hover{background:#f9fafb;background:var(--gray-50)}.friend-select-item.selected{background:#d1fae5;background:var(--primary-light)}.friend-select-checkbox{align-items:center;border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:8px;border-radius:var(--radius-sm);color:#fff;display:flex;height:24px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:24px}.friend-select-item.selected .friend-select-checkbox{background:#10b981;background:var(--primary);border-color:#10b981;border-color:var(--primary)}.no-friends-share{padding:24px;text-align:center}.no-friends-share p{color:#4b5563;color:var(--gray-600);margin-bottom:16px}.share-success{padding:40px 24px;text-align:center}.share-success .success-icon{align-items:center;background:#d1fae5;background:var(--primary-light);border-radius:50%;color:#10b981;color:var(--primary);display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.share-success p{color:#374151;color:var(--gray-700);font-size:16px}.previous-week-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;border-radius:var(--radius-md);color:#92400e;display:flex;flex-wrap:wrap;font-size:14px;gap:12px;margin-top:20px;padding:14px 20px}.previous-week-banner .banner-icon{font-size:18px}.previous-week-banner .btn{margin-left:auto}.shared-info-banner,.shared-with-banner{align-items:center;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:12px;border-radius:var(--radius-md);color:#3730a3;display:flex;font-size:14px;gap:12px;margin-top:20px;padding:14px 20px}.shared-with-banner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);background:linear-gradient(135deg,var(--primary-light) 0,#a7f3d0 100%);color:#065f46}.shared-icon{font-size:20px}.your-portions{background:#fff;border-radius:9999px;border-radius:var(--radius-full);font-size:12px;margin-left:auto;padding:4px 12px}.shared-user-badge,.your-portions{font-weight:600}.pricing-page{margin:0 auto;max-width:900px}.pricing-page h2{color:#1f2937;color:var(--gray-800);font-size:28px;margin-bottom:8px;text-align:center}.pricing-subtitle{color:#4b5563;color:var(--gray-600);font-size:16px;margin-bottom:32px;text-align:center}.subscription-status{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);margin-bottom:32px;padding:24px}.status-badge{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:14px;font-weight:600;padding:6px 16px}.badge.trial{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--secondary) 0,var(--secondary-dark) 100%);color:#fff}.badge.active{background:linear-gradient(135deg,#22c55e,#16a34a);background:linear-gradient(135deg,var(--success) 0,#16a34a 100%);color:#fff}.badge.past-due{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--accent) 0,#d97706 100%);color:#fff}.badge.canceled{background:#9ca3af;background:var(--gray-400);color:#fff}.days-remaining{color:#4b5563;color:var(--gray-600);font-size:14px}.plan-name{color:#374151;color:var(--gray-700);font-weight:600}.cancel-notice{align-items:center;background:#fef3c7;border-radius:12px;border-radius:var(--radius-md);color:#92400e;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px;padding:16px}.reactivate-btn{background:#10b981;background:var(--primary);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s ease;transition:var(--transition)}.reactivate-btn:hover{background:#059669;background:var(--primary-dark)}.subscription-actions{margin-top:16px}.manage-btn{background:#f3f4f6;background:var(--gray-100);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease;transition:var(--transition)}.manage-btn:hover{background:#e5e7eb;background:var(--gray-200)}.plans-grid{grid-gap:24px;display:grid;gap:24px;margin-bottom:32px}@media (min-width:768px){.plans-grid{grid-template-columns:repeat(2,1fr)}}.plan-card{background:#fff;border:2px solid #0000;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);padding:32px;position:relative;transition:all .2s ease;transition:var(--transition)}.plan-card:hover{box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.plan-card.recommended{border-color:#10b981;border-color:var(--primary)}.savings-badge{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:9999px;border-radius:var(--radius-full);color:#fff;font-size:13px;font-weight:700;padding:6px 16px;position:absolute;right:24px;top:-12px}.plan-card h3{color:#1f2937;color:var(--gray-800);font-size:22px;margin-bottom:16px}.price{margin-bottom:8px}.price .amount{color:#1f2937;color:var(--gray-800);font-size:48px;font-weight:700}.price .currency{color:#4b5563;color:var(--gray-600);font-size:24px;margin-left:4px}.price .interval{font-size:16px}.price .interval,.price-breakdown{color:#6b7280;color:var(--gray-500)}.price-breakdown{font-size:14px;margin-bottom:24px}.features{list-style:none;margin-bottom:24px}.features li{align-items:center;color:#374151;color:var(--gray-700);display:flex;font-size:15px;gap:10px;padding:8px 0}.check-icon{color:#22c55e;color:var(--success);font-weight:700}.subscribe-btn{background:#f3f4f6;background:var(--gray-100);border:none;border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .2s ease;transition:var(--transition);width:100%}.subscribe-btn:hover{background:#e5e7eb;background:var(--gray-200)}.subscribe-btn.primary{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff}.subscribe-btn.primary:hover{transform:scale(1.02)}.subscribe-btn:disabled{cursor:not-allowed;opacity:.6}.trial-info{background:#d1fae5;background:var(--primary-light);border-radius:16px;border-radius:var(--radius-lg);margin-bottom:32px;padding:24px}.trial-info p{color:#065f46;font-size:18px;font-weight:600;margin-bottom:16px}.trial-info ul{list-style:none}.trial-info li{color:#065f46;font-size:15px;padding:6px 0}.trial-info li:before{color:#10b981;color:var(--primary);content:"✓ ";font-weight:700}.payment-methods{background:#f3f4f6;background:var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);padding:24px;text-align:center}.payment-methods p{color:#4b5563;color:var(--gray-600);font-size:14px;margin-bottom:16px}.payment-icons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.payment-icon{background:#fff;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#4b5563;color:var(--gray-600);font-size:12px;font-weight:600;padding:8px 16px}.plans-grid.three-cols{grid-template-columns:1fr}@media (min-width:768px){.plans-grid.three-cols{grid-template-columns:repeat(3,1fr)}}.plans-grid.four-cols{grid-template-columns:1fr}@media (min-width:640px){.plans-grid.four-cols{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.plans-grid.four-cols{grid-template-columns:repeat(4,1fr)}.plans-grid.four-cols .plan-card{padding:24px}}.popular-badge{background:linear-gradient(135deg,#10b981,#059669)!important;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)!important}.family-badge{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;background:linear-gradient(135deg,var(--secondary) 0,var(--secondary-dark) 100%)!important}.family-plan-section{background:#fff;border:2px solid #10b981;border:2px solid var(--primary);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);margin-bottom:32px;padding:24px}.family-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.family-header h3{color:#1f2937;color:var(--gray-800);font-size:20px;margin:0}.family-stats{background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);display:flex;gap:24px;margin-bottom:20px;padding:16px}.family-stats .stat{text-align:center}.family-stats .stat-value{color:#10b981;color:var(--primary);display:block;font-size:28px;font-weight:700}.family-stats .stat-label{color:#6b7280;color:var(--gray-500);font-size:13px}.family-stats .stat.extra .stat-value{color:#f59e0b;color:var(--accent)}.extra-cost-notice{background:#fef3c7;border-radius:12px;border-radius:var(--radius-md);color:#92400e;font-size:14px;margin-bottom:20px;padding:12px 16px}.family-members{margin-top:20px}.family-members h4{color:#374151;color:var(--gray-700);font-size:16px;margin-bottom:12px}.member-list{margin-bottom:16px}.member-item{align-items:center;background:#f9fafb;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px}.member-item.owner{background:#d1fae5;background:var(--primary-light)}.member-name{color:#374151;color:var(--gray-700);font-weight:500}.remove-member-btn{background:#ef4444;background:var(--danger);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease;transition:var(--transition)}.remove-member-btn:hover{opacity:.9}.add-member-form{display:flex;gap:12px;margin-bottom:16px}.add-member-form input{border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);flex:1 1;font-size:14px;padding:12px 16px}.add-member-form input:focus{border-color:#10b981;border-color:var(--primary);outline:none}.add-member-form button{background:#10b981;background:var(--primary);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .2s ease;transition:var(--transition)}.add-member-form button:hover:not(:disabled){background:#059669;background:var(--primary-dark)}.add-member-form button:disabled{cursor:not-allowed;opacity:.5}.family-error{background:#fee2e2;border-radius:12px;border-radius:var(--radius-md);color:#dc2626;font-size:14px;margin-bottom:16px;padding:12px 16px}.member-actions{padding:20px;text-align:center}.member-actions p{color:#4b5563;color:var(--gray-600);margin-bottom:16px}.leave-btn{background:#f3f4f6;background:var(--gray-100);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease;transition:var(--transition)}.leave-btn:hover{background:#ef4444;background:var(--danger);border-color:#ef4444;border-color:var(--danger);color:#fff}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);max-width:480px;padding:32px;width:100%}.modal-content h3{color:#1f2937;color:var(--gray-800);font-size:20px;margin-bottom:8px}.modal-content p{color:#4b5563;color:var(--gray-600);margin-bottom:24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-btn{background:#f3f4f6;background:var(--gray-100);border:none;border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;font-weight:600;padding:12px 24px}.cancel-btn:hover{background:#e5e7eb;background:var(--gray-200)}.tutorial-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.tutorial-modal{animation:tutorialSlideIn .3s ease;background:#f9fafb;background:var(--gray-50);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);max-width:480px;padding:32px;position:relative;width:100%}@keyframes tutorialSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-skip{background:none;border:none;border-radius:12px;border-radius:var(--radius-md);color:#6b7280;color:var(--gray-500);cursor:pointer;font-size:14px;padding:8px 12px;position:absolute;right:16px;top:16px;transition:all .2s ease;transition:var(--transition)}.tutorial-skip:hover{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.tutorial-progress{display:flex;gap:8px;justify-content:center;margin-bottom:32px}.tutorial-progress-dot{background:#e5e7eb;background:var(--gray-200);border-radius:50%;cursor:pointer;height:10px;transition:all .2s ease;transition:var(--transition);width:10px}.tutorial-progress-dot:hover{background:#d1d5db;background:var(--gray-300)}.tutorial-progress-dot.active{background:#10b981;background:var(--primary);transform:scale(1.2)}.tutorial-progress-dot.completed{background:#d1fae5;background:var(--primary-light)}[data-theme=dark] .tutorial-progress-dot.completed{background:#059669;background:var(--primary-dark)}.tutorial-content{margin-bottom:32px;text-align:center}.tutorial-icon{align-items:center;background:linear-gradient(135deg,#d1fae5,#10b981);background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);border-radius:50%;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}[data-theme=dark] .tutorial-icon{background:linear-gradient(135deg,#059669,#10b981);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary) 100%)}.tutorial-icon svg{height:40px;width:40px}.tutorial-title{color:#1f2937;color:var(--gray-800);font-size:24px;font-weight:700;margin-bottom:16px}.tutorial-description{color:#4b5563;color:var(--gray-600);font-size:16px;line-height:1.7}.tutorial-navigation{align-items:center;display:flex;gap:16px;justify-content:space-between}.tutorial-btn{border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s ease;transition:var(--transition)}.tutorial-btn-primary{background:#10b981;background:var(--primary);color:#fff}.tutorial-btn-primary:hover{background:#059669;background:var(--primary-dark)}.tutorial-btn-secondary{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.tutorial-btn-secondary:hover:not(:disabled){background:#e5e7eb;background:var(--gray-200)}.tutorial-btn-secondary:disabled{cursor:not-allowed;opacity:.5}.tutorial-step-counter{color:#6b7280;color:var(--gray-500);font-size:14px;font-weight:500}@media (max-width:480px){.tutorial-modal{margin:16px;padding:24px}.tutorial-icon{height:64px;width:64px}.tutorial-icon svg{height:32px;width:32px}.tutorial-title{font-size:20px}.tutorial-btn,.tutorial-description{font-size:14px}.tutorial-btn{padding:10px 16px}.tutorial-navigation{flex-wrap:wrap;justify-content:center}.tutorial-step-counter{margin-bottom:12px;order:-1;text-align:center;width:100%}}.dashboard-widgets{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}@media (max-width:768px){.dashboard-widgets{grid-template-columns:1fr}}.water-tracker{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-lg);padding:16px}.water-header{gap:12px;margin-bottom:12px}.water-header,.water-icon{align-items:center;display:flex}.water-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;border-radius:var(--radius-md);color:#fff;height:40px;justify-content:center;width:40px}.water-icon svg{height:24px;width:24px}.water-info{display:flex;flex-direction:column}.water-label{color:#6b7280;color:var(--gray-500);font-size:14px}.water-amount{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:700}.water-progress-container{align-items:center;display:flex;gap:12px;margin-bottom:12px}.water-progress-bar{background:#e5e7eb;background:var(--gray-200);flex:1 1;height:10px;overflow:hidden}.water-progress-bar,.water-progress-fill{border-radius:9999px;border-radius:var(--radius-full)}.water-progress-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:100%;transition:width .3s ease}.water-glasses{color:#6b7280;color:var(--gray-500);font-size:13px;white-space:nowrap}.water-buttons{display:flex;gap:8px}.water-btn{background:#f3f4f6;background:var(--gray-100);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s ease;transition:var(--transition)}.water-btn:hover:not(:disabled){background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.water-btn:disabled{cursor:not-allowed;opacity:.5}.streak-display{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:16px;border-radius:var(--radius-lg);padding:16px}[data-theme=dark] .streak-display{background:linear-gradient(135deg,#78350f,#92400e);border-color:#b45309}.streak-main{align-items:center;display:flex;gap:12px;margin-bottom:16px}.streak-fire-large{color:#f97316;height:48px;width:48px}.streak-fire-large svg{height:100%;width:100%}.streak-info{display:flex;flex-direction:column}.streak-count{color:#92400e;font-size:32px;font-weight:800;line-height:1}[data-theme=dark] .streak-count{color:#fef3c7}.streak-label{color:#b45309;font-size:14px}[data-theme=dark] .streak-label{color:#fde68a}.streak-stats{border-bottom:1px solid #b4530933;border-top:1px solid #b4530933;display:flex;justify-content:space-around;margin-bottom:12px;padding:12px 0}.streak-stat{align-items:center;display:flex;flex-direction:column}.stat-value{color:#92400e;font-size:18px;font-weight:700}[data-theme=dark] .stat-value{color:#fef3c7}.stat-label{color:#b45309;font-size:12px}[data-theme=dark] .stat-label{color:#fde68a}.view-achievements-btn{background:#f97316;border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px;transition:all .2s ease;transition:var(--transition);width:100%}.view-achievements-btn:hover{background:#ea580c}.streak-compact{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:9999px;border-radius:var(--radius-full);cursor:pointer;display:flex;gap:4px;padding:6px 10px;transition:all .2s ease;transition:var(--transition)}.streak-compact:hover{transform:scale(1.05)}.streak-fire{color:#f97316;height:18px;width:18px}.streak-fire svg{height:100%;width:100%}.streak-number{color:#92400e;font-size:14px;font-weight:700}.achievements-modal{background:#f9fafb;background:var(--gray-50);border-radius:24px;border-radius:var(--radius-xl);display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:90%}.achievements-grid{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:20px}.achievement-card{align-items:center;background:#f3f4f6;background:var(--gray-100);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);display:flex;gap:12px;padding:12px;transition:all .2s ease;transition:var(--transition)}.achievement-card.earned{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24}[data-theme=dark] .achievement-card.earned{background:linear-gradient(135deg,#78350f,#92400e);border-color:#b45309}.achievement-card.locked{opacity:.5}.achievement-icon{align-items:center;color:#9ca3af;color:var(--gray-400);display:flex;height:40px;justify-content:center;width:40px}.achievement-card.earned .achievement-icon{color:#f97316}.achievement-icon svg{height:28px;width:28px}.achievement-info{display:flex;flex:1 1;flex-direction:column}.achievement-name{color:#1f2937;color:var(--gray-800);font-size:15px;font-weight:600}.achievement-desc{color:#6b7280;color:var(--gray-500);font-size:13px}.achievement-check{align-items:center;background:#22c55e;border-radius:50%;color:#fff;display:flex;height:24px;justify-content:center;width:24px}.achievement-check svg{height:16px;width:16px}.loading-skeleton{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:16px;border-radius:var(--radius-lg);min-height:100px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-charts{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-lg);margin-bottom:24px;padding:20px}.charts-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.charts-header h3{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:700;margin:0}.time-range-selector{background:#f3f4f6;background:var(--gray-100);border-radius:12px;border-radius:var(--radius-md);display:flex;gap:4px;padding:4px}.time-range-selector button{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6b7280;color:var(--gray-500);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s ease;transition:var(--transition)}.time-range-selector button:hover{color:#374151;color:var(--gray-700)}.time-range-selector button.active{background:#fff;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#10b981;color:var(--primary)}[data-theme=dark] .time-range-selector button.active{background:#374151;background:var(--gray-700)}.charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:900px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius-md);padding:16px}[data-theme=dark] .chart-card{background:#1f2937;background:var(--gray-800);border-color:#374151;border-color:var(--gray-700)}.chart-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.chart-card-header h4{color:#374151;color:var(--gray-700);font-size:14px;font-weight:600;margin:0}.chart-stat{background:#f3f4f6;background:var(--gray-100);border-radius:8px;border-radius:var(--radius-sm);color:#6b7280;color:var(--gray-500);font-size:12px;padding:4px 8px}[data-theme=dark] .chart-stat{background:#374151;background:var(--gray-700)}.chart-container{align-items:center;display:flex;height:180px;justify-content:center}.no-data,.no-data-small{color:#9ca3af;color:var(--gray-400);font-size:14px;text-align:center}.no-data-small{font-size:12px}.macros-card{grid-column:span 2}@media (max-width:900px){.macros-card{grid-column:span 1}}.macros-content{align-items:center;display:flex;gap:24px}@media (max-width:500px){.macros-content{flex-direction:column}}.macro-pie{flex:0 0 140px;height:140px}.macro-legend{display:flex;flex:1 1;flex-direction:column;gap:12px}.macro-legend-item{align-items:center;display:flex;gap:10px}.macro-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.macro-label{color:#4b5563;color:var(--gray-600);flex:1 1;font-size:14px}.macro-value{color:#1f2937;color:var(--gray-800);font-size:14px;font-weight:600}.chart-skeleton{height:200px;width:100%}.chat-toggle-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,#059669 100%);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 20px #10b98166;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:24px;transition:all .3s ease;width:60px;z-index:1000}.chat-toggle-btn svg{height:28px;width:28px}.chat-toggle-btn:hover{box-shadow:0 6px 24px #10b98180;transform:scale(1.1)}.chat-toggle-btn.open{background:#4b5563;background:var(--gray-600);box-shadow:0 4px 16px #0003}.chat-window{animation:slideUp .3s ease;background:#f9fafb;background:var(--gray-50);border-radius:24px;border-radius:var(--radius-xl);bottom:100px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;height:500px;max-height:calc(100vh - 150px);max-width:calc(100vw - 48px);overflow:hidden;position:fixed;right:24px;width:380px;z-index:999}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .chat-window{background:#1f2937;box-shadow:0 10px 40px #0006}.chat-header{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,#059669 100%);color:#fff;justify-content:space-between;padding:16px}.chat-header,.chat-header-info{align-items:center;display:flex}.chat-header-info{gap:12px}.chat-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;height:40px;justify-content:center;width:40px}.chat-avatar svg{height:24px;width:24px}.chat-header h4{font-size:16px;font-weight:600;margin:0}.chat-status{font-size:12px;opacity:.9}.chat-header-actions{display:flex;gap:8px}.chat-header-actions button{align-items:center;background:#ffffff26;border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:32px}.chat-header-actions button:hover{background:#ffffff40}.chat-messages{background:#f9fafb;background:var(--gray-50);display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px}[data-theme=dark] .chat-messages{background:#111827}.chat-message{display:flex;gap:10px;max-width:90%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant{align-self:flex-start}.message-avatar{align-items:center;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,#059669 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.message-avatar svg{height:18px;width:18px}.message-content{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:12px 16px}[data-theme=dark] .message-content{box-shadow:none!important}[data-theme=dark] .chat-message.assistant .message-content,[data-theme=dark] .message-content{background:#374151!important;color:#f3f4f6!important}[data-theme=dark] .chat-message.user .message-content{background:#10b981!important;background:var(--primary)!important;color:#fff!important}.chat-message.user .message-content{background:#10b981;background:var(--primary);color:#fff}.message-content p{font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap}.message-actions{display:flex;flex-direction:column;gap:6px;margin-top:10px}.action-badge{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:12px;border-radius:var(--radius-md);color:#10b981;color:var(--primary);display:flex;font-size:12px;gap:6px;padding:6px 10px}[data-theme=dark] .action-badge{background:#10b98133}.action-badge svg{flex-shrink:0}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{animation:typing 1.4s infinite;background:#9ca3af;background:var(--gray-400);border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-quick-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.chat-quick-actions button{background:#f3f4f6;background:var(--gray-100);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:9999px;border-radius:var(--radius-full);color:#374151;color:var(--gray-700);cursor:pointer;font-size:13px;padding:8px 14px;transition:all .2s ease;transition:var(--transition)}[data-theme=dark] .chat-quick-actions button{background:#374151;border-color:#4b5563;color:#e5e7eb}.chat-quick-actions button:hover{background:#d1fae5;background:var(--primary-light);border-color:#10b981;border-color:var(--primary);color:#10b981;color:var(--primary)}.chat-input-form{background:#f3f4f6;background:var(--gray-100);border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);display:flex;gap:8px;padding:16px}[data-theme=dark] .chat-input-form{background:#1f2937;border-color:#374151}.chat-input-form input{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:9999px;border-radius:var(--radius-full);flex:1 1;font-size:14px;padding:12px 16px}[data-theme=dark] .chat-input-form input{background:#374151;border-color:#4b5563;color:#f3f4f6}.chat-input-form input:focus{border-color:#10b981;border-color:var(--primary);outline:none}.chat-input-form button{align-items:center;background:#10b981;background:var(--primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:44px}.chat-input-form button:hover:not(:disabled){background:#059669;background:var(--primary-dark);transform:scale(1.05)}.chat-input-form button:disabled{cursor:not-allowed;opacity:.5}.chat-input-form button svg{height:20px;width:20px}@media (max-width:480px){.chat-toggle-btn{bottom:16px;height:56px;right:16px;width:56px}.chat-window{border-radius:0;bottom:0;height:100%;left:0;max-height:100%;max-width:100%;position:fixed;right:0;top:0;width:100%;z-index:1001}.chat-toggle-btn.open{display:none}.chat-header{padding:max(12px,env(safe-area-inset-top)) 16px 12px}.chat-messages{gap:12px;padding:12px}.chat-message{max-width:85%}.message-content{padding:10px 14px}.message-content p{font-size:15px}.chat-quick-actions{flex-wrap:wrap;gap:6px;padding:8px 12px}.chat-quick-actions button{flex:0 1 auto;font-size:13px;padding:10px 14px;white-space:nowrap}.chat-input-form{gap:10px;padding:12px 12px max(12px,env(safe-area-inset-bottom))}.chat-input-form input{font-size:16px;padding:14px 16px}.chat-input-form button{flex-shrink:0;height:48px;width:48px}.chat-input-form button svg{height:22px;width:22px}}@media (max-width:360px){.chat-quick-actions button{font-size:12px;padding:8px 12px}.message-content p{font-size:14px}}
/*# sourceMappingURL=main.05625788.css.map*/