.app-version{width:100%;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin-top:5px;padding:10px;font-size:.73rem;display:flex}.app-version:hover{color:var(--primary);background:var(--primary-soft)}.app-version:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-update-status{align-items:flex-start;gap:16px;margin-top:24px;display:flex}.app-update-icon{width:48px;height:48px;color:var(--primary);background:var(--primary-soft);border-radius:14px;flex:none;place-items:center;display:grid}.app-update-status strong{margin:2px 0 8px;display:block}.app-update-status p,.app-update-hint{color:var(--muted);font-size:.88rem;line-height:1.6}.app-update-status p{margin:0}.app-update-hint{background:var(--background);border-radius:10px;margin-top:20px;padding:12px 16px}@media (width>=601px) and (width<=760px){.app-version{flex-direction:column;gap:4px;padding:8px 0;font-size:.66rem}.app-version span{text-align:center;max-width:56px}}@media (prefers-reduced-motion:reduce){.app-update-status .spin{animation:none}}.release-notes{border-top:1px solid var(--border);margin-top:24px;padding-top:16px;font-size:.86rem;line-height:1.65}.release-notes h3{margin-top:0}.release-notes ul{padding-left:22px;list-style:outside}.release-notes li{margin-bottom:8px}.release-notes details{margin-top:14px}.release-notes summary{cursor:pointer;color:var(--primary);padding:8px 0}.settings-spaces{flex-wrap:wrap;gap:8px;margin:0 0 22px;display:flex}.settings-spaces a{background:var(--surface,#fff);border:1px solid var(--line,#dce5e8);color:inherit;border-radius:12px;padding:12px 18px;font-weight:650;text-decoration:none}.settings-spaces a[aria-current=page]{background:var(--primary,#176b5b);color:#fff;border-color:#0000}.settings-row{border-bottom:1px solid var(--line,#dce5e8);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.settings-row span small{color:var(--muted,#637c89);margin-top:5px;display:block}.context-help{border:1px solid var(--line,#dce5e8);background:var(--surface,#fff);border-radius:14px;margin:16px 0;padding:16px 20px}.context-help summary{cursor:pointer;min-height:24px;font-weight:650}.context-help p{line-height:1.65}.button-row,.draft-status{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.draft-status{border-bottom:1px solid var(--line,#dce5e8);justify-content:space-between;padding:14px 18px;font-size:13px}.check-label{align-items:center;gap:10px;margin:16px 0;display:flex}.check-label input{width:18px;height:18px}.birthday-banner{background:var(--surface,#fff);border:1px solid var(--line,#dce5e8);border-radius:16px;margin-bottom:18px;padding:18px 22px}.overdue-banner{color:#60431a;background:#fff8eb;border:1px solid #efd8aa;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;padding:16px 20px;display:flex}.overdue-list{margin-bottom:24px}.overdue-row{border-bottom:1px solid var(--line,#dce5e8);justify-content:space-between;align-items:center;gap:14px;padding:16px 0;display:flex}.overdue-row small{margin-top:5px;display:block}.purchase-list{max-height:60vh;overflow:auto}.purchase-entry{border-bottom:1px solid var(--line,#dce5e8);padding:18px 0}.purchase-entry ul{padding-left:22px}.export-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.scope-selector{background:var(--surface-muted,#f4f7f8);border-radius:12px;margin-bottom:16px;padding:15px}.scope-selector select{width:100%}@media (width<=600px){.settings-spaces a{text-align:center;flex:1;padding:12px 8px;font-size:13px}.settings-row,.overdue-row{flex-wrap:wrap}.draft-status{align-items:flex-start}.sync-indicator span{white-space:normal;max-width:150px;font-size:11px}.overdue-banner{align-items:flex-start}.export-controls>*{width:100%}}.task-people{border:1px solid var(--border);border-radius:12px;min-width:0;padding:14px}.task-people legend{font-weight:600}.task-people p{color:var(--muted);margin:0 0 8px;font-size:.8rem}.task-people label{align-items:center;gap:10px;min-height:44px;display:flex}.task-people input{width:20px;height:20px;min-height:20px;accent-color:var(--primary)}.task-assignee{flex-wrap:wrap}.task-assignee>span{align-items:center;gap:6px;display:flex}.home-task-overdue{color:var(--muted);margin-top:4px;font-size:.75rem;display:block}.family-module input{width:24px;height:24px;min-height:24px;accent-color:var(--primary);flex:none}.overdue-edit{color:var(--primary);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}:root[data-theme=espace]{--primary:#6244a5;--primary-soft:#eee8fa;--background:#eceaf6;--surface:#fff;--text:#292844;--muted:#66627b;--border:#ddd8eb;--theme-art:url(/portox/themes/espace-v1.webp);--art-wash:#edecf5b5;--art-ink:#292448;--art-ink-fade:#292448ed;--art-position:65% 45%}:root[data-theme=ocean]{--primary:#087685;--primary-soft:#e0f4f5;--background:#eaf6f8;--surface:#fff;--text:#234451;--muted:#577481;--border:#d3e8ec;--theme-art:url(/portox/themes/ocean-v1.webp);--art-wash:#eaf6f8b8;--art-ink:#075766;--art-ink-fade:#075766ed;--art-position:60% 50%}:root[data-theme=foret]{--primary:#356447;--primary-soft:#e7f1e3;--background:#f0f4e9;--surface:#fffffc;--text:#2e4233;--muted:#637661;--border:#dce5d4;--theme-art:url(/portox/themes/foret-v1.webp);--art-wash:#f2f6eac2;--art-ink:#304c34;--art-ink-fade:#304c34ed;--art-position:60% 50%}:root[data-theme=retro]{--primary:#69409d;--primary-soft:#f0e7fb;--background:#f0ebfa;--surface:#fff;--text:#302645;--muted:#756586;--border:#e0d7ed;--radius:9px;--theme-art:url(/portox/themes/retro-v1.webp);--art-wash:#f2ecfac2;--art-ink:#3f285c;--art-ink-fade:#3f285ced;--art-position:60% 50%}:root[data-theme=voyage]{--primary:#a24e32;--primary-soft:#fbecdf;--background:#faf3e9;--surface:#fffdfa;--text:#4b372e;--muted:#816958;--border:#ebddcd;--theme-art:url(/portox/themes/voyage-v1.webp);--art-wash:#fff7ecc2;--art-ink:#78432f;--art-ink-fade:#78432fed;--art-position:65% 50%}:root[data-theme=art]{--primary:#ac3856;--primary-soft:#fbe7ed;--background:#fff4ed;--surface:#fffdfa;--text:#433348;--muted:#806777;--border:#efdedf;--radius:24px;--theme-art:url(/portox/themes/art-v1.webp);--art-wash:#fff6efc2;--art-ink:#75485f;--art-ink-fade:#75485fed;--art-position:60% 50%}:root[data-theme=retro] .panel,:root[data-theme=retro] .page-heading{box-shadow:4px 4px #69409d20}:root[data-theme=voyage] h1,:root[data-theme=foret] h1{font-family:Georgia,serif}:root[data-theme=backrooms]{--primary:#766526;--primary-soft:#eee8c9;--background:#f5f0dc;--surface:#fffdf3;--text:#443f28;--muted:#796f50;--border:#e2d9b5;--radius:8px;--theme-art:url(/portox/themes/backrooms-v1.webp);--art-wash:#f7f0dcbf;--art-ink:#59502f;--art-ink-fade:#59502fed;--art-position:62% 45%}:root[data-theme=licorne]{--primary:#88508e;--primary-soft:#f7e9f8;--background:#fcf4fc;--surface:#fffefa;--text:#443349;--muted:#826b88;--border:#eedbef;--theme-art:url(/portox/themes/licorne-v1.webp);--art-wash:#fff6fcc7;--art-ink:#724176;--art-ink-fade:#724176ed;--art-position:60% 50%}:root[data-theme=choucroute]{--primary:#9b4034;--primary-soft:#f8e9df;--background:#fbf4e8;--surface:#fffefa;--text:#49392e;--muted:#846e5d;--border:#e8dac8;--theme-art:url(/portox/themes/choucroute-v1.webp);--art-wash:#fff5e7c2;--art-ink:#854331;--art-ink-fade:#854331ed;--art-position:60% 50%}:root[data-theme=montagne]{--primary:#286784;--primary-soft:#e3f0f4;--background:#edf5f7;--surface:#fffefa;--text:#273e49;--muted:#597480;--border:#d4e4e9;--theme-art:url(/portox/themes/montagne-v1.webp);--art-wash:#f0f7f9bd;--art-ink:#24596b;--art-ink-fade:#24596bed;--art-position:60% 50%}:root[data-theme=oriental]{--primary:#1f7476;--primary-soft:#e3f1ee;--background:#f9f0e5;--surface:#fffefa;--text:#344546;--muted:#776;--border:#e6d9c6;--theme-art:url(/portox/themes/oriental-v1.webp);--art-wash:#faf2e6c4;--art-ink:#205c60;--art-ink-fade:#205c60ed;--art-position:60% 50%}:root[data-theme=noel]{--primary:#9c3448;--primary-soft:#f7e6e9;--background:#f7f1eb;--surface:#fffefa;--text:#443438;--muted:#7b6469;--border:#e9d9d5;--theme-art:url(/portox/themes/noel-v1.webp);--art-wash:#faf3eac7;--art-ink:#823442;--art-ink-fade:#823442ed;--art-position:60% 50%}:root[data-theme=ile]{--primary:#067b89;--primary-soft:#dff5f2;--background:#edf9f6;--surface:#fffefa;--text:#21484d;--muted:#577b7b;--border:#cfe8e2;--theme-art:url(/portox/themes/ile-v1.webp);--art-wash:#edfbf4b8;--art-ink:#126575;--art-ink-fade:#126575ed;--art-position:60% 50%}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}@media (width<=560px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.shopping-origin{color:var(--muted);margin:0 12px 8px 65px;font-size:.85rem}.shopping-origin summary{cursor:pointer;color:var(--primary);padding:6px 0}.shopping-origin p{margin:8px 0}.shopping-origin ul{padding-left:20px}.suspended-shopping{border-left:4px solid #b57d25;margin:16px 0}.settings-fold>summary{cursor:pointer;list-style:revert;flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.settings-fold>summary:before{content:"›";font-size:1.4rem}.settings-fold[open]>summary:before{transform:rotate(90deg)}.settings-fold>summary small{color:var(--muted)}.settings-fold>div{padding-top:18px}.settings-fold .panel{box-shadow:none;border:0;margin:0;padding:0}.inventory-options,.inventory-quick-tools{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:12px 0;padding:10px 14px}.inventory-options>summary,.inventory-quick-tools>summary{cursor:pointer;color:var(--primary)}.inventory-options[open]>summary,.inventory-quick-tools[open]>summary{margin-bottom:12px}.inventory-toolbar .search-box{flex:1}.inventory-page .inventory-display-bar{justify-content:flex-start;margin:10px 0}.inventory-page .inventory-toolbar{margin:10px 0}.inventory-page .preparation-intro{gap:8px 16px;margin:10px 0;padding:10px 14px}.inventory-page .preparation-intro>div{min-width:0}@media (width<=600px){:root .inventory-page .page-heading{gap:12px;margin-bottom:12px;padding:14px 18px}.inventory-page .page-heading .eyebrow,.inventory-page .page-heading p{display:none}.inventory-page .page-heading h1{font-size:1.7rem}.inventory-page .preparation-intro>div{width:auto}.inventory-page .preparation-intro>.button{width:auto;padding:9px 10px;font-size:.78rem}.inventory-page .preparation-intro{padding:10px}}.search-results{gap:12px;margin:16px 0;display:grid}.search-results article{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:12px;padding:14px}.search-results article p{white-space:pre-wrap}.search-results small{color:var(--muted)}.history-search{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.purchase-entry label{align-items:center;gap:10px;padding:7px 0;display:flex}.recovery-steps{gap:14px;display:grid}.recovery-steps pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--background);border-radius:8px;padding:12px}@media (width<=600px){.inventory-toolbar{gap:8px}.inventory-toolbar .search-box{width:100%}.inventory-toolbar .inventory-sort{flex:1}.inventory-options .segmented{max-width:100%;overflow-x:auto}.shopping-origin{margin-left:12px}.settings-fold>summary{align-items:flex-start}.settings-fold>summary small{width:100%;margin-left:18px}}.access-page{background:var(--background);place-items:center;min-height:100dvh;padding:32px 18px;display:grid}.access-card{width:min(100%,520px);padding:32px}.access-card .brand{margin-bottom:30px;font-size:32px}.access-card .brand-dot{display:inline}.access-card h1{margin:10px 0 20px;font-size:clamp(28px,5vw,38px)}.access-card .field,.access-invitation .field{margin:18px 0}.access-card p,.access-invitation p{margin:15px 0}.access-card .muted{font-size:13px}.access-qr{border-radius:12px;margin:20px auto;display:block}.access-invitation input{font-size:12px}.access-accounts{gap:12px;display:grid}.access-account{border:1px solid var(--border);border-radius:14px;padding:16px}.access-account small{overflow-wrap:anywhere;margin:5px 0;display:block}.access-account .button-row{flex-wrap:wrap;margin-top:12px}.access-account .button{font-size:12px}.login-suggestion{margin:0 0 15px}.mail-test{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.mail-test .button{margin-top:10px}@media (width<=560px){.access-card{padding:24px 20px}.access-accounts .button{flex:auto}.family-space .button-row{flex-wrap:wrap;width:100%}}.current-ambience{width:100%;max-width:340px;margin-bottom:1rem}.ambience-gallery{max-height:min(54dvh,560px);padding:2px;overflow-y:auto}.access-account>div{overflow-wrap:anywhere;min-width:0}.settings-row>span{overflow-wrap:anywhere}@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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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))}}.home-quick-mobile{display:none}@media (width<=600px){.home-quick-mobile{margin-bottom:22px;display:block}.home-quick-mobile h2{font-size:1rem}.dashboard-bottom>section:first-child{display:none}}.brand-name{display:flex}.sidebar{overflow-y:auto}.sidebar-settings{margin-top:30px}.sidebar-settings .space-label{margin-bottom:12px}.nav-label{flex:1}.nav-count{background:var(--primary-soft);color:var(--primary);text-align:center;border-radius:6px;min-width:23px;padding:2px 4px;font-size:.7rem}.sidebar-profile{align-items:center;gap:9px;margin-top:auto;padding:24px 4px 0;display:flex}.sidebar-profile>div{flex:1;min-width:0}.sidebar-profile strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;display:block;overflow:hidden}.sidebar-profile small{color:var(--muted);font-size:.7rem}.sidebar-profile .avatar{width:34px;height:34px}.sidebar-bottom{margin-top:0;padding-top:15px}.topbar-left,.topbar-right{align-items:center;gap:20px;display:flex}.topbar{z-index:15;position:sticky;top:0}.sync-indicator{color:var(--primary);background:0 0;align-items:center;gap:7px;min-height:40px;font-size:.8rem;display:flex}.sync-indicator.offline{color:#9c671c}.connection-dot.offline{background:#bc8028}.icon-button{min-width:38px;min-height:38px;color:var(--muted);background:0 0;border-radius:9px;flex:none;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon-button:hover{background:var(--primary-soft);color:var(--primary)}.button:hover{filter:brightness(.97)}.button.primary{color:var(--on-primary,#fff)}.button.subtle{background:0 0}.danger{color:#b63242!important}.button.danger:not(.subtle){background:#fee9eb}.text-link{color:var(--primary);align-items:center;gap:5px;font-size:.85rem;font-weight:600;display:inline-flex}.panel-link{color:var(--primary);justify-content:space-between;align-items:center;margin-top:24px;font-size:.85rem;font-weight:550;display:flex}.welcome-link{align-items:center;gap:8px;margin-top:20px;font-size:.85rem;font-weight:600;display:inline-flex}.quiet-copy{color:var(--muted);margin:10px 0 15px;font-size:.875rem;line-height:1.6}.card-section-label{letter-spacing:1px;color:var(--muted);align-items:center;gap:6px;margin:20px 0 10px;font-size:.65rem;font-weight:650;display:flex}.mini-event{align-items:baseline;gap:8px;margin:11px 0;font-size:.85rem;line-height:1.45;display:flex}.mini-event time{color:var(--primary);font-size:.75rem;font-weight:650}.mini-event span{overflow-wrap:anywhere}.mini-task{cursor:pointer;align-items:flex-start;gap:8px;margin:12px 0;font-size:.85rem;line-height:1.45;display:flex}.mini-task input{flex:none;margin-top:3px}.mini-task.done span{color:var(--muted);text-decoration:line-through}.person-heading small{color:var(--muted);font-size:.75rem}.meal-summary{align-items:center;gap:12px;padding:11px 0;display:flex}.meal-slot{background:var(--primary-soft);color:var(--primary);border-radius:6px;padding:5px 9px;font-size:.75rem}.meal-summary strong{font-size:.9rem}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.small{width:28px;height:28px;font-size:.68rem}.avatar.large{width:108px;height:108px;font-size:2.5rem}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:26px 0 22px;display:flex}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:9px 12px;font-size:.85rem;display:flex}.segmented button.selected{background:var(--primary-soft);color:var(--primary);font-weight:600}.segmented button>span{background:var(--background);border-radius:5px;padding:1px 5px;font-size:.7rem}.search-box{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;align-items:center;gap:9px;min-width:200px;min-height:44px;padding:2px 12px;display:flex}.search-box input{background:0 0;border:0;outline:none;width:100%;min-width:0;padding:8px 0;font-size:.9rem}.search-box>svg{flex:none}.input-help{color:var(--muted);margin:10px 0 0;font-size:.8rem}.inventory-add{padding:20px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.inventory-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.inventory-card-top{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.product-icon{background:var(--primary-soft);width:46px;height:46px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.inventory-card h3{overflow-wrap:anywhere;margin-bottom:5px;font-size:1.08rem}.inventory-card>p{margin-bottom:17px;font-size:.85rem}.favorite.selected{color:#aa750b}.stock-select{background:var(--primary-soft);color:var(--primary);border-radius:8px;align-items:center;gap:8px;width:fit-content;min-height:36px;padding:6px 10px;font-size:.8rem;display:flex}.stock-select.low{color:#825713;background:#fff2d4}.stock-select.empty{color:#a13c4b;background:#fce7ea}.stock-select select{outline-offset:5px;min-height:28px;color:inherit;background:0 0;border:0;padding:0;font-size:.8rem}.status-dot{background:currentColor;border-radius:100%;width:6px;height:6px;display:block}.inventory-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:7px;margin-top:18px;padding-top:18px;display:flex}.inventory-actions .button{color:var(--primary);background:0 0;padding-left:0}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:0;padding:45px 20px;display:flex}.empty-icon{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border-radius:18px;place-items:center;margin-bottom:17px;display:grid}.empty-state h3{margin-bottom:8px;font-size:1.1rem}.empty-state p{max-width:440px;margin-bottom:18px;font-size:.9rem}.sync-banner{background:var(--primary-soft);color:var(--primary);border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;padding:12px 18px;font-size:.875rem;display:flex}.sync-banner>span{align-items:center;gap:10px;display:flex}.sync-banner>span>svg{flex:none}.sync-banner .button{color:inherit;background:0 0;padding:6px 10px}.sync-banner.offline{color:#7e5723;background:#fff0cc}.shopping-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin:24px 0 15px;font-size:.8rem;display:flex}.shopping-toolbar .search-box{background:0 0;border:0;padding-left:0}.shopping-progress{background:var(--background);border-radius:8px;height:5px;margin-bottom:10px;overflow:hidden}.shopping-progress>div{background:var(--primary);height:100%;transition:width .2s}.shopping-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:7px 0;display:flex}.shopping-row:last-child{border:0}.shopping-check{cursor:pointer;flex:1;align-items:center;gap:14px;min-width:0;padding:13px 0;display:flex;position:relative}.shopping-check input{opacity:0;width:26px;height:26px;position:absolute;left:0}.check-visual{border:1.5px solid var(--border);color:#0000;background:var(--surface);border-radius:8px;flex:none;place-items:center;width:26px;height:26px;display:grid}.shopping-check input:focus-visible+.check-visual{outline:3px solid var(--primary);outline-offset:3px}.shopping-check input:checked+.check-visual{background:var(--primary);border-color:var(--primary);color:var(--on-primary,#fff)}.shopping-label{flex-direction:column;gap:5px;min-width:0;display:flex}.shopping-label strong{overflow-wrap:anywhere;font-size:1rem;font-weight:550}.shopping-label small{color:var(--muted);font-size:.8rem}.shopping-row.checked .shopping-label{color:var(--muted)}.shopping-row.checked .shopping-label strong{text-decoration:line-through}.checkout-bar{background:var(--surface);border:1px solid var(--border);z-index:10;border-radius:14px;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding:18px 22px;display:flex;position:sticky;bottom:18px;box-shadow:0 5px 30px #193d3315}.checkout-bar>div{flex-direction:column;gap:6px;display:flex}.checkout-bar strong{font-size:.95rem}.checkout-bar small{color:var(--muted);font-size:.8rem}.footnote{color:var(--muted);margin:22px 0 0;font-size:.8rem}.cart-mode .shopping-check{padding:21px 0}.cart-mode .shopping-label strong{font-size:1.22rem}.cart-mode .check-visual{width:34px;height:34px}.date-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.date-nav>span{text-transform:capitalize;text-align:center;padding:0 10px;font-size:.94rem;font-weight:550}.date-nav>.button{margin-left:8px;font-size:.8rem}.agenda-week,.meal-week{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(7,minmax(125px,1fr));display:grid;overflow-x:auto}.agenda-day,.meal-day{border-right:1px solid var(--border);min-width:0}.agenda-day:last-child,.meal-day:last-child{border:0}.agenda-day-heading{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:10px;padding:20px 10px;display:flex}.agenda-day-heading span{text-transform:capitalize;color:var(--muted);font-size:.8rem}.agenda-day-heading strong{border-radius:50%;place-items:center;width:37px;height:37px;font-size:1.15rem;font-weight:600;display:grid}.today .agenda-day-heading strong{background:var(--primary);color:var(--on-primary,#fff)}.agenda-events{flex-direction:column;gap:10px;min-height:290px;padding:12px 8px;display:flex}.event-card{text-align:left;color:#345477;background:#e6edf8;border-left:3px solid #4d78b0;border-radius:7px;flex-direction:column;gap:8px;padding:11px 9px;display:flex}.event-person-1{color:#914b63;background:#f9eaf0;border-color:#b96483}.event-person-2{color:#725795;background:#f0eaf8;border-color:#9475b9}.event-person-3{color:#916831;background:#fff1dc;border-color:#c18c43}.event-person-4{color:#3f7a60;background:#e1f1ea;border-color:#589477}.event-time{justify-content:space-between;align-items:center;gap:3px;font-size:.67rem;display:flex}.event-time svg{flex:none}.event-card strong{overflow-wrap:anywhere;font-size:.83rem;font-weight:600;line-height:1.4}.event-card small{overflow-wrap:anywhere;align-items:center;gap:3px;font-size:.7rem;display:flex}.event-card small svg{flex:none}.event-members{flex-wrap:wrap;display:flex}.event-members .avatar{border:2px solid var(--surface);width:22px;height:22px;margin-right:-3px;font-size:.6rem}.day-empty{text-align:center;color:var(--muted);padding:25px 2px;font-size:.75rem}.add-event{border:1px dashed var(--border);color:var(--muted);background:0 0;border-radius:7px;flex:none;place-items:center;height:34px;margin-top:auto;display:grid}.add-event:hover{background:var(--primary-soft);color:var(--primary)}.agenda-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:25px;font-size:.8rem;display:flex}.agenda-legend>span{align-items:center;gap:7px;display:flex}.legend-dot{border:2px solid;border-radius:50%;width:9px;height:9px}.meal-day-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:20px 12px;display:flex}.meal-day-heading>span{text-transform:capitalize;font-size:.85rem}.meal-day-heading>strong{font-size:1.05rem}.today .meal-day-heading{background:var(--primary-soft);color:var(--primary)}.meal-cell{border-bottom:1px solid var(--border);padding:17px 9px}.meal-cell:last-child{border:0}.meal-cell-label{color:var(--muted);align-items:center;gap:5px;margin:0 3px 12px;font-size:.72rem;display:flex}.meal-button{border:1px dashed var(--border);width:100%;min-height:137px;color:var(--muted);text-align:center;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:13px 10px;font-size:.77rem;display:flex}.meal-button.planned{background:var(--primary-soft);color:var(--primary);border-style:solid;border-color:#0000}.meal-button strong{overflow-wrap:anywhere;font-size:.84rem;line-height:1.5}.meal-button small{font-size:.72rem}.meal-recipe-rating{align-items:center;gap:4px;display:flex}.meal-planning-note{color:var(--primary);align-items:center;gap:14px;margin:24px 0;display:flex}.meal-planning-note>svg{flex:none}.meal-planning-note p{margin:0;font-size:.88rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:23px;display:grid}.recipe-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);overflow:hidden}.recipe-open{text-align:left;width:100%;color:var(--text);background:0 0;padding:0}.recipe-cover{background:var(--primary-soft);height:135px;color:var(--primary);justify-content:center;align-items:center;padding:22px;display:flex;position:relative}.recipe-category{background:var(--surface);color:var(--text);border-radius:6px;padding:5px 9px;font-size:.7rem;position:absolute;top:15px;left:16px}.category-dessert .recipe-cover{color:#aa6860;background:#f9e6e5}.category-entree .recipe-cover{color:#72833e;background:#e9ecde}.category-autre .recipe-cover{color:#5d6cab;background:#e6e9f9}.recipe-card-body{padding:21px 21px 14px}.recipe-rating{color:var(--muted);align-items:center;gap:9px;margin-bottom:12px;font-size:.78rem;display:flex}.recipe-card h2{overflow-wrap:anywhere;margin:0 0 16px;font-size:1.15rem}.stars{color:#a57517;align-items:center;gap:3px;display:inline-flex}.star-button{color:inherit;background:0 0;border-radius:6px;place-items:center;min-width:36px;min-height:38px;padding:6px;display:grid}.recipe-meta{color:var(--muted);align-items:center;gap:18px;font-size:.78rem;display:flex}.recipe-meta span{align-items:center;gap:5px;display:flex}.rating-caution{color:#9a5b27;margin-top:13px;font-size:.75rem;display:block}.recipe-card-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;margin:0 21px;padding:8px 0;font-size:.75rem;display:flex}.recipe-detail-top{flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:18px;display:flex}.recipe-next-meal{color:var(--primary);align-items:center;gap:6px;margin:12px 0 0;font-size:.82rem;display:flex}.recipe-planning{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:20px 0;padding:18px}.recipe-planning-heading,.recipe-planning-heading h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.recipe-planning-heading{justify-content:space-between}.recipe-planning-heading h3{margin:0}.recipe-planning>p{margin-bottom:0}.recipe-planned-list{margin:14px 0 0;padding:0;list-style:none}.recipe-planned-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.recipe-planned-list strong,.recipe-planned-list small{display:block}.recipe-planned-list small{margin-top:4px}.recipe-detail-top>span{color:var(--muted);align-items:center;gap:7px;font-size:.88rem;display:flex}.recipe-detail-top .field{max-width:110px;margin:0}.recipe-detail-top .field>span{font-size:.75rem}.recipe-detail-grid{grid-template-columns:1fr 1.2fr;gap:30px;display:grid}.ingredient-list{margin:0 0 18px;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;font-size:.9rem;display:flex}.ingredient-list strong{white-space:nowrap;color:var(--primary);font-size:.82rem;font-weight:550}.recipe-instructions{white-space:pre-wrap;font-size:.93rem;line-height:1.85}.rating-panel{border-top:1px solid var(--border);margin-top:30px;padding-top:24px}.rating-panel p{font-size:.87rem}.family-ratings{flex-wrap:wrap;gap:15px;margin-top:20px;display:flex}.family-ratings>div{align-items:center;gap:7px;font-size:.75rem;display:flex}.family-ratings strong{font-weight:600}.ingredients-editor{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.ingredient-editor{grid-template-columns:2fr .6fr .8fr 36px;gap:8px;display:grid}.ingredient-editor input{width:100%;min-width:0;font-size:.85rem}.needs-list{flex-direction:column;display:flex}.need-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:15px 0;display:flex}.need-row>span:first-of-type{flex-direction:column;flex:1;gap:6px;display:flex}.need-row strong{font-size:.93rem;font-weight:550}.need-row small{color:var(--muted);font-size:.78rem}.need-row>span:last-child{color:var(--primary);font-size:.85rem}.task-row{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:17px 0;display:flex}.task-row:last-child{border:0}.task-main{cursor:pointer;flex:1;align-items:center;gap:15px;min-width:0;display:flex}.task-main input{width:22px;height:22px}.task-main>span{flex-direction:column;gap:6px;display:flex}.task-main strong{font-size:.95rem;font-weight:550}.task-main small{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.task-row.done .task-main strong{color:var(--muted);text-decoration:line-through}.task-assignee{color:var(--muted);align-items:center;gap:7px;font-size:.8rem;display:flex}.task-row>span>svg{color:var(--muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:9px;max-width:100%;padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input[readonly]{background:var(--background)!important;color:var(--muted)!important}input[type=checkbox],input[type=radio]{accent-color:var(--primary);cursor:pointer;flex:none;width:17px;height:17px}input[type=date],input[type=time]{min-width:0}textarea{resize:vertical;line-height:1.6}.quick-add input,.search-box input{background:0 0!important;border:0!important;padding:8px 0!important}.stock-select select{color:inherit!important;background:0 0!important;border:0!important;min-height:27px!important;padding:0!important}.field{text-align:left;flex-direction:column;gap:8px;min-width:0;margin-bottom:20px;display:flex}.field>span{font-size:.87rem;font-weight:550}.field small{color:var(--muted);font-size:.77rem;line-height:1.5}.field>input,.field>select,.field>textarea{width:100%}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row.three{grid-template-columns:1fr 1fr 1fr}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:25px;display:flex}.form-actions .danger{margin-right:auto}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#122c3e65;animation:.15s ease-out fade-in;position:fixed;inset:0}.modal{background:var(--surface);width:min(540px,100vw - 32px);max-height:calc(100dvh - 50px);color:var(--text);border:1px solid var(--border);z-index:51;border-radius:20px;padding:28px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 80px #13272e30}.modal.wide{width:min(810px,100vw - 32px)}.modal-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.modal h2{margin:0;font-size:1.35rem}.modal h3{margin-top:15px}.modal>p{margin-bottom:23px;font-size:.9rem}.modal fieldset{border:0;margin:0 0 20px;padding:0}.modal legend{margin-bottom:12px;font-size:.87rem;font-weight:550}.member-checkboxes{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.member-checkboxes label{background:var(--background);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:.85rem;display:flex}.recurrence-fields{background:var(--background);border-radius:12px;margin-bottom:22px;padding:17px}.recurrence-fields .field:last-child{margin-bottom:0}.recurrence-fields>small{color:var(--muted);font-size:.77rem}.weekday-field>div{flex-wrap:wrap;gap:7px;display:flex}.weekday-field label{position:relative}.weekday-field input{opacity:0;position:absolute}.weekday-field label>span{background:var(--surface);border:1px solid var(--border);border-radius:8px;place-items:center;min-width:40px;min-height:40px;padding:8px;font-size:.8rem;display:grid}.weekday-field input:checked+span{background:var(--primary);color:var(--on-primary,#fff);border-color:var(--primary)}.weekday-field input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}.weekday-field small{color:var(--muted);margin-top:12px;font-size:.75rem;display:block}.inline-message{background:#fff1d7;border-radius:9px;margin-bottom:20px;padding:14px 17px;font-size:.87rem;line-height:1.6;color:#7b5c2c!important}.inline-message .button{margin-top:12px;display:flex}.toast{color:#fff;z-index:100;background:#183f35;border-radius:12px;align-items:center;gap:20px;max-width:min(600px,100vw - 32px);padding:15px 18px;font-size:.9rem;animation:.15s fade-in;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0002}.toast.error{background:#8d3040}.toast button{color:inherit;background:0 0;padding:0 5px;font-size:1.5rem}.spaced{margin-top:24px}.profile-layout{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:25px;display:grid}.profile-card{text-align:center;flex-direction:column;align-items:center;padding:30px 20px;display:flex}.profile-card h2{margin:20px 0 4px;font-size:1.4rem}.profile-card p{margin-bottom:17px;font-size:.87rem}.role-badge{background:var(--primary-soft);color:var(--primary);border-radius:8px;align-items:center;gap:6px;margin-bottom:25px;padding:7px 10px;font-size:.75rem;display:inline-flex}.profile-card .button{width:100%;font-size:.8rem}.profile-card>small{color:var(--muted);margin-top:15px;font-size:.7rem;line-height:1.6}.profile-sections{flex-direction:column;gap:24px;display:flex}.profile-sections h2{align-items:center;gap:9px;margin-bottom:24px;display:flex}.theme-heading{border-top:1px solid var(--border);margin-top:12px;padding-top:26px}.theme-heading h2{margin-bottom:8px}.theme-heading p{font-size:.87rem}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:13px;display:grid}.theme-choice{background:var(--surface);border:2px solid var(--border);text-align:left;color:var(--text);border-radius:12px;padding:8px}.theme-choice.selected{border-color:var(--primary)}.theme-choice>strong{justify-content:space-between;align-items:center;margin:11px 3px 7px;font-size:.83rem;display:flex}.theme-choice>small{color:var(--muted);margin:0 3px 6px;font-size:.7rem;line-height:1.5;display:block}.theme-preview{color:#176b5b;background:#ecf4f1;border-radius:6px;gap:8px;height:85px;padding:10px;display:flex;position:relative;overflow:hidden}.theme-preview>span{opacity:.7;background:currentColor;border-radius:3px;width:17px;height:100%}.theme-preview>div{flex:1;padding-top:4px}.theme-preview i{opacity:.3;background:currentColor;border-radius:2px;width:72%;height:9px;margin-bottom:8px;display:block}.theme-preview i:first-child{opacity:.7;width:50%}.theme-preview>svg{position:absolute;bottom:12px;right:12px}.theme-preview-pokemon .theme-preview{color:#2962ba;background:#fff0a9}.theme-preview-manga .theme-preview{color:#b3273f;background:#fcf6f6;border:2px solid #24252d;border-radius:0}.theme-preview-litterature .theme-preview{color:#705136;background:#f3e6ce}.theme-preview-musique .theme-preview{color:#c4a6ff;background:#25203b}.admin-profile{border-bottom:1px solid var(--border);align-items:center;gap:15px;padding:16px 0;display:flex}.admin-profile:last-child{border:0}.admin-profile>div{flex-direction:column;flex:1;gap:5px;display:flex}.admin-profile strong{font-size:.94rem;font-weight:600}.admin-profile small{color:var(--muted);font-size:.78rem}.access-status{color:var(--muted);background:var(--background);border-radius:6px;padding:6px 9px;font-size:.75rem}.access-status.enabled{background:var(--primary-soft);color:var(--primary)}.api-key-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:18px 0;display:flex}.api-key-row:last-child{border:0}.api-key-row>svg{color:var(--primary);flex:none}.api-key-row>div{flex-direction:column;flex:1;gap:7px;display:flex}.api-key-row strong{font-size:.93rem}.api-key-row small{color:var(--muted);font-size:.78rem}.scope-list{flex-direction:column;gap:15px;display:flex}.scope-list label{align-items:center;gap:10px;font-size:.9rem;display:flex}.token-value{width:100%;font-family:monospace;font-size:.85rem}.disabled-link{pointer-events:none;opacity:.5}.full-width{width:100%}.auth-page{background:var(--surface);grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.auth-story{color:#fff;background:#176b5b;flex-direction:column;min-height:100dvh;padding:42px 50px;display:flex}.auth-story .brand{color:#fff;align-items:center;margin:0;font-size:2.3rem;display:flex}.auth-story .brand-mark{background:#ffffff20}.auth-story .brand-dot{color:#bbded2}.auth-story-content{margin:auto 0;padding:50px 0}.auth-story-content .eyebrow{color:#b9dccf}.auth-story h1{letter-spacing:-2px;margin-bottom:24px;font-size:clamp(2.1rem,3.9vw,4rem);line-height:1.13}.auth-story p{color:#d1e7df;max-width:410px;font-size:1.05rem}.auth-features{color:#e3f0eb;flex-direction:column;gap:18px;margin:30px 0;font-size:.92rem;display:flex}.auth-features>span{align-items:center;gap:13px;display:flex}.auth-family{flex-wrap:wrap;align-items:center;gap:0;margin-top:45px;display:flex}.auth-family .avatar{border:3px solid #176b5b;width:42px;height:42px;margin-right:-6px;font-size:.8rem}.auth-family>span:last-child{color:#d1e7df;margin-left:17px;font-size:.8rem}.auth-story>small{color:#c1ded3;align-items:center;gap:8px;font-size:.75rem;display:flex}.auth-form-wrap{justify-content:center;align-items:center;padding:45px 40px;display:flex}.auth-form{width:100%;max-width:460px}.auth-form h2{letter-spacing:-1px;margin-bottom:15px;font-size:2rem;line-height:1.2}.auth-form>p{margin-bottom:32px;font-size:.93rem}.profile-picker{justify-content:space-between;gap:8px;margin:0 0 28px;display:flex}.profile-choice{min-width:0;color:var(--text);background:0 0;border:1.5px solid #0000;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:10px 5px;font-size:.75rem;display:flex}.profile-choice.selected{border-color:var(--primary);background:var(--primary-soft)}.profile-choice small{white-space:nowrap;font-size:.63rem}.profile-choice:disabled{opacity:.45;cursor:not-allowed}.profile-choice .avatar{width:43px;height:43px}.auth-hint{text-align:center;color:var(--muted);margin-top:22px;font-size:.75rem;line-height:1.6;display:block}.initial-loading,.fatal-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100dvh;padding:30px;display:flex}.initial-loading .brand-mark{border-radius:18px;width:58px;height:58px}.initial-loading strong{color:var(--muted);font-size:.95rem;font-weight:500}.offline-strip{color:#7e5723;background:#fff0cc;align-items:center;gap:10px;padding:13px 30px;font-size:.82rem;display:flex}.offline-strip svg{flex:none}.update-banner{border:1px solid var(--border);background:var(--surface);z-index:30;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:15px 18px;font-size:.85rem;display:flex;position:fixed;bottom:20px;right:25px;box-shadow:0 5px 25px #0002}.update-banner small{width:100%;color:var(--muted)}.mobile-menu{display:none}.skip-link{z-index:1000;background:var(--primary);color:var(--on-primary,#fff);border-radius:10px;padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.sidebar-overlay{display:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1200px){.profile-layout{grid-template-columns:210px minmax(0,1fr)}.admin-profile{gap:9px}.admin-profile .button{padding:9px 11px;font-size:.78rem}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.profile-layout{grid-template-columns:1fr}.profile-card{text-align:left;flex-flow:wrap;gap:15px}.profile-card .avatar{width:65px;height:65px;font-size:1.5rem}.profile-card h2,.profile-card p,.role-badge{margin:0}.profile-card .button{width:auto}.profile-card>small{width:100%}.auth-story{padding:35px}.auth-form-wrap{padding:30px}.auth-family>span:last-child{width:100%;margin:15px 0 0}.auth-story h1{letter-spacing:-1px}}@media (width<=760px){.sidebar-settings .space-label,.sidebar-profile,.nav-label,.nav-count,.sidebar .brand-name{display:none}.nav-item{min-width:48px}.sidebar .brand{font-size:0}.topbar-right{gap:10px}.sync-indicator{font-size:.7rem}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-page{grid-template-columns:1fr}.auth-story{min-height:auto;padding:25px}.auth-story .brand{font-size:2rem}.auth-story-content{padding:25px 0 0}.auth-story h1{font-size:2.1rem}.auth-story-content>p,.auth-features,.auth-family,.auth-story>small,.auth-story-content .eyebrow{display:none}.auth-story h1{margin:0}.auth-form-wrap{padding:32px 24px}.auth-form{max-width:460px}.auth-form h2{font-size:1.65rem}.recipe-detail-grid{grid-template-columns:1fr}.profile-card .role-badge{display:none}.task-row{gap:10px}.task-assignee{gap:0;font-size:0}.shopping-toolbar{flex-wrap:wrap}.modal{padding:22px}.form-row.three{grid-template-columns:1fr 1fr}.form-row.three>.field:first-child{grid-column:1/-1}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.sync-banner{flex-wrap:wrap}.sync-banner .button{margin-left:auto}.page-heading .button{font-size:.8rem}.date-nav{gap:2px}.date-nav>span{padding:0 5px;font-size:.85rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}}@media (width<=600px){.sidebar{transition:transform .2s;transform:translate(-100%);width:260px!important;padding:25px 20px!important}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .nav-label,.sidebar.mobile-open .nav-count,.sidebar.mobile-open .space-label,.sidebar.mobile-open .sidebar-bottom{display:initial}.sidebar.mobile-open .nav-item{justify-content:flex-start;gap:13px;padding:12px 14px;font-size:.925rem}.sidebar.mobile-open .brand-name{font-size:2rem;display:flex}.sidebar.mobile-open .brand{gap:9px;margin-bottom:30px}.sidebar.mobile-open .sidebar-profile{display:flex}.sidebar .sidebar-settings{margin-top:25px}.sidebar.mobile-open .space-label{display:block}.sidebar-overlay{z-index:19;background:#142a3870;display:block;position:fixed;inset:0}.main{width:100%!important;margin-left:0!important}.mobile-menu{display:inline-flex}.topbar{height:65px;padding:0 13px!important}.topbar-left{gap:7px}.topbar-left>span{font-size:.83rem}.topbar-right .family-mini{display:none}.sync-indicator>span{font-size:.72rem}.page{padding:24px 18px 45px!important}.page-heading{flex-direction:column;gap:17px;align-items:flex-start!important}.page-heading p{font-size:.88rem}.page-heading>.button{min-height:42px}.family-grid{grid-template-columns:1fr!important}.family-card{padding:21px}.person-heading{margin-bottom:15px}.family-card .card-section-label{margin-top:16px}.card-footer{margin-top:17px}.card-section-label{font-size:.7rem}.dashboard-bottom{gap:18px}.welcome-panel{padding:25px!important}.welcome-panel h2{font-size:1.5rem}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inventory-card{padding:15px}.inventory-card h3{font-size:.95rem}.inventory-actions{gap:0;margin-top:13px;padding-top:10px}.inventory-actions .button{gap:4px;padding:5px 0;font-size:.75rem}.inventory-actions .button svg{width:14px}.inventory-actions .icon-button{min-width:32px;padding:7px}.inventory-card-top{margin-bottom:14px}.product-icon{width:38px;height:38px}.stock-select{gap:5px;padding:5px 7px}.stock-select select{max-width:110px;font-size:.75rem!important}.stock-select .status-dot{display:none}.toolbar{gap:13px}.toolbar .search-box{width:100%}.segmented{gap:2px;width:100%}.segmented button{gap:5px;padding:8px 9px;font-size:.76rem}.segmented button>span{font-size:.65rem}.checkout-bar{flex-wrap:wrap;padding:15px;bottom:10px}.checkout-bar .button{width:100%;font-size:.9rem}.checkout-bar small{font-size:.76rem}.shopping-row .icon-button{min-width:35px}.shopping-label strong{font-size:.96rem}.sync-banner{padding:13px;font-size:.8rem}.sync-banner>span{align-items:flex-start}.sync-banner .button{min-height:32px;padding:3px 0}.quick-add{flex-wrap:nowrap!important;gap:8px!important;padding:7px 8px!important}.quick-add>svg{display:none}.quick-add input{width:100%!important;font-size:.85rem!important}.quick-add .button{min-width:40px;padding:10px;font-size:0;width:auto!important}.quick-add .button svg{width:19px;height:19px}.shopping-toolbar .search-box{width:100%;min-width:0}.agenda-week{background:0 0;border:0;grid-template-columns:1fr;gap:15px;overflow:visible}.agenda-day{background:var(--surface);border-radius:13px;grid-template-columns:65px minmax(0,1fr);min-height:110px;display:grid;border:1px solid var(--border)!important}.agenda-day-heading{border:0;border-right:1px solid var(--border);justify-content:flex-start;gap:8px;padding:17px 6px}.agenda-day-heading span{font-size:.75rem}.agenda-events{gap:9px;min-height:0;padding:12px}.event-card{padding:12px}.event-card strong{font-size:.9rem}.event-time{font-size:.77rem}.event-card small{font-size:.75rem}.event-members .avatar{width:25px;height:25px}.day-empty{padding:6px}.add-event{min-height:32px}.meal-week{background:0 0;border:0;grid-template-columns:1fr;gap:15px;overflow:visible}.meal-day{background:var(--surface);border-radius:13px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden;border:1px solid var(--border)!important}.meal-day-heading{grid-column:1/-1;padding:13px 17px}.meal-cell{border:0;padding:15px}.meal-cell:last-child{border-left:1px solid var(--border)}.meal-button{min-height:120px}.meal-button strong{font-size:.92rem}.meal-cell-label{font-size:.8rem}.date-nav>.button{min-height:38px;margin-left:0;padding:8px;font-size:.73rem}.recipe-grid{grid-template-columns:1fr}.recipe-cover{height:130px}.recipe-card-body{padding:21px}.recipe-card h2{font-size:1.2rem}.recipe-rating{font-size:.8rem}.recipe-meta{font-size:.83rem}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:1fr;gap:0}.form-row.three{grid-template-columns:1fr 1fr;gap:12px}.form-row.three .field{margin-bottom:10px}.form-row.three>.field:first-child{grid-column:1/-1}.modal{width:calc(100vw - 24px);max-height:calc(100dvh - 28px);padding:21px}.modal.wide{width:calc(100vw - 24px)}.modal-heading{margin-bottom:20px}.modal h2{font-size:1.22rem}.form-actions{gap:8px}.form-actions .button{white-space:normal;font-size:.8rem}.ingredients-editor{gap:16px}.ingredient-editor{grid-template-columns:1fr 1fr 36px;gap:7px}.ingredient-editor>input:first-child{grid-column:1/-1}.ingredient-editor input{font-size:.9rem}.family-ratings{gap:15px}.family-ratings>div{font-size:.8rem}.task-row{flex-wrap:wrap;gap:9px;padding:16px 0}.task-main{min-width:calc(100% - 95px)}.task-main strong{font-size:.9rem}.task-assignee .avatar{width:26px;height:26px}.admin-profile{flex-wrap:wrap;gap:10px}.admin-profile .avatar{width:33px;height:33px}.admin-profile .button{margin-left:auto}.admin-profile .access-status{font-size:.7rem}.section-heading{flex-wrap:wrap;align-items:flex-start}.section-heading>span{font-size:.76rem}.admin-profiles{margin-top:10px}.profile-card{padding:20px}.profile-card .button{font-size:.78rem}.auth-form-wrap{padding:30px 21px}.auth-story{padding:24px}.auth-story h1{font-size:1.8rem}.auth-form .profile-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-choice{padding:9px 3px;font-size:.7rem}.profile-choice .avatar{width:39px;height:39px}.toast{font-size:.86rem;bottom:15px}.offline-strip{padding:12px 18px;font-size:.78rem}.footnote{line-height:1.6}.update-banner{right:16px}.profile-sections .panel{padding:20px}.modal .button{min-height:42px}}@media (width>=601px) and (height<=760px){.sidebar{padding-top:20px;padding-bottom:15px}.sidebar .brand{margin-bottom:22px}.sidebar-settings{margin-top:18px}.nav-item{min-height:41px;margin-bottom:3px;padding-top:10px;padding-bottom:10px}.sidebar-profile{padding-top:16px}}.family-members .section-heading h2{align-items:center;gap:10px;display:flex}.family-name-form{align-items:center;gap:12px;max-width:600px;display:flex}.family-name-form .field{flex:1;min-width:0}.family-member-name{overflow-wrap:anywhere;flex:1;min-width:0}.family-member-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-profile.family-member>.family-member-actions{flex-direction:row;flex:none}.family-spaces{gap:12px;margin-top:20px;display:grid}.family-space{border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.family-space>div{flex:1;min-width:120px}.family-space small{color:var(--muted);margin-top:5px;display:block}.family-checkbox{align-items:center;gap:10px;margin:18px 0;display:flex}.family-checkbox input{width:18px;height:18px}@media (width<=640px){.family-members .section-heading,.platform-families .section-heading{flex-direction:column;align-items:flex-start;gap:12px}.family-name-form{flex-direction:column;align-items:stretch;gap:0}.family-member{flex-wrap:wrap}.family-member-actions{width:100%}.admin-profile.family-member>.family-member-actions{flex-basis:100%}.family-space{gap:12px}}.avatar-photo{cursor:zoom-in;padding:0;transition:box-shadow .16s,filter .16s;position:relative}.avatar-photo:hover{box-shadow:0 0 0 3px var(--primary-soft), 0 0 0 5px var(--primary);filter:brightness(1.07)}.avatar-photo:focus-visible{outline-color:var(--primary)}.event-card{position:relative}.event-details{color:inherit;text-align:left;background:0 0;flex-direction:column;gap:8px;width:100%;padding:0;display:flex}.event-details:after{content:"";border-radius:inherit;position:absolute;inset:0}.event-members .avatar-photo{z-index:1}.member-checkboxes .member-choice{background:var(--background);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.member-choice label{cursor:pointer;padding:0}.photo-viewer-overlay{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080f1cd9;animation:.18s ease-out fade-in;position:fixed;inset:0}.photo-viewer{z-index:121;background:var(--primary);flex-direction:column;width:min(960px,100vw - 48px);height:min(900px,100dvh - 48px);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab, red, red)){.photo-viewer{background:color-mix(in srgb, var(--primary) 12%, #101923)}}.photo-viewer{color:#fff;border:1px solid #ffffff26;border-top:3px solid var(--primary);border-radius:var(--radius);animation:.18s ease-out photo-appear;box-shadow:0 24px 100px #0008}.photo-viewer-heading{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.photo-viewer-heading h2{color:#fff;margin:0;font-size:1.1rem}.photo-viewer-heading p{color:#d0d9e4;overflow-wrap:anywhere;margin:3px 0 0;font-size:.85rem}.photo-viewer-stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#0003;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.photo-viewer-stage.is-zoomed{cursor:grab}.photo-viewer-stage.is-zoomed:active{cursor:grabbing}.photo-viewer-stage img{object-fit:contain;transform-origin:50%;-webkit-touch-callout:none;width:100%;height:100%;min-height:0}.photo-viewer-button{color:#fff;background:#ffffff0d;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.photo-viewer-button:hover:not(:disabled){background:#ffffff24}.photo-viewer-button:focus-visible{outline-color:#fff}.photo-viewer-button:disabled{cursor:default;opacity:.35}.photo-viewer-footer{text-align:center;flex:none;padding:14px 20px 16px}.photo-viewer-tools{justify-content:center;align-items:center;gap:10px;display:flex}.photo-viewer-tools output{font-variant-numeric:tabular-nums;min-width:56px;font-size:.85rem}.photo-viewer-footer p{color:#d0d9e4;margin:10px 0 0;font-size:.75rem}.photo-viewer-loading{position:absolute}.photo-viewer-error{text-align:center;padding:24px}.photo-viewer-error svg{margin:0 auto 12px}.photo-viewer-error p{color:#d0d9e4}@keyframes photo-appear{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (width<=600px){.photo-viewer{border:0;border-radius:0;width:100%;height:100dvh}.photo-viewer-heading{padding:max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 12px max(14px, env(safe-area-inset-left))}.photo-viewer-footer{padding-bottom:max(16px, env(safe-area-inset-bottom))}}.agenda-toolbar .agenda-view-switch{flex-wrap:nowrap;width:auto}.agenda-toolbar .date-nav{margin:0 auto}.agenda-month{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.month-weekday{text-align:center;color:var(--muted);background:var(--background);padding:13px 4px;font-size:.78rem;font-weight:600}.month-day{border-top:1px solid var(--border);border-right:1px solid var(--border);min-width:0;min-height:156px;padding:5px;position:relative}.month-day:nth-child(7n){border-right:0}.month-day.outside-month{background:var(--background)}.outside-month .month-date{color:var(--muted)}.month-day.is-selected{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.month-date{width:100%;min-height:36px;color:var(--text);text-align:left;background:0 0;border-radius:7px;align-items:center;gap:5px;padding:2px 3px 5px;display:flex}.month-date:hover{background:var(--primary-soft)}.month-date-number{border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-size:.84rem;font-weight:600;display:grid}.is-today .month-date-number{background:var(--primary);color:var(--on-primary,#fff)}.month-markers{display:none}.month-event-count{color:var(--muted);margin-left:auto;padding:0 4px;font-size:.7rem}.month-preview{flex-direction:column;gap:4px;display:flex}.agenda-month .month-event{border-radius:5px;flex-direction:row;align-items:center;gap:5px;width:100%;min-width:0;padding:6px 5px;font-size:.72rem;line-height:1.35;display:flex}.month-event time,.month-event svg{flex:none}.month-event span{white-space:nowrap;text-overflow:ellipsis;font-weight:550;overflow:hidden}.month-event:hover{filter:brightness(.96)}.month-more{color:var(--primary);text-align:left;background:0 0;border-radius:5px;padding:5px;font-size:.73rem;font-weight:600}.month-day-detail{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:20px;padding:22px;scroll-margin-block:20px}.month-detail-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.month-detail-heading h2{margin:0;font-size:1.08rem}.month-detail-heading h2:first-letter{text-transform:uppercase}.month-detail-heading p{color:var(--muted);margin:6px 0 0;font-size:.84rem}.month-detail-events{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:18px;display:grid}@media (width<=1100px){.agenda-toolbar .date-nav{flex-basis:100%;order:3;justify-content:center}}@media (width<=700px){.agenda-toolbar .agenda-view-switch button{min-height:40px;padding:8px 12px}.agenda-toolbar .member-filter{flex:1;min-width:135px}.agenda-toolbar .member-filter select{width:100%}.agenda-toolbar .date-nav{flex-wrap:wrap;row-gap:8px}}@media (width<=1000px){.month-weekday{padding:12px 1px;font-size:.7rem}.month-day{min-height:73px;padding:0}.month-date{flex-direction:column;justify-content:flex-start;gap:5px;height:100%;min-height:72px;padding:7px 1px;position:relative}.month-date-number{font-size:.85rem}.month-markers{flex-wrap:wrap;justify-content:center;gap:2px;max-width:28px;display:flex}.month-markers .legend-dot{border-width:1px;width:6px;height:6px}.month-event-count,.month-preview{display:none}.month-day-detail{margin-top:15px;padding:17px}.month-detail-events{grid-template-columns:minmax(0,1fr)}}.inventory-photo-entry{border:1px solid var(--border);border-radius:var(--radius);background:var(--primary-soft);justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:20px;display:flex}.inventory-photo-entry>div{align-items:center;gap:14px;display:flex}.inventory-photo-entry svg{color:var(--primary);flex:none}.inventory-photo-entry strong{font-size:.95rem}.inventory-photo-entry p{color:var(--muted);margin:5px 0 0;font-size:.85rem}.inventory-photo-entry .button{background:var(--surface);flex:none}#inventory-photo-settings h2{align-items:center;gap:8px;display:flex}.photo-usage{background:var(--background);color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;gap:4px;padding:14px;font-size:.85rem;display:flex}.photo-usage strong{color:var(--text);font-size:1.2rem}.photo-enable{align-items:center;gap:10px;margin:18px 0;display:flex}.photo-enable input,.photo-row-check input{width:19px;height:19px;accent-color:var(--primary);flex:none}.photo-error{color:#922e43;background:#fff0f2;border:1px solid #edb3bc;border-radius:10px;padding:13px 15px;font-size:.88rem}.photo-consent,.photo-review-help{color:var(--muted);margin:0 0 18px;font-size:.88rem;line-height:1.6}.photo-select-actions{flex-wrap:wrap;gap:10px;display:flex}.inventory-photo-preview{object-fit:contain;background:var(--background);border-radius:12px;width:100%;max-height:240px;margin:18px 0;display:block}.photo-progress{color:var(--primary);align-items:center;gap:10px;display:flex}.photo-unavailable{text-align:center;color:var(--muted);flex-direction:column;align-items:center;padding:26px 8px;display:flex}.photo-result-message{background:var(--primary-soft);border-radius:10px;padding:12px;font-size:.88rem}.photo-review-tools{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:.8rem;display:flex}.photo-review-tools .button{font-size:.8rem}.photo-review-list{flex-direction:column;gap:14px;display:flex}.photo-review-row{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:16px}.photo-review-row.unchecked{background:var(--background)}.photo-row-check{align-items:center;gap:9px;display:flex}.photo-row-check strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.96rem}.photo-row-check span{color:var(--primary);background:var(--primary-soft);border-radius:6px;padding:4px 7px;font-size:.7rem}.photo-row-note,.photo-current-stock{color:var(--muted);margin:8px 0 0;font-size:.8rem}.photo-review-row fieldset{margin-top:14px}.photo-row-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.photo-row-fields .field{min-width:0}.photo-row-fields input{width:100%}.photo-review-row .field{margin-bottom:10px}.photo-review-footer{background:var(--surface);border-top:1px solid var(--border);z-index:1;margin:18px -4px -4px;padding:15px 4px 8px;position:sticky;bottom:-28px}@media (width<=700px){.inventory-photo-entry{flex-direction:column;align-items:stretch;padding:17px}.inventory-photo-entry .button{justify-content:center}.photo-row-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-row-fields>:first-child{grid-column:1/-1}.photo-select-actions .button{flex:1}.photo-review-footer{bottom:-20px}}:root{--on-primary:#fff}:root[data-theme=pokemon]{--primary:#2359a8;--primary-soft:#e9f0ff;--background:#f4f7fc;--surface:#fff;--text:#243e63;--muted:#657995;--border:#dce5f2;--radius:20px}:root[data-theme=pokemon] .welcome-panel{color:#233f69;background:#ffdf56;border:2px solid #e8c12f;box-shadow:0 5px #e9edf7}:root[data-theme=pokemon] .welcome-panel p,:root[data-theme=pokemon] .welcome-stat small{color:#4f5675}:root[data-theme=pokemon] .welcome-panel .badge{color:#31598e;background:#fff9d0}:root[data-theme=pokemon] .welcome-stat{border-color:#bea52c}:root[data-theme=pokemon] .brand-mark{background:#e54a45}:root[data-theme=pokemon] .family-card{border-bottom:3px solid #e3c34d}:root[data-theme=pokemon] .nav-item.active{color:#254d84;background:#fff0ae}:root[data-theme=manga]{--primary:#b62d43;--primary-soft:#fce9ed;--background:#f1f1f4;--surface:#fff;--text:#262630;--muted:#686675;--border:#d5d4dc;--radius:5px}:root[data-theme=manga] h1,:root[data-theme=manga] .welcome-panel h2{letter-spacing:-1.3px;font-weight:850}:root[data-theme=manga] .panel,:root[data-theme=manga] .family-card,:root[data-theme=manga] .inventory-card,:root[data-theme=manga] .recipe-card{border:1.5px solid #343441;box-shadow:3px 3px #343441}:root[data-theme=manga] .welcome-panel{background:#292936;border:2px solid #292936;box-shadow:6px 6px #b62d43}:root[data-theme=manga] .nav-item,:root[data-theme=manga] .button,:root[data-theme=manga] .date-pill{border-radius:4px}:root[data-theme=manga] .nav-item.active{box-shadow:inset 4px 0 #b62d43}:root[data-theme=litterature]{--primary:#755135;--primary-soft:#eee4d4;--background:#f7f3eb;--surface:#fffdf8;--text:#42372e;--muted:#7c6e5f;--border:#e3d9c9;--radius:9px}:root[data-theme=litterature] h1,:root[data-theme=litterature] h2,:root[data-theme=litterature] .brand-name{letter-spacing:-.6px;font-family:Georgia,Times New Roman,serif}:root[data-theme=litterature] .welcome-panel{background:#4c574a}:root[data-theme=litterature] .family-card{border-top:3px solid #ad9470}:root[data-theme=litterature] .recipe-cover{color:#755135;background:#eee4d4}:root[data-theme=litterature] .eyebrow{letter-spacing:2.4px}:root[data-theme=musique]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#c4a6ff;--primary-soft:#342947;--background:#15121e;--surface:#211b2f;--text:#f1ecfa;--muted:#b2a7c6;--border:#3b304e;--radius:18px;--on-primary:#21172f}:root[data-theme=musique] .welcome-panel{background:linear-gradient(115deg,#4c3376,#302148);border:1px solid #7450a6}:root[data-theme=musique] .welcome-panel p,:root[data-theme=musique] .welcome-stat small{color:#ded1f2}:root[data-theme=musique] .brand-mark{color:#21172f}:root[data-theme=musique] .button.primary{color:var(--on-primary)}:root[data-theme=musique] .family-card{border-top:2px solid #9169c7}:root[data-theme=musique] .person-0{color:#accbf5;background:#263a57}:root[data-theme=musique] .person-1{color:#f1b2d1;background:#512d43}:root[data-theme=musique] .person-2{color:#dbb8ff;background:#46305e}:root[data-theme=musique] .person-3{color:#f0d09b;background:#4c3c27}:root[data-theme=musique] .person-4{color:#a4d6c1;background:#254a3e}:root[data-theme=musique] .stars{color:#f0c86d}:root[data-theme=musique] .inventory-card .stock-select.stock{color:#b6e1d1;background:#284a40}:root[data-theme=musique] .rating-caution{color:#e8bd8c}:root[data-theme=musique] input::placeholder,:root[data-theme=musique] textarea::placeholder{color:#b2a7c6}html[data-theme],html[data-theme] body{color:var(--text);background:var(--background)}:root{--theme-art:url(/portox/themes/classique-v1.webp);--art-position:68% 55%;--art-wash:#f5f7f9d9;--art-heading:#ffffffed;--art-heading-edge:#ffffff50;--art-ink:#114b40;--art-ink-fade:#114b40e6}:root[data-theme=pokemon]{--theme-art:url(/portox/themes/pokemon-v1.jpg);--art-position:50% 52%;--art-wash:#f4f7fcd6;--art-heading:#fffdf0f5;--art-heading-edge:#fff5ba30;--art-ink:#fff0aa;--art-ink-fade:#fff0aae8}:root[data-theme=manga]{--theme-art:url(/portox/themes/manga-v1.webp);--art-position:72% 45%;--art-wash:#f1f1f4dc;--art-heading:#fffffff5;--art-heading-edge:#ffffff35;--art-ink:#262631;--art-ink-fade:#262631eb}:root[data-theme=litterature]{--theme-art:url(/portox/themes/litterature-v1.webp);--art-position:73% 55%;--art-wash:#f7f3ebd9;--art-heading:#fffdf8f2;--art-heading-edge:#fff2d22e;--art-ink:#354737;--art-ink-fade:#354737eb}:root[data-theme=musique]{--theme-art:url(/portox/themes/musique-v1.webp);--art-position:70% 50%;--art-wash:#15121ed1;--art-heading:#211b2ff5;--art-heading-edge:#211b2f48;--art-ink:#2a1949;--art-ink-fade:#2a1949eb}:root .main{isolation:isolate;position:relative}:root .main:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--art-wash), var(--art-wash)), var(--theme-art);background-color:var(--background);background-position:center, var(--art-position);background-size:cover;position:fixed;inset:0}:root .page-heading{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);background-image:linear-gradient(100deg, var(--art-heading) 0%, var(--art-heading) 50%, var(--art-heading-edge) 100%), var(--theme-art);background-size:cover;background-position:center, var(--art-position);padding:25px 28px;position:relative;overflow:hidden;box-shadow:0 5px 24px #172d3810}:root .page-heading>div:first-child{background:var(--art-heading);overflow-wrap:anywhere;border-radius:10px;min-width:0;max-width:70%;margin:-8px -12px;padding:8px 12px}:root .page-heading p{color:var(--text)}:root .page-heading .date-pill{box-shadow:0 3px 16px #172d3814}:root .welcome-panel{isolation:isolate;background:var(--art-ink);min-height:240px;position:relative;overflow:hidden;box-shadow:0 8px 26px #172d3820}:root .welcome-panel:before,:root .welcome-panel:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}:root .welcome-panel:before{background-image:var(--theme-art);background-size:cover;background-position:var(--art-position);left:40%}:root .welcome-panel:after{background:linear-gradient(90deg, var(--art-ink) 28%, var(--art-ink-fade) 43%, transparent 76%)}:root .welcome-panel>div:first-child{width:57%}:root .welcome-panel .welcome-stat{color:#fff;background:#122432d9;border:1px solid #ffffff45;border-radius:16px;align-self:flex-start;padding:10px 18px;box-shadow:0 5px 20px #12243220}:root .welcome-panel .welcome-stat span{font-size:2.5rem}:root .welcome-panel .welcome-stat small{color:#fff}:root .panel,:root .family-card,:root .inventory-card,:root .recipe-card{box-shadow:0 4px 18px #172d3809}:root[data-theme=manga] .page-heading{border:1.5px solid #343441;box-shadow:3px 3px #343441}:root[data-theme=manga] .welcome-panel{box-shadow:6px 6px #b62d43}:root[data-theme=musique] .page-heading{border-color:#7450a6}:root .theme-choice{border-radius:15px;padding:6px;transition:transform .16s,border-color .16s,box-shadow .16s;overflow:hidden}:root .theme-choice:hover{transform:translateY(-3px);box-shadow:0 7px 18px #172d3818}:root .theme-choice.selected{box-shadow:0 0 0 2px var(--primary-soft)}:root .theme-choice .theme-preview{aspect-ratio:4/3;border:0;border-radius:9px;height:auto;padding:0}:root .theme-preview img{object-fit:cover;object-position:70% center;width:100%;height:100%}:root .theme-preview>svg{color:#263b42;background:#ffffffed;border-radius:10px;width:34px;height:34px;padding:7px;bottom:8px;right:8px;box-shadow:0 2px 8px #172d3820}:root .theme-choice>strong{margin-inline:6px;font-size:1rem}:root .theme-choice>small{margin-inline:6px;font-size:.875rem}:root .theme-credit{margin:14px 0 0;font-size:.8rem}:root .theme-credit a{text-underline-offset:3px;text-decoration:underline}:root .auth-story{background-image:linear-gradient(115deg,#103f37f5 0%,#103f37e6 40%,#103f3760 100%),url(/portox/themes/classique-v1.webp);background-position:50%,65%;background-size:cover}@media (width<=1000px){:root .welcome-panel>div:first-child{width:68%}:root .welcome-panel:after{background:linear-gradient(90deg, var(--art-ink) 15%, var(--art-ink-fade) 55%, transparent 100%)}}@media (width<=600px){:root .page-heading{background-image:linear-gradient(105deg, var(--art-heading) 12%, var(--art-heading) 55%, var(--art-heading-edge) 100%), var(--theme-art);padding:21px}:root .page-heading>div:first-child{max-width:100%}:root .welcome-panel{min-height:0}:root .welcome-panel>div:first-child{width:100%}:root .welcome-panel:before{left:0}:root .welcome-panel:after{background:linear-gradient(90deg, var(--art-ink-fade) 35%, var(--art-ink-fade) 60%, var(--art-ink) 160%)}}@media (prefers-reduced-motion:reduce){:root .theme-choice{transition:none}:root .theme-choice:hover{transform:none}}:root .home-dashboard .page-heading{gap:14px;min-height:114px;margin-bottom:24px;padding:22px 25px}.home-dashboard .page-heading h1{margin-bottom:0;font-size:clamp(1.6rem,2.2vw,2.1rem)}.home-dashboard .page-heading .eyebrow{margin-bottom:8px}.home-dashboard .date-pill{white-space:nowrap;font-size:.82rem;display:inline-block}.home-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.home-layout>*{min-width:0}.home-day{grid-area:1/1/span 3}.home-shopping{grid-area:1/2}.home-meals{grid-area:2/2}.home-dashboard .panel{padding:22px}.home-section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.home-section-heading h2{align-items:center;gap:8px;margin:0;font-size:1.08rem;display:flex}.home-section-heading h2>svg{color:var(--primary);flex:none}.home-section-link{color:var(--primary);white-space:nowrap;align-items:center;gap:4px;min-height:36px;font-size:.8rem;display:inline-flex}.home-section-link:hover,.home-event-title:hover,.home-meal-recipe:hover strong{text-underline-offset:3px;text-decoration:underline}.home-shopping .quick-add{flex-wrap:nowrap;gap:7px;padding:6px 6px 6px 11px}.home-shopping .quick-add input{flex:1;width:0;font-size:.85rem}.home-shopping .quick-add>svg{display:none}.home-shopping .quick-add .button{flex:none;gap:4px;width:auto;min-height:40px;padding:9px 11px;font-size:.8rem}.home-shopping-hint{margin:10px 0 0;font-size:.75rem}.home-meal-slots{gap:18px;display:grid}.home-meal{flex-direction:column;gap:8px;min-width:0;display:flex}.home-meal+.home-meal{border-top:1px solid var(--border);padding-top:18px}.home-meal-label{color:var(--muted);align-items:center;gap:7px;font-size:.78rem;display:flex}.home-meal strong{overflow-wrap:anywhere;font-size:.98rem;font-weight:600;line-height:1.5}.home-meal-recipe{flex-direction:column;gap:5px;display:flex}.home-meal-recipe>span{color:var(--primary);align-items:center;gap:4px;font-size:.74rem;display:flex}.home-meal-empty{color:var(--muted);align-items:center;gap:5px;min-height:30px;font-size:.88rem;display:flex}.home-day-heading{justify-content:space-between;align-items:center;gap:12px;margin:3px 0 15px;display:flex}.home-day-heading h2{margin:0;font-size:1.35rem}.home-day-heading>span{color:var(--muted);font-size:.76rem}.home-filters{flex-wrap:wrap;gap:7px;display:flex}.home-filters button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);border-radius:30px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;display:inline-flex}.home-filters button[aria-pressed=true]{background:var(--primary);color:var(--on-primary,#fff);border-color:var(--primary);font-weight:600}.home-filters button:hover{box-shadow:0 0 0 2px var(--primary-soft)}.home-filter-summary{margin:13px 0 17px;font-size:.8rem}.home-timeline{margin:0;padding:0;list-style:none}.home-event{border:1px solid #0000;border-radius:12px;grid-template-columns:52px minmax(0,1fr);gap:17px;padding:16px 12px;display:grid;position:relative}.home-event+.home-event{margin-top:7px}.home-event-time{font-variant-numeric:tabular-nums;flex-direction:column;gap:3px;padding-top:2px;display:flex}.home-event-time time{font-size:.88rem;font-weight:700}.home-event-time span{color:var(--muted);font-size:.76rem}.home-event-content{border-left:2px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding-left:17px;display:flex;position:relative}.home-event-content:before{content:"";background:var(--muted);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:-5px}.home-event.is-highlighted{background:var(--primary-soft);border-color:var(--primary)}.is-highlighted .home-event-content{border-color:var(--primary)}.is-highlighted .home-event-content:before{background:var(--primary)}.home-event.is-past .home-event-title{color:var(--muted)}.home-event-badge{color:var(--primary);text-transform:uppercase;letter-spacing:.6px;font-size:.65rem;font-weight:700}.home-event-title{overflow-wrap:anywhere;align-items:baseline;gap:6px;font-size:.96rem;font-weight:600;line-height:1.45;display:inline-flex}.home-event-title svg{color:var(--muted);flex:none}.home-event-location{color:var(--muted);overflow-wrap:anywhere;align-items:baseline;gap:5px;font-size:.76rem;display:flex}.home-event-location svg{flex:none}.home-event-people{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:.72rem;display:flex}.home-avatars{flex-wrap:wrap;gap:4px;display:flex}.home-dashboard .home-avatars .avatar{width:27px;height:27px;font-size:.65rem}.home-event-people>span{overflow-wrap:anywhere}.home-tasks{margin-top:20px}.home-count{background:var(--primary-soft);color:var(--primary);border-radius:20px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:.75rem;display:inline-grid}.home-task-group+.home-task-group{border-top:1px solid var(--border);margin-top:12px;padding-top:15px}.home-task-person{align-items:center;gap:8px;margin-bottom:6px;display:flex}.home-task-person h3{overflow-wrap:anywhere;margin:0;font-size:.83rem}.home-task-person .avatar{width:28px;height:28px;font-size:.7rem}.home-task{cursor:pointer;align-items:flex-start;gap:10px;min-height:42px;padding:10px 0 10px 36px;font-size:.87rem;line-height:1.4;display:flex}.home-task input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:1px 0 0}.home-task span{overflow-wrap:anywhere}.home-task.is-done span{color:var(--muted);text-decoration:line-through}.home-task:has(input:disabled){cursor:default}.home-completed{border-top:1px solid var(--border);margin-top:16px;padding-top:10px}.home-completed-toggle{text-align:left;width:100%;min-height:44px;color:var(--muted);background:0 0;align-items:center;gap:7px;padding:0;font-size:.8rem;display:flex}.home-completed-toggle>svg:last-child{margin-left:auto}.home-completed-toggle[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}#home-completed-tasks{padding-top:10px}.home-empty{margin:2px 0;padding:7px 0;font-size:.88rem}@media (width<=1100px) and (width>=901px){.home-layout{grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr);gap:15px}.home-dashboard .panel{padding:17px}.home-section-heading{flex-wrap:wrap;gap:8px;margin-bottom:12px}.home-event{grid-template-columns:46px minmax(0,1fr);gap:8px;padding:12px 5px}.home-event-content{padding-left:12px}}@media (width<=900px){:root .home-dashboard .page-heading{flex-direction:column;align-items:flex-start;gap:11px;min-height:0;margin-bottom:16px;padding:18px 20px}:root .home-dashboard .page-heading>div:first-child{max-width:100%}.home-dashboard .date-pill{box-shadow:none;background:0 0;padding:0;font-size:.78rem}.home-layout{flex-direction:column;gap:16px;display:flex}.home-layout>*{width:100%}.home-dashboard .panel{padding:17px}.home-section-heading{gap:8px;margin-bottom:12px}.home-section-heading h2{gap:7px;font-size:1rem}.home-section-link{font-size:.75rem}.home-shopping-hint{display:none}.home-meal-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-meal+.home-meal{border-top:0;border-left:1px solid var(--border);padding-top:0;padding-left:14px}.home-meal strong{font-size:.88rem}.home-day-heading{margin-top:8px}.home-day-heading>span{display:none}.home-filters{gap:6px}.home-filters button{min-height:40px;padding:8px 11px;font-size:.77rem}.home-filter-summary{margin:11px 0 14px;font-size:.74rem}.home-event{grid-template-columns:43px minmax(0,1fr);gap:8px;padding:13px 7px}.home-event-content{padding-left:12px}.home-event-title{font-size:.88rem}.home-event-badge{font-size:.59rem}.home-tasks{margin-top:16px}}@media (width<=360px){.home-dashboard .panel{padding:13px}.home-section-heading{flex-wrap:wrap}.home-event{padding:10px 4px}}.notification-bell{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-bell-count{color:#fff;text-align:center;background:#ac3849;border-radius:12px;min-width:18px;padding:1px 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-3px;right:-4px}.notification-settings h2{align-items:center;gap:10px;display:flex}.notification-device{background:var(--primary-soft);border-radius:14px;align-items:flex-start;gap:14px;margin:20px 0;padding:20px;display:flex}.notification-device>svg{color:var(--primary);flex-shrink:0}.notification-device>div{min-width:0}.notification-device h3{margin-bottom:6px}.notification-device p{margin-bottom:12px;font-size:13px}.notification-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notification-toggle{cursor:pointer;align-items:flex-start;gap:12px;margin:24px 0 16px;display:flex}.notification-toggle input{width:19px;height:19px;accent-color:var(--primary);flex-shrink:0;margin:2px 0 0}.notification-toggle span{flex-direction:column;gap:5px;display:flex}.notification-toggle small{color:var(--muted);line-height:1.5}.notification-settings .field{max-width:420px}.notification-info{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 14px}.notification-device-counts{flex-wrap:wrap;gap:20px;margin:24px 0;display:flex}.notification-device-counts>span{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.notification-device-counts strong{color:var(--text)}.notification-inbox .section-heading{flex-wrap:wrap;gap:16px}.notification-list{display:grid}.notification-row{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:0 0;align-items:center;gap:16px;padding:20px 14px;display:flex}.notification-row.unread{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.notification-row.unread{background:color-mix(in srgb, var(--primary-soft) 60%, var(--surface))}}.notification-row.unread{border-radius:12px}.notification-row:hover{background:var(--primary-soft)}.notification-kind{background:var(--surface);width:42px;height:42px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notification-copy{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.notification-copy>span:not(.notification-row-title){color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.notification-row-title{overflow-wrap:anywhere;align-items:center;gap:10px;display:flex}.notification-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:7px;height:7px}.notification-copy time{color:var(--muted);font-size:11px}.notification-row>svg{color:var(--muted);flex-shrink:0}@media (width<=600px){.notification-settings .section-heading{flex-wrap:wrap;gap:10px}.notification-device{gap:10px;padding:15px}.notification-row{gap:10px;padding:16px 8px}.notification-kind{width:32px;height:32px}.notification-actions .button{white-space:normal}}.home-chat{grid-area:3/2}.home-chat-preview{gap:10px;margin-bottom:16px;display:flex}.home-chat-preview>div{min-width:0}.home-chat-preview strong{font-size:.82rem}.home-chat-preview p{color:var(--text);-webkit-line-clamp:3;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-box-orient:vertical;margin:5px 0 0;font-size:.9rem;display:-webkit-box;overflow:hidden}.home-chat .home-empty{margin-bottom:14px}.chat-page{max-width:1120px;margin:0 auto}:root .chat-page .page-heading{min-height:0;margin-bottom:18px;padding:18px 24px}.chat-panel{flex-direction:column;height:calc(100dvh - 294px);min-height:420px;display:flex;position:relative;overflow:hidden;padding:0!important}.chat-heading{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:18px 24px;display:flex}.chat-heading>span{align-items:center;gap:10px;display:flex}.chat-heading svg{color:var(--primary)}.chat-heading small{color:var(--muted);margin-left:auto;font-size:.75rem}.chat-history{overscroll-behavior:contain;background:var(--primary-soft);flex:1;min-height:120px;padding:12px 24px 22px;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.chat-history{background:color-mix(in srgb, var(--primary-soft) 28%, var(--surface))}}.chat-history{scrollbar-gutter:stable;overflow-anchor:none}.chat-older{margin:8px auto 20px;display:flex}.chat-empty{text-align:center;min-height:210px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px 12px;display:flex}.chat-empty>svg{color:var(--primary)}.chat-empty h2{color:var(--text);margin:0;font-size:1.2rem}.chat-empty p{margin:0;font-size:.9rem;line-height:1.8}.chat-date{text-align:center;color:var(--muted);margin:20px 0;font-size:.72rem}.chat-message{align-items:flex-start;gap:10px;margin:14px 0;display:flex}.chat-message.mine{flex-direction:row-reverse}.chat-message>.avatar{flex-shrink:0;margin-top:5px}.chat-bubble{background:var(--surface);border:1px solid var(--border);border-radius:4px 18px 18px;min-width:0;max-width:min(82%,680px);padding:13px 16px 3px}.mine .chat-bubble{background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mine .chat-bubble{border-color:color-mix(in srgb, var(--primary) 20%, var(--border))}}.mine .chat-bubble{border-radius:18px 4px 18px 18px}.chat-byline{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.chat-byline strong{color:var(--primary);font-size:.78rem}.chat-byline time{color:var(--muted);margin-left:auto;font-size:.67rem}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);margin:8px 0 2px;font-size:.94rem;line-height:1.6}.deleted .chat-text{color:var(--muted);margin-bottom:10px;font-size:.83rem;font-style:italic}.chat-quote{border-left:3px solid var(--primary);background:var(--surface);border-radius:3px 8px 8px 3px;margin:10px 0 8px;padding:9px 12px}@supports (color:color-mix(in lab, red, red)){.chat-quote{background:color-mix(in srgb, var(--surface) 65%, transparent)}}.chat-quote strong{color:var(--primary);font-size:.72rem;display:block}.chat-quote span{-webkit-line-clamp:3;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);-webkit-box-orient:vertical;margin-top:4px;font-size:.8rem;display:-webkit-box;overflow:hidden}.chat-message-actions{flex-wrap:wrap;gap:0 12px;display:flex}.chat-message-actions button{color:var(--muted);background:0 0;align-items:center;gap:5px;min-height:38px;padding:0;font-size:.68rem;display:inline-flex}.chat-message-actions button:hover{color:var(--primary)}.chat-message-actions button:disabled{opacity:.5}.chat-compose{border-top:1px solid var(--border);flex-shrink:0;padding:18px 24px 12px}.chat-compose textarea{resize:vertical;width:100%;min-height:90px;max-height:240px;font-size:1rem;line-height:1.5}.chat-compose textarea:read-only{opacity:.7}.chat-compose-footer{align-items:center;gap:14px;margin-top:10px;display:flex}.chat-emojis{gap:1px;display:flex}.chat-emojis button{background:0 0;border-radius:8px;width:36px;height:40px;font-size:1.15rem}.chat-emojis button:hover{background:var(--primary-soft)}.chat-emojis button:disabled{opacity:.4}.chat-length{color:var(--muted);margin-left:auto;font-size:.7rem}.chat-draft-status{min-height:20px;color:var(--muted);align-items:center;gap:5px;margin:10px 0 0;font-size:.71rem;display:flex}.chat-replying{color:var(--primary);background:var(--primary-soft);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:5px 10px;font-size:.8rem;display:flex}.chat-replying .icon-button{margin-left:auto}.chat-alert{background:var(--primary-soft);padding:12px 24px;font-size:.82rem}.chat-alert button{color:var(--primary);background:0 0;margin-left:8px;text-decoration:underline}.chat-bottom{background:var(--primary);color:#fff;border-radius:20px;align-items:center;gap:7px;margin:-46px auto 10px;padding:10px 14px;font-size:.75rem;display:flex;position:relative;box-shadow:0 2px 8px #0002}@media (width<=900px){.home-chat{order:4;grid-area:auto}}@media (width<=600px){:root .chat-page .page-heading{margin-bottom:14px;padding:16px}.chat-heading{padding:14px}.chat-history{min-height:120px;padding:8px 10px 16px}.chat-panel{height:calc(100dvh - 282px)}.chat-message{gap:6px}.chat-bubble{max-width:calc(100% - 36px);padding:11px 12px 2px}.chat-compose{padding:12px}.chat-compose-footer{flex-wrap:wrap;gap:8px}.chat-emojis button{width:32px}.chat-compose-footer .button{padding:10px 12px}.chat-message-actions button{min-height:44px}.chat-draft-status{font-size:.68rem}}.inventory-toolbar{margin-bottom:12px}.product-thumbnail{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);border:1px solid var(--border);border-radius:12px;flex:0 0 56px;justify-content:center;align-items:center;padding:0;display:inline-flex;overflow:hidden}.product-thumbnail img,img.product-thumbnail{object-fit:contain;background:#fff;width:56px;height:56px}.product-photo-large{object-fit:contain;border-radius:12px;width:min(100%,320px);max-height:55vh;margin:12px auto;display:block}.inventory-product{align-items:flex-start;gap:12px;min-width:0;margin-bottom:15px;display:flex}.inventory-product>div{min-width:0}.inventory-product h3{overflow-wrap:anywhere}.inventory-product p{margin-bottom:5px!important}.product-category{color:var(--muted);font-size:.74rem;line-height:1.4;display:block}.inventory-card-top{justify-content:flex-end}.inventory-list .inventory-product{margin:0}.product-photo-editor{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.product-photo-buttons{flex-wrap:wrap;flex:1;gap:7px;display:flex}.product-photo-buttons .button{padding:8px 10px;font-size:.78rem}.photo-label-reading{background:var(--primary-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:12px;font-size:.85rem;display:flex}.photo-label-reading>span{overflow-wrap:anywhere;flex:1;min-width:120px}.photo-label-reading .button{font-size:.8rem}.product-crop-stage{border-radius:8px;width:fit-content;max-width:100%;margin:auto;line-height:0;position:relative;overflow:hidden}.product-crop-stage img{object-fit:contain;max-width:100%;max-height:35vh;display:block}.product-crop-stage>span{pointer-events:none;border:3px solid #fff;outline:2px solid #137c69;position:absolute;box-shadow:0 0 0 1500px #0007}.product-crop-controls{grid-template-columns:1fr 1fr;gap:0 16px;margin-top:16px;display:grid}.product-crop-controls input{min-height:40px;padding:0}.product-crop-preview{object-fit:contain;border:1px solid var(--border);border-radius:8px;width:72px;height:72px;margin:auto;display:block}.shopping-category-group>h3{color:var(--primary);background:var(--primary-soft);border-radius:8px;justify-content:space-between;gap:12px;margin:20px 0 0;padding:12px 8px;font-size:.9rem;display:flex}.shopping-category-group>h3 span{white-space:nowrap;font-size:.75rem;font-weight:400}.shopping-category-select{border:1px solid var(--border);max-width:175px;min-height:38px;color:var(--muted);background:var(--surface);border-radius:8px;padding:6px;font-size:.75rem}.shopping-row>.product-thumbnail{margin-right:12px}.cart-mode .shopping-category-select{display:none}@media (width<=600px){.inventory-grid .inventory-product{flex-direction:column}.inventory-list .product-thumbnail{flex-basis:40px;width:40px;height:40px}.inventory-list .product-thumbnail img{width:40px;height:40px}.inventory-list .inventory-product{gap:8px}.shopping-row{flex-wrap:wrap}.shopping-row .shopping-check{flex:1;min-width:0}.shopping-row>.product-thumbnail{flex-basis:42px;width:42px;height:42px;margin-right:8px}.shopping-category-select{order:5;max-width:calc(100% - 90px);margin:0 40px 8px 50px}}.inventory-viewbar{flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 20px;display:flex}.inventory-viewbar>p{color:var(--muted);margin:0 auto 0 0;font-size:.85rem}.inventory-sort{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.inventory-sort select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;max-width:240px;padding:10px}.inventory-view-toggle{width:auto}.inventory-check-help{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:12px;margin:0 0 18px;padding:14px 18px;font-size:.9rem}.inventory-product p{color:var(--muted);margin:0 0 17px;font-size:.85rem}.inventory-date-cell{min-width:0;margin-top:15px}.inventory-dates{color:var(--muted);font-size:.8rem}.inventory-dates summary{cursor:pointer;min-height:36px;line-height:1.6}.inventory-dates summary>span{display:inline}.inventory-dates .inventory-due{color:#825713;background:#fff2d4;border-radius:5px;margin-left:6px;padding:0 6px;font-size:.72rem;display:inline-block}.inventory-dates dl{gap:7px;margin:8px 0 12px;display:grid}.inventory-dates dl>div{flex-wrap:wrap;justify-content:space-between;gap:5px 12px;display:flex}.inventory-dates dd{color:var(--text);margin:0}.inventory-verify{color:var(--primary);background:var(--primary-soft);border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:8px 10px;font-size:.8rem;display:inline-flex}.inventory-verify.due{color:#825713;background:#fff2d4}.inventory-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:0;display:grid}.inventory-list-heading,.inventory-list .inventory-card{grid-template-columns:36px minmax(120px,1.3fr) 135px minmax(180px,1fr) 150px;align-items:center;gap:16px;padding:16px 20px;display:grid}.inventory-list-heading{color:var(--muted);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600}.inventory-list .inventory-card{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0}.inventory-list .inventory-card:last-child{border-bottom:0}.inventory-list .inventory-card-top,.inventory-list .inventory-product p,.inventory-list .inventory-date-cell{margin:0}.inventory-list .product-icon{display:none}.inventory-list .inventory-card h3{font-size:.95rem}.inventory-list .inventory-actions{border:0;margin:0;padding:0}.inventory-list .inventory-actions .button{gap:5px;font-size:.8rem}@media (width<=1250px){.inventory-list-heading{display:none}.inventory-list .inventory-card{grid-template-columns:36px minmax(140px,1fr) 140px;gap:10px 14px}.inventory-list .inventory-date-cell{grid-column:2}.inventory-list .inventory-actions{grid-column:3}}@media (width<=600px){.inventory-viewbar{gap:10px}.inventory-viewbar>p{flex:1}.inventory-sort{order:3;width:100%}.inventory-sort select{flex:1;min-width:0;max-width:none}.inventory-list .inventory-card{grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding:14px 12px}.inventory-list .inventory-card-top .icon-button{min-width:28px;padding:4px}.inventory-list .inventory-date-cell{display:contents}.inventory-list .inventory-dates{grid-column:2/-1}.inventory-list .inventory-actions{grid-column:3;justify-content:flex-end;gap:8px}.inventory-list .inventory-verify{grid-column:2;justify-self:start}.inventory-list .inventory-actions .button{min-height:38px;font-size:.82rem}.inventory-list .inventory-actions .icon-button{min-width:38px}.inventory-grid .inventory-verify{padding:7px;font-size:.72rem}}:root{color:#263b42;font-synthesis:none;--primary:#176b5b;--primary-soft:#e4f2ee;--background:#f5f7f9;--surface:#fff;--text:#263b42;--muted:#687d85;--border:#e4e9ed;--radius:18px;background:#f5f7f9;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #71a99c}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.3px;margin-bottom:10px;font-size:clamp(1.8rem,2.4vw,2.6rem);font-weight:650;line-height:1.2}h2{letter-spacing:-.35px;font-size:1.25rem;font-weight:650}h3{font-size:1rem;font-weight:650}p{color:var(--muted);line-height:1.6}button{border:0}input,select,textarea{color:var(--text)}.app-shell{min-height:100dvh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:20;flex-direction:column;width:230px;padding:32px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.4px;align-items:center;gap:9px;margin:0 10px 45px;font-size:2rem;font-weight:750;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:39px;height:39px;display:grid}.brand-dot{color:var(--primary);margin-left:-9px}.space-label{letter-spacing:1.8px;color:var(--muted);margin:0 14px 16px;font-size:.7rem;font-weight:700}.nav-item{width:100%;color:var(--muted);text-align:left;background:0 0;border-radius:11px;align-items:center;gap:13px;min-height:46px;margin-bottom:5px;padding:13px 15px;font-size:.925rem;font-weight:550;display:flex}.nav-item.active{background:var(--primary-soft);color:var(--primary)}.nav-item:hover{background:var(--background)}.sidebar-bottom{color:var(--muted);align-items:center;gap:8px;margin-top:auto;padding:20px 10px 0;font-size:.8rem;display:flex}.connection-dot{background:#238367;border-radius:50%;width:7px;height:7px}.main{width:calc(100% - 230px);margin-left:230px}.topbar{border-bottom:1px solid var(--border);background:var(--surface);height:82px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 40px;font-size:.9rem;display:flex}.family-mini{display:flex}.avatar{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:.9rem;font-weight:650;display:inline-flex;overflow:hidden}.family-mini .avatar{border:3px solid var(--surface);width:32px;height:32px;margin-left:-5px;font-size:.7rem}.person-0{color:#315789;background:#e0eaf8}.person-1{color:#95435c;background:#f5e1e7}.person-2{color:#7750a2;background:#eee4f9}.person-3{color:#9a601e;background:#fceacf}.person-4{color:#277b5c;background:#dcefe8}.person-5{color:#4e5b6c;background:#e6e9ed}.page{max-width:1600px;margin:auto;padding:38px 40px 55px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--primary);margin-bottom:12px;font-size:.72rem;font-weight:700}.accent{color:var(--primary)}.page-heading p{margin-bottom:0;font-size:.94rem}.date-pill{white-space:nowrap;border:1px solid var(--border);background:var(--surface);text-transform:capitalize;border-radius:30px;padding:11px 16px;font-size:.825rem}.welcome-panel{border-radius:var(--radius);background:var(--primary);color:#fff;justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px;padding:28px 32px;display:flex}.welcome-panel h2{letter-spacing:-.5px;margin:14px 0 9px;font-size:1.7rem}.welcome-panel p{color:#dfede9;max-width:490px;margin-bottom:0;font-size:.94rem}.badge{letter-spacing:1.5px;background:#ffffff18;border-radius:6px;padding:7px 11px;font-size:.67rem;font-weight:650;display:inline-block}.welcome-stat{text-align:center;border-left:1px solid #ffffff35;padding:0 28px}.welcome-stat span{font-size:3.5rem;line-height:1.2;display:block}.welcome-stat small{color:#dfede9;font-size:.8rem}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.section-heading h2{margin:0}.section-heading>span{color:var(--muted);font-size:.85rem}.family-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.family-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:20px 17px}.person-heading{align-items:center;gap:10px;margin-bottom:22px;display:flex}.person-heading h3{margin:0}.quiet-line{color:var(--muted);align-items:center;gap:8px;margin:16px 0;font-size:.85rem;display:flex}.card-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:6px;margin-top:22px;padding-top:16px;font-size:.75rem;display:flex}.dashboard-bottom{grid-template-columns:1.45fr 1fr;gap:22px;margin-top:25px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:25px}.quick-add{background:var(--background);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:7px 7px 7px 15px;display:flex}.quick-add input{background:0 0;border:0;outline:none;width:100%;min-width:0;padding:8px 0;font-size:.92rem}.quick-add>svg{color:var(--muted);flex:none}.button{background:var(--background);min-height:42px;color:var(--text);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.button.primary{background:var(--primary);color:#fff}@media (width>=1700px){.page{padding-top:48px}}@media (width<=1200px){.sidebar{width:205px}.main{width:calc(100% - 205px);margin-left:205px}.page{padding:28px 25px}.topbar{padding:0 25px}.family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.date-pill{display:none}}@media (width<=760px){.sidebar{width:76px;padding:24px 10px}.brand{gap:0;margin:0 auto 32px;font-size:0}.brand-dot,.space-label,.sidebar-bottom{display:none}.nav-item{justify-content:center;gap:0;padding:13px;font-size:0}.nav-item svg{width:23px;height:23px}.main{width:calc(100% - 76px);margin-left:76px}.page{padding:24px 18px}.topbar{height:65px;padding:0 18px}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:1fr}.welcome-panel{padding:23px}.welcome-stat{display:none}.welcome-panel h2{font-size:1.4rem}.page-heading{align-items:flex-start}}@media (width<=480px){.family-grid{grid-template-columns:1fr}.page{padding:20px 14px}.panel{padding:18px}.quick-add{flex-wrap:wrap}.quick-add input{width:calc(100% - 38px)}.quick-add .button{width:100%}.eyebrow{font-size:.67rem}h1{font-size:1.75rem}}fieldset.readonly-fields{border:0;min-width:0;margin:0;padding:0}fieldset.readonly-fields:disabled :is(input,select,textarea){opacity:1;color:inherit;-webkit-text-fill-color:currentColor}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
