@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: #1a1a12;--warning-chip-text-light: #1e1a0f;--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{align-items:center}.MuiAlert-root .MuiAlert-icon{color:currentColor;opacity:1;padding:0;align-self:center}.MuiAlert-root .MuiAlert-message{padding:0;display:flex;align-items:center}.MuiAlert-root .MuiAlert-action{padding-top:0;padding-bottom:0;margin-right:0;align-items:center;align-self:center}.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}.card-lift-on-hover{transition:transform .2s ease,box-shadow .2s ease}.card-lift-on-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.recipe-card{--recipe-card-media-height: 200px;position:relative;height:100%;display:flex;flex-direction:column;transition:all .3s ease;cursor:pointer}.recipe-card-badges{position:absolute;top:.5rem;left:.5rem;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:calc(100% - 5.5rem)}.recipe-difficulty-marker{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:.25rem;border-radius:50%;box-sizing:border-box;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 3px color-mix(in srgb,var(--text-primary) 10%,transparent);flex-shrink:0}.recipe-difficulty-marker__icon{font-size:1.125rem;line-height:1;font-variation-settings:"FILL" 0;color:var(--text-secondary)}.recipe-card-new-badge.MuiChip-root,.recipe-card-new-badge{background-color:var(--mui-palette-success-main, #2e7d32);color:#fff}.recipe-card-added-by{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;min-width:0}.recipe-card-added-by__label{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-card-added-by__avatar.MuiAvatar-root,.recipe-card-added-by__avatar{width:1.5rem;height:1.5rem;font-size:.75rem;flex-shrink:0}.recipe-card-corner-actions{position:absolute;top:.5rem;right:.5rem;z-index:3;display:flex;align-items:center;gap:.35rem}.recipe-card-share.MuiIconButton-root,.recipe-card-share,.recipe-card-favorite.MuiIconButton-root,.recipe-card-favorite{position:static;width:2rem!important;height:2rem!important;padding:.25rem!important;background:color-mix(in srgb,var(--surface) 92%,transparent)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 3px color-mix(in srgb,var(--text-primary) 10%,transparent)}.recipe-card-share .material-symbols-outlined,.recipe-card-favorite .material-symbols-outlined{font-size:1.125rem;line-height:1;font-variation-settings:"FILL" 0;color:var(--text-secondary)}.recipe-card-share--shared .material-symbols-outlined{color:var(--mui-palette-primary-main, #1976d2);font-variation-settings:"FILL" 1}.recipe-card-favorite .meal-card-recipe-favorite__icon--filled,.recipe-card-favorite .material-symbols-outlined.meal-card-recipe-favorite__icon--filled{font-variation-settings:"FILL" 1;color:#e53935}.share-recipe-pick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.5rem}@media(min-width:600px){.share-recipe-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.share-recipe-pick-card{appearance:none;display:flex;flex-direction:column;gap:.4rem;padding:0;border:1px solid var(--border);border-radius:var(--radius, .75rem);background:var(--surface);color:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.share-recipe-pick-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:var(--shadow-sm)}.share-recipe-pick-card__media{aspect-ratio:4 / 3;width:100%;background:color-mix(in srgb,var(--surface) 70%,var(--border));overflow:hidden}.share-recipe-pick-card__image{width:100%;height:100%;object-fit:cover;display:block}.share-recipe-pick-card__placeholder,.share-recipe-pick-card__media--see-all{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.share-recipe-pick-card__media--see-all{border-bottom:1px dashed var(--border);color:var(--primary)}.share-recipe-pick-card--see-all{border-style:dashed}.share-recipe-pick-card__title{padding:0 .6rem .65rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-list-end-card{appearance:none;width:100%;min-height:340px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:1.5rem;border:2px dashed var(--border);border-radius:var(--radius-lg, 1rem);background:color-mix(in srgb,var(--surface) 80%,transparent);color:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.recipe-list-end-card:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));background:color-mix(in srgb,var(--surface) 100%,var(--primary) 4%)}.recipe-list-end-card--share{cursor:default}.recipe-list-end-card--share:hover{border-color:var(--border);background:color-mix(in srgb,var(--surface) 80%,transparent)}.recipe-list-end-card__icon-wrap{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.recipe-list-end-card__icon-wrap .material-symbols-outlined{font-size:1.75rem}.recipe-list-end-card__title{font-weight:700}.recipe-list-end-card__body{max-width:14rem;margin-bottom:.5rem}.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 .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;height:var(--recipe-card-media-height, 200px);overflow:hidden}.recipe-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--border) 40%,var(--surface));color:var(--text-secondary)}.recipe-card-image-placeholder .material-symbols-outlined{font-size:2.5rem}.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 .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}.page-breadcrumbs{margin-bottom:.5rem}.page-breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none;font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.page-breadcrumbs-item{display:inline-flex;align-items:center;min-width:0}.page-breadcrumbs-sep{display:inline-flex;align-items:center;color:var(--text-secondary)}.page-breadcrumbs-sep .material-symbols-outlined{font-size:14px}.page-breadcrumbs-link{color:inherit;text-decoration:none}.page-breadcrumbs-link:hover{color:var(--text)}.page-breadcrumbs-current{color:var(--text);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,28rem)}.picker-dialog-bg{z-index:10000!important}.picker-dialog{z-index:10001!important}.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}.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-search-row{display:flex;flex-wrap:wrap;align-items:center;margin-top:1.5rem;gap:.75rem 1rem}.recipes-search-row__input{flex:1 1 14rem;min-width:0}.recipes-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:0 1 auto;margin-top:0}.recipes-filter-chip{appearance:none;border:1px solid var(--mui-palette-divider, rgba(0, 0, 0, .12));background:var(--mui-palette-background-paper, #fff);color:var(--mui-palette-text-secondary, #666);border-radius:var(--radius, .75rem);padding:.4rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer}.recipes-filter-chip--active{background:var(--mui-palette-primary-main, #1976d2);border-color:var(--mui-palette-primary-main, #1976d2);color:var(--mui-palette-primary-contrastText, #fff)}.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-empty-manual-action{display:flex;justify-content:center}.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{margin-bottom:1rem}.recipe-detail-intro{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}@media(min-width:1200px){.recipe-detail-intro{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:2rem}}.recipe-detail-intro-main{flex:1;min-width:0}.recipe-detail-intro-actions{flex-shrink:0;align-items:center}.recipe-detail-panel-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;padding:1.5rem}.recipe-detail-ingredients-card+.recipe-detail-tags-card{margin-top:1.5rem}.recipe-detail-instructions-card{padding:2rem}.recipe-detail-social-bar.recipe-detail-panel-card{padding:1rem}.recipe-detail-panel-heading{display:flex;align-items:center;gap:.5rem;font-weight:800!important;font-size:1.25rem!important;margin-bottom:1.25rem}.recipe-detail-panel-heading-icon{color:var(--primary);font-size:1.375rem}.recipe-detail-actions{display:flex;gap:.5rem;align-items:center}.recipe-detail-meta-pills{margin-top:.25rem}.recipe-detail-meta-pill.MuiChip-root{font-weight:600;border:1px solid var(--border);background-color:var(--surface);box-shadow:0 1px 2px #0000000f;border-radius:9999px}.recipe-detail-meta-pill-icon{font-size:1.125rem!important;color:var(--primary)}.recipe-detail-hero{position:relative;width:100%;border-radius:1rem;overflow:hidden;margin-bottom:2.5rem;background-color:var(--surface)}.recipe-detail-hero .recipe-detail-hero-image:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 10px #00000080;pointer-events:none;z-index:3}.recipe-detail-hero .recipe-detail-hero-image.blur-up-image-container,.recipe-detail-hero .recipe-detail-hero-image{position:absolute;inset:0;width:100%;height:100%;border-radius:1rem 1rem 1.2rem}.recipe-detail-hero-placeholder{position:absolute;inset:0;background:var(--surface)}.recipe-detail-hero-favorite{position:absolute;top:1rem;right:1rem;z-index:2}.recipe-detail-hero-favorite-btn{background:#ffffffeb!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.recipe-detail-hero-cooking-tab{position:absolute;bottom:0;right:0;z-index:3;display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .5rem;background:var(--background);border-bottom:none;border-right:none;border-radius:.75rem 0 0;box-shadow:-1px -1px 5px #00000080}.recipe-detail-hero-cooking-tab:after{content:"";position:absolute;left:-30px;bottom:0;pointer-events:none;z-index:3;width:30px;height:30px;border-radius:0 0 .75rem;box-shadow:10px .75rem 0 0 var(--background)}.recipe-detail-hero-cooking-tab-label{margin:0;white-space:nowrap}.recipe-detail-hero-extra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1.5rem}.recipe-detail-hero-extra-item{aspect-ratio:4 / 3;border-radius:var(--radius-lg);overflow:hidden}.recipe-detail-social-bar{margin-bottom:0}.recipe-detail-social-share-btn{text-transform:none;font-weight:600}.recipe-detail-social-meta{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.recipe-detail-owner-avatar{width:40px;height:40px;font-weight:700;background-color:var(--primary);color:var(--contrast-text)}.recipe-detail-main-grid{align-items:flex-start}.recipe-detail-servings{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.recipe-detail-servings-label{display:block;margin-bottom:.75rem}@media(min-width:1200px){.recipe-detail-ingredients-sticky{position:sticky;top:5.5rem}}.recipe-detail-main-col-stack{width:100%}.recipe-detail-tags-show-all{margin-top:1rem;color:var(--text-secondary);text-transform:none}.recipe-detail-tags-section{margin-top:1.5rem}.recipe-detail-tags--collapsed{max-height:5.5rem;overflow:hidden}.recipe-detail-tag-chip.MuiChip-root{background-color:var(--surface);border:1px solid var(--border);font-weight:600}.recipe-detail-cooking-actions{margin-top:1rem}.recipe-detail-chefs-note{background-color:#ffedd573;border-color:#fed7aacc}.recipe-detail-chefs-note-title{display:flex;align-items:center;gap:.5rem;font-weight:700!important;color:#9a3412;margin-bottom:.5rem}.recipe-detail-chefs-note .recipe-detail-notes{color:#7c2d12d9;font-size:.875rem}.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;color:var(--text-secondary)}.recipe-detail-description a{color:var(--primary);text-decoration:none}.recipe-detail-description a:hover{text-decoration:underline}.recipe-detail-notes{font-size:1rem;color:var(--text-secondary)}.recipe-detail-notes a{color:var(--primary);text-decoration:none}.recipe-detail-notes a:hover{text-decoration:underline}.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-section-title.recipe-detail-ingredients-heading,.recipe-detail-ingredients-heading.MuiTypography-root{margin-bottom:1.25rem}.recipe-detail-sidebar-card .MuiCardContent-root{padding-top:1.25rem}.recipe-detail-ingredient-section-title{font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-top:1rem;margin-bottom:.5rem}.recipe-detail-ingredient-group:first-child .recipe-detail-ingredient-section-title{margin-top:0}.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-item--cooking{gap:.25rem;align-items:flex-start}.recipe-detail-ingredient-item--cooking .recipe-detail-cooking-checkbox{padding:0;margin:.125rem 0 0;align-self:flex-start}.recipe-detail-instruction-item--cooking{align-items:flex-start}.recipe-detail-instruction-item--cooking .recipe-detail-cooking-checkbox{padding:0;margin:.25rem 0 0;align-self:flex-start}.recipe-detail-ingredient-main{flex:1;min-width:0}.recipe-detail-ingredient-notes{margin-top:.25rem;display:block}.recipe-detail-ingredient-quantity{display:flex;gap:.5rem;align-items:center}.recipe-detail-instructions-list{margin:0;padding:0;list-style:none}.recipe-detail-instruction-section-title{font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-top:1.25rem;margin-bottom:.75rem}.recipe-detail-instruction-group:first-child .recipe-detail-instruction-section-title{margin-top:0}.recipe-detail-instruction-item{--recipe-detail-step-size: 40px;position:relative;display:flex;gap:1.5rem;margin-bottom:2.5rem;align-items:flex-start}.recipe-detail-instruction-group .recipe-detail-instruction-item:last-child{margin-bottom:0}.recipe-detail-instruction-step-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;align-self:stretch}.recipe-detail-instruction-group .recipe-detail-instruction-item:not(:last-child) .recipe-detail-instruction-step-col:after{content:"";flex:1;width:2px;min-height:1.5rem;margin-top:.5rem;background:var(--border)}.recipe-detail-instruction-step-num{display:flex;align-items:center;justify-content:center;width:var(--recipe-detail-step-size);height:var(--recipe-detail-step-size);border-radius:50%;background-color:rgb(from var(--primary) r g b / .12);color:var(--primary);font-size:1.125rem;font-weight:700;flex-shrink:0}@supports not (background-color: rgb(from var(--primary) r g b / .12)){.recipe-detail-instruction-step-num{background-color:var(--surface);border:2px solid var(--primary)}}.recipe-detail-instruction-text{flex:1;padding-top:.25rem;color:var(--text)}.recipe-detail-instruction-text a{color:var(--primary);text-decoration:none}.recipe-detail-instruction-text a:hover{text-decoration:underline}.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-label{font-weight:600}.recipe-import-banner-alert+.recipe-import-banner-alert{margin-top:1rem}.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:flex-start;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.grocery-list-detail-header-text{flex:1;min-width:0}.grocery-list-detail-title.MuiTypography-root,.grocery-list-detail-title{font-weight:600!important;font-size:2rem!important;margin-bottom:.25rem}.grocery-list-detail-shared-row{display:flex;align-items:center;flex-wrap:nowrap;gap:.35rem .5rem;min-width:0;width:100%;overflow:hidden}.grocery-list-detail-shared.MuiTypography-root,.grocery-list-detail-shared{display:inline-flex!important;align-items:center;gap:.35rem;font-size:.9rem!important;width:auto!important;max-width:none;flex:0 1 auto;min-width:0}.grocery-list-detail-shared-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-list-detail-shared-icon{font-size:1.125rem!important;line-height:1;flex-shrink:0}.grocery-list-detail-shared-sep{color:var(--text-secondary);margin:0 .15rem;flex-shrink:0}.grocery-list-detail-attribution{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.grocery-list-detail-attribution--inline{display:inline-flex!important;margin-top:0;flex:0 1 auto;min-width:0;max-width:none}.grocery-list-detail-attribution--inline .grocery-list-detail-attribution__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-list-detail-attribution__avatar.MuiAvatar-root,.grocery-list-detail-attribution__avatar{width:1.25rem!important;height:1.25rem!important;font-size:.7rem!important;flex-shrink:0}.grocery-list-detail-attribution__text.MuiTypography-root,.grocery-list-detail-attribution__text{font-size:.8125rem!important;line-height:1.3!important;white-space:nowrap}.grocery-list-detail-form{--grocery-form-control-height: 2.5rem;position:sticky;top:0;z-index:2;display:flex;gap:.4rem;margin-bottom:1.5rem;padding:.55rem .65rem;flex-wrap:wrap;align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 2px 8px color-mix(in srgb,var(--text) 12%,transparent)}.grocery-list-detail-form-field{flex:1;min-width:5.5rem}.grocery-list-detail-form-field.name{flex:2 1 9rem;min-width:8rem}.grocery-list-detail-form-field.quantity{flex:0 1 7.5rem;min-width:7rem}.grocery-list-detail-form-field.unit{flex:0 1 4.25rem;min-width:3.75rem}.grocery-list-detail-form-field.section{flex:1 1 6.5rem;min-width:6rem}.grocery-list-detail-form-field .MuiOutlinedInput-root{border-radius:var(--radius)!important;background-color:transparent!important;height:var(--grocery-form-control-height)}.grocery-list-detail-form-field .MuiOutlinedInput-notchedOutline{border-color:transparent!important}.grocery-list-detail-form-field .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,.grocery-list-detail-form-field .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:color-mix(in srgb,var(--primary) 45%,transparent)!important}.grocery-list-detail-form-field .MuiInputLabel-root{background-color:transparent}.grocery-list-detail-add-button.MuiButton-root,.grocery-list-detail-add-button{border-radius:var(--radius)!important;color:var(--contrast-text)!important;min-width:4.5rem;height:var(--grocery-form-control-height)!important;align-self:center;box-shadow:none!important}.grocery-list-detail-categories{display:flex;flex-direction:column;gap:1.5rem}.grocery-list-detail-section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;padding:0 .5rem .5rem}.grocery-list-detail-section-header--count-only{justify-content:flex-end}.grocery-list-detail-section-title-row{display:flex;align-items:center;gap:.15rem;flex:1;min-width:0}.grocery-list-detail-section-title-edit{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0}.grocery-list-detail-section-title-edit-actions{display:flex;align-items:center;flex-shrink:0}.grocery-list-detail-section-title-edit-btn.MuiIconButton-root,.grocery-list-detail-section-title-edit-btn,.grocery-list-detail-section-title-save.MuiIconButton-root,.grocery-list-detail-section-title-save,.grocery-list-detail-section-title-cancel.MuiIconButton-root,.grocery-list-detail-section-title-cancel,.grocery-list-detail-section-clear.MuiIconButton-root,.grocery-list-detail-section-clear{color:var(--text-secondary)!important}.grocery-list-detail-section-icon.MuiIconButton-root,.grocery-list-detail-section-icon{width:2rem!important;height:2rem!important;padding:.25rem!important}.grocery-list-detail-section-icon .material-symbols-outlined{font-size:1.25rem!important;line-height:1!important;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center}.grocery-list-detail-section-title-edit-btn,.grocery-list-detail-section-clear,.grocery-list-detail-section-delete{opacity:0;pointer-events:none;transition:opacity .15s ease}.grocery-list-detail-section:hover .grocery-list-detail-section-title-edit-btn,.grocery-list-detail-section:focus-within .grocery-list-detail-section-title-edit-btn,.grocery-list-detail-section:hover .grocery-list-detail-section-clear,.grocery-list-detail-section:focus-within .grocery-list-detail-section-clear,.grocery-list-detail-section:hover .grocery-list-detail-section-delete,.grocery-list-detail-section:focus-within .grocery-list-detail-section-delete{opacity:1;pointer-events:auto}.grocery-list-detail-section-header-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.grocery-list-detail-category-title.MuiTypography-root,.grocery-list-detail-category-title{font-weight:700!important;font-size:1.125rem!important;text-transform:none!important;margin:0!important;color:var(--primary)!important;cursor:text;letter-spacing:-.01em!important;line-height:1.3!important;flex:1;min-width:0}.grocery-list-detail-category-title--static{cursor:default!important}.grocery-list-detail-section-count.MuiChip-root,.grocery-list-detail-section-count{height:auto!important;min-height:0;font-size:.75rem!important;font-weight:500!important;border-radius:var(--radius-lg)!important;padding:.25rem .5rem!important;background-color:color-mix(in srgb,var(--text-secondary) 12%,var(--surface))!important;color:var(--text-secondary)!important}.grocery-list-detail-check.MuiCheckbox-root{padding:.375rem;color:color-mix(in srgb,var(--text-secondary) 55%,var(--border))}.grocery-list-detail-check.Mui-checked{color:var(--primary)}.grocery-list-detail-check .MuiSvgIcon-root{font-size:1.5rem}.grocery-list-detail-item.MuiListItem-root,.grocery-list-detail-item{background-color:var(--surface)!important;border-radius:var(--radius-lg)!important;margin-bottom:.35rem!important;border:1px solid transparent!important;padding:.5rem 5.5rem .5rem .5rem!important;display:flex!important;align-items:flex-start!important}.grocery-list-detail-item.MuiListItem-root:hover,.grocery-list-detail-item:hover{background-color:color-mix(in srgb,var(--primary) 10%,var(--surface))!important}.grocery-list-detail-item-actions{display:flex;align-items:center;gap:.15rem;opacity:0;pointer-events:none;transition:opacity .15s ease}.grocery-list-detail-item:hover .grocery-list-detail-item-actions,.grocery-list-detail-item:focus-within .grocery-list-detail-item-actions{opacity:1;pointer-events:auto}@media(hover:none){.grocery-list-detail-item-actions,.grocery-list-detail-section-title-edit-btn,.grocery-list-detail-section-clear,.grocery-list-detail-section-delete.MuiIconButton-root,.grocery-list-detail-section-delete{opacity:1;pointer-events:auto}}.grocery-list-detail-item-action.MuiIconButton-root,.grocery-list-detail-item-action{color:var(--text-secondary)!important;width:2rem!important;height:2rem!important;padding:.25rem!important}.grocery-list-detail-item-action .material-symbols-outlined{font-size:1.25rem!important;line-height:1!important}.grocery-list-detail-item-delete.MuiIconButton-root,.grocery-list-detail-item-delete{color:var(--mui-palette-error-main, #d32f2f)!important}.grocery-list-detail-item-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.grocery-list-detail-item-name.MuiTypography-root,.grocery-list-detail-item-name{font-size:1rem!important;font-weight:500!important;line-height:1.35!important;color:var(--text)!important}.grocery-list-detail-item-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;width:100%}.grocery-list-detail-item-meta-spacer{flex:1;min-width:0}.grocery-list-detail-item-qty.MuiTypography-root,.grocery-list-detail-item-qty{font-size:.75rem!important;font-weight:700!important;line-height:1.2!important;color:var(--primary)!important;flex-shrink:0}.grocery-list-detail-item-added-by{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;min-width:0;margin-left:auto}.grocery-list-detail-item-added-by__avatar.MuiAvatar-root,.grocery-list-detail-item-added-by__avatar{width:1rem!important;height:1rem!important;font-size:.625rem!important;flex-shrink:0}.grocery-list-detail-item-added-by__label.MuiTypography-root,.grocery-list-detail-item-added-by__label{font-size:.75rem!important;line-height:1.2!important;color:var(--text-secondary)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-list-detail-item.purchased{opacity:.6}.grocery-list-detail-item.purchased .grocery-list-detail-item-name.MuiTypography-root,.grocery-list-detail-item.purchased .grocery-list-detail-item-name{text-decoration:line-through;color:var(--text-secondary)!important}.grocery-list-detail-item.purchased .grocery-list-detail-item-qty.MuiTypography-root,.grocery-list-detail-item.purchased .grocery-list-detail-item-qty{color:var(--text-secondary)!important}.grocery-list-detail-section-title-input{flex:1;min-width:8rem}.grocery-list-detail-section-title-edit .grocery-list-detail-section-title-input{flex:1}.grocery-list-detail-edit-fields{display:flex;flex-direction:column;gap:.25rem}.grocery-list-detail-completed{opacity:.95;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.grocery-list-detail-completed .grocery-list-detail-category-title.MuiTypography-root,.grocery-list-detail-completed .grocery-list-detail-category-title{color:var(--text-secondary)!important}.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}.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}.grocery-list-card{position:relative;height:100%;display:flex;flex-direction:column;border-radius:var(--radius-lg)}.grocery-list-card-link{flex:1;text-decoration:none;color:inherit}.grocery-list-card-content{flex:1;padding-bottom:.5rem}.grocery-list-card-title.MuiTypography-root,.grocery-list-card-title{font-weight:600!important;font-size:1.2rem!important;margin-bottom:.4rem!important;letter-spacing:-.01em!important;line-height:1.3!important;color:var(--text)!important}.grocery-list-card-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.grocery-list-card-meta-text.MuiTypography-root,.grocery-list-card-meta-text{font-size:.875rem!important;color:var(--text-secondary)!important}.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{position:absolute;top:.35rem;right:.35rem;z-index:2;padding:0;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .15s ease}.grocery-list-card:hover .grocery-list-card-actions,.grocery-list-card:focus-within .grocery-list-card-actions{opacity:1;pointer-events:auto}@media(hover:none){.grocery-list-card-actions{opacity:1;pointer-events:auto}}.grocery-list-index-controls{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.grocery-list-index-controls .meal-planning-select{min-width:200px}.grocery-list-index-controls .meal-planning-select .MuiOutlinedInput-root,.grocery-list-index-controls .meal-planning-select .MuiSelect-root{border-radius:var(--radius-full)!important}.grocery-list-create-dialog-content{display:flex;flex-direction:column;gap:1.25rem;padding-top:.5rem}.grocery-list-create-dialog-actions{padding:1rem 1.5rem 1.25rem;gap:.75rem}.grocery-list-section{margin-bottom:2.25rem}.grocery-list-section-title.MuiTypography-root,.grocery-list-section-title{font-weight:600!important;font-size:1.35rem!important;margin-bottom:.85rem!important;letter-spacing:-.01em!important;color:var(--text)!important}.grocery-list-empty{padding:1.75rem 0;text-align:center}.grocery-list-card-preview{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .5rem;margin-top:.75rem;max-height:4.5rem;overflow:hidden}.grocery-list-card-preview--muted{opacity:.7}.grocery-list-card-preview-item{display:flex;align-items:flex-start;gap:.2rem;min-width:0}.grocery-list-card-preview-check{font-size:10px!important;width:10px!important;height:10px!important;margin-top:1px;flex-shrink:0;color:var(--text-secondary)}.grocery-list-card-preview-text.MuiTypography-root,.grocery-list-card-preview-text{font-size:8px!important;line-height:1.25!important;color:var(--text-secondary)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-page{width:100%}.settings-page-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem}.settings-page-title.MuiTypography-root,.settings-page-title{font-weight:800!important;font-size:clamp(1.75rem,4vw,2.25rem)!important;letter-spacing:-.02em;margin:0!important}.settings-page-subtitle{margin:0}.settings-section{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem}.settings-section-title.MuiTypography-root,.settings-section-title{font-weight:700!important;font-size:1.1rem!important;margin:0 0 .15rem!important;padding-inline:.35rem}.settings-section-title--danger{color:var(--mui-palette-error-main, #d32f2f)!important}.settings-section-caption{padding-inline:.35rem;margin-bottom:.15rem!important}.settings-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.settings-profile-card{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.settings-profile-card__summary{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.settings-profile-card__avatar.MuiAvatar-root{width:5rem;height:5rem;font-size:1.75rem}.settings-profile-card__text{flex:1 1 10rem;min-width:0}.settings-profile-card__name.MuiTypography-root{font-weight:700!important;font-size:1.25rem!important;margin:0!important}.settings-profile-card__edit{margin-left:auto}.settings-profile-card__form{padding-top:.25rem;border-top:1px solid var(--border)}.settings-profile-card__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.settings-form{display:flex;flex-direction:column;gap:1.25rem}.settings-textfield-pill .MuiOutlinedInput-root{border-radius:var(--radius)!important}.settings-link-card{padding:0}.settings-link-row.MuiButton-root{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;text-align:left;text-transform:none;color:inherit;border-radius:0;justify-content:space-between}.settings-link-row__copy{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start}.settings-link-row__title{font-weight:700}.settings-link-row__chevron{color:var(--text-secondary)}.settings-list-card{display:flex;flex-direction:column}.settings-list-row{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border)}.settings-list-row:last-child{border-bottom:none}.settings-list-row__icon{width:2.5rem;height:2.5rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);flex-shrink:0}.settings-list-row__copy{flex:1;min-width:0}.settings-list-row__title{font-weight:600}.settings-list-row__switch{margin-left:auto}.settings-danger-card{padding:1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-color:color-mix(in srgb,var(--mui-palette-error-main, #d32f2f) 35%,var(--border))}.settings-danger-card__copy{flex:1 1 14rem;display:flex;flex-direction:column;gap:.35rem}.settings-danger-card__title{font-weight:700}.settings-prefs-card,.settings-plan-card{padding:1.15rem 1.25rem}.settings-measurement-label{margin-bottom:.5rem;font-weight:600}.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:.85}.settings-measurement-help{display:block;margin-top:.4rem}.settings-plan-card__tier{font-weight:700;margin-bottom:.35rem}.settings-plan-card__limits{margin:.35rem 0 0;padding-left:1.15rem}@media(max-width:600px){.settings-profile-card__edit{width:100%;margin-left:0}.settings-danger-card__action{width:100%}}.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}.circles-landing-header{margin-bottom:2rem;align-items:flex-start}.circles-landing-title.MuiTypography-root,.circles-landing-title{font-weight:900;letter-spacing:-.02em}.circles-landing-subtitle{margin-top:.25rem}.circles-landing-create{min-height:3rem;min-width:10rem;font-weight:700}.circles-landing-list{flex:1 1 auto}.circles-landing-row{--circles-landing-row-bg: var(--section-container-bg);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;color:inherit;border-radius:4rem;background-color:var(--circles-landing-row-bg);border:1px solid transparent;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .06));transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.circles-landing-row:hover{border-color:color-mix(in srgb,var(--primary) 30%,transparent);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}[data-theme=light] .circles-landing-row:hover{--circles-landing-row-bg: #f8fafc}[data-theme=dark] .circles-landing-row:hover{--circles-landing-row-bg: #232e27}.circles-landing-row:hover .circles-landing-row-title{color:var(--primary)}.circles-landing-row:hover .circles-landing-chevron-wrap{color:var(--primary);background-color:color-mix(in srgb,var(--primary) 12%,transparent)}.circles-landing-row-main{display:flex;align-items:center;gap:1rem;min-width:0;flex:1;text-decoration:none;color:inherit}.circles-landing-row-trail{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.circles-landing-row-icon{width:3.5rem!important;height:3.5rem!important;flex-shrink:0}.circles-landing-row-icon .material-symbols-outlined{font-size:1.75rem}.circles-landing-row-icon--blue{--circles-icon-bg: #dbeafe;--circles-icon-fg: #2563eb;background-color:var(--circles-icon-bg)!important;color:var(--circles-icon-fg)!important}.circles-landing-row-icon--purple{--circles-icon-bg: #f3e8ff;--circles-icon-fg: #9333ea;background-color:var(--circles-icon-bg)!important;color:var(--circles-icon-fg)!important}.circles-landing-row-icon--orange{--circles-icon-bg: #ffedd5;--circles-icon-fg: #ea580c;background-color:var(--circles-icon-bg)!important;color:var(--circles-icon-fg)!important}.circles-landing-row-icon--green{--circles-icon-bg: #d1fae5;--circles-icon-fg: #059669;background-color:var(--circles-icon-bg)!important;color:var(--circles-icon-fg)!important}[data-theme=dark] .circles-landing-row-icon--blue{--circles-icon-bg: rgba(30, 58, 138, .3);--circles-icon-fg: #60a5fa}[data-theme=dark] .circles-landing-row-icon--purple{--circles-icon-bg: rgba(88, 28, 135, .3);--circles-icon-fg: #c084fc}[data-theme=dark] .circles-landing-row-icon--orange{--circles-icon-bg: rgba(124, 45, 18, .3);--circles-icon-fg: #fb923c}[data-theme=dark] .circles-landing-row-icon--green{--circles-icon-bg: rgba(6, 78, 59, .3);--circles-icon-fg: #34d399}.circles-landing-row-text{min-width:0}.circles-landing-row-title{font-size:1.125rem;font-weight:700;line-height:1.25;transition:color .15s ease}.circles-landing-row-meta{margin-top:.15rem;font-weight:500;color:var(--mui-palette-text-secondary)}.circles-landing-row-aside{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.circles-landing-manage{white-space:nowrap}.circles-landing-avatars{display:flex;flex-direction:row;padding-left:.5rem}.circles-landing-avatar{width:2.5rem!important;height:2.5rem!important;font-size:.75rem!important;border:2px solid var(--circles-landing-row-bg);margin-left:-.75rem}.circles-landing-avatar:first-of-type{margin-left:0}.circles-landing-avatar-overflow{background-color:var(--mui-palette-action-hover, #e8ece9)!important;color:var(--mui-palette-text-secondary)!important;font-weight:700}.circles-landing-chevron-wrap{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9999px;color:var(--mui-palette-text-secondary);transition:color .15s ease,background-color .15s ease}@media(max-width:600px){.circles-landing-header{flex-direction:column;align-items:stretch}.circles-landing-create{width:100%}.circles-landing-row{flex-wrap:wrap}.circles-landing-row-aside{width:100%;justify-content:space-between}.circles-landing-avatars{margin-left:auto}}.circle-hub-page.MuiContainer-root{justify-content:flex-start!important;height:auto!important;min-height:100%}.circle-hub-page>.app-footer{margin-top:auto;flex-shrink:0}.circle-hub-page-body{flex:1 0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%}.circle-hub-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem;border-radius:2rem;background-color:var(--section-container-bg, var(--surface, transparent));border:1px solid var(--border);box-shadow:var(--shadow-lg)}@media(min-width:600px){.circle-hub-header{padding:2rem}}.circle-hub-header-identity{display:flex;align-items:center;gap:1.5rem;min-width:0;flex:1 1 auto}.circle-hub-image{flex-shrink:0;width:6rem;height:6rem;border-radius:1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 28%,transparent),transparent 55%),var(--mui-palette-action-hover, #e8ece9);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 80%,transparent)}@media(min-width:900px){.circle-hub-image{width:8rem;height:8rem}}.circle-hub-image-fallback{font-size:2.5rem!important;color:var(--text-secondary);opacity:.85}.circle-hub-header-main{display:flex;flex-direction:column;justify-content:center;gap:.5rem;min-width:0;flex:1 1 auto}.circle-hub-title.MuiTypography-root,.circle-hub-title{margin:0;font-size:1.875rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--text)}.circle-hub-members-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.circle-hub-member-count{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.circle-hub-avatars{display:flex;margin-left:0}.circle-hub-avatars .circle-hub-avatar{margin-left:-.5rem}.circle-hub-avatars .circle-hub-avatar:first-of-type{margin-left:0}.circle-hub-avatar{width:2rem!important;height:2rem!important;border:2px solid var(--section-container-bg, #fff);font-size:.625rem!important}.circle-hub-avatar-overflow{background-color:var(--mui-palette-action-hover, #e8ece9)!important;color:var(--text)!important;font-weight:700;font-size:.625rem!important}.circle-hub-members-link{text-transform:none}.circle-hub-add-task.MuiButton-root,.circle-hub-add-task{flex-shrink:0;min-height:3rem;min-width:8.75rem;padding-inline:1.5rem;font-size:1rem;font-weight:700}.circle-hub-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:1.5rem;min-height:3rem;width:100%}.circle-hub-tabs .MuiTabs-indicator{background-color:var(--primary);height:3px}@media(min-width:900px){.circle-hub-tabs .MuiTabs-scrollButtons{display:none}}.circle-hub-tab.MuiTab-root,.circle-hub-tab{flex-shrink:0;min-height:3rem;padding:.5rem .25rem .8125rem;margin-right:2rem;color:var(--text-secondary)!important;text-decoration:none;text-transform:none;font-weight:700;font-size:1rem;letter-spacing:.015em}.circle-hub-tab.Mui-selected,.circle-hub-tab--active{color:var(--text)!important;font-weight:700}.circle-hub-tab:hover{color:var(--text)!important}.circle-hub-stub,.circle-hub-panel{min-width:0;width:100%}.circle-hub-panel{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding-bottom:2.5rem}.circle-hub-stub{padding:1.5rem 0}.tasks-create-dialog-content{padding-top:.5rem!important}.tasks-create-dialog-content .tasks-create-form{margin-top:.5rem}.circle-tasks-panel{width:100%}.tasks-list{display:flex;flex-direction:column;gap:.75rem}.tasks-row{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:1.5rem;background-color:var(--section-container-bg, var(--surface, transparent));border:1px solid transparent;transition:border-color .15s ease,opacity .15s ease}.tasks-row:hover{border-color:var(--border)}.tasks-row--done{opacity:.7}.tasks-row--done:hover{opacity:1}.tasks-row--done .tasks-row-title{color:var(--text-secondary);text-decoration:line-through}.tasks-row--done .tasks-row-description{text-decoration:line-through}@media(min-width:900px){.tasks-row{flex-direction:row;align-items:center}}.tasks-row-main{display:flex;align-items:center;gap:1rem;flex:1 1 auto;min-width:0}.tasks-row-check.MuiCheckbox-root{padding:0;color:color-mix(in srgb,var(--text-secondary) 55%,var(--border))}.tasks-row-check.Mui-checked{color:var(--primary)}.tasks-row-check .MuiSvgIcon-root{font-size:1.5rem}.tasks-row-copy{display:flex;flex-direction:column;gap:.25rem;min-width:0}.tasks-row-title{margin:0;font-size:1.125rem;font-weight:500;line-height:1.4;color:var(--text);transition:color .15s ease}.tasks-row-description{margin:0;font-size:.875rem;line-height:1.35;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tasks-row:hover .tasks-row-title{color:var(--primary)}.tasks-row--done:hover .tasks-row-title{color:var(--text)}.tasks-row-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;width:100%;padding-left:2.75rem}@media(min-width:900px){.tasks-row-meta{width:auto;justify-content:flex-end;padding-left:0}}.tasks-row-meta-info{display:flex;align-items:center;gap:.75rem;min-width:0}.tasks-row-actions{display:flex;align-items:center;gap:.125rem;margin-left:.5rem;padding-left:1rem;border-left:1px solid var(--border)}.tasks-row-assignee{width:2rem!important;height:2rem!important;font-size:.75rem!important;border:2px solid var(--section-container-bg, #fff)}.tasks-row-assignee--empty{width:2rem;height:2rem;border-radius:50%;border:2px dashed var(--border);box-sizing:border-box}.tasks-status-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent;font-family:inherit;line-height:1.2}.tasks-status-pill--button{cursor:pointer;background:transparent}.tasks-status-pill--button:disabled{cursor:default;opacity:.7}.tasks-status-dot{width:.375rem;height:.375rem;border-radius:50%;background:currentColor}.tasks-status-pill--todo{color:#ca8a04;background:color-mix(in srgb,#ca8a04 12%,transparent);border-color:color-mix(in srgb,#ca8a04 22%,transparent)}.tasks-status-pill--in_progress{color:#3b82f6;background:color-mix(in srgb,#3b82f6 12%,transparent);border-color:color-mix(in srgb,#3b82f6 22%,transparent)}.tasks-status-pill--done{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);border-color:color-mix(in srgb,var(--primary) 22%,transparent)}.tasks-row-due{font-size:.875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.tasks-row-due--urgent{color:#f87171}.tasks-row-edit.MuiIconButton-root,.tasks-row-delete.MuiIconButton-root{padding:.375rem}.circle-docs-onboarding{display:flex;flex-direction:column;gap:1rem;max-width:32rem;margin:1.5rem auto;padding:1.5rem 1rem;text-align:center}.circle-docs-onboarding__copy{margin:0}.circle-docs-onboarding__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.circle-docs-panel{display:flex;flex-direction:column;gap:1rem}.circle-docs-banner{margin-bottom:.25rem}.circle-docs-layout{display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:1.25rem;align-items:start}@media(max-width:800px){.circle-docs-layout{grid-template-columns:1fr}}.circle-docs-nav{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.circle-docs-nav__label{margin-top:.35rem}.circle-docs-nav__label-row{display:flex;align-items:center;gap:.15rem;margin-top:.35rem}.circle-docs-nav__label-row .circle-docs-nav__label{margin-top:0}.circle-docs-nav__hint{display:block}.circle-docs-main{min-width:0;padding:.25rem 0}.circle-docs-main__header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.circle-docs-main__actions{display:flex;flex-wrap:wrap;gap:.5rem}.circle-docs-file-list{display:flex;flex-direction:column;gap:.35rem}.circle-docs-file-list__head{display:none;grid-template-columns:minmax(0,1fr) 8rem 5rem 2.5rem;gap:1rem;padding:.35rem .75rem;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}@media(min-width:800px){.circle-docs-file-list__head{display:grid}}.circle-docs-file-list__actions-head{text-align:right}.circle-docs-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem;width:100%;text-align:left;padding:.75rem;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:inherit;align-items:center}.circle-docs-file-row:hover{background:var(--surface);border-color:var(--border)}@media(min-width:800px){.circle-docs-file-row{grid-template-columns:minmax(0,1fr) 8rem 5rem 2.5rem;gap:1rem}}.circle-docs-file-row__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:none;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.circle-docs-file-row__name:hover{text-decoration:underline}.circle-docs-file-row__actions{display:flex;justify-content:flex-end;grid-column:2;grid-row:1}@media(min-width:800px){.circle-docs-file-row__actions{grid-column:auto;grid-row:auto}}.circle-docs-file-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.85rem}.circle-docs-file-toolbar__search{flex:1 1 14rem;min-width:0;max-width:22rem}.circle-docs-file-toolbar__filters{display:flex;flex-wrap:wrap;gap:.4rem}.circle-docs-file-list__sort{display:inline-flex;align-items:center;gap:.2rem;margin:0;padding:.2rem .15rem;border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;border-radius:var(--radius-sm, .35rem)}.circle-docs-file-list__sort:hover{color:var(--text-primary)}.circle-docs-file-list__sort.is-active{color:var(--text-primary);font-weight:700}.circle-docs-file-list__sort-icon{font-size:1rem;line-height:1;opacity:.85}.circle-docs-file-list__empty-filter{padding:1rem .25rem}.circle-docs-file-list__more{display:flex;justify-content:center;padding:.85rem 0 .25rem}.circle-docs-help-modal__section{margin:0 0 1.5rem}.circle-docs-help-modal__section:last-child{margin-bottom:.25rem}.circle-docs-help-modal__list{margin:0;padding-left:1.35rem;display:flex;flex-direction:column;gap:.7rem}.circle-docs-help-modal__list li{font-size:.9rem;line-height:1.55;color:var(--text-primary)}.tiptap ul,.tiptap ol{padding:14px}.tiptap li{margin:.25em 0}.tiptap li>p{margin:0}.tiptap p{margin:.5em 0}.tiptap p:first-child{margin-top:0}.tiptap p:last-child{margin-bottom:0}.tiptap h3{font-size:1.125rem;font-weight:600;margin:.75em 0 .35em}.tiptap blockquote{margin:.75em 0;padding-left:1rem;border-left:3px solid var(--border);color:var(--text-secondary)}.tiptap hr{margin:1rem 0;border:none;border-top:1px solid var(--border)}.tiptap a{color:var(--primary);text-decoration:none}.tiptap a:hover{text-decoration:underline}.app-tooltip.MuiTooltip-tooltip{background-color:var(--surface);border:1px solid var(--border);font-size:.875rem;color:var(--text);border-radius:var(--radius)}.app-tooltip-arrow.MuiTooltip-arrow{color:var(--surface)}.app-tooltip-arrow.MuiTooltip-arrow:before{border:1px solid var(--border)}.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)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;align-items:stretch;justify-content:space-around;gap:.15rem;box-sizing:border-box;min-height:3.5rem;padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom,0px));background-color:var(--surface);border-top:1px solid var(--border)}.bottom-nav-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:0;padding:.25rem .15rem;color:var(--text-secondary);text-decoration:none;font-size:.65rem;font-weight:500;line-height:1.1;border-radius:var(--radius)}.bottom-nav-item--active{color:var(--primary)}.bottom-nav-item__icon{font-size:1.35rem;line-height:1}.bottom-nav-item__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-more-menu__icon{font-size:1.25rem;margin-right:.5rem;vertical-align:middle}.side-nav-aside{display:flex;flex-direction:column;box-sizing:border-box;border-right:1px solid var(--border);background-color:var(--surface);padding:1rem;justify-content:space-between;flex-shrink:0;transition:width .3s ease,padding .3s ease}.side-nav-brand-container{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;padding-left:.25rem}.side-nav-brand{font-size:1.125rem;font-weight:700;letter-spacing:-.025em}.side-nav-collapse-button{margin-left:auto;display:flex;align-items:center;justify-content:center;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:.375rem}.side-nav-link{display:flex;align-items:center;padding:.625rem .75rem;border-radius:var(--radius-full);text-decoration:none;font-weight:400;transition:background-color .2s ease,color .2s ease,box-shadow .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:20px;flex-shrink:0}.side-nav-settings-link{display:flex;align-items:center;padding:.625rem .75rem;border-radius:var(--radius-full);color:var(--text-secondary);text-decoration:none;transition:background-color .2s ease,color .2s ease}.side-nav-settings-link:hover{background-color:var(--background);color:var(--primary)}.side-nav-aside--expanded{width:180px}.side-nav-aside--collapsed{width:68px;padding:.5rem}.side-nav-aside--collapsed .side-nav-brand-container{justify-content:center;gap:0;margin-bottom:1.25rem;padding-left:0}.side-nav-aside--collapsed .side-nav-collapse-button{width:2.5rem;height:2.5rem;margin-left:0;padding:0;border-radius:50%}.side-nav-link--collapsed,.side-nav-settings-link--collapsed{width:2.5rem;height:2.5rem;padding:0;margin-inline:auto;border-radius:50%;gap:0;justify-content:center}.side-nav-link--expanded,.side-nav-settings-link--expanded{gap:.75rem;justify-content:flex-start}.side-nav-settings-text{font-weight:500}@media(max-width:768px){.side-nav-aside{width:68px!important;padding:.5rem!important}.side-nav-aside .side-nav-brand,.side-nav-aside .side-nav-link span:not(.side-nav-icon),.side-nav-aside .side-nav-settings-text{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.side-nav-brand-container{justify-content:center;gap:0;margin-bottom:1.25rem;padding-left:0}.side-nav-collapse-button{width:2.5rem;height:2.5rem;margin-left:0;padding:0;border-radius:50%}.side-nav-link,.side-nav-settings-link{width:2.5rem;height:2.5rem;padding:0;margin-inline:auto;border-radius:50%;gap:0!important;justify-content:center!important}}.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-bottom-nav-offset: 0px}.app-shell-container.app-shell--bottom-nav .app-shell-content{padding-bottom:var(--app-shell-bottom-nav-offset)}.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;min-height:100%;height:auto}.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}.invite-public-layout{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background-color:var(--background)}.invite-public-layout-content{position:relative;z-index:1;flex:1;width:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.invite-public-layout .invite-page-glow{position:fixed;border-radius:50%;pointer-events:none;filter:blur(120px);z-index:0}.invite-public-layout .invite-page-glow--primary{width:32rem;height:32rem;background-color:var(--primary);opacity:.2;top:-10%;left:-5%}.invite-public-layout .invite-page-glow--tertiary{width:24rem;height:24rem;background-color:var(--warning, #f97316);opacity:.1;bottom:-5%;right:-5%}
