@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Nunito:wght@300;400;600;700&family=Poppins:wght@300;400;500;600&family=Quicksand:wght@300;400;500;600&display=swap";*{backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{height:auto;max-width:100%;image-rendering:auto}.low-memory-device{--transition-duration: 0ms;--animation-duration: 0ms;--box-shadow: none;--text-shadow: none;--background-gradient: none;--border-radius: 4px}.low-memory-device *{transition:none!important;animation:none!important}.low-memory-device .q-card,.low-memory-device .q-btn{box-shadow:0 1px 3px #0000001a!important}.low-memory-device .q-img,.low-memory-device img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.medium-memory-device{--transition-duration: .15s;--animation-duration: .2s;--box-shadow: 0 2px 4px rgba(0,0,0,.1)}.medium-memory-device .q-transition--slide-left,.medium-memory-device .q-transition--slide-right{transition-timing-function:ease-out;transition-duration:.15s}.high-memory-device{--transition-duration: .3s;--animation-duration: .3s;--box-shadow: 0 4px 8px rgba(0,0,0,.12)}.high-memory-device img{image-rendering:auto}.low-memory-device .q-virtual-scroll{--virtual-scroll-buffer: 5}.medium-memory-device .q-virtual-scroll{--virtual-scroll-buffer: 10}.high-memory-device .q-virtual-scroll{--virtual-scroll-buffer: 20}.recipe-card{contain:layout style paint}.low-memory-device .recipe-card{contain:layout style;background-image:none!important}.low-memory-device .recipe-card .q-img{filter:none;transform:none}.shopping-item{contain:layout style;will-change:auto}.low-memory-device .shopping-item{transition:none}.low-memory-device .shopping-item:hover{transform:none;box-shadow:none}.low-memory-device .q-dialog{transition:opacity 0ms}.low-memory-device .q-dialog__inner{backdrop-filter:none;-webkit-backdrop-filter:none}.pantry-grid{contain:layout}.low-memory-device .pantry-grid{display:block}.low-memory-device .pantry-item{width:100%;margin-bottom:8px}.low-memory-device .q-field{transition:none}.low-memory-device .q-field__control{box-shadow:none}.low-memory-device .q-field--focused .q-field__control{box-shadow:0 0 0 1px var(--q-primary)}.low-memory-device .q-header{box-shadow:0 1px 2px #0000001a;backdrop-filter:none;-webkit-backdrop-filter:none}.low-memory-device .q-tab{transition:none}.low-memory-device .q-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.memory-efficient-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;contain:layout style paint}.low-memory-device .memory-efficient-scroll{scroll-behavior:auto}.lazy-image{background-color:#f5f5f5;background-image:linear-gradient(45deg,transparent 25%,rgba(255,255,255,.5) 25%,rgba(255,255,255,.5) 75%,transparent 75%),linear-gradient(45deg,transparent 25%,rgba(255,255,255,.5) 25%,rgba(255,255,255,.5) 75%,transparent 75%);background-size:20px 20px;background-position:0 0,10px 10px;transition:opacity .3s ease-in-out}.low-memory-device .lazy-image{background-image:none;background-color:#f5f5f5;transition:none}.lazy-image.loaded{background-image:none;background-color:transparent}.recipe-import-modal{contain:layout style}.low-memory-device .recipe-import-modal{background:white;box-shadow:none}.performance-indicator{position:fixed;bottom:10px;right:10px;background:rgba(0,0,0,.8);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;z-index:9999;pointer-events:none}.performance-indicator.low-end{background:rgba(255,0,0,.8)}.performance-indicator.medium-end{background:rgba(255,165,0,.8)}.performance-indicator.high-end{background:rgba(0,128,0,.8)}@media (max-width: 320px) and (max-height: 568px){.low-memory-device .non-essential{display:none!important}.low-memory-device .q-btn .q-btn__wrapper .q-icon,.low-memory-device .recipe-card .recipe-meta{display:none}}@keyframes memoryCleanup{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.memory-cleanup-active{animation:memoryCleanup .5s ease-in-out}.low-memory-device .memory-cleanup-active{animation:none}@media (pointer: coarse){.q-btn{min-height:44px;min-width:44px}.q-item{min-height:44px}.q-tab{min-height:48px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.low-memory-device img{filter:contrast(1.2)}}:root{--font-size-xs: .75rem;--font-size-sm: 1rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--text-base-color: rgb(89, 89, 89);--text-primary-color: rgb(89, 89, 89);--text-secondary-color: rgb(89, 89, 89);--app-font-size-adjustment: 0rem}.text-xs{font-size:calc(var(--font-size-xs) + var(--app-font-size-adjustment))}.text-sm{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.text-base,.text-md{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.text-lg{font-size:calc(var(--font-size-lg) + var(--app-font-size-adjustment))}.text-xl{font-size:calc(var(--font-size-xl) + var(--app-font-size-adjustment))}.title-sm,.text-2xl{font-size:var(--font-size-2xl)}.title-md,.text-3xl{font-size:var(--font-size-3xl)}.title-lg,.text-4xl{font-size:var(--font-size-4xl)}.title-xl,.text-5xl{font-size:var(--font-size-5xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.dynamic-font-size{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}p:not(.q-btn p):not(.q-badge p),.recipe-description,.instruction-text:not(.completed),.ingredient-checkbox .q-checkbox__label,.source-text,.date-added,.tips-list,.empty-state-description,.no-recipe p{font-size:1rem!important;color:#595959!important}.q-table td:not(:has(.q-btn)):not(:has(.q-badge)){font-size:1rem!important;color:#595959!important}.text-caption:not(.q-btn .text-caption):not(.q-badge .text-caption){font-size:1rem!important;color:#595959!important}.recipe-card .recipe-content p,.recipe-card .recipe-content .instruction-text:not(.completed),.recipe-card .recipe-content .ingredient-checkbox .q-checkbox__label{font-size:1rem!important;color:#595959!important}.text-consistent{font-size:1rem!important;color:#595959!important}:root{font-size:calc(1rem + var(--app-font-size-adjustment, 0rem))}.dynamic-text-xs{font-size:calc(var(--font-size-xs) + var(--app-font-size-adjustment))}.dynamic-text-sm{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.dynamic-text-base{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.dynamic-text-lg{font-size:calc(var(--font-size-lg) + var(--app-font-size-adjustment))}.dynamic-text-xl{font-size:calc(var(--font-size-xl) + var(--app-font-size-adjustment))}.fixed-text-xs{font-size:var(--font-size-xs)}.fixed-text-sm{font-size:var(--font-size-sm)}.fixed-text-base{font-size:var(--font-size-base)}.fixed-text-lg{font-size:var(--font-size-lg)}.fixed-text-xl{font-size:var(--font-size-xl)}.fixed-text-2xl{font-size:var(--font-size-2xl)}.fixed-text-3xl{font-size:var(--font-size-3xl)}.q-field__label,.q-field__native,.q-input,.q-select,.q-table tbody td{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.q-table thead th{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment));font-weight:var(--font-weight-semibold)}.q-card__section p,.q-card__section .content-text{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.q-item__label:not(.q-item__label--caption){font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.q-item__label--caption{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.q-dialog__title{font-size:var(--font-size-lg)}.q-dialog__message,.q-btn{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.q-btn.q-btn--sm{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.q-btn.q-btn--lg{font-size:calc(var(--font-size-lg) + var(--app-font-size-adjustment))}.q-chip,.q-badge{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.q-drawer .q-item{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.q-toolbar__title{font-size:var(--font-size-lg)}.q-tooltip{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.q-notification__message{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.font-size-debug:after{content:"Font adjustment: " attr(data-adjustment);position:fixed;bottom:10px;right:10px;background:rgba(0,0,0,.8);color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;z-index:9999}:root{--space-unit: .5rem;--space-xs: calc(var(--space-unit) * .5);--space-sm: var(--space-unit);--space-md: calc(var(--space-unit) * 2);--space-lg: calc(var(--space-unit) * 3);--space-xl: calc(var(--space-unit) * 4);--space-2xl: calc(var(--space-unit) * 6);--space-3xl: calc(var(--space-unit) * 8);--space-card-padding: var(--space-md);--space-section-gap: var(--space-xl);--space-element-gap: var(--space-md)}.p-xs{padding:var(--space-xs)!important}.p-sm{padding:var(--space-sm)!important}.p-md{padding:var(--space-md)!important}.p-lg{padding:var(--space-lg)!important}.p-xl{padding:var(--space-xl)!important}.m-xs{margin:var(--space-xs)!important}.m-sm{margin:var(--space-sm)!important}.m-md{margin:var(--space-md)!important}.m-lg{margin:var(--space-lg)!important}.m-xl{margin:var(--space-xl)!important}.gap-xs{gap:var(--space-xs)!important}.gap-sm{gap:var(--space-sm)!important}.gap-md{gap:var(--space-md)!important}.gap-lg{gap:var(--space-lg)!important}.gap-xl{gap:var(--space-xl)!important}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 2px 0 rgba(0, 0, 0, .14);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -1px rgba(0, 0, 0, .14);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .2), 0 4px 6px -2px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .2), 0 10px 10px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .35);--shadow-card: var(--shadow-md);--shadow-card-hover: var(--shadow-lg);--shadow-button: var(--shadow-sm);--shadow-button-hover: var(--shadow-md);--shadow-dialog: var(--shadow-xl);--shadow-dropdown: var(--shadow-lg);--shadow-primary: 0 4px 20px rgba(94, 0, 94, .15);--shadow-primary-hover: 0 12px 40px rgba(94, 0, 94, .25);--shadow-secondary: 0 4px 20px rgba(133, 188, 14, .15);--shadow-secondary-hover: 0 12px 40px rgba(133, 188, 14, .25)}.elevation-0{box-shadow:none!important}.elevation-1{box-shadow:var(--shadow-xs)!important}.elevation-2{box-shadow:var(--shadow-sm)!important}.elevation-3{box-shadow:var(--shadow-md)!important}.elevation-4{box-shadow:var(--shadow-lg)!important}.elevation-5{box-shadow:var(--shadow-xl)!important}.elevation-6{box-shadow:var(--shadow-2xl)!important}:root{--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.25, .8, .25, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s;--transition-all: all var(--duration-normal) var(--ease-out);--transition-transform: transform var(--duration-normal) var(--ease-out);--transition-opacity: opacity var(--duration-normal) var(--ease-out);--transition-colors: color var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);--transition-shadow: box-shadow var(--duration-normal) var(--ease-out);--transition-hover: transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out)}.animate-bounce-in{animation:bounceIn var(--duration-slow) var(--ease-bounce)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.hover-lift{transition:var(--transition-hover)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.hover-scale{transition:var(--transition-transform)}.hover-scale:hover{transform:scale(1.05)}.content-text{font-size:calc(1rem + var(--app-font-size-adjustment))!important;color:#595959!important}.recipe-description,.instruction-text:not(.completed),.ingredient-checkbox .q-checkbox__label,.source-text,.date-added,.tips-list,.empty-state-description,.no-recipe p,.mealplan-card-title .text-caption,.recipe-content p:not(.q-btn p):not(.q-badge p),.recipe-meta .cuisine-tag,.recipe-meta .category-tag{font-size:calc(1rem + var(--app-font-size-adjustment))!important;color:#595959!important}.q-table td:not(:has(.q-btn)):not(:has(.q-badge)):not(:has(.q-toggle)){font-size:calc(1rem + var(--app-font-size-adjustment))!important;color:#595959!important}.recipe-card .recipe-description,.recipe-card .instruction-text:not(.completed),.recipe-card .ingredient-checkbox .q-checkbox__label,.recipe-card .source-text,.recipe-card .date-added,.recipe-card .nutrition-label,.recipe-card .stat-label{font-size:calc(1rem + var(--app-font-size-adjustment))!important;color:#595959!important}.recipe-card .instruction-text.completed{font-size:calc(1rem + var(--app-font-size-adjustment))!important}.mealplan-day-slide .text-caption:not(.q-btn .text-caption):not(.q-badge .text-caption){font-size:calc(1rem + var(--app-font-size-adjustment))!important;color:#595959!important}.empty-state-content .empty-state-description{font-size:calc(1rem + var(--app-font-size-adjustment))!important;color:#595959!important}:root{--z-base: 1;--z-content: 10;--z-card-overlay: 25;--z-elevated: 100;--z-sticky: 500;--z-header: 1000;--z-page-sticky: 1000;--z-tooltip: 3000;--z-popover: 3100;--z-dropdown: 3200;--z-onboarding-bubble: 4000;--z-notification: 5000;--z-dialog-backdrop: 5500;--z-dialog: 6000;--z-dialog-content: 6100;--z-dialog-nested: 6300;--z-dialog-datepicker: 7000;--z-dialog-tooltips: 7000;--z-recipe-tooltip-in-dialog: 9000;--z-voice-commands-dialog: 9200;--z-timers-dialog: 9300;--z-timer-notification: 9400;--z-recipe-import-dialog: 9500;--z-confirmation-dialog: 9999;--z-menu-drawer: 10000}.z-base{z-index:var(--z-base)}.z-content{z-index:var(--z-content)}.z-card-overlay{z-index:var(--z-card-overlay)}.z-elevated{z-index:var(--z-elevated)}.z-sticky{z-index:var(--z-sticky)}.z-header{z-index:var(--z-header)}.z-page-sticky{z-index:var(--z-page-sticky)}.z-menu-drawer{z-index:var(--z-menu-drawer)}.z-tooltip{z-index:var(--z-tooltip)}.z-popover{z-index:var(--z-popover)}.z-dropdown{z-index:var(--z-dropdown)}.z-onboarding-bubble{z-index:var(--z-onboarding-bubble)}.z-notification{z-index:var(--z-notification)}.z-dialog-backdrop{z-index:var(--z-dialog-backdrop)}.z-dialog{z-index:var(--z-dialog)}.z-dialog-content{z-index:var(--z-dialog-content)}.z-dialog-nested{z-index:var(--z-dialog-nested)}.z-dialog-datepicker{z-index:var(--z-dialog-datepicker)}.z-dialog-tooltips{z-index:var(--z-dialog-tooltips)}.z-recipe-tooltip-in-dialog{z-index:var(--z-recipe-tooltip-in-dialog)}.z-recipe-import-dialog{z-index:var(--z-recipe-import-dialog)}.z-confirmation-dialog{z-index:var(--z-confirmation-dialog)}.q-dialog{z-index:var(--z-dialog)!important}.q-drawer{z-index:var(--z-menu-drawer)!important}.q-tooltip{z-index:2999!important}.q-tooltip__inner,.q-tooltip__content{z-index:inherit!important}.q-drawer--opened~.q-page-container .q-tooltip:not(.dialog .q-tooltip),.q-drawer--opened~.q-page-container .tooltip:not(.dialog .tooltip),.q-drawer--opened~.q-page-container .tooltip-template:not(.dialog .tooltip-template){visibility:hidden!important;opacity:0!important}.q-dialog+.q-page-container .q-tooltip:not(.dialog .q-tooltip),.q-dialog+.q-page-container .tooltip:not(.dialog .tooltip),.q-dialog+.q-page-container .tooltip-template:not(.dialog .tooltip-template){visibility:hidden!important;opacity:0!important}body:has(.q-dialog)>.q-tooltip:not(.q-dialog .q-tooltip),body:has(.q-dialog) .q-page-container .q-tooltip:not(.q-dialog .q-tooltip),body:has(.q-dialog) .q-page-container .tooltip:not(.q-dialog .tooltip),body:has(.q-dialog) .q-page-container .tooltip-template:not(.q-dialog .tooltip-template){visibility:hidden!important;opacity:0!important}body:has(.q-dialog--modal)>.q-tooltip:not(.dialog-tooltip),body:has(.q-dialog__inner)>.q-tooltip:not(.dialog-tooltip){visibility:hidden!important;opacity:0!important}.q-dialog .q-tooltip,.q-dialog .q-tooltip__inner,.q-dialog .q-tooltip__content,.q-dialog .tooltip,.q-dialog .tooltip-template{z-index:var(--z-dialog-tooltips)!important}.dialog-tooltip{z-index:var(--z-dialog-tooltips)!important;visibility:visible!important;opacity:1!important}.q-drawer__backdrop{z-index:2998!important}.q-menu{z-index:var(--z-dropdown)!important}.q-notify{z-index:var(--z-notification)!important}.q-loading{z-index:var(--z-loading)!important}.create-new-item-dialog,.create-new-item-dialog .q-dialog__inner{z-index:var(--z-dialog)!important}.create-new-item-dialog .q-card{z-index:var(--z-dialog-content)!important}.pantry-tooltip,.main-toolbar-tooltip{z-index:var(--z-tooltip)!important}.floating-action-btn,.plum-pointer-container{z-index:var(--z-elevated)!important}.q-dialog .q-tooltip,.create-new-item-dialog .q-tooltip,.q-card .q-tooltip,.q-dialog__inner .q-tooltip,.dialog .q-tooltip,.q-dialog .q-tooltip__inner,.q-dialog .q-tooltip__content,.dialog-tooltip,.q-dialog .tooltip,.q-dialog .tooltip .q-tooltip,.q-dialog .tooltip .q-tooltip__inner,.q-dialog .tooltip .q-tooltip__content,.q-card .tooltip,.q-card .tooltip .q-tooltip,.q-card .tooltip .q-tooltip__inner,.q-card .tooltip .q-tooltip__content,.q-dialog .tooltip-template,.q-card .tooltip-template{z-index:var(--z-dialog-tooltips)!important}.z-index-fix{z-index:inherit!important}.timer-completion-notification{z-index:var(--z-timer-notification)!important}.q-tooltip--background{color:#5e005e!important}.user-name,.q-card p[class*=data-v],.q-dialog p[class*=data-v],p[class*=data-v],.q-card p,.q-dialog p,p,.q-table th,.q-table td,.q-chip__content,.q-radio__label,.q-checkbox__label,div.q-item__caption,.table-typography,.membership-card li,.membership-card .font-medium,.membership-list li,.q-card-section:not(.bg-secondary) div:not(.card-title):not(.text-brand-primary):not(.font-bold):not(.font-italic){color:#494949}.q-item{color:#5e005e!important}.ingredient-chip.q-chip .q-chip__content,.ingredient-chip.q-chip .q-chip__content .ellipsis{color:#fff!important}.q-card{box-shadow:var(--shadow-md);border-radius:16px;max-width:95vw;background:white;border:1px solid rgba(0,0,0,.04);transition:var(--transition-all)}.q-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-elevated{box-shadow:var(--shadow-lg)}.card-elevated:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.card-flat{box-shadow:none;border:1px solid var(--grey-200)}.card-flat:hover{box-shadow:var(--shadow-sm);border-color:var(--grey-300)}.card-primary{border-color:#5e005e1a}.card-primary:hover{box-shadow:0 15px 35px #5e005e2e,0 5px 15px #0000001f;border-color:#5e005e33}.q-card-section{padding:var(--space-card-padding)}.q-card-section.card-section-compact{padding:var(--space-md)}.q-card-section.card-section-spacious{padding:var(--space-xl)}.q-badge{padding:var(--space-xs) var(--space-sm);border-radius:16px;font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);letter-spacing:.025em}.recipe-card .recipe-image-container{position:relative;height:200px;overflow:hidden;border-radius:12px 12px 0 0}.recipe-card .recipe-image{width:100%;height:100%;object-fit:cover;transition:var(--transition-transform)}.recipe-card:hover .recipe-image{transform:scale(1.05)}.recipe-card .recipe-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.3) 100%);pointer-events:none}.recipe-card .recipe-badges{position:absolute;top:var(--space-md);left:var(--space-md);right:var(--space-md);display:flex;justify-content:space-between;align-items:flex-start;z-index:2}.recipe-card .recipe-actions{position:absolute;bottom:var(--space-md);right:var(--space-md);display:flex;gap:var(--space-sm);z-index:2}.mealplan-card{border-radius:16px;box-shadow:0 8px 25px #5e005e1f,0 3px 10px #00000014;transition:var(--transition-all);background:white;overflow:hidden;border:1px solid rgba(0,0,0,.04)}.mealplan-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #5e005e2e,0 5px 15px #0000001f;border-color:#5e005e1a}.mealplan-card.mealplan-card-compact{border-radius:16px}.mealplan-card .mealplan-card-img-compact{min-height:140px;max-height:160px;width:100%;object-fit:cover;border-radius:12px 12px 0 0;transition:var(--transition-transform)}.mealplan-card:hover .mealplan-card-img-compact{transform:scale(1.05)}.mealplan-day-dropzone{min-height:350px;width:100%;display:flex;flex-direction:column;align-items:center;border-radius:16px;border:2px dashed var(--grey-300);transition:var(--transition-all);box-sizing:border-box;position:relative;box-shadow:0 8px 25px #5e005e1f,0 3px 10px #00000014;background:rgba(255,255,255,.8)}.mealplan-day-dropzone:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-card-hover);background:rgba(255,255,255,.95)}.mealplan-card-placeholder-compact{min-height:120px;width:100%;max-width:300px;background:rgba(255,255,255,.8);border:2px dashed var(--grey-300);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:var(--transition-all);margin-top:var(--space-lg)}.mealplan-card-placeholder-compact:hover{border-color:var(--primary);background:rgba(255,255,255,.95)}.mealplan-card .q-card-section{padding:var(--space-card-padding)}.mealplan-card .q-card-section .mealplan-card-title{font-family:Inter,Poppins,sans-serif!important;font-weight:var(--font-weight-bold)!important;letter-spacing:-.02em!important;line-height:var(--line-height-tight)!important}.mealplan-card .mealplan-card-img-compact:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.3) 100%);pointer-events:none}.page-container{padding:var(--space-md);max-width:1200px;margin:0 auto}.page-container.page-container-fluid{max-width:none;padding:var(--space-md)}.page-container.page-container-narrow{max-width:800px}.page-container.page-container-wide{max-width:1400px}.section{margin-bottom:var(--space-section-gap)}.section.section-compact{margin-bottom:var(--space-lg)}.section.section-spacious{margin-bottom:var(--space-3xl)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding:var(--space-md);background:white;border-radius:12px;box-shadow:var(--shadow-card);border:1px solid rgba(0,0,0,.04)}.page-header .page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.page-header .page-actions{display:flex;gap:var(--space-sm);align-items:center}.grid{display:grid;gap:var(--space-lg)}.grid.grid-1{grid-template-columns:1fr}.grid.grid-2{grid-template-columns:repeat(2,1fr)}.grid.grid-3{grid-template-columns:repeat(3,1fr)}.grid.grid-4{grid-template-columns:repeat(4,1fr)}.grid.grid-auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid.grid-auto-sm{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid.grid-auto-lg{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.grid.grid-gap-sm{gap:var(--space-sm)}.grid.grid-gap-md{gap:var(--space-md)}.grid.grid-gap-lg{gap:var(--space-lg)}.grid.grid-gap-xl{gap:var(--space-xl)}.flex{display:flex}.flex.flex-col{flex-direction:column}.flex.flex-row{flex-direction:row}.flex.flex-wrap{flex-wrap:wrap}.flex.flex-nowrap{flex-wrap:nowrap}.flex.justify-start{justify-content:flex-start}.flex.justify-center{justify-content:center}.flex.justify-end{justify-content:flex-end}.flex.justify-between{justify-content:space-between}.flex.justify-around{justify-content:space-around}.flex.justify-evenly{justify-content:space-evenly}.flex.items-start{align-items:flex-start}.flex.items-center{align-items:center}.flex.items-end{align-items:flex-end}.flex.items-stretch{align-items:stretch}.flex.items-baseline{align-items:baseline}.flex.gap-xs{gap:var(--space-xs)}.flex.gap-sm{gap:var(--space-sm)}.flex.gap-md{gap:var(--space-md)}.flex.gap-lg{gap:var(--space-lg)}.flex.gap-xl{gap:var(--space-xl)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.cards-grid.cards-grid-sm{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.cards-grid.cards-grid-lg{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-xl)}.empty-state{display:flex;justify-content:center;align-items:center;min-height:400px;padding:var(--space-xl)}.empty-state .empty-state-content{text-align:center;max-width:500px;background:white;border-radius:16px;padding:var(--space-2xl);box-shadow:var(--shadow-card);border:1px solid rgba(0,0,0,.04)}.empty-state .empty-state-content .empty-state-icon{margin-bottom:var(--space-lg);opacity:.8}.empty-state .empty-state-content .empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-md)}.empty-state .empty-state-content .empty-state-description{color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:var(--line-height-relaxed)}.empty-state .empty-state-content .empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-xl)}.loading-container .loading-text{margin-top:var(--space-md);color:var(--text-secondary);font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.nav-container{display:flex;align-items:center;gap:var(--space-md)}.nav-container.nav-container-vertical{flex-direction:column;align-items:stretch}.carousel-container{border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card);margin-bottom:var(--space-lg)}.carousel-container.carousel-elevated{box-shadow:var(--shadow-lg)}.sticky-header{position:sticky;top:0;z-index:100;background:white;box-shadow:var(--shadow-sm)}.sticky-footer{position:sticky;bottom:0;z-index:100;background:white;box-shadow:var(--shadow-sm)}@media (max-width: 768px){.page-container{padding:var(--space-md)}.page-header{flex-direction:column;gap:var(--space-md);align-items:stretch}.page-header .page-actions{justify-content:center}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr;gap:var(--space-md)}.flex.flex-row-mobile{flex-direction:row}.flex.flex-col-mobile{flex-direction:column}}@media (max-width: 480px){.page-container{padding:var(--space-sm)}.empty-state-content{padding:var(--space-md)}.grid{gap:var(--space-sm)}}.q-dialog .q-card{box-shadow:var(--shadow-dialog);border-radius:12px;min-height:auto;max-height:auto;min-width:100%;max-width:700px;display:flex;flex-direction:column;padding:20px}.q-dialog .q-dialog__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#5e005e;padding:var(--space-md) var(--space-md) var(--space-xs);line-height:var(--line-height-tight);flex-shrink:0}.q-dialog .q-dialog__message{font-size:var(--font-size-lg);color:#595959;padding:var(--space-md);line-height:var(--line-height-normal);margin:var(--space-md) 0;overflow-y:auto;flex:1 1 auto}.q-dialog .q-card__actions{padding:var(--space-sm) var(--space-md) var(--space-md);gap:var(--space-xs);flex-shrink:0}.q-dialog.compact-dialog .q-card{height:auto;width:auto}.onboarding-dialog{width:98vw;min-width:340px;max-width:600px}.onboarding-dialog .q-card{height:auto;min-height:auto;max-height:90vh;width:98vw;min-width:340px;max-width:600px}.onboarding-dialog .q-dialog__message{max-height:80vh;overflow-y:auto}.onboarding-dialog .q-dialog__message ul{margin-left:8px;padding-left:10px}.onboarding-dialog.profile-onboarding .q-card{margin-top:30px}.q-dialog__backdrop{pointer-events:auto}.q-dialog__backdrop[tabindex],.q-dialog__backdrop[aria-hidden=true]{pointer-events:none}.q-tooltip{background:var(--q-accent)!important;color:#fff!important;font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))!important;font-weight:600!important;padding:12px 16px!important;border-radius:12px!important;box-shadow:0 4px 12px #00000026!important;line-height:1.5!important;letter-spacing:.025em!important;max-width:250px!important}.q-tooltip *{color:#fff!important;font-weight:600!important}.q-tooltip.q-tooltip--style{transition:opacity .3s ease,transform .3s ease!important}.q-tooltip[class*=q-position-top]{margin-bottom:8px!important}.q-tooltip[class*=q-position-bottom]{margin-top:8px!important}.q-tooltip[class*=q-position-left]{margin-right:8px!important}.q-tooltip[class*=q-position-right]{margin-left:8px!important}.q-btn .q-tooltip{text-align:center}.q-table .q-tooltip{z-index:var(--z-tooltip)!important}.q-dialog .q-table .q-tooltip,.q-dialog .q-tooltip{z-index:var(--z-dialog-tooltips)!important}body.tooltips-enabled .q-tooltip{opacity:1!important;visibility:visible!important;position:absolute!important;display:block!important;transform:translate(0) translateY(0)!important;transition:none!important;pointer-events:none!important;z-index:2999!important}body.tooltips-enabled .q-dialog .q-tooltip{z-index:var(--z-dialog-tooltips)!important}body.tooltips-enabled .q-btn .q-tooltip{top:100%!important;left:50%!important;transform:translate(-50%) translateY(8px)!important}body.tooltips-enabled .q-table td .q-tooltip,body.tooltips-enabled .q-table th .q-tooltip{top:0!important;left:100%!important;transform:translate(8px)!important}body.tooltips-enabled .q-icon .q-tooltip,body.tooltips-enabled .q-field .q-tooltip{top:100%!important;left:50%!important;transform:translate(-50%) translateY(8px)!important}.table-typography thead tr th,.sticky-header-table thead tr th{font-size:calc(var(--font-size-lg) + var(--app-font-size-adjustment))!important;font-weight:var(--font-weight-semibold)!important;color:#595959!important;padding:8px 16px;white-space:nowrap}.table-typography tbody tr td,.sticky-header-table tbody tr td{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);padding:8px 16px}.table-typography .q-table__bottom,.sticky-header-table .q-table__bottom{font-size:calc(var(--font-size-lg) + var(--app-font-size-adjustment))!important;font-weight:var(--font-weight-bold);padding:12px 16px}.table-typography .q-table__title,.sticky-header-table .q-table__title{font-size:var(--font-size-base);line-height:var(--line-height-tight)}.table-typography.responsive-text thead tr th,.responsive-text.sticky-header-table thead tr th{font-size:calc(var(--font-size-lg) + var(--app-font-size-adjustment))}.table-typography.responsive-text tbody tr td,.responsive-text.sticky-header-table tbody tr td{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.table-typography.responsive-text .q-table__bottom,.responsive-text.sticky-header-table .q-table__bottom{font-size:calc(var(--font-size-lg) + var(--app-font-size-adjustment))}.table-typography.responsive-text .q-table__title,.responsive-text.sticky-header-table .q-table__title{font-size:calc(var(--font-size-base) + var(--app-font-size-adjustment))}.sticky-header-table thead tr th{position:sticky;z-index:z("default");top:0;background-color:#fff;box-shadow:0 1px #0000001a}.sticky-header-table .q-table__bottom{position:static;display:flex;justify-content:center;background-color:#fff}.sticky-header-table tbody{scroll-margin-top:48px}.cart-total-footer .text-weight-bolder{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.cart-total-footer .text-warning{font-size:var(--font-size-sm)}.q-table thead tr th,.sticky-header-table thead tr th,.table-typography thead tr th{color:#595959!important;font-weight:var(--font-weight-semibold)!important}.q-table thead tr th:not(.q-btn):not(.q-badge){color:#595959!important}.form-typography .q-field__native,.q-field .q-field__native,.form-typography .q-field__input,.q-field .q-field__input,.form-typography .q-field__label,.q-field .q-field__label{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.form-typography .q-field__bottom,.q-field .q-field__bottom{font-size:calc(var(--font-size-xs) + var(--app-font-size-adjustment))}.form-typography .q-select__dropdown-item,.q-field .q-select__dropdown-item{font-size:calc(var(--font-size-sm) + var(--app-font-size-adjustment))}.icon-typography .q-icon.size-sm{font-size:calc(1.2em + var(--app-font-size-adjustment))}.icon-typography .q-icon.size-md{font-size:calc(1.5em + var(--app-font-size-adjustment))}.icon-typography .q-icon.size-lg{font-size:calc(2em + var(--app-font-size-adjustment))}.icon-typography .q-icon.size-xl{font-size:calc(2.5em + var(--app-font-size-adjustment))}.q-icon{transition:font-size .2s ease}.q-page-sticky{z-index:z("dropdown")!important;position:fixed!important}.q-notifications__list{z-index:var(--z-notification)!important}.q-notifications__list--top{flex-wrap:wrap!important}.q-notification{border-radius:8px}.q-notification__message{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.q-notification.onboarding-bubble{position:relative;display:inline-block;background:var(--q-accent)!important;color:#fff!important;border-radius:48%!important;align-items:center!important;box-shadow:0 6px 16px #0000002e!important;font-weight:500;overflow:visible!important;z-index:var(--z-onboarding-bubble)!important;cursor:pointer!important;pointer-events:auto!important}.q-notification.onboarding-bubble *{pointer-events:auto!important;cursor:pointer!important}.q-notification.onboarding-bubble button{cursor:pointer!important;pointer-events:auto!important}.q-notification.onboarding-bubble.tail-up.toast-1{margin-top:170px!important}@media (min-width: 1024px){.q-notification.onboarding-bubble.tail-up.toast-1{margin-top:140px!important;max-width:400px!important}}.q-notification.onboarding-bubble.free-account-search-toast{margin-top:110px!important}@media (min-width: 1024px){.q-notification.onboarding-bubble.free-account-search-toast{margin-top:130px!important}}.q-notification.onboarding-bubble.tail-up.toast-2{margin-left:120px!important;margin-bottom:-380px!important}.q-notification.onboarding-bubble.tail-up.toast-3{margin-top:120px!important;margin-right:135px!important}.q-notification.onboarding-bubble.tail-down.toast-4,.q-notification.onboarding-bubble.tail-down.toast-5{margin-bottom:350px!important;margin-left:130px!important}.q-notification.onboarding-bubble.tail-up.toast-11{margin-top:160px!important}@media (min-width: 1024px){.q-notification.onboarding-bubble.tail-up.toast-11{margin-top:180px!important;max-width:400px!important}}.q-notification.onboarding-bubble.tail-up.toast-12{margin-top:110px!important}@media (min-width: 1024px){.q-notification.onboarding-bubble.tail-up.toast-12{margin-top:130px!important}}.q-notification.onboarding-bubble.tail-up-left.toast-13{margin-top:60px!important}@media (min-width: 1024px){.q-notification.onboarding-bubble.tail-up-left.toast-13{margin-top:80px!important}}.q-notification.onboarding-bubble.tail-down.pickDayToast{padding:9px 35px!important;margin-bottom:90px!important;z-index:var(--z-onboarding-bubble)!important}.q-notification.onboarding-bubble.shift-left-100{margin-left:-10%!important}.q-notification.onboarding-bubble.toast-shift-right-150{transform:translate(150px)!important}.q-notification.onboarding-bubble:before,.q-notification.onboarding-bubble:after{content:"";position:absolute;width:18px;height:22px;background:var(--q-accent);transform:rotate(25deg);border-bottom-right-radius:100%;z-index:-1;pointer-events:none}.q-notification.onboarding-bubble:before{bottom:-10px;background:rgba(0,0,0,.18);transform:rotate(45deg) translateY(4px) translate(0);filter:blur(6px);opacity:.65;left:34px}.q-notification.onboarding-bubble:after{bottom:-12px;background:var(--q-accent);left:34px}.q-notification.onboarding-bubble.toast-bulk.toast-5{top:-8px!important;left:-5px!important}.q-notification.onboarding-bubble.toast-bulk:after{bottom:-3px}.q-notification.onboarding-bubble.tail-up:before,.q-notification.onboarding-bubble.tail-up:after{top:-4px;bottom:auto;left:50%;transform:translate(-50%) rotate(45deg);border-top-right-radius:0;width:18px;height:18px}.q-notification.onboarding-bubble.tail-up:before{top:-4px;transform:translate(-50%) rotate(-135deg) translateY(4px)}.q-notification.onboarding-bubble.tail-up:after{top:-10px}.q-notification.onboarding-bubble.tail-up-right:before,.q-notification.onboarding-bubble.tail-up-right:after{content:"";position:absolute;width:18px;height:24px;background:var(--q-accent);transform:rotate(0) translateY(4px) translate(0);border-top-right-radius:500%;border-bottom-right-radius:50%;z-index:-1;pointer-events:none}.q-notification.onboarding-bubble.tail-up-right:before{top:-10px;background:rgba(0,0,0,.18);transform:rotate(225deg) translateY(4px) translate(0);filter:blur(6px);opacity:.65;right:34px;left:auto}.q-notification.onboarding-bubble.tail-up-right:after{top:-12px;bottom:auto;background:var(--q-accent);right:34px;left:auto}.q-notification.onboarding-bubble.tail-up-left:after{top:-10px;bottom:auto;background:var(--q-accent);left:34px;right:auto;transform:rotate(-15deg) translateY(4px) translate(0);border-top-right-radius:500%;border-bottom-right-radius:50%}.q-notification.onboarding-bubble.tail-down:before,.q-notification.onboarding-bubble.tail-down:after{bottom:-4px;top:auto;left:50%;transform:translate(-50%) rotate(225deg);border-top-right-radius:0;width:18px;height:18px}.q-notification.onboarding-bubble.tail-down:before{bottom:-4px;transform:translate(-50%) rotate(45deg) translateY(-4px)}.q-notification.onboarding-bubble.tail-down:after{bottom:-10px}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.celebration-notification{font-size:var(--font-size-3xl)!important;font-weight:var(--font-weight-bold)!important;font-family:var(--app-font-family)!important;line-height:var(--line-height-tight)!important;background:linear-gradient(-45deg,#ff7676,#9d4edd,#0077b6,#4caf50,#ff9900)!important;background-size:400% 400%!important;animation:gradient-shift 8s ease infinite!important;color:#fff!important;border-radius:12px!important;box-shadow:0 4px 20px #0003!important;padding:20px 28px!important;text-shadow:0 2px 4px rgba(0,0,0,.3)!important}.celebration-notification .q-notification__message{font-size:var(--font-size-2xl)!important;font-weight:var(--font-weight-bold)!important}.celebration-notification .q-notification__icon{font-size:var(--font-size-4xl)!important;margin-right:20px!important}.celebration-notification .q-notification__actions{margin-top:16px!important}.celebration-notification .q-notification__actions .q-btn{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-bold)!important;border:2px solid white!important;border-radius:4px!important;padding:6px 16px!important;transition:transform .2s ease!important}.celebration-notification .q-notification__actions .q-btn:hover{transform:scale(1.05)!important}.q-notification{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important;font-family:var(--app-font-family)!important;line-height:var(--line-height-tight)!important;padding:5px 20px!important;border-radius:8px!important}.q-notification .q-notification__message{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important}.q-notification .q-notification__icon{font-size:var(--font-size-4xl)!important;margin-right:10px!important}.info-notification{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important;background-color:#17a2b8!important;color:#fff!important}.warning-notification{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important;background-color:#ffc107!important;color:#212529!important}.error-notification{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important;background-color:#dc3545!important;color:#fff!important}.celebration-notification{font-size:30px!important;font-weight:700!important;line-height:1.25!important;padding:20px 28px!important}.celebration-notification .q-notification__message{font-size:24px!important;font-weight:700!important}.celebration-notification .q-notification__icon{font-size:36px!important;margin-right:20px!important}.celebration-notification .q-notification__actions{margin-top:16px!important}.celebration-notification .q-notification__actions .q-btn{font-size:18px!important;font-weight:700!important;border:2px solid white!important;padding:6px 16px!important}.recurring-notification{font-size:var(--font-size-base)!important;font-weight:var(--font-weight-medium)!important;padding:16px 20px!important;border-radius:12px!important;box-shadow:0 4px 12px #00000026!important;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;color:#fff!important}.recurring-notification .q-notification__message{font-size:var(--font-size-base)!important;line-height:var(--line-height-relaxed)!important;color:#fff!important}.recurring-notification .q-notification__icon{font-size:var(--font-size-2xl)!important;margin-right:12px!important}.recurring-notification .q-notification__actions{margin-top:8px!important}.recurring-notification .q-notification__actions .q-btn{font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-semibold)!important;transition:transform .1s ease,box-shadow .1s ease!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.skip-link{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;text-decoration:none;z-index:100;border-radius:4px}.skip-link:focus{top:6px}.focus-visible:focus{outline:2px solid #1976d2;outline-offset:2px}@media (prefers-contrast: high){.text-primary{color:#000!important}.text-secondary{color:#333!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px)}.q-layout{padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left)}.q-page-container,.q-page{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}
