*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;width:100%}:root{--color-dark-primary: #111827;--color-dark-secondary: #1F2937;--color-light-primary: #ffffff;--color-light-secondary: #F9FAFB;--color-light-tertiary: #F3F4F6;--color-text-dark: #1F2937;--color-text-light: #F9FAFB;--color-text-muted: #6B7280;--color-text-on-interactive: #FFFFFF;--color-interactive-indigo: #6366f1;--color-interactive-indigo-light: #818cf8;--color-interactive-indigo-darker: #4f46e5;--color-interactive-indigo-rgb: 99, 102, 241;--color-accent-primary: #3B82F6;--color-accent-primary-darker: #2563EB;--color-accent-secondary: #4B5563;--color-accent-secondary-darker: #374151;--color-success: #10B981;--color-success-darker: #059669;--color-warning: #F59E0B;--color-warning-darker: #D97706;--color-danger: #EF4444;--color-danger-darker: #DC2626;--color-border: #E5E7EB;--color-border-light: #F3F4F6;--color-border-dark: #374151;--color-border-hover: #D1D5DB;--primary-color: var(--color-interactive-indigo);--primary-color-light: var(--color-interactive-indigo-light);--primary-color-dark: var(--color-interactive-indigo-darker);--surface-color: var(--color-light-primary);--card-background: var(--color-light-primary);--text-primary: var(--app-text-color);--text-secondary: var(--app-text-color-secondary);--text-muted: var(--app-text-color-muted);--background-primary: var(--surface-bg-color);--background-secondary: var(--app-bg-color);--border-color: var(--surface-border-color);--primary-bg: var(--success-state-bg);--success-bg: var(--success-state-bg);--warning-bg: var(--warning-state-bg);--error-bg: var(--error-state-bg);--primary-color: var(--interactive-primary-bg);--success-color: var(--success-state-text);--warning-color: var(--warning-state-text);--error-color: var(--error-state-text);--info-color: var(--info-state-text);--app-bg-color: var(--color-light-secondary);--app-text-color: var(--color-text-dark);--app-text-color-secondary: var(--color-text-muted);--app-text-color-muted: #9CA3AF;--surface-bg-color: var(--color-light-primary);--surface-border-color: var(--color-border);--surface-border-color-hover: var(--color-border-hover);--interactive-primary-bg: var(--color-interactive-indigo);--interactive-primary-bg-hover: var(--color-interactive-indigo-darker);--interactive-primary-text: var(--color-text-on-interactive);--interactive-primary-border: var(--color-interactive-indigo);--interactive-secondary-bg: var(--color-light-primary);--interactive-secondary-bg-hover: var(--color-light-tertiary);--interactive-secondary-text: var(--color-interactive-indigo);--interactive-secondary-text-hover: var(--color-interactive-indigo-darker);--interactive-secondary-border: var(--color-border);--interactive-secondary-border-hover: var(--color-border-hover);--interactive-focus-ring-color-rgb: var(--color-interactive-indigo-rgb);--link-text-color: var(--color-interactive-indigo);--link-text-color-hover: var(--color-interactive-indigo-darker);--logo-text-color: var(--color-text-dark);--logo-icon-color: var(--color-interactive-indigo);--nav-link-text-color: var(--color-text-muted);--nav-link-text-color-hover: var(--color-interactive-indigo);--nav-link-bg-color-hover: var(--color-light-tertiary);--nav-link-active-text-color: var(--color-interactive-indigo-darker);--nav-link-active-bg-color: var(--color-interactive-indigo-light);--heading-text-color: var(--color-text-dark);--form-input-bg: var(--color-light-primary);--form-input-text: var(--color-text-dark);--form-input-border: var(--color-border);--form-input-focus-border: var(--color-interactive-indigo);--form-input-placeholder-text: var(--color-text-muted);--form-select-arrow-icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236B7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd' /%3E%3C/svg%3E");--button-primary-bg: var(--interactive-primary-bg);--button-primary-text: var(--interactive-primary-text);--button-primary-border: var(--interactive-primary-border);--button-primary-bg-hover: var(--interactive-primary-bg-hover);--button-primary-border-hover: var(--interactive-primary-bg-hover);--button-secondary-bg: var(--interactive-secondary-bg);--button-secondary-text: var(--interactive-secondary-text);--button-secondary-border: var(--interactive-secondary-border);--button-secondary-bg-hover: var(--interactive-secondary-bg-hover);--button-secondary-text-hover: var(--interactive-secondary-text-hover);--button-secondary-border-hover: var(--interactive-secondary-border-hover);--button-danger-bg: var(--color-danger);--button-danger-text: var(--color-text-on-interactive);--button-danger-border: var(--color-danger);--button-danger-bg-hover: var(--color-danger-darker);--button-danger-border-hover: var(--color-danger-darker);--button-success-bg: var(--color-success);--button-success-text: var(--color-text-on-interactive);--button-success-border: var(--color-success);--button-success-bg-hover: var(--color-success-darker);--button-success-border-hover: var(--color-success-darker);--success-state-bg: rgba(16, 185, 129, .1);--success-state-text: var(--color-success);--error-state-bg: rgba(239, 68, 68, .1);--error-state-text: var(--color-danger);--warning-state-bg: rgba(245, 158, 11, .1);--warning-state-text: var(--color-warning);--info-state-bg: rgba(59, 130, 246, .1);--info-state-text: var(--color-accent-primary);--font-family-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-sans-serif: var(--font-family-base);--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-xs: .75rem;--line-height-base: 1.7;--border-radius-small: .25rem;--border-radius-medium: .375rem;--border-radius-large: .5rem;--border-radius-xl: .75rem;--border-radius-full: 9999px;--spacing-extra-small: .25rem;--spacing-small: .5rem;--spacing-medium: 1rem;--spacing-large: 1.5rem;--spacing-extra-large: 2rem;--spacing-super-large: 3rem;--box-shadow-small: 0 1px 2px 0 rgba(0, 0, 0, .05);--box-shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .07);--box-shadow-large: 0 10px 15px -3px rgba(0, 0, 0, .07), 0 4px 6px -4px rgba(0, 0, 0, .07);--box-shadow-extra-large: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .08);--box-shadow-inner: inset 0 2px 4px 0 rgba(0,0,0,.05)}[data-theme=dark]{--app-bg-color: var(--color-dark-primary);--app-text-color: var(--color-text-light);--app-text-color-secondary: #9CA3AF;--app-text-color-muted: #6B7280;--surface-bg-color: var(--color-dark-secondary);--surface-border-color: var(--color-border-dark);--surface-border-color-hover: #4B5563;--interactive-secondary-bg: var(--color-dark-secondary);--interactive-secondary-bg-hover: #374151;--interactive-secondary-text: var(--color-interactive-indigo-light);--interactive-secondary-text-hover: var(--color-interactive-indigo-light);--interactive-secondary-border: var(--color-border-dark);--interactive-secondary-border-hover: #4B5563;--logo-text-color: var(--color-text-light);--logo-icon-color: var(--color-interactive-indigo-light);--nav-link-text-color: #9CA3AF;--nav-link-text-color-hover: var(--color-interactive-indigo-light);--nav-link-bg-color-hover: #374151;--nav-link-active-text-color: var(--color-interactive-indigo-light);--nav-link-active-bg-color: rgba(129, 140, 248, .2);--heading-text-color: var(--color-text-light);--form-input-bg: var(--color-dark-secondary);--form-input-text: var(--color-text-light);--form-input-border: var(--color-border-dark);--form-input-focus-border: var(--color-interactive-indigo-light);--form-input-placeholder-text: #6B7280;--form-select-arrow-icon-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%239CA3AF'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd' /%3E%3C/svg%3E");--button-secondary-bg: var(--color-dark-secondary);--button-secondary-text: var(--color-interactive-indigo-light);--button-secondary-border: var(--color-border-dark);--button-secondary-bg-hover: #374151;--button-secondary-text-hover: var(--color-interactive-indigo-light);--button-secondary-border-hover: #4B5563;--success-state-bg: rgba(16, 185, 129, .15);--success-state-text: #34D399;--error-state-bg: rgba(239, 68, 68, .15);--error-state-text: #F87171;--warning-state-bg: rgba(245, 158, 11, .15);--warning-state-text: #FBBF24;--info-state-bg: rgba(59, 130, 246, .15);--info-state-text: #60A5FA;--box-shadow-small: 0 1px 2px 0 rgba(0, 0, 0, .3);--box-shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--box-shadow-large: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--box-shadow-extra-large: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .4);--box-shadow-inner: inset 0 2px 4px 0 rgba(0,0,0,.3);--text-primary: var(--app-text-color);--text-secondary: var(--app-text-color-secondary);--text-muted: var(--app-text-color-muted);--background-primary: var(--surface-bg-color);--background-secondary: var(--app-bg-color);--border-color: var(--surface-border-color);--primary-bg: var(--success-state-bg);--success-bg: var(--success-state-bg);--warning-bg: var(--warning-state-bg);--error-bg: var(--error-state-bg);--primary-color: var(--interactive-primary-bg);--success-color: var(--success-state-text);--warning-color: var(--warning-state-text);--error-color: var(--error-state-text);--info-color: var(--info-state-text)}body{font-family:var(--font-family-base);margin:0;padding:0;background-color:var(--app-bg-color);color:var(--app-text-color);line-height:var(--line-height-base);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%}.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:var(--spacing-medium);padding-right:var(--spacing-medium)}header{background-color:var(--surface-bg-color);padding:var(--spacing-small) 0;box-shadow:var(--box-shadow-medium);border-bottom:1px solid var(--surface-border-color);position:sticky;top:0;z-index:50}nav .container{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;font-size:1.75rem;font-weight:700;color:var(--logo-text-color);text-decoration:none}.logo i{color:var(--logo-icon-color);margin-right:var(--spacing-small);font-size:1.5rem}nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:var(--spacing-small)}nav ul li{margin:0}nav ul li a{color:var(--nav-link-text-color);text-decoration:none;font-weight:500;padding:var(--spacing-small) var(--spacing-medium);border-radius:var(--border-radius-medium);transition:color .2s ease,background-color .2s ease}nav ul li a:hover{color:var(--nav-link-text-color-hover);background-color:var(--nav-link-bg-color-hover)}nav ul li a.active{color:var(--nav-link-active-text-color);font-weight:600;background-color:var(--nav-link-active-bg-color)}h1,h2,h3,h4,h5,h6{color:var(--heading-text-color);margin-top:0;margin-bottom:var(--spacing-medium);line-height:1.3}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.875rem;font-weight:700}h3{font-size:1.5rem;font-weight:600}h4{font-size:1.25rem;font-weight:600}h5{font-size:1.125rem;font-weight:500}h6{font-size:1rem;font-weight:500}a{color:var(--link-text-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--link-text-color-hover);text-decoration:underline}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],textarea,select{font-family:var(--font-family-base);padding:var(--spacing-small) var(--spacing-medium);border:1px solid var(--form-input-border);border-radius:var(--border-radius-medium);font-size:var(--font-size-base);background-color:var(--form-input-bg);color:var(--form-input-text);box-sizing:border-box;width:100%;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,input[type=search]:focus,textarea:focus,select:focus{border-color:var(--form-input-focus-border);box-shadow:0 0 0 3px rgba(var(--interactive-focus-ring-color-rgb),.2);outline:none}input::placeholder,textarea::placeholder{color:var(--form-input-placeholder-text);opacity:.7;font-size:var(--font-size-base)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--form-select-arrow-icon-url);background-repeat:no-repeat;background-position:right var(--spacing-medium) center;background-size:1.25em;padding-right:calc(var(--spacing-medium) + 1.5em)}.btn{padding:var(--spacing-small) var(--spacing-large);border-radius:var(--border-radius-medium);border:1px solid transparent;font-family:var(--font-family-sans-serif);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-small);line-height:1.5}.btn:hover{opacity:.9}.btn:focus,.btn:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px rgba(var(--interactive-focus-ring-color-rgb),.3)}.btn-primary{background-color:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-border)}.btn-primary:hover{background-color:var(--button-primary-bg-hover);border-color:var(--button-primary-border-hover)}.btn-secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--button-secondary-border)}.btn-secondary:hover{background-color:var(--button-secondary-bg-hover);border-color:var(--button-secondary-border-hover);color:var(--button-secondary-text-hover)}.btn-danger{background-color:var(--button-danger-bg);color:var(--button-danger-text);border-color:var(--button-danger-border)}.btn-danger:hover{background-color:var(--button-danger-bg-hover);border-color:var(--button-danger-border-hover)}.btn-success{background-color:var(--button-success-bg);color:var(--button-success-text);border-color:var(--button-success-border)}.btn-success:hover{background-color:var(--button-success-bg-hover);border-color:var(--button-success-border-hover)}.btn-block{display:flex;width:100%}.btn-sm{padding:var(--spacing-extra-small) var(--spacing-medium);font-size:.875rem}.btn-lg{padding:var(--spacing-medium) var(--spacing-extra-large);font-size:1.125rem}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);gap:var(--spacing-md)}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.spinner-md{width:40px;height:40px;border-width:3px}.spinner-lg{width:60px;height:60px;border-width:4px}.loading-message{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.progress-steps{width:100%;margin:var(--spacing-lg) 0}.progress-steps-container{display:flex;justify-content:space-between;align-items:center;position:relative}.progress-steps-container:before{content:"";position:absolute;top:20px;left:25px;right:25px;height:2px;background-color:var(--border-color);z-index:1}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);position:relative;z-index:2;flex:1;max-width:120px}.step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;background-color:var(--background-secondary);border:2px solid var(--border-color);color:var(--text-muted);transition:all .3s ease}.progress-step.completed .step-number{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.progress-step.current .step-number{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.step-label{font-size:var(--font-size-sm);text-align:center;color:var(--text-muted);font-weight:500}.progress-step.completed .step-label,.progress-step.current .step-label{color:var(--text-primary);font-weight:600}.success-message{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);margin:var(--spacing-md) 0;border-radius:var(--border-radius);background-color:var(--success-bg);border:1px solid var(--success-color);color:var(--success-text);animation:celebrateSlide .5s ease-out}.success-content{display:flex;align-items:center;gap:var(--spacing-sm)}.success-icon{font-size:1.25rem;color:var(--success-color)}.success-text{font-weight:500}.success-close{color:var(--success-color);padding:var(--spacing-xs);min-width:auto;height:auto}.success-close:hover{background-color:var(--success-color);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-ghost{background-color:transparent;border:none;color:inherit}.btn-ghost:hover{background-color:#0000001a}[data-theme=dark] .btn-ghost:hover{background-color:#ffffff1a}.alert{padding:var(--spacing-md);border-radius:var(--border-radius);margin:var(--spacing-md) 0;border:1px solid transparent}.alert-success{background-color:var(--success-bg);border-color:var(--success-color);color:var(--success-text)}.alert-warning{background-color:var(--warning-bg);border-color:var(--warning-color);color:var(--warning-text)}.alert-error{background-color:var(--error-bg);border-color:var(--error-color);color:var(--error-text)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-input:invalid{border-color:var(--error-color)}.loading-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:10}[data-theme=dark] .loading-overlay:after{background-color:#000c}.food-logging-container{max-width:800px;margin:0 auto}.food-item.selected-item{border-color:var(--primary-color);background-color:var(--primary-bg)}.food-item.item-in-meal{border-color:var(--success-color);background-color:var(--success-bg)}.meal-summary-list{list-style:none;padding:0;margin:0}.meal-summary-list li{padding:var(--spacing-sm);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.meal-summary-list li:last-child{border-bottom:none}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center}.not-found-content{max-width:500px;padding:var(--spacing-xl)}.not-found-icon{font-size:4rem;color:var(--warning-color);margin-bottom:var(--spacing-lg)}.not-found-content h1{font-size:2.5rem;margin-bottom:var(--spacing-md);color:var(--text-primary)}.not-found-content p{font-size:1.1rem;color:var(--text-muted);margin-bottom:var(--spacing-xl);line-height:1.6}.not-found-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.not-found-actions .btn{display:flex;align-items:center;gap:var(--spacing-xs)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.6}.empty-state h3{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.empty-state p{margin-bottom:var(--spacing-lg);line-height:1.6}.button-group.horizontal{display:flex;gap:var(--spacing-sm);align-items:center}.button-group.horizontal.justify-end{justify-content:flex-end}.button-group.horizontal.justify-center{justify-content:center}.button-group.vertical{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-input-group-inline{display:flex;gap:var(--spacing-md);align-items:end;flex-wrap:wrap}.form-input-group-inline .form-input-group{flex:1;min-width:200px}.date-selector-group{background-color:var(--background-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);border:1px solid var(--border-color)}.food-item{border:2px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);transition:all .3s ease;background-color:var(--background-primary)}.food-item:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}[data-theme=dark] .food-item:hover{box-shadow:0 4px 12px #0000004d}.food-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.food-item-name{font-weight:600;color:var(--text-primary);font-size:1.1rem}.nutrition-details-section{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--background-secondary);border-radius:var(--border-radius);border-left:4px solid var(--success-color)}.nutrition-details-section h4{margin-bottom:var(--spacing-sm);color:var(--success-color)}.nutrition-details-section ul{list-style:none;padding:0;margin:var(--spacing-sm) 0 0 0}.nutrition-details-section li{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-color)}.nutrition-details-section li:last-child{border-bottom:none}.food-items-list,.logged-food-list{list-style:none;padding:0;margin:0}.logged-food-item{margin-bottom:var(--spacing-md)}.food-details{flex:1}.food-details strong{color:var(--text-primary);font-size:1.1rem}.text-sm{font-size:var(--font-size-sm)}.item-error{margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}.image-preview-container{margin:var(--spacing-lg) 0;padding:var(--spacing-md);border:2px dashed var(--border-color);border-radius:var(--border-radius);background-color:var(--background-secondary)}.image-preview-container img{border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a}[data-theme=dark] .image-preview-container img{box-shadow:0 4px 12px #0000004d}.food-items-selection-card .app-card-header p{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-sm);color:var(--text-muted);font-weight:400}.log-meal-action-card{border:2px solid var(--success-color);background:linear-gradient(135deg,var(--success-bg) 0%,var(--background-primary) 100%)}.daily-log-card .app-card-header{background-color:var(--primary-bg);border-bottom:1px solid var(--primary-color)}.quick-actions-card{margin-bottom:var(--spacing-lg)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.quick-action-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--border-radius);text-decoration:none;color:inherit;transition:all .3s ease;background-color:var(--background-primary)}.quick-action-item:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;text-decoration:none;color:inherit}[data-theme=dark] .quick-action-item:hover{box-shadow:0 4px 12px #0000004d}.quick-action-item.quick-action-info{border-color:var(--warning-color);background:linear-gradient(135deg,var(--warning-bg) 0%,var(--background-primary) 100%);cursor:default}.quick-action-item.quick-action-info:hover{transform:none;border-color:var(--warning-color)}.quick-action-icon{flex-shrink:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border-radius:50%;font-size:1.25rem}.quick-action-item.quick-action-info .quick-action-icon{background-color:var(--warning-color)}.quick-action-content h4{margin:0 0 var(--spacing-xs) 0;color:var(--text-primary);font-size:1.1rem}.quick-action-content p{margin:0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.dashboard-page{max-width:1200px;margin:0 auto}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.summary-card{text-align:center;padding:var(--spacing-lg);border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--background-primary)}.summary-card h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-card .summary-value{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.summary-card .summary-label{font-size:var(--font-size-sm);color:var(--text-muted)}.summary-card.calories .summary-value{color:var(--success-color)}.summary-card.protein .summary-value{color:var(--info-color)}.summary-card.carbs .summary-value{color:var(--warning-color)}.summary-card.fat .summary-value{color:var(--error-color)}.history-page{max-width:1000px;margin:0 auto}.history-filters-card{margin-bottom:var(--spacing-lg)}.history-summary{background:linear-gradient(135deg,var(--primary-bg) 0%,var(--background-primary) 100%);border:1px solid var(--primary-color)}.history-summary h3{color:var(--primary-color);margin-bottom:var(--spacing-md)}.date-group{margin-bottom:var(--spacing-lg)}.date-group-header{background-color:var(--background-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);border-left:4px solid var(--primary-color)}.date-group-header h3{margin:0;color:var(--text-primary);font-size:1.2rem}.date-summary{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--spacing-xs)}.nutrition-progress-bar{margin-bottom:var(--spacing-md)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.progress-label{font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.progress-values{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:500}.progress-bar-container{width:100%;height:24px;background-color:var(--background-secondary);border-radius:var(--border-radius);overflow:hidden;position:relative}.progress-bar{height:100%;display:flex;align-items:center;justify-content:center;transition:width .3s ease;color:#fff;font-size:var(--font-size-xs);font-weight:600}.progress-bar-primary{background-color:var(--primary-color)}.progress-bar-success{background-color:var(--success-color)}.progress-bar-warning{background-color:var(--warning-color)}.progress-bar-danger{background-color:var(--error-color)}.progress-text{font-size:var(--font-size-xs);font-weight:600}.progress-warning{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--error-color);font-weight:500}.nutrition-goals-grid{display:grid;gap:var(--spacing-md)}@media (min-width: 768px){.nutrition-goals-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.quick-actions-grid{grid-template-columns:1fr}.quick-action-item{flex-direction:column;text-align:center;gap:var(--spacing-sm);margin-right:var(--spacing-small)}.dashboard-summary-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.summary-card .summary-value{font-size:1.5rem}.app-card,.form-input-group{margin-right:var(--spacing-small)}.button-group.horizontal{gap:var(--spacing-small);margin-right:var(--spacing-small)}}@media (max-width: 480px){.dashboard-summary-grid{grid-template-columns:1fr}.quick-action-item,.app-card,.form-input-group{margin-right:var(--spacing-medium)}}.main-navbar{display:flex;justify-content:space-between;align-items:center;padding:0}.main-navbar-left-group{display:flex;align-items:center;gap:2rem}.main-navbar-right-group,.desktop-nav{display:flex;align-items:center;gap:1rem}.desktop-nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:1rem}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:5px;z-index:1001}.hamburger-line{width:25px;height:3px;background-color:var(--app-text-color);margin:3px 0;transition:all .3s ease;border-radius:2px}.hamburger-line.active:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-line.active:nth-child(2){opacity:0}.hamburger-line.active:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:998;opacity:0;transition:opacity .3s ease}.mobile-menu-overlay.active{display:block;opacity:1}.mobile-menu{display:block;position:fixed;top:-100vh;left:0;width:100vw;height:100vh;background:var(--surface-bg-color);box-shadow:0 2px 10px #0000001a;transition:top .3s ease;z-index:999;padding:80px 0 20px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.mobile-menu ul{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}.mobile-menu.active{top:0}.mobile-nav-links{list-style:none!important;padding:0!important;max-width:400px;margin:0 auto!important;display:flex!important;flex-direction:column!important;width:100%;align-items:stretch!important;gap:0!important}.mobile-nav-links li{margin:0!important;width:100%;display:block!important;flex:none!important}.mobile-nav-links a{display:block!important;padding:18px 25px;color:var(--app-text-color);text-decoration:none;font-size:18px;font-weight:500;border-bottom:1px solid var(--surface-border-color);transition:all .2s ease;text-align:center;width:100%;box-sizing:border-box}.mobile-nav-links a:hover,.mobile-nav-links a.active{background:var(--nav-link-bg-color-hover);color:var(--nav-link-text-color-hover)}.mobile-nav-actions{padding:30px 25px 20px;border-top:2px solid var(--surface-border-color);margin-top:20px;max-width:400px;margin-left:auto;margin-right:auto}.mobile-theme-btn,.mobile-auth-btn{width:100%;margin-bottom:10px;justify-content:center;gap:8px}.mobile-theme-btn{display:flex;align-items:center}.mobile-theme-btn span{font-size:14px}@media (min-width: 769px){.mobile-menu-toggle,.mobile-menu,.mobile-menu-overlay{display:none!important}.desktop-nav{display:flex!important}}@media (max-width: 768px){.desktop-nav{display:none!important}.mobile-menu-toggle{display:flex!important}.mobile-menu{display:block}.main-navbar-left-group ul,.main-navbar-right-group .desktop-nav{display:none}.logo{font-size:1.5rem}.container,.main-content,.page-container{padding-left:var(--spacing-medium);padding-right:var(--spacing-large)}}.input-method-selection{margin-bottom:var(--spacing-large)}.input-method-selection h3{margin-bottom:var(--spacing-medium);color:var(--app-text-color);font-size:1.25rem;font-weight:600}.input-method-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-medium);margin-top:var(--spacing-medium)}.input-method-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-large) var(--spacing-medium);min-height:120px;border:2px solid var(--surface-border-color);border-radius:var(--border-radius-large);background:var(--surface-bg-color);color:var(--app-text-color);font-size:1.1rem;font-weight:500;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:var(--box-shadow-medium);opacity:1;visibility:visible}.input-method-btn:hover{border-color:var(--interactive-primary-bg);background:var(--interactive-secondary-bg-hover);transform:translateY(-2px);box-shadow:var(--box-shadow-large)}.input-method-btn.active{border-color:var(--interactive-primary-bg);background:var(--interactive-primary-bg);color:var(--interactive-primary-text);box-shadow:0 4px 16px rgba(var(--interactive-focus-ring-color-rgb),.3)}.input-method-btn.active small{opacity:.9}.nutrient-graph-card{background:linear-gradient(135deg,var(--primary-bg) 0%,var(--background-primary) 100%);border:2px solid var(--primary-color);margin-bottom:var(--spacing-lg)}.nutrient-graph-card .app-card-header{background-color:#4f46e51a;border-bottom:1px solid var(--primary-color)}.nutrient-graph-card .app-card-header h2{color:var(--primary-color);display:flex;align-items:center;gap:var(--spacing-sm)}.nutrient-graph-card .app-card-header h2:before{content:"📊";font-size:1.2rem}.nutrient-bar-graph{width:100%;max-width:100%;background:var(--background-primary);border-radius:var(--border-radius);overflow:hidden}.bar-graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.bar-graph-header h3{margin:0;color:var(--color-text);font-size:1.1rem;font-weight:600}.graph-legend{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.85rem;color:var(--color-text-muted)}.legend-color{width:12px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.1)}.legend-color.calories{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.legend-color.protein{background:linear-gradient(135deg,#4ecdc4,#00d2d3)}.legend-color.carbs{background:linear-gradient(135deg,#45b7d1,#3742fa)}.legend-color.fat{background:linear-gradient(135deg,#ffa726,#ff7043)}.bar-graph-container{display:flex;align-items:flex-end;min-height:200px;max-height:300px;margin:var(--spacing-md) 0;padding:var(--spacing-sm);background:linear-gradient(180deg,rgba(79,70,229,.03) 0%,transparent 100%);border-radius:var(--border-radius);border:1px solid var(--border-color);position:relative;overflow-x:auto;overflow-y:visible}.bar-graph-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:180px;margin-right:var(--spacing-sm);min-width:40px}.y-axis-labels{display:flex;flex-direction:column;justify-content:space-between;height:100%}.y-label{font-size:.75rem;color:var(--color-text-muted);text-align:right;padding-right:var(--spacing-xs)}.bar-graph-content{display:flex;gap:var(--spacing-sm);align-items:flex-end;height:180px;flex:1;min-width:0;padding-bottom:var(--spacing-xs)}.bar-group{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:60px;flex-shrink:0}.bars-container{display:flex;align-items:flex-end;height:160px;width:100%}.bar-set{display:flex;gap:2px;align-items:flex-end;height:100%;width:100%;justify-content:center}.nutrient-bar{position:relative;min-height:4px;border-radius:3px 3px 0 0;transition:all .3s ease;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;flex:1;max-width:12px;opacity:.9;box-shadow:0 2px 4px #0000001a}.nutrient-bar:hover{opacity:1;transform:scaleY(1.05);box-shadow:0 4px 8px #00000026}.nutrient-bar.calories-bar{background:linear-gradient(180deg,#ff6b6b,#ee5a24)}.nutrient-bar.protein-bar{background:linear-gradient(180deg,#4ecdc4,#00d2d3)}.nutrient-bar.carbs-bar{background:linear-gradient(180deg,#45b7d1,#3742fa)}.nutrient-bar.fat-bar{background:linear-gradient(180deg,#ffa726,#ff7043)}.bar-value{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:.7rem;font-weight:600;color:var(--color-text);opacity:0;transition:opacity .3s ease;white-space:nowrap;background:var(--background-primary);padding:2px 4px;border-radius:2px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a}.nutrient-bar:hover .bar-value{opacity:1}.bar-date{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin-top:var(--spacing-xs);writing-mode:horizontal-tb;white-space:nowrap}.graph-summary{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:#4f46e50d;border-radius:var(--border-radius);border:1px solid rgba(79,70,229,.1)}.summary-stats{display:flex;justify-content:space-between;gap:var(--spacing-xs);flex-wrap:nowrap}.stat-item{display:flex;justify-content:flex-start;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--background-primary);border-radius:var(--border-radius);border:1px solid var(--border-color);flex:1;min-width:0;gap:var(--spacing-xs)}.stat-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500;white-space:nowrap}.stat-value{font-size:.85rem;color:var(--color-text);font-weight:600;white-space:nowrap}@media (max-width: 768px){.bar-graph-header{flex-direction:column;align-items:flex-start}.graph-legend{justify-content:center;width:100%}.bar-graph-container{min-height:150px;max-height:200px}.bar-graph-content{height:130px}.bars-container{height:110px}.bar-group{min-width:45px}.nutrient-bar{max-width:8px}.summary-stats{flex-wrap:wrap;gap:calc(var(--spacing-xs) / 2)}.stat-item{flex:0 1 calc(50% - calc(var(--spacing-xs) / 4));min-width:0}}@media (max-width: 480px){.bar-group{min-width:35px}.nutrient-bar{max-width:6px}.bar-date{font-size:.65rem;transform:rotate(-45deg);margin-top:var(--spacing-sm)}.legend-item{font-size:.8rem}.summary-stats{flex-direction:column;gap:calc(var(--spacing-xs) / 2)}.stat-item{flex:none;width:100%}.container{padding-left:var(--spacing-small);padding-right:var(--spacing-extra-large)}}.voice-input-container{width:100%}.voice-input-controls{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.btn.recording{background:linear-gradient(135deg,var(--color-danger),var(--color-danger-darker))!important;border-color:var(--color-danger)!important;animation:pulse 1.5s infinite}.btn.recording:hover{background:linear-gradient(135deg,var(--color-danger-darker),var(--color-danger-darker))!important;border-color:var(--color-danger-darker)!important}@keyframes pulse{0%{box-shadow:0 0 #dc3545b3}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 #dc354500}}.voice-status{font-size:.9rem;color:var(--color-text-muted);text-align:center}.voice-transcript{background:var(--background-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:.9rem;color:var(--color-text);text-align:center;max-width:100%;word-wrap:break-word}.voice-input-error{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--border-radius);padding:var(--spacing-sm);text-align:center;color:var(--color-danger);font-size:.9rem}.goal-explanation{margin:1rem 0}.goal-explanation .alert{border-left:4px solid;padding:1rem 1.5rem;margin-bottom:1rem}.goal-explanation .alert-success{background-color:#f0f9f0;border-left-color:#10b981;color:#065f46}.goal-explanation .alert-primary{background-color:#eff6ff;border-left-color:#3b82f6;color:#1e40af}.goal-explanation .alert-warning{background-color:#fefce8;border-left-color:#f59e0b;color:#92400e}.goal-explanation .alert-info{background-color:#f0f9ff;border-left-color:#06b6d4;color:#0c4a6e}.calculation-breakdown{margin-top:1rem;padding:1rem;background:#ffffff80;border-radius:.5rem;border:1px solid rgba(0,0,0,.1)}.calculation-breakdown p{margin:.5rem 0;font-weight:600}.calculation-breakdown ul{margin:.5rem 0;padding-left:1.5rem}.calculation-breakdown li{margin:.25rem 0;font-size:.9rem}.auto-populate-section{margin:1rem 0;padding:1rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:.75rem;border:1px solid #cbd5e1;text-align:center}.auto-populate-section .btn{margin-bottom:.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;padding:.75rem 1.5rem;font-weight:600;text-transform:none;letter-spacing:.025em}.auto-populate-section .btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.auto-populate-section .form-help-text{color:#64748b;font-size:.875rem;font-style:italic}.daily-goals-section h4{color:var(--app-text-color);margin-bottom:.5rem}.section-subtitle{color:var(--app-text-color-secondary);font-size:.9rem;margin-bottom:1rem;font-style:italic}.auth-subtitle{color:var(--text-secondary);font-size:.95rem;margin-top:.5rem;margin-bottom:0;line-height:1.4}.auth-submit{font-size:1.1rem;font-weight:600;padding:.875rem 1.5rem;margin-top:.5rem}.signup-benefits{background:var(--primary-background, var(--bg-secondary));border-radius:12px;padding:1rem;margin:1.5rem 0;border:1px solid var(--primary-color)}.signup-benefits h4{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem;font-weight:600}.signup-benefits ul{margin:0;padding-left:1rem;list-style:none}.signup-benefits li{margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;position:relative}.signup-benefits li:last-child{margin-bottom:0}.auth-toggle{font-size:.95rem!important;font-weight:500!important;padding:.75rem 1rem!important}.auth-note{text-align:center;margin-top:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.auth-note small{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.auth-page{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover, var(--primary-color)) 100%);min-height:100vh}.auth-card{max-width:450px;width:100%;box-shadow:0 20px 60px #0000001a;border:none}[data-theme=dark] .auth-page{background:linear-gradient(135deg,var(--primary-color) 0%,#2D3748 100%)}[data-theme=dark] .auth-card{box-shadow:0 20px 60px #0000004d}@media (max-width: 768px){.auth-card{margin:1rem;max-width:none}.signup-benefits{margin:1rem 0;padding:.875rem}.signup-benefits h4{font-size:.95rem}.signup-benefits li{font-size:.85rem}}.welcome-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover, var(--primary-color)) 100%);color:#fff;border:none;margin-bottom:2rem}.welcome-card h2{color:#fff;margin-bottom:1rem;font-size:1.75rem}.welcome-card p{color:#ffffffe6;font-size:1.1rem;margin-bottom:1.5rem;line-height:1.5}.welcome-benefits{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.benefit-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.benefit-icon{font-size:2rem;display:block}.benefit-item span:last-child{font-size:.9rem;color:#ffffffe6;font-weight:500}@media (max-width: 768px){.welcome-benefits{gap:1.5rem}.welcome-card h2{font-size:1.5rem}.welcome-card p{font-size:1rem}.benefit-icon{font-size:1.75rem}.benefit-item span:last-child{font-size:.85rem}}[data-theme=dark] .welcome-card{background:linear-gradient(135deg,var(--primary-color) 0%,#2D3748 100%)}.first-time-welcome{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover, var(--primary-color)) 100%);color:#fff;border:none;margin-bottom:2rem}.first-time-welcome h2{color:#fff;margin-bottom:1rem;font-size:1.75rem}.first-time-welcome p{color:#ffffffe6;font-size:1.1rem;margin-bottom:1.5rem}.welcome-time-greeting{font-size:1.1em;color:var(--primary-color);font-weight:600;margin-bottom:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-color-light),var(--accent-color-light));border-radius:var(--border-radius);border:1px solid var(--primary-color)}.welcome-steps{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.welcome-step{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff1a;border-radius:12px;text-align:left}.step-number{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#fff3;border-radius:50%;font-weight:700;font-size:1.1rem;flex-shrink:0}.step-text{color:#fffffff2;font-size:1rem;font-weight:500}.encouragement{color:#ffffffe6!important;font-size:1.1rem!important;font-weight:600;margin-bottom:0!important}@media (max-width: 768px){.first-time-welcome h2{font-size:1.5rem}.first-time-welcome p{font-size:1rem}.welcome-steps{gap:.75rem;margin:1.5rem 0}.welcome-step{padding:.625rem}.step-number{width:2rem;height:2rem;font-size:1rem}.step-text{font-size:.9rem}.encouragement{font-size:1rem!important}}[data-theme=dark] .first-time-welcome{background:linear-gradient(135deg,var(--primary-color) 0%,#2D3748 100%)}.first-time-welcome .welcome-time-greeting{font-size:1.1em;color:var(--primary-color);font-weight:600;margin-bottom:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-color-light),var(--accent-color-light));border-radius:var(--border-radius);border:1px solid var(--primary-color)}.smart-suggestions{margin:1.5rem 0;padding:1rem;background:linear-gradient(135deg,#f8f9ff,#fff8f0);border-radius:var(--border-radius);border:1px solid var(--border-color);text-align:left}.smart-suggestions h4{color:var(--text-color);margin-bottom:.75rem;font-size:1em;display:flex;align-items:center;gap:.5rem}.tip-list{list-style:none;padding:0;margin:0}.nutrition-tip{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.9em;color:var(--text-muted);line-height:1.4}.tip-icon{font-size:.8em;margin-top:.1rem;flex-shrink:0}.meal-type-selection{margin:1.5rem 0}.meal-type-selection h4{margin-bottom:1rem;color:var(--text-color);font-size:1.1em}.meal-type-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.meal-type-btn{padding:.75rem 1rem;border:2px solid var(--border-color);background:var(--card-bg);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;font-size:.9em;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-color);min-height:48px}.meal-type-btn:hover{border-color:var(--primary-color);background:var(--primary-color-light);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.meal-type-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff;font-weight:600;box-shadow:0 2px 12px rgba(var(--primary-color-rgb),.3)}.meal-type-btn.active:hover{background:var(--primary-color-dark);border-color:var(--primary-color-dark)}.success-message{animation:celebrateSlide .5s ease-out}@keyframes celebrateSlide{0%{transform:translateY(-20px) scale(.95);opacity:0}50%{transform:translateY(5px) scale(1.02)}to{transform:translateY(0) scale(1);opacity:1}}.nutrition-suggestion-card{background:linear-gradient(135deg,#fff9f0,#f0fff4);border:1px solid #e6f3e6;border-radius:var(--border-radius);padding:1rem;margin:1rem 0}.nutrition-suggestion-card h5{color:var(--success-color);margin-bottom:.5rem;font-size:.9em;display:flex;align-items:center;gap:.5rem}.nutrition-suggestion-card p{font-size:.85em;color:var(--text-muted);margin:0;line-height:1.4}@media (max-width: 768px){.smart-suggestions{margin:1rem 0;padding:.75rem}.smart-suggestions h4{font-size:.95em}.nutrition-tip{font-size:.85em}.meal-type-buttons{grid-template-columns:repeat(2,1fr);gap:.5rem}.meal-type-btn{padding:.6rem .75rem;font-size:.85em;min-height:44px}.welcome-time-greeting{font-size:1em!important;padding:.4rem .75rem!important}}@media (prefers-color-scheme: dark){.smart-suggestions{background:linear-gradient(135deg,#1a1d29,#1f1a29);border-color:var(--border-color-dark)}.nutrition-suggestion-card{background:linear-gradient(135deg,#1f2937,#1a2e1a);border-color:#374151}.first-time-welcome .welcome-time-greeting{background:linear-gradient(135deg,var(--primary-color-dark),var(--accent-color-dark));border-color:var(--primary-color-dark);color:#fff}}.main-content{flex-grow:1;background-color:var(--app-bg-color);color:var(--app-text-color);padding-top:var(--spacing-large);padding-bottom:var(--spacing-super-large);width:100%}.app-card{background-color:var(--surface-bg-color);border-radius:var(--border-radius-large);padding:var(--spacing-large);box-shadow:var(--box-shadow-medium);margin-bottom:var(--spacing-large);border:1px solid var(--surface-border-color)}.app-card-header{font-size:1.5rem;font-weight:600;color:var(--heading-text-color);margin-bottom:var(--spacing-medium);padding-bottom:var(--spacing-medium);border-bottom:1px solid var(--surface-border-color);display:flex;align-items:center;justify-content:space-between}.page-container{max-width:960px;margin-left:auto;margin-right:auto;padding-left:var(--spacing-medium);padding-right:var(--spacing-medium)}.hero-section{background-color:var(--surface-bg-color);padding:var(--spacing-super-large) 0;border-bottom:1px solid var(--surface-border-color)}.hero-content h1{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-medium)}@media (min-width: 768px){.hero-content h1{font-size:3rem}}.how-it-works-section{padding:var(--spacing-super-large) 0}.how-it-works-section h2{margin-bottom:var(--spacing-large)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-large);margin-top:var(--spacing-large)}.step.app-card{text-align:center}.step h3{font-size:1.25rem;margin-top:var(--spacing-medium);margin-bottom:var(--spacing-small);color:var(--heading-text-color)}.image-preview-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-medium);padding:var(--spacing-medium);background-color:var(--app-bg-color);border-radius:var(--border-radius-medium);border:1px dashed var(--surface-border-color)}.image-preview{max-width:100%;max-height:300px;border-radius:var(--border-radius-small);object-fit:contain}.nutrition-results,.edit-nutrition-form,.logged-foods-section{margin-top:var(--spacing-large)}.form-input-group{margin-bottom:var(--spacing-medium)}.form-input-group label{display:block;font-weight:500;margin-bottom:var(--spacing-small);color:var(--app-text-color-secondary)}.input-with-button{display:flex;gap:var(--spacing-small);align-items:center}.input-with-button input[type=file]{flex-grow:1}.logged-food-item{padding:var(--spacing-medium) 0;border-bottom:1px solid var(--surface-border-color);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-medium)}.logged-food-item:last-child{border-bottom:none;padding-bottom:0}.logged-food-details p{margin:0 0 var(--spacing-extra-small) 0;font-size:.9rem}.logged-food-details strong{color:var(--app-text-color)}.logged-food-actions .btn{margin-left:var(--spacing-small)}.profile-form-section{display:flex;flex-direction:column;gap:var(--spacing-large)}.profile-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-small) var(--spacing-medium);align-items:center}@media (min-width: 768px){.profile-row{grid-template-columns:150px 1fr}.profile-label{text-align:right}}.profile-label{font-weight:500;color:var(--app-text-color-secondary)}.profile-value{font-size:1rem;color:var(--app-text-color);padding:var(--spacing-small) 0}.alert{padding:var(--spacing-medium);border-radius:var(--border-radius-medium);margin-bottom:var(--spacing-medium);border:1px solid transparent;font-size:.95rem}.alert-success{background-color:var(--success-state-bg);color:var(--success-state-text);border-color:var(--color-success)}.alert-danger{background-color:var(--error-state-bg);color:var(--error-state-text);border-color:var(--color-danger)}.alert-info{background-color:var(--info-state-bg);color:var(--info-state-text);border-color:var(--color-accent-primary)}.history-filters{background-color:var(--surface-bg-color);padding:var(--spacing-medium);border-radius:var(--border-radius-medium);margin-bottom:var(--spacing-large);box-shadow:var(--box-shadow-small);display:flex;flex-wrap:wrap;gap:var(--spacing-medium);align-items:center}.history-filters .form-input-group{margin-bottom:0;flex-grow:1}.history-timeline{display:flex;flex-direction:column;gap:var(--spacing-large)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-large)}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-small) 0;border-bottom:1px solid var(--surface-border-color)}.summary-item:last-child{border-bottom:none}.summary-item-label{color:var(--app-text-color-secondary)}.summary-item-value{font-weight:600;color:var(--app-text-color)}.quick-actions-list{display:flex;flex-direction:column;gap:var(--spacing-medium)}.app-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-medium);font-size:.9rem}.app-table th,.app-table td{text-align:left;padding:var(--spacing-small) var(--spacing-medium);border-bottom:1px solid var(--surface-border-color)}.app-table th{background-color:var(--app-bg-color);font-weight:600;color:var(--app-text-color-muted);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.app-table tbody tr:hover{background-color:var(--surface-border-color-hover)}.loading-spinner-container{display:flex;justify-content:center;align-items:center;padding:var(--spacing-extra-large);min-height:200px}.spinner{border:4px solid var(--surface-border-color);border-top:4px solid var(--interactive-primary-bg);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:var(--spacing-extra-large);background-color:var(--surface-bg-color);border-radius:var(--border-radius-large);border:1px dashed var(--surface-border-color);color:var(--app-text-color-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-medium);opacity:.5}.empty-state h4{color:var(--heading-text-color)}.main-navbar{display:flex;justify-content:space-between;align-items:center;width:100%}.main-navbar-left-group{display:flex;align-items:center;gap:1rem}.main-navbar-right-group{display:flex;align-items:center;gap:.75rem;margin-left:auto}.btn-icon{background-color:transparent;border:none;color:var(--interactive-secondary-text);padding:.5rem;border-radius:var(--border-radius-medium);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,color .2s}.btn-icon:hover{background-color:var(--interactive-secondary-bg-hover);color:var(--interactive-secondary-text-hover)}.btn-icon:focus,.btn-icon:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--interactive-focus-ring-color-rgb),.3)}.smart-guide{background:var(--surface-primary-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-medium);padding:var(--spacing-medium);transition:all .3s ease;box-shadow:var(--shadow-subtle)}.smart-guide.compact{padding:var(--spacing-small);background:var(--surface-secondary-color)}.guide-compact-content{display:flex;align-items:center;gap:var(--spacing-small)}.guide-icon-small{font-size:1rem;color:var(--app-text-color-secondary);width:20px;text-align:center}.guide-quick-tip{flex:1;font-size:.875rem;color:var(--app-text-color-secondary)}.guide-actions{display:flex;gap:var(--spacing-extra-small)}.guide-help-btn,.guide-video-btn{padding:2px 4px;font-size:.75rem;color:var(--app-text-color-secondary);opacity:.7;transition:opacity .2s ease}.guide-help-btn:hover,.guide-video-btn:hover{opacity:1;color:var(--color-interactive-blue)}.smart-guide.minimal{padding:var(--spacing-small) var(--spacing-medium)}.guide-minimal-content{display:flex;align-items:center;gap:var(--spacing-medium)}.guide-step-title{flex:1;font-weight:600;color:var(--app-text-color)}.guide-expand-btn{padding:var(--spacing-extra-small);color:var(--app-text-color-secondary);transition:color .2s ease}.guide-expand-btn:hover{color:var(--color-interactive-blue)}.smart-guide.expanded{padding:var(--spacing-medium)}.guide-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-medium)}.guide-title-section{display:flex;align-items:center;gap:var(--spacing-small)}.guide-icon{font-size:1.5rem;width:30px;text-align:center}.guide-header h3{margin:0;color:var(--heading-text-color);font-size:1.125rem}.guide-header-actions{display:flex;gap:var(--spacing-small);align-items:center}.guide-collapse-btn,.guide-dismiss-btn{padding:var(--spacing-extra-small);color:var(--app-text-color-secondary);transition:color .2s ease}.guide-collapse-btn:hover,.guide-dismiss-btn:hover{color:var(--color-interactive-blue)}.guide-content{margin-top:var(--spacing-small)}.guide-quick-tip-section{display:flex;align-items:center;gap:var(--spacing-small);padding:var(--spacing-small);background:var(--surface-secondary-color);border-radius:var(--border-radius-small);margin-bottom:var(--spacing-medium)}.guide-quick-tip-section i{color:var(--color-interactive-orange);font-size:.875rem}.guide-quick-tip-section span{font-weight:500;color:var(--app-text-color)}.guide-detailed-tips{list-style:none;padding:0;margin:0}.guide-detailed-tips li{display:flex;align-items:flex-start;gap:var(--spacing-small);margin-bottom:var(--spacing-small);font-size:.875rem;line-height:1.4}.guide-detailed-tips li:last-child{margin-bottom:0}.guide-detailed-tips i{color:var(--color-interactive-green);font-size:.75rem;margin-top:2px;flex-shrink:0}.video-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-medium)}.video-modal{background:var(--surface-primary-color);border-radius:var(--border-radius);max-width:800px;width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-strong)}.video-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-medium);border-bottom:1px solid var(--surface-border-color)}.video-modal-header h4{margin:0;color:var(--heading-text-color)}.video-close-btn{padding:var(--spacing-small);color:var(--app-text-color-secondary);font-size:1.25rem;transition:color .2s ease}.video-close-btn:hover{color:var(--color-interactive-red)}.video-container{position:relative;width:100%;height:0;padding-bottom:56.25%}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-modal-footer{padding:var(--spacing-medium);border-top:1px solid var(--surface-border-color);background:var(--surface-secondary-color)}.video-modal-footer p{margin:0;text-align:center}@media (max-width: 768px){.guide-header{flex-direction:column;gap:var(--spacing-small);align-items:flex-start}.guide-header-actions{width:100%;justify-content:space-between}.guide-minimal-content{flex-wrap:wrap;gap:var(--spacing-small)}.video-modal{margin:var(--spacing-small);max-height:95vh}.video-modal-overlay{padding:var(--spacing-small)}}.smart-guide{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.smart-guide.compact:hover{background:var(--surface-hover-color)}.smart-guide.minimal:hover{box-shadow:var(--shadow-medium)}.food-source-badge{margin-top:var(--spacing-small)}.source-badge{display:inline-block;padding:2px 8px;border-radius:var(--border-radius-small);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.badge-uk{background-color:var(--color-accent-primary);color:var(--color-text-on-interactive);border:1px solid var(--color-accent-primary-darker)}.badge-fatsecret{background-color:var(--color-success);color:var(--color-text-on-interactive);border:1px solid var(--color-success-darker)}.correction-result-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-medium);border:1px solid var(--surface-border-color);border-radius:var(--border-radius-medium);margin-bottom:var(--spacing-small);background-color:var(--surface-bg-color);transition:all .2s ease}.correction-result-item:hover{background-color:var(--surface-hover-color);border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.result-info{flex-grow:1;margin-right:var(--spacing-medium)}.result-info strong{color:var(--heading-text-color);display:block;margin-bottom:var(--spacing-small)}.correction-results-list{list-style:none;padding:0;margin:var(--spacing-medium) 0}.portion-selector{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:16px;margin:12px 0;box-shadow:0 2px 8px #0000000f;transition:all .2s ease}.portion-selector:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.portion-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.portion-selector-label{font-weight:600;color:#374151;font-size:14px;margin:0}.mode-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:2px;gap:2px}.mode-btn{padding:6px 12px;border:none;background:transparent;color:#6b7280;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.mode-btn:hover{color:#374151;background:#ffffff80}.mode-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 4px #3b82f633}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.portion-selector-content{margin-bottom:12px}.portion-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.portion-btn{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border:2px solid #e5e7eb;border-radius:10px;background:#fafafa;cursor:pointer;transition:all .2s ease;text-align:center;min-height:80px;justify-content:center}.portion-btn:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f61a}.portion-btn.selected{border-color:#3b82f6;background:#dbeafe;box-shadow:0 0 0 3px #3b82f61a}.portion-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.portion-name{font-weight:600;color:#374151;font-size:13px;margin-bottom:2px}.portion-weight{font-size:11px;color:#6b7280;font-weight:500;margin-bottom:4px}.portion-description{font-size:10px;color:#9ca3af;line-height:1.3;max-width:120px}.weight-input-section{display:flex;flex-direction:column;gap:12px}.weight-input-group{display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;transition:border-color .2s ease}.weight-input-group:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.weight-input{flex:1;border:none;background:transparent;font-size:14px;font-weight:500;color:#374151;padding:4px 0;min-width:60px}.weight-input:focus{outline:none}.weight-input:disabled{opacity:.5}.weight-unit{font-size:12px;color:#6b7280;font-weight:500;min-width:40px}.weight-update-btn{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.weight-update-btn:hover{background:#2563eb;transform:translateY(-1px)}.weight-update-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.quick-portions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quick-portions-label{font-size:11px;color:#6b7280;font-weight:500;margin-right:4px}.quick-portion-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:4px 8px;font-size:11px;color:#374151;cursor:pointer;transition:all .2s ease;font-weight:500}.quick-portion-btn:hover{background:#e5e7eb;border-color:#9ca3af}.quick-portion-btn:disabled{opacity:.5;cursor:not-allowed}.quick-portion-btn.estimated-portion{background:#3b82f6;color:#fff;border-color:#2563eb;font-weight:600;box-shadow:0 2px 4px #3b82f633}.quick-portion-btn.estimated-portion:hover{background:#2563eb;border-color:#1d4ed8;box-shadow:0 3px 6px #3b82f64d}.portion-selector-footer{border-top:1px solid #f3f4f6;padding-top:12px}.current-selection{font-size:12px;color:#6b7280;text-align:center}.current-selection strong{color:#374151;font-weight:600}.selected-portion-info{color:#3b82f6;font-weight:500}@media (max-width: 640px){.portion-selector-header{flex-direction:column;gap:12px;align-items:flex-start}.portion-options{grid-template-columns:1fr 1fr}.weight-input-group{flex-wrap:wrap;gap:6px}.quick-portions{justify-content:center}}@media (max-width: 480px){.portion-selector{padding:12px}.portion-options{grid-template-columns:1fr}.portion-btn{min-height:60px;padding:8px}}@media (prefers-color-scheme: dark){.portion-selector{background:#1f2937;border-color:#374151}.portion-selector-label{color:#f9fafb}.mode-toggle{background:#374151}.mode-btn{color:#d1d5db}.mode-btn:hover{color:#f9fafb;background:#ffffff1a}.portion-btn{background:#374151;border-color:#4b5563;color:#f9fafb}.portion-btn:hover{background:#4b5563;border-color:#3b82f6}.portion-btn.selected{background:#1e40af;border-color:#3b82f6}.weight-input-group{background:#374151;border-color:#4b5563}.weight-input{color:#f9fafb}.current-selection{color:#d1d5db}.current-selection strong{color:#f9fafb}}.meal-type-selection{margin:1.5rem 0;padding:1rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.meal-type-selection h4{margin-bottom:1rem;color:#333;text-align:center;font-weight:600}.meal-type-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;max-width:500px;margin:0 auto}.meal-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .5rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:60px}.meal-type-btn:hover{border-color:#4caf50;background:#f8f9fa;transform:translateY(-2px);box-shadow:0 2px 8px #4caf5033}.meal-type-btn.active{border-color:#4caf50;background:#4caf50;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}.meal-type-btn:active{transform:translateY(0);box-shadow:0 1px 4px #4caf5033}@media (max-width: 480px){.meal-type-buttons{grid-template-columns:repeat(2,1fr);gap:.5rem}.meal-type-btn{padding:.6rem .4rem;font-size:.8rem;min-height:50px}}@media (prefers-color-scheme: dark){.meal-type-selection{border-color:#444}.meal-type-selection h4{color:#e0e0e0}.meal-type-btn{background:#2a2a2a;border-color:#444;color:#ccc}.meal-type-btn:hover{background:#3a3a3a;border-color:#4caf50}.meal-type-btn.active{background:#4caf50;color:#fff}}.logged-foods-by-meal-type{margin-top:1.5rem}.meal-type-section{margin-bottom:2rem}.meal-type-header{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.meal-type-header h3{display:flex;align-items:center;gap:.5rem;margin:0;color:#333;font-size:1.25rem;font-weight:600}.meal-icon{font-size:1.5rem}.meal-total-calories{font-size:.9rem;color:#666;font-weight:400;margin-left:auto}.food-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.food-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.food-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.food-card-content{padding:1rem}.food-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.food-thumbnail{width:50px;height:50px;background:linear-gradient(135deg,#4caf50,#81c784);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0}.food-info{flex:1;min-width:0}.food-name{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.food-calories{font-size:1.1rem;font-weight:600;color:#4caf50;margin-bottom:.1rem}.food-amount{font-size:.8rem;color:#666}.food-macros{display:flex;gap:.75rem;margin-bottom:1rem;padding:.5rem;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.macro-item{display:flex;align-items:center;gap:.25rem;font-size:.85rem}.macro-label{font-weight:600;color:#666}.macro-value{font-weight:500;color:#333}.food-card-actions{display:flex;gap:.5rem;justify-content:flex-end}.food-card-actions .btn{padding:.4rem .8rem;font-size:.85rem;border-radius:6px;display:flex;align-items:center;gap:.25rem}@media (max-width: 768px){.food-cards-grid{grid-template-columns:1fr;gap:.75rem}.food-card-header{gap:.5rem}.food-thumbnail{width:40px;height:40px;font-size:1.2rem}.food-name{font-size:.9rem}.food-calories{font-size:1rem}.food-macros{gap:.5rem;flex-wrap:wrap}.macro-item{font-size:.8rem}.food-card-actions .btn{padding:.3rem .6rem;font-size:.8rem}}@media (prefers-color-scheme: dark){.meal-type-header{border-color:#444}.meal-type-header h3{color:#e0e0e0}.meal-total-calories{color:#ccc}.food-card{background:#2a2a2a;border-color:#444}.food-name{color:#e0e0e0}.food-amount{color:#ccc}.food-macros{background:#333}.macro-label{color:#ccc}.macro-value{color:#e0e0e0}}.daily-log-card{background:#fff;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 12px #0000001a;overflow:hidden;margin-top:2rem}.daily-log-header{background:linear-gradient(135deg,#4caf50,#81c784);color:#fff;padding:1.5rem;position:relative}.daily-log-header h2{margin:0;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.daily-log-date-icon{font-size:1.8rem}.date-selector-section{background:#f8f9fa;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.date-selector-group{margin:0;display:flex;align-items:center;gap:1rem}.date-selector-group label{margin:0;font-weight:500;color:#555;white-space:nowrap}.date-selector-group .form-input{max-width:200px;margin:0}.daily-summary{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:1.5rem;border-bottom:1px solid #e0e0e0}.daily-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.daily-summary-title{margin:0;font-size:1.2rem;font-weight:600;color:#333;display:flex;align-items:center;gap:.5rem}.summary-icon{font-size:1.4rem}.daily-totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1rem}.total-item{background:#fff;padding:1rem;border-radius:12px;text-align:center;border:1px solid #e0e0e0;transition:all .2s ease}.total-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.total-item-icon{font-size:1.5rem;margin-bottom:.5rem;display:block}.total-item-value{font-size:1.4rem;font-weight:700;color:#4caf50;margin-bottom:.25rem;display:block}.total-item-label{font-size:.85rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.macro-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}.macro-breakdown-item{background:#fff;padding:.75rem;border-radius:8px;text-align:center;border:1px solid #e0e0e0}.macro-breakdown-value{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.25rem}.macro-breakdown-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.nutrition-progress{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.progress-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.progress-label{font-size:.9rem;font-weight:500;color:#555}.progress-value{font-size:.9rem;font-weight:600;color:#4caf50}.progress-bar{width:100%;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden;margin-top:.25rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#81c784);border-radius:3px;transition:width .3s ease}.logged-foods-by-meal-type{padding:1.5rem}.meal-type-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.meal-type-header{background:#fff;padding:1rem 1.5rem;margin-bottom:0;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between}.meal-type-header h3{margin:0;font-size:1.1rem;font-weight:600}.meal-section-content{padding:1rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:#666}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-state p{margin:0;font-size:1.1rem}@media (max-width: 768px){.daily-log-header{padding:1rem}.daily-log-header h2{font-size:1.3rem}.date-selector-section{padding:.75rem 1rem}.date-selector-group{flex-direction:column;align-items:stretch;gap:.5rem}.daily-summary{padding:1rem}.daily-totals-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.total-item{padding:.75rem}.total-item-value{font-size:1.2rem}.macro-breakdown{grid-template-columns:1fr;gap:.5rem}.logged-foods-by-meal-type{padding:1rem}.meal-type-header{padding:.75rem 1rem}.meal-section-content{padding:.75rem}}@media (prefers-color-scheme: dark){.daily-log-card{background:#1a1a1a;border-color:#333}.date-selector-section{background:#2a2a2a;border-color:#444}.date-selector-group label{color:#ccc}.daily-summary{background:linear-gradient(135deg,#2a2a2a,#333)}.daily-summary-title{color:#e0e0e0}.total-item{background:#2a2a2a;border-color:#444}.total-item-label{color:#ccc}.macro-breakdown-item{background:#2a2a2a;border-color:#444}.macro-breakdown-value{color:#e0e0e0}.macro-breakdown-label{color:#ccc}.nutrition-progress{border-color:#444}.progress-label{color:#ccc}.meal-type-section{background:#2a2a2a;border-color:#444}.meal-type-header{background:#333;border-color:#444}.empty-state{color:#ccc}}.upload-food-container{max-width:900px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;width:100%;box-sizing:border-box;overflow-x:hidden}.welcome-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:16px;margin-bottom:30px;text-align:center;box-shadow:0 8px 32px #0000001a}.welcome-section h2{margin:0 0 15px;font-size:2rem;font-weight:700}.welcome-section p{margin:0;font-size:1.1rem;opacity:.95;line-height:1.6}.input-method-selector{background:#fff;border-radius:16px;padding:30px;margin-bottom:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e8ecf4}.input-method-selector h3{text-align:center;margin-bottom:25px;color:#2c3e50;font-size:1.5rem;font-weight:600}.input-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.input-method-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:25px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.input-method-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#667eea}.input-method-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 8px 25px #667eea4d}.input-method-card.active{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.input-method-card.active .input-method-icon{transform:scale(1.1)}.input-method-card.active .input-method-title{color:#1d4ed8;font-weight:600}.input-method-icon{font-size:3rem;margin-bottom:15px;display:block}.input-method-title{font-size:1.2rem;font-weight:600;margin-bottom:8px}.input-method-description{font-size:.9rem;opacity:.8;line-height:1.4}.food-identification-results{background:#fff;border-radius:16px;padding:30px;margin-bottom:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e8ecf4}.food-results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;flex-wrap:wrap;gap:15px}.food-results-title-section{flex:1;min-width:250px}.food-results-header h3{color:#2c3e50;margin-bottom:10px;font-size:1.5rem;font-weight:600;text-align:left}.food-results-subtitle{color:#6b7280;font-size:1rem;margin:0;text-align:left}.food-results-controls{display:flex;align-items:center;justify-content:flex-end;gap:15px;flex-wrap:wrap}.view-toggle-container{display:flex;align-items:center;gap:8px}.view-toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.view-toggle-text{font-size:.9rem;font-weight:500;color:#4b5563}.view-toggle{position:relative;width:44px;height:24px}.view-toggle-input{opacity:0;width:0;height:0}.view-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:24px}.view-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.view-toggle-input:checked+.view-toggle-slider{background-color:#10b981}.view-toggle-input:checked+.view-toggle-slider:before{transform:translate(20px)}.identified-foods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:25px}.food-item-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease;cursor:pointer;position:relative}.food-item-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#10b981}.food-item-card.selected{border-color:#10b981;background:#ecfdf5;box-shadow:0 8px 25px #10b98133}.food-item-header{display:flex;align-items:center;margin-bottom:15px}.food-emoji{font-size:2.5rem;margin-right:15px}.food-item-info h4{margin:0;font-size:1.2rem;font-weight:600;color:#1f2937}.food-estimated-amount{color:#6b7280;font-size:.9rem;margin:5px 0 0}.food-item-actions{display:flex;gap:10px;justify-content:center}.btn-get-nutrition{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;gap:8px}.btn-get-nutrition:hover{transform:translateY(-1px);box-shadow:0 4px 15px #10b9814d}.btn-get-nutrition:disabled{opacity:.6;cursor:not-allowed;transform:none}.nutrition-display{background:#fff;border-radius:16px;padding:30px;margin-bottom:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e8ecf4}.nutrition-header{text-align:center;margin-bottom:25px}.nutrition-food-title{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:15px}.nutrition-food-emoji{font-size:3rem}.nutrition-food-name{font-size:1.8rem;font-weight:700;color:#1f2937;margin:0}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:25px}.nutrition-stat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;text-align:center}.nutrition-stat.calories{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.nutrition-stat.protein{background:linear-gradient(135deg,#fecaca,#fca5a5);border-color:#ef4444}.nutrition-stat.carbs{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border-color:#8b5cf6}.nutrition-stat.fat{background:linear-gradient(135deg,#bfdbfe,#93c5fd);border-color:#3b82f6}.nutrition-value{font-size:1.8rem;font-weight:700;margin-bottom:5px;color:#1f2937}.nutrition-label{font-size:.9rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.nutrition-details-section{margin-top:15px}.nutrition-details-toggle{background:#f3f4f6;border:1px solid #d1d5db;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;text-align:center}.nutrition-details-toggle:hover{background:#e5e7eb;border-color:#9ca3af}.nutrition-details-expanded{margin-top:15px;animation:slideDown .3s ease-out;border:1px solid #e5e7eb;border-radius:12px;padding:15px;background:#fafafa}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nutrition-details-expanded .nutrition-stat{background:#fff;box-shadow:0 1px 3px #0000001a}.meal-summary-enhanced{background:#fff;border-radius:16px;padding:30px;margin-bottom:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e8ecf4}.meal-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e5e7eb}.meal-summary-title{display:flex;align-items:center;gap:12px}.meal-type-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:8px}.meal-foods-list{list-style:none;padding:0;margin:0 0 25px}.meal-food-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:15px;display:flex;align-items:center;justify-content:space-between}.meal-food-info{display:flex;align-items:center;gap:15px}.meal-food-emoji{font-size:2rem}.meal-food-details h5{margin:0 0 5px;font-size:1.1rem;font-weight:600;color:#1f2937}.meal-food-nutrition{font-size:.9rem;color:#6b7280;margin:0}.meal-totals{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:12px;padding:15px;margin-bottom:20px}.meal-totals-header{text-align:center;margin-bottom:12px}.meal-totals-header h4{margin:0;color:#0c4a6e;font-size:1.2rem;font-weight:600}.meal-totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;text-align:center}.meal-total-stat{background:#fff;border-radius:8px;padding:12px;border:1px solid #e0f2fe}.meal-total-value{font-size:1.2rem;font-weight:700;color:#0c4a6e;margin-bottom:4px}.meal-total-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.log-meal-section{text-align:center}.btn-log-meal{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:15px 40px;border-radius:12px;font-size:1.1rem;font-weight:600;transition:all .3s ease;cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 15px #10b98133}.btn-log-meal:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b9814d}.btn-log-meal:disabled{opacity:.6;cursor:not-allowed;transform:none}.progress-indicator{display:flex;justify-content:center;align-items:center;gap:10px;margin:20px 0}.progress-step{width:12px;height:12px;border-radius:50%;background:#e5e7eb;transition:all .3s ease}.progress-step.active{background:#10b981;transform:scale(1.2)}.progress-step.completed{background:#059669}.loading-overlay{position:relative}.loading-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;border-radius:inherit;display:flex;align-items:center;justify-content:center}.success-animation{animation:successPulse .6s ease-out}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.identified-foods-grid.compact-view{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.food-item-card.compact{padding:12px;border-radius:8px}.food-item-card.compact .food-item-header{margin-bottom:0;justify-content:space-between}.food-item-card.compact .food-emoji{font-size:1.8rem;margin-right:10px}.food-item-card.compact .food-item-info h4{font-size:1rem}.food-item-card.compact .food-estimated-amount{font-size:.8rem;margin:2px 0 0}.compact-view-info{margin-bottom:15px;text-align:center}.compact-info-badge{display:inline-block;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#4b5563;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid #d1d5db;box-shadow:0 2px 4px #0000000d}.expand-toggle-btn{background:#e5e7eb;border:none;border-radius:6px;padding:6px 8px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.expand-toggle-btn:hover{background:#d1d5db;transform:scale(1.05)}.food-item-card.compact.expanded{grid-column:span 2;padding:20px}.food-item-card.compact.expanded .food-item-header{margin-bottom:15px}.food-item-card.compact.expanded .food-emoji{font-size:2.5rem;margin-right:15px}.food-item-card.compact.expanded .food-item-info h4{font-size:1.2rem}.food-item-card.compact.expanded .food-estimated-amount{font-size:.9rem;margin:5px 0 0}.daily-food-log-container{background:#fff;border-radius:20px;margin-bottom:30px;box-shadow:0 6px 30px #00000014;border:1px solid #e8ecf4;overflow:hidden}.daily-log-header{display:flex;justify-content:space-between;align-items:flex-start;padding:30px;background:linear-gradient(135deg,#f8fafc,#e5e7eb);border-bottom:1px solid #e8ecf4;flex-wrap:wrap;gap:20px}.daily-log-title-section h2{margin:0 0 8px;font-size:1.8rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:12px}.daily-log-date-icon{font-size:2rem}.daily-log-subtitle{margin:0;color:#6b7280;font-size:1rem}.date-selector-group{display:flex;flex-direction:column;gap:8px}.date-label{display:flex;align-items:center;gap:8px;font-weight:500;color:#4b5563;font-size:.9rem}.date-label-icon{font-size:1.1rem}.date-input{padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#fff;min-width:160px}.date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.daily-summary-card{margin:30px;background:#fff;border-radius:16px;border:1px solid #e5e7eb;overflow:hidden}.daily-summary-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.daily-summary-title{margin:0;font-size:1.3rem;font-weight:600;display:flex;align-items:center;gap:10px}.summary-date-badge{background:#fff3;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.daily-summary-content{padding:25px}.daily-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:25px;align-items:stretch}.daily-stat-card{background:#f8fafc;border-radius:12px;padding:20px!important;display:flex;align-items:center;justify-content:flex-start;gap:15px!important;border:2px solid transparent;transition:all .3s ease;overflow:hidden;min-width:0;min-height:85px!important;box-sizing:border-box}.daily-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.daily-stat-card.primary{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.daily-stat-card.secondary{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border-color:#8b5cf6}.daily-stat-card.tertiary{background:linear-gradient(135deg,#bfdbfe,#93c5fd);border-color:#3b82f6}.daily-stat-card.quaternary{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.stat-icon{font-size:2.2rem;opacity:.8;flex-shrink:0}.macro-overview{margin-top:25px}.macro-overview-title{margin:0 0 15px;font-size:1.1rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.macro-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:stretch!important}.macro-card{border-radius:10px;padding:16px!important;text-align:center;border:2px solid transparent;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px!important;max-height:80px!important;box-sizing:border-box}.macro-card:hover{transform:translateY(-1px);box-shadow:0 4px 15px #0000001a}.macro-card.protein{background:linear-gradient(135deg,#fecaca,#fca5a5);border-color:#ef4444}.macro-card.carbs{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border-color:#8b5cf6}.macro-card.fat{background:linear-gradient(135deg,#bfdbfe,#93c5fd);border-color:#3b82f6}.nutrients-tracking-section{margin-top:25px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.nutrient-progress-card{border-radius:12px;padding:16px;border:2px solid transparent;transition:all .3s ease}.nutrient-progress-card:hover{transform:translateY(-1px);box-shadow:0 4px 15px #0000001a}.nutrient-progress-card.fiber{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#16a34a}.nutrient-progress-card.water{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#2563eb}.nutrient-progress-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.nutrient-icon{font-size:1.2rem;flex-shrink:0}.nutrient-label{font-weight:500;flex:1;min-width:0}.nutrient-progress-card.fiber .nutrient-label{color:#166534}.nutrient-progress-card.water .nutrient-label{color:#1e40af}.nutrient-value{font-weight:700;flex-shrink:0}.nutrient-progress-card.fiber .nutrient-value{color:#166534}.nutrient-progress-card.water .nutrient-value{color:#1e40af}.nutrient-progress-bar{border-radius:8px;height:8px;overflow:hidden;margin-bottom:8px}.nutrient-progress-card.fiber .nutrient-progress-bar{background:#dcfce7}.nutrient-progress-card.water .nutrient-progress-bar{background:#dbeafe}.nutrient-progress-fill{height:100%;transition:width .6s ease}.fiber-fill{background:linear-gradient(90deg,#16a34a,#22c55e)}.water-fill{background:linear-gradient(90deg,#2563eb,#3b82f6)}.nutrient-progress-text{font-size:.8rem;text-align:center;font-weight:500}.nutrient-progress-card.fiber .nutrient-progress-text{color:#166534}.nutrient-progress-card.water .nutrient-progress-text{color:#1e40af}.meal-log-content{padding:0 30px 30px}.loading-state{text-align:center;padding:40px 20px;color:#6b7280}.loading-spinner{font-size:2rem;margin-bottom:10px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state-card{text-align:center;padding:50px 30px;background:linear-gradient(135deg,#f8fafc,#e5e7eb);border-radius:16px;border:2px dashed #d1d5db}.empty-state-card .empty-state-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.empty-state-card h3{margin:0 0 10px;color:#374151;font-size:1.5rem;font-weight:600}.empty-state-card p{margin:0 0 25px;color:#6b7280;font-size:1.1rem}.empty-state-tips{display:flex;flex-direction:column;gap:12px;max-width:300px;margin:0 auto}.tip-item{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 16px;border-radius:10px;border:1px solid #e5e7eb;text-align:left}.tip-icon{font-size:1.3rem}.meals-by-type-container{display:flex;flex-direction:column;gap:25px}.meal-type-group{background:#f8fafc;border-radius:16px;border:1px solid #e5e7eb;overflow:hidden}.meal-type-header-enhanced{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;background:linear-gradient(135deg,#374151,#4b5563);color:#fff}.meal-type-title{display:flex;align-items:center;gap:12px}.meal-type-icon{font-size:1.5rem}.meal-type-title h3{margin:0;font-size:1.3rem;font-weight:600}.meal-type-badge{background:#fff3;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500}.meal-type-calories{text-align:right}.calories-value{font-size:1.4rem;font-weight:700;display:block}.calories-label{font-size:.8rem;opacity:.8}.meal-items-grid{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.meal-item-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;transition:all .3s ease}.meal-item-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#667eea}.meal-item-content{padding:20px}.meal-item-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.meal-item-icon{font-size:2rem;flex-shrink:0}.meal-item-info{flex:1;min-width:0}.meal-item-name{margin:0 0 6px;font-size:1.1rem;font-weight:600;color:#1f2937;word-wrap:break-word}.meal-item-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meal-item-calories{font-weight:600;color:#059669}.meal-item-amount{color:#6b7280;font-size:.9rem}.meal-item-actions{display:flex;gap:6px;flex-shrink:0}.btn-action{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-size:.9rem;cursor:pointer;transition:all .2s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.btn-action:hover{background:#e5e7eb;transform:scale(1.05)}.btn-action.edit:hover{background:#dbeafe;border-color:#3b82f6}.btn-action.delete:hover{background:#fee2e2;border-color:#ef4444}.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.meal-item-macros{display:flex;gap:8px;flex-wrap:wrap}.macro-chip{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.macro-chip.protein{background:#fecaca;color:#b91c1c;border:1px solid #f87171}.macro-chip.carbs{background:#ddd6fe;color:#7c3aed;border:1px solid #a78bfa}.macro-chip.fat{background:#bfdbfe;color:#2563eb;border:1px solid #60a5fa}.macro-chip.fiber{background:#d1fae5;color:#059669;border:1px solid #34d399}.macro-label{font-weight:600}.meal-edit-form{padding:20px;background:#f8fafc}.edit-form-header h4{margin:0 0 20px;color:#374151;font-size:1.2rem;font-weight:600}.edit-form-content{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.9rem;font-weight:500;color:#374151}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.form-input{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:all .3s ease}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.edit-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.btn-save{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 15px #10b9814d}.btn-cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#e5e7eb}.btn-save:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none}.daily-stat-card.featured{padding:26px;min-height:100px}.daily-stat-card.featured .stat-icon{font-size:2.4rem}.daily-stat-card.featured .stat-value{font-size:1.75rem}.daily-stat-card.featured .stat-label{font-size:.9rem}.stat-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.stat-value{font-size:1.6rem;font-weight:700;color:#1f2937;margin:0 0 4px!important;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;line-height:1.1}.stat-label{font-size:.85rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px;line-height:1.1;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;margin:0!important}.macro-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%}.macro-value{font-size:1.4rem;font-weight:700;color:#1f2937;margin:0!important;text-align:center;line-height:1.1}.macro-label{font-size:.8rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin:0!important;text-align:center;line-height:1.1}@media (max-width: 768px){.upload-food-container{padding:15px;width:100%;min-width:0;overflow-x:hidden}.upload-food-container *{max-width:100%;box-sizing:border-box}.image-preview-container{width:100%;overflow-x:hidden}.image-preview-container img{max-width:calc(100vw - 50px)!important;width:auto!important;height:auto!important}.input-method-grid{grid-template-columns:repeat(3,1fr);gap:10px}.input-method-card{padding:15px 8px;min-height:auto}.input-method-icon{font-size:1.5rem;margin-bottom:6px}.input-method-title{font-size:.9rem;font-weight:600;margin-bottom:4px}.input-method-description{font-size:.7rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-card,.input-method-selector,.welcome-section{width:100%;max-width:100%;margin-left:0;margin-right:0}.form-input,.btn,button,input,textarea,select{max-width:100%;width:100%}.identified-foods-grid,.nutrition-grid,.meal-totals-grid{width:100%;max-width:100%}.nutrition-details-expanded .nutrition-grid{grid-template-columns:repeat(2,1fr);gap:10px}.nutrition-details-toggle{font-size:.85rem;padding:6px 12px}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.meal-totals-grid{grid-template-columns:repeat(2,1fr);gap:8px}.meal-totals{padding:12px;margin-bottom:15px}.meal-totals-header h4{font-size:1.1rem;margin-bottom:10px}.meal-total-stat{padding:8px}.meal-total-value{font-size:1.1rem;margin-bottom:3px}.meal-total-label{font-size:.7rem}.welcome-section{padding:20px}.welcome-section h2{font-size:1.5rem}.food-results-header{flex-direction:column;align-items:stretch}.food-results-title-section,.food-results-header h3,.food-results-subtitle{text-align:center}.food-results-controls{justify-content:center}.identified-foods-grid.compact-view{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.food-item-card.compact.expanded{grid-column:span 1}.daily-log-header{flex-direction:column;align-items:stretch;text-align:center}.daily-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;align-items:stretch}.daily-stat-card{padding:18px!important;flex-direction:column;text-align:center;gap:10px!important;min-height:80px!important}.stat-icon{font-size:1.8rem}.stat-value{font-size:1.4rem}.macro-cards-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.nutrients-tracking-section{grid-template-columns:1fr;gap:12px}.meal-items-grid{grid-template-columns:1fr;padding:15px}.meal-item-header{flex-wrap:wrap}.form-row{grid-template-columns:1fr}.edit-form-actions{flex-direction:column}}@media (max-width: 480px){.upload-food-container{padding:10px;margin:0}.input-method-card{padding:12px 6px}.input-method-icon{font-size:1.3rem;margin-bottom:4px}.input-method-title{font-size:.8rem;margin-bottom:3px}.input-method-description{font-size:.65rem;line-height:1.1}.nutrition-grid{grid-template-columns:1fr}.nutrition-details-expanded .nutrition-grid{grid-template-columns:1fr;gap:8px}.nutrition-details-expanded .nutrition-stat{padding:10px}.nutrition-details-toggle{font-size:.8rem;padding:5px 10px}.meal-totals-grid{grid-template-columns:repeat(4,1fr);gap:6px}.meal-totals{padding:8px;margin-bottom:12px}.meal-totals-header h4{font-size:1rem;margin-bottom:8px}.meal-total-stat{padding:6px 4px}.meal-total-value{font-size:.9rem;margin-bottom:2px}.meal-total-label{font-size:.6rem;line-height:1.1}.meal-food-item{flex-direction:column;align-items:flex-start;gap:15px}}.btn-add-all-foods{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;margin-right:15px;box-shadow:0 2px 8px #10b9814d}.btn-add-all-foods:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-add-all-foods:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #10b9814d}.btn-add-all-foods:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}.btn-add-all-foods{font-size:.85rem;padding:8px 12px;margin-right:10px}.meal-type-selection{margin-bottom:20px;padding:20px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border:1px solid #e2e8f0}.meal-type-selection h4{margin:0 0 15px;font-size:1.1rem;font-weight:600;color:#374151;text-align:center}.meal-type-buttons{display:flex;gap:8px;justify-content:center}.meal-type-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:all .3s ease;font-size:.85rem;font-weight:500;color:#6b7280;min-width:85px;flex:1;max-width:110px}.meal-type-btn:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.meal-type-btn.active{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.meal-type-btn .meal-icon{font-size:1.3rem;line-height:1}.meal-type-btn .meal-label{font-size:.8rem;font-weight:600;text-align:center;line-height:1.1}.meal-type-btn.active .meal-label{color:#fff}@media (max-width: 768px){.meal-type-buttons{gap:6px}.meal-type-btn{padding:10px 12px;font-size:.8rem;min-width:75px;max-width:95px}.meal-type-btn .meal-icon{font-size:1.2rem}.meal-type-btn .meal-label{font-size:.75rem}}@media (max-width: 480px){.meal-type-buttons{gap:4px}.meal-type-btn{padding:8px 10px;min-width:65px;max-width:85px}.meal-type-btn .meal-icon{font-size:1.1rem}.meal-type-btn .meal-label{font-size:.7rem}}.portion-demo-container{max-width:1000px;margin:0 auto;padding:20px;background:#f8fafc;min-height:100vh}.portion-demo-header{text-align:center;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a}.portion-demo-header h1{margin:0 0 8px;font-size:2.5rem;font-weight:700}.portion-demo-header p{margin:0;font-size:1.1rem;opacity:.9}.food-selector-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 16px #00000014;margin-bottom:24px}.food-selector-section h3{margin:0 0 16px;color:#374151;font-size:1.25rem}.food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.food-btn{padding:12px 16px;border:2px solid #e5e7eb;background:#f9fafb;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500;color:#374151;text-transform:capitalize}.food-btn:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-1px)}.food-btn.selected{border-color:#3b82f6;background:#dbeafe;color:#1d4ed8;box-shadow:0 0 0 3px #3b82f61a}.portion-selector-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 16px #00000014;margin-bottom:24px}.portion-selector-section h3{margin:0 0 16px;color:#374151;font-size:1.25rem}.demo-portion-selector{border:2px solid #e5e7eb;border-radius:12px}.results-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 16px #00000014;margin-bottom:24px}.results-section h3{margin:0 0 16px;color:#374151;font-size:1.25rem}.results-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.result-item:last-child{border-bottom:none}.result-item .label{font-weight:600;color:#6b7280;font-size:.9rem}.result-item .value{font-weight:500;color:#374151;text-align:right}.available-portions-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 16px #00000014;margin-bottom:24px}.available-portions-section h3{margin:0 0 16px;color:#374151;font-size:1.25rem}.portions-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.portion-info-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:16px;position:relative;transition:all .2s ease}.portion-info-card:hover{border-color:#3b82f6;box-shadow:0 4px 8px #3b82f61a}.portion-info-card.default{border-color:#10b981;background:#ecfdf5}.portion-name{font-weight:600;color:#374151;margin-bottom:4px}.portion-weight{font-size:.9rem;color:#3b82f6;font-weight:500;margin-bottom:4px}.portion-desc{font-size:.8rem;color:#6b7280;line-height:1.4}.default-badge{position:absolute;top:8px;right:8px;background:#10b981;color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.integration-info{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 16px #00000014}.integration-info h3{margin:0 0 16px;color:#374151;font-size:1.25rem}.info-card{background:#fffbeb;border:1px solid #fbbf24;border-radius:8px;padding:16px}.info-card ul{margin:0;padding-left:20px}.info-card li{margin-bottom:8px;color:#374151;line-height:1.5}.info-card li:last-child{margin-bottom:0}@media (max-width: 768px){.portion-demo-container{padding:16px}.portion-demo-header h1{font-size:2rem}.food-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.food-btn{padding:8px 12px;font-size:.9rem}.portions-info{grid-template-columns:1fr}}@media (max-width: 480px){.food-grid{grid-template-columns:repeat(2,1fr)}.result-item{flex-direction:column;align-items:flex-start;gap:4px}.result-item .value{text-align:left}}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.onboarding-modal{background:var(--card-background);border-radius:20px;padding:2rem;max-width:500px;width:90%;max-height:90vh;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out;position:relative;border:1px solid var(--border-color)}.onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.onboarding-progress{flex:1;margin-right:1rem}.progress-bar{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-hover));border-radius:4px;transition:width .3s ease}.progress-text{font-size:.875rem;color:var(--text-secondary);font-weight:500}.onboarding-skip{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:.5rem;border-radius:8px;transition:all .2s ease}.onboarding-skip:hover{background:var(--bg-secondary);color:var(--text-primary)}.onboarding-content{text-align:center;margin-bottom:2rem}.onboarding-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease-in-out}.onboarding-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.3}.onboarding-description{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;margin:0}.onboarding-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.onboarding-back{flex:0 0 auto;min-width:100px}.onboarding-next{flex:1;max-width:200px;font-weight:600;position:relative;overflow:hidden}.onboarding-next:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.onboarding-next:hover:after{width:300px;height:300px}.onboarding-dots{display:flex;justify-content:center;gap:.75rem}.onboarding-dot{width:12px;height:12px;border-radius:50%;background:var(--bg-secondary);cursor:pointer;transition:all .3s ease;position:relative}.onboarding-dot.active{background:var(--primary-color);transform:scale(1.2)}.onboarding-dot.completed{background:var(--success-color)}.onboarding-dot:hover{transform:scale(1.1);background:var(--primary-hover)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 768px){.onboarding-modal{margin:1rem;padding:1.5rem;max-width:none;width:calc(100% - 2rem)}.onboarding-title{font-size:1.5rem}.onboarding-description{font-size:1rem}.onboarding-icon{font-size:3rem}.onboarding-actions{flex-direction:column;gap:.75rem}.onboarding-next{max-width:none}.onboarding-header{margin-bottom:1.5rem}.onboarding-dots{gap:.5rem}.onboarding-dot{width:10px;height:10px}}[data-theme=dark] .onboarding-overlay{background:#000000e6}[data-theme=dark] .onboarding-modal{box-shadow:0 20px 60px #00000080}@media (prefers-contrast: high){.onboarding-modal{border:2px solid var(--border-color)}.onboarding-dot{border:2px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){.onboarding-overlay,.onboarding-modal,.onboarding-icon,.onboarding-dot,.progress-fill,.onboarding-next:after{animation:none;transition:none}}.quick-setup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.quick-setup-modal{background:var(--card-background);border-radius:20px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out;position:relative;border:1px solid var(--border-color)}.quick-setup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.quick-setup-progress{flex:1;margin-right:1rem}.quick-setup-skip{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:.5rem;border-radius:8px;transition:all .2s ease}.quick-setup-skip:hover{background:var(--bg-secondary);color:var(--text-primary)}.quick-setup-content{margin-bottom:2rem}.quick-setup-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1.3}.quick-setup-description{font-size:1rem;color:var(--text-secondary);line-height:1.5;margin-bottom:2rem}.quick-setup-fields{display:flex;flex-direction:column;gap:1.5rem}.goal-options{display:grid;grid-template-columns:1fr;gap:1rem}.goal-option{background:var(--bg-secondary);border:2px solid transparent;border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:.25rem}.goal-option:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-2px)}.goal-option.selected{background:var(--primary-background);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.goal-label{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.goal-desc{font-size:.9rem;color:var(--text-secondary)}.activity-options{display:grid;grid-template-columns:1fr;gap:.75rem}.activity-option{background:var(--bg-secondary);border:2px solid transparent;border-radius:10px;padding:.875rem;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:.25rem}.activity-option:hover{background:var(--bg-hover);border-color:var(--primary-color)}.activity-option.selected{background:var(--primary-background);border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-rgb),.15)}.activity-label{font-size:1rem;font-weight:600;color:var(--text-primary)}.activity-desc{font-size:.85rem;color:var(--text-secondary)}.quick-setup-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.quick-setup-back{flex:0 0 auto;min-width:100px}.quick-setup-next{flex:1;max-width:200px;font-weight:600;margin-left:auto}.quick-setup-next:disabled{opacity:.6;cursor:not-allowed}.quick-setup-fields .form-input-group{margin-bottom:0}.quick-setup-fields .form-input{font-size:1rem;padding:.875rem;border-radius:10px}.quick-setup-fields label{font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}@media (max-width: 768px){.quick-setup-modal{margin:1rem;padding:1.5rem;max-width:none;width:calc(100% - 2rem)}.quick-setup-title{font-size:1.5rem}.quick-setup-description{font-size:.95rem}.goal-options{gap:.75rem}.goal-option{padding:.875rem}.goal-label{font-size:1rem}.activity-options{gap:.5rem}.activity-option{padding:.75rem}.activity-label{font-size:.95rem}.quick-setup-actions{flex-direction:column;gap:.75rem}.quick-setup-next{max-width:none;order:-1}}@media (min-width: 768px){.goal-options{grid-template-columns:1fr 1fr}.activity-options{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .quick-setup-overlay{background:#000000e6}[data-theme=dark] .quick-setup-modal{box-shadow:0 20px 60px #00000080}@media (prefers-reduced-motion: reduce){.quick-setup-overlay,.quick-setup-modal,.goal-option,.activity-option,.progress-fill{animation:none;transition:none}.goal-option:hover,.activity-option:hover{transform:none}}.form-hint{display:block;font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;font-style:italic}
