@import"https://fonts.googleapis.com/css2?family=Spline+Sans:wght@300;400;500;600;700&family=Noto+Sans:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{--primary-light: #ee7c2b;--primary-dark: #36e27b;--background-light: #f8f7f6;--background-dark: #112117;--surface-light: #f4f2f0;--surface-dark: #111714;--error: #ef4444;--error-light: rgba(239, 68, 68, .1);--success: #22c55e;--success-light: rgba(34, 197, 94, .1);--success-border: rgba(34, 197, 94, .3);--success-chip-bg-dark: rgb(76 175 80);--success-chip-bg-light: rgb(118 199 68);--success-chip-text: var(--text);--warning-chip-bg-dark: rgb(255 193 7);--warning-chip-bg-light: rgb(255 215 0);--warning-chip-text-dark: var(--text-reverse);--warning-chip-text-light: var(--text);--error-chip-bg: rgb(244 67 54);--error-chip-text-dark: var(--text);--error-chip-text-light: var(--text-reverse);--primary-shadow: rgba(54, 226, 123, .3);--primary-shadow-light: rgba(54, 226, 123, .25);--primary-shadow-border: rgba(54, 226, 123, .2);--primary: var(--primary-dark);--background: var(--background-dark);--surface: var(--surface-dark);--text: #ffffff;--text-secondary: #9eb7a8;--border: #29382f;--overlay-dark: rgba(0, 0, 0, .2);--overlay-light: rgba(255, 255, 255, .9);--action-hover: color-mix(in srgb, var(--primary) 75%, transparent);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--font-display: "Spline Sans", sans-serif;--font-body: "Noto Sans", sans-serif;--radius: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-full: 9999px;--contrast-text: #112117;--text-reverse: #181411;--section-header-bg: var(--surface);--section-container-bg: #1a2620;--primary-light-bg: #344a3d}[data-theme=light]{--primary: var(--primary-light);--background: var(--background-light);--surface: var(--surface-light);--text: #181411;--text-secondary: #6b7280;--border: #e6e0db;--text-reverse: #ffffff;--section-header-bg: #f8f7f680;--section-container-bg: #ffffff;--primary-shadow: rgba(238, 124, 43, .3);--primary-shadow-light: rgba(238, 124, 43, .25);--primary-shadow-border: rgba(238, 124, 43, .2);--primary-light-bg: #f3e6dc}[data-theme=dark]{--primary: var(--primary-dark);--background: var(--background-dark);--surface: var(--surface-dark);--text: #ffffff;--text-secondary: #9eb7a8;--border: #29382f;--text-reverse: #181411;--section-header-bg: var(--surface);--section-container-bg: #1a2620;--primary-shadow: rgba(54, 226, 123, .3);--primary-shadow-light: rgba(54, 226, 123, .25);--primary-shadow-border: rgba(54, 226, 123, .2);--primary-light-bg: #344a3d}*{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-display);color-scheme:light dark}body{margin:0;min-height:100vh;background-color:var(--background);color:var(--text);font-family:var(--font-body);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}::selection{background-color:var(--primary);color:var(--contrast-text)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.input-field{width:100%;height:56px;padding-left:3rem;padding-right:1rem;background-color:var(--background);border:none;border-radius:var(--radius-full);color:var(--text);font-size:1rem;outline:none;transition:box-shadow .2s ease}.input-field:focus{box-shadow:0 0 0 2px var(--primary)}.input-icon{position:absolute;left:1rem;color:var(--text-secondary)}.input-wrapper{position:relative;display:flex;align-items:center}.input-group{display:flex;flex-direction:column;gap:.375rem}.btn-primary{width:100%;height:56px;background-color:var(--primary);color:var(--contrast-text);border:none;border-radius:var(--radius-full);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px var(--primary-shadow)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.75rem 1.5rem;background-color:var(--primary);color:var(--contrast-text);border:none;border-radius:var(--radius-full);font-weight:700;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px var(--primary-shadow)}.error-message{padding:.75rem;background-color:var(--error-light);color:var(--error);border-radius:var(--radius);font-size:.875rem}.success-message{padding:.75rem;background-color:var(--success-light);border:1px solid var(--success-border);border-radius:var(--radius-md);color:var(--success);font-size:.875rem}.MuiAlert-root.MuiAlert-standardSuccess,.MuiAlert-standardSuccess{background-color:var(--success-chip-bg-light);color:var(--success-chip-text)}[data-theme=dark] .MuiAlert-root.MuiAlert-standardSuccess,[data-theme=dark] .MuiAlert-standardSuccess{background-color:var(--success-chip-bg-dark);color:var(--success-chip-text)}.MuiAlert-root.MuiAlert-standardWarning,.MuiAlert-standardWarning{background-color:var(--warning-chip-bg-light);color:var(--warning-chip-text-light)}[data-theme=dark] .MuiAlert-root.MuiAlert-standardWarning,[data-theme=dark] .MuiAlert-standardWarning{background-color:var(--warning-chip-bg-dark);color:var(--warning-chip-text-dark)}.MuiAlert-root.MuiAlert-standardError,.MuiAlert-standardError{background-color:var(--error-chip-bg);color:var(--error-chip-text-light)}[data-theme=dark] .MuiAlert-root.MuiAlert-standardError,[data-theme=dark] .MuiAlert-standardError{background-color:var(--error-chip-bg);color:var(--error-chip-text-dark)}.card{background-color:var(--surface);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border)}.form{display:flex;flex-direction:column;gap:1.25rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.btn-pill.MuiButton-root,.btn-pill{border-radius:var(--radius-full)!important}.btn-rounded.MuiButton-root,.btn-rounded{border-radius:var(--radius)!important}.btn-outlined-dashed{border:2px dashed var(--primary);color:var(--primary);border-right:none}.btn-outlined-dashed--split-right{border-left:1px solid var(--primary);border-right:2px dashed var(--primary);border-radius:0 var(--radius-full) var(--radius-full) 0}.btn-outlined-dashed--split-left{border-radius:var(--radius-full) 0 0 var(--radius-full)}.container-padding{padding-top:2rem;padding-bottom:2rem}.container-flex{display:flex}.container-flex-column{display:flex;flex-direction:column}.text-h1.MuiTypography-root,.text-h1{font-weight:900!important;font-size:2.5rem!important;letter-spacing:-.05em!important}.text-h1--large.MuiTypography-root,.text-h1--large{font-size:3rem!important}.text-h1--medium.MuiTypography-root,.text-h1--medium{font-weight:600!important;font-size:2rem!important}.text-h2.MuiTypography-root,.text-h2{font-weight:700!important;font-size:1.5rem!important}.text-h3.MuiTypography-root,.text-h3{font-weight:600!important;font-size:1.25rem!important}.text-body-large.MuiTypography-root,.text-body-large{font-size:1.125rem!important}.text-secondary{color:var(--text-secondary)}.spacing-py-4{padding-top:2rem;padding-bottom:2rem}.spacing-mb-3{margin-bottom:1.5rem}.spacing-mb-2{margin-bottom:1rem}.spacing-gap-2{gap:1rem}.spacing-gap-1{gap:.5rem}.spacing-mt-3{margin-top:1.5rem}.text-size-small{font-size:.875rem}.text-align-center{text-align:center}.font-weight-medium{font-weight:500}.width-full{width:100%}.block-centered{display:block;margin-left:auto;margin-right:auto}.justify-content-end{justify-content:flex-end}.spacing-mb-1{margin-bottom:.5rem}.spacing-py-8{padding-top:4rem;padding-bottom:4rem}.spacing-pt-1{padding-top:1rem}.button-contrast-text.MuiButton-root,.button-contrast-text{color:var(--contrast-text)!important}.image-cover{object-fit:cover}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:1rem}.flex-column{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.recipe-card{height:100%;display:flex;flex-direction:column;transition:all .3s ease;cursor:pointer}.recipe-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.recipe-card .recipe-card-content{flex-grow:1;display:flex;flex-direction:column;gap:.75rem}.recipe-card-content.with-image{position:relative}.recipe-card-content.no-image{position:static}.recipe-card .recipe-card-content:last-child{padding-bottom:16px}.recipe-card-link{text-decoration:none;color:inherit}.recipe-card-title-container .recipe-card-title{font-weight:600;line-height:1.2}.recipe-card-description{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.5rem}.recipe-card-meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-secondary)}.recipe-card-tags{display:flex;gap:.25rem;flex-wrap:nowrap;min-width:0}.recipe-card-tag.MuiChip-root,.recipe-card-tag{height:24px;font-size:.75rem;background-color:var(--primary)!important;color:var(--contrast-text)!important}.recipe-card-tag .MuiChip-label{color:var(--contrast-text)!important}.recipe-card-tag-info-icon{flex-shrink:0;display:flex;align-items:center;cursor:pointer}.recipe-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.recipe-card-cook-time{display:flex;align-items:center;color:var(--text-secondary)}.recipe-card-cook-time-content{display:flex;align-items:center;gap:.5rem}.recipe-card-servings{display:flex;align-items:center;color:var(--text-secondary)}.recipe-card-servings-content{display:flex;align-items:center;gap:.5rem}.recipe-card-meta-text{font-size:.875rem}.recipe-card-image-container{position:relative}.recipe-card-actions{display:flex;gap:.25rem}.recipe-card-actions.overlay{position:absolute;bottom:0;right:0;left:0;z-index:10;justify-content:space-between}.recipe-card-actions.no-image{justify-content:space-between}.recipe-card-actions .edit-buttons-container{background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.25rem}.recipe-card-actions .left-button{border-radius:0 var(--radius) 0 0}.recipe-card-actions .right-button{border-radius:var(--radius) 0 0 0}.recipe-card-action-link{text-decoration:none;flex:1}.recipe-card-edit-button.MuiIconButton-root,.recipe-card-edit-button{background-color:var(--primary)!important;color:var(--contrast-text)!important}.recipe-card-edit-button.MuiIconButton-root:hover,.recipe-card-edit-button:hover{background-color:var(--primary)!important;opacity:.8}.recipe-card-delete-button.MuiIconButton-root,.recipe-card-delete-button{background-color:var(--error)!important;color:var(--background-paper, var(--surface))!important}.recipe-card-delete-button.MuiIconButton-root:hover,.recipe-card-delete-button:hover{background-color:var(--error-dark, #dc2626)!important}.recipe-card-delete-button.MuiIconButton-root:disabled,.recipe-card-delete-button:disabled{opacity:.5}.MuiSkeleton-root{background-color:var(--border);opacity:.3}[data-theme=light] .MuiSkeleton-root{background-color:var(--text-secondary);opacity:.15}.blur-up-image-container{position:relative;width:100%;height:100%;overflow:hidden}.blur-up-thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(10px);transform:scale(1.1);opacity:0;transition:opacity .2s ease-in;z-index:1}.blur-up-thumbnail.loaded{opacity:1}.blur-up-thumbnail.object-fit-cover{object-fit:cover}.blur-up-thumbnail.object-fit-contain{object-fit:contain}.blur-up-full{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease-in;z-index:2}.blur-up-full.visible{opacity:1}.blur-up-full.object-fit-cover{object-fit:cover}.blur-up-full.object-fit-contain{object-fit:contain}.material-icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.material-icon--sm{font-size:16px}.material-icon--md{font-size:20px}.material-icon--lg{font-size:24px}.material-icon--xl{font-size:32px}.material-icon--secondary{color:var(--text-secondary)}.material-icon--primary{color:var(--primary)}.page-container{padding-top:2rem;padding-bottom:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.page-title.MuiTypography-root,.page-title{font-weight:900!important;font-size:2.5rem!important;letter-spacing:-.05em!important}.page-title--large.MuiTypography-root,.page-title--large{font-size:3rem!important}.page-title--medium.MuiTypography-root,.page-title--medium{font-weight:600!important;font-size:2rem!important}.empty-state{display:flex;flex-direction:column;align-items:center;padding:4rem 0;width:100%}.empty-state--centered{text-align:center}@media(min-width:900px){.empty-state--centered{text-align:left}}.app-shell-content .search-input{max-width:600px;margin-top:1.5rem}.search-input .MuiOutlinedInput-root{border-radius:var(--radius-full)!important}.page-content{margin-bottom:2rem}.page-section{margin-bottom:1.5rem}.recipes-header-section{margin-bottom:2rem}.recipes-empty-state{display:flex;flex-direction:column;align-items:center;padding:0;width:100%;max-width:1200px;margin-left:auto;margin-right:auto}.recipes-empty-content{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem;max-width:960px;width:100%;text-align:center}@media(min-width:900px){.recipes-empty-content{text-align:left}}.recipes-empty-title{font-weight:900;font-size:2.5rem;margin-bottom:1rem}@media(min-width:900px){.recipes-empty-title{font-size:3rem}}.recipes-empty-description{max-width:42rem;font-size:1.125rem}.recipes-tips-container{background-color:var(--surface);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);margin-top:2rem;width:100%}.add-recipe-drawer-content .recipes-tips-container{background-color:var(--background-dark);padding:1rem}@media(min-width:900px){.recipes-tips-container{padding:2.5rem}}.recipes-tips-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.add-recipe-drawer-content .recipes-tips-header{gap:.5rem;margin-bottom:.5rem}.recipes-tips-title.MuiTypography-root,.recipes-tips-title{font-weight:700!important;font-size:1.5rem!important}.recipes-tips-description{max-width:45rem}.recipes-tip-card{box-shadow:var(--shadow-sm);border-radius:var(--radius)}.recipes-tip-card-content{padding:1.5rem;display:flex;gap:1rem;align-items:flex-start}.add-recipe-drawer-content .recipes-tip-card-content{padding:.5rem!important}.recipes-tip-icon{color:var(--primary);margin-top:.25rem}.recipes-tip-content{display:flex;flex-direction:column;gap:.5rem}.add-recipe-drawer-content .recipes-tip-content{gap:0}.recipes-tip-title{font-weight:700}.add-recipe-drawer-content .recipes-tips-grid{gap:.5rem}.recipes-no-results{text-align:center;padding:4rem 1rem;border-radius:var(--radius-lg);background-color:var(--surface);border:2px dashed var(--border)}.recipes-no-results-title{margin-bottom:1rem;color:var(--text-secondary)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding-left:1.5rem;padding-right:1.5rem;padding-top:1rem}.dialog-title.no-padding{padding:0!important}.dialog-actions-padded{padding-left:1.5rem;padding-right:1.5rem;padding-bottom:1rem}.recipe-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.recipe-detail-actions{display:flex;gap:.5rem}.recipe-detail-title-section{margin-bottom:1.5rem}.recipe-detail-title.MuiTypography-root,.recipe-detail-title{font-weight:900!important;font-size:2.5rem!important;margin-bottom:1rem}.recipe-detail-description{margin-bottom:1.5rem;font-size:1.1rem}.recipe-detail-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.recipe-detail-meta-item{display:flex;align-items:center;gap:.5rem}.recipe-detail-source-link{color:var(--primary);text-decoration:none}.recipe-detail-source-link:hover{text-decoration:underline}.recipe-detail-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.recipe-detail-chip.MuiChip-root,.recipe-detail-chip{background-color:var(--primary)!important}.recipe-detail-chip .MuiChip-label{color:var(--contrast-text)!important;font-weight:700}.recipe-detail-image-single-container{position:relative;width:100%;aspect-ratio:16/9;max-height:500px;border-radius:8px;overflow:hidden}.recipe-detail-image-single{width:100%;border-radius:var(--radius-lg);object-fit:cover;max-height:500px}.recipe-detail-section{margin-bottom:2rem}.recipe-detail-section-title{font-weight:800;font-size:1.75rem;margin-bottom:1rem}.recipe-detail-ingredients-list{margin:0;padding:0;list-style:none}.recipe-detail-ingredient-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--border)}.recipe-detail-ingredient-item:last-child{border-bottom:none}.recipe-detail-ingredient-name{flex:1}.recipe-detail-ingredient-quantity{display:flex;gap:.5rem;align-items:center}.recipe-detail-instructions-list{margin:0;padding:0;list-style:none;counter-reset:step-counter}.recipe-detail-instruction-item{display:flex;gap:1rem;margin-bottom:1.5rem;counter-increment:step-counter}.recipe-detail-instruction-item:before{content:counter(step-counter);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--primary);color:var(--contrast-text);font-size:.875rem;font-weight:700;flex-shrink:0}.recipe-detail-instruction-text{flex:1;padding-top:.25rem}.recipe-detail-sidebar{position:sticky;top:20px;border-radius:var(--radius-lg)}.recipe-detail-info-section{display:flex;flex-direction:column;gap:1rem}.recipe-detail-info-item-label{margin-bottom:.25rem}.recipe-detail-info-item-value{font-weight:600}.recipe-detail-categories{display:flex;gap:.25rem;flex-wrap:wrap}.recipe-detail-category-chip.MuiChip-root,.recipe-detail-category-chip{background-color:var(--primary)!important;opacity:.1}.recipe-detail-category-chip .MuiChip-label{color:var(--primary)!important}.recipe-import-error-alert{margin-left:1rem;margin-right:1rem}@media(min-width:900px){.recipe-import-error-alert{margin-left:0;margin-right:0}}.grocery-list-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.grocery-list-detail-title.MuiTypography-root,.grocery-list-detail-title{font-weight:600!important;font-size:2rem!important;flex:1}.grocery-list-detail-progress{margin-bottom:1rem}.grocery-list-detail-progress-bar{height:8px;border-radius:var(--radius)}.grocery-list-detail-form{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.grocery-list-detail-form-field{flex:1;min-width:150px}.grocery-list-detail-form-field .MuiOutlinedInput-root{border-radius:var(--radius-full)!important}.grocery-list-detail-form-field.quantity{min-width:120px}.grocery-list-detail-form-field.unit{min-width:100px}.grocery-list-detail-add-button.MuiButton-root,.grocery-list-detail-add-button{border-radius:var(--radius-full)!important;color:var(--contrast-text)!important;min-width:120px}.grocery-list-detail-categories{display:flex;flex-direction:column;gap:1.5rem}.grocery-list-detail-category-title{font-weight:600;font-size:1.25rem;margin-bottom:1rem;text-transform:capitalize}.grocery-list-detail-item{background-color:var(--background);border-radius:var(--radius);margin-bottom:.5rem;border:1px solid var(--border)}.grocery-list-detail-item.purchased{opacity:.6;text-decoration:line-through}.tasks-page-title{font-weight:900;font-size:2.5rem;letter-spacing:-.05em;margin-bottom:1.5rem}.tasks-create-card{margin-bottom:1.5rem}.tasks-create-title{font-weight:700;font-size:1.25rem;margin-bottom:1rem}.tasks-create-form{display:flex;flex-direction:column;gap:1rem}.tasks-textfield-pill .MuiOutlinedInput-root{border-radius:var(--radius-full)!important}.tasks-textfield-rounded .MuiOutlinedInput-root{border-radius:var(--radius-lg)!important}.tasks-create-button.MuiButton-root,.tasks-create-button{border-radius:var(--radius-full)!important;color:var(--contrast-text)!important;align-self:flex-start}.tasks-list{display:flex;flex-direction:column;gap:1rem}.tasks-item-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.tasks-item-content{flex:1}.tasks-item-title{font-weight:700;font-size:1.125rem;margin-bottom:.25rem}.tasks-item-description{margin-bottom:.5rem;font-size:.875rem}.tasks-item-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.tasks-item-actions{display:flex;gap:.5rem;align-items:center}.tasks-status-select{min-width:120px}.tasks-status-select .MuiSelect-root{border-radius:var(--radius-full)!important}.recipe-detail-image-grid-container{position:relative;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden}.recipe-detail-image-grid{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:4/3}.meal-planning-controls{display:flex;gap:1rem;align-items:center}.meal-planning-select{min-width:200px}.meal-planning-select .MuiSelect-root{border-radius:var(--radius-full)!important}.meal-planning-view-toggle.MuiToggleButtonGroup-root,.meal-planning-view-toggle{border-radius:var(--radius-full)!important;border:1px solid var(--border)!important;overflow:hidden!important}.meal-planning-view-toggle .MuiToggleButton-root{border:none!important;border-radius:0!important;padding:.5rem 1rem;font-size:.9rem}.meal-planning-view-toggle .MuiToggleButton-root:not(:last-of-type){border-right:1px solid var(--border)!important}.meal-planning-view-toggle .MuiToggleButton-root.Mui-selected{background-color:var(--primary)!important;color:var(--contrast-text)!important}.meal-planning-view-toggle .MuiToggleButton-root.Mui-selected:hover{background-color:var(--primary)!important;opacity:.8}.meal-planning-daily-date{font-weight:600;font-size:1.5rem;margin-bottom:1.5rem}.meal-planning-meal-type{font-weight:600;font-size:1.25rem;margin-bottom:1rem;text-transform:capitalize}.meal-planning-meal-card{margin-bottom:.5rem;background-color:var(--surface)}.meal-planning-meal-content{display:flex;justify-content:space-between;align-items:center}.meal-planning-weekly-day-header{font-weight:600;text-align:center;padding:.5rem;background-color:var(--surface);border-radius:var(--radius);margin-bottom:.5rem}.meal-planning-weekly-day-paper{padding:.5rem;min-height:400px;display:flex;flex-direction:column;background-color:var(--background)}.meal-planning-weekly-meal-card{background-color:var(--surface)}.meal-planning-weekly-meal-content{padding:.75rem}.meal-planning-weekly-meal-content:last-child{padding-bottom:.75rem}.meal-planning-weekly-meal-row{display:flex;gap:.25rem;align-items:center;flex-wrap:wrap}.meal-planning-weekly-meal-chip.MuiChip-root,.meal-planning-weekly-meal-chip{background-color:var(--primary)!important;color:var(--contrast-text)!important;font-size:.75rem;text-transform:capitalize;height:20px}.meal-planning-monthly-title{font-weight:600;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.meal-planning-monthly-day{aspect-ratio:1;padding:.25rem;display:flex;flex-direction:column;background-color:var(--background)}.meal-planning-monthly-day.other-month{opacity:.5}.meal-planning-monthly-day-number{font-weight:600;font-size:.9rem;margin-bottom:.25rem}.meal-planning-monthly-meals{display:flex;gap:.125rem;flex-wrap:wrap;margin-top:auto}.meal-planning-monthly-meal-dot{width:6px;height:6px;background-color:var(--primary);border-radius:50%}.meal-planning-monthly-meal-count{font-size:.7rem;color:var(--text-secondary)}.grocery-list-card{height:100%;display:flex;flex-direction:column}.grocery-list-card-link{flex:1;text-decoration:none;color:inherit}.grocery-list-card-content{flex:1}.grocery-list-card-title{font-weight:600;font-size:1.25rem;margin-bottom:.5rem}.grocery-list-card-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.grocery-list-card-meta-text{font-size:.9rem}.grocery-list-card-chip.MuiChip-root,.grocery-list-card-chip{background-color:var(--primary)!important;color:var(--contrast-text)!important;font-size:.75rem}.grocery-list-card-actions{padding:.5rem;display:flex;justify-content:flex-end}.grocery-list-section{margin-bottom:2rem}.grocery-list-section-title{font-weight:600;font-size:1.5rem;margin-bottom:1rem}.grocery-list-empty{padding:2rem 0;text-align:center}.settings-page-title.MuiTypography-root,.settings-page-title{font-weight:700!important;font-size:2rem!important;margin-bottom:1.5rem}.settings-profile-section{margin-bottom:1.5rem;padding:1rem;background-color:var(--background);border-radius:var(--radius);border:1px solid var(--border)}.settings-profile-title{font-weight:700;font-size:1.25rem;margin-bottom:1rem}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.settings-textfield-pill .MuiOutlinedInput-root{border-radius:var(--radius-full)!important}.settings-measurement-label{margin-bottom:.5rem;font-weight:500}.settings-measurement-toggle.MuiToggleButtonGroup-root,.settings-measurement-toggle{border-radius:var(--radius-full)!important;border:1px solid var(--border)!important;overflow:hidden!important}.settings-measurement-toggle .MuiToggleButton-root{border:none!important;border-radius:0!important;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.settings-measurement-toggle .MuiToggleButton-root:not(:last-of-type){border-right:1px solid var(--border)!important}.settings-measurement-toggle .MuiToggleButton-root.Mui-selected{background-color:var(--primary)!important;color:var(--contrast-text)!important}.settings-measurement-toggle .MuiToggleButton-root.Mui-selected:hover{background-color:var(--primary)!important;opacity:.8}.settings-measurement-help{display:block;margin-top:.25rem}.recipe-detail-image-list{margin-bottom:0}.recipe-detail-divider-spacing{margin-top:2rem;margin-bottom:2rem}.recipe-detail-sidebar-card.MuiCard-root,.recipe-detail-sidebar-card{border-radius:var(--radius)!important}.recipe-detail-meta-label.MuiTypography-root,.recipe-detail-meta-label{font-weight:600}.recipe-detail-section-title-large.MuiTypography-root,.recipe-detail-section-title-large{font-weight:700;margin-bottom:1rem}.recipe-detail-divider-bottom{margin-bottom:1rem}.meal-planning-meal-title{font-weight:600}.meal-planning-meal-meta{font-weight:600;font-size:.875rem}.meal-planning-meal-gap{gap:.25rem}.circle-card-link{text-decoration:none;color:inherit}.circle-card-meta-spacing{margin-bottom:1rem}.circle-card-chip{text-transform:uppercase;border-radius:var(--radius-full)}.auth-form-container{padding-top:2rem;padding-bottom:2rem;display:flex;justify-content:center}.auth-form-card.MuiCard-root,.auth-form-card{width:100%;max-width:480px;padding:1.5rem}.auth-form-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;text-align:center}.auth-form-header-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.auth-form-header-icon{width:40px;height:40px;background-color:var(--primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--contrast-text)}.auth-form-header-title.MuiTypography-root,.auth-form-header-title{font-size:1.875rem;font-weight:900;letter-spacing:-.025em}.auth-form-header-description.MuiTypography-root,.auth-form-header-description{font-size:1rem;color:var(--text-secondary)}.auth-form-footer{margin-top:1.5rem;text-align:center}.auth-link.MuiButton-root,.auth-link{color:var(--primary)!important;font-weight:700!important;text-transform:none!important;min-width:auto!important;padding:0!important;font-size:.875rem!important}.auth-link.MuiButton-root:hover,.auth-link:hover{background-color:transparent!important}.auth-link--forgot{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-decoration:none}.auth-link--forgot:hover{color:var(--primary)}.auth-password-strength{margin-bottom:.5rem}.auth-password-strength-label{font-size:.75rem;color:var(--text-secondary)}.auth-progress-bar{height:4px;border-radius:.5rem;background-color:var(--overlay-dark)}.auth-progress-bar .MuiLinearProgress-bar,.auth-progress-bar .MuiLinearProgress-bar1Determinate{border-radius:.5rem}.auth-password-requirements{margin-top:1rem}.auth-guard-loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background)}.side-nav-aside{display:flex;flex-direction:column;border-right:1px solid var(--border);background-color:var(--surface);padding:1.5rem;justify-content:space-between;flex-shrink:0;transition:width .3s ease}.side-nav-brand-container{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem;padding-left:.5rem}.side-nav-brand{font-size:1.25rem;font-weight:700;letter-spacing:-.025em}.side-nav-collapse-button{margin-left:auto;padding:.5rem;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.side-nav-nav{display:flex;flex-direction:column;gap:.5rem}.side-nav-link{display:flex;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-full);text-decoration:none;font-weight:400;transition:all .2s ease}.side-nav-link--active{background-color:var(--primary);color:var(--contrast-text);font-weight:700;box-shadow:0 0 20px var(--primary-shadow-light)}.side-nav-link--inactive{background-color:transparent;color:var(--text-secondary)}.side-nav-link--inactive:hover{background-color:var(--background);color:var(--primary)}.side-nav-icon{font-size:24px}.side-nav-settings-link{display:flex;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-full);color:var(--text-secondary);text-decoration:none;transition:all .2s ease}.side-nav-settings-link:hover{background-color:var(--background);color:var(--primary)}.side-nav-aside--collapsed{width:80px}.side-nav-aside--expanded{width:288px}.side-nav-link--collapsed{gap:0;justify-content:center}.side-nav-link--expanded{gap:1rem;justify-content:flex-start}.side-nav-settings-link--collapsed{gap:0;justify-content:center}.side-nav-settings-link--expanded{gap:.75rem;justify-content:flex-start}.side-nav-settings-text{font-weight:500}.theme-switcher-button{padding:.5rem;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-switcher-button:hover{background-color:var(--surface);color:var(--primary)}.top-nav-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid var(--border);background-color:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;flex-shrink:0}.top-nav-title{font-size:1.5rem;font-weight:700;letter-spacing:-.025em}.top-nav-actions{display:flex;align-items:center;gap:1rem}.top-nav-icon-button{padding:.5rem;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;position:relative;transition:all .2s ease}.top-nav-icon-button:hover{background-color:var(--background);color:var(--primary)}.top-nav-notification-dot{position:absolute;top:10px;right:10px;width:8px;height:8px;background-color:var(--primary);border-radius:50%;animation:pulse 2s infinite}.top-nav-user-container{display:flex;align-items:center;gap:.5rem}.top-nav-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--border);cursor:pointer;transition:all .2s ease}.top-nav-avatar:hover{border-color:var(--primary)}.top-nav-avatar-placeholder{width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent;transition:all .2s ease;font-weight:700;font-size:.875rem}.top-nav-avatar-placeholder:hover{border-color:var(--primary)}.top-nav-logout-button{padding:.5rem 1rem;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .2s ease}.top-nav-logout-button:hover{background-color:var(--background);color:var(--primary)}.app-shell-container{display:flex;height:100vh;width:100%;overflow:hidden;background-color:var(--background)}.app-shell-main{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.app-shell-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;height:100%}.app-shell-content>.MuiContainer-root{padding-top:1.5rem;display:flex;flex-direction:column;justify-content:space-between;height:100%}.app-shell-content .recipe-form-container{padding:1.5rem}.app-footer{margin-top:1rem;padding:1rem;border-top:1px solid var(--border)}.app-footer-text{display:block;color:var(--text-secondary);font-size:.875rem}.public-route-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--background);padding:1.5rem}.public-route-content{flex:1;width:100%;display:flex;align-items:center;justify-content:center}
