@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--color-bg:#f8f9fa;--color-surface:#fff;--color-surface-muted:#f8f9fa;--color-text:#333;--color-text-muted:#666;--color-text-subtle:#999;--color-border:#e0e0e0;--color-border-muted:#e9ecef;--color-primary:#667eea;--color-primary-hover:#5568d3;--color-success:#28a745;--color-success-hover:#218838;--color-danger:#dc3545;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 2px 10px #0000001a}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);margin:0;overflow-x:hidden}#app{min-height:100vh;overflow-x:hidden}.app-update-banner{left:50%;bottom:max(1rem,env(safe-area-inset-bottom));z-index:1200;background:var(--color-text);color:#fff;border-radius:var(--radius-md);width:min(100vw - 2rem,420px);box-shadow:var(--shadow-md);align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex;position:fixed;transform:translate(-50%)}.app-update-banner span{flex:1;font-weight:700}.app-update-banner button{border-radius:var(--radius-sm);min-height:40px;color:var(--color-text);cursor:pointer;background:#fff;border:0;padding:.45rem .8rem;font-weight:800}.account-lock-banner{border-radius:var(--radius-md);color:#8a1f2d;background:#dc354514;border:1px solid #dc354547;justify-content:center;align-items:center;gap:.75rem;width:min(100% - 2rem,900px);margin:1rem auto 0;padding:.75rem .9rem;font-weight:700;display:flex}.account-lock-banner span{flex:1;min-width:0}.account-lock-banner button{border-radius:var(--radius-sm);background:var(--color-surface);color:#8a1f2d;cursor:pointer;border:1px solid #dc354559;min-height:38px;font-weight:800}.signed-out-gate{min-height:calc(100vh - var(--meal-planner-header-height,84px) - 2rem);place-items:center;padding:1rem;display:grid}.signed-out-card{border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,440px);box-shadow:var(--shadow-md);gap:1rem;padding:1.5rem;display:grid}.signed-out-card h2,.signed-out-card p{margin:0}.signed-out-card p{color:var(--color-text-muted);line-height:1.5}.signed-out-card .auth-panel{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.signed-out-card .auth-input,.signed-out-card .auth-btn{min-height:44px}.signed-out-card .auth-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);padding:.5rem .65rem}.signed-out-card .auth-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:0;padding:.5rem .85rem;font-weight:800}.signed-out-card .auth-message{grid-column:1/-1}.meal-planner{background-color:var(--color-bg);width:100%;min-height:100vh;padding-top:var(--meal-planner-header-height,84px);padding-bottom:calc(var(--meal-planner-footer-height,72px) + 1rem);overflow-x:hidden}.meal-planner .header{z-index:900;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);color:#fff;min-height:64px;box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;width:100%;padding:.85rem 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}.meal-planner .header h1{margin:0;font-size:1.35rem;font-weight:800}.meal-planner .header-title-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.meal-planner .user-chip{border-radius:var(--radius-pill);background:#ffffff29;border:1px solid #ffffff38;padding:.25rem .55rem;font-size:.8rem}.meal-planner .billing-chip{background:#ffffff3d;font-weight:800}.meal-planner .header-menu{align-items:center;display:flex;position:relative}.meal-planner .hamburger-btn{border-radius:var(--radius-md);cursor:pointer;background:#ffffff24;border:1px solid #ffffff38;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;padding:0;display:inline-flex}.meal-planner .hamburger-btn span{border-radius:var(--radius-pill);background:#fff;width:18px;height:2px;margin:0 auto;display:block}.meal-planner .hamburger-btn:hover,.meal-planner .hamburger-btn[aria-expanded=true]{background:#ffffff3d}.meal-planner .header-menu-panel{z-index:1000;border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);background:var(--color-surface);width:min(360px,100vw - 2rem);color:var(--color-text);gap:.65rem;padding:.85rem;display:grid;position:absolute;top:calc(100% + .75rem);right:0;box-shadow:0 18px 48px #0000002e}.auth-panel{align-items:stretch;gap:.4rem;display:grid}.auth-mode,.auth-message{border-radius:var(--radius-pill);color:#fff;background:#ffffff29;border:1px solid #ffffff38;padding:.25rem .55rem;font-size:.78rem}.meal-planner .header-menu-panel .auth-mode,.meal-planner .header-menu-panel .auth-message{border-color:var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text-muted)}.auth-message.error{background:#dc354533}.auth-message.success{background:#28a74533}.auth-message.notice{background:#ffffff1f}.auth-input{border-radius:var(--radius-md);width:100%;min-height:38px;color:var(--color-text);background:#ffffffeb;border:1px solid #ffffff4d;padding:.45rem .65rem}.auth-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;min-height:38px;padding:.45rem .75rem;font-size:.875rem}.meal-planner .header-menu-panel .auth-input{border-color:var(--color-border);background:var(--color-surface)}.meal-planner .header-menu-panel .auth-btn,.meal-planner .header-menu-panel .header-btn,.meal-planner .header-menu-panel .shopping-toggle{border-color:var(--color-border);background:var(--color-surface-muted);width:100%;min-height:42px;color:var(--color-primary);font-weight:800}.meal-planner .header-menu-panel .auth-btn:hover,.meal-planner .header-menu-panel .header-btn:hover,.meal-planner .header-menu-panel .shopping-toggle:hover{background:#667eea14}.auth-btn:hover{background:#ffffff4d}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.meal-planner .header-btn:disabled{opacity:.55;cursor:not-allowed}.meal-planner .planner-select,.meal-planner .header-btn{border-radius:var(--radius-md);color:#fff;background:#fff3;border:1px solid #ffffff4d;min-height:38px;font-size:.875rem}.meal-planner .planner-select{width:100%;max-width:none;padding:.45rem .65rem}.meal-planner .header-menu-panel .planner-select{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.meal-planner .planner-select option{color:var(--color-text)}.meal-planner .header-btn{cursor:pointer;padding:.45rem .75rem}.meal-planner .header-btn:hover{background:#ffffff4d}.meal-planner .shopping-toggle{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:#fff3;border:1px solid #ffffff4d;padding:.5rem 1rem;font-size:.875rem;transition:background .2s}.meal-planner .shopping-toggle:hover{background:#ffffff4d}.meal-planner .planner-container{gap:1.5rem;width:100%;max-width:1760px;margin:0 auto;padding:1.5rem;display:flex;overflow-x:hidden}.meal-planner .main-content{flex:1;align-items:stretch;gap:.5rem;min-width:0;display:flex}.meal-planner .planner-board-area{flex-direction:column;flex:1;min-width:0;display:flex}.meal-planner .planner-board-layout{grid-template-columns:minmax(0,1fr) minmax(260px,300px);align-items:start;gap:1rem;display:grid}.meal-planner .meals-sidebar{visibility:visible;z-index:50;flex-direction:column;flex-shrink:0;gap:1.5rem;width:320px;transition:width .3s,visibility .3s;display:flex;position:relative}.meal-planner .meals-sidebar.collapsed{visibility:hidden;width:0;overflow:hidden}.meal-planner .collapse-toggle{background:var(--color-primary);border:2px solid var(--color-primary-hover);border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer;color:#fff;z-index:100;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:32px;padding:1rem 0;font-size:1rem;font-weight:700;display:flex;position:relative}.meal-planner .collapse-toggle:hover{background:var(--color-primary-hover)}.meal-planner .meals-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.meal-planner .mobile-section-toggle{display:none}.meal-planner .desktop-section-title{display:block}.meal-planner .meal-search-input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:40px;color:var(--color-text);margin-bottom:.75rem;padding:.55rem .7rem}.meal-planner .meals-header h3{color:var(--color-text);margin:0;font-size:1rem;font-weight:600}.meal-planner .add-meal-btn{background:var(--color-success);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.375rem .75rem;font-size:.8rem;transition:background .2s}.meal-planner .add-meal-btn:hover{background:var(--color-success-hover)}.meal-planner .filter-section,.meal-planner .meals-list{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;padding:1.25rem}.meal-planner .filter-section h3,.meal-planner .meals-list h3{color:var(--color-text);margin-bottom:1rem;font-size:1rem;font-weight:600}.meal-planner .category-filters{flex-wrap:wrap;gap:.5rem;max-width:100%;display:flex}.meal-planner .filter-btn{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.meal-planner .filter-btn:hover{border-color:var(--color-primary);background:#f0f0f0}.meal-planner .filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.meal-planner .meals-grid{flex-direction:column;gap:.75rem;max-height:calc(100vh - 300px);padding:1px;display:flex;overflow-y:auto}.meal-planner .meal-card{background:var(--color-surface-muted);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);cursor:grab;grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.875rem;transition:all .2s;display:grid}.meal-planner .meal-card.has-thumbnail{grid-template-columns:56px minmax(0,1fr);align-items:start}.meal-planner .meal-thumbnail{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border-muted);flex-shrink:0;width:56px;height:56px}.meal-planner .meal-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #667eea26}.meal-planner .meal-card:active{cursor:grabbing}.meal-planner .meal-card-content{flex:1;min-width:0}.meal-planner .meal-card-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.35rem;min-width:0;display:flex}.meal-planner .plan-meal-btn,.meal-planner .planned-action-btn,.meal-planner .favorite-btn,.meal-planner .weekly-option-quick-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-primary);transition:all .2s}.meal-planner .plan-meal-btn{width:32px;height:32px;font-size:1.1rem;line-height:1}.meal-planner .planned-action-btn{width:24px;height:24px;padding:0;font-size:.85rem}.meal-planner .favorite-btn{width:32px;height:32px;font-size:1rem;line-height:1}.meal-planner .weekly-option-quick-btn{min-width:40px;height:32px;padding:0 .45rem;font-size:.72rem;font-weight:800}.meal-planner .meal-card-actions .recipe-btn{min-width:32px;min-height:32px;padding:.25rem}.meal-planner .plan-meal-btn:hover,.meal-planner .planned-action-btn:hover,.meal-planner .favorite-btn:hover,.meal-planner .weekly-option-quick-btn:hover{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.meal-planner .recipe-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:.25rem .5rem;font-size:.9rem;transition:all .2s}.meal-planner .recipe-btn:hover{background:var(--color-primary);border-color:var(--color-primary)}.meal-planner .recipe-btn.small{padding:.125rem .25rem;font-size:.75rem}.meal-planner .meal-name{color:var(--color-text);margin-bottom:.375rem;font-weight:500}.meal-planner .favorite-marker,.meal-planner .meal-recent{border-radius:var(--radius-pill);color:var(--color-success);background:#28a7451f;margin-left:.35rem;padding:.1rem .35rem;font-size:.68rem;font-weight:700;display:inline-flex}.meal-planner .meal-recent{color:var(--color-primary);background:#667eea1f;margin:.35rem 0 0}.meal-planner .meal-info{color:var(--color-text-muted);justify-content:space-between;font-size:.75rem;display:flex}.meal-planner .meal-category{background:var(--color-border-muted);border-radius:var(--radius-pill);padding:.125rem .5rem}.meal-planner .calendar-section{z-index:50;flex:1;min-width:120px;overflow-y:auto}.meal-planner .weekly-options{top:calc(var(--meal-planner-header-height,84px) + 1rem);background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:0;display:grid;position:sticky;overflow:hidden}.meal-planner .weekly-options-header{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.meal-planner .weekly-options-header h3{margin:0 0 .25rem;font-size:1rem}.meal-planner .weekly-options-header p{color:var(--color-text-muted);margin:0;font-size:.78rem}.meal-planner .weekly-options-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:34px;color:var(--color-primary);cursor:pointer;padding:.35rem .65rem;font-weight:800}.meal-planner .weekly-options-body{gap:.75rem;padding:0 1rem 1rem;display:none}.meal-planner .weekly-options.expanded .weekly-options-body{display:grid}.meal-planner .weekly-options-sections{gap:1rem;display:grid}.meal-planner .weekly-options-category{gap:.55rem;display:grid}.meal-planner .weekly-options-category-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.meal-planner .weekly-options-category-header h4{color:var(--color-text);align-items:center;gap:.35rem;margin:0;font-size:.88rem;font-weight:800;display:inline-flex}.meal-planner .weekly-options-category-count{border-radius:var(--radius-pill);min-width:1.25rem;height:1.25rem;color:var(--color-primary);background:#667eea1f;justify-content:center;align-items:center;font-size:.72rem;line-height:1;display:inline-flex}.meal-planner .weekly-options-category-add-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:32px;height:32px;color:var(--color-primary);cursor:pointer;font-size:1rem;font-weight:800}.meal-planner .weekly-options-category-add-btn:hover{border-color:var(--color-primary);background:#667eea14}.meal-planner .weekly-options-tabs{flex-wrap:wrap;align-items:stretch;display:flex}.meal-planner .weekly-options-add{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.meal-planner .weekly-options-message{border-radius:var(--radius-md);color:var(--color-danger);overflow-wrap:anywhere;background:#dc354514;border:1px solid #dc354547;padding:.6rem .75rem;font-size:.82rem}.meal-planner .weekly-option-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:0;min-height:38px;color:var(--color-text);padding:.4rem .55rem}.meal-planner .weekly-options-list{gap:.5rem;display:grid}.meal-planner .weekly-option-card{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:grab;align-items:center;gap:.55rem;padding:.48rem .55rem;display:flex}.meal-planner .weekly-option-main{flex:1;gap:.15rem;min-width:0;display:grid}.meal-planner .weekly-option-main strong{overflow-wrap:anywhere;font-size:.78rem}.meal-planner .weekly-option-main span{color:var(--color-text-muted);font-size:.76rem}.meal-planner .weekly-option-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.meal-planner .weekly-options-empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:center;padding:.65rem;font-size:.78rem}.meal-planner .plan-controls{background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}.meal-planner .plan-controls-body{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.meal-planner .mode-toggle{background:var(--color-surface-muted);border-radius:var(--radius-sm);gap:.25rem;padding:.25rem;display:inline-flex}.meal-planner .mode-toggle.weekly-options-tabs{flex-wrap:wrap;display:flex}.meal-planner .weekly-options-tabs .mode-btn{flex:82px;justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.meal-planner .weekly-options-tab-count{border-radius:var(--radius-pill);min-width:1.25rem;height:1.25rem;color:var(--color-primary);background:#667eea1f;justify-content:center;align-items:center;font-size:.72rem;line-height:1;display:inline-flex}.meal-planner .weekly-options-tabs .mode-btn.active .weekly-options-tab-count{background:var(--color-primary);color:#fff}.meal-planner .mode-btn{color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;min-height:40px;padding:.5rem .85rem;font-weight:700}.meal-planner .mode-btn.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.meal-planner .week-picker{color:var(--color-text-muted);align-items:center;gap:.5rem;font-weight:700;display:flex}.meal-planner .dated-week-controls{justify-items:end;gap:.45rem;display:grid}.meal-planner .week-picker input{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:40px;font:inherit;padding:.4rem .6rem}.meal-planner .date-picker-wrapper{display:inline-block;position:relative}.meal-planner .date-picker-trigger{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:190px;min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .6rem;font-weight:700;display:inline-flex}.meal-planner .date-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #667eea59}.meal-planner .date-picker-trigger-icon{border:2px solid var(--color-text);border-top-width:5px;border-radius:4px;flex:none;grid-template-columns:repeat(3,3px);grid-auto-rows:3px;place-content:center;align-items:center;gap:3px;width:24px;height:24px;padding-top:2px;display:grid}.meal-planner .date-picker-trigger-icon span{background:var(--color-text);border-radius:1px;width:3px;height:3px}.meal-planner .date-picker-popover{z-index:1000;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:330px;padding:1rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 18px 48px #0000002e}.meal-planner .date-picker-header{color:var(--color-text);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.meal-planner .date-picker-month-btn,.meal-planner .date-picker-today-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;font-weight:800}.meal-planner .date-picker-month-btn{width:36px;height:36px;font-size:1rem}.meal-planner .date-picker-weekdays,.meal-planner .date-picker-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.meal-planner .date-picker-weekdays{color:var(--color-text);text-align:center;margin-bottom:.25rem;font-size:.78rem}.meal-planner .date-picker-day{border-radius:var(--radius-sm);min-width:0;height:36px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;position:relative}.meal-planner .date-picker-day:hover,.meal-planner .date-picker-day:focus-visible{border-color:var(--color-primary);outline:none}.meal-planner .date-picker-day.outside{color:var(--color-text-subtle)}.meal-planner .date-picker-day.today{border-color:var(--color-border)}.meal-planner .date-picker-day.planned{color:var(--color-primary);background:#667eea1f;border-color:#667eea61;font-weight:800}.meal-planner .date-picker-day.planned:after{content:"";border-radius:var(--radius-pill);background:var(--color-primary);width:5px;height:5px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.meal-planner .date-picker-day.selected{background:var(--color-primary);color:#fff;font-weight:800}.meal-planner .date-picker-day.selected:after{background:#fff}.meal-planner .date-picker-today-btn{min-height:36px;margin-top:.85rem;padding:.35rem .75rem}.meal-planner .week-list{flex-direction:column;gap:1rem;display:flex}.meal-planner .day-row{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.meal-planner .day-header{background:var(--color-primary);color:#fff;padding:1rem 1.5rem;font-size:1.1rem;font-weight:600}.meal-planner .day-row.plan-mode-template-week .day-header{background:var(--template-plan-header,var(--color-primary))}.meal-planner .day-row.plan-mode-dated-calendar .day-header{background:var(--dated-plan-header,#1f9d74)}.meal-planner .meal-slots-row{background:var(--color-border-muted);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.meal-planner .meal-slot{background:var(--color-surface);min-height:120px;transition:background-color .2s}.meal-planner .meal-slot.drag-over{background-color:#667eea1a}.meal-planner .slot-header{background:var(--color-surface-muted);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:.75rem 1rem;font-size:.8rem;font-weight:600}.meal-planner .slot-meals{flex-direction:column;gap:.5rem;min-height:60px;padding:.75rem;display:flex}.meal-planner .planned-meal{background:var(--color-border-muted);border-radius:var(--radius-sm);cursor:grab;border:1px solid #0000;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.meal-planner .planned-meal-template-week{background:var(--template-plan-card,#eef1ff);border-color:var(--template-plan-card,#eef1ff)}@supports (color:color-mix(in lab,red,red)){.meal-planner .planned-meal-template-week{border-color:color-mix(in srgb,var(--template-plan-card,#eef1ff) 70%,var(--template-plan-header,var(--color-primary)))}}.meal-planner .planned-meal-dated-calendar{background:var(--dated-plan-card,#e8f7f0);border-color:var(--dated-plan-card,#e8f7f0)}@supports (color:color-mix(in lab,red,red)){.meal-planner .planned-meal-dated-calendar{border-color:color-mix(in srgb,var(--dated-plan-card,#e8f7f0) 70%,var(--dated-plan-header,#1f9d74))}}.meal-planner .planned-meal-thumbnail{object-fit:cover;border:1px solid var(--color-border-muted);border-radius:4px;flex-shrink:0;width:32px;height:32px}.meal-planner .planned-meal:hover{box-shadow:0 2px 6px #0000001a}.meal-planner .planned-meal-template-week:hover{background:var(--template-plan-card,#eef1ff)}@supports (color:color-mix(in lab,red,red)){.meal-planner .planned-meal-template-week:hover{background:color-mix(in srgb,var(--template-plan-card,#eef1ff) 82%,var(--template-plan-header,var(--color-primary)))}}.meal-planner .planned-meal-dated-calendar:hover{background:var(--dated-plan-card,#e8f7f0)}@supports (color:color-mix(in lab,red,red)){.meal-planner .planned-meal-dated-calendar:hover{background:color-mix(in srgb,var(--dated-plan-card,#e8f7f0) 82%,var(--dated-plan-header,#1f9d74))}}.meal-planner .planned-meal:active{cursor:grabbing}.meal-planner .meal-name-text{color:var(--color-text);flex:1}.meal-planner .meal-actions{align-items:center;gap:.25rem;display:flex}.meal-planner .remove-btn{color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:1.25rem;line-height:1;transition:all .2s;display:flex}.meal-planner .remove-btn:hover{background:var(--color-danger);color:#fff}.meal-planner .empty-slot{color:#adb5bd;text-align:center;border-radius:var(--radius-sm);cursor:pointer;width:100%;font-size:.75rem;font:inherit;background:0 0;border:2px dashed #dee2e6;padding:1rem .5rem;display:block}.meal-planner .empty-slot:hover,.meal-planner .empty-slot:focus-visible{color:var(--color-primary);border-color:var(--color-primary);background:#667eea14;outline:none}.meal-picker-sheet{flex-direction:column;gap:.9rem;display:flex}.meal-picker-controls{gap:.75rem;display:grid}.meal-picker-categories{flex-wrap:nowrap;padding-bottom:.2rem;overflow-x:auto}.meal-picker-list{gap:.6rem;display:grid;overflow-y:auto}.meal-picker-item{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface-muted);width:100%;color:var(--color-text);text-align:left;cursor:pointer;align-items:center;gap:.7rem;padding:.75rem;display:flex}.meal-picker-item:hover,.meal-picker-item:focus-visible{border-color:var(--color-primary);background:#667eea14;outline:none}.meal-picker-details{flex:1;gap:.2rem;min-width:0;display:grid}.meal-picker-details strong,.meal-picker-details span{overflow-wrap:anywhere}.meal-picker-details span{color:var(--color-text-muted);font-size:.8rem}.meal-picker-recipe{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:32px;color:var(--color-primary);cursor:pointer;flex:none;padding:.3rem .55rem}.meal-picker-empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:center;padding:1rem}.meal-picker-add-btn{flex:none}.meal-planner .shopping-sidebar{flex-shrink:0;width:320px}.meal-planner .mobile-shopping-panel{display:none}.meal-planner .app-footer{z-index:880;width:100%;padding:.5rem max(1rem,env(safe-area-inset-left)) max(.55rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-right));border-top:1px solid var(--color-border-muted);color:var(--color-text-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;font-size:.78rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000014}.meal-planner .footer-link{border-radius:var(--radius-md);min-height:54px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:.25rem;padding:.25rem .35rem;font-weight:700;display:grid}.meal-planner .footer-link>span{pointer-events:none}.meal-planner .footer-link:hover,.meal-planner .footer-link.active{color:var(--color-primary)}.meal-planner .footer-link:disabled{opacity:.55;cursor:not-allowed}.meal-planner .footer-icon{color:currentColor;place-items:center;width:28px;height:28px;display:inline-grid;position:relative}.meal-planner .calendar-icon{border:2px solid;border-radius:5px;grid-template-rows:repeat(2,5px);grid-template-columns:repeat(2,5px);place-content:center;gap:4px;padding-top:6px;display:grid}.meal-planner .calendar-icon:before{content:"";border-radius:var(--radius-pill);background:currentColor;height:3px;position:absolute;top:4px;left:5px;right:5px}.meal-planner .calendar-icon span{background:currentColor;border-radius:1px;width:5px;height:5px}.meal-planner .meals-icon{grid-template-columns:repeat(3,4px);gap:2px}.meal-planner .meals-icon span{border-radius:var(--radius-pill);background:currentColor;width:4px;height:18px}.meal-planner .meals-icon span:nth-child(2){height:14px}.meal-planner .shopping-list-icon{justify-items:stretch;gap:4px;padding:4px 3px}.meal-planner .shopping-list-icon span{border-radius:var(--radius-pill);background:currentColor;width:20px;height:4px}.meal-planner .shopping-list-icon span:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-7px;display:block}.meal-planner .settings-icon{font-size:25px;line-height:1}.meal-planner .settings-icon:before{content:"⚙"}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);width:90%;max-width:500px;max-height:80vh;padding:1.5rem;position:relative;overflow-y:auto}.modal-content .close-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;display:flex;position:absolute;top:.75rem;right:.75rem}.modal-content .close-btn:hover{color:var(--color-text);background:#f0f0f0}.mobile-sheet-overlay{z-index:1100;background:#0000006b;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-sheet{background:var(--color-surface);width:min(640px,100%);max-height:min(82vh,720px);padding:.75rem 1rem max(1rem,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overflow-y:auto;box-shadow:0 -12px 32px #0000002e}.sheet-handle{border-radius:var(--radius-pill);background:#cbd5df;width:42px;height:4px;margin:0 auto .75rem}.sheet-header{border-bottom:1px solid var(--color-border-muted);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.sheet-meal-summary{align-items:center;gap:.75rem;min-width:0;display:flex}.sheet-meal-thumbnail{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border-muted);flex-shrink:0;width:52px;height:52px}.sheet-header h2{color:var(--color-text);margin:0 0 .2rem;font-size:1.1rem}.sheet-header p{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0}.sheet-close-btn{background:var(--color-surface-muted);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;border:0;border-radius:50%;font-size:1.4rem;line-height:1}.sheet-recipe-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0 0;display:flex}.sheet-secondary-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:42px;color:var(--color-primary);cursor:pointer;flex:1;font-weight:600}.sheet-servings{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;display:flex}.sheet-servings input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:5rem;min-height:42px;font:inherit;padding:.4rem .5rem}.sheet-days{gap:.75rem;padding-top:.9rem;display:grid}.sheet-day{gap:.5rem;display:grid}.sheet-day-name{color:var(--color-text);font-weight:700}.sheet-slot-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.sheet-slot-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-height:44px;color:var(--color-text);cursor:pointer;font-weight:600}.sheet-slot-btn:hover,.sheet-secondary-btn:hover{border-color:var(--color-primary);background:#667eea14}.planner-settings-modal h2{margin:0 0 1.25rem;font-size:1.25rem}.planner-settings-section{border-top:1px solid var(--color-border-muted);padding:1rem 0}.planner-settings-section:first-of-type{border-top:0;padding-top:0}.planner-settings-section h3{margin:0 0 .5rem;font-size:1rem}.planner-settings-section p{color:var(--color-text-muted);margin:0;font-size:.9rem}.planner-settings-section .planner-section-note{margin-bottom:.75rem}.planner-settings-version{border-top:1px solid var(--color-border-muted);color:var(--color-text-muted);text-align:center;padding-top:1rem;font-size:.8rem}.account-status-panel{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:.85rem;padding:.9rem;display:grid}.account-status-panel strong,.account-status-panel span{display:block}.account-status-panel strong{color:var(--color-text);margin-bottom:.3rem}.account-status-panel span{color:var(--color-text-muted);font-size:.85rem}.account-status-panel .account-action-message{color:var(--color-danger);font-weight:700}.account-action-row{flex-wrap:wrap;gap:.5rem;display:flex}.account-action-row .save-btn,.account-action-row .planner-small-btn{min-height:38px}.account-secondary-btn{color:var(--color-primary)}.danger-zone{gap:.65rem;display:grid}.danger-btn{border-radius:var(--radius-sm);min-height:40px;color:var(--color-danger);cursor:pointer;background:#dc354514;border:1px solid #dc354573;justify-self:start;padding:.5rem .85rem;font-weight:800}.danger-btn:hover{background:#dc354526}.planner-member-list{gap:.5rem;display:grid}.planner-member-row{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.planner-member-row strong,.planner-member-row span{display:block}.planner-member-row span{color:var(--color-text-muted);font-size:.8rem}.planner-role{text-transform:capitalize;font-weight:700;color:var(--color-primary)!important}.planner-role-static{border:1px solid var(--color-border-muted);border-radius:var(--radius-sm);background:var(--color-surface);text-transform:capitalize;justify-content:center;align-items:center;min-height:36px;padding:.35rem .65rem;font-weight:800;color:var(--color-primary)!important;display:inline-flex!important}.planner-role-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:36px;color:var(--color-text);text-transform:capitalize}.settings-message{font-weight:700;color:var(--color-primary)!important}.planner-invite-form{grid-template-columns:minmax(0,1fr) 120px auto;align-items:start;gap:.5rem;margin-bottom:.75rem;display:grid}.planner-theme-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:.75rem;display:grid}.planner-theme-form label{color:var(--color-text-muted);gap:.35rem;font-size:.85rem;display:grid}.planner-theme-form input[type=color]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:40px;padding:.15rem}.planner-small-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:32px;color:var(--color-danger);cursor:pointer;padding:.35rem .6rem}.planner-empty-note{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:.75rem}.add-meal-modal h2{color:var(--color-text);margin:0 0 1.5rem;font-size:1.25rem}.import-section{background:var(--color-surface-muted);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:1rem}.import-section label{color:var(--color-text);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.import-note{color:var(--color-text-muted);margin-top:.5rem;margin-bottom:.875rem;font-size:.8125rem}.clipboard-label{margin-top:.5rem}.import-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.import-row .form-input{flex:1;min-width:220px}.import-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;padding:.5rem .875rem;font-size:.875rem}.import-btn.secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.import-btn.secondary:hover,.import-row .import-btn.secondary:hover{background:#667eea14}.import-btn:hover{background:var(--color-primary-hover)}.import-btn:disabled{cursor:wait;background:#ccc}.import-message{margin-top:.5rem;font-size:.8125rem}.import-message.error{color:var(--color-danger)}.import-message.success{color:var(--color-success)}.import-textarea{min-height:110px;margin-bottom:0}.clipboard-actions{margin-top:.75rem}.image-preview{margin-bottom:1rem}.image-preview-img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border-muted);width:100%;max-height:200px;display:block}.form-group{margin-bottom:1rem}.form-group label{color:var(--color-text);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);padding:.5rem;font-size:.875rem}.form-input:focus{border-color:var(--color-primary);outline:none}select.form-input{cursor:pointer}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.checkbox-group label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-group input{width:16px;height:16px}.textarea{resize:vertical;min-height:100px}.ingredients-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ingredients-header label{margin-bottom:0}.add-ing-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.ingredient-row{grid-template-columns:minmax(0,2.5fr) minmax(88px,.8fr) minmax(120px,1fr) auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}.ingredient-name-input,.ingredient-quantity-input,.ingredient-unit-input{margin-bottom:0}.ingredient-quantity-input{min-width:88px}.remove-ing-btn{color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.25rem}@media(max-width:640px){.ingredient-row{grid-template-columns:minmax(0,1fr) minmax(84px,.7fr) minmax(100px,.8fr) auto}}.no-ingredients{color:var(--color-text-subtle);text-align:center;padding:.5rem;font-size:.875rem}.modal-actions{border-top:1px solid var(--color-border-muted);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.cancel-btn{background:var(--color-border-muted);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.875rem}.cancel-btn:hover{background:#dee2e6}.save-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.875rem}.save-btn:hover{background:var(--color-primary-hover)}.save-btn:disabled{cursor:not-allowed;background:#ccc}@media(max-width:860px){.account-lock-banner{align-items:stretch;display:grid}.meal-planner .header{flex-direction:row;align-items:center;gap:.75rem;width:100%;min-height:56px;padding:.65rem 1rem;overflow-x:clip}.meal-planner .header h1{font-size:1.25rem}.meal-planner .header-title-group{flex:1;gap:.5rem;min-width:0}.meal-planner .user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:min(46vw,180px);overflow:hidden}.meal-planner .shopping-toggle{min-height:40px;padding:.45rem .75rem}.meal-planner .header-menu-panel{width:min(360px,100vw - 1.5rem);right:-.25rem}.auth-panel{grid-template-columns:1fr;align-items:stretch;width:100%;min-width:0;display:grid}.auth-mode,.auth-message{grid-column:1/-1}.auth-input{width:100%;min-width:0}.auth-btn{min-width:0}.meal-planner .planner-container{gap:1rem;width:100%;max-width:100%;padding:1rem;display:grid;overflow-x:hidden}.meal-planner .main-content{gap:1rem;width:100%;min-width:0;display:grid}.meal-planner .meals-sidebar{width:100%;min-width:0}.meal-planner .meals-sidebar.collapsed{visibility:visible;width:100%}.meal-planner .collapse-toggle{display:none}.meal-planner .filter-section,.meal-planner .meals-list{border-radius:var(--radius-md);padding:1rem}.meal-planner .mobile-section-toggle{width:100%;min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:0;font-weight:700;display:flex}.meal-planner .mobile-section-chevron{border-radius:var(--radius-pill);background:var(--color-surface-muted);width:32px;height:32px;color:var(--color-primary);flex:none;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:inline-flex}.meal-planner .desktop-section-title{display:none}.meal-planner .collapsible-section-body,.meal-planner .plan-controls-body{padding-top:.75rem}.meal-planner .collapsible-section-body.mobile-collapsed,.meal-planner .plan-controls-body.mobile-collapsed{display:none}.meal-planner .category-filters{flex-wrap:nowrap;max-width:100%;padding-bottom:.25rem;overflow-x:auto}.meal-planner .filter-btn{flex:none;min-height:40px}.meal-planner .meals-grid{max-height:none}.meal-planner .meal-card{cursor:default;align-items:center}.meal-planner .meal-card:active{cursor:default}.meal-planner .meal-info{flex-wrap:wrap;justify-content:flex-start;gap:.5rem}.meal-planner .calendar-section{width:100%;overflow:visible}.meal-planner .planner-board-layout{grid-template-columns:1fr;display:grid}.meal-planner .weekly-options{border-radius:var(--radius-md);order:-1;position:static}.meal-planner .plan-controls{flex-direction:column;align-items:stretch}.meal-planner .plan-controls-body{gap:.75rem;display:grid}.meal-planner .mode-toggle{grid-template-columns:1fr 1fr;display:grid}.meal-planner .week-picker{justify-content:space-between}.meal-planner .dated-week-controls{justify-items:stretch}.meal-planner .week-picker input{flex:1;min-width:0}.meal-planner .week-list{gap:.85rem}.meal-planner .day-row{border-radius:var(--radius-md)}.meal-planner .day-header{padding:.85rem 1rem;font-size:1rem}.meal-planner .meal-slots-row{grid-template-columns:1fr;display:grid}.meal-planner .meal-slot{min-height:0}.meal-planner .slot-header{padding:.65rem .85rem}.meal-planner .slot-meals{min-height:52px;padding:.65rem}.meal-planner .planned-meal{cursor:default;gap:.5rem;min-height:44px}.meal-planner .planned-meal:active{cursor:default}.meal-planner .meal-actions{gap:.35rem}.meal-planner .remove-btn,.meal-planner .planned-action-btn,.meal-planner .recipe-btn.small{width:30px;height:30px}.meal-planner .empty-slot{padding:.65rem}.meal-planner .shopping-sidebar{width:100%}.meal-planner .desktop-shopping-sidebar{display:none}.meal-planner .mobile-shopping-panel{width:100%;padding:1rem 1rem 0;display:block}.meal-planner .app-footer{width:100%;padding:.45rem max(.65rem,env(safe-area-inset-left)) max(.45rem,env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-right))}.meal-planner .footer-link{min-height:56px;font-size:.76rem}.modal-overlay{justify-content:center;align-items:flex-end;padding-top:1rem}.modal-content{border-radius:18px 18px 0 0;width:100%;max-width:none;max-height:calc(100dvh - 1rem)}.planner-settings-modal{min-height:min(92dvh,760px);padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.planner-invite-form,.planner-theme-form{grid-template-columns:1fr}.planner-member-row{align-items:stretch;display:grid}}@media(max-width:560px){.meal-planner .header{flex-direction:row;align-items:center}.auth-panel{grid-template-columns:1fr}.auth-btn,.auth-input,.auth-mode,.auth-message{width:100%}.form-row,.import-row{gap:.75rem;display:grid}.import-row .form-input{min-width:0}.sheet-slot-actions{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.header-row[data-v-42f08d6d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-right:3rem;gap:1rem}.recipe-title[data-v-42f08d6d]{margin:0;color:#333;font-size:1.5rem;flex:1;min-width:0}.edit-btn[data-v-42f08d6d]{padding:.375rem .75rem;font-size:.8rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.edit-btn[data-v-42f08d6d]:hover{background:#5568d3}.recipe-meta[data-v-42f08d6d]{display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.meta-item[data-v-42f08d6d]{font-size:.875rem;color:#666}.meta-label[data-v-42f08d6d]{font-weight:600;color:#333}.section[data-v-42f08d6d]{margin-bottom:1.5rem}.section h3[data-v-42f08d6d]{font-size:1rem;color:#333;margin-bottom:.75rem}.ingredients-list[data-v-42f08d6d]{list-style:none;padding:0;margin:0}.ingredients-list li[data-v-42f08d6d]{padding:.375rem 0;color:#444;border-bottom:1px solid #f0f0f0}.ingredients-list li[data-v-42f08d6d]:last-child{border-bottom:none}.instructions[data-v-42f08d6d]{white-space:pre-line;color:#444;line-height:1.6}.recipe-link[data-v-42f08d6d]{color:#5568d3;word-break:break-word}.recipe-image[data-v-42f08d6d]{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:8px;border:1px solid #e9ecef}.image-preview[data-v-42f08d6d]{margin-bottom:1rem}.image-preview-img[data-v-42f08d6d]{display:block;width:100%;max-height:200px;object-fit:cover;border-radius:8px;border:1px solid #e9ecef}.loading[data-v-42f08d6d],.no-recipe[data-v-42f08d6d]{text-align:center;padding:2rem;color:#666}.shopping-list[data-v-c57f2718]{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 2px 8px #00000014}.shopping-header[data-v-c57f2718]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.shopping-header h3[data-v-c57f2718]{font-size:1rem;font-weight:600;color:#333;margin:0}.shopping-actions[data-v-c57f2718]{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.shopping-option-toggle[data-v-c57f2718]{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .85rem;color:#666;font-size:.85rem;font-weight:700;cursor:pointer}.shopping-option-toggle input[data-v-c57f2718]{width:18px;height:18px}.shopping-lock-message[data-v-c57f2718]{margin:0 0 .85rem;padding:.65rem .75rem;border:1px solid rgba(220,53,69,.25);border-radius:8px;background:#dc354514;color:#8a1f2d;font-size:.85rem;font-weight:700}.action-btn[data-v-c57f2718]{min-height:36px;padding:.45rem .75rem;font-size:.8rem;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.action-btn[data-v-c57f2718]:hover{background:#5568d3}.action-btn[data-v-c57f2718]:disabled,.add-btn[data-v-c57f2718]:disabled,.remove-item-btn[data-v-c57f2718]:disabled,.clear-btn[data-v-c57f2718]:disabled{opacity:.55;cursor:not-allowed}.action-btn.secondary[data-v-c57f2718]{background:#e9ecef;color:#333}.action-btn.secondary[data-v-c57f2718]:hover{background:#dee2e6}.share-dropdown[data-v-c57f2718]{position:relative}.share-menu[data-v-c57f2718]{position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:150px;overflow:hidden}.share-menu button[data-v-c57f2718]{display:block;width:100%;padding:.625rem 1rem;text-align:left;background:none;border:none;font-size:.875rem;color:#333;cursor:pointer}.share-menu button[data-v-c57f2718]:hover{background:#f0f0f0}.share-menu button[data-v-c57f2718]:not(:last-child){border-bottom:1px solid #f0f0f0}.add-form[data-v-c57f2718]{margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.form-input[data-v-c57f2718]{width:100%;min-height:42px;padding:.55rem .65rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.875rem;margin-bottom:.5rem}.form-row[data-v-c57f2718]{display:flex;gap:.5rem}.form-input.small[data-v-c57f2718]{width:70px}.add-btn[data-v-c57f2718]{min-height:42px;padding:.5rem 1rem;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem}.add-btn[data-v-c57f2718]:hover{background:#218838}.shopping-items[data-v-c57f2718]{max-height:300px;overflow-y:auto;display:grid;gap:.35rem}.empty-list[data-v-c57f2718]{text-align:center;color:#999;padding:1rem;font-size:.875rem}.shopping-item[data-v-c57f2718]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid #f0f0f0;border-radius:8px;background:#fff}.shopping-item[data-v-c57f2718]:last-child{border-bottom:1px solid #f0f0f0}.shopping-item.checked .item-text[data-v-c57f2718]{text-decoration:line-through;color:#999}.item-checkbox[data-v-c57f2718]{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex:1;min-width:0}.item-checkbox input[data-v-c57f2718]{position:absolute;width:1px;height:1px;opacity:0}.checkbox-visual[data-v-c57f2718]{width:24px;height:24px;border:2px solid #adb5bd;border-radius:6px;background:#fff;flex-shrink:0;position:relative}.item-checkbox input:checked+.checkbox-visual[data-v-c57f2718]{background:#28a745;border-color:#28a745}.item-checkbox input:checked+.checkbox-visual[data-v-c57f2718]:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:12px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.item-checkbox input:focus-visible+.checkbox-visual[data-v-c57f2718]{outline:3px solid rgba(102,126,234,.35);outline-offset:2px}.item-checkbox input[data-v-c57f2718]{cursor:pointer}.item-text[data-v-c57f2718]{display:grid;gap:.15rem;font-size:.875rem;min-width:0}.item-name[data-v-c57f2718]{color:#333;overflow-wrap:anywhere;font-weight:500}.item-quantity[data-v-c57f2718]{color:#666;font-size:.8rem}.remove-item-btn[data-v-c57f2718]{background:none;border:none;color:#999;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;width:36px;height:36px;border-radius:50%;flex-shrink:0}.remove-item-btn[data-v-c57f2718]:hover{background:#fff0f0;color:#dc3545}.clear-section[data-v-c57f2718]{margin-top:1rem;padding-top:.75rem;border-top:1px solid #e9ecef}.clear-btn[data-v-c57f2718]{background:none;border:none;color:#dc3545;font-size:.8rem;cursor:pointer}.clear-btn[data-v-c57f2718]:hover{text-decoration:underline}@media(max-width:860px){.shopping-list[data-v-c57f2718]{padding:1rem;border-radius:8px}.shopping-header[data-v-c57f2718]{display:grid;gap:.75rem;align-items:stretch}.shopping-actions[data-v-c57f2718]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;justify-content:stretch}.share-dropdown[data-v-c57f2718]{min-width:0}.action-btn[data-v-c57f2718]{width:100%;min-height:44px;padding:.55rem .5rem}.share-menu[data-v-c57f2718]{left:0;right:auto;min-width:min(260px,calc(100vw - 2rem))}.share-menu button[data-v-c57f2718]{min-height:44px}.add-form[data-v-c57f2718]{padding:.85rem}.form-row[data-v-c57f2718]{display:grid;grid-template-columns:minmax(76px,.7fr) minmax(0,1fr) auto;gap:.5rem}.form-input.small[data-v-c57f2718]{width:100%}.add-btn[data-v-c57f2718]{min-width:72px}.shopping-items[data-v-c57f2718]{max-height:none;overflow-y:visible}.shopping-item[data-v-c57f2718]{min-height:56px;padding:.75rem .65rem}.item-text[data-v-c57f2718]{font-size:.95rem}.item-quantity[data-v-c57f2718]{font-size:.85rem}}@media(max-width:420px){.shopping-actions[data-v-c57f2718],.form-row[data-v-c57f2718]{grid-template-columns:1fr}.share-menu[data-v-c57f2718]{width:100%}}
