:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}:root{--brand:#2f7a58;--brand-light:#dceee4;--on-brand:#fff;--danger:#c0392b;--danger-light:#c0392b1a;--surface:#fff;--surface-muted:#f2f5f3;--border:#dde5e0;--text:#1a2d22;--text-muted:#5a7060;--shadow:0 2px 12px #14281c14;--shadow-lg:0 8px 32px #14281c24;--radius:1rem;--radius-sm:.75rem;--radius-xs:.5rem;--nav-h:4.25rem;--header-h:3.25rem}@media (prefers-color-scheme:dark){:root{--brand:#5dba8a;--brand-light:#1a3328;--on-brand:#061209;--danger:#e05252;--danger-light:#e052521f;--surface:#19231e;--surface-muted:#111916;--border:#273320;--text:#e6ede8;--text-muted:#90a898;--shadow:none;--shadow-lg:none}}:root[data-theme=light]{--brand:#2f7a58;--brand-light:#dceee4;--on-brand:#fff;--danger:#c0392b;--danger-light:#c0392b1a;--surface:#fff;--surface-muted:#f2f5f3;--border:#dde5e0;--text:#1a2d22;--text-muted:#5a7060;--shadow:0 2px 12px #14281c14;--shadow-lg:0 8px 32px #14281c24}:root[data-theme=dark]{--brand:#5dba8a;--brand-light:#1a3328;--on-brand:#061209;--danger:#e05252;--danger-light:#e052521f;--surface:#19231e;--surface-muted:#111916;--border:#273320;--text:#e6ede8;--text-muted:#90a898;--shadow:none;--shadow-lg:none}body{color:var(--text);background:var(--surface-muted);overscroll-behavior-y:none;font-size:16px}#app{min-height:100dvh}a{overflow-wrap:break-word;word-break:break-all;color:inherit;text-decoration:none}.text-link{color:var(--brand);font-weight:500;transition:opacity .15s}.text-link:hover{opacity:.72}.text-link:active{opacity:.5}.app-shell{background:var(--surface-muted);flex-direction:column;min-height:100dvh;display:flex}.top-header{z-index:10;height:var(--header-h);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border);align-items:center;padding:0 1rem;display:flex;position:sticky;top:0}.top-header-content{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.logo-link{color:inherit;-webkit-tap-highlight-color:transparent;flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:flex}.logo-icon{width:1.625rem;height:1.625rem;color:var(--brand);flex-shrink:0}.logo-wordmark{letter-spacing:-.04em;color:var(--brand);white-space:nowrap;font-size:1.125rem;font-weight:800}.auth-page{min-height:100dvh;padding:2rem 1.25rem calc(2rem + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:420px;margin:0 auto;display:flex}.auth-logo{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.auth-logo-icon{width:3.5rem;height:3.5rem;color:var(--brand)}.auth-logo-name{letter-spacing:-.05em;color:var(--brand);margin:0;font-size:2.25rem;font-weight:800}.auth-page .card{width:100%}.content{width:100%;max-width:600px;padding:1rem 1rem calc(var(--nav-h) + 1.5rem + env(safe-area-inset-bottom));flex:1;margin:0 auto}.page{gap:.875rem;display:grid}.page>h1{letter-spacing:-.04em;margin:0;font-size:1.75rem;font-weight:800;line-height:1.15}.page>h1+.muted{color:var(--text-muted);margin:-.2rem 0 0;font-size:.9rem;line-height:1.5}.page-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.page-section{gap:1rem}.card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);align-content:start;gap:1rem;min-width:0;padding:1rem;display:grid;overflow:hidden}.card>h3{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.card>p{margin:0}.section-header{gap:.2rem;display:grid}.section-header h3{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.section-header .muted,.section-header p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.45}.muted{color:var(--text-muted)}.subtitle{color:var(--text-muted);margin:0}.helper-note{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.85rem;line-height:1.45;display:flex}.helper-note button{width:auto;min-height:2rem;padding:.3rem .6rem;font-size:.8rem}.empty-state{border:1.5px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;background:color-mix(in srgb, var(--surface-muted) 50%, transparent);margin:0;padding:1rem;font-size:.875rem}.grid{gap:.75rem;display:grid}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{gap:.5rem;display:grid}.stat-card{color:inherit;-webkit-tap-highlight-color:transparent;gap:.35rem;padding:1rem 1.125rem;text-decoration:none;transition:transform .12s,box-shadow .12s}.stat-card:active{transform:scale(.97)}.stat-card h2{letter-spacing:-.04em;color:var(--brand);margin:0;font-size:2.25rem;font-weight:800;line-height:1}.stat-card p{color:var(--text-muted);margin:0;font-size:.8rem;font-weight:500}.dashboard-stat-link{color:inherit;text-decoration:none}.form{gap:.75rem;display:grid}.form label{color:var(--text-muted);gap:.3rem;font-size:.875rem;font-weight:600;display:grid}.form label>input,.form label>select,.form label>textarea{color:var(--text)}.form.inline{grid-template-columns:1fr}.form .button-row{flex-wrap:wrap}input,select,textarea,button{border-radius:var(--radius-sm);border:1.5px solid var(--border);width:100%;min-height:2.875rem;font:inherit;color:var(--text);background:var(--surface);appearance:none;padding:.625rem .875rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3.5px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}textarea{min-height:unset;resize:none;field-sizing:content;line-height:1.6;overflow:hidden}.form.inline textarea{grid-column:1/-1}button,.button-link,.list-button{cursor:pointer;-webkit-tap-highlight-color:transparent}button,.button-link{border-color:var(--brand);background:var(--brand);color:var(--on-brand);text-align:center;letter-spacing:-.01em;font-weight:600;text-decoration:none;transition:opacity .15s,transform .1s,background-color .15s}button:active:not(:disabled){opacity:.82;transform:scale(.98)}.button-link{border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:.625rem 1rem;display:inline-flex}.button-link:active{opacity:.82;transform:scale(.98)}.button-secondary{border-color:var(--border);background:var(--surface-muted);color:var(--text)}.button-secondary:active:not(:disabled){background:var(--border)}.btn-edit,.btn-delete{border-radius:var(--radius-xs);justify-content:center;align-items:center;gap:.25rem;width:auto;min-height:1.75rem;padding:.2rem .6rem;font-size:.775rem;font-weight:600;display:inline-flex}.btn-edit{border-color:var(--border);background:var(--surface-muted);color:var(--text)}.btn-delete{background:var(--danger-light);color:var(--danger);border-color:#0000}.btn-icon-only{width:1.875rem;height:1.875rem;min-height:unset;border-radius:var(--radius-xs);width:auto;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:.3rem;transition:background .12s,color .12s;display:inline-flex}.btn-icon-only:hover{background:var(--surface-muted);color:var(--text)}.btn-icon-only.btn-delete{background:0 0}.btn-icon-only.btn-delete:hover{background:var(--danger-light);color:var(--danger)}.button-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.plain-list li>.button-row{justify-content:flex-end;justify-self:end}.with-icon{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.btn-icon{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0;width:1.1rem;height:1.1rem}button:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.danger{border-color:var(--danger);background:var(--danger);color:#fff}.mode-toggle{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.mode-toggle button{color:var(--text-muted);border-radius:calc(var(--radius-sm) - .25rem);background:0 0;border-color:#0000;min-height:2.25rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.mode-toggle button.active{background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 4px #0000001a}.theme-toggle{background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.2rem;padding:.25rem;display:flex}.theme-btn{height:2rem;min-height:unset;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.theme-btn--active{background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 4px #0000001a}.list-button{text-align:left;background:var(--surface);color:inherit;border:1.5px solid var(--border);border-radius:var(--radius);-webkit-tap-highlight-color:transparent;gap:.125rem;padding:.875rem 1rem;text-decoration:none;transition:border-color .15s;display:grid}.list-button:active{background:var(--surface-muted)}.recipe-list-item{grid-template-columns:auto 1fr;align-items:center;gap:.75rem;display:grid}.list-button.active{border-color:var(--brand);background:var(--brand-light)}.plain-list,.check-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.plain-list li{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:.5rem;min-width:0;padding:.75rem 0;display:grid}.plain-list li:first-child{padding-top:0}.plain-list li:last-child{border-bottom:none;padding-bottom:0}.entity-list-item{grid-template-columns:1fr auto}.entity-list-item small{color:var(--text-muted);margin-top:.1rem;font-size:.85rem;display:block}.warning-list li{padding:.2rem 0;font-size:.9rem;display:block}.check-list{gap:.375rem}.check-list li{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);padding:.875rem 1rem;transition:border-color .15s,opacity .15s}.check-list li:has(input:checked){border-color:color-mix(in srgb, var(--border) 50%, transparent);opacity:.72}.check-list label{cursor:pointer;align-items:center;gap:.75rem;display:flex}.check-list input[type=checkbox]{width:1.25rem;min-height:1.25rem;accent-color:var(--brand);border-radius:.375rem;flex-shrink:0}.check-list span{flex:1;font-size:.95rem;line-height:1.4}.check-list span.checked{color:var(--text-muted);text-decoration:line-through}.remove-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;min-height:2rem;padding:0;font-size:.75rem;transition:color .15s,background-color .15s;display:inline-flex}.remove-btn:hover{color:var(--danger);background:var(--danger-light)}.detail-list{gap:.5rem;margin:0;display:grid}.detail-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .875rem;display:flex}.detail-row dt,.detail-row dd,.detail-row p{margin:0}.detail-row dt{color:var(--text-muted);font-size:.875rem;font-weight:600}.detail-row dd{text-align:right;min-width:0;font-size:.95rem}.product-select-row{align-items:center;gap:.375rem;display:flex}.product-select-row select{flex:1;min-width:0}.product-inline-form{gap:.375rem;display:grid}.form-group{gap:.5rem;display:grid}.header-avatar-btn{-webkit-tap-highlight-color:transparent;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:opacity .15s;display:flex}.header-avatar-btn:active{opacity:.72}.account-identity{align-items:center;gap:1rem;display:flex}.avatar-color-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.avatar-swatch{width:2rem;height:2rem;min-height:unset;border:2.5px solid #0000;border-radius:50%;flex-shrink:0;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s}.avatar-swatch--active{border-color:var(--text);transform:scale(1.18)}.avatar-swatch:active:not(:disabled){transform:scale(.92)!important}.avatar-color-picker{width:2rem;height:2rem;min-height:unset;cursor:pointer;border-radius:50%;flex-shrink:0;padding:.1rem;overflow:hidden}.bottom-nav{z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:0 .375rem calc(env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);border-top:1px solid var(--border);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--text-muted);text-align:center;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.5rem .25rem;text-decoration:none;transition:color .15s;display:flex;position:relative}.nav-item:before{content:"";background:var(--brand);opacity:0;border-radius:0 0 .25rem .25rem;width:2.5rem;height:.1875rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .15s;position:absolute;top:.375rem;left:50%;transform:translate(-50%)scaleX(0)}.nav-item.router-link-active{color:var(--brand)}.nav-item.router-link-active:before{opacity:1;transform:translate(-50%)scaleX(1)}.nav-item-icon{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1.5rem;height:1.5rem;transition:stroke-width .15s}.nav-item.router-link-active .nav-item-icon{stroke-width:2.25px}.nav-item-label{font-size:.7rem;font-weight:500;line-height:1}.nav-item.router-link-active .nav-item-label{font-weight:700}.error{color:var(--danger)}.success{color:var(--brand)}.error,.success{border-radius:var(--radius-sm);border:1.5px solid #0000;margin:0;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.error{border-color:color-mix(in srgb, var(--danger) 30%, transparent);background:var(--danger-light)}.success{border-color:color-mix(in srgb, var(--brand) 25%, transparent);background:color-mix(in srgb, var(--brand) 8%, var(--surface))}.update-toast{left:1rem;right:1rem;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + .75rem);z-index:90;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);gap:.5rem;padding:1rem;display:grid;position:fixed}.update-toast-title{margin:0;font-size:.95rem;font-weight:700}.update-toast-message{color:var(--text-muted);margin:0;font-size:.875rem}.update-toast-actions{justify-content:flex-end;gap:.5rem;display:flex}.update-toast-actions button{width:auto;min-height:2.25rem;padding:.375rem 1rem}.dialog-backdrop{z-index:100;background:#00000061;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.dialog-panel{background:var(--surface);border:1px solid var(--border);padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:1.25rem 1.25rem 0 0;gap:.75rem;width:100%;max-width:640px;display:grid;box-shadow:0 -4px 40px #0003}.dialog-panel:before{content:"";background:var(--border);border-radius:999px;width:2.5rem;height:.25rem;margin:-.5rem auto 0;display:block}.dialog-title{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:700}.dialog-message{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.dialog-actions{grid-template-columns:1fr 1fr;gap:.625rem;margin-top:.25rem;display:grid}.dialog-actions button{width:100%;min-height:2.875rem}.dialog-confirm-btn{min-width:5rem}.recipe-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;display:flex}.recipe-detail-header h3{margin:0}.recipe-description{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.65}.recipe-edit-actions{grid-column:1/-1;grid-template-columns:1fr 1fr auto;gap:.5rem;display:grid}.recipe-edit-actions button{width:100%}.today-label{color:var(--brand)}.dialog-fade-enter-active,.dialog-fade-leave-active{transition:opacity .22s}.dialog-fade-enter-from,.dialog-fade-leave-to{opacity:0}.dialog-fade-enter-active .dialog-panel{transition:transform .28s cubic-bezier(.32,.72,0,1)}.dialog-fade-leave-active .dialog-panel{transition:transform .2s}.dialog-fade-enter-from .dialog-panel,.dialog-fade-leave-to .dialog-panel{transform:translateY(100%)}.update-toast-fade-enter-active,.update-toast-fade-leave-active{transition:opacity .18s,transform .18s}.update-toast-fade-enter-from,.update-toast-fade-leave-to{opacity:0;transform:translateY(8px)}@media (width>=700px){.content{padding:1.5rem 1.5rem calc(var(--nav-h) + 2rem + env(safe-area-inset-bottom))}.form.inline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.form.inline textarea{grid-column:1/-1}.dialog-backdrop{align-items:center;padding:1rem}.dialog-panel{border-radius:1.25rem;gap:.75rem;max-width:420px;padding:1.5rem}.dialog-panel:before{display:none}.dialog-actions{grid-template-columns:auto auto;justify-content:flex-end}.dialog-actions button{width:auto;min-width:6rem}.update-toast{max-width:400px;bottom:1.25rem;left:auto;right:1.25rem}}.sidebar-household-switcher,.sidebar-header{display:none}@media (width>=1024px){.app-shell{flex-direction:row}.top-header{display:none}.content{flex:1;max-width:680px;margin:0 auto;padding:2rem 2rem 3rem}.bottom-nav{border-top:none;border-right:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:none;flex-direction:column;justify-content:flex-start;align-self:flex-start;align-items:stretch;gap:.2rem;width:200px;height:100vh;padding:1.5rem .75rem;position:sticky;top:0;bottom:auto;left:0;overflow-y:auto}.sidebar-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:.25rem .75rem 1.25rem;display:flex}.sidebar-wordmark{letter-spacing:-.04em;color:var(--brand);font-size:1.125rem;font-weight:800}.nav-item{border-radius:var(--radius-sm);max-width:100%;color:var(--text-muted);flex-direction:row;justify-content:flex-start;gap:.75rem;padding:.75rem .875rem;font-size:.9rem}.nav-item:before{display:none}.nav-item.router-link-active{background:var(--brand-light);color:var(--brand)}.nav-item-icon{width:1.25rem;height:1.25rem}.nav-item-label{font-size:.9rem;font-weight:500}.nav-item.router-link-active .nav-item-label{font-weight:700}.two-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-household-switcher{border-bottom:1px solid var(--border);margin-bottom:.5rem;padding:0 .5rem .75rem;display:block}.sidebar-household-switcher .household-select{width:100%}.sidebar-household-row .household-select{flex:1}}.household-select[data-v-49acdd81]{width:auto;min-height:2rem;color:var(--text-muted);padding:.375rem .5rem;font-size:.875rem}.user-avatar[data-v-19ee8330]{color:#fff;letter-spacing:-.01em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.user-avatar--sm[data-v-19ee8330]{width:1.75rem;height:1.75rem;font-size:.6rem}.user-avatar--md[data-v-19ee8330]{width:2.75rem;height:2.75rem;font-size:1rem}.user-avatar--lg[data-v-19ee8330]{width:4.5rem;height:4.5rem;font-size:1.5rem}.user-avatar__img[data-v-19ee8330]{object-fit:cover;width:100%;height:100%}.user-avatar__initials[data-v-19ee8330]{line-height:1}.recipe-image[data-v-6a9a3ceb]{border:1px solid var(--border);background:var(--surface-muted);border-radius:.625rem;overflow:hidden}.recipe-image img[data-v-6a9a3ceb]{object-fit:cover;width:100%;height:100%;display:block}.recipe-image--thumb[data-v-6a9a3ceb]{flex-shrink:0;width:4rem;height:4rem}.recipe-image--hero[data-v-6a9a3ceb]{aspect-ratio:16/9;width:100%;max-height:320px}.recipe-image__placeholder[data-v-6a9a3ceb]{width:100%;height:100%;color:var(--text-muted);text-align:center;place-items:center;gap:.375rem;padding:.5rem;font-size:.75rem;display:grid}.recipe-image__placeholder svg[data-v-6a9a3ceb]{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:2rem;height:2rem}.recipe-image--hero .recipe-image__placeholder[data-v-6a9a3ceb]{font-size:.875rem}.recipe-image--hero .recipe-image__placeholder svg[data-v-6a9a3ceb]{width:3rem;height:3rem}.stats-row[data-v-8db2957b]{grid-template-columns:repeat(3,1fr);gap:.625rem;display:grid}.stats-row .stat-card h2[data-v-8db2957b]{font-size:1.5rem}.stats-row .stat-card[data-v-8db2957b]{padding:.75rem}.today-header[data-v-8db2957b]{justify-content:space-between;align-items:center;display:flex}.today-recipe-link[data-v-8db2957b]{color:var(--brand);font-weight:500;transition:opacity .15s}.today-recipe-link[data-v-8db2957b]:hover{opacity:.72}.today-meals[data-v-8db2957b]{flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none;display:flex}.today-meal[data-v-8db2957b]{border-bottom:1px solid var(--border);align-items:baseline;gap:.625rem;padding:.5rem 0;display:flex}.today-meal[data-v-8db2957b]:last-child{border-bottom:none;padding-bottom:0}.today-meal[data-v-8db2957b]:first-child{padding-top:0}.today-meal__type[data-v-8db2957b]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;width:5.5rem;font-size:.75rem;font-weight:600}.today-meal__recipes[data-v-8db2957b]{flex-wrap:wrap;flex:1;align-items:baseline;gap:.125rem .4rem;min-width:0;font-size:.9rem;font-weight:500;display:flex}.today-meal__servings[data-v-8db2957b]{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.carousel-section[data-v-8db2957b]{gap:.75rem;display:grid}.carousel-section__header[data-v-8db2957b]{justify-content:space-between;align-items:center;display:flex}.carousel-section__header h3[data-v-8db2957b]{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.carousel-see-all[data-v-8db2957b]{color:var(--brand);font-size:.85rem;font-weight:600;text-decoration:none}.carousel-see-all[data-v-8db2957b]:active{opacity:.7}.recipe-carousel[data-v-8db2957b]{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.recipe-carousel[data-v-8db2957b]::-webkit-scrollbar{display:none}.recipe-card[data-v-8db2957b]{scroll-snap-align:start;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:min(68vw,220px);color:var(--text);flex-direction:column;flex-shrink:0;text-decoration:none;transition:box-shadow .15s;display:flex;overflow:hidden}.recipe-card[data-v-8db2957b]:active{opacity:.75}.recipe-card__image[data-v-8db2957b]{flex-shrink:0;height:140px;overflow:hidden}.recipe-card__image[data-v-8db2957b] .recipe-image{width:100%;height:100%;max-height:unset;border:none;border-radius:0}.recipe-card__body[data-v-8db2957b]{flex-direction:column;flex:1;gap:.3rem;padding:.75rem;display:flex}.recipe-card__name[data-v-8db2957b]{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.recipe-card__desc[data-v-8db2957b]{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.775rem;line-height:1.4;display:-webkit-box;overflow:hidden}.recipe-card__tags[data-v-8db2957b]{flex-wrap:wrap;gap:.25rem;margin-top:auto;padding-top:.25rem;display:flex}.diet-tag[data-v-8db2957b]{letter-spacing:.02em;background:var(--brand-light);color:var(--brand);border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:600}.meal-list[data-v-e556b7b4]{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.meal-row[data-v-e556b7b4]{border-bottom:1px solid var(--border);align-items:center;gap:.625rem;padding:.5rem 0;display:flex}.meal-row[data-v-e556b7b4]:first-child{padding-top:0}.meal-row[data-v-e556b7b4]:last-child{border-bottom:none;padding-bottom:0}.meal-row__type[data-v-e556b7b4]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;width:5.5rem;font-size:.75rem;font-weight:600}.meal-row__recipes[data-v-e556b7b4]{flex-wrap:wrap;flex:1;align-items:baseline;gap:.125rem .4rem;min-width:0;font-size:.9rem;font-weight:500;display:flex}.meal-row__servings[data-v-e556b7b4]{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.meal-row__actions[data-v-e556b7b4]{flex-shrink:0;gap:.25rem;display:flex}.meal-recipe-link[data-v-e556b7b4]{color:var(--brand);font-weight:500;transition:opacity .15s}.meal-recipe-link[data-v-e556b7b4]:hover{opacity:.72}.history-day[data-v-e556b7b4]{margin-top:.875rem}.history-day-label[data-v-e556b7b4]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .375rem;font-size:.75rem;font-weight:600}.member-identity[data-v-fd561a7e]{align-items:center;gap:.6rem;min-width:0;display:flex}.member-identity>div[data-v-fd561a7e]{flex-direction:column;min-width:0;display:flex}.diet-tags[data-v-f68e4847]{flex-wrap:wrap;gap:.25rem .5rem;margin-top:.5rem;display:flex}.diet-tag[data-v-f68e4847]{background:var(--color-surface-alt,#f0f0f0);color:var(--color-muted,#666);border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.diet-type-fieldset[data-v-f68e4847]{border:none;margin:0;padding:0}.diet-type-fieldset legend[data-v-f68e4847]{margin-bottom:.4rem}.checkbox-label[data-v-f68e4847]{cursor:pointer;align-items:center;gap:.3rem;margin-right:.75rem;font-size:.9rem;display:inline-flex}
