.recipe-card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);transition:all .3s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%;overflow:hidden;border:2px solid var(--primary);-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;background:linear-gradient(to bottom,var(--surface),var(--primary-light));position:relative}.recipe-favorite-btn{position:absolute;top:.75rem;right:.75rem;background:#ffffffe6;border:1px solid var(--border);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;transition:all .2s;z-index:10;box-shadow:0 2px 4px #0000001a}.recipe-favorite-btn:hover{transform:scale(1.15);background:#fff;box-shadow:0 4px 8px #00000026}.recipe-favorite-btn.favorited{background:#e91e631a;border-color:#e91e63}.recipe-favorite-btn:disabled{opacity:.6;cursor:not-allowed}.recipe-card:hover,.recipe-card:active{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border)}@media (hover: none) and (pointer: coarse){.recipe-card:active{transform:translateY(-2px);opacity:.9}}.recipe-card-image-container{width:100%;height:200px;overflow:hidden;background:var(--warm-beige);position:relative}.recipe-card-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.recipe-card:hover .recipe-card-image{transform:scale(1.05)}.recipe-card-content{padding:1.25rem;display:flex;flex-direction:column;flex:1}.recipe-card-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-categories{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.category-badge-small{padding:.25rem .5rem;border-radius:12px;font-size:.6875rem;font-weight:600;text-transform:capitalize}.category-more{background:var(--earth-light)!important;color:#fff}.recipe-card-meta{display:flex;gap:.5rem;font-size:.875rem;color:var(--text-primary);font-weight:500;margin-top:auto}.recipe-form{display:flex;flex-direction:column;gap:1rem}.recipe-form h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:.875rem}.form-group input{padding:.75rem;border:1px solid var(--border-light);border-radius:8px;font-size:16px;transition:all .2s;background:var(--surface);color:var(--text-primary);-webkit-appearance:none;appearance:none;width:100%}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97d601a}.form-group input:disabled{background-color:var(--surface);cursor:not-allowed}.error-message{color:var(--error);font-size:.875rem;padding:.75rem;background:#d4a5a526;border-radius:8px;border:1px solid var(--border-light)}.search-bar{margin-bottom:2rem}.search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-light);border-radius:8px;font-size:1rem;transition:all .2s;background:var(--surface);color:var(--text-primary);-webkit-appearance:none;appearance:none;font-size:16px}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97d601a}.search-input::-webkit-search-decoration,.search-input::-webkit-search-cancel-button{-webkit-appearance:none}.recipe-filters{margin-bottom:2rem;padding:1.5rem;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border-light)}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.filters-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.btn-clear-filters{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.btn-clear-filters:hover{background:var(--border-light);color:var(--text-primary)}.filters-grid{display:flex;flex-wrap:wrap;gap:.75rem}.filter-chip{padding:.625rem 1.25rem;border:2px solid;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-transform:capitalize}.filter-chip:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.filter-chip.active{font-weight:600}@media (max-width: 768px){.filters-grid{gap:.5rem}.filter-chip{padding:.5rem 1rem;font-size:.8125rem}}.recipe-library{width:100%}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.library-header h2{font-size:2rem;font-weight:600;color:var(--text-primary)}.form-container{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--warm-beige),var(--primary-light));border-radius:12px;box-shadow:var(--shadow);border:2px solid var(--primary)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state p{font-size:1.125rem;margin-bottom:.5rem}.empty-hint{font-size:.875rem;color:var(--text-secondary)}.recipe-count{margin:1.5rem 0;padding:.75rem 1rem;background:#fff9;border-radius:8px;border:1px solid var(--border-light);text-align:center}.recipe-count p{margin:0;font-size:1rem;color:var(--text-primary)}.recipe-count strong{color:var(--primary-color);font-weight:600}.recipe-count-note{font-size:.875rem;color:var(--text-secondary);font-weight:400;margin-left:.25rem}.loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}@media (max-width: 768px){.library-header{flex-direction:column;align-items:flex-start;gap:1rem}.library-header h2{font-size:1.5rem}.recipes-grid{grid-template-columns:1fr;gap:1rem}}.ingredient-scaler{margin-bottom:1.5rem}.scaler-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.scaler-controls label{font-weight:600;color:var(--text-primary);font-size:.875rem}.scaler-buttons{display:flex;gap:.5rem}.scaler-btn{padding:.5rem 1rem;background:var(--surface);border:2px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:50px}.scaler-btn:hover{background:var(--border-light);transform:translateY(-1px)}.scaler-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.scaler-reset{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s;margin-left:auto}.scaler-reset:hover{background:var(--border-light);color:var(--text-primary)}.ingredients-list-scaled{list-style:none;padding:0}.ingredients-list-scaled li{padding:.75rem .5rem;border-bottom:1px solid var(--border-light);color:var(--text-primary);background:#ffffff80;margin-bottom:.25rem;border-radius:4px;transition:all .2s;display:flex;align-items:flex-start;gap:.75rem}.ingredients-list-scaled li:hover{background:#3d35261a}.ingredients-list-scaled li.checked{opacity:.6;text-decoration:line-through}.ingredient-checkbox{-webkit-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #D89A8A;border-radius:4px;background:#fff;cursor:pointer;position:relative;flex-shrink:0;margin-top:2px;transition:all .2s}.ingredient-checkbox:hover{border-color:#c97d60;transform:scale(1.1)}.ingredient-checkbox:checked{background:#d89a8a;border-color:#d89a8a}.ingredient-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.ingredients-list-scaled li label{cursor:pointer;flex:1;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.scaler-controls{flex-direction:column;align-items:flex-start}.scaler-reset{margin-left:0;width:100%}}.category-editor{padding:1.5rem;background:var(--surface);border-radius:8px;border:1px solid var(--border-light);margin-bottom:1.5rem}.category-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.category-editor-header h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.btn-cancel{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--border-light);color:var(--text-primary)}.category-editor-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.category-option{padding:.625rem 1.25rem;border:2px solid;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-transform:capitalize}.category-option:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.category-option.selected{font-weight:600}.recipe-view{max-width:800px;margin:0 auto}.recipe-header{display:flex;justify-content:space-between;margin-bottom:2rem}.recipe-content{background:var(--warm-beige);padding:0;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;min-height:600px}.recipe-content-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#f5f1e8eb,#e8dcc6f2 20%,#e8dcc6f7);z-index:1}.recipe-content-inner{position:relative;z-index:2;padding:2rem;background:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin:1rem}.recipe-title-section{margin-bottom:1.5rem;position:relative}.recipe-view-favorite-btn{position:absolute;top:0;left:0;background:var(--surface-alt);border:1px solid var(--border);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;transition:all .2s;z-index:10}.recipe-view-favorite-btn:hover{transform:scale(1.1);background:var(--warm-beige)}.recipe-view-favorite-btn.favorited{background:#e91e631a;border-color:#e91e63}.recipe-view-favorite-btn:disabled{opacity:.6;cursor:not-allowed}.recipe-title-display{display:flex;align-items:center;gap:1rem;padding-left:60px}.recipe-title{font-size:2.5rem;font-weight:600;margin:0;color:var(--text-primary);flex:1}.recipe-title-edit-btn{background:var(--surface-alt);border:1px solid var(--border);border-radius:6px;padding:.5rem;cursor:pointer;font-size:1.25rem;transition:all .2s;opacity:.7}.recipe-title-edit-btn:hover{opacity:1;background:var(--warm-beige);transform:scale(1.1)}.recipe-title-edit{display:flex;flex-direction:column;gap:.75rem;padding-left:60px}.recipe-title-input{font-size:2.5rem;font-weight:600;padding:.75rem;border:2px solid var(--primary-color);border-radius:8px;color:var(--text-primary);background:var(--surface);width:100%;font-family:inherit}.recipe-title-input:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #c97d601a}.recipe-title-actions{display:flex;gap:.5rem}.recipe-categories-section{margin-bottom:1.5rem}.recipe-categories-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.recipe-categories-header h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.btn-edit-categories{background:var(--surface-alt);border:1px solid var(--primary-color);border-radius:6px;padding:.375rem .5rem;cursor:pointer;font-size:1rem;font-weight:600;color:var(--primary-color);transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.btn-edit-categories:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.recipe-categories{display:flex;flex-wrap:wrap;gap:.5rem}.category-badge{padding:.375rem .75rem;border-radius:16px;font-size:.75rem;font-weight:600;text-transform:capitalize}.no-categories{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin:0}.recipe-source{color:var(--text-secondary);font-size:.875rem;margin-bottom:2rem}.recipe-source a{color:var(--primary-color);text-decoration:none}.recipe-source a:hover{text-decoration:none;opacity:.8}.recipe-sections{display:grid;gap:2rem}.ingredients-section,.instructions-section{background:#fff9;padding:1.5rem;border-radius:8px;border:1px solid var(--border-light);margin-bottom:1rem}.ingredients-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.ingredients-header h2{font-size:1.5rem;font-weight:600;margin:0;color:var(--secondary-dark);border-bottom:2px solid var(--secondary-light);padding-bottom:.5rem;flex:1}.btn-edit-ingredients{background:var(--surface-alt);border:1px solid var(--border);border-radius:6px;padding:.375rem .5rem;cursor:pointer;font-size:.875rem;transition:all .2s;opacity:.7;margin-left:1rem}.btn-edit-ingredients:hover{opacity:1;background:var(--border-light);transform:scale(1.1)}.instructions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.instructions-header h2{font-size:1.5rem;font-weight:600;margin:0;color:var(--secondary-dark);border-bottom:2px solid var(--secondary-light);padding-bottom:.5rem;flex:1}.btn-edit-instructions{background:var(--surface-alt);border:1px solid var(--border);border-radius:6px;padding:.375rem .5rem;cursor:pointer;font-size:.875rem;transition:all .2s;opacity:.7;margin-left:1rem}.btn-edit-instructions:hover{opacity:1;background:var(--border-light);transform:scale(1.1)}.ingredients-section h2,.instructions-section h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--secondary-dark);border-bottom:2px solid var(--secondary-light);padding-bottom:.5rem}.ingredients-editor{display:flex;flex-direction:column;gap:1rem}.ingredients-edit-list{display:flex;flex-direction:column;gap:.75rem}.ingredient-edit-item{display:flex;align-items:center;gap:.75rem}.ingredient-edit-input{flex:1;padding:.75rem;border:2px solid var(--border-light);border-radius:6px;font-size:1rem;color:var(--text-primary);background:var(--surface);font-family:inherit;transition:all .2s}.ingredient-edit-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97d601a}.btn-remove-ingredient{background:#b8866b1a;border:1px solid var(--error);border-radius:6px;padding:.5rem .75rem;font-size:1.25rem;color:var(--error);cursor:pointer;transition:all .2s;flex-shrink:0;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.btn-remove-ingredient:hover{background:var(--error);color:#fff;transform:scale(1.1)}.ingredients-edit-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;border-top:1px solid var(--border-light)}.ingredients-edit-buttons{display:flex;gap:.75rem}.instructions-editor,.instructions-edit-list{display:flex;flex-direction:column;gap:1rem}.instruction-edit-item{display:flex;align-items:flex-start;gap:.75rem}.instruction-number{font-weight:600;color:var(--secondary);font-size:1rem;padding-top:.75rem;flex-shrink:0;min-width:2rem}.instruction-edit-input{flex:1;padding:.75rem;border:2px solid var(--border-light);border-radius:6px;font-size:1rem;color:var(--text-primary);background:var(--surface);font-family:inherit;resize:vertical;min-height:80px;line-height:1.6;transition:all .2s}.instruction-edit-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97d601a}.btn-remove-instruction{background:#b8866b1a;border:1px solid var(--error);border-radius:6px;padding:.5rem .75rem;font-size:1.25rem;color:var(--error);cursor:pointer;transition:all .2s;flex-shrink:0;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-top:.5rem}.btn-remove-instruction:hover{background:var(--error);color:#fff;transform:scale(1.1)}.instructions-edit-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;border-top:1px solid var(--border-light)}.instructions-edit-buttons{display:flex;gap:.75rem}.ingredients-list{list-style:none;padding:0}.ingredients-list li{padding:.75rem .5rem;border-bottom:1px solid var(--border-light);color:var(--text-primary);background:#ffffff80;margin-bottom:.25rem;border-radius:4px;transition:background .2s}.ingredients-list li:hover{background:#ad6b4b26}.ingredients-list li:last-child{border-bottom:none}.ingredients-list li.empty{color:var(--text-secondary);font-style:italic}.instructions-list{padding-left:2rem;list-style:none;counter-reset:step-counter}.instructions-list li{padding:1rem;color:var(--text-primary);line-height:1.8;background:#ffffff80;margin-bottom:.5rem;border-radius:6px;border-left:3px solid var(--secondary);transition:all .2s;display:flex;align-items:flex-start;gap:.75rem;list-style:none;counter-increment:step-counter;position:relative}.instructions-list{counter-reset:step-counter;padding-left:0}.instructions-list li:before{content:counter(step-counter) ".";position:absolute;left:-2rem;top:1rem;font-weight:600;color:var(--secondary);font-size:1rem;width:1.5rem;text-align:right}.instructions-list li:hover{background:#ad6b4b26;transform:translate(4px)}.instructions-list li.checked{opacity:.6;text-decoration:line-through}.instruction-checkbox{-webkit-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #D89A8A;border-radius:4px;background:#fff;cursor:pointer;position:relative;flex-shrink:0;margin-top:2px;transition:all .2s}.instruction-checkbox:hover{border-color:#c97d60;transform:scale(1.1)}.instruction-checkbox:checked{background:#d89a8a;border-color:#d89a8a}.instruction-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.instructions-list li label{cursor:pointer;flex:1;-webkit-user-select:none;user-select:none;padding-left:.5rem}.instructions-list li.empty{color:var(--text-secondary);font-style:italic;list-style:none;padding-left:0}.loading,.error{text-align:center;padding:4rem 2rem}.error p{color:var(--error);margin-bottom:1rem}@media (max-width: 768px){.recipe-content-inner{padding:1.5rem;margin:.5rem}.recipe-title{font-size:2rem}.recipe-header{flex-direction:column;gap:1rem}.recipe-content{min-height:auto}}.profile-settings{max-width:900px;margin:0 auto;padding:2rem 0}.profile-settings-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.profile-settings-header h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0}.profile-settings-content{display:flex;flex-direction:column;gap:2rem}.profile-info-card,.color-palette-card,.danger-zone-card{background:var(--surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-light)}.profile-info-card h2,.color-palette-card h2,.danger-zone-card h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.card-description{color:var(--text-secondary);font-size:.9375rem;margin-bottom:1.5rem;line-height:1.6}.profile-info{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:var(--text-secondary);min-width:140px}.info-value{color:var(--text-primary);flex:1}.name-display{display:flex;align-items:center;gap:1rem;flex:1}.btn-edit-name{background:#c97a8f1a;border:1px solid var(--primary-color);border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;color:var(--primary-color);cursor:pointer;transition:all .2s}.btn-edit-name:hover{background:var(--primary-color);color:#fff}.name-edit-form{flex:1;display:flex;flex-direction:column;gap:.75rem}.name-inputs{display:flex;gap:.75rem}.name-input{flex:1;padding:.625rem .875rem;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--surface-alt);transition:all .2s}.name-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97a8f1a}.name-input:disabled{opacity:.6;cursor:not-allowed}.name-edit-actions{display:flex;gap:.75rem}.saving-indicator{padding:.75rem;background:#c97a8f1a;border:1px solid var(--primary-color);border-radius:8px;color:var(--primary-color);font-size:.875rem;margin-bottom:1rem;text-align:center}.color-palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}@media (max-width: 768px){.color-palette-grid{grid-template-columns:1fr;gap:1rem}}.palette-option:hover:not(.disabled){transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--primary-color)}.palette-option.disabled{opacity:.6;cursor:not-allowed}.palette-preview{display:flex;gap:.5rem;height:60px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.1)}.palette-color{flex:1;height:100%;min-width:40px;border:1px solid rgba(0,0,0,.05)}@media (max-width: 768px){.palette-preview{height:100px;gap:.5rem;border:2px solid rgba(0,0,0,.1)}.palette-color{min-width:50px;flex:1;border:1px solid rgba(0,0,0,.08)}}.danger-zone-card{border:2px solid var(--error);background:#b8866b0d}.danger-zone-card h2{color:var(--error)}.btn-danger{background:var(--error);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){background:#a05a4a;transform:translateY(-1px);box-shadow:var(--shadow)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.delete-confirmation{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.delete-warning{padding:1.25rem;background:#b8866b1a;border:2px solid var(--error);border-radius:8px;color:var(--text-primary)}.delete-warning strong{color:var(--error);display:block;margin-bottom:.75rem;font-size:1.125rem}.delete-warning ul{margin:.75rem 0;padding-left:1.5rem}.delete-warning li{margin:.5rem 0}.delete-warning p{margin-top:.75rem;font-weight:600;color:var(--error)}.delete-email-confirm{display:flex;flex-direction:column;gap:.75rem}.delete-email-confirm label{font-weight:500;color:var(--text-primary);font-size:.9375rem}.delete-email-confirm input{padding:.875rem;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--surface-alt);transition:all .2s}.delete-email-confirm input:focus{outline:none;border-color:var(--error);box-shadow:0 0 0 3px #b8866b1a}.delete-email-confirm input:disabled{opacity:.6;cursor:not-allowed}.delete-actions{display:flex;gap:1rem;flex-wrap:wrap}.error-message{padding:1rem;background:#b8866b1a;border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:.875rem;margin-bottom:1rem}@media (max-width: 768px){.profile-settings{padding:1.5rem 1rem}.profile-info-card,.color-palette-card,.danger-zone-card{padding:1.5rem}.color-palette-grid{grid-template-columns:1fr;gap:1rem}.palette-option{padding:1rem}.palette-preview{height:100px;gap:.5rem;border:2px solid rgba(0,0,0,.1)}.palette-color{min-width:50px;flex:1;border:1px solid rgba(0,0,0,.08)}.info-row{flex-direction:column;align-items:flex-start;gap:.5rem}.info-label{min-width:auto}.delete-actions{flex-direction:column}.delete-actions button{width:100%}}.meal-plan-page{width:100%;margin:0 auto;padding:2rem 0}.meal-plan-calendar-wrapper{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-bottom:1rem}.meal-plan-header{margin-bottom:2.5rem}.meal-plan-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.meal-plan-header-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.meal-plan-header-content>div:first-child{text-align:center;flex:1;min-width:200px}.meal-plan-header h1{font-size:2.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.meal-plan-subtitle{color:var(--text-secondary);font-size:1.125rem}.btn-save-plan,.btn-load-plan{background:var(--primary-color);border:2px solid var(--primary-color);border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:var(--shadow-sm)}.btn-save-plan:hover,.btn-load-plan:hover:not(:disabled){background:var(--primary-hover, var(--primary-color));transform:translateY(-2px);box-shadow:var(--shadow)}.btn-save-plan:active,.btn-load-plan:active{transform:translateY(0)}.btn-load-plan:disabled{opacity:.6;cursor:not-allowed}.btn-clear-week{background:#b8866b1a;border:2px solid var(--error);border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:var(--error);cursor:pointer;transition:all .2s;white-space:nowrap}.btn-clear-week:hover{background:var(--error);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}.btn-clear-week:active{transform:translateY(0)}.meal-plan-loading{display:flex;justify-content:center;align-items:center;min-height:60vh;font-size:1.125rem;color:var(--text-secondary)}.meal-plan-calendar{display:grid;grid-template-columns:repeat(7,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;width:100%}@media (min-width: 1400px){.meal-plan-calendar{min-width:1400px}}.calendar-day{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border-light);display:flex;flex-direction:column}.day-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-light);text-align:center}.day-meals{display:flex;flex-direction:column;gap:1rem;flex:1}.meal-slot{min-height:120px;border-radius:8px;padding:1rem;transition:all .2s;border:2px dashed var(--border-light);background:var(--surface-alt);display:flex;flex-direction:column;gap:.75rem}.meal-slot.empty{cursor:pointer;align-items:center;justify-content:center;text-align:center}.meal-slot.empty:hover{border-color:var(--primary-color);background:var(--surface);transform:translateY(-2px);box-shadow:var(--shadow)}.meal-slot.filled{border:2px solid var(--primary-color);background:var(--surface);cursor:default}.meal-slot-header{display:flex;justify-content:space-between;align-items:center}.meal-type-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.meal-remove-btn{background:#b8866b1a;border:1px solid var(--error);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--error);font-size:1.25rem;line-height:1;transition:all .2s;padding:0}.meal-remove-btn:hover{background:var(--error);color:#fff;transform:scale(1.1)}.add-meal-text{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem}.meal-recipe-info{flex:1}.meal-recipe-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meal-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.meal-tag{font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.meal-tag.leftovers{background:#c97a8f33;color:var(--primary-color);border:1px solid var(--primary-color)}.meal-tag.meal-prep{background:#8b6f4733;color:#6b4a2f;border:1px solid var(--secondary-color)}.recipe-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.recipe-modal{background:var(--surface);border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.recipe-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-light)}.recipe-modal-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close-btn{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;line-height:1;padding:0}.modal-close-btn:hover{background:var(--surface-alt);color:var(--text-primary)}.recipe-modal-search{padding:1.5rem;border-bottom:1px solid var(--border-light)}.recipe-modal-search input{width:100%;padding:.875rem;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--surface-alt);transition:all .2s}.recipe-modal-search input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97a8f1a}.recipe-modal-categories{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:var(--surface-alt);display:flex;align-items:center;gap:1rem}.recipe-modal-categories-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);white-space:nowrap;margin:0}.recipe-modal-categories-dropdown-wrapper{display:flex;align-items:center;gap:.5rem;flex:1}.recipe-modal-categories-dropdown{flex:1;padding:.625rem 2.5rem .625rem .875rem;border:2px solid var(--border-light);border-radius:8px;font-size:.9375rem;color:var(--text-primary);background:var(--surface);cursor:pointer;transition:all .2s;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px}.recipe-modal-categories-dropdown:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97a8f1a}.recipe-modal-categories-dropdown:hover{border-color:var(--primary-color)}.clear-filters-btn{background:#b8866b1a;border:1px solid var(--border-light);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:1.25rem;line-height:1;transition:all .2s;padding:0;flex-shrink:0}.clear-filters-btn:hover{background:var(--error);border-color:var(--error);color:#fff;transform:scale(1.1)}.recipe-modal-options{display:flex;gap:1.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:var(--surface-alt)}.recipe-modal-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--text-primary);cursor:pointer;font-weight:500}.recipe-modal-checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--primary-color)}.recipe-modal-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.recipe-modal-item{background:var(--surface-alt);border:2px solid var(--border-light);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:1rem}.recipe-modal-item:hover{border-color:var(--primary-color);background:var(--surface);transform:translate(4px);box-shadow:var(--shadow)}.recipe-modal-item h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.recipe-modal-image{width:60px;height:60px;object-fit:cover;border-radius:6px}.no-recipes{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.save-plan-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.save-plan-form label{font-weight:600;color:var(--text-primary);font-size:.9375rem}.save-plan-form input{padding:.875rem;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--surface-alt);transition:all .2s}.save-plan-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97a8f1a}.save-plan-form input:disabled{opacity:.6;cursor:not-allowed}.save-plan-hint{font-size:.875rem;color:var(--text-secondary);margin:0;font-style:italic}.save-plan-actions{display:flex;gap:1rem;margin-top:.5rem}.saved-plans-list{padding:1rem;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.saved-plan-item{background:var(--surface-alt);border:2px solid var(--border-light);border-radius:8px;padding:1.25rem;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center;gap:1rem}.saved-plan-item:hover{border-color:var(--primary-color);background:var(--surface);transform:translate(4px);box-shadow:var(--shadow)}.saved-plan-info{flex:1}.saved-plan-info h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.saved-plan-details{font-size:.875rem;color:var(--text-secondary);margin:0}.saved-plan-actions{display:flex;gap:.75rem;align-items:center}.btn-load-saved-plan{background:var(--primary-color);border:2px solid var(--primary-color);border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.btn-load-saved-plan:hover{background:var(--primary-hover, var(--primary-color));transform:translateY(-1px);box-shadow:var(--shadow)}.btn-delete-saved-plan{background:#b8866b1a;border:1px solid var(--error);border-radius:6px;padding:.5rem .75rem;font-size:1rem;cursor:pointer;transition:all .2s;line-height:1}.btn-delete-saved-plan:hover{background:var(--error);transform:scale(1.1)}.no-saved-plans{text-align:center;color:var(--text-secondary);padding:3rem 2rem;font-style:italic}@media (max-width: 1200px){.meal-plan-calendar{grid-template-columns:repeat(4,1fr);min-width:auto}}@media (max-width: 768px){.meal-plan-calendar-wrapper{overflow-x:visible;padding-bottom:0}.meal-plan-calendar{grid-template-columns:1fr;gap:1rem;min-width:auto}.calendar-day{padding:1rem}.day-name{font-size:1.125rem;margin-bottom:1rem}.meal-plan-header-content{flex-direction:column;align-items:stretch;text-align:center}.meal-plan-header-content>div:first-child{text-align:center}.meal-plan-header h1{font-size:1.75rem}.meal-plan-header-actions{flex-direction:column;width:100%}.btn-save-plan,.btn-load-plan,.btn-clear-week{width:100%}.recipe-modal{max-width:100%;max-height:90vh;margin:1rem}.meal-slot{min-height:100px;padding:.875rem}.meal-recipe-title{font-size:.875rem}}@media (max-width: 480px){.meal-plan-calendar{grid-template-columns:1fr}.meal-plan-header h1{font-size:1.5rem}}.grocery-cart-page{max-width:1200px;margin:0 auto;padding:2rem 0}.grocery-cart-header{margin-bottom:2.5rem}.grocery-cart-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.grocery-cart-header-content>div:first-child{text-align:center;flex:1;min-width:200px}.grocery-cart-header h1{font-size:2.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.grocery-cart-subtitle{color:var(--text-secondary);font-size:1.125rem}.btn-export-list{background:var(--primary-color);border:2px solid var(--primary-color);border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:var(--shadow-sm)}.btn-export-list:hover{background:var(--primary-hover, var(--primary-color));transform:translateY(-2px);box-shadow:var(--shadow)}.btn-export-list:active{transform:translateY(0)}.grocery-cart-loading{display:flex;justify-content:center;align-items:center;min-height:60vh;font-size:1.125rem;color:var(--text-secondary)}.grocery-cart-empty{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:12px;border:2px dashed var(--border-light)}.grocery-cart-empty p{font-size:1.125rem;color:var(--text-secondary);margin:.5rem 0}.grocery-cart-empty-hint{font-size:.9375rem;font-style:italic;color:var(--text-secondary);opacity:.8}.grocery-cart-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.grocery-column{display:flex;flex-direction:column}.grocery-column-header{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-light)}.grocery-cart-list{display:flex;flex-direction:column;gap:.75rem;min-height:200px}.grocery-column-empty{text-align:center;color:var(--text-secondary);font-style:italic;padding:2rem 1rem;opacity:.7}.grocery-item{background:var(--surface);border:1px solid var(--border-light);border-radius:8px;padding:1rem 1.25rem;transition:all .2s;box-shadow:var(--shadow-sm)}.grocery-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow);transform:translate(4px)}.grocery-item-content{display:flex;align-items:center;gap:.75rem}.grocery-item-checkbox{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.grocery-item-checkbox{position:relative}.grocery-item-checkbox input[type=checkbox]{position:absolute;opacity:0;width:20px;height:20px;margin:0;padding:0;border:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;z-index:1}.checkbox-custom{width:20px;height:20px;border:2px solid var(--primary-color);border-radius:4px;background:var(--surface);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.grocery-item-checkbox input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color)}.grocery-item-checkbox input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.grocery-item-checkbox:hover .checkbox-custom{border-color:var(--primary-color);transform:scale(1.1)}.grocery-item.in-stock{opacity:.7;background:#c97a8f0d}.grocery-item.in-stock .grocery-item-name{color:var(--text-secondary)}.grocery-item-amount{font-weight:600;color:var(--primary-color);font-size:1rem;min-width:80px;text-align:right}.grocery-item-unit{font-weight:500;color:var(--text-secondary);font-size:.875rem}.grocery-item-name{font-size:1rem;color:var(--text-primary);flex:1}.grocery-cart-summary{text-align:center;padding:1.5rem;background:var(--surface-alt);border-radius:8px;border:1px solid var(--border-light)}.grocery-cart-summary p{margin:0;font-size:1rem;color:var(--text-secondary)}.grocery-cart-summary strong{color:var(--primary-color);font-size:1.125rem}@media (max-width: 768px){.grocery-cart-page{padding:1.5rem 1rem}.grocery-cart-header-content{flex-direction:column;align-items:stretch;text-align:center}.grocery-cart-header-content>div:first-child{text-align:center}.grocery-cart-header h1{font-size:2rem}.btn-export-list{width:100%}.grocery-cart-columns{grid-template-columns:1fr;gap:2rem}.grocery-item{padding:.875rem 1rem}.grocery-item-amount{min-width:60px;font-size:.9375rem}.grocery-item-name{font-size:.9375rem}}.layout{min-height:100vh;min-height:-webkit-fill-available;display:flex;flex-direction:column;overscroll-behavior-y:none;position:relative}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%}.header{background:var(--header-dark-green);border-bottom:3px solid var(--earth-medium);padding:1.5rem 0;box-shadow:var(--shadow-lg)}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;color:#fff}.header-nav{display:flex;align-items:center;gap:1.5rem}.nav-link{color:var(--earth-cream);font-size:.9375rem;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all .2s;text-decoration:none}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#ffffff26;color:#fff}.header-user{display:flex;align-items:center;gap:1rem;margin-left:.5rem;padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.2)}.user-name-link{text-decoration:none;color:inherit;transition:opacity .2s}.user-name-link:hover{opacity:.8}.user-name{color:var(--earth-cream);font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s}.user-name-link:hover .user-name{background:#ffffff1a}.btn-signout{padding:.5rem 1rem;font-size:.875rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff}.btn-signout:hover{background:#fff3}.logo h1{font-size:1.5rem;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(139,111,71,.3)}.main{flex:1;padding:2rem 0}.footer{background:var(--earth-medium);border-top:2px solid var(--earth-dark);padding:1.5rem 0;margin-top:auto;text-align:center;color:var(--earth-cream);font-size:.875rem}@media (max-width: 768px){.container{padding:0 1rem}.logo h1{font-size:1.25rem}.main{padding:1.5rem 0}.header-content{flex-direction:column;align-items:stretch;gap:1rem}.logo{text-align:center}.header-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%;justify-items:center}.nav-link{width:100%;text-align:center;padding:.75rem .5rem;font-size:.875rem}.header-user{margin-left:0;padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.2);padding-top:.75rem;width:100%;justify-content:space-between;margin-top:.5rem}.user-name{font-size:.8125rem}.btn-signout{font-size:.8125rem;padding:.5rem .75rem}}@media (max-width: 480px){.header-nav{grid-template-columns:1fr;gap:.5rem}.nav-link{padding:.625rem}.logo h1{font-size:1.125rem}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.auth-card{background:var(--surface);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.auth-card h2{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;text-align:center}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.9375rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form .form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form label{font-weight:500;color:var(--text-primary);font-size:.875rem}.auth-form input{padding:.875rem;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--surface-alt);transition:all .2s}.auth-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0f28181a}.auth-form input:disabled{opacity:.6;cursor:not-allowed}.auth-error{padding:.875rem;background:#b8866b1a;border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:.875rem;text-align:center}.auth-message{padding:.875rem;background:#82896e1a;border:1px solid var(--primary-color);border-radius:8px;color:var(--primary-color);font-size:.875rem;text-align:center}.auth-submit{width:100%;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600}.auth-switch{margin-top:1.5rem;text-align:center}.auth-switch-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.875rem;text-decoration:underline;padding:.5rem;transition:color .2s}.auth-switch-btn:hover{color:var(--primary-hover)}@media (max-width: 768px){.auth-card{padding:2rem 1.5rem}}.profile-setup-container{display:flex;justify-content:center;align-items:center;min-height:70vh;padding:2rem}.profile-setup-card{background:var(--surface);border-radius:16px;padding:3rem;width:100%;max-width:800px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.profile-setup-card h2{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;text-align:center}.profile-setup-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2.5rem;font-size:1rem}.profile-setup-form{display:flex;flex-direction:column;gap:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:.9375rem}.form-group input{padding:.875rem;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--surface-alt);transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c97a8f1a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.color-palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:.5rem}.palette-option{background:var(--surface-alt);border:3px solid var(--border-light);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .3s ease;text-align:left;display:flex;flex-direction:column;gap:1rem}.palette-option:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--primary-color)}.palette-option.selected{border-color:var(--primary-color);background:var(--surface);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.palette-option:disabled{opacity:.6;cursor:not-allowed}.palette-preview{display:flex;gap:.5rem;height:60px;border-radius:8px;overflow:hidden}.palette-color{flex:1;height:100%}.palette-info h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.palette-info p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}.profile-setup-error{padding:1rem;background:#b8866b1a;border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:.875rem;text-align:center}.profile-setup-submit{width:100%;padding:1rem;font-size:1.125rem;font-weight:600;margin-top:.5rem}.profile-setup-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.profile-setup-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.color-palette-grid{grid-template-columns:1fr}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:60vh;font-size:1.125rem;color:var(--text-secondary)}*{margin:0;padding:0;box-sizing:border-box}:root{--earth-dark: #2D4A2D;--earth-medium: #5C4E3A;--earth-light: #7A6B54;--earth-cream: #F5F0E8;--earth-cream-light: #FAF7F2;--earth-beige: #E8DDD0;--earth-brown: #8B6F47;--earth-brown-light: #A68B6B;--earth-brown-dark: #6B5435;--header-dark-green: #0F2818;--filter-breakfast: #D4A574;--filter-lunch: #9CAF88;--filter-dinner: #6B8E7F;--filter-meal-prep: #A8B5A0;--filter-cocktails: #C97D60;--filter-bbq: #8B5A3C;--filter-asian: #B8860B;--filter-mexican: #CD853F;--filter-chinese: #DAA520;--filter-dessert: #D89A8A;--primary-color: var(--earth-dark);--primary-hover: var(--earth-medium);--primary-light: var(--earth-light);--secondary-color: var(--earth-brown);--secondary-light: var(--earth-brown-light);--secondary-dark: var(--earth-brown-dark);--background: #E8D4C0;--surface: #F0E0D0;--surface-alt: var(--earth-beige);--text-primary: var(--earth-brown-dark);--text-secondary: var(--header-dark-green);--text-light: var(--header-dark-green);--border: var(--earth-light);--border-light: #D0C8B8;--success: var(--earth-light);--error: #B8866B;--shadow: 0 2px 8px 0 rgba(61, 53, 38, .1), 0 1px 3px -1px rgba(61, 53, 38, .1);--shadow-lg: 0 10px 25px -3px rgba(61, 53, 38, .15), 0 4px 6px -4px rgba(61, 53, 38, .1);--shadow-soft: 0 4px 12px 0 rgba(61, 53, 38, .12)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);background-attachment:fixed;color:var(--text-primary);line-height:1.6;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation;overscroll-behavior:none;position:fixed;width:100%;height:100%;overflow-y:auto;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}a{text-decoration:none;color:inherit}a:hover,a:visited,a:active{text-decoration:none}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;transition:all .2s;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:var(--shadow-soft)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--border)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn:disabled{opacity:.6;cursor:not-allowed}
