:root{--color-primary: #4CAF50;--color-primary-light: #81C784;--color-primary-dark: #388E3C;--color-primary-bg: #E8F5E9;--color-secondary: #FF9800;--color-secondary-light: #FFB74D;--color-secondary-dark: #F57C00;--color-secondary-bg: #FFF3E0;--color-success: #4CAF50;--color-success-bg: #E8F5E9;--color-warning: #FFC107;--color-warning-bg: #FFF8E1;--color-error: #F44336;--color-error-bg: #FFEBEE;--color-info: #2196F3;--color-info-bg: #E3F2FD;--color-bg-primary: #FFFFFF;--color-bg-secondary: #F5F5F5;--color-bg-tertiary: #FAFAFA;--color-text-primary: #212121;--color-text-secondary: #757575;--color-text-tertiary: #9E9E9E;--color-text-disabled: #BDBDBD;--color-border: #E0E0E0;--color-border-light: #F0F0F0;--color-divider: #EEEEEE;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-success: linear-gradient(135deg, #4CAF50 0%, #81C784 100%);--gradient-warning: linear-gradient(135deg, #FF9800 0%, #FFB74D 100%);--gradient-info: linear-gradient(135deg, #2196F3 0%, #64B5F6 100%);--gradient-card: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 2px 4px rgba(0,0,0,.08);--shadow-md: 0 4px 8px rgba(0,0,0,.12);--shadow-lg: 0 8px 16px rgba(0,0,0,.16);--shadow-xl: 0 12px 24px rgba(0,0,0,.2);--shadow-2xl: 0 16px 32px rgba(0,0,0,.24);--shadow-hover: 0 6px 12px rgba(0,0,0,.15);--shadow-active: 0 2px 4px rgba(0,0,0,.1);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-xs: 12px;--font-sm: 14px;--font-base: 16px;--font-lg: 18px;--font-xl: 20px;--font-2xl: 24px;--font-3xl: 28px;--font-4xl: 32px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.card{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-compact{padding:var(--spacing-md)}.card-spacious{padding:var(--spacing-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);outline:none}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary{background:var(--gradient-success);color:#fff}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-lg)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-sm)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-weight-medium)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.progress{width:100%;height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--gradient-success);border-radius:var(--radius-full);transition:width var(--transition-slow)}.progress-lg{height:12px}.progress-sm{height:4px}.divider{height:1px;background:var(--color-divider);margin:var(--spacing-lg) 0}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-center{text-align:center}.text-bold{font-weight:var(--font-weight-bold)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn var(--transition-base)}.animate-slideIn{animation:slideIn var(--transition-base)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-secondary);min-height:100vh;color:var(--color-text-primary);font-size:var(--font-base);line-height:var(--line-height-normal)}#root{min-height:100vh;display:flex;flex-direction:column}.animate-fadeIn{animation:fadeIn .3s ease-in-out}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-secondary);padding-bottom:100px}.app-header{background:var(--gradient-primary);color:#fff;text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);box-shadow:var(--shadow-md)}.app-header h1{font-size:var(--font-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);letter-spacing:-.5px}.subtitle{font-size:var(--font-base);opacity:.95;font-weight:var(--font-weight-normal)}.app-nav{display:flex;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);position:sticky;top:0;z-index:var(--z-sticky)}.app-nav button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-base);font-weight:var(--font-weight-medium);border:none;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all var(--transition-fast);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.app-nav button:hover{color:var(--color-primary);background-color:var(--color-primary-bg)}.app-nav button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold);background-color:var(--color-primary-bg)}.app-main{flex:1;padding:var(--spacing-xl) var(--spacing-lg);padding-bottom:calc(var(--spacing-xl) + 100px);max-width:1200px;width:100%;margin:0 auto;overflow-y:auto}.error-message{max-width:600px;margin:0 auto var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-lg);border-left:4px solid var(--color-error);color:var(--color-error);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-sm);animation:fadeIn var(--transition-base)}.error-icon{font-size:var(--font-2xl);flex-shrink:0}.bottom-nav{display:flex;justify-content:space-around;align-items:center;background-color:var(--color-bg-primary);border-top:1px solid var(--color-border);box-shadow:0 -2px 8px #0000000d;padding:var(--spacing-xs) 0;position:fixed;bottom:40px;left:0;right:0;z-index:var(--z-sticky)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);flex:1;max-width:120px;border-radius:var(--radius-md)}.nav-item:hover:not(:disabled){color:var(--color-primary);background-color:var(--color-primary-bg)}.nav-item.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.nav-item:disabled{opacity:.5;cursor:not-allowed}.nav-icon{font-size:var(--font-2xl);line-height:1}.nav-label{font-size:var(--font-xs);font-weight:var(--font-weight-medium);line-height:1}.app-footer{background-color:var(--color-text-primary);color:#fff;text-align:center;padding:var(--spacing-sm) var(--spacing-lg);position:fixed;bottom:0;left:0;right:0;z-index:calc(var(--z-sticky) - 1);height:40px;display:flex;align-items:center;justify-content:center}.app-footer p{font-size:var(--font-xs);opacity:.85;margin:0}.loading-hint{text-align:center;color:var(--color-text-secondary);font-size:var(--font-sm);margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-info-bg);border-radius:var(--radius-md);border-left:3px solid var(--color-info);max-width:600px;margin-left:auto;margin-right:auto;line-height:var(--line-height-relaxed)}@media(max-width:768px){.app-header h1{font-size:28px}.app-header{padding:30px 20px}.app-main{padding:20px 10px 120px}.app-footer p{font-size:10px}.nav-icon{font-size:var(--font-xl)}.nav-label{font-size:10px}.nav-item{padding:var(--spacing-xs) var(--spacing-sm);gap:2px}}.error-page{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:var(--spacing-2xl)}.error-content{max-width:600px;width:100%;text-align:center;background:#fff;padding:var(--spacing-3xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.error-icon-large{font-size:80px;margin-bottom:var(--spacing-lg);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-content h2{font-size:var(--font-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-bold)}.error-message-detail{background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);color:#856404;font-size:var(--font-base);line-height:1.6;text-align:left;white-space:pre-line}.retry-button{background:var(--gradient-primary);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-lg);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.retry-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.retry-button:active{transform:translateY(0)}@media(max-width:768px){.error-content{padding:var(--spacing-xl)}.error-icon-large{font-size:60px}.error-content h2{font-size:var(--font-xl)}}@media(max-width:768px){button,a,.clickable{min-height:44px;min-width:44px}.history-actions,.bottom-nav{gap:16px}input,textarea,select{font-size:16px;padding:12px}.history-item,.meal-card,.goal-card{padding:16px;margin-bottom:12px}.app-main,.history-items,.meal-timeline{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.chart-container{overflow-x:auto;-webkit-overflow-scrolling:touch}*{touch-action:manipulation}.selectable-text{-webkit-user-select:text;user-select:text}button,a,.clickable{-webkit-tap-highlight-color:transparent}button:active,.clickable:active{transform:scale(.98);opacity:.8}}@media(max-width:768px)and (orientation:landscape){.app-header{padding:20px}.app-header h1{font-size:24px}.bottom-nav{padding:8px 0}.nav-item{padding:8px 12px}}@media(max-width:375px){.app-header h1{font-size:24px}.subtitle{font-size:13px}.app-main{padding:16px 8px}.bottom-nav{padding:8px 0}.nav-label{font-size:9px}}@media(min-width:375px)and (max-width:768px){.app-main{padding:24px 16px}.history-item,.meal-card{padding:20px}}@media(display-mode:standalone){.app{padding-top:env(safe-area-inset-top);padding-bottom:calc(env(safe-area-inset-bottom) + 100px)}.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}.skeleton-loader{width:100%}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line,.skeleton-card-image,.skeleton-avatar,.skeleton-food-icon,.skeleton-image-preview,.skeleton-image,.skeleton-bar,.skeleton-chart-body{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-line{height:16px;margin-bottom:12px}.skeleton-line-title{width:60%;height:20px}.skeleton-line-subtitle{width:40%;height:14px}.skeleton-line-text{width:80%}.skeleton-line-half{width:50%}.skeleton-line-full{width:100%}.skeleton-analysis{padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.skeleton-image-preview{width:100%;height:300px;margin-bottom:24px;border-radius:8px}.skeleton-food-list{margin-bottom:24px}.skeleton-food-item{display:flex;align-items:center;padding:16px;background:#fafafa;border-radius:8px;margin-bottom:12px}.skeleton-food-icon{width:48px;height:48px;border-radius:50%;margin-right:16px;flex-shrink:0}.skeleton-food-info{flex:1}.skeleton-nutrition-table{padding:16px;background:#fafafa;border-radius:8px}.skeleton-nutrition-table .skeleton-line{margin-bottom:16px}.skeleton-nutrition-table .skeleton-line:last-child{margin-bottom:0}.skeleton-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.skeleton-card-image{width:100%;height:200px}.skeleton-card-content{padding:16px}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-list-item{display:flex;align-items:center;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.skeleton-avatar{width:48px;height:48px;border-radius:50%;margin-right:16px;flex-shrink:0}.skeleton-list-content{flex:1}.skeleton-chart{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.skeleton-chart-header{margin-bottom:24px}.skeleton-chart-body{height:300px;border-radius:8px}.skeleton-chart-bars{display:flex;align-items:flex-end;justify-content:space-around;height:100%;padding:20px}.skeleton-bar{width:40px;border-radius:4px 4px 0 0}.skeleton-text{padding:16px}.skeleton-image{width:100%;height:400px;border-radius:8px}@media(max-width:768px){.skeleton-analysis{padding:16px}.skeleton-image-preview{height:200px}.skeleton-food-icon{width:40px;height:40px}.skeleton-chart-body{height:200px}.skeleton-image{height:250px}}.processing-steps{background:linear-gradient(135deg,#1e3a5f,#2d5a8c);border-radius:20px;padding:2rem;color:#fff;max-width:500px;margin:2rem auto;box-shadow:0 10px 40px #0000004d}.processing-header{text-align:center;margin-bottom:1.5rem}.processing-header h2{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.processing-subtitle{font-size:.95rem;opacity:.8;margin:0}.progress-bar-container{margin-bottom:2rem;position:relative}.progress-bar-track{height:8px;background:#fff3;border-radius:10px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:10px;transition:width .3s ease;box-shadow:0 0 10px #667eea80}.progress-percentage{position:absolute;right:0;top:-30px;font-size:1.2rem;font-weight:600;color:#00d4ff}.steps-list{display:flex;flex-direction:column;gap:.75rem}.step-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#ffffff1a;border-radius:12px;transition:all .3s ease;position:relative}.step-item.pending{opacity:.5}.step-item.active{background:#ffffff26;box-shadow:0 0 20px #667eea4d;animation:pulse 2s ease-in-out infinite}.step-item.completed{background:#4caf5033}@keyframes pulse{0%,to{box-shadow:0 0 20px #667eea4d}50%{box-shadow:0 0 30px #667eea80}}.step-icon{font-size:1.5rem;flex-shrink:0}.step-label{flex:1;font-size:1rem;font-weight:500}.step-loading{display:flex;gap:4px;align-items:center}.step-loading .dot{width:6px;height:6px;background:#00d4ff;border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.step-loading .dot:nth-child(1){animation-delay:0s}.step-loading .dot:nth-child(2){animation-delay:.2s}.step-loading .dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.step-check{color:#4caf50;font-size:1.2rem;font-weight:700}@media(max-width:768px){.processing-steps{padding:1.5rem;margin:1rem}.processing-header h2{font-size:1.3rem}.step-item{padding:.875rem 1rem}.step-icon{font-size:1.3rem}.step-label{font-size:.95rem}}.skeleton-preview{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2);animation:fadeIn .5s ease-in}.skeleton-preview-hint{text-align:center;font-size:.9rem;opacity:.8;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.image-uploader{width:100%;max-width:600px;margin:0 auto}.upload-area{border:2px dashed #ccc;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#fafafa}.upload-area:hover{border-color:#4caf50;background-color:#f0f8f0}.placeholder{color:#666}.placeholder svg{color:#999;margin-bottom:16px}.placeholder p{margin:8px 0;font-size:16px}.placeholder .formats{font-size:14px;color:#999}.processing{padding:20px}.spinner{width:40px;height:40px;margin:0 auto 16px;border:4px solid #f3f3f3;border-top:4px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite}.preview{position:relative}.preview img{max-width:100%;max-height:400px;border-radius:8px;margin-bottom:16px}.preview .hint{font-size:14px;color:#666}.progress-bar{width:100%;max-width:300px;height:8px;background-color:#e0e0e0;border-radius:4px;margin:16px auto 8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;transition:width .3s ease}.progress-text{font-size:14px;color:#666;margin-top:8px}.warning-message{margin-top:16px;padding:16px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:14px;line-height:1.6}.warning-message strong{display:block;margin-bottom:8px;color:#664d03}.warning-icon{font-size:18px;margin-right:8px}.warning-details{margin-top:8px;padding:8px;background:#ffc1071a;border-radius:4px;font-size:13px}.warning-continue{margin-top:12px;padding-top:12px;border-top:1px solid #ffc107;font-size:13px;color:#664d03}@media(max-width:768px){.upload-area{padding:20px}.preview img{max-height:300px}.progress-bar{max-width:200px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;max-width:500px;margin:0 auto}.empty-state-icon{font-size:80px;margin-bottom:var(--spacing-lg);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.empty-state-title{font-size:var(--font-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state-description{font-size:var(--font-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl)}.empty-state-tips{width:100%;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.tip-item{display:flex;align-items:center;padding:var(--spacing-sm) 0;font-size:var(--font-sm);color:var(--color-text-secondary);text-align:left}.tip-item:not(:last-child){border-bottom:1px solid var(--color-border-light)}.empty-state-example{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-divider);width:100%}.example-label{font-size:var(--font-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-md)}.example-images{display:flex;justify-content:center;gap:var(--spacing-md)}.example-image{width:60px;height:60px;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:32px;transition:all var(--transition-fast);cursor:pointer}.example-image:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}@media(max-width:768px){.empty-state{padding:var(--spacing-xl) var(--spacing-md)}.empty-state-icon{font-size:64px}.empty-state-title{font-size:var(--font-xl)}.example-image{width:50px;height:50px;font-size:28px}}.meal-type-selector{width:100%;display:flex;flex-direction:column;gap:1rem}.recommendation-hint{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-size:.875rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hint-icon{font-size:1.25rem}.recommendation-hint strong{color:gold;margin:0 .25rem}.apply-recommendation{margin-left:auto;padding:.375rem .875rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.apply-recommendation:hover{background:#ffffff4d;transform:translateY(-1px)}.meal-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.meal-type-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--surface-color, #f8f9fa);border:2px solid var(--border-color, #e0e0e0);border-radius:12px;cursor:pointer;transition:all .2s}.meal-type-option:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.meal-type-option.selected{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.meal-type-option.recommended{border-style:dashed}.meal-icon{font-size:2rem}.meal-info{display:flex;flex-direction:column;align-items:center;gap:.25rem}.meal-label{font-size:1rem;font-weight:600;color:var(--text-primary, #333)}.meal-time{font-size:.75rem;color:var(--text-secondary, #666)}.recommended-badge{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.65rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.meal-type-options{grid-template-columns:repeat(2,1fr)}.recommendation-hint{flex-direction:column;text-align:center}.apply-recommendation{margin-left:0;width:100%}}.btn-share{display:inline-flex;align-items:center;gap:.5rem;background:#4caf50;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-share:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.btn-share:disabled{opacity:.5;cursor:not-allowed}.btn-share svg{flex-shrink:0}.share-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.share-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.share-modal-header h3{margin:0;font-size:1.25rem;color:#333}.btn-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.btn-close:hover{background:#f0f0f0;color:#333}.share-modal-content{padding:1.5rem}.share-message{background:#4caf50;color:#fff;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;text-align:center;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.share-section{margin-bottom:1.5rem}.share-section h4{margin:0 0 .75rem;font-size:.95rem;color:#666;font-weight:500}.share-option{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:1rem;color:#333}.share-option:hover:not(:disabled){background:#e8f5e9;border-color:#4caf50}.share-option:disabled{opacity:.5;cursor:not-allowed}.share-option-primary{background:#4caf50;color:#fff;border-color:#4caf50}.share-option-primary:hover:not(:disabled){background:#45a049}.share-option svg{flex-shrink:0}.share-platforms{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.platform-btn{padding:.75rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:#fff}.platform-weibo{background:#e6162d}.platform-weibo:hover{background:#d0141f}.platform-twitter{background:#1da1f2}.platform-twitter:hover{background:#1a91da}.platform-facebook{background:#1877f2}.platform-facebook:hover{background:#166fe5}.qr-code-display,.share-card-display{margin-top:1rem;text-align:center;padding:1rem;background:#f9f9f9;border-radius:8px}.qr-code-display img,.share-card-display img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.qr-code-display p{margin:.75rem 0 0;color:#666;font-size:.9rem}.btn-download{margin-top:1rem;background:#4caf50;color:#fff;border:none;padding:.625rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-download:hover{background:#45a049;transform:translateY(-1px)}@media(max-width:768px){.share-modal{max-width:100%;margin:0;border-radius:12px 12px 0 0;max-height:85vh}.share-modal-header,.share-modal-content{padding:1rem}.share-platforms{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.share-modal{background:#1e1e1e}.share-modal-header{border-bottom-color:#444}.share-modal-header h3{color:#e0e0e0}.btn-close{color:#888}.btn-close:hover{background:#2a2a2a;color:#e0e0e0}.share-section h4{color:#999}.share-option{background:#2a2a2a;border-color:#444;color:#e0e0e0}.share-option:hover:not(:disabled){background:#1b5e20;border-color:#4caf50}.qr-code-display,.share-card-display{background:#2a2a2a}.qr-code-display p{color:#999}}.ai-suggestions{margin:1.5rem 0;animation:slideIn .4s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.suggestions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.suggestions-header h3{margin:0;font-size:1.25rem;color:#333;display:flex;align-items:center;gap:.5rem}.btn-refresh{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s ease}.btn-refresh:hover{background:#f0f0f0;transform:rotate(180deg)}.suggestions-loading{text-align:center;padding:2rem;color:#666}.loading-spinner{width:40px;height:40px;margin:0 auto 1rem;border:4px solid #f0f0f0;border-top:4px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.suggestions-list{display:flex;flex-direction:column;gap:.75rem}.suggestion-item{display:flex;gap:1rem;padding:1rem;border-radius:8px;border-left:4px solid;transition:all .2s ease}.suggestion-warning{background:#fff3e0;border-left-color:#ff9800}.suggestion-tip{background:#e3f2fd;border-left-color:#2196f3}.suggestion-recommendation{background:#f1f8e9;border-left-color:#8bc34a}.suggestion-achievement{background:#e8f5e9;border-left-color:#4caf50}.suggestion-icon{font-size:2rem;flex-shrink:0}.suggestion-content{flex:1;min-width:0}.suggestion-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#333}.suggestion-message{margin:0;font-size:.9rem;color:#666;line-height:1.5}.btn-expand{width:100%;margin-top:.75rem;padding:.625rem;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-expand:hover{background:#e8f5e9;border-color:#4caf50;color:#4caf50}.healthy-foods-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.healthy-foods-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#333}.healthy-foods-list{display:flex;flex-wrap:wrap;gap:.5rem}.healthy-food-tag{display:inline-block;padding:.375rem .75rem;background:#e8f5e9;color:#2e7d32;border-radius:16px;font-size:.875rem;font-weight:500;transition:all .2s ease}.healthy-food-tag:hover{background:#c8e6c9;transform:translateY(-1px)}@media(max-width:768px){.suggestion-item{padding:.875rem}.suggestion-icon{font-size:1.5rem}.suggestion-title{font-size:.95rem}.suggestion-message{font-size:.85rem}.healthy-food-tag{font-size:.8rem;padding:.3rem .6rem}}@media(prefers-color-scheme:dark){.suggestions-header h3{color:#e0e0e0}.btn-refresh:hover{background:#2a2a2a}.suggestions-loading{color:#999}.loading-spinner{border-color:#444;border-top-color:#4caf50}.suggestion-warning{background:#ff98001a}.suggestion-tip{background:#2196f31a}.suggestion-recommendation{background:#8bc34a1a}.suggestion-achievement{background:#4caf501a}.suggestion-title{color:#e0e0e0}.suggestion-message{color:#999}.btn-expand{background:#2a2a2a;border-color:#444;color:#999}.btn-expand:hover{background:#4caf501a;border-color:#4caf50;color:#4caf50}.healthy-foods-section{border-top-color:#444}.healthy-foods-title{color:#e0e0e0}.healthy-food-tag{background:#4caf5033;color:#81c784}.healthy-food-tag:hover{background:#4caf504d}}.analysis-display-v2{max-width:800px;margin:0 auto;padding:0 var(--spacing-lg) var(--spacing-lg)}.calories-card-compact{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.calories-card-compact:hover{transform:translateY(0)}.calories-main{display:flex;align-items:center;gap:var(--spacing-lg)}.calories-info{display:flex;align-items:baseline;gap:var(--spacing-md)}.calories-title-compact{font-size:var(--font-lg);font-weight:var(--font-weight-bold);margin:0;white-space:nowrap}.calories-number-compact{font-size:32px;font-weight:var(--font-weight-bold);line-height:1}.calories-unit-compact{font-size:var(--font-base);font-weight:var(--font-weight-normal);margin-left:4px;opacity:.9}.calories-progress-compact{flex:1;min-width:0}.progress-compact{background:#fff3;height:8px;border-radius:var(--radius-full);overflow:hidden;margin-bottom:4px}.progress-bar-compact{height:100%;background:#ffffffe6;border-radius:var(--radius-full);transition:width .5s ease}.progress-text-compact{font-size:var(--font-xs);opacity:.9}.calories-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.calories-card:hover{transform:translateY(0)}.calories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.calories-title{font-size:var(--font-2xl);font-weight:var(--font-weight-bold);margin:0}.confidence-icon{width:24px;height:24px;background:#ffffff4d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:help}.calories-display{text-align:center;margin-bottom:var(--spacing-md)}.calories-number{font-size:48px;font-weight:var(--font-weight-bold);line-height:1;margin-bottom:var(--spacing-xs)}.calories-unit{font-size:var(--font-xl);font-weight:var(--font-weight-normal);margin-left:var(--spacing-sm);opacity:.9}.calories-goal{font-size:var(--font-base);opacity:.9}.calories-progress{margin-top:var(--spacing-md)}.calories-progress .progress{background:#fff3;height:12px}.calories-progress .progress-bar{background:#ffffffe6}.progress-label{text-align:center;margin-top:var(--spacing-sm);font-size:var(--font-sm);opacity:.95;color:#fff}.nutrition-overview{margin-bottom:var(--spacing-xl)}.section-title{font-size:var(--font-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.nutrition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.nutrition-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.nutrition-icon{font-size:32px}.nutrition-info{display:flex;justify-content:space-between;align-items:baseline}.nutrition-label{font-size:var(--font-sm);color:var(--color-text-secondary)}.nutrition-value{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.nutrition-bar{height:6px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.nutrition-bar .bar{height:100%;border-radius:var(--radius-full);transition:width 1s cubic-bezier(.4,0,.2,1)}.foods-list-simple{margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.food-item-simple{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.food-item-simple:hover{background:var(--color-bg-secondary);transform:translate(4px)}.food-item-info{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.food-item-name{font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.food-item-portion{font-size:var(--font-sm);color:var(--color-text-secondary)}.food-item-calories{font-size:var(--font-base);font-weight:var(--font-weight-bold);color:var(--color-success);white-space:nowrap}.foods-section{margin-bottom:var(--spacing-xl)}.foods-grid{display:grid;gap:var(--spacing-lg)}.food-card{transition:all var(--transition-base)}.food-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.food-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.food-name-section{flex:1}.food-name{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:1.4}.food-portion-inline{font-size:var(--font-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin-left:var(--spacing-xs)}.food-calories-badge{background:var(--gradient-success);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--font-weight-bold)}.food-meta-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-sm);color:var(--color-text-secondary)}.meta-icon{font-size:16px}.meta-text{flex:1}.food-nutrition{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.nutrition-row-compact{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.nutrition-row-compact .label{font-size:var(--font-sm);color:var(--color-text-secondary)}.nutrition-row-compact .value{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.health-advice{display:flex;gap:var(--spacing-md);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid var(--color-success);margin-bottom:var(--spacing-xl)}.advice-icon{font-size:32px;flex-shrink:0}.advice-content{flex:1}.advice-title{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.advice-text{font-size:var(--font-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.save-meal-section{text-align:center;margin-bottom:var(--spacing-xl)}.save-meal-section .section-title{margin-bottom:var(--spacing-sm)}.save-hint{font-size:var(--font-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:var(--line-height-relaxed)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#45a049}.meal-save-form{margin-bottom:var(--spacing-xl)}.meal-save-form .section-title{text-align:center;margin-bottom:var(--spacing-lg)}.save-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-secondary)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.save-success{text-align:center;padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid var(--color-success);animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;animation:scaleIn .3s ease-out .1s both}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.save-success h3{font-size:var(--font-xl);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.save-success p{font-size:var(--font-base);color:var(--color-text-secondary);margin:0}.actions-section{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.disclaimer{text-align:center;padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.disclaimer p{font-size:var(--font-xs);color:var(--color-text-tertiary);margin:0;line-height:var(--line-height-relaxed)}@media(max-width:768px){.analysis-display-v2{padding:0 var(--spacing-md) var(--spacing-md)}.calories-main{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.calories-info,.calories-progress-compact{width:100%}.calories-number{font-size:48px}.nutrition-grid,.food-nutrition{grid-template-columns:1fr}.health-advice{flex-direction:column}}.analysis-display{max-width:800px;margin:0 auto;padding:20px}.analysis-display.empty{display:flex;align-items:center;justify-content:center;min-height:400px}.empty-state{text-align:center;padding:40px 20px}.empty-state p{font-size:18px;color:#666;margin-bottom:10px}.empty-state .hint{font-size:14px;color:#999;margin-bottom:20px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.result-header h2{font-size:24px;color:#333}.confidence{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.confidence.high{background-color:#e8f5e9;color:#4caf50}.confidence.medium{background-color:#fff8e1;color:#ffc107}.confidence.low{background-color:#ffebee;color:#f44336}.total-calories{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:12px;text-align:center;margin-bottom:30px}.total-calories h3{font-size:18px;margin-bottom:10px;opacity:.9}.calories-value{font-size:48px;font-weight:700;margin-bottom:10px}.disclaimer{font-size:12px;opacity:.8}.foods-list{margin-bottom:30px}.foods-list h3{font-size:20px;color:#333;margin-bottom:20px}.food-item{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.food-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.food-header h4{font-size:18px;color:#333}.food-calories{background:#4caf50;color:#fff;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:600}.food-meta{margin-bottom:10px;font-size:14px;color:#666}.meta-label{font-weight:600}.nutrition-table{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.nutrition-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.nutrition-label{color:#666}.nutrition-value{font-weight:600;color:#333}.actions{text-align:center}.btn-primary{background:#4caf50;color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.offline-indicator{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s ease;pointer-events:none}.offline-indicator.offline{background:#f44336;color:#fff;box-shadow:0 2px 8px #f443364d}.offline-icon{font-size:1rem}.offline-text{font-size:.875rem}@media(max-width:768px){.offline-indicator{padding:.375rem .75rem;font-size:.8rem}.offline-icon{font-size:.9rem}.offline-text{font-size:.8rem}}.auth-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:100%;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.auth-modal-close:hover{color:#333}.auth-modal-title{font-size:1.75rem;font-weight:600;margin:0 0 1.5rem;color:#333;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#555}.form-group input{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.auth-error{background:#ffebee;color:#c62828;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;text-align:center}.auth-submit-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.5rem;font-size:.875rem;color:#666}.auth-switch-btn{background:none;border:none;color:#4caf50;font-weight:600;cursor:pointer;padding:0;margin-left:.25rem;text-decoration:underline}.auth-switch-btn:hover{color:#45a049}.auth-guest{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.auth-guest-btn{background:none;border:1px solid #e0e0e0;color:#666;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.auth-guest-btn:hover{background:#f5f5f5;border-color:#ccc}@media(max-width:768px){.auth-modal{padding:1.5rem;margin:1rem}.auth-modal-title{font-size:1.5rem}.form-group input{padding:.625rem .875rem;font-size:.9375rem}.auth-submit-btn{padding:.75rem 1.25rem;font-size:.9375rem}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;padding:20px}.error-content{max-width:600px;text-align:center;background-color:#fff;padding:60px 40px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.error-content h1{font-size:48px;margin-bottom:20px;color:#333}.error-content p{font-size:18px;color:#666;margin-bottom:30px}.error-details{text-align:left;margin:20px 0;padding:16px;background-color:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.error-details summary{cursor:pointer;font-weight:600;color:#666;margin-bottom:10px}.error-details pre{margin-top:10px;font-size:12px;color:#c62828;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.btn-reset{background-color:#4caf50;color:#fff;border:none;padding:12px 32px;font-size:16px;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.btn-reset:hover{background-color:#45a049}
