body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.light,:root{--primary-color:#ff7043;--primary-hover:#ff5722;--primary-light:#ffab91;--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#fafafa;--bg-paper:#fff;--text-primary:#212121;--text-secondary:#757575;--text-disabled:#bdbdbd;--border-color:#e0e0e0;--divider-color:#e0e0e0;--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--info-color:#2196f3;--shadow-light:0 2px 4px #0000001a;--shadow-medium:0 4px 8px #00000026;--shadow-heavy:0 8px 16px #0003}.dark{--primary-color:#ff7043;--primary-hover:#ff8a65;--primary-light:#ffab91;--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2d2d2d;--bg-paper:#1e1e1e;--text-primary:#fff;--text-secondary:#b3b3b3;--text-disabled:#666;--border-color:#333;--divider-color:#333;--success-color:#66bb6a;--warning-color:#ffa726;--error-color:#ef5350;--info-color:#42a5f5;--shadow-light:0 2px 4px #0000004d;--shadow-medium:0 4px 8px #0006;--shadow-heavy:0 8px 16px #00000080}body{transition:background-color .3s ease,color .3s ease}.app,body{background-color:#fff;background-color:var(--bg-primary);color:#212121;color:var(--text-primary)}.MuiPaper-root{background-color:#fff!important;background-color:var(--bg-paper)!important;color:#212121!important;color:var(--text-primary)!important}.MuiAppBar-root,.MuiButton-contained{background-color:#ff7043!important;background-color:var(--primary-color)!important}.MuiButton-contained:hover{background-color:#ff5722!important;background-color:var(--primary-hover)!important}.card,.meal-card,.recipe-card{background-color:#fff;background-color:var(--bg-paper);border:1px solid #e0e0e0;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);transition:background-color .3s ease,border-color .3s ease}input,select,textarea{background-color:#fafafa;background-color:var(--bg-tertiary);border-color:#e0e0e0;border-color:var(--border-color);color:#212121;color:var(--text-primary)}input:focus,select:focus,textarea:focus{border-color:#ff7043;border-color:var(--primary-color)}a{color:#ff7043;color:var(--primary-color)}a:hover{color:#ff5722;color:var(--primary-hover)}.success-message{background-color:#4caf50;background-color:var(--success-color);color:#fff}.error-message{background-color:#f44336;background-color:var(--error-color);color:#fff}.warning-message{background-color:#ff9800;background-color:var(--warning-color);color:#fff}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.text-inverted{color:#757575;color:var(--text-secondary)}.primary-color{color:#ff7043!important;color:var(--primary-color)!important}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:root{--primary:#ff7043;--primary-light:#ff8a65;--primary-dark:#f4511e;--success:#4caf50;--error:#d32f2f;--warning:#f57c00;--background-light:#fff8f6;--text-primary:#333;--border-light:#ffccbc;--white:#fff;--shadow:#0000001a;--shadow-light:#0000000d;--shadow-heavy:#00000026}*{box-sizing:border-box;margin:0;padding:0}.login-page{background:#fff;background:var(--white);color:#333;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden}.main-layout{display:grid;grid-template-columns:1fr 400px;min-height:100vh}.marketing-content{background:linear-gradient(135deg,#fff8f6,#fff);background:linear-gradient(135deg,var(--background-light) 0,var(--white) 100%);overflow-y:auto;padding:60px 80px;position:relative}.marketing-header{margin-bottom:60px}.logo{color:#ff7043;color:var(--primary);display:inline-flex;font-size:28px;font-weight:700;gap:12px;text-decoration:none}.logo,.logo-icon{align-items:center}.logo-icon{background:#ff7043;background:var(--primary);border-radius:10px;box-shadow:0 4px 8px #ff70434d;color:#fff;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.hero-section{animation:fadeInUp .8s ease forwards;margin-bottom:80px}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff7043,#f4511e);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);-webkit-background-clip:text;background-clip:text;font-size:3.2rem;font-weight:700;line-height:1.2;margin-bottom:25px}.hero-subtitle{color:#666;color:var(--text-secondary);font-size:1.3rem;line-height:1.5;margin-bottom:40px}.benefits-section{margin-bottom:80px}.section-title{color:#333;font-size:2.2rem;font-weight:700;margin-bottom:40px}.benefit{align-items:flex-start;animation:fadeInUp .6s ease forwards;background:#fff;background:var(--white);border:1px solid #ffccbc;border:1px solid var(--border-light);border-radius:15px;box-shadow:0 4px 15px #0000001a;box-shadow:0 4px 15px var(--shadow);display:flex;gap:20px;margin-bottom:40px;padding:25px;transition:all .3s ease}.benefit:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-5px)}.benefit-icon{align-items:center;background:linear-gradient(135deg,#ff7043,#ff8a65);background:linear-gradient(135deg,var(--primary) 0,var(--primary-light) 100%);border-radius:50%;box-shadow:0 4px 12px #ff70434d;color:#fff;display:flex;flex-shrink:0;font-size:24px;height:60px;justify-content:center;width:60px}.benefit-content h3{color:#333;color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:8px}.benefit-content p{color:#666;color:var(--text-secondary);font-size:1rem;line-height:1.6}.how-it-works{margin-bottom:60px}.steps{list-style:none;padding:0}.step{align-items:flex-start;animation:fadeInUp .6s ease forwards;background:#ff70430d;border-left:4px solid #ff7043;border-left:4px solid var(--primary);border-radius:12px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.step-number{background:#ff7043;background:var(--primary);box-shadow:0 2px 6px #ff70434d;font-size:1.1rem;height:40px;width:40px}.step-content h4{color:#333;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:8px}.step-content p{font-size:.95rem;line-height:1.5}.marketing-footer,.step-content p{color:#666;color:var(--text-secondary)}.marketing-footer{border-top:1px solid #f0f0f0;font-size:.9rem;padding-top:40px;text-align:center}.login-sidebar{background:#fff;background:var(--white);border-left:1px solid #f0f0f0;bottom:0;box-shadow:-4px 0 20px #0000000d;box-shadow:-4px 0 20px var(--shadow-light);overflow-y:auto;position:fixed;right:0;top:0;width:400px}.login-container{display:flex;flex-direction:column;height:100vh;justify-content:center;padding:40px 35px}.login-header{margin-bottom:35px;text-align:center}.login-title{color:#333;color:var(--text-primary);font-size:1.8rem;font-weight:600;margin-bottom:8px}.login-subtitle{color:#666;color:var(--text-secondary);font-size:.95rem}.alert{animation:slideDown .3s ease;border-radius:8px;font-size:14px;line-height:1.4;margin-bottom:20px;padding:12px 15px}.alert-success{background-color:#e8f5e9;border-left:4px solid #4caf50;border-left:4px solid var(--success);color:#4caf50;color:var(--success)}.alert-error{background-color:#ffebee;border-left:4px solid #d32f2f;border-left:4px solid var(--error);color:#d32f2f;color:var(--error)}.alert-warning{background-color:#fff8e1;border-left:4px solid #f57c00;border-left:4px solid var(--warning);color:#f57c00;color:var(--warning)}.login-form{margin-bottom:25px}.form-group{margin-bottom:20px;position:relative}.form-group label{color:#333;color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.form-group input{background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:15px;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#ff7043;border-color:var(--primary);box-shadow:0 0 0 3px #ff70431a;outline:none}.form-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.7}.form-group input::placeholder{color:#aaa}.forgot-password-link{background:none;border:none;color:#ff7043;color:var(--primary);cursor:pointer;font-size:.85rem;margin-top:5px;padding:0;position:absolute;right:0;text-decoration:underline;top:100%;transition:color .2s}.forgot-password-link:hover{color:#f4511e;color:var(--primary-dark)}.auth-buttons{display:flex;flex-direction:column;gap:12px;margin:25px 0}.btn{align-items:center;border:none;display:flex;font-family:inherit;font-size:15px;font-weight:600;justify-content:center;overflow:hidden;padding:12px;position:relative;width:100%}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn-primary{background:#ff7043;background:var(--primary);box-shadow:0 2px 6px #ff70434d}.btn-primary:hover:not(:disabled){background:#f4511e;background:var(--primary-dark);box-shadow:0 4px 12px #ff704366;transform:translateY(-1px)}.btn-secondary{background:#0000;border:2px solid #ff7043;border:2px solid var(--primary);color:#ff7043;color:var(--primary)}.btn-secondary:hover:not(:disabled){background:#ff7043;background:var(--primary);color:#fff;transform:translateY(-1px)}.divider{align-items:center;color:#666;color:var(--text-secondary);display:flex;margin:20px 0}.divider:after,.divider:before{background:#e0e0e0;content:"";flex:1 1;height:1px}.divider span{background:#fff;background:var(--white);font-size:13px;padding:0 15px}.btn-google{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:500;gap:10px;justify-content:center;padding:12px;transition:all .3s ease;width:100%}.btn-google:hover:not(:disabled){border-color:#ff7043;border-color:var(--primary);box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow);transform:translateY(-1px)}.btn-google:disabled{cursor:not-allowed;opacity:.6}.security-note{border-top:1px solid #f0f0f0;color:#666;color:var(--text-secondary);font-size:12px;line-height:1.4;margin-top:25px;padding-top:20px;text-align:center}.loading-spinner{padding:60px 20px;text-align:center}.loading-spinner h2{color:#ff7043;color:var(--primary);font-size:1.5rem;margin-bottom:10px}.loading-spinner p{color:#666;color:var(--text-secondary);font-size:1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.main-layout{grid-template-columns:1fr 350px}.marketing-content{padding:40px 60px}.login-sidebar{width:350px}.hero-title{font-size:2.8rem}}@media (max-width:768px){.main-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-sidebar{border-bottom:1px solid #f0f0f0;border-left:none;box-shadow:none;height:auto;order:-1;position:static;width:100%}.login-container{height:auto;justify-content:flex-start;padding:25px}.marketing-content{padding:40px 25px}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1.1rem}.section-title{font-size:1.8rem}.benefit{padding:20px}.benefit,.step{flex-direction:column;text-align:center}.step{padding:15px}.login-title{font-size:1.5rem}.auth-buttons{margin:20px 0}}@media (max-width:480px){.marketing-content{padding:30px 20px}.login-container{padding:20px}.hero-title{font-size:1.8rem}.benefit{margin-bottom:20px;padding:15px}.benefit-icon{font-size:20px;height:50px;width:50px}.step{margin-bottom:15px;padding:12px}.step-number{font-size:1rem;height:35px;width:35px}}.btn:focus-visible,input:focus-visible{outline:2px solid #ff7043;outline:2px solid var(--primary);outline-offset:2px}@media (hover:none){.benefit:hover,.btn:hover:not(:disabled){transform:none}}@media (prefers-color-scheme:dark){:root{--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--white:#1a1a1a;--background-light:#252525}.marketing-content{background:linear-gradient(135deg,#252525,#1a1a1a)}.login-sidebar{background:#1a1a1a;border-left:1px solid #333}.benefit,.form-group input{background:#2d2d2d;border-color:#404040}.form-group input{color:#e0e0e0}.form-group input:focus{background:#333}.btn-google{background:#2d2d2d;border-color:#404040;color:#e0e0e0}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.benefit-icon,.logo-icon,.step-number{transform:translateZ(0);will-change:transform}}.benefit,.btn,.form-group input,.step{transform:translateZ(0);will-change:transform}.home-container{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding:0 0 40px}.home-header{background-color:var(--bg-paper);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.home-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:min(95vw,1800px);padding:16px 20px}.home-header h1{color:var(--primary-color);font-size:20px;margin:0}.dashboard-body,.dashboard-greeting,.home-footer{margin-left:auto;margin-right:auto;max-width:min(95vw,1800px)}.dashboard-greeting{align-items:center;display:flex;justify-content:space-between;padding:20px 20px 16px}.greeting-name{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 2px}.greeting-date{color:var(--text-secondary);font-size:13px;margin:0;text-transform:capitalize}.quick-add-btn{align-items:center;background-color:var(--primary-color);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:background-color .15s;white-space:nowrap}.quick-add-btn:hover{background-color:var(--primary-hover)}.section-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-title-row h3{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.6px;margin:0;text-transform:uppercase}.section-link-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:13px;font-weight:500;padding:0}.dashboard-body{display:flex;flex-direction:column;gap:16px;padding:0 20px}.desktop-only{display:none!important}.mobile-only{display:block}.quick-stats-row.mobile-only{display:flex}.today-section{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-light);padding:16px}.today-meals-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.today-meal-card{align-items:center;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 8px;text-align:center;transition:background-color .15s,transform .15s}.today-meal-card:hover{transform:translateY(-2px)}.tmc-filled{background-color:var(--bg-secondary);border:1px solid var(--border-color)}.tmc-empty{border:1.5px dashed var(--border-color)}.tmc-icon{font-size:22px}.tmc-type{color:var(--text-secondary);font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.tmc-recipe{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:12px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.tmc-add{color:var(--primary-color);font-size:12px;font-weight:500}.tmc-placeholder{color:var(--text-secondary);font-size:16px;opacity:.4}.week-section{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-light);cursor:pointer;padding:16px;transition:box-shadow .15s}.week-section:hover{box-shadow:var(--shadow-medium)}.week-count{color:var(--text-secondary);font-size:12px}.week-bar{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.week-day{align-items:center;display:flex;flex-direction:column;gap:5px}.wd-label{color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase}.wd-dot{background-color:var(--bg-secondary);border:2px solid #0000;border-radius:50%;height:28px;transition:all .15s;width:28px}.wd-date{color:var(--text-secondary);font-size:10px}.wd-planned .wd-dot{background-color:var(--primary-color)}.wd-planned .wd-date,.wd-planned .wd-label{color:var(--primary-color);font-weight:700}.wd-today .wd-dot{border-color:var(--primary-color)}.wd-today.wd-planned .wd-dot{background-color:var(--primary-color);border-color:var(--text-primary);box-shadow:0 0 0 2px var(--primary-color)}.quick-stats-row{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-light);overflow:hidden}.qs-item{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:16px 8px;transition:background-color .15s}.qs-item:hover{background-color:var(--bg-secondary)}.qs-number{color:var(--primary-color);font-size:22px;font-weight:700;line-height:1}.qs-label{color:var(--text-secondary);font-size:11px;text-align:center}.qs-divider{background-color:var(--border-color);margin:12px 0;width:1px}.mobile-shopping-card{align-items:center;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-light);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background-color .15s}.mobile-shopping-card:hover{background-color:var(--bg-secondary)}.mobile-shopping-left{align-items:center;display:flex;gap:14px}.mobile-shopping-icon{font-size:22px}.mobile-shopping-title{color:var(--text-primary);font-size:15px;font-weight:600}.mobile-shopping-count{color:var(--text-secondary);font-size:12px;margin-top:2px}.week-detail-section{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-light);padding:16px}.wdt-header{grid-gap:6px;border-bottom:1px solid var(--border-color);display:grid;gap:6px;grid-template-columns:56px 1fr 1fr 1fr;margin-bottom:2px;padding-bottom:8px}.wdt-header-cell{color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.4px;text-align:center;text-transform:uppercase}.wdt-row{grid-gap:6px;align-items:center;border-radius:8px;display:grid;gap:6px;grid-template-columns:56px 1fr 1fr 1fr;padding:7px 6px}.wdt-today{background-color:var(--bg-secondary)}.wdt-day-info{align-items:flex-start;display:flex;flex-direction:column;gap:1px}.wdt-day-name{color:var(--text-primary);font-size:13px;font-weight:700}.wdt-day-date{color:var(--text-secondary);font-size:11px}.wdt-today .wdt-day-date,.wdt-today .wdt-day-name{color:var(--primary-color)}.wdt-slot{border-radius:6px;font-size:12px;overflow:hidden;padding:4px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.wdt-slot-filled{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:500}.wdt-slot-empty{color:var(--text-secondary);opacity:.35}.dashboard-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-card{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-light);padding:20px}.sidebar-card-title{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.6px;margin:0 0 14px;text-transform:uppercase}.home-stats-grid{display:flex;flex-direction:row;gap:8px;width:100%}.home-stats-grid .stat-item{flex:1 1;min-width:0}.stat-item{align-items:center;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:14px 6px;text-align:center;transition:background-color .15s,border-color .15s}.stat-item:hover{background-color:var(--bg-secondary);border-color:var(--primary-color)}.stat-number{color:var(--primary-color);font-size:26px;font-weight:700;line-height:1}.stat-label{font-size:11px;line-height:1.3;text-align:center}.overview-recipes-link{align-items:center;background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--primary-color);cursor:pointer;display:flex;font-size:13px;font-weight:500;justify-content:center;margin-top:12px;padding:7px 12px;transition:background-color .15s,border-color .15s;width:100%}.overview-recipes-link:hover{background-color:#ff704314;border-color:var(--primary-color)}.quick-actions-list{display:flex;flex-direction:column;gap:8px}.qa-btn{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:11px 14px;text-align:left;transition:background-color .15s,border-color .15s,color .15s;width:100%}.qa-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.qa-icon-svg{stroke:var(--primary-color);flex-shrink:0;height:18px;transition:stroke .15s;width:18px}.qa-btn:hover .qa-icon-svg{stroke:#fff}.recent-recipes-list{display:flex;flex-direction:column;margin-top:10px}.rr-item{align-items:center;border-bottom:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:10px 6px;transition:background-color .15s}.rr-item:last-child{border-bottom:none}.rr-item:hover{background-color:var(--bg-secondary)}.rr-name{color:var(--text-primary);flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-chevron{color:var(--text-secondary);flex-shrink:0}.sidebar-shopping-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--primary-color);cursor:pointer;display:flex;font-size:13px;font-weight:500;justify-content:center;padding:7px 12px;transition:background-color .15s,border-color .15s;width:100%}.sidebar-shopping-btn:hover{background-color:#ff704314;border-color:var(--primary-color)}.sidebar-shopping-btn svg{stroke:currentColor}.rr-empty{color:var(--text-secondary);font-size:13px;margin:8px 0 4px;text-align:center}.onboarding-card{align-items:center;background:var(--bg-paper);border:1.5px dashed var(--primary-color);border-radius:12px;box-shadow:var(--shadow-medium);display:flex;flex-direction:column;gap:12px;padding:24px 20px;text-align:center}.onboarding-icon{align-items:center;background:#ff70431a;border-radius:50%;color:var(--primary-color);display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.onboarding-title{color:var(--text-primary);font-size:16px;font-weight:700;margin:0}.onboarding-text{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0}.onboarding-cta{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:4px;padding:10px 20px;transition:background .2s,transform .15s;width:100%}.onboarding-cta:hover{background:#f4511e;transform:translateY(-1px)}.drawer-overlay{animation:fadeIn .2s ease;background-color:#00000073;inset:0;position:fixed;z-index:200}.home-drawer{animation:slideUp .25s ease;background-color:var(--bg-paper);border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -4px 24px #00000026;display:flex;flex-direction:column;left:0;max-height:80vh;position:fixed;right:0;z-index:201}.drawer-header{flex-shrink:0;padding:16px 20px 12px}.drawer-title{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px}.drawer-title-icon{font-size:20px}.drawer-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;padding:4px;transition:background-color .15s}.drawer-close:hover{background-color:var(--bg-secondary)}.drawer-search-wrapper{flex-shrink:0;margin:12px 16px;position:relative}.drawer-search-icon{stroke:var(--text-secondary);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.drawer-search-input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-size:15px;outline:none;padding:10px 36px 10px 38px;transition:border-color .15s;width:100%}.drawer-search-input:focus{border-color:var(--primary-color)}.drawer-search-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.drawer-category-chips{display:flex;flex-shrink:0;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none}.drawer-category-chips::-webkit-scrollbar{display:none}.drawer-chip{background:none;border:1.5px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:500;padding:5px 12px;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap}.drawer-chip-all{border-color:var(--border-color);color:var(--text-secondary)}.drawer-chip-all-active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.drawer-chip-active{font-weight:600}.drawer-recipe-list{flex:1 1;overflow-y:auto;padding:4px 8px 24px}.drawer-recipe-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:14px 12px;text-align:left;transition:background-color .15s;width:100%}.drawer-recipe-item:last-child{border-bottom:none}.drawer-recipe-item:hover{background-color:var(--bg-secondary)}.drawer-recipe-item:disabled{opacity:.5}.drawer-recipe-name{flex:1 1;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-empty{color:var(--text-secondary);font-size:14px;margin:0;padding:24px 0;text-align:center}@media (min-width:768px){.home-drawer{animation:slideInRight .25s ease;border-radius:0;bottom:0;box-shadow:-4px 0 24px #00000026;left:auto;max-height:100vh;right:0;top:0;width:400px}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.home-footer{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.8rem;margin-top:30px;padding:15px 20px 0;text-align:center}.email-verification-alert{background-color:var(--bg-paper);border-left:4px solid var(--warning-color);border-radius:4px;margin:0 20px 12px;padding:16px 20px}.email-verification-alert p{color:var(--text-primary);margin:0 0 10px}.verification-button{background-color:var(--warning-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 15px}.verification-success{border-left:3px solid var(--success-color);border-radius:4px;color:var(--success-color);margin:0;padding:10px}.verification-error{border-left:3px solid var(--error-color);border-radius:4px;color:var(--error-color);margin-top:10px;padding:10px}.verification-success-message{background-color:var(--bg-paper);margin:0 20px 12px;padding:16px 20px}.header-actions{align-items:center;display:flex}.user-menu{position:relative}.user-icon{transition:transform .2s}.user-icon:hover{transform:scale(1.1)}.user-dropdown{animation:slideIn .2s ease;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-heavy);min-width:220px;padding:10px 0;position:absolute;right:0;top:calc(100% + 10px);z-index:1000}.user-info{padding:10px 15px}.user-name{color:var(--text-primary);display:block;font-size:14px;font-weight:700}.user-email{color:var(--text-secondary);font-size:12px}.menu-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 15px;text-align:left;transition:background-color .2s;width:100%}.menu-item:hover{background-color:var(--bg-secondary)}.logout-item{color:var(--error-color)}@media (min-width:768px){.home-container{padding-bottom:60px}.dashboard-greeting{padding:28px 28px 20px}.home-header-inner{padding:16px 28px}.greeting-name{font-size:26px}.dashboard-body{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:1fr 340px;grid-template-rows:auto auto;padding:0 28px}.today-section{grid-column:1;grid-row:1}.sidebar-overview{grid-column:2;grid-row:1}.week-detail-section{grid-column:1;grid-row:2}.sidebar-bottom{grid-column:2;grid-row:2}.sidebar-overview.desktop-only{display:flex!important;flex-direction:column;justify-content:center}.sidebar-bottom.desktop-only{display:flex!important;flex-direction:column;gap:20px}.desktop-only{display:block!important}.mobile-only{display:none!important}.tmc-icon{font-size:24px}.tmc-recipe{font-size:13px}.wd-dot{height:34px;width:34px}}@media (max-width:480px){.today-meals-grid{gap:8px}.tmc-type{font-size:9px}.wd-dot{height:24px;width:24px}}.add-recipe-container{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:90px 20px 20px}.section-header{margin-bottom:20px;padding-bottom:10px}.title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.form-section h2{color:#ff7043;font-size:1.4rem;font-weight:400;margin-bottom:0;margin-top:0}.flex-grow{flex-grow:1}.color-picker{flex-grow:0;flex-shrink:0;width:100px}.link-button{color:#ff7043;font-size:.9rem;text-decoration:none}.link-button:hover{color:#f4511e;text-decoration:underline}.new-category-form{margin-bottom:20px;margin-top:10px}.button-group{margin-top:10px}.action-button:disabled{background-color:#ffccbc;cursor:not-allowed;opacity:.7}.ingredient-name{flex:3 1}.ingredient-quantity,.ingredient-unit{flex:1 1}.verification-success-message{animation:fadeIn .3s ease-in-out;background-color:#4caf501f;border-left:4px solid var(--success-color);border-radius:4px;color:var(--success-color);margin-bottom:20px;padding:12px 15px}.category-selector{margin-bottom:20px}.category-input-container{margin-bottom:15px;position:relative}.category-input-wrapper{align-items:center;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;cursor:text;display:flex;flex-wrap:wrap;min-height:44px;padding:5px 10px;transition:all .2s;width:100%}.category-input-wrapper:focus-within{border-color:#ff7043;box-shadow:0 0 0 2px #ff704333}.category-chip{color:#fff;margin:3px;max-width:200px;overflow:hidden;padding:4px 12px;text-overflow:ellipsis}.color-dot{flex-shrink:0;height:10px;margin-right:6px;width:10px}.category-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:16px;min-width:120px;outline:none;padding:8px 5px}.remove-category{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:18px;justify-content:center;margin-left:8px;padding:0;width:18px}.remove-category:hover{background-color:#ffffff4d}.category-dropdown{animation:fadeIn .2s;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:4px;box-shadow:var(--shadow-medium);left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.category-list{padding:5px 0}.category-option{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;padding:10px 15px;transition:all .1s}.category-option:hover{background-color:var(--bg-secondary)}.category-option.active{color:#fff}.category-option .check{color:#fff;font-weight:700;margin-left:auto}.no-results{color:var(--text-secondary);display:flex;flex-direction:column;gap:10px;padding:15px;text-align:center}.create-new-suggestion{align-items:center;background-color:#ff70430d;border-radius:4px;color:#ff7043;cursor:pointer;display:flex;font-weight:500;justify-content:center;margin-top:5px;padding:10px;transition:all .2s}.create-new-suggestion:hover{background-color:#ff70431a}.add-new-category{align-items:center;border-bottom:1px solid var(--border-color);color:#ff7043;cursor:pointer;display:flex;font-weight:500;justify-content:center;padding:10px 15px;transition:all .2s}.add-new-category:hover{background-color:#ff704314}.delete-category-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;margin-left:auto;opacity:0;padding:2px 4px;transition:opacity .15s,color .15s}.category-option:hover .delete-category-btn{opacity:1}.delete-category-btn:hover{color:var(--error-color)}.category-creator{margin-bottom:20px}.new-category-name-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.new-category-label{color:var(--text-secondary);font-size:13px;font-weight:500}.new-category-name-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:15px;outline:none;padding:10px 12px;width:100%}.new-category-name-input:focus{border-color:var(--primary-color)}.category-preview-container{display:flex;justify-content:center;margin-bottom:20px}.category-preview{align-items:center;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:50px;box-shadow:var(--shadow-light);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;min-width:200px;padding:8px 15px;transition:all .2s ease}.category-preview.has-color{border:none;color:#fff}.category-preview .color-dot{display:none}.category-name-input{background-color:initial;border:none;color:inherit;font-size:14px;outline:none;padding:0;text-align:center;width:180px}.color-selector{margin-top:20px}.color-selector p{color:var(--text-secondary);font-size:14px;margin:0 0 15px;text-align:center}.color-options{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}.color-option{border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:40px;padding:0;transition:all .2s ease;width:40px}.color-option:hover{transform:scale(1.1)}.color-option.selected{border:2px solid #fff;box-shadow:0 3px 8px #0000004d;outline:2px solid currentColor;transform:scale(1.15)}@media (max-width:768px){.add-recipe-container{padding:80px 15px 15px}.title-row{align-items:flex-start;flex-direction:column}.title-row h2{margin-bottom:10px}.input-row{flex-direction:column;gap:10px}.input-row .input-group{width:100%}.difficulty-selector{flex-direction:row}.step-row{flex-direction:column;padding-top:50px}.step-row .step-number{left:15px;position:absolute;top:15px}}.page-header{background-color:var(--bg-paper);border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d;transition:all .3s ease;z-index:100}.page-header.sticky{position:sticky;top:0}.page-header-main{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:16px 20px}.page-header-left{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.page-header-back-button{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.page-header-back-button:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.page-header-back-button:active{transform:scale(.95)}.page-header-title{color:var(--primary-color);font-size:18px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.page-header-actions button{background:var(--bg-secondary);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.page-header-actions button.primary,.page-header-actions button:hover{background:var(--primary-color);color:#fff}.page-header-actions button.primary:hover{opacity:.9}.page-header-extra{background-color:var(--bg-primary);border-top:1px solid var(--border-color);margin:0 auto;max-width:1200px;padding:12px 20px}@media (max-width:768px){.page-header-main{padding:12px 16px}.page-header-title{font-size:16px}.page-header-extra{padding:12px 16px}.page-header-actions button{font-size:12px;padding:6px 10px}.page-header-actions button.icon-only-mobile{min-width:32px;padding:6px}.page-header-actions button.icon-only-mobile .button-text{display:none}}.recipe-container{background-color:var(--bg-primary);font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px;transition:background-color .3s ease}.message{animation:fadeIn .3s ease-in-out;left:50%;max-width:1200px;position:fixed;top:75px;transform:translateX(-50%);width:80%;z-index:1001}.message.error{background-color:#ffebee;border-left:4px solid #f44336;color:#d32f2f}.message.info{background-color:#e3f2fd;border-left:4px solid #2196f3;color:#1976d2}.page-header-actions .delete-button,.page-header-actions .edit-button,.page-header-actions .favorite-button{align-items:center;background:var(--bg-paper);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 5px #0000001a;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all .2s;width:40px}.page-header-actions .favorite-button{color:#aaa}.page-header-actions .edit-button{color:#ff9800}.page-header-actions .delete-button{color:#f44336}.page-header-actions .delete-button:hover,.page-header-actions .edit-button:hover,.page-header-actions .favorite-button:hover{background:var(--bg-paper);box-shadow:0 3px 8px #00000026;transform:translateY(-1px)}.page-header-actions .favorite-button:hover{color:#ff9800}.page-header-actions .edit-button:hover{color:#ff7043}.page-header-actions .delete-button:hover{color:#d32f2f}.page-header-actions .favorite-button.active{color:#ff9800}.recipe-main-content{align-items:center;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-medium);display:flex;flex-direction:column;margin-bottom:25px;padding:20px;transition:background-color .3s ease,border-color .3s ease}.recipe-categories{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-bottom:16px;width:100%}.category-tag{border:1px solid #0000;border-radius:50px;box-shadow:0 1px 3px #0000000d;font-size:14px;font-weight:500;padding:5px 15px}.recipe-rating-section{align-items:center;display:flex;gap:12px;margin-bottom:8px;padding:10px 0;width:100%}.recipe-rating-label{color:var(--text-secondary);font-size:14px;font-weight:500;white-space:nowrap}.recipe-rating-stars{display:flex;gap:2px}.star-btn{background:none;border:none;cursor:pointer;line-height:0;padding:2px;transition:transform .1s ease}.star-btn:hover{transform:scale(1.25)}.star-btn.star-filled{color:#f59e0b}.star-btn.star-empty{color:var(--border-color)}.recipe-rating-value{color:var(--text-secondary);font-size:13px}.stat-badge{align-items:center;background-color:var(--bg-secondary);border-radius:50px;box-shadow:0 1px 3px #0000000d;display:flex;padding:6px 16px;transition:background-color .3s ease}.stat-icon{font-size:18px;margin-right:8px}.stat-icon,.stat-text{color:var(--text-secondary)}.stat-text{font-size:14px}.recipe-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;width:100%}.meta-item{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;flex:1 1;min-width:120px;padding:10px;transition:transform .2s,background-color .2s}.meta-item:hover{background-color:var(--bg-hover);transform:translateY(-2px)}.meta-icon{font-size:24px;margin-right:15px;opacity:.7}.meta-content{display:flex;flex-direction:column}.meta-label{color:var(--text-secondary);font-size:12px;margin-bottom:3px}.meta-value{color:var(--text-primary);font-size:16px;font-weight:500}.recipe-action-bar{align-items:center;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-medium);display:flex;flex-wrap:wrap;gap:12px;margin:0 0 25px;padding:15px;transition:background-color .3s ease,border-color .3s ease}.action-button{align-items:center;display:flex;font-size:14px;font-weight:600;gap:7px;padding:10px 16px;transition:all .2s;white-space:nowrap}.action-button.primary{background-color:#ff7043;color:#fff}.action-button.cooking-mode-btn{background-color:#1a1a1a;border:1px solid #444;color:#f5f5f5}.action-button.cooking-mode-btn:hover{background-color:#2d2d2d;box-shadow:0 3px 8px #00000040;transform:translateY(-2px)}.action-button.primary:hover{background-color:#f4511e;box-shadow:0 3px 6px #f4511e33;transform:translateY(-2px)}.action-add-group{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.action-add-buttons{display:flex;gap:8px}.btn-label-short{display:none}.btn-label-full{display:inline}.servings-selector{align-items:center;background-color:var(--bg-secondary);border-radius:8px;color:var(--text-primary);display:flex;gap:10px;padding:6px 12px;transition:background-color .3s ease;white-space:nowrap}.servings-value{font-size:16px;font-weight:700;min-width:20px;text-align:center}.servings-selector button{align-items:center;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:18px;height:30px;justify-content:center;transition:all .2s ease;width:30px}.servings-selector button:hover:not(:disabled){border-color:#ff7043;color:#ff7043}.servings-selector button:disabled{cursor:not-allowed;opacity:.5}.recipe-description{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-medium);color:var(--text-primary);line-height:1.6;margin-bottom:25px;padding:20px;transition:background-color .3s ease,border-color .3s ease}.recipe-source{color:var(--text-secondary);font-size:14px;font-style:italic;margin-top:10px}.recipe-section{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-medium);margin-bottom:25px;padding:20px;transition:background-color .3s ease,border-color .3s ease}.recipe-section h2{color:var(--primary-color);font-size:1.4rem;margin-top:0}.recipe-section h2,.section-header-with-badge{border-bottom:1px solid var(--border-color);margin-bottom:15px;padding-bottom:10px}.section-header-with-badge{align-items:center;display:flex;justify-content:center;position:relative}.section-header-with-badge h2{border-bottom:none;color:var(--primary-color);margin:0;padding-bottom:0}.header-stat-badge{align-items:center;background-color:var(--bg-secondary);border-radius:50px;box-shadow:0 1px 3px #0000000d;display:flex;padding:4px 12px;position:absolute;right:0;transition:background-color .3s ease}.header-stat-badge .stat-icon{align-items:center;color:var(--primary-color);display:flex;font-size:16px;line-height:1;margin-right:6px}.header-stat-badge .stat-text{color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.2}.recipe-section.ingredients{padding:25px}.ingredients-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.recipe-section.ingredients .ingredient-item{align-items:center;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;overflow:hidden;padding:16px;position:relative;transition:all .2s ease}.recipe-section.ingredients .ingredient-item:hover{border-color:var(--primary-hover);box-shadow:0 3px 6px #00000014}.recipe-section.ingredients .ingredient-item:before{background-color:#ff7043;background-color:var(--ingredient-color,#ff7043);bottom:0;content:"";left:0;position:absolute;top:0;width:8px}.recipe-section.ingredients .ingredient-quantity{background-color:#ff70431a;background-color:var(--ingredient-bg-light,#ff70431a);border-radius:6px;color:#ff7043;color:var(--ingredient-color,#ff7043);display:inline-block;flex-shrink:0;font-size:16px;font-weight:500;margin-right:16px;max-width:fit-content;min-width:70px;padding:4px 12px;text-align:center;white-space:nowrap}.recipe-section.ingredients .ingredient-details{align-items:center;display:flex;flex:1 1;flex-wrap:wrap}.recipe-section.ingredients .ingredient-name{color:var(--text-primary);font-size:16px;font-weight:500}.recipe-section.ingredients .ingredient-comment{color:var(--text-secondary);font-size:15px;margin-left:8px}.recipe-section.steps{padding:25px}.recipe-section.steps .steps-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.recipe-section.steps .step-item{background-color:var(--bg-paper);border:1px solid var(--border-color);border-bottom:none;border-radius:4px;box-shadow:0 1px 3px #00000008;display:flex;min-height:56px;overflow:hidden;padding:0;position:relative;transition:all .2s ease}.recipe-section.steps .step-item:hover{border-color:var(--primary-hover);box-shadow:0 3px 6px #00000014;transform:translateY(-2px)}.recipe-section.steps .step-number{align-items:center;align-self:stretch;background-color:var(--primary-color);border-radius:0;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:auto;justify-content:center;margin:0;width:40px}.recipe-section.steps .step-content{color:var(--text-primary);flex:1 1;line-height:1.6;padding:16px 20px;position:relative}.recipe-section.steps .step-content p{color:var(--text-primary);margin:0}.step-time{background-color:#fff3e0;border-radius:4px;color:#ff9800;display:inline-block;font-size:13px;font-weight:500;padding:2px 8px}.empty-message{color:var(--text-disabled);font-style:italic;padding:20px 0;text-align:center}.recipe-error{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-medium);margin:100px auto;max-width:500px;padding:30px;text-align:center;transition:background-color .3s ease,border-color .3s ease}.recipe-error h2{color:var(--error-color);margin-top:0}.recipe-error p{color:var(--text-primary)}.loading{margin:100px auto}@media (max-width:768px){.recipe-container{padding:15px}.delete-button,.edit-button,.favorite-button{height:35px;width:35px}.message{top:70px;width:90%}.recipe-meta{flex-direction:column;gap:8px}.meta-item{min-width:auto;padding:8px}.recipe-action-bar{align-items:stretch;flex-direction:column;gap:10px}.action-button.cooking-mode-btn{justify-content:center;width:100%}.action-add-group{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:10px;padding:12px}.servings-selector{background:none;justify-content:space-between;padding:0;width:100%}.action-add-buttons{width:100%}.action-add-buttons .action-button{flex:1 1;justify-content:center;padding:10px 8px}.btn-label-full{display:none}.btn-label-short{display:inline}.recipe-section.ingredients{padding:15px}.recipe-section.ingredients .ingredient-item{padding:12px}.recipe-section.ingredients .ingredient-quantity{font-size:14px;margin-right:12px;min-width:60px;padding:3px 8px}.recipe-section.ingredients .ingredient-name{font-size:15px}.recipe-section.ingredients .ingredient-comment{font-size:14px;margin-left:6px}.recipe-section.steps{padding:15px}.recipe-section.steps .step-content{padding:14px 16px}.header-stat-badge{padding:3px 10px}.header-stat-badge .stat-icon{font-size:14px;margin-right:4px}.header-stat-badge .stat-text{font-size:12px}}@media (max-width:380px){.recipe-section.ingredients .ingredient-details{align-items:flex-start;flex-direction:column}.recipe-section.ingredients .ingredient-comment{margin-left:0;margin-top:4px}}.message.success{animation:fadeIn .3s ease;background-color:#e8f5e9;border-left:4px solid #4caf50;border-radius:6px;color:#388e3c;margin-bottom:20px;padding:15px}.message.success strong{font-size:16px}.message.success small{font-size:14px;opacity:.8}.confirmation-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1500}.confirmation-modal{animation:slideIn .3s ease-out;background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 25px #0000004d;max-width:400px;overflow:hidden;width:90%}.confirmation-header{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:12px;padding:20px 20px 15px}.confirmation-header.danger{background-color:#d32f2f1a;border-bottom-color:#d32f2f4d}.confirmation-header.warning{background-color:#f57c001a;border-bottom-color:#f57c004d}.confirmation-header.info{background-color:#ff70431a;border-bottom-color:#ff70434d}.confirmation-icon{flex-shrink:0;font-size:24px}.confirmation-title{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.confirmation-body{background-color:var(--bg-paper);padding:20px}.confirmation-message{color:var(--text-primary);font-size:16px;line-height:1.5;margin:0 0 15px}.confirmation-details{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:14px;padding:12px}.confirmation-details strong{color:var(--text-primary)}.confirmation-actions{background-color:var(--bg-paper);display:flex;gap:10px;justify-content:flex-end;padding:15px 20px 20px}.confirmation-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s}.confirmation-button.cancel{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.confirmation-button.cancel:hover{background-color:var(--bg-tertiary);border-color:var(--primary-color);color:var(--text-primary)}.confirmation-button.confirm.danger{background-color:#d32f2f;color:#fff}.confirmation-button.confirm.danger:hover{background-color:#c62828;box-shadow:0 2px 4px #d32f2f4d;transform:translateY(-1px)}.confirmation-button.confirm.warning{background-color:#f57c00;color:#fff}.confirmation-button.confirm.warning:hover{background-color:#ef6c00}.confirmation-button.confirm.info{background-color:#ff7043;color:#fff}.confirmation-button.confirm.info:hover{background-color:#f4511e}@media (max-width:480px){.confirmation-modal{max-width:none;width:95%}.confirmation-actions{flex-direction:column-reverse}.confirmation-button{width:100%}}.cooking-overlay{background-color:#1a1a1a;color:#f5f5f5;display:flex;flex-direction:column;inset:0;overflow:hidden;position:fixed;z-index:2000}.cooking-progress-bar{background-color:#ffffff1a;flex-shrink:0;height:4px}.cooking-progress-fill{background-color:#ff7043;height:100%;transition:width .4s ease}.cooking-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 24px}.cooking-recipe-name{color:#fff9;font-size:15px;font-weight:600;letter-spacing:.02em;max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cooking-close-btn{align-items:center;background:none;border:1px solid #ffffff26;border-radius:50%;color:#fff9;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s;width:40px}.cooking-close-btn:hover{background:#ffffff1a;color:#fff}.cooking-body{display:flex;flex:1 1;flex-direction:column;gap:28px;margin:0 auto;max-width:720px;overflow-y:auto;padding:32px 24px;width:100%}.cooking-step-counter{color:#ff7043;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cooking-step-total{color:#ffffff59;font-weight:400}.cooking-step-description{color:#f5f5f5;font-size:clamp(20px,3.5vw,28px);font-weight:400;line-height:1.55}.cooking-timer{background-color:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;display:flex;flex-direction:column;gap:14px;padding:20px 24px}.cooking-timer.timer-finished{background-color:#ff70431a;border-color:#ff7043}.cooking-timer-display{align-items:center;display:flex;gap:12px}.timer-countdown{font-feature-settings:"tnum";color:#f5f5f5;font-size:42px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.04em}.timer-done-text{color:#ff7043;font-size:24px;font-weight:700}.cooking-timer-actions{display:flex;flex-wrap:wrap;gap:10px}.timer-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.timer-start{background-color:#ff7043;color:#fff}.timer-start:hover{background-color:#ff5722}.timer-toggle{background-color:#ffffff1f;color:#f5f5f5}.timer-toggle:hover{background-color:#fff3}.timer-reset{background:none;border:1px solid #fff3;color:#ffffff8c}.timer-reset:hover{border-color:#fff6;color:#fffc}.cooking-ingredients-section{border-top:1px solid #ffffff14;padding-top:20px}.cooking-ingredients-toggle{align-items:center;background:none;border:none;color:#ffffff8c;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:0;text-align:left;transition:color .2s;width:100%}.cooking-ingredients-toggle:hover{color:#ffffffd9}.cooking-ingredients-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:16px 0 0;padding:0}.cooking-ingredient-item{align-items:baseline;background:#ffffff0d;border-radius:8px;display:flex;font-size:15px;gap:8px;padding:8px 12px}.cooking-ing-qty{color:#ff9a80;font-weight:600;min-width:60px;white-space:nowrap}.cooking-ing-name{color:#f5f5f5}.cooking-ing-comment{color:#ffffff73;font-size:13px}.cooking-nav{border-top:1px solid #ffffff14;flex-shrink:0;gap:12px;justify-content:space-between;padding:16px 24px 28px}.cooking-nav,.cooking-nav-btn{align-items:center;display:flex}.cooking-nav-btn{border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;gap:6px;min-width:120px;padding:12px 20px;transition:all .2s}.cooking-nav-prev{background-color:#ffffff14;color:#ffffffb3;justify-content:flex-start}.cooking-nav-prev:hover:not(:disabled){background-color:#ffffff24;color:#fff}.cooking-nav-prev:disabled{cursor:not-allowed;opacity:.25}.cooking-nav-next{background-color:#ff7043;color:#fff;justify-content:flex-end}.cooking-nav-next:hover{background-color:#ff5722}.cooking-nav-finish{background-color:#4caf50;color:#fff;justify-content:flex-end}.cooking-nav-finish:hover{background-color:#43a047}.cooking-dots{display:flex;flex:1 1;flex-wrap:wrap;gap:6px;justify-content:center}.cooking-dot{background-color:#fff3;border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .2s;width:8px}.cooking-dot.dot-done{background-color:#ff704373}.cooking-dot.dot-active{background-color:#ff7043;transform:scale(1.35)}.cooking-empty{align-items:center;color:#fff9;display:flex;flex:1 1;flex-direction:column;font-size:16px;gap:20px;justify-content:center}@media (max-width:480px){.cooking-body{gap:20px;padding:24px 16px}.cooking-nav{padding:12px 16px 20px}.cooking-nav-btn{font-size:14px;min-width:100px;padding:10px 14px}.timer-countdown{font-size:34px}}.dark,:root{--favorite-color:#e91e63;--favorite-color-light:#ff4081}.recipes-list{background-color:var(--bg-primary);min-height:100vh;transition:background-color .3s ease}.recipes-list-header{background-color:var(--bg-paper);box-shadow:var(--shadow-light);padding:16px 24px;position:sticky;top:0;transition:all .3s ease;z-index:100}.recipes-list-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.back-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:0;text-decoration:none;transition:color .3s ease}.back-button:hover{color:var(--primary-color)}.header-title{color:var(--text-primary);font-size:18px;font-weight:600;transition:color .3s ease}.search-filter-section{display:flex;flex-direction:column;gap:8px;padding:10px 16px 4px}.search-input-wrapper{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:8px;height:42px;padding:0 12px}.search-icon{color:var(--text-secondary);flex-shrink:0}.recipe-search-input{background:none;border:none;color:var(--text-primary);flex:1 1;font-size:15px;outline:none}.recipe-search-input::placeholder,.search-clear-btn{color:var(--text-secondary)}.search-clear-btn{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:0}.category-chips-row{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.category-chips-row::-webkit-scrollbar{display:none}.category-chip{background:#0000;border:1.5px solid var(--border-color);border-radius:20px;flex-shrink:0;font-size:13px;font-weight:500;padding:5px 14px;transition:all .15s;white-space:nowrap}.chip-all{border-color:var(--border-color);color:var(--text-secondary)}.chip-all-active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.search-section{margin:0 auto;max-width:900px}.categories-section{background-color:var(--bg-paper);border-bottom:1px solid var(--border-color);padding:16px 24px;transition:all .3s ease}.categories-header{align-items:center;display:flex;margin:0 auto;max-width:1200px}.categories-button{align-items:center;background:var(--bg-paper);border:2px solid var(--primary-color);border-radius:8px;color:var(--primary-color);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.categories-button:hover{background:var(--primary-color);color:var(--bg-paper)}.categories-badge{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.categories-button:hover .categories-badge{background:var(--bg-paper);color:var(--primary-color)}.selected-categories-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px auto 0;max-width:1200px}.selected-category-chip{align-items:center;background:var(--primary-color);border-radius:16px;color:#fff;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s ease}.remove-category-chip{align-items:center;background:#ffffff4d;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:18px;justify-content:center;transition:background .2s ease;width:18px}.remove-category-chip:hover{background:#ffffff80}.categories-drawer-content{display:flex;flex-direction:column;height:100%}.categories-drawer-subtitle{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:20px}.categories-list{flex:1 1;margin-bottom:20px;overflow-y:auto}.category-item{align-items:center;background:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;margin-bottom:10px;padding:15px;text-align:left;transition:all .2s ease;width:100%}.category-item:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.category-item.active{background:var(--bg-tertiary);border-color:var(--primary-color)}.category-color{border-radius:4px;flex-shrink:0;height:16px;margin-right:12px;width:16px}.category-name{color:var(--text-primary);flex:1 1;font-size:15px;font-weight:500}.category-check{color:var(--primary-color);font-size:18px;font-weight:700}.categories-drawer-actions{border-top:1px solid var(--border-color);display:flex;gap:12px;padding-top:16px}.categories-clear-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-weight:500;padding:12px;transition:all .2s ease}.categories-clear-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--text-primary)}.categories-clear-button:disabled{cursor:not-allowed;opacity:.5}.categories-apply-button{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:2 1;font-weight:500;padding:12px;transition:all .2s ease}.categories-apply-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.recipes-list-container{margin:0 auto;max-width:1200px;padding:32px 24px 100px}.section-header{margin-bottom:24px}.section-title{color:var(--text-primary);font-size:20px;font-weight:600;transition:color .3s ease}.results-header{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;margin-bottom:24px;padding-top:16px}.action-buttons{display:flex;gap:10px}.shopping-button{background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;position:relative;transition:all .3s}.shopping-button:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.shopping-button:disabled{background-color:var(--text-disabled);box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.shopping-button.active{box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.counter{align-items:center;background-color:var(--error-color);border-radius:50%;box-shadow:var(--shadow-light);color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.recipes-list-view{display:block}.quick-btn-count{align-items:center;background-color:var(--error-color);border-radius:50%;box-shadow:var(--shadow-light);color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;position:absolute;right:-6px;top:-6px;width:18px}.btn{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn:hover{box-shadow:var(--shadow-light);transform:translateY(-2px)}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.recipe-list-item{background-color:var(--bg-paper);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:12px;box-shadow:var(--shadow-light);cursor:pointer;margin-bottom:12px;padding:16px;transition:all .3s ease}.recipe-list-item:hover{box-shadow:var(--shadow-heavy);transform:translateX(8px)}.list-item-main{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto}.list-item-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.list-item-header{align-items:center;display:flex;gap:12px}.list-item-title{color:var(--primary-color);font-size:20px;font-weight:600;transition:color .3s ease}.list-item-rating{align-items:center;color:#fbbf24;display:flex;font-size:14px;gap:4px}.list-item-inline{align-items:center;display:flex;gap:12px}.list-item-meta{color:var(--text-secondary);display:flex;font-size:14px;gap:12px;margin:0;transition:color .3s ease}.list-item-meta-item{align-items:center;display:flex;gap:6px}.list-item-tags{display:flex;flex-wrap:wrap;gap:6px}.list-tag{background-color:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);font-size:12px;padding:4px 10px;transition:all .3s ease}.list-tag-default{background:#3f51b5;color:#fff;font-weight:600}.list-item-actions{align-items:center;display:flex;gap:12px}.list-action-btn{align-items:center;background:var(--bg-paper);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 5px #0000001a;box-sizing:border-box;color:#aaa;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;position:relative;transition:all .2s;width:40px}.list-action-btn:hover{box-shadow:0 3px 8px #00000026;transform:translateY(-1px)}.list-action-btn.favorite-active{color:#ff9800}.list-action-btn.shopping-active{color:var(--primary-color)}.add-recipe-fixed{align-items:center;background-color:var(--text-primary);border:none;border-radius:50%;bottom:32px;box-shadow:var(--shadow-heavy);color:var(--bg-primary);cursor:pointer;display:flex;font-size:28px;height:56px;justify-content:center;position:fixed;right:32px;transition:all .3s ease;width:56px;z-index:1000}.add-recipe-fixed span{display:block}.add-recipe-fixed:hover{box-shadow:0 12px 32px #0000004d;transform:scale(1.1)}.recipes-list-fixed-footer{display:none}.generate-shopping-action{display:flex;justify-content:center;margin:0}.shopping-footer-button{background-color:var(--primary-color);border:none;border-radius:30px;box-shadow:var(--shadow-medium);color:#fff;cursor:pointer;font-size:18px;font-weight:500;min-width:280px;padding:15px 30px;transition:all .2s}.shopping-footer-button:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.empty-recipes-message{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-light);padding:64px 40px;text-align:center;transition:all .3s ease}.empty-recipes-message p{color:var(--text-secondary);font-size:16px;margin:0 auto 20px;max-width:500px}.empty-state-illustration{margin-bottom:24px;opacity:.85}.empty-state-title{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 12px}.empty-state-subtitle{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 auto 28px;max-width:360px}.empty-state-cta{background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 28px;transition:all .2s}.empty-state-cta:hover{background-color:#f4511e;box-shadow:0 4px 12px #ff70434d;transform:translateY(-1px)}.action-button{background-color:var(--primary-color);border-radius:8px;padding:12px 24px;transition:all .3s ease}.action-button:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.loading{height:100vh}@media (max-width:768px){.recipes-list-container{padding:20px 16px 120px}.recipe-list-item{padding:16px}.list-item-main{display:block}.list-item-title{font-size:18px;margin-bottom:10px}.list-item-inline{display:block}.list-item-meta{margin-bottom:10px}.list-item-actions{border-top:1px solid var(--border-color);justify-content:flex-end;margin-top:12px;padding-top:12px}.results-header{display:none}.recipes-list-fixed-footer{background-color:var(--bg-primary);border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 4px #0000001a;display:block;left:0;padding:15px;position:fixed;right:0;z-index:999}.shopping-footer-button{min-width:auto;width:100%}.add-recipe-fixed{bottom:90px;right:20px}}.planning-drawer .drawer-body{padding:20px}.week-navigator{background-color:var(--bg-secondary);border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:12px}.week-nav-btn,.week-navigator{align-items:center;border:1px solid var(--border-color);display:flex;transition:all .3s ease}.week-nav-btn{background-color:var(--bg-paper);border-radius:50%;color:var(--text-primary);cursor:pointer;font-size:20px;height:36px;justify-content:center;width:36px}.week-nav-btn:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1)}.week-nav-btn:disabled{cursor:not-allowed;opacity:.3}.week-title{color:var(--text-primary);font-size:16px;font-weight:600;transition:color .3s ease}.planning-section{margin-bottom:24px}.planning-section-title{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:12px;transition:color .3s ease}.day-selector{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.day-card{background-color:var(--bg-paper);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;padding:12px 4px;position:relative;text-align:center;transition:all .3s ease}.day-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-light);transform:translateY(-2px)}.day-card.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.day-card.today{border-color:var(--primary-color);border-width:2px}.day-name{font-size:13px;font-weight:600;margin-bottom:6px;text-transform:capitalize}.day-date{font-size:20px;font-weight:700}.today-indicator{color:var(--primary-color);font-size:10px;font-weight:600;margin-top:4px}.day-card.selected .today-indicator{color:#fff}.meal-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.meal-card{align-items:center;background-color:var(--bg-paper);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;gap:16px;padding:16px;transition:all .3s ease}.meal-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-light);transform:translateX(4px)}.meal-card.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.meal-icon{flex-shrink:0;font-size:32px}.meal-name{font-size:16px;font-weight:600}.planning-actions{border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px}.btn-validate-planning{background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease;width:100%}.btn-validate-planning:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-validate-planning:disabled{background-color:var(--text-disabled);cursor:not-allowed;opacity:.5;transform:none}.planning-success-message{flex-direction:column;padding:60px 20px;text-align:center}.planning-success-message,.success-icon{align-items:center;display:flex;justify-content:center}.success-icon{animation:successPop .5s ease;background-color:#4caf50;border-radius:50%;color:#fff;font-size:48px;height:80px;margin-bottom:20px;width:80px}.success-text{color:var(--text-primary);font-size:18px;font-weight:600;transition:color .3s ease}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.search-help-toggle{margin-top:12px}.search-help-panel{box-shadow:var(--shadow-light);margin-top:15px;padding:20px;text-align:left}.search-help-panel h4{font-weight:600;margin:0 0 15px}.search-help-panel ul{list-style-type:none}.search-help-panel li{color:var(--text-primary);line-height:1.6;margin-bottom:12px;padding-left:20px;position:relative}.search-help-panel li:before{color:var(--primary-color);content:"→";font-weight:700;left:0;position:absolute}.search-help-panel li:last-child{margin-bottom:0}.search-help-panel code{border-radius:4px;font-family:Courier New,monospace;font-weight:600;padding:2px 6px}.drawer-container{animation:fadeIn .3s ease;background-color:#0006;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:1000}.drawer-content{animation:slideIn .3s ease;background-color:var(--bg-paper);box-shadow:-2px 0 10px #0000001a;display:flex;flex-direction:column;height:100%;width:33.333%}.drawer-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px}.drawer-title{color:var(--text-primary);font-size:22px;font-weight:700;margin:0}.drawer-close-button{align-items:center;background:none;background-color:var(--bg-secondary);border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;line-height:1;transition:background-color .2s ease,color .2s ease;width:30px}.drawer-close-button:hover{background-color:var(--bg-tertiary)}.drawer-body{flex:1 1;overflow-y:auto;padding:20px}@media (max-width:768px){.drawer-content{width:100%}}.edit-recipe-container{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:90px 20px 20px}.page-header-actions .save-button,.save-button{background-color:#ff7043;border:none;border-radius:8px;box-shadow:0 2px 6px #ff704359;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.page-header-actions .save-button:hover:not(:disabled),.save-button:hover:not(:disabled){background-color:#f4511e;box-shadow:0 4px 10px #ff704373;transform:translateY(-1px)}.page-header-actions .save-button:disabled,.save-button:disabled{background-color:#ffccbc;box-shadow:none;cursor:not-allowed}.cancel-button,.page-header-actions .cancel-button{background-color:initial;border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:15px;padding:10px 20px;transition:all .2s}.cancel-button:hover,.page-header-actions .cancel-button:hover{background-color:var(--bg-secondary);border-color:var(--text-primary);color:var(--text-primary)}.cancel-button.small{font-size:.9rem;padding:8px 16px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.message{border-radius:4px;padding:12px 15px}.message.success{background-color:#4caf501f}.message.error{background-color:#f443361f;border-left:4px solid var(--error-color);color:var(--error-color)}.star-picker{align-items:center;display:flex;gap:4px}.star-picker-btn{background:none;border:none;cursor:pointer;line-height:0;padding:2px;transition:transform .1s ease}.star-picker-btn:hover{transform:scale(1.2)}.star-picker-filled{color:#f59e0b}.star-picker-empty{color:var(--border-color)}.star-clear-btn{background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;margin-left:8px;padding:2px 8px;transition:all .2s}.star-clear-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.form-section{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-light);margin-bottom:25px;padding:20px}.form-section-header,.section-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.form-section-title,.section-header h2{color:var(--primary-color);font-size:1.4rem;font-weight:400;margin:0}.input-group{margin-bottom:15px}.input-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:6px}.input-group input,.input-group textarea{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:16px;padding:10px;width:100%}.input-group input:focus,.input-group textarea:focus{border-color:#ff7043;box-shadow:0 0 0 2px #ff704333;outline:none}.input-group textarea{min-height:60px;overflow:hidden;resize:none;transition:height .1s ease}.input-row{display:flex;gap:15px;margin-bottom:15px}.input-row .input-group{flex:1 1;margin-bottom:0}.difficulty-selector{display:flex;gap:0}.difficulty-selector button{background-color:var(--bg-paper);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;flex:1 1;font-size:14px;padding:10px;transition:all .2s}.difficulty-selector button:first-child{border-radius:4px 0 0 4px}.difficulty-selector button:nth-child(2){border-radius:0}.difficulty-selector button:last-child{border-radius:0 4px 4px 0}.difficulty-selector button:hover{border-color:#ff7043}.difficulty-selector button.selected{background-color:#ff7043;border-color:#ff7043;color:#fff}.categories-container{margin-bottom:20px}.category-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.category-chip{align-items:center;background-color:var(--bg-secondary);border-radius:50px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;padding:6px 12px;transition:all .2s ease}.category-chip:hover{background-color:var(--bg-tertiary)}.category-chip.selected{color:#fff}.color-dot{border-radius:50%;height:12px;margin-right:8px;width:12px}.new-category-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;margin-top:15px;padding:15px}.form-row .color-input{flex-shrink:0;width:80px}.button-group{display:flex;gap:10px}.action-button{background-color:#ff7043;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.action-button:hover{background-color:#f4511e}.add-button{background-color:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;margin-top:5px;padding:10px;text-align:center;transition:background-color .2s;width:100%}.add-button:hover{background-color:var(--bg-tertiary);color:#ff7043}.ingredient-row{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:15px;position:relative}.ingredient-header,.ingredient-row{margin-bottom:10px}.ingredient-row .input-row .input-group.ingredient-quantity,.ingredient-row .input-row .input-group.ingredient-unit{flex:0.5 1!important}.ingredient-row .input-row .input-group.ingredient-name{flex:4 1!important}.ingredient-comment{margin-top:5px}.remove-button{background-color:var(--bg-tertiary);border:1px solid var(--border-color);height:36px;padding:0;right:15px;top:15px;width:36px}.remove-button:hover:not(:disabled){background-color:#e539351a;border-color:#e539354d;color:#e53935}.remove-button:disabled{cursor:not-allowed;opacity:.5}.trash-icon{height:18px;width:18px}.step-row{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;display:flex;margin-bottom:15px;padding:15px;position:relative}.step-number{align-items:center;background-color:#ff7043;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:30px;justify-content:center;margin-right:15px;width:30px}.step-content{flex:1 1}.add-recipe-step-time{width:150px}.step-row .remove-button{position:absolute;right:15px;top:15px}.loading{color:var(--text-secondary);text-align:center}@media (max-width:768px){.edit-recipe-container{padding:80px 15px 15px}.section-header{align-items:flex-start;flex-direction:column}.section-header h2{margin-bottom:10px}.input-row{flex-direction:column;gap:10px}.input-row .input-group{width:100%}.step-row{flex-direction:column;padding-top:50px}.step-row .step-number{left:15px;position:absolute;top:15px}}.pending-recipe-banner{align-items:center;background-color:#ff9800;background-color:var(--warning-color,#ff9800);box-shadow:0 2px 6px #00000026;color:#fff;display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:12px 20px;position:sticky;top:0;z-index:99}.pending-recipe-banner strong{font-weight:700}.pending-recipe-cancel{background:#ffffff40;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;padding:4px 10px;transition:background .2s;white-space:nowrap}.pending-recipe-cancel:hover{background:#fff6}.meal-planner-container{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh;margin:0 auto;max-width:1200px;transition:background-color .3s ease,color .3s ease}.header-today-button{background:var(--primary-color);border:none;border-radius:18px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s;white-space:nowrap}.header-today-button:hover{background-color:var(--primary-hover);box-shadow:0 2px 4px #ff70434d;transform:translateY(-1px)}.week-navigation{background:linear-gradient(to bottom,var(--bg-secondary),var(--bg-primary));border-top:1px solid var(--border-color);gap:12px;padding:12px 20px}.nav-arrow-button,.week-navigation{align-items:center;display:flex;justify-content:center}.nav-arrow-button{background:var(--primary-color);border:none;border-radius:50%;box-shadow:0 2px 6px #ff704359;color:#fff;cursor:pointer;flex-shrink:0;height:40px;padding:0;transition:all .2s;width:40px}.nav-arrow-button:hover{background-color:var(--primary-hover);box-shadow:0 4px 10px #ff704373;transform:scale(1.08)}.week-info-center{min-width:280px;text-align:center}.week-range-display{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:3px}.week-meta-info{color:var(--text-secondary);font-size:12px;gap:10px;justify-content:center}.week-meta-info,.week-number{align-items:center;display:flex}.week-number{gap:4px}.week-current-indicator{animation:pulse 2s ease-in-out infinite;color:#4caf50;font-size:14px;line-height:1;margin-left:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.meal-planner-scrollable{flex:1 1;overflow-y:auto;padding:6px 0;scroll-behavior:smooth}.pending-recipes-container{background-color:var(--bg-paper);border:2px dashed var(--primary-light);border-radius:8px;box-shadow:var(--shadow-light);margin-bottom:25px;padding:20px;position:relative}.pending-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.pending-header h3{color:var(--primary-color);font-size:18px;margin:0}.close-panel-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:24px;padding:0 5px;transition:color .2s}.close-panel-btn:hover{color:var(--text-primary)}.help-text{color:var(--text-secondary);font-size:14px;margin-bottom:20px;text-align:center}.pending-recipes{display:flex;flex-wrap:wrap;gap:15px}.pending-recipe{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-light);cursor:grab;display:flex;flex-direction:column;min-width:250px;padding:15px;position:relative;transition:all .2s;width:calc(33.33% - 10px)}.pending-recipe:hover{border-color:var(--primary-color);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.pending-recipe.dragging{box-shadow:var(--shadow-heavy);opacity:.6}.pending-recipe-color-indicator{background-color:var(--primary-color);border-radius:4px 0 0 4px;bottom:0;left:0;position:absolute;top:0;width:5px}.pending-recipe-content{flex:1 1;padding-left:10px}.pending-recipe h4{color:var(--text-primary);font-size:16px;margin-bottom:8px;margin-top:0}.pending-recipe p{color:var(--text-secondary);font-size:14px;margin:5px 0}.remove-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .2s;width:24px}.remove-button:hover{background-color:var(--bg-secondary);color:var(--error-color)}.pending-recipe.add-more{align-items:center;background-color:var(--bg-secondary);border:2px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;font-weight:500;justify-content:center;transition:all .2s}.pending-recipe.add-more:hover{background-color:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.day-based-planner{display:flex;flex-direction:column;gap:5px}.day-plan{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-light);display:flex;overflow:hidden;transition:all .2s}.day-plan:hover{box-shadow:var(--shadow-medium)}.day-plan.today{border-color:var(--primary-color);box-shadow:0 0 0 2px #ff70431a}.day-plan.weekend{background-color:var(--bg-tertiary)}.day-color-bar{background-color:var(--primary-color);flex-shrink:0;width:5px}.day-header{align-items:center;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:center;padding:10px 12px;text-align:center;width:120px}.day-header h3{color:var(--text-primary);font-size:15px;margin:0 0 2px;text-transform:capitalize}.day-date{color:var(--text-secondary);font-size:12px;font-weight:400}.day-meals{display:flex;flex:1 1;flex-direction:column}.meal-slot{border-bottom:1px solid var(--border-color);flex:1 1;min-height:44px;position:relative;transition:all .2s}.meal-slot:last-child{border-bottom:none}.meal-slot:hover{background-color:var(--bg-secondary)}.meal-slot.dragover,.meal-slot.selected{background-color:var(--bg-tertiary);border:2px dashed var(--primary-light)}.meal-type{color:var(--text-secondary);font-size:12px;font-weight:500;left:15px;letter-spacing:.5px;position:absolute;text-transform:uppercase;top:8px}.planned-meal{align-items:center;display:flex;gap:6px;height:100%;justify-content:space-between;padding:22px 12px 8px}.planned-recipe-name{color:var(--text-primary);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease;white-space:nowrap}.planned-recipe-name:hover{color:var(--primary-color)}.meal-actions{display:flex;flex-shrink:0;gap:2px}.meal-action-button{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:30px;justify-content:center;opacity:.7;transition:background-color .15s,color .15s;width:30px}.meal-action-button:hover{background-color:var(--bg-secondary);color:var(--text-primary);opacity:1}.meal-action-remove:hover{background-color:initial;color:var(--error-color)}.empty-meal{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;height:100%;justify-content:center;min-height:30px;padding:18px 12px 8px;transition:all .2s}.empty-meal:hover{background-color:var(--bg-secondary);color:var(--primary-color)}.meal-planner-fixed-footer{background-color:var(--bg-primary);border-top:1px solid var(--border-color);box-shadow:0 -2px 4px #0000001a;flex-shrink:0;padding:15px 20px}.generate-shopping-list{display:flex;justify-content:center;margin:0}.shopping-list-button{background-color:var(--primary-color);border:none;border-radius:30px;box-shadow:var(--shadow-medium);color:#fff;cursor:pointer;font-size:18px;font-weight:500;min-width:280px;padding:15px 30px;transition:all .2s}.shopping-list-button:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.drawer-search-section{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.drawer-subtitle{margin-bottom:20px}.drawer-subtitle h3{color:var(--text-primary);font-size:18px;font-weight:700;margin:0 0 15px}.drawer-container{z-index:1200}.search-help-toggle{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;margin-top:8px;padding:0;text-align:left;transition:all .2s}.search-help-toggle:hover{text-decoration:underline}.search-section{margin-bottom:30px}.search-help-panel{animation:fadeIn .3s ease;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;margin:8px 0 20px;padding:15px 20px}.search-help-panel h4{color:var(--primary-color);font-size:16px;font-weight:500;margin:0 0 10px}.search-help-panel ul{margin:0;padding-left:20px}.search-help-panel li{color:var(--text-secondary);line-height:1.4;margin-bottom:8px}.search-help-panel code{background-color:#ff70431a;border-radius:3px;color:var(--primary-color);font-family:monospace;font-size:13px;padding:2px 5px}.drawer-body .search-help-panel{margin-bottom:20px}@media (max-width:992px){.pending-recipe{width:calc(50% - 10px)}.day-header{padding:15px;width:120px}}@media (max-width:768px){.meal-planner-container{height:100vh}.meal-planner-scrollable{padding:15px}.week-navigation{gap:8px;justify-content:flex-start;padding:10px 15px}.week-info-center{flex:1 1;min-width:auto}.nav-arrow-button{font-size:16px;height:32px;width:32px}.week-range-display{font-size:13px}.week-meta-info{flex-direction:column;font-size:10px;gap:3px}.week-number{font-size:10px}.week-current-indicator{font-size:12px}.header-today-button{font-size:11px;padding:5px 10px}.pending-recipe{width:100%}.day-plan{flex-direction:column}.day-color-bar{height:5px;width:100%}.day-header{align-items:center;border-bottom:1px solid var(--border-color);border-right:none;display:flex;flex-direction:row;justify-content:space-between;padding:15px;width:100%}.day-meals{flex-direction:column}.meal-slot{min-height:60px;width:100%}.shopping-list-button{min-width:auto;width:100%}.meal-planner-fixed-footer{padding:15px}}@media (hover:none){.empty-meal{min-height:60px}.meal-action-button{height:34px;opacity:1;width:34px}}.drawer-recipes-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.drawer-recipe-card{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-light);cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.drawer-recipe-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.recipe-color-bar{background-color:var(--primary-color);height:4px;width:100%}.drawer-recipe-content{padding:15px}.drawer-recipe-content h4{color:var(--text-primary);font-size:16px;font-weight:500;margin:0 0 10px}.drawer-recipe-stats{color:var(--text-secondary);display:flex;font-size:13px;gap:15px}.recipe-stat{align-items:center;display:flex;gap:5px}.recipe-stat-icon{font-size:14px}.empty-results{color:var(--text-secondary);padding:40px 20px;text-align:center}.empty-results p{color:var(--text-secondary);font-size:14px;margin:10px 0}.empty-results .action-button{background-color:var(--primary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;margin-top:20px;padding:10px 20px;transition:background-color .2s ease}.empty-results .action-button:hover{background-color:var(--primary-hover)}.loading-recipes{color:var(--text-secondary);font-size:14px;padding:40px 20px;text-align:center}@media (max-width:768px){.drawer-recipes-grid{gap:12px;grid-template-columns:1fr}.drawer-recipe-card{min-height:80px}}:root{--primary-color:#ff7043;--text-color:#333;--text-secondary:#666;--card-background:#fff;--card-hover-background:#f5f5f5;--border-color:#e0e0e0;--border-hover-color:#d0d0d0}[data-theme=dark]{--text-color:#fff;--text-secondary:#b0b0b0;--card-background:#2d2d2d;--card-hover-background:#3d3d3d;--border-color:#404040;--border-hover-color:#505050}@media (max-width:768px){.shopping-list-container{height:100vh}.shopping-list-scrollable{padding:15px}.progress-section,.shopping-list-fixed-footer{padding:12px 15px}.shopping-list-actions{align-items:center;flex-direction:row;justify-content:space-between;padding:12px 15px}.filter-buttons,.option-buttons{display:flex;flex-wrap:nowrap;gap:8px}}.error-message{border-left:4px solid var(--error-color);border-radius:8px;color:var(--error-color);margin-bottom:20px;padding:15px}.error-message,.message.success{background-color:var(--bg-secondary)}.message.success{border-left:4px solid var(--success-color);color:var(--success-color)}.message.info{border-left:4px solid var(--info-color);color:var(--info-color)}.message.info,.message.warning{background-color:var(--bg-secondary)}.message.warning{border-left:4px solid var(--warning-color);color:var(--warning-color)}.progress-section{background-color:var(--bg-paper);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);border-radius:0;border-radius:8px;box-shadow:none;margin:0 0 16px;padding:15px 20px}.progress-dates{color:var(--text-primary);font-weight:700;margin-bottom:15px;text-align:center}.progress-bar-container{background-color:var(--bg-secondary);border-radius:6px;height:12px;margin-bottom:10px;overflow:hidden}.progress-bar{background-color:var(--success-color);border-radius:6px;height:100%;transition:width .3s ease}.progress-info{color:#666;color:var(--text-secondary);font-size:14px}.progress-info,.shopping-list-actions{display:flex;justify-content:space-between}.shopping-list-actions{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;gap:15px;margin-bottom:25px;padding:15px 20px}.filter-buttons,.option-buttons{display:flex;flex-wrap:wrap;gap:10px}.actions-button:not(.actions-dropdown .actions-button){display:none}.filter-button,.option-button{background-color:var(--bg-paper);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 15px;transition:all .2s}.filter-button:hover,.option-button:hover{border-color:#ff7043;border-color:var(--primary-color);color:#ff7043;color:var(--primary-color)}.filter-button.active,.option-button.active{background-color:#ff7043;background-color:var(--primary-color);border-color:#ff7043;border-color:var(--primary-color);color:#fff}.actions-dropdown{display:inline-block;position:relative}.actions-button{align-items:center;background-color:var(--bg-paper);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;padding:8px 15px;transition:all .2s}.actions-button:hover{border-color:#ff7043;border-color:var(--primary-color);color:#ff7043;color:var(--primary-color)}.actions-menu{background-color:var(--bg-paper);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-heavy);margin-top:5px;overflow:hidden;position:absolute;right:0;top:100%;width:220px;z-index:1000}.menu-action{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;padding:12px 15px;transition:background-color .2s}.menu-action:hover{background-color:var(--bg-secondary)}.menu-action svg{color:#666;color:var(--text-secondary);margin-right:10px}.menu-action.danger,.menu-action.danger svg{color:var(--error-color)}.menu-divider{background-color:#e0e0e0;background-color:var(--border-color);height:1px;margin:5px 0}.shopping-list-scrollable{background-color:var(--bg-primary);background-color:var(
    --bg-paper
  );flex:1 1;overflow-y:auto;padding:10px 20px 0}.shopping-list-scrollable .error-message,.shopping-list-scrollable .message{margin-bottom:15px}.shopping-list-scrollable .shopping-list{margin-bottom:0}.shopping-list-fixed-footer{background-color:var(--bg-primary);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);box-shadow:0 -2px 4px #0000001a;flex-shrink:0;padding:15px 20px;z-index:100}.shopping-list-fixed-footer .add-item-button{margin-top:0;width:100%}.shopping-list-container{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh;margin:0 auto;max-width:1200px;padding-top:20px;transition:background-color .3s ease,color .3s ease}.shopping-list{margin-bottom:20px}.category-section{margin-bottom:25px}.category-header{align-items:center;background-color:var(--bg-secondary);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:10px;padding:10px 15px}.category-header h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.category-count{color:#666;color:var(--text-secondary);font-size:14px;font-weight:400}.shopping-item{background:#fff;background:var(--card-background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px;transition:all .2s ease}.shopping-item:hover{background:#f5f5f5;background:var(--card-hover-background);border-color:#d0d0d0;border-color:var(--border-hover-color)}.shopping-item.checked{opacity:.6}.item-container{align-items:center;display:flex;gap:12px;padding:8px}.item-checkbox{cursor:pointer;flex-shrink:0;padding:4px}.shopping-item.checked .item-text{color:#666;color:var(--text-secondary);text-decoration:line-through}.checkbox{background:#0000;border:2px solid #ff7043;border:2px solid var(--primary-color);border-radius:4px;color:#fff;display:inline-block;font-size:12px;height:20px;line-height:16px;text-align:center;transition:all .2s ease;width:20px}.checkbox.checked{background:#ff7043;background:var(--primary-color)}.item-content{cursor:pointer;flex:1 1;min-width:0}.item-text{color:#333;color:var(--text-color)}.item-name,.item-text{font-size:16px;font-weight:500}.item-name{color:var(--text-primary);flex:1 1}.item-quantity{color:#666;color:var(--text-secondary);font-weight:400}.item-actions{align-items:center;display:flex;gap:8px}.items-list{list-style:none;margin:0;padding:0}.delete-item-button{background:none;border:none;border-radius:6px;color:#666;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:18px;padding:8px;transition:all .2s ease}.trash-icon{align-items:center;display:flex;font-size:18px;justify-content:center}.add-item-button{background-color:#ff7043;background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:500;margin-top:20px;padding:12px;transition:background-color .2s;width:100%}.add-item-button:hover{background-color:var(--primary-hover)}.add-item-form{background-color:var(--bg-paper);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-medium);margin-top:20px;padding:20px}.add-item-form h3{color:#ff7043;color:var(--primary-color);margin-bottom:15px;margin-top:0}.form-row{display:flex;gap:10px;margin-bottom:15px}.form-row input,.form-row select{background-color:var(--bg-paper);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);flex:1 1;font-size:14px;padding:10px}.form-row input:focus,.form-row select:focus{border-color:#ff7043;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff704333;outline:none}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-button{background-color:var(--bg-secondary);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;color:#666;color:var(--text-secondary);cursor:pointer;padding:10px 20px;transition:all .2s}.cancel-button:hover{background-color:var(--bg-tertiary)}.save-button{background-color:#ff7043;border-radius:4px;padding:10px 20px;transition:background-color .2s}.save-button:hover{background-color:var(--primary-hover)}.loading{align-items:center;color:#ff7043;color:var(--primary-color);display:flex;font-size:18px;height:100px;justify-content:center;margin:50px 0}.empty-list-container{background-color:var(--bg-paper);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-light);margin-bottom:20px;padding:30px 20px;text-align:center}.empty-list-message p{color:#666;color:var(--text-secondary);margin:5px 0}.inline-text-link{background:none;border:none;color:#ff7043;color:var(--primary-color);cursor:pointer;font-size:inherit;font-weight:500;padding:0;text-decoration:underline;text-underline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.shopping-list-container{padding:15px}.shopping-list-actions{align-items:center;flex-direction:row;justify-content:space-between}.filter-buttons,.option-buttons{display:flex;flex-wrap:nowrap;gap:8px}.form-row{flex-direction:column}.item-container,.shopping-item{padding:4px}.checkbox{height:15px;line-height:12px;vertical-align:middle;width:15px}.item-name,.item-text{font-size:15px}}.shopping-message{border-radius:8px;font-size:14px;font-weight:500;margin:8px 16px;padding:10px 14px}.shopping-message-success{background:#4caf501f;border:1px solid #4caf5040;color:#4caf50}.shopping-message-error{background:#f443361f;border:1px solid #f4433640;color:#f44336;color:var(--error-color,#f44336)}.edit-item-button{background:none;border:none;border-radius:6px;color:#666;color:var(--text-secondary);cursor:pointer;flex-shrink:0;padding:8px;transition:color .2s ease}.edit-item-button:hover{color:#ff7043;color:var(--primary-color)}.item-edit-form{align-items:center;display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px}.item-edit-input{background:var(--bg-secondary);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;padding:5px 8px}.item-edit-input:focus{border-color:#ff7043;border-color:var(--primary-color);outline:none}.item-edit-name{flex:1 1;min-width:100px}.item-edit-qty,.item-edit-unit{width:64px}.item-edit-cat{flex:1 1;min-width:100px}.item-edit-actions{display:flex;gap:4px}.item-edit-cancel,.item-edit-save{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:5px 10px;transition:opacity .2s}.item-edit-save{background:#ff7043;background:var(--primary-color);color:#fff}.item-edit-cancel{background:var(--bg-secondary);color:#666;color:var(--text-secondary)}.item-edit-cancel:hover,.item-edit-save:hover{opacity:.8}@media (max-width:480px){.item-edit-form{gap:4px}.item-edit-qty,.item-edit-unit{width:52px}}@media print{.shopping-list-container{background-color:#fff!important;color:#000!important;max-width:100%;padding:0}.add-item-button,.add-item-form,.item-actions,.shopping-list-actions{display:none!important}.progress-section{border:1px solid #ddd;box-shadow:none}.shopping-item{background-color:#fff!important;border:1px solid #eee;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.category-header{background-color:#f8f8f8!important;border:1px solid #eee}}.save-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s}.save-button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.save-button:disabled{background-color:var(--text-disabled);cursor:not-allowed;opacity:.6;transform:none}.user-settings-container{background-color:var(--bg-primary);color:var(--text-primary);font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px;transition:background-color .3s ease,color .3s ease}.message{animation:fadeIn .3s;border-radius:6px;font-weight:500;margin-bottom:20px;padding:15px}.message-success,.message.success{background-color:var(--success-color);border-left:4px solid var(--success-color);color:#fff}.message-error,.message.error{background-color:var(--error-color);border-left:4px solid var(--error-color);color:#fff}.message-info,.message.info{background-color:var(--info-color);border-left:4px solid var(--info-color);color:#fff}.message-warning{background-color:var(--warning-color);border-left:4px solid var(--warning-color);color:#fff}.settings-section{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-light);margin-bottom:25px;padding:25px;transition:all .3s ease}.settings-section:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.section-header{border-bottom:1px solid var(--border-color);margin-bottom:25px;padding-bottom:15px}.section-header h2{align-items:center;color:var(--primary-color);display:flex;font-size:1.6rem;font-weight:500;margin:0}.profile-info{align-items:flex-start;display:flex;gap:25px}.profile-avatar{flex-shrink:0}.avatar-circle{align-items:center;background-color:var(--primary-color);border-radius:50%;box-shadow:0 4px 8px #ff70434d;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;width:80px}.profile-details{display:flex;flex:1 1;flex-direction:column;gap:20px}.form-group,.input-group{display:flex;flex-direction:column;gap:8px}.form-group label,.input-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.input-group input,.input-group select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:16px;padding:12px 16px;transition:all .2s}.form-group input:focus,.form-group select:focus,.input-group input:focus,.input-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff70431a;outline:none}.email-container{align-items:center;display:flex;gap:10px}.disabled-input,.email-input-disabled{background-color:var(--bg-secondary)!important;color:var(--text-disabled)!important;cursor:not-allowed!important;flex:1 1;opacity:.6}.disabled-input:focus{border-color:var(--border-color)!important;box-shadow:none!important}.verify-email-button{background-color:var(--warning-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s;white-space:nowrap}.verify-email-button:hover{background-color:#f57c00}.email-verified{color:var(--success-color);font-size:14px;font-weight:500;white-space:nowrap}.email-verification{align-items:center;display:flex;gap:12px;margin-top:8px}.warning-text{color:var(--warning-color);font-size:13px;font-weight:500}.link-button{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.link-button:hover{color:var(--primary-hover)}.password-section{margin-top:10px}.change-password-button{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 15px;transition:all .2s}.change-password-button:hover{background-color:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.password-form{animation:slideDown .3s ease;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:10px;padding:20px}.password-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-password-button{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:10px 20px;transition:all .2s}.cancel-password-button:hover{background-color:var(--bg-tertiary)}.save-password-button{background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px;transition:all .2s}.save-password-button:hover{background-color:var(--primary-hover)}.theme-toggle-container{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 0}.toggle-info label{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:4px}.toggle-description{color:var(--text-secondary);font-size:14px;margin:0}.toggle-switch{display:inline-block;flex-shrink:0;height:34px;position:relative;width:60px}.toggle-checkbox{display:none;height:0;opacity:0;width:0}.toggle-label{background-color:var(--border-color);border-radius:17px;cursor:pointer;display:block;height:34px;position:relative;transition:background-color .3s ease;width:60px}.toggle-checkbox:checked+.toggle-label{background-color:var(--primary-color)}.toggle-slider{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:26px;left:4px;position:absolute;top:4px;transition:transform .3s ease;width:26px}.toggle-checkbox:checked+.toggle-label .toggle-slider{transform:translateX(26px)}.toggle-switch:hover .toggle-label{box-shadow:0 0 0 3px #ff70431a}.preference-settings{display:flex;flex-direction:column;gap:20px}.preference-item{align-items:flex-start;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:20px;transition:all .2s}.preference-item:last-child{border-bottom:none;margin-bottom:20px}.preference-item:hover,.setting-item:hover{background-color:var(--bg-tertiary);border-color:var(--primary-color)}.setting-info{flex:1 1;margin-right:20px}.preference-item label,.setting-info label{color:var(--text-primary);cursor:pointer;display:block;font-size:16px;font-weight:500;gap:8px;margin-bottom:5px}.preference-item label{align-items:center;display:flex}.preference-description,.setting-info p{color:var(--text-secondary);font-size:14px;line-height:1.4;margin:0}.preference-description{font-size:13px;margin:6px 0 0 24px}.setting-controls{align-items:center;display:flex;gap:15px}.preference-item input[type=checkbox]{accent-color:var(--primary-color);margin:0;width:auto}.language-select,.units-select{background-color:var(--bg-paper);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.language-select:focus,.units-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff70431a;outline:none}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;padding:25px 20px;position:relative;text-align:center;transition:all .3s ease}.stat-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-heavy);transform:translateY(-5px)}.stat-card:before{background:linear-gradient(45deg,var(--primary-color),var(--warning-color));content:"";height:4px;left:0;position:absolute;right:0;top:0}.stat-icon{display:block;font-size:32px;margin-bottom:10px}.stat-value{color:var(--primary-color);font-size:28px;font-weight:700;margin-bottom:5px}.stat-label{color:var(--text-secondary);font-size:14px;font-weight:500}.danger-section{background-color:var(--bg-paper);border:1px solid var(--error-color)}.danger-section .section-header h2{color:var(--error-color)}.account-actions{padding:20px;text-align:center}.warning-button{align-items:center;background-color:var(--warning-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;margin:0 auto;padding:12px 24px;transition:all .2s}.warning-button:hover{background-color:#e65100;box-shadow:0 4px 8px #e651004d;transform:translateY(-2px)}.actions-separator{border:none;border-top:1px solid var(--border-color);margin:24px 0}.danger-button,.logout-button{align-items:center;background-color:var(--error-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;margin:0 auto;padding:12px 24px;transition:all .2s}.danger-button:hover,.logout-button:hover{background-color:#c62828;box-shadow:0 4px 8px #d32f2f4d;transform:translateY(-2px)}.danger-text{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-left:auto;margin-right:auto;margin-top:15px;max-width:500px}.loading,.user-settings-loading{align-items:center;background-color:var(--bg-primary);color:var(--primary-color);display:flex;flex-direction:column;font-size:18px;height:100vh;justify-content:center}.loading:after{animation:spin 1s linear infinite;border:3px solid var(--primary-color);border-radius:50%;border-top:3px solid #0000;content:"";height:20px;margin-left:10px;width:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.save-button:focus,.toggle-switch:focus-within .toggle-label{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:768px){.user-settings-container{padding:15px}.settings-section{margin-bottom:20px;padding:20px}.section-header h2{font-size:1.4rem}.theme-toggle-container{align-items:flex-start;flex-direction:column;gap:12px}.profile-info{align-items:center;flex-direction:column;gap:20px;text-align:center}.avatar-circle{font-size:24px;height:60px;width:60px}.profile-details{width:100%}.preference-item,.setting-item{align-items:flex-start;flex-direction:column;gap:15px}.setting-info{margin-right:0}.setting-controls{justify-content:space-between;width:100%}.email-container{align-items:stretch;flex-direction:column;gap:10px}.email-verification{align-items:flex-start;flex-direction:column;gap:6px}.email-verified,.verify-email-button{align-self:flex-start}.password-actions{flex-direction:column;gap:10px}.cancel-password-button,.save-password-button{width:100%}.stats-grid{gap:15px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px 15px}.stat-value{font-size:24px}}@media (max-width:480px){.user-settings-container{padding:10px}.settings-section{padding:15px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:15px}.toggle-switch{height:22px;width:45px}.toggle-slider{height:16px;left:3px;top:3px;width:16px}.toggle-checkbox:checked+.toggle-label .toggle-slider{transform:translateX(23px)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (hover:none){.danger-button:hover,.logout-button:hover,.settings-section:hover,.stat-card:hover{transform:none}}body{background-color:#f9f9f9;font-family:Arial,sans-serif;margin:0;padding:0}.app{min-height:100vh;position:relative}.loading-screen{align-items:center;color:#ff7043;display:flex;font-size:20px;height:100vh;justify-content:center}.verification-message{align-items:center;animation:slideDown .3s ease-out;border-radius:4px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;left:50%;max-width:90%;padding:15px 20px;position:fixed;top:20px;transform:translateX(-50%);width:600px;z-index:1000}.verification-message.success{background-color:#e8f5e9;border-left:4px solid #4caf50;color:#388e3c}.verification-message.error{background-color:#ffebee;border-left:4px solid #f44336;color:#d32f2f}.close-message{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;margin-left:15px;padding:5px}.close-message:hover{opacity:.7}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .5s}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .5s}.notification{align-items:center;animation:slideUp .3s ease-out;background-color:#fff;border-radius:4px;bottom:20px;box-shadow:0 2px 10px #0000001a;display:flex;padding:15px 20px;position:fixed;right:20px;z-index:1000}.notification.info{border-left:4px solid #2196f3}.notification.warning{border-left:4px solid #ff9800}.notification.error{border-left:4px solid #f44336}.notification-content{margin-right:15px}.notification-close{background:none;border:none;color:#666;cursor:pointer;font-size:16px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-50px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:768px){.verification-message{padding:10px 15px;width:90%}.notification{left:5%;right:5%;width:90%}}
/*# sourceMappingURL=main.f4057d37.css.map*/