@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}.recipe-form-section-gap{gap:2rem}.recipe-form-field-gap{gap:1.5rem}.recipe-form-column-gap{gap:2rem}.recipe-form-title,.recipe-form-title.MuiTypography-root,.recipe-form-title.MuiTypography-h1{font-weight:900!important;font-size:2rem!important;display:flex;align-items:center;gap:1.5rem}.recipe-form-section-header,.recipe-form-section-header.MuiTypography-root,.recipe-form-section-header.MuiTypography-h3{font-weight:700!important;font-size:1.125rem!important;display:flex;align-items:center;gap:.5rem}.recipe-form-field-label{font-weight:700;font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem;display:block}.recipe-form-input{font-size:.875rem}.recipe-form-input-pill .MuiOutlinedInput-root{border-radius:var(--radius-full)!important}.recipe-form-input-rounded .MuiOutlinedInput-root,.recipe-form-input-compact .MuiOutlinedInput-root{border-radius:var(--radius)!important}.recipe-form-input-multiline .MuiOutlinedInput-root textarea{overflow:hidden!important;resize:none}.recipe-form-section-container{border:2px solid var(--border);border-radius:var(--radius);overflow:hidden;background-color:var(--section-container-bg)}.recipe-form-section-header-container{padding:1rem 1.5rem;border-bottom:2px solid var(--border);background-color:var(--section-header-bg);display:flex;justify-content:space-between;align-items:center;min-height:65px}.recipe-form-section-content{padding:1.5rem;min-height:100px}.recipe-form-section-content.no-padding{margin-top:1.5rem;padding:0}.recipe-form-layout-grid{padding-top:2rem;display:grid;grid-template-columns:1fr;gap:2rem;width:100%;min-width:0}@media(min-width:900px){.recipe-form-layout-grid{grid-template-columns:repeat(2,1fr)}}.recipe-form-layout-preview{display:flex;flex-direction:column;min-height:100vh;padding:2rem 0}@media(min-width:1200px){.recipe-form-layout-preview{flex-direction:row}}.recipe-form-preview-panel{width:100%;background-color:var(--surface);border-top:1px solid var(--border);padding:1.5rem;overflow-y:auto}@media(min-width:1200px){.recipe-form-preview-panel{width:58.333%;border-top:none;border-left:1px solid var(--border)}}.recipe-form-preview-left{flex:1;width:100%;overflow-y:auto;padding-right:0}@media(min-width:1200px){.recipe-form-preview-left{width:41.666%;padding-right:2rem}}.recipe-form-field-container{display:flex;flex-direction:column}.recipe-form-section-group{margin-bottom:1rem}.recipe-form-section-group:last-child{margin-bottom:0}.recipe-form-compact-section-header{margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.recipe-form-compact-section-container{border:2px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;background-color:var(--surface)}.recipe-form-compact-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.recipe-form-editable-section-header{margin-left:1rem;margin-right:1rem}.drag-container{display:flex;padding:.25rem .5rem;gap:.5rem;align-items:center;opacity:1;background-color:transparent;transition:opacity .2s,background-color .2s}.drag-container.dragging{opacity:.5}.drag-container.drag-over{background-color:var(--action-hover)}.drag-handle{opacity:0;transition:opacity .2s;cursor:grab;display:flex;align-items:center;color:var(--text-secondary)}.drag-handle.visible{opacity:1}.drag-handle.dragging{cursor:grabbing}.drag-container:hover .drag-handle{opacity:1}.step-number-badge{width:24px;height:24px;border-radius:var(--radius-lg);background-color:var(--primary);color:var(--contrast-text);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:var(--shadow-md)}.step-connector{width:2px;flex:1;background-color:var(--divider, var(--border));min-height:40px;margin:.5rem 0}.step-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;opacity:0;transition:opacity .2s}.step-actions.visible{opacity:1}.section-actions{display:flex;gap:.5rem;opacity:.7;transition:opacity .2s}.section-actions:hover,.recipe-form-editable-section-header:hover .section-actions{opacity:1}.recipe-form-btn-add.MuiButton-root,.recipe-form-btn-add{flex:1;justify-content:flex-start;color:var(--text-secondary)!important;font-size:.875rem;border-radius:var(--radius-full)!important}.recipe-form-btn-add.split-left.MuiButton-root,.recipe-form-btn-add.split-left{border-radius:var(--radius-full) 0 0 var(--radius-full)!important;border-right:none!important}.recipe-form-btn-add-section.MuiButton-root,.recipe-form-btn-add-section{flex:1;justify-content:flex-start;color:var(--text-secondary)!important;font-size:.875rem;border-radius:0 var(--radius-full) var(--radius-full) 0!important;border-left:1px solid var(--border)!important}.recipe-form-btn-add-outlined.MuiButton-root,.recipe-form-btn-add-outlined{flex:1 1 0;min-width:0;border:2px dashed var(--primary)!important;color:var(--primary)!important;border-radius:var(--radius-full)!important;height:100%}.recipe-form-btn-add-outlined.split-left.MuiButton-root,.recipe-form-btn-add-outlined.split-left{border-radius:var(--radius-full) 0 0 var(--radius-full)!important;border-right:none!important;margin-right:0!important}.recipe-form-btn-add-outlined.split-right.MuiButton-root,.recipe-form-btn-add-outlined.split-right{border-radius:0 var(--radius-full) var(--radius-full) 0!important;border:2px dashed var(--primary)!important;border-left:2px dashed var(--primary)!important;margin-left:0!important}.recipe-form-btn-add-outlined.MuiButton-root:hover,.recipe-form-btn-add-outlined:hover{border-color:var(--primary)!important;opacity:.8;background-color:var(--action-hover)!important}.recipe-form-btn-add-outlined.split-left.MuiButton-root:hover,.recipe-form-btn-add-outlined.split-left:hover{border-right:none!important}.recipe-form-btn-add-outlined.split-right.MuiButton-root:hover,.recipe-form-btn-add-outlined.split-right:hover{border:2px dashed var(--primary)!important;border-left:2px dashed var(--primary)!important}.recipe-form-editable-section-header{display:flex;align-items:center;gap:1rem;position:relative;margin-bottom:1rem;border-bottom:1px solid var(--border)}.recipe-form-editable-section-header.compact{margin-bottom:.5rem}.recipe-form-editable-section-header-text{cursor:text;flex:1;font-weight:600;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.recipe-form-editable-section-header-text.compact{letter-spacing:0}.recipe-form-editable-section-header-input{flex:1}.recipe-form-editable-section-header-input .MuiInputBase-input{font-weight:600;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;padding-top:.5rem;padding-bottom:.5rem;letter-spacing:.05em}.recipe-form-editable-section-header-input.compact .MuiInputBase-input{letter-spacing:0}.section-action-button.MuiIconButton-root,.section-action-button{padding:.5rem!important}.section-action-button--error.MuiIconButton-root,.section-action-button--error{color:var(--error)!important}.empty-state-text{text-align:center;padding:2rem 0;color:var(--text-secondary)}.compact-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.measurement-toggle-group.MuiToggleButtonGroup-root,.measurement-toggle-group{border-radius:var(--radius-full)!important;border:1px solid var(--border)!important;overflow:hidden!important}.measurement-toggle-group .MuiToggleButton-root{border:none!important;border-radius:0!important;padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.measurement-toggle-group .MuiToggleButton-root:not(:last-of-type){border-right:1px solid var(--border)!important}.measurement-toggle-group .MuiToggleButton-root.Mui-selected{background-color:var(--primary)!important;color:var(--contrast-text)!important}.measurement-toggle-group .MuiToggleButton-root.Mui-selected:hover{background-color:var(--primary)!important;opacity:.8}.section-content-flex{display:flex;flex-direction:column}.button-container{display:flex;margin-top:1rem;gap:0;align-items:stretch;width:100%}.button-container .MuiButton-root{flex:1 1 0;min-width:0}.button-container.padded{padding:0 1.5rem 1.5rem}.total-time-display{font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.section-group-margin{margin-bottom:2rem}.section-group-margin:last-child{margin-bottom:0}.ingredient-quantity-input{width:80px}.ingredient-quantity-input .MuiOutlinedInput-root{border-radius:var(--radius-full)!important;text-align:center;background-color:var(--surface)}.ingredient-unit-select{width:112px}.ingredient-unit-select .MuiSelect-root{border-radius:var(--radius-full)}.ingredient-unit-select .MuiSelect-select{padding-top:.5rem;padding-bottom:.5rem}.ingredient-name-input{flex:1}.ingredient-name-input .MuiOutlinedInput-root{border-radius:var(--radius-full)!important;background-color:var(--surface)}.delete-button.MuiIconButton-root,.delete-button{opacity:0;transition:opacity .2s;color:var(--error)!important}.delete-button.visible.MuiIconButton-root,.delete-button.visible{opacity:1}.delete-button.MuiIconButton-root:hover,.delete-button:hover{background-color:var(--error-light)!important;color:var(--error-dark, #dc2626)!important}.step-actions-container{display:flex;flex-direction:column;align-items:center;padding-top:.5rem}.step-actions .drag-handle{color:var(--text-secondary)}.step-actions .drag-handle:hover{color:var(--primary)}.time-input-field{position:relative;border:1px solid var(--border);border-image:none;background-color:var(--surface);padding-left:1.5rem;padding-right:1.5rem;padding-top:0;padding-bottom:0;display:flex;align-items:center;gap:1rem;border-radius:var(--radius-full)}.time-input-field.compact{border-radius:var(--radius)}.time-input-label{position:absolute;top:-10px;left:12px;padding-left:.5rem;padding-right:.5rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);z-index:1;font-size:.75rem}.time-input-label.compact{font-size:.65rem}.time-input-label:before{content:"";position:absolute;top:9px;left:0;right:0;height:10px;background-color:var(--surface);border-radius:var(--radius) 0 0 0;z-index:-1}.time-input-group{display:flex;align-items:center;flex:1;gap:.5rem}.time-input-divider{width:1px;height:32px;background-color:var(--border);margin-left:.5rem;margin-right:.5rem}.time-input-textfield{flex:1}.time-input-textfield .MuiOutlinedInput-root{border:none;background-color:transparent;box-shadow:none}.time-input-textfield .MuiOutlinedInput-root:hover,.time-input-textfield .MuiOutlinedInput-root.Mui-focused{border:none;box-shadow:none}.time-input-textfield .MuiOutlinedInput-notchedOutline{border:none}.time-input-textfield .MuiOutlinedInput-input{text-align:center;font-size:1rem;font-weight:400;padding:8px 4px!important;min-width:34px}.time-input-textfield .MuiOutlinedInput-input::placeholder{opacity:.5;font-size:1rem}.time-input-textfield.compact .MuiOutlinedInput-input::placeholder{font-size:.875rem}.time-input-label-text{color:var(--text-secondary);white-space:nowrap;font-size:.875rem}.time-input-label-text.compact{font-size:.75rem}.recipe-title-input-compact .MuiOutlinedInput-root{font-size:.875rem;font-weight:700}.source-url-field-container{display:flex;gap:1rem;align-items:center}.source-url-icon-button.MuiIconButton-root,.source-url-icon-button{border-radius:var(--radius)!important;color:var(--text-secondary)!important}.source-url-icon-button.MuiIconButton-root:hover,.source-url-icon-button:hover{background-color:var(--primary-light-bg)!important;color:var(--primary)!important}.rescan-button.MuiButton-root,.rescan-button{border-radius:var(--radius-full)!important;min-width:auto;padding-left:1rem;padding-right:1rem;white-space:nowrap}.input-icon-adornment{margin-right:8px;color:var(--text-secondary)}.timing-fields-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:600px){.timing-fields-grid{grid-template-columns:repeat(3,1fr)}}.upload-progress-container{margin-top:1rem;display:flex;align-items:center;gap:1rem}.preview-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.preview-panel-title{font-weight:700}.preview-collapse-button.MuiIconButton-root,.preview-collapse-button{border-radius:var(--radius)!important}.upload-progress-text{margin-top:1rem;text-align:center}.form-header-container{background-color:transparent}.form-header-container--import{background-color:var(--background)}.form-header{display:flex;justify-content:space-between;align-items:center;vertical-align:bottom}.confidence-chip-container{display:flex;align-items:center;justify-content:flex-end;margin-bottom:0}.confidence-chip.MuiChip-root,.confidence-chip{font-weight:700;font-size:.75rem;text-transform:uppercase}.confidence-chip .MuiChip-label{color:inherit!important}.confidence-chip--high.MuiChip-root,.confidence-chip--high{background-color:var(--success-chip-bg-light)!important;color:var(--success-chip-text)!important}[data-theme=dark] .confidence-chip--high{background-color:var(--success-chip-bg-dark)!important;color:var(--success-chip-text)!important}.confidence-chip--medium.MuiChip-root,.confidence-chip--medium{background-color:var(--warning-chip-bg-light)!important;color:var(--warning-chip-text-light)!important}[data-theme=dark] .confidence-chip--medium.MuiChip-root,[data-theme=dark] .confidence-chip--medium{background-color:var(--warning-chip-bg-dark)!important;color:var(--warning-chip-text-dark)!important}.confidence-chip--low.MuiChip-root,.confidence-chip--low{background-color:var(--error-chip-bg)!important;color:var(--error-chip-text-light)!important}[data-theme=dark] .confidence-chip--low.MuiChip-root,[data-theme=dark] .confidence-chip--low{background-color:var(--error-chip-bg)!important;color:var(--error-chip-text-dark)!important}.recipe-form-actions-bar{position:sticky;bottom:-1px;left:0;right:0;background-color:var(--surface);border-top:1px solid var(--border);z-index:1000;display:flex;justify-content:center;margin-top:auto}.recipe-form-actions-container{padding:1.5rem;display:flex;justify-content:space-between;gap:1rem;max-width:1280px!important}.recipe-form-tooltip{background-color:var(--surface);border:1px solid var(--border);font-size:.875rem;color:var(--text);border-radius:var(--radius)}.recipe-form-tooltip-arrow{color:var(--surface)}.recipe-form-tooltip-arrow:before{border:1px solid var(--border)}.recipe-form-error-snackbar{bottom:90px}@media(min-width:600px){.recipe-form-error-snackbar{bottom:100px}}.recipe-form-error-alert{cursor:pointer}.recipe-form-error-alert:hover{opacity:.9}.tag-input-container{padding:.5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;min-height:60px}.tag-input-chip.MuiChip-root,.tag-input-chip{background-color:var(--primary)!important}.tag-input-chip .MuiChip-label{color:var(--contrast-text)!important;font-weight:700;font-size:.75rem}.tag-input-chip .MuiChip-deleteIcon{color:var(--contrast-text)!important}.tag-input-chip .MuiChip-deleteIcon:hover{color:var(--error)!important}.tag-input-field{flex:1;min-width:100px}.tag-input-field .MuiOutlinedInput-root,.tag-input-field .MuiOutlinedInput-root fieldset,.tag-input-field .MuiOutlinedInput-root:hover fieldset,.tag-input-field .MuiOutlinedInput-root.Mui-focused fieldset{border:none!important}.import-method-button{border-radius:var(--radius);padding:1rem;display:flex;align-items:center;gap:1rem;justify-content:flex-start;text-transform:none;border-color:var(--border);color:var(--text)}.import-method-button.highlighted{border-color:var(--primary)}.import-method-button:hover{border-color:var(--primary);background-color:var(--primary-light-bg);color:var(--text)}.import-method-button:hover .import-method-icon-container{background-color:var(--primary)}.import-method-button:hover .import-method-icon-container .icon{color:var(--primary-light-bg)!important}.import-method-icon-container{width:40px;height:40px;border-radius:50%;background-color:var(--primary-light-bg);display:flex;align-items:center;justify-content:center;transition:transform .3s}.import-method-icon-container.hovered{transform:scale(1.1)}.import-method-icon-container .icon{font-size:24px;color:var(--primary)}.import-method-content{display:flex;flex-direction:column;align-items:flex-start;flex:1}.import-method-title{font-weight:700;color:var(--text)}.import-method-description{font-size:.875rem;opacity:.8;color:var(--text)}.add-recipe-drawer-content .import-method-description{text-align:left}.import-method-popular-chip{background-color:var(--primary);color:var(--contrast-text);font-size:.625rem;font-weight:700;height:20px}.import-method-card{cursor:pointer;border:2px solid var(--border);position:relative;transition:all .3s ease;background-color:var(--section-container-bg);height:100%;display:flex;flex-direction:column}.import-method-card.highlighted{border-color:var(--primary-shadow-border)}.import-method-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary);background-color:var(--primary-light-bg)}.import-method-card.dragging,.import-method-button.dragging{border-color:var(--primary);background-color:var(--action-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.import-method-card-content{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;flex:1}.import-method-card-icon{width:64px;height:64px;border-radius:50%;background-color:var(--primary-light-bg);display:flex;align-items:center;justify-content:center;transition:transform .3s}.import-method-card-icon.hovered{transform:scale(1.1);background-color:var(--surface)}.import-method-card-info{display:flex;flex-direction:column;gap:.5rem}.import-method-card-title{font-weight:700}.import-method-card-action{margin-top:auto;padding-top:1rem;display:flex;justify-content:flex-end;opacity:0;transition:opacity .3s}.import-method-card-action.visible{opacity:1}.import-method-card-action-text{color:var(--primary);font-weight:700;display:flex;align-items:center;gap:.25rem}.import-method-popular-chip-absolute{position:absolute;top:16px;right:16px;background-color:var(--primary)!important;color:var(--contrast-text)!important;font-size:.625rem;font-weight:700;height:20px;z-index:1;opacity:1}.import-method-popular-chip-absolute .MuiChip-label{color:var(--contrast-text)!important;font-weight:700}.scan-photo-divider{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem}.scan-photo-divider:before,.scan-photo-divider:after{content:"";flex:1;height:1px;background-color:var(--border)}.scan-photo-divider-text{white-space:nowrap}.scan-photo-camera-button{border-radius:var(--radius-full);padding-top:.75rem;padding-bottom:.75rem}.file-upload-handler{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;background-color:transparent;opacity:1;transition:all .2s}.file-upload-handler.dragging{border-color:var(--primary);background-color:var(--action-hover)}.file-upload-handler.uploading{cursor:not-allowed;opacity:.6}.file-upload-handler:hover:not(.file-upload-handler.uploading){border-color:var(--primary);background-color:var(--action-hover)}.file-upload-handler-icon{width:64px;height:64px;border-radius:50%;background-color:var(--primary);opacity:.1;display:flex;align-items:center;justify-content:center;color:var(--primary)}.file-upload-handler-icon:hover{background-color:var(--primary);opacity:.2}.file-upload-handler-text{text-align:center}.file-upload-handler-title{font-weight:700;margin-bottom:.25rem}.file-upload-handler-error{width:100%;margin-top:.5rem}.add-recipe-drawer-content{padding:1.5rem;display:flex;flex-direction:column}.add-recipe-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.add-recipe-drawer-title{font-weight:700}.add-recipe-drawer-actions{flex:1}.crop-image-modal-header{display:flex;justify-content:space-between;align-items:center;padding-left:1.5rem;padding-right:1.5rem;padding-top:1rem}.crop-image-modal-content{padding:0}.crop-image-modal-layout{display:flex;flex-direction:column;height:600px}@media(min-width:1200px){.crop-image-modal-layout{flex-direction:row;height:500px}}.crop-image-preview-area{flex:1;background-color:var(--background);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}@media(min-width:1200px){.crop-image-preview-area{min-height:500px}}.crop-image-preview-container{position:relative;width:100%;height:100%}.crop-image-preview-img{max-width:100%;max-height:70vh;object-fit:contain;display:block}.crop-image-controls{padding:2rem;flex:1;overflow-y:auto}.crop-image-controls-section{margin-bottom:2rem}.crop-image-controls-label{font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.75rem;display:block}.crop-image-controls-row{display:flex;gap:1.5rem}.crop-image-rotate-button{border-radius:var(--radius);padding-top:.75rem;padding-bottom:.75rem}.crop-image-slider-container{display:flex;flex-direction:column;gap:.5rem}.crop-image-zoom-control{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.crop-image-zoom-label{font-weight:600;font-size:.875rem}.crop-image-zoom-slider{margin-top:.5rem}.crop-image-slider-label{display:flex;align-items:center;gap:.25rem}.crop-image-slider-label-text{font-weight:700}.crop-image-slider-help{display:block;margin-top:.25rem}.crop-image-actions{padding:2rem;border-top:1px solid var(--border);background-color:var(--background)}.crop-image-actions-row{margin:0;width:100%;justify-content:space-between}.crop-image-overlay{position:absolute;inset:15%;border:2px solid var(--overlay-light);box-shadow:0 0 0 9999px #0009;pointer-events:none;z-index:20}.crop-image-corner{position:absolute;width:16px;height:16px;background-color:var(--surface);border:1px solid var(--border);border-radius:2px}.crop-image-corner--top-left{top:-2px;left:-2px}.crop-image-corner--top-right{top:-2px;right:-2px}.crop-image-corner--bottom-left{bottom:-2px;left:-2px}.crop-image-corner--bottom-right{bottom:-2px;right:-2px}.crop-image-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background-color:var(--overlay-dark);color:var(--text);padding:.5rem 1rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;pointer-events:none;z-index:30}.crop-image-controls-panel{width:100%;background-color:var(--surface);border-left:none;border-top:1px solid var(--border);display:flex;flex-direction:column}@media(min-width:1200px){.crop-image-controls-panel{width:360px;border-left:1px solid var(--border);border-top:none}}.crop-image-enhance-box{background-color:var(--background);border-radius:var(--radius);padding:1rem;border:1px solid var(--border);margin-bottom:1.5rem}.crop-image-enhance-label{display:flex;align-items:center;gap:.25rem}.crop-image-enhance-label-text{font-weight:700}.crop-image-enhance-icon,.crop-image-enhance-switch .MuiSwitch-switchBase.Mui-checked{color:var(--primary)}.crop-image-enhance-switch .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:var(--primary)}.crop-image-action-button{justify-content:flex-start;border-radius:var(--radius);color:var(--text-secondary)}.crop-image-extract-button.MuiButton-root,.crop-image-extract-button{border-radius:var(--radius-full)!important;color:var(--contrast-text)!important;padding-top:1rem!important;padding-bottom:1rem!important;font-size:1.125rem!important;font-weight:700!important;background-color:var(--primary)!important}.crop-image-extract-button.MuiButton-root:hover,.crop-image-extract-button:hover{background-color:var(--primary)!important;opacity:.9}.crop-image-form-control-label.MuiFormControlLabel-root,.crop-image-form-control-label{margin:0!important;width:100%;justify-content:space-between}.crop-image-modal-paper.MuiPaper-root{max-height:90vh}.import-method-button[data-highlighted=true].MuiButton-root,.import-method-button[data-highlighted=true]{border-color:var(--primary)!important}.import-method-button:not([data-highlighted=true]).MuiButton-root,.import-method-button:not([data-highlighted=true]){border-color:var(--border)!important}.add-recipe-drawer-paper.MuiPaper-root{background-color:var(--surface);color:var(--text)}@media(min-width:600px){.add-recipe-drawer-paper{width:400px}}@media(min-width:900px){.add-recipe-drawer-paper{width:480px}}.recipe-form-layout-column{min-width:0;overflow:hidden}.image-upload-container{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--background);min-width:0}.image-upload-container:hover .change-overlay{opacity:1}.image-upload-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .5s}.image-upload-image:hover{transform:scale(1.05)}.change-overlay{position:absolute;inset:0;background-color:var(--overlay-dark);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:3}.change-photo-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-full);background-color:var(--overlay-light);color:var(--contrast-text);font-size:.875rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:color .2s;pointer-events:auto}.change-photo-button:hover{background-color:var(--background-paper, var(--surface));color:var(--overlay-light)}.change-photo-button:hover .material-symbols-outlined{color:var(--overlay-light)}.change-photo-button .material-symbols-outlined{color:var(--contrast-text);transition:color .2s}.image-upload-dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;cursor:pointer;background-color:transparent;transition:all .2s}.image-upload-dropzone.dragging,.image-upload-dropzone:hover{border-color:var(--primary);background-color:var(--action-hover)}.image-upload-icon-container{width:64px;height:64px;border-radius:50%;background-color:var(--primary);opacity:.1;display:flex;align-items:center;justify-content:center;color:var(--primary)}.image-upload-icon-container:hover{background-color:var(--primary);opacity:.2}.image-upload-text{text-align:center}.image-upload-title{font-weight:700;margin-bottom:.25rem}.image-upload-help{margin-top:.5rem;display:block}.image-upload-error-alert,.image-load-error-alert{position:absolute;bottom:16px;left:16px;right:16px;z-index:10}.recipe-form-container{background-color:transparent}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.user-profile-container{display:flex;align-items:center;gap:.75rem}.user-profile-avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--border)}.user-profile--small .user-profile-avatar,.user-profile--small .user-profile-avatar-placeholder{width:32px;height:32px}.user-profile--medium .user-profile-avatar,.user-profile--medium .user-profile-avatar-placeholder{width:40px;height:40px}.user-profile--large .user-profile-avatar,.user-profile--large .user-profile-avatar-placeholder{width:48px;height:48px}.user-profile-avatar-placeholder{border-radius:var(--radius-full);background-color:var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;border:2px solid var(--border);color:var(--text-primary)}.user-profile--small .user-profile-avatar-placeholder,.user-profile--small .user-profile-name{font-size:.875rem}.user-profile--medium .user-profile-avatar-placeholder,.user-profile--medium .user-profile-name{font-size:1rem}.user-profile--large .user-profile-avatar-placeholder,.user-profile--large .user-profile-name{font-size:1.125rem}.user-profile-info{display:flex;flex-direction:column;gap:.25rem}.user-profile-name{font-weight:700;color:var(--text-primary)}.user-profile-location{font-size:.875rem;color:var(--text-secondary)}
