.mkt-page{min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.mkt-page :-webkit-any(h1,h2,h3,p,ol,ul,dl,dd,dt,figure){margin:0}.mkt-page :is(h1,h2,h3,p,ol,ul,dl,dd,dt,figure){margin:0}.mkt-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mkt-header{z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);backdrop-filter:blur(8px);align-items:center;gap:24px;padding:12px 24px;display:flex;position:sticky;top:0}.mkt-brand{color:var(--ink);align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.mkt-brand svg{color:var(--green)}.mkt-nav{gap:16px;margin-right:auto;display:flex}.mkt-nav a{color:var(--muted);border-bottom:2px solid #0000;font-size:15px;font-weight:600;text-decoration:none}.mkt-nav a:hover,.mkt-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--green)}.mkt-button{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--panel);min-height:44px;color:var(--ink);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.mkt-button:hover{border-color:var(--green)}.mkt-button-primary{border-color:var(--green);background:var(--green);color:#fff}.mkt-button-primary:hover{filter:brightness(1.08)}.mkt-main{flex-direction:column;flex:1;gap:48px;width:min(1180px,100%);margin:0 auto;padding:28px 20px 56px;display:flex}.mkt-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--green);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.mkt-lead{max-width:62ch;color:var(--muted);font-size:17px;line-height:1.6}.mkt-page h1{letter-spacing:-.01em;font-size:40px;font-weight:800;line-height:1.15}.mkt-page h2{font-size:26px;font-weight:700}.mkt-page h3{font-size:17px;font-weight:700}.mkt-section{flex-direction:column;gap:16px;display:flex}.mkt-section-head{flex-direction:column;gap:6px;display:flex}.mkt-section-head p{max-width:62ch;color:var(--muted)}.mkt-page-head{flex-direction:column;gap:12px;display:flex}.mkt-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.mkt-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:40px;display:grid}.mkt-hero-text{flex-direction:column;gap:14px;display:flex}.mkt-shot{flex-direction:column;gap:10px;min-width:0;display:flex}.mkt-shot img{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);width:100%;height:auto;box-shadow:var(--shadow);display:block}.mkt-shot figcaption{color:var(--muted);font-size:14px;line-height:1.5}.mkt-shot-phone img{width:min(280px,100%)}.mkt-shot-strip{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:20px;display:grid}.mkt-pillars{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.mkt-pillar{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);flex-direction:column;gap:6px;padding:14px;display:flex}.mkt-pillar p{color:var(--muted);font-size:15px;line-height:1.55}.mkt-groups{flex-direction:column;gap:24px;display:flex}.mkt-group{flex-direction:column;gap:12px;display:flex}.mkt-group-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.mkt-group-head p{color:var(--muted);font-size:14px}.mkt-module-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.mkt-module-card{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);min-height:0;color:var(--ink);flex-direction:column;align-items:flex-start;gap:6px;padding:14px;text-decoration:none;display:flex}.mkt-module-card:hover{border-color:var(--green);background:var(--tint-green-soft)}.mkt-module-card-mark{border-radius:var(--radius-control);background:var(--tint-green-bg-strong);width:34px;height:34px;color:var(--green);justify-content:center;align-items:center;display:inline-flex}.mkt-module-card-name{font-size:16px;font-weight:700}.mkt-module-card-text{color:var(--muted);font-size:14px;line-height:1.5}.mkt-band{border:1px solid var(--tint-green-border);border-radius:var(--radius-control);background:var(--tint-green-bg);padding:24px}.mkt-band-inner{flex-direction:column;gap:12px;max-width:68ch;display:flex}.mkt-band-inner p{color:var(--tint-green-text);line-height:1.6}.mkt-split{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;display:grid}.mkt-split>div{flex-direction:column;gap:16px;display:flex}.mkt-note{color:var(--muted);font-size:14px}.mkt-definitions{flex-direction:column;gap:14px;display:flex}.mkt-definitions dt{align-items:center;gap:8px;font-weight:700;display:flex}.mkt-definitions dt svg{color:var(--green)}.mkt-definitions dd{color:var(--muted);margin-left:24px;font-size:15px;line-height:1.55}.mkt-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:-40px;font-size:14px;display:flex}.mkt-breadcrumb a{color:var(--muted);text-decoration:none}.mkt-breadcrumb a:hover{color:var(--ink);text-decoration:underline}.mkt-pager{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding-top:24px;display:flex}.mkt-pager-link{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);min-height:0;color:var(--ink);align-items:center;gap:10px;padding:12px 16px;font-weight:600;text-decoration:none;display:flex}.mkt-pager-link:hover{border-color:var(--green)}.mkt-pager-link span{flex-direction:column;display:flex}.mkt-pager-next{text-align:right}.mkt-pager-next span{align-items:flex-end}.mkt-pager-link small{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px;font-weight:600}.mkt-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px;font-size:14px;display:flex}.mkt-footer nav{gap:18px;display:flex}.mkt-footer a{color:var(--muted);text-decoration:none}.mkt-footer a:hover{color:var(--ink);text-decoration:underline}@media (max-width:900px){.mkt-hero{grid-template-columns:minmax(0,1fr);gap:28px}.mkt-page h1{font-size:30px}.mkt-page h2{font-size:22px}.mkt-main{gap:36px;padding:20px 14px 44px}.mkt-band{padding:18px}}@media (max-width:620px){.mkt-header{flex-wrap:wrap;gap:12px;padding:12px 16px}.mkt-nav{order:3;width:100%;margin-right:0}.mkt-breadcrumb{margin-bottom:-28px}.mkt-pager{flex-direction:column}}.trip-item-capture{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;gap:10px;margin:0 11px 11px;padding:12px;display:grid}.trip-item-capture-head{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-weight:800;display:flex}.trip-item-capture-head span{align-items:center;gap:6px;display:inline-flex}.trip-item-capture-frame{background:#111827;border-radius:8px;width:100%;position:relative;overflow:hidden}.trip-item-capture-video{object-fit:cover;border-radius:8px;width:100%;max-width:100%;max-height:260px;display:block}.trip-item-capture-scan-line{background:#ffffffd1;height:2px;position:absolute;top:50%;left:12%;right:12%;box-shadow:0 0 0 1px #246f978c}.trip-item-capture-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--page);--ink:#17242d;--muted:#5f7079;--muted-green:#799089;--line:#d4dfe4;--line-strong:#a8bdc7;--panel:#fff;--panel-2:#fbfcfd;--panel-3:#eef3f5;--track:#e2ecef;--page:#f4f7f8;--nav:#123447;--nav-ink:#123447;--green:#247358;--coral:#c86752;--gold:#bd8f22;--gold-bright:#d99a2b;--blue:#246f97;--danger:#b9423f;--purple:#6554a4;--google-blue:#1a73e8;--navy-chip:#143d59;--slate-surface:#21485d;--media-surface:#17242d;--code-surface:#10202a;--focus-ring:#246f9759;--focus-border:#246f9773;--focus-glow:#246f9724;--tint-green-bg:#f4fbf5;--tint-green-bg-strong:#edf7ef;--tint-green-soft:#f8fbfa;--tint-green-border:#b9dfc4;--tint-green-border-soft:#d8e7df;--tint-green-text:#24563f;--tint-blue-bg:#eef6f8;--tint-blue-border:#c5dce4;--tint-blue-text:#1b5f79;--tint-gold-soft:#fffaf0;--tint-gold-bg:#fff9e7;--tint-gold-bg-strong:#fff7df;--tint-gold-border:#ead8a5;--tint-gold-border-strong:#e4c773;--tint-gold-text:#7a5514;--tint-coral-bg:#fff7f5;--tint-coral-bg-strong:#fff0ed;--tint-coral-border:#efc3bc;--tint-coral-text:#9f4131;--tint-neutral-bg:#f1f4f5;--tint-neutral-border:#d7e0e3;--selection-fill:#dbeafe;--selection-stroke:#1f5fbf;--shadow:0 18px 45px #2334401f;--radius-control:6px;--radius-pill:6px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#dfe8ed;--muted:#93a6b0;--muted-green:#8aa199;--line:#2b3d49;--line-strong:#3d5260;--panel:#16222b;--panel-2:#1a2731;--panel-3:#1e2c34;--track:#24333d;--page:#0f171d;--nav:#1b4258;--nav-ink:#b8d3e2;--green:#3d9b78;--coral:#d98871;--gold:#d4a83d;--gold-bright:#e0a83f;--blue:#4d9fca;--danger:#e0716a;--purple:#a795dd;--google-blue:#8ab4f8;--navy-chip:#2a5878;--slate-surface:#1e3d4f;--media-surface:#0b1116;--code-surface:#0b161d;--focus-ring:#6db4d68c;--focus-border:#6db4d699;--focus-glow:#6db4d647;--tint-green-bg:#142a24;--tint-green-bg-strong:#17302a;--tint-green-soft:#172621;--tint-green-border:#2f5544;--tint-green-border-soft:#274038;--tint-green-text:#9ccfb2;--tint-blue-bg:#17303e;--tint-blue-border:#2f4d5f;--tint-blue-text:#7fc4de;--tint-gold-soft:#231f16;--tint-gold-bg:#322913;--tint-gold-bg-strong:#3a2f14;--tint-gold-border:#55451f;--tint-gold-border-strong:#8a6d24;--tint-gold-text:#e8c576;--tint-coral-bg:#311e1a;--tint-coral-bg-strong:#3a201c;--tint-coral-border:#5f342c;--tint-coral-text:#ec9d85;--tint-neutral-bg:#212f36;--tint-neutral-border:#33424b;--selection-fill:#1c3350;--selection-stroke:#6b9fe8;--shadow:0 18px 45px #00000080}[data-theme=dark] body{background:linear-gradient(#11181ee0,#0d1318ed),repeating-linear-gradient(90deg,#ffffff0a 0 1px,#0000 1px 80px)}[data-theme=dark] .app-header{background:#111a21eb;border-bottom-color:#ffffff14}[data-theme=dark] .side-nav{background:#152028fa}[data-theme=dark] .trip-total{background:linear-gradient(180deg, #16222bf5, var(--panel))}[data-theme=dark] .floor-canvas-controls .icon-button{background:#1e262deb}[data-theme=dark] .floor-plan-canvas-wrap{background:#14201d}[data-theme=dark] .floor-plan-background{fill:#1d2126;stroke:#3a4741}[data-theme=dark] .floor-room-rect{fill:#182d26}[data-theme=dark] .floor-layout-asset{fill:#1c2830;stroke:#8199ad}[data-theme=dark] .floor-import-background{opacity:.4;filter:invert()hue-rotate(180deg)}[data-theme=dark] .floor-import-room{fill:#1c2b23;stroke:#d6e8de40}[data-theme=dark] .floor-import-wall{stroke:#cfd8d3}[data-theme=dark] .floor-zone-rect{stroke:#d9a836}[data-theme=dark] .floor-import-opening.door{fill:#33261c;stroke:#c98a58}[data-theme=dark] .floor-import-opening.window{fill:#16303f;stroke:#5ea3d4}[data-theme=dark] .floor-import-fixture{stroke:#8ba573}[data-theme=dark] .floor-import-room-label,[data-theme=dark] .floor-import-fixture-label,[data-theme=dark] .floor-import-dimension-label{stroke:#14201de6}*{box-sizing:border-box}:where(main,header,nav,section,article,aside,div,form,label,span){min-width:0}body{background:linear-gradient(#ffffffdb,#f4f7f8eb),repeating-linear-gradient(90deg,#1234470a 0 1px,#0000 1px 80px);min-width:320px;max-width:100%;min-height:100vh;margin:0;overflow-x:clip}html,#root{width:100%;max-width:100%;overflow-x:clip}button,input,select,textarea{font:inherit}button,a{min-height:38px}button{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}button:hover,a:hover{border-color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--nav-ink);align-items:center;display:inline-flex}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--ink);width:100%;min-height:40px;padding:10px 11px}input[type=file]::-webkit-file-upload-button{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);cursor:pointer;border-radius:6px;margin-right:10px;padding:7px 10px}input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);cursor:pointer;border-radius:6px;margin-right:10px;padding:7px 10px}textarea{resize:vertical;min-height:110px}label{color:var(--muted);gap:6px;font-size:.88rem;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,p{margin:0}h1{font-size:1.9rem;line-height:1.15}h2{margin-bottom:14px;font-size:1rem}h3{margin:16px 0 10px;font-size:.92rem}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:var(--panel);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:8px;gap:20px;padding:24px;display:grid}.auth-panel-loading{place-items:center;width:min(260px,100%);min-height:128px}.auth-loading-mark{color:var(--nav-ink);align-items:center;gap:14px;display:flex}.google-auth-button{background:var(--panel);border:1px solid color-mix(in srgb, var(--nav) 18%, var(--line));width:100%;min-height:48px;color:var(--ink);justify-content:center;align-items:center;gap:10px;font-weight:850;display:inline-flex}.google-auth-button:disabled{opacity:.58}.google-auth-mark{background:var(--panel);border:1px solid var(--line);width:24px;height:24px;color:var(--google-blue);border-radius:50%;place-items:center;font-family:Arial,sans-serif;font-size:1rem;font-weight:900;line-height:1;display:inline-grid}.auth-divider{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-size:.84rem;font-weight:800;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);height:1px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{grid-template-columns:252px minmax(0,1fr);min-width:0;max-width:100%;min-height:100vh;display:grid}.app-shell.nav-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-main{min-width:0;max-width:100%}.app-header{z-index:40;backdrop-filter:blur(18px);background:#f4f7f8f0;border-bottom:1px solid #1234471f;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:74px;padding:12px 28px;display:grid;position:sticky;top:0;box-shadow:0 10px 28px #2334401a}.header-main{align-items:center;gap:12px;min-width:0;display:flex}.brand{color:var(--nav-ink);white-space:nowrap;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:flex}.brand svg{color:var(--blue);flex:none}.menu-toggle{background:var(--nav);border-color:var(--nav);color:#fff;flex:none;display:none}.current-page{gap:1px;min-width:0;display:grid}.current-page h1{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.38rem;line-height:1.12;overflow:hidden}.nav-backdrop{z-index:55;cursor:default;background:#17242d52;border:0;border-radius:0;min-height:0;padding:0;position:fixed;inset:0}.side-nav{z-index:45;background:var(--panel);border-right:1px solid var(--line);flex-direction:column;min-width:0;height:100dvh;display:flex;position:sticky;top:0}.side-nav-head{align-items:center;gap:8px;padding:16px 12px 12px 18px;display:flex}.side-nav-head .brand{flex:1;min-width:0;font-size:1.05rem}.side-nav-head .brand span{text-overflow:ellipsis;overflow:hidden}.nav-collapse-toggle,.nav-close{flex:none;width:34px;min-width:34px;height:34px}.nav-close{display:none}.page-groups{scrollbar-width:thin;flex:1;align-content:start;gap:16px;min-height:0;padding:4px 10px 18px;display:grid;overflow-y:auto}.page-group{gap:2px;display:grid}.nav-group-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px;padding:0 8px;font-size:.7rem;font-weight:800}.nav-item{min-height:37px;color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:7px 8px 7px 10px;font-size:.88rem;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-item svg{color:var(--muted);flex:none}.nav-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-item:hover{background:var(--panel-3)}.nav-item.active{background:var(--tint-blue-bg);color:var(--tint-blue-text)}.nav-item.active:before{content:"";background:var(--blue);border-radius:999px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav-item.active svg{color:var(--blue)}@media (min-width:981px){.nav-collapsed .side-nav-head{flex-direction:column;align-items:center;gap:10px;padding:16px 8px 10px}.nav-collapsed .side-nav .brand span,.nav-collapsed .side-nav .nav-item span,.nav-collapsed .side-nav .nav-group-label{display:none}.nav-collapsed .side-nav-head .brand{flex:none}.nav-collapsed .page-groups{gap:8px;padding:4px 8px 18px}.nav-collapsed .page-group{border-top:1px solid var(--line);padding-top:8px}.nav-collapsed .page-group:first-child{border-top:0;padding-top:0}.nav-collapsed .nav-item{justify-content:center;padding:9px 0}}.workspace{min-width:0;max-width:100%;padding:24px 28px 28px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.top-actions,.button-row,.scanner-actions,.settings-list{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-field{max-width:320px}.household-switcher select{border:1px solid var(--line);background:var(--panel);max-width:220px;min-height:42px;color:var(--ink);border-radius:8px;font-weight:700}.settings-list input[type=checkbox]{width:auto;min-height:0}.settings-permission-list{gap:10px;display:grid}.settings-permission-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1fr) auto auto auto;align-items:center;gap:10px;padding-bottom:10px;display:grid}.settings-permission-row label{align-items:center;gap:6px;margin:0;display:inline-flex}.settings-permission-row input[type=checkbox]{width:auto;min-height:0}.settings-permission-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;display:block}.invitation-form,.signup-code-form{align-items:end}.invitation-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.invitation-form>.settings-list{grid-column:1/-1}.signup-code-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.signup-code-form .primary,.signup-code-revoke{min-height:44px}.settings-token-row{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.settings-token-row code{overflow-wrap:anywhere;max-width:100%}.settings-token-list{flex-direction:column;gap:2px;display:flex}.settings-token-list>.settings-token-row+.settings-token-row{border-top:1px solid var(--border,#94a3b833)}.settings-page{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:16px;min-width:0;max-width:100%;display:grid}.settings-nav{gap:6px;display:grid;position:sticky;top:90px}.settings-nav button{background:var(--panel);justify-content:flex-start;align-items:center;gap:10px;min-width:0;min-height:44px;font-weight:700;display:flex}.settings-nav button.active{background:var(--tint-green-bg-strong);border-color:var(--green);color:var(--green)}.settings-page>.settings-section{grid-column:2;gap:16px;min-width:0;max-width:940px;display:grid}.settings-page>.settings-section[hidden]{display:none}.settings-about-row{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.settings-list a{align-items:center;gap:6px;display:inline-flex}.check-label{color:var(--ink);align-items:center;gap:8px;padding:6px 0;font-size:.95rem;display:flex}.check-label input[type=checkbox]{width:auto;min-height:0;margin:0}.api-key-console,.api-key-client-list,.api-key-list{gap:12px;display:grid}.api-key-console-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.api-key-console-head p{color:var(--muted);flex:260px;margin:0}.api-key-form{border:1px solid var(--line);background:var(--page);border-radius:8px;gap:12px;padding:14px;display:grid}.api-key-form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.api-key-form textarea{resize:vertical}.api-key-form-actions{justify-content:flex-start;display:flex}.api-key-field-error{color:var(--coral);margin:0;font-weight:700}.api-key-expiry{gap:8px;display:grid}.api-key-expiry-label{color:var(--muted);font-size:.82rem;font-weight:800}.api-key-expiry-choices{flex-wrap:wrap;gap:8px;display:flex}.expiry-chip{border:1px solid var(--line);cursor:pointer;background:var(--panel);border-radius:999px;align-items:center;gap:6px;margin:0;padding:6px 12px;display:inline-flex}.expiry-chip.selected{border-color:var(--green);background:color-mix(in srgb, var(--green) 12%, var(--panel));font-weight:700}.expiry-chip input{opacity:0;pointer-events:none;position:absolute}.permission-group{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:8px;padding:10px 12px 12px;display:grid}.permission-group legend{color:var(--muted);padding:0 4px;font-size:.82rem;font-weight:800}.permission-group-hint{color:var(--muted);margin:0;font-size:.86rem}.permission-toggle-all{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0;padding-bottom:8px;font-weight:700;display:flex}.permission-toggle-all small{color:var(--muted);margin-left:auto;font-weight:500}.permission-option-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 14px;display:grid}.permission-option{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:0 8px;margin:0;padding:5px 2px;display:grid}.permission-option input[type=checkbox]{grid-row:1/span 2}.permission-option strong{font-size:.92rem}.permission-option small{color:var(--muted)}.permission-group input[type=checkbox]{flex:none;width:18px;min-height:18px;margin-top:2px}@media (pointer:coarse){.permission-option,.permission-toggle-all{align-items:center;min-height:44px}}.api-key-advanced summary{cursor:pointer;padding:6px 0;font-weight:700}.api-key-advanced[open]{gap:12px;display:grid}.agent-risk-strip{border:1px solid color-mix(in srgb, var(--coral) 45%, var(--line));background:color-mix(in srgb, var(--coral) 10%, var(--panel));color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.agent-risk-strip span{overflow-wrap:anywhere}.api-key-client{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:12px;padding:12px;display:grid}.api-key-client-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.api-key-client-head small,.agent-activity-mini small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;display:block}.api-key-client-actions,.api-key-row-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.api-key-client-actions.danger-zone{border-top:1px solid var(--line);padding-top:10px}.api-key-client-meta{gap:8px;display:grid}.api-key-client-meta>span{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.api-key-client-meta small{color:var(--muted);min-width:92px;font-size:.8rem;font-weight:800}.chip-row{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.chip-row em{border:1px solid var(--line);background:var(--page);overflow-wrap:anywhere;border-radius:999px;padding:2px 8px;font-size:.8rem;font-style:normal}.chip-row.muted{color:var(--muted)}.api-key-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.api-key-row-identity{flex:260px;min-width:0}.api-key-row-identity small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;display:block}.api-key-row-identity code{font-size:.82rem}.agent-activity-mini{border-left:3px solid var(--nav-ink);gap:4px;padding-left:10px;display:grid}.agent-activity-mini strong{align-items:center;gap:6px;display:inline-flex}.api-key-modal .api-key-warning{border:1px solid color-mix(in srgb, var(--coral) 45%, var(--line));background:color-mix(in srgb, var(--coral) 10%, var(--panel));border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 12px;display:flex}.api-key-secret{border:1px solid var(--green);background:color-mix(in srgb, var(--green) 10%, var(--panel));border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.api-key-secret code{letter-spacing:.01em;overflow-wrap:anywhere;flex:320px;min-width:0;font-size:1.02rem;font-weight:700}.api-key-usage{gap:6px;display:grid}.api-key-usage pre{border:1px solid var(--line);background:var(--page);border-radius:8px;margin:0;padding:10px 12px;font-size:.86rem;overflow-x:auto}.api-key-usage small{color:var(--muted)}.api-key-ack{align-items:center;gap:8px;margin:0;display:flex}.permission-note{grid-column:1/-1}.google-settings-form,.google-step-grid,.google-folder-grid,.google-sheets-grid{gap:12px;display:grid}.google-connection-card{border:1px solid color-mix(in srgb, var(--blue) 24%, var(--line));background:color-mix(in srgb, var(--blue) 6%, var(--panel));border-radius:8px;gap:12px;padding:14px;display:grid}.google-connection-main{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;display:grid}.google-icon-badge{background:var(--panel);border:1px solid var(--line);width:44px;height:44px;color:var(--blue);border-radius:8px;place-items:center;display:inline-grid}.google-connection-main strong,.google-connection-main small{display:block}.google-connection-main small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px}.google-status-stack,.google-primary-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.google-primary-actions button{min-height:44px}.google-step-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.google-check{border:1px solid var(--line);border-left:4px solid var(--coral);background:var(--page);border-radius:8px;padding:10px 12px}.google-check.ok{border-left-color:var(--green)}.google-check strong,.google-check small{display:block}.google-check small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px}.google-copy-grid,.google-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.google-advanced-settings{border:1px solid var(--line);background:var(--page);border-radius:8px;gap:12px;display:grid;overflow:hidden}.google-advanced-settings>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:12px;font-weight:800;list-style:none;display:flex}.google-advanced-settings>summary::-webkit-details-marker{display:none}.google-advanced-settings>summary:after{content:"+";border:1px solid var(--line);background:var(--panel);width:28px;height:28px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:inline-grid}.google-advanced-settings[open]>summary{border-bottom:1px solid var(--line)}.google-advanced-settings[open]>summary:after{content:"-"}.google-advanced-settings>summary strong,.google-advanced-settings>summary small{display:block}.google-advanced-settings>summary small{color:var(--muted);margin-top:3px;font-weight:600}.google-advanced-settings>:not(summary){margin-inline:12px}.google-advanced-settings>:last-child{margin-bottom:12px}.google-browser-backup-console{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.google-browser-backup-head,.google-drive-backup-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.google-browser-backup-head strong,.google-browser-backup-head small,.google-drive-backup-row strong,.google-drive-backup-row small{display:block}.google-browser-backup-head small,.google-drive-backup-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px}.google-drive-status{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.84rem;font-weight:800}.google-drive-status.connected{border-color:color-mix(in srgb, var(--green) 45%, var(--line));color:var(--green)}.google-browser-backup-controls{grid-template-columns:minmax(180px,1fr) repeat(3,auto);align-items:end;gap:8px;display:grid}.google-browser-backup-controls label{margin:0}.google-auto-backup-toggle{align-items:center;gap:8px;margin-top:10px;font-size:.9rem;display:flex}.google-drive-backup-list{gap:8px;display:grid}.google-drive-backup-row{border-top:1px solid var(--line);padding-top:8px}.google-drive-backup-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.google-drive-backup-actions a{border:1px solid var(--line);min-height:42px;color:var(--nav-ink);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:800;text-decoration:none;display:inline-flex}.google-folder-grid,.google-sheets-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.google-status-banner{border:1px solid color-mix(in srgb, var(--green) 45%, var(--line));background:color-mix(in srgb, var(--green) 10%, var(--panel));color:var(--nav-ink);border-radius:8px;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;font-weight:700;display:flex}.google-status-dismiss{min-height:auto;color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px}.google-backups-card{border:1px solid color-mix(in srgb, var(--green) 30%, var(--line));background:color-mix(in srgb, var(--green) 6%, var(--panel));border-radius:8px;gap:12px;padding:14px;display:grid}.google-subsection-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.google-subsection-head strong,.google-subsection-head small{display:block}.google-subsection-head small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px}.google-schedule-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.google-schedule-row label{margin:0}.google-schedule-toggle{align-self:center;align-items:center;gap:8px;display:flex}.google-subsection{border:1px solid var(--line);background:var(--page);border-radius:8px;overflow:hidden}.google-subsection>summary{cursor:pointer;align-items:baseline;gap:8px;min-height:44px;padding:10px 12px;font-weight:700;list-style:none;display:flex}.google-subsection>summary::-webkit-details-marker{display:none}.google-subsection>summary small{color:var(--muted);font-weight:500}.google-subsection[open]>summary{border-bottom:1px solid var(--line)}.google-subsection-body{gap:12px;padding:12px;display:grid}.google-field{gap:4px;max-width:440px;display:grid}.google-save-row{margin-top:4px}.google-folder-grid fieldset,.google-sheets-grid fieldset{border:1px solid var(--line);border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.google-folder-grid legend,.google-sheets-grid legend{color:var(--muted);padding:0 4px;font-weight:700}.google-folder-grid label,.google-sheets-grid label{align-items:center;gap:6px;margin:0;display:inline-flex}.google-folder-grid input[type=checkbox],.google-sheets-grid input[type=checkbox]{width:auto;min-height:0}.icon-button{width:42px;min-width:42px;height:42px;padding:0}.primary{background:var(--green);border-color:var(--green);color:#fff}.danger-button{background:var(--tint-coral-bg);border-color:var(--tint-coral-border);color:var(--danger)}.danger-button:hover{background:var(--tint-coral-bg-strong)}.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:800}.alert{background:var(--tint-coral-bg-strong);color:var(--danger);border:1px solid var(--tint-coral-border);border-radius:8px;margin-bottom:18px;padding:10px 12px}.alert-dismissable{align-items:flex-start;gap:8px;display:flex}.alert-dismissable .alert-message{overflow-wrap:anywhere;flex:auto;min-width:0}.alert-dismissable .alert-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:3px;display:inline-flex}.alert-dismissable .alert-dismiss:hover{opacity:1}.sync-banner{border:1px solid var(--tint-blue-border);background:var(--tint-blue-bg);width:100%;color:var(--nav-ink);border-radius:8px;align-items:center;gap:10px;margin-bottom:18px;padding:10px 12px;font-weight:700;display:flex}.sync-banner.subtle{background:var(--panel-2);color:var(--muted)}.sync-banner.demo{border-color:var(--tint-gold-border);background:var(--tint-gold-bg);color:var(--tint-gold-text)}.sync-banner.reconnecting{opacity:.85;margin-bottom:10px;padding:6px 10px;font-size:.86rem;font-weight:500}.sync-banner.offline,.sync-banner.pending-sync{margin-bottom:10px;padding:6px 10px;font-size:.86rem;font-weight:500}.sync-banner.pending-sync button{min-height:28px;padding:4px 10px}.sync-banner span{flex:auto;min-width:0}.sync-banner button{background:var(--panel);min-height:36px;padding:7px 11px}.sync-banner .sync-banner-dismiss{min-width:24px;min-height:24px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:3px;display:inline-flex}.sync-banner .sync-banner-dismiss:hover{opacity:1;background:var(--panel)}.inline-note{color:var(--muted);font-size:.92rem}.content-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:16px;min-width:0;max-width:100%;display:grid}.content-grid>*,.panel,.metric,.flow{min-width:0;max-width:100%}.dashboard-grid>.panel{grid-column:span 6}.dashboard-grid>.dashboard-priority{grid-column:span 12}.dashboard-grid>.metric{grid-column:span 2;min-height:92px}.content-grid>.panel{grid-column:span 6}.content-grid>.panel.wide,.dashboard-grid>.panel.wide{grid-column:1/-1}.flow{gap:16px;max-width:980px;display:grid}.panel,.metric{background:var(--panel);border:1px solid var(--line);padding:var(--panel-pad,16px);border-radius:8px;box-shadow:0 8px 22px #2a313814}.metric{grid-column:span 2;align-content:space-between;min-height:116px;display:grid}.metric-link{color:var(--ink);text-decoration:none}.metric-link:hover{border-color:var(--blue);transform:translateY(-1px)}.metric svg{color:var(--blue)}.metric span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:1.55rem;font-weight:800;overflow:hidden}.metric small,.list small{color:var(--muted);margin-top:4px;display:block}.form-grid,.inline-form,.recipe-form{gap:10px;display:grid}.inline-form{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));align-items:end;margin-bottom:14px}.inline-form label,.recipe-form label{min-width:0}.recipe-form{margin-bottom:14px}.inventory-page{gap:14px;min-width:0;max-width:100%;display:grid}.inventory-list-area,.inventory-detail-area{min-width:0;max-width:100%}.inventory-list-area{gap:14px;display:grid}.inventory-screen-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.inventory-screen-tabs button{background:var(--panel);min-width:0;min-height:44px;font-weight:800}.inventory-screen-tabs button.active{background:var(--tint-green-bg-strong);border-color:var(--green);color:var(--green);box-shadow:inset 0 -3px 0 var(--green)}.shopping-page,.active-shopping-page{gap:14px;min-width:0;max-width:100%;display:grid}.active-shopping-page{gap:6px;margin-top:-10px}.shopping-screen-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.shopping-screen-tabs button{background:var(--panel);min-width:0;min-height:44px;font-weight:800}.shopping-screen-tabs button.active{background:var(--tint-green-bg-strong);border-color:var(--green);color:var(--green);box-shadow:inset 0 -3px 0 var(--green)}.content-grid>.shopping-list-panel{grid-column:span 12}.shopping-list-panel-detail>h2{display:none}.shopping-empty-setup{gap:10px;min-width:0;display:grid}.compact-list-create{margin:0}.compact-list-create summary{align-items:center;min-height:44px;display:flex}.compact-list-create .shopping-list-create-form{grid-template-columns:1fr}.shopping-lists-index,.shopping-list-detail{gap:12px;min-width:0;display:grid}.shopping-lists-index-head,.shopping-list-titlebar,.shopping-list-tools,.shopping-list-card{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.shopping-lists-index-head h2,.shopping-list-titlebar h2{min-width:0;margin:0}.shopping-list-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;min-width:0;display:grid}.shopping-list-card{background:var(--panel);text-align:left;width:100%;min-height:70px;padding:10px 12px}.shopping-list-card.active{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.shopping-list-card-copy{gap:3px;min-width:0;display:grid}.shopping-list-card-copy strong,.shopping-list-card-copy small,.shopping-list-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shopping-list-card-project{color:var(--muted)}.shopping-list-card-counts{flex:none;gap:8px;display:flex}.shopping-list-card-counts span{text-align:right;min-width:44px;display:grid}.shopping-list-card-counts strong{color:var(--nav-ink);line-height:1}.shopping-return-button{justify-self:start;min-height:40px;padding-inline:0}.shopping-list-titlebar{align-items:end}.shopping-title-actions{flex:none;align-items:center;gap:8px;display:flex}.shopping-start-trip-button{min-height:40px}.shopping-list-titlebar>div{gap:3px;min-width:0;display:grid}.shopping-list-titlebar .icon-button{width:40px;min-width:40px;height:40px}.shopping-list-title{cursor:text;max-width:100%}.shopping-list-title:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.shopping-list-title-edit{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;width:100%;min-width:0;display:grid}.shopping-list-title-edit input{min-height:44px;font-size:1.1rem;font-weight:800}.shopping-list-tools{align-items:stretch}.shopping-note-editor{min-width:0}.shopping-note-sheet{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0;display:grid;overflow:hidden}.shopping-note-row,.shopping-note-composer{border-bottom:1px solid var(--line);background:var(--panel);min-width:0;display:grid}.shopping-note-row:last-child,.shopping-note-composer:last-child{border-bottom:0}.shopping-note-line,.shopping-note-composer{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:5px 8px;display:grid}.shopping-note-line-number{color:var(--muted);text-align:right;font-size:.78rem;font-weight:800}.shopping-note-input,.shopping-note-composer textarea{width:100%;min-width:0;min-height:44px;color:var(--text);font:inherit;background:0 0;border:0;border-radius:0;padding:10px 2px}.shopping-note-input{text-overflow:ellipsis;overflow:hidden}.shopping-note-composer textarea{resize:none;grid-column:2;line-height:1.45}.shopping-note-composer{z-index:5;border-top:1px solid var(--line);position:sticky;bottom:0;box-shadow:0 -8px 18px #0f172a12}.shopping-note-input{resize:none;line-height:1.45}.shopping-note-input:focus-visible,.shopping-note-composer textarea:focus-visible{box-shadow:inset 0 -2px 0 var(--blue);outline:0}.shopping-note-row-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.shopping-note-row-actions .icon-button,.shopping-note-composer .icon-button{width:44px;min-width:44px;height:44px}.shopping-note-row:not(.shopping-note-details-form):not(:hover):not(:focus-within) .shopping-note-row-actions{opacity:0;pointer-events:none}.shopping-note-row-actions{transition:opacity .12s}.shopping-note-metadata,.shopping-note-delete-confirm{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;padding:0 10px 8px 42px;display:flex}.shopping-note-metadata small,.shopping-note-metadata a{border:1px solid var(--line);background:var(--panel-2);max-width:220px;min-height:30px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:.76rem;font-weight:750;text-decoration:none;display:inline-flex;overflow:hidden}.shopping-note-metadata a{color:var(--blue)}.shopping-note-delete-confirm{background:var(--tint-coral-bg);color:var(--muted);justify-content:flex-end;font-size:.86rem}.shopping-note-delete-confirm button{min-height:40px}.shopping-note-details-form{background:var(--panel-2)}.shopping-note-details-form label{gap:4px;min-width:0;display:grid}.shopping-note-details-form label span{color:var(--muted);font-size:.78rem;font-weight:800}.shopping-note-detail-grid{grid-template-columns:minmax(72px,.45fr) minmax(86px,.5fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(150px,1fr);align-items:end;gap:10px;min-width:0;padding:0 10px 10px 42px;display:grid}.shopping-note-wide-field{grid-column:span 2}.shopping-item-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.shopping-item-actions .icon-button{width:40px;min-width:40px;height:40px}.danger-action{background:var(--tint-coral-bg);border-color:var(--tint-coral-border);color:var(--danger)}.shopping-empty-setup{border:1px dashed var(--line);background:var(--panel-2);border-radius:8px;padding:16px}@media (max-width:920px){.shopping-list-panel{box-shadow:none;background:0 0;border:0;padding:0}.shopping-list-panel>h2{display:none}.shopping-lists-index,.shopping-list-detail{gap:10px}.shopping-lists-index-head{flex-wrap:wrap;align-items:start}.shopping-lists-index-head>div{min-width:0}.shopping-lists-index-head .compact-list-create{flex:none;max-width:126px}.shopping-lists-index-head .compact-list-create[open]{flex-basis:100%;max-width:none}.shopping-list-card-grid{grid-template-columns:1fr;gap:8px}.shopping-list-card{min-height:58px;padding:8px 10px}.shopping-list-titlebar{align-items:center}.shopping-title-edit-button,.shopping-list-titlebar .icon-button{width:44px;min-width:44px;height:44px}.compact-list-create{align-self:start}.compact-list-create summary{white-space:nowrap;justify-content:center}.shopping-item-actions{grid-column:auto;justify-content:flex-end;gap:4px}.shopping-item-actions .icon-button{width:44px;min-width:44px;height:44px}.shopping-note-line,.shopping-note-composer{grid-template-columns:28px minmax(0,1fr) auto;gap:6px;min-height:52px;padding:4px 6px}.shopping-note-line-number{font-size:.72rem}.shopping-note-metadata,.shopping-note-delete-confirm{padding-left:34px}.shopping-note-metadata small,.shopping-note-metadata a{max-width:100%}.shopping-note-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:34px}.shopping-note-wide-field{grid-column:1/-1}}.shopping-trip-home>.shopping-trip-home-panel,.trip-panel{grid-column:span 8}.shopping-trip-home-head,.shopping-trip-list-row,.source-list-row,.cart-row,.trip-total,.active-trip-title,.receipt-upload-row,.saved-list-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.shopping-trip-home-head{border-bottom:1px solid var(--line);padding-bottom:14px}.shopping-trip-home-head div,.shopping-trip-list-row span,.cart-item-main,.saved-list-main{gap:3px;min-width:0;display:grid}.shopping-trip-list,.shopping-cart-list,.trip-source-items,.trip-detail-stack{gap:10px;display:grid}.shopping-trip-list-row{text-align:left;background:var(--panel-2);border-radius:8px;justify-content:space-between;width:100%;min-height:66px;padding:12px}.shopping-trip-list-row strong,.active-trip-title h2,.cart-item-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.return-link{border:1px solid var(--line);background:var(--panel);min-height:34px;color:var(--nav-ink);border-radius:6px;justify-self:start;align-items:center;gap:6px;padding:5px 9px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.shopping-trip-title-block{gap:2px;min-width:0;display:grid}.active-trip-title{justify-content:flex-start;width:fit-content;min-width:0;max-width:100%}.active-trip-title h2{flex:0 auto;margin:0;font-size:1.08rem;line-height:1.12}.rename-button{width:36px;min-width:36px;height:36px;color:var(--blue);flex:0 0 36px}.rename-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.trip-item-form{gap:8px;display:grid}.trip-item-main-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.trip-item-primary-group{flex:999 200px;align-items:center;gap:8px;min-width:0;display:flex}.trip-item-secondary-group{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.trip-camera-button,.trip-add-item-button{flex:none;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.trip-camera-button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);overflow:hidden}.trip-camera-button.active{border-color:var(--green);color:var(--green);background:var(--tint-green-bg-strong)}.trip-camera-button img{object-fit:cover;width:100%;height:100%}.trip-item-name-input{flex:120px;min-width:0}.trip-item-qty-input{text-align:center;flex:64px;min-width:52px}.trip-item-price-input{flex:2 116px;min-width:96px;padding-left:8px}.money-input.trip-item-price-input input{padding:9px 6px 9px 4px}.trip-item-price-note{margin:0}.trip-item-optional{border:1px solid var(--line);background:var(--panel);border-radius:8px}.trip-item-optional summary{cursor:pointer;min-height:40px;color:var(--muted);align-items:center;padding:8px 11px;font-weight:700;display:flex}.trip-item-optional-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;padding:0 11px 11px;display:grid}.entry-label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:40px;display:grid}.entry-label>span:first-child{color:var(--muted);white-space:nowrap;font-weight:700}.money-input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:40px;padding-left:11px;display:grid}.money-input>span{color:var(--muted);font-weight:700}.money-input input{border:0;min-height:38px;padding:9px 11px 9px 5px}.money-input:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px}.money-input input:focus-visible{outline:0}.tax-check{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);min-height:40px;color:var(--ink);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:7px;padding:9px 10px;font-weight:700;display:inline-flex}.tax-check input[type=checkbox]{width:auto;min-height:0;accent-color:var(--green);margin:0}.receipt-upload-row{flex-wrap:wrap}.receipt-upload-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compact-file-action{white-space:nowrap;min-height:40px;padding:8px 11px}.trip-source-list{border-top:1px solid var(--line);gap:10px;margin-top:16px;padding-top:14px;display:grid}.trip-source-list .list-heading>div{gap:2px;min-width:0;display:grid}.source-list-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.check-off-remaining{white-space:nowrap;align-items:center;gap:6px;min-height:36px;padding:6px 10px;font-size:.82rem;display:inline-flex}.trip-check-off-panel{margin:12px 0}.check-off-rows{max-height:46vh;overflow-y:auto}.check-off-rows input[type=checkbox]{width:auto;min-height:0;accent-color:var(--green);margin:0}.check-off-rows .cart-item-main{flex:1}.source-list-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-height:62px;padding:9px 10px 9px 12px}.source-list-row.in-cart{background:var(--tint-green-bg);border-color:var(--tint-green-border)}.source-list-row.in-cart .cart-item-main strong{opacity:.6;text-decoration:line-through}.cart-item-main small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.source-add-button{width:44px;min-width:44px;height:44px;color:var(--blue)}.source-add-button.added{color:var(--green);border-color:var(--tint-green-border);background:var(--tint-green-bg-strong)}.cart-row{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;min-height:68px;padding:12px}.cart-row.has-photo{grid-template-columns:36px minmax(0,1fr) auto auto;justify-content:stretch;align-items:center;display:grid}.cart-price{color:var(--nav-ink);flex:none;font-size:1.02rem;font-weight:800}.cart-remove-button{border-color:var(--tint-coral-border);width:34px;min-width:34px;height:34px;color:var(--danger)}.tax-badge{border:1px solid var(--tint-gold-border);background:var(--tint-gold-bg);min-height:22px;color:var(--tint-gold-text);border-radius:999px;align-items:center;margin-left:7px;padding:2px 7px;font-size:.72rem;font-weight:800;display:inline-flex}.seeded-price-badge{border:1px dashed var(--line);min-height:22px;color:var(--muted);border-radius:999px;align-items:center;margin-left:7px;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-flex}.empty-cart-note{border:1px dashed var(--line);text-align:center;border-radius:8px;padding:12px 14px}.trip-total{margin:2px calc(-1 * var(--panel-pad,16px)) calc(-1 * var(--panel-pad,16px));padding:12px var(--panel-pad,16px);background:linear-gradient(180deg, #fffffff5, var(--panel));border-top:1px solid var(--line);border-radius:0 0 8px 8px;position:sticky;bottom:0}.trip-total strong{color:var(--green);font-size:1.34rem}.trip-complete-button{justify-content:center;width:100%;margin-top:12px}.grocery-quick-add{gap:10px;display:flex}.grocery-quick-add input{flex:1;min-width:0}.getting-started-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px;display:grid}.getting-started-step{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex}.getting-started-step-link{min-width:0;color:inherit;flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.getting-started-step-link span{gap:2px;min-width:0;display:grid}.getting-started-dismiss{color:var(--muted);flex-shrink:0}.getting-started-step.done{opacity:.62}.getting-started-step.done .getting-started-step-link svg{color:var(--green)}.trip-side-panel{grid-column:span 4;gap:14px;display:grid}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.trip-side-panel .metric{grid-column:auto;min-height:96px}.receipt-upload{border:1px dashed var(--line);background:var(--panel-2);border-radius:8px;gap:10px;padding:12px;display:grid}.receipt-upload h3{margin-bottom:2px}.detail-entry-label{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:auto minmax(72px,1fr);width:100%;padding:10px 12px}.saved-list-row{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:12px}.inventory-screen{gap:16px;min-width:0;max-width:100%;display:grid}.inventory-find-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.inventory-toolbar-panel{gap:10px;display:grid}.inventory-toolbar-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.inventory-toolbar-header h2{margin-bottom:0}.inventory-toolbar-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.inventory-sort-select{min-width:0;color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:flex}.inventory-sort-select select{border-radius:var(--radius-pill);text-transform:none;max-width:190px;min-height:34px;padding:6px 30px 6px 10px;font-size:.84rem;font-weight:800}.inventory-filter-menu{flex:none;position:relative}.inventory-filter-trigger{border-radius:var(--radius-pill);min-height:34px;padding:6px 10px;font-size:.84rem;font-weight:800}.inventory-filter-trigger.active{background:var(--tint-blue-bg);border-color:var(--tint-blue-border);color:var(--tint-blue-text)}.inventory-filter-trigger span{border-radius:var(--radius-pill);background:var(--navy-chip);color:#fff;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;line-height:1;display:inline-grid}.inventory-filter-popover{z-index:40;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:10px;width:min(280px,100vw - 32px);padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #2a31382e}.inventory-filter-popover-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.inventory-filter-popover-header button{min-height:30px;padding:5px 9px;font-size:.78rem;font-weight:800}.inventory-filter-options{gap:8px;display:grid}.inventory-search-box{margin-bottom:0}.inventory-active-filter-row{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.inventory-filter-pill{border-radius:var(--radius-pill);background:var(--tint-green-bg);border-color:var(--tint-green-border);min-height:28px;color:var(--tint-green-text);padding:4px 8px 4px 10px;font-size:.78rem;font-weight:800}.inventory-filter-pill svg{flex:none}.inventory-filter-chip{border-radius:var(--radius-pill);min-height:34px;padding:6px 10px;font-size:.84rem;font-weight:800}.inventory-filter-chip.active{background:var(--tint-blue-bg);border-color:var(--tint-blue-border);color:var(--tint-blue-text)}.inventory-add-screen,.inventory-labels-screen{max-width:980px}.inventory-add-panel{width:min(760px,100%)}.inventory-add-kind{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(760px,100%);margin-bottom:10px;display:grid}.inventory-add-kind button{background:var(--panel);min-height:44px;font-weight:800}.inventory-add-kind button.active{border-color:var(--green);background:var(--tint-green-bg-strong);color:var(--green)}.inventory-place-form{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.inventory-place-next-note{grid-column:1/-1;margin:0}.inventory-transfer-row{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.inventory-import-action{min-height:38px}.inventory-transfer-message{border-radius:var(--radius-pill);background:var(--tint-green-bg);border:1px solid var(--tint-green-border);max-width:100%;min-height:34px;color:var(--tint-green-text);align-items:center;padding:5px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.settings-inventory-data-panel .inventory-transfer-row{margin-bottom:8px}.settings-inventory-import-warning{color:var(--muted);align-items:flex-start;gap:8px;margin:0 0 10px;font-size:.84rem;display:flex}.settings-inventory-import-warning svg{color:var(--gold);flex:none}.inventory-label-panel{width:min(900px,100%)}.inventory-label-panel>h2{margin-bottom:12px}.inventory-label-intro{border:1px solid var(--tint-blue-border);background:var(--tint-blue-bg);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.inventory-label-intro p{color:var(--tint-blue-text);margin:0;font-size:.9rem}.inventory-label-icon{background:var(--panel);width:42px;height:42px;color:var(--blue);border-radius:8px;place-items:center;display:grid}.inventory-label-step{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.inventory-label-step-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.inventory-label-step-head span,.inventory-label-step-head h3,.inventory-label-step-head small{min-width:0}.inventory-label-step-head h3{margin:1px 0 0;font-size:1rem}.inventory-label-step-head small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.inventory-label-step-head>strong{border-radius:var(--radius-pill);background:var(--tint-green-bg);color:var(--tint-green-text);flex:none;padding:5px 9px;font-size:.78rem}.inventory-label-step-head>button{min-height:34px;padding:5px 9px}.inventory-label-search{margin:0}.inventory-label-source-grid,.inventory-label-setup{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.inventory-label-picker{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;min-width:0;overflow:hidden}.inventory-label-picker>header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.inventory-label-picker>header small{color:var(--muted)}.inventory-label-picker>.inline-note{margin:12px}.inventory-label-choice-list{max-height:290px;overflow:auto}.inventory-label-choice{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:48px;padding:7px 10px;display:grid}.inventory-label-choice:last-child{border-bottom:0}.inventory-label-choice.selected{background:var(--tint-green-bg)}.inventory-label-choice.disabled{cursor:not-allowed;opacity:.55}.inventory-label-choice input,.inventory-label-paper-options input,.inventory-label-preset-options input{width:18px;height:18px;accent-color:var(--green);margin:0}.inventory-label-choice span,.inventory-label-choice strong,.inventory-label-choice small{min-width:0}.inventory-label-choice strong,.inventory-label-choice small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inventory-label-choice small{color:var(--muted);margin-top:2px;font-size:.78rem}.inventory-label-selection-message{border:1px solid var(--tint-gold-border);background:var(--tint-gold-bg);color:var(--tint-gold-text);border-radius:8px;margin:0;padding:8px 10px;font-size:.82rem;font-weight:700}.inventory-label-review-list{gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.inventory-label-review-list li{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 8px 7px 10px;display:grid}.inventory-label-review-list li>span,.inventory-label-review-list strong,.inventory-label-review-list small{min-width:0}.inventory-label-review-list strong,.inventory-label-review-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inventory-label-review-list small{color:var(--muted);margin-top:2px;font-size:.78rem}.inventory-label-paper-options,.inventory-label-preset-options{border:0;align-content:start;gap:7px;min-width:0;margin:0;padding:0;display:grid}.inventory-label-paper-options legend,.inventory-label-preset-options legend{margin-bottom:7px;padding:0;font-size:.84rem;font-weight:800}.inventory-label-paper-options label,.inventory-label-preset-options label{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:48px;padding:8px 10px;display:grid}.inventory-label-paper-options label.selected,.inventory-label-preset-options label.selected{border-color:var(--green);background:var(--tint-green-bg)}.inventory-label-paper-options span,.inventory-label-paper-options strong,.inventory-label-paper-options small,.inventory-label-preset-options span,.inventory-label-preset-options strong,.inventory-label-preset-options small{min-width:0}.inventory-label-paper-options strong,.inventory-label-paper-options small,.inventory-label-preset-options strong,.inventory-label-preset-options small{display:block}.inventory-label-paper-options small,.inventory-label-preset-options small{color:var(--muted);margin-top:2px;font-size:.76rem;font-weight:600}.inventory-label-preset-options strong{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;display:flex}.inventory-label-preset-options strong small{color:var(--ink);margin:0;font-size:.76rem;font-weight:800}.inventory-label-layout-summary{border:1px solid var(--tint-blue-border);background:var(--tint-blue-bg);color:var(--tint-blue-text);border-radius:8px;gap:3px;padding:9px 10px;display:grid}.inventory-label-layout-summary span,.inventory-label-layout-summary small{font-size:.78rem}.inventory-label-layout-summary small{color:var(--muted)}.inventory-label-generate-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:14px;padding-top:14px;display:flex}.inventory-label-generate-row>button{min-height:44px}.inventory-label-generate-row>small{color:var(--muted);flex:240px}.manual-entry-panel{border-top:4px solid var(--green)}.quick-entry-form{gap:12px;display:grid}.quick-entry-primary,.quick-entry-secondary{align-items:end;gap:10px;display:grid}.quick-entry-primary{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr)}.quick-entry-secondary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.quick-entry-submit{justify-self:start;min-width:160px}.placement-combobox-field{color:var(--muted);gap:6px;font-size:.88rem;display:grid;position:relative}.placement-combobox,.placement-combobox-input-row{position:relative}.placement-combobox-input-row input[type=search]{padding-right:44px}.placement-combobox-clear{width:32px;min-width:32px;height:32px;min-height:32px;color:var(--muted);background:0 0;border-color:#0000;padding:0;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.placement-combobox-clear:hover{border-color:var(--line);background:var(--tint-green-soft);color:var(--ink)}.placement-combobox-results{z-index:45;border:1px solid var(--line);background:var(--panel);border-radius:8px;max-height:min(360px,56vh);padding:4px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 40px #2a31382e}.placement-combobox-option,.placement-combobox-add{background:var(--panel);text-align:left;border-color:#0000;border-radius:6px;justify-content:flex-start;width:100%;min-height:44px;padding:8px 10px}.placement-combobox-option.active,.placement-combobox-option:hover,.placement-combobox-add.active,.placement-combobox-add:hover{border-color:var(--tint-blue-border);background:var(--tint-blue-bg)}.placement-combobox-option>span{gap:2px;min-width:0;display:grid}.placement-combobox-option strong,.placement-combobox-option small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.placement-combobox-option strong{color:var(--ink);font-size:.9rem}.placement-combobox-option small{color:var(--muted);font-size:.78rem;font-weight:700}.placement-combobox-empty{min-height:44px;color:var(--muted);align-items:center;padding:8px 10px;font-size:.84rem;font-weight:700;display:flex}.placement-combobox-add{border-top:1px solid var(--line);color:var(--green);margin-top:4px;font-weight:850;position:sticky;bottom:0}.store-picker-create-form{border-top:1px solid var(--line);background:var(--panel);gap:8px;margin-top:4px;padding:10px;display:grid}.store-picker-create-actions{gap:8px;display:flex}.shopping-list-create-form .store-picker{min-width:220px}.shopping-list-store-row{gap:4px;max-width:360px;margin:0 0 12px;display:grid}.shopping-list-store-row>small{color:var(--muted)}.shopping-trip-start{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;gap:10px;margin:0 0 12px;padding:12px;display:grid}.shopping-trip-start-copy{gap:2px;display:grid}.shopping-trip-start-copy>small{color:var(--muted)}.shopping-trip-start .store-picker{max-width:360px}.shopping-trip-start-actions{flex-wrap:wrap;gap:8px;display:flex}.shopping-trip-store-row{gap:4px;max-width:360px;margin:0 0 12px;display:grid}.shopping-trip-store-row>small{color:var(--muted)}.shopping-list-card-store{color:var(--muted);font-size:.78rem}.shopping-sort-toggle{gap:6px;margin:0 0 10px;display:flex}.shopping-sort-toggle-button{border:1px solid var(--line);background:var(--panel);min-height:32px;color:var(--muted);cursor:pointer;border-radius:8px;padding:5px 12px;font-size:.82rem;font-weight:700}.shopping-sort-toggle-button.active{background:var(--tint-green-bg-strong);border-color:var(--tint-green-border);color:var(--tint-green-text)}.asset-place-toggle{min-height:34px;color:var(--muted);align-self:end;font-size:.84rem;font-weight:800}.asset-place-toggle input[type=checkbox]{accent-color:var(--green)}.photo-action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-action{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.file-action:hover{border-color:var(--blue)}.file-action:disabled{cursor:not-allowed;opacity:.58}.file-action:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px}.file-action input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.photo-count{border-radius:var(--radius-pill);text-overflow:ellipsis;white-space:nowrap;background:var(--tint-blue-bg);max-width:100%;min-height:34px;color:var(--tint-blue-text);border:1px solid var(--tint-blue-border);padding:5px 10px;font-size:.82rem;font-weight:700;display:inline-block;overflow:hidden}.shared-photo-toggle{border:1px solid var(--line);background:var(--tint-green-soft);width:fit-content;min-height:40px;color:var(--tint-green-text);border-radius:8px;padding:8px 10px;font-size:.86rem;font-weight:800}.shared-photo-toggle input[type=checkbox]{accent-color:var(--green)}.shared-photo-draft{border:1px solid var(--tint-blue-border);background:var(--tint-blue-bg);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.shared-photo-draft-icon{background:var(--tint-blue-bg);width:38px;height:38px;color:var(--blue);border-radius:8px;place-items:center;display:grid}.shared-photo-draft strong,.shared-photo-draft small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.shared-photo-draft small{color:var(--muted);font-weight:700}.shared-photo-draft .ghost-button{border-color:var(--tint-blue-border);background:var(--panel);min-height:36px;color:var(--ink);padding:6px 9px}.queued-photo-grid,.asset-photo-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.queued-photo-card,.asset-photo-card{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:8px;display:grid}.queued-photo-card.primary,.asset-photo-card.primary{border-color:var(--tint-green-border);background:var(--tint-green-bg-strong);box-shadow:inset 0 0 0 2px #2d7a4a1a}.queued-photo-preview,.asset-photo-card-preview{border:1px solid var(--line);background:var(--panel-3);width:64px;height:64px;color:var(--muted);border-radius:8px;place-items:center;padding:0;display:grid;overflow:hidden}.queued-photo-preview img,.asset-photo-card-preview img{object-fit:cover;width:100%;height:100%}.queued-photo-meta,.asset-photo-card-meta{gap:3px;min-width:0;display:grid}.queued-photo-meta strong,.asset-photo-card-meta strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;overflow:hidden}.queued-photo-meta small,.asset-photo-card-meta small{color:var(--muted)}.queued-photo-controls,.asset-photo-card-controls{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.queued-photo-controls button,.asset-photo-card-controls button{border-radius:8px;min-height:32px;padding:5px 8px;font-size:.78rem;font-weight:800}.queued-photo-controls .cover.active,.asset-photo-card-controls .cover.active{border-color:var(--tint-green-border);background:var(--tint-green-bg-strong);color:var(--green)}.queued-photo-controls .remove{color:var(--danger);margin-left:auto}.camera-capture-backdrop{z-index:90;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:#08141bb8;place-items:center;display:grid;position:fixed;inset:0}.camera-capture-modal{width:min(560px,100%);max-height:min(760px,100vh - 28px);background:var(--panel);border:1px solid #ffffff2e;border-radius:8px;gap:12px;max-height:min(760px,100dvh - 28px);padding:12px;display:grid;overflow:auto;box-shadow:0 24px 60px #00000057}.camera-capture-modal header,.camera-capture-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.camera-capture-modal h3{margin:0;font-size:1rem}.camera-capture-video{aspect-ratio:4/3;object-fit:contain;background:#000;border-radius:8px;width:100%}.camera-capture-preview{object-fit:contain;background:#000;border-radius:8px;width:100%;max-height:min(52vh,480px)}.camera-capture-result{gap:10px;display:grid}.camera-capture-result-actions{flex-wrap:wrap;gap:8px;display:flex}.camera-capture-discard{color:var(--danger)}.camera-zoom-row{color:var(--muted);align-items:center;gap:10px;display:flex}.camera-zoom-row input[type=range]{flex:auto;min-width:0}.camera-torch-button[aria-pressed=true]{border-color:var(--tint-gold-border-strong);background:var(--tint-gold-bg);color:var(--tint-gold-text)}.camera-controls{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.camera-controls .camera-zoom-row{flex:160px;min-width:0}.camera-controls .camera-torch-button{flex:none}.app-toast{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:90;border:1px solid var(--tint-green-border);background:var(--tint-green-bg);max-width:min(420px,100vw - 36px);min-height:48px;color:var(--ink);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;font-weight:800;animation:.18s ease-out app-toast-in;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 38px #16312d2e}.app-toast svg{color:var(--green);flex:none}.app-toast-message{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-toast-actions{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.app-toast-action{border-color:var(--tint-green-border);background:var(--panel);min-height:32px;color:var(--tint-green-text);padding:6px 10px}.app-toast-action:hover,.app-toast-action:focus-visible{background:var(--tint-green-bg-strong);border-color:#5aa36f}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.advanced-entry-details{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:0}.advanced-entry-details summary{cursor:pointer;align-items:center;min-height:42px;padding:9px 11px;font-weight:800;display:flex}.advanced-entry-details.compact-list-create summary{min-height:44px}.advanced-entry-details>label,.advanced-entry-details>.quick-entry-secondary,.advanced-entry-details>.form-grid,.advanced-entry-details>.inline-form,.advanced-entry-details>.trip-item-form{padding:0 11px 11px}.columns-3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.list{gap:8px;min-width:0;max-width:100%;display:grid}.list article{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;max-width:100%;min-height:56px;padding:10px 12px;overflow:hidden}.list-content,.list-content>span,.list-content>div{min-width:0;max-width:100%}.list-content small{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.asset-title-line{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.asset-title-line strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.asset-photo-indicator{color:var(--green);flex:none;align-items:center;display:inline-flex}.asset-photo-indicator.preview{border:1px solid var(--tint-green-border);background:var(--tint-green-bg-strong);border-radius:8px;width:28px;height:28px;overflow:hidden}.asset-photo-indicator.preview img{object-fit:cover;width:100%;height:100%}.activity-row{gap:2px;display:grid}.activity-row.has-preview{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px}.activity-row-copy{gap:2px;min-width:0;display:grid}.activity-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.activity-summary-link,.entity-audit-link{color:inherit;font-weight:700;text-decoration:none}.activity-summary-link:hover,.activity-summary-link:focus-visible,.entity-audit-link:hover,.entity-audit-link:focus-visible{color:var(--accent);text-decoration:underline}.activity-summary-toggle{border-radius:var(--radius-pill);width:100%;min-height:0;color:inherit;text-align:left;background:0 0;border:0;justify-content:start;padding:1px 0}.activity-summary-toggle:hover{background:var(--panel-2);border-color:#0000}.activity-summary-toggle.expanded{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.activity-attachment-preview,.entity-audit-preview{border:1px solid var(--line);background:var(--panel-3);border-radius:8px;width:40px;height:40px;display:block;overflow:hidden;box-shadow:0 1px 2px #0f172a14}.activity-attachment-preview:hover,.activity-attachment-preview:focus-visible,.entity-audit-preview:hover,.entity-audit-preview:focus-visible{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-glow);outline:none}.activity-attachment-preview img,.entity-audit-preview img{object-fit:cover;width:100%;height:100%;display:block}.release-notes-page{grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:14px;display:grid}.release-notes-toolbar{grid-column:1/-1}.release-note-main{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:16px;min-width:0;padding:18px;display:grid}.release-note-header{gap:8px;min-width:0;display:grid}.release-note-header h2{letter-spacing:0;margin:0;font-size:clamp(1.35rem,2vw,1.9rem)}.release-note-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;display:flex}.release-note-meta span{align-items:center;gap:6px;display:inline-flex}.release-note-body{gap:12px;min-width:0;line-height:1.55;display:grid}.release-note-body h2,.release-note-body h3,.release-note-history h3{letter-spacing:0;margin:0}.release-note-body h2{font-size:1.2rem}.release-note-body h3,.release-note-history h3{font-size:1rem}.release-note-body p,.release-note-body ul{margin:0}.release-note-body ul{padding-left:20px}.release-note-body a{color:var(--accent);font-weight:700}.release-note-body pre{background:var(--code-surface);color:#f4fbff;border-radius:8px;margin:0;padding:12px;overflow:auto}.release-note-history{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-self:start;gap:10px;padding:14px;display:grid}.release-note-history div{gap:8px;display:grid}.release-note-history a{border:1px solid var(--line);color:inherit;border-radius:8px;gap:2px;padding:9px;text-decoration:none;display:grid}.release-note-history a:hover,.release-note-history a:focus-visible{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-glow);outline:none}.release-note-history small{color:var(--muted)}@media (max-width:820px){.release-notes-page{grid-template-columns:1fr}.release-note-main,.release-note-history{padding:14px}}.row-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.attachment-row{justify-content:start}.attachment-row>.attachment-details{flex:1;min-width:0}.attachment-thumb{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;flex:none;place-items:center;width:58px;height:58px;padding:0;text-decoration:none;display:grid;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.attachment-thumb.placeholder{color:var(--muted)}.attachment-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attachment-actions a,.attachment-actions button,.attachment-viewer-actions a,.attachment-viewer-actions button{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:8px;justify-content:center;gap:8px;padding:8px 12px;text-decoration:none}.attachment-viewer{z-index:80;background:#17242d9e;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.attachment-viewer-panel{background:var(--panel);border:1px solid var(--line);width:min(960px,100%);min-height:0;max-height:min(92vh,900px);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:12px;display:grid}.attachment-viewer-header{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:10px;display:grid}.attachment-viewer-title{gap:3px;min-width:0;display:grid}.attachment-viewer-title strong{overflow-wrap:anywhere}.attachment-viewer-title small{color:var(--muted)}.attachment-viewer-vision{border-top:1px solid var(--line);gap:6px;max-height:34vh;margin-top:8px;padding-top:8px;display:grid;overflow:auto}.attachment-viewer-vision-desc,.attachment-viewer-ocr{margin:0}.attachment-viewer-vision-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.attachment-viewer-vision-head .eyebrow{margin:0}.attachment-viewer-vision-actions{gap:6px;display:inline-flex}.attachment-viewer-vision-editor{gap:8px;display:grid}.attachment-viewer-vision-editor label{gap:3px;display:grid}.attachment-viewer-vision-editor label span{color:var(--muted);font-size:.78rem;font-weight:700}.attachment-viewer-vision-error{color:var(--danger)}.attachment-vision-caption{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.attachment-viewer-image-wrap{background:var(--media-surface);border-radius:8px;place-items:center;min-height:0;display:grid;overflow:auto}.attachment-viewer-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(92vh - 130px);display:block}.attachment-viewer-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.attachment-viewer-pagination{align-items:center;gap:8px;display:flex}.attachment-viewer-pagination button{width:40px;min-width:40px;min-height:38px;padding:0}.attachment-viewer-pagination small{min-width:54px;color:var(--muted);text-align:center;font-weight:800}.attachment-panel{gap:12px;display:grid}.attachment-panel-chips{flex-wrap:wrap;gap:8px;display:flex}.attachment-panel-chips a,.attachment-panel-chips button{background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:6px;max-width:100%;min-height:36px;padding:6px 9px;text-decoration:none;display:inline-flex}.attachment-panel-chips a span,.attachment-panel-chips button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-panel-versions{display:inline-flex;position:relative}.attachment-panel-chip{align-items:stretch;gap:4px;max-width:100%;display:inline-flex}.attachment-versions-modal .attachment-viewer-panel{grid-template-rows:auto minmax(0,1fr)}.attachment-versions-body{align-content:start;gap:10px;min-height:0;display:grid;overflow:auto}.attachment-versions-upload{border:1px dashed var(--line);background:var(--panel-2);border-radius:8px;flex-wrap:wrap;align-items:end;gap:8px;padding:10px;display:flex}.attachment-versions-upload-file{gap:4px;font-size:.85rem;font-weight:700;display:grid}.attachment-versions-upload input[type=text]{flex:180px;min-width:0}.attachment-versions-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.attachment-versions-list>li{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.attachment-versions-list>li.selected{border-color:var(--tint-gold-border);background:var(--tint-gold-bg)}.attachment-versions-select{align-items:center;padding-top:3px;display:inline-flex}.attachment-versions-info{flex:1;gap:2px;min-width:0;display:grid}.attachment-versions-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}.attachment-versions-number{color:var(--ink);font-weight:800}.attachment-versions-current{border-radius:var(--radius-pill);border:1px solid var(--tint-gold-border);background:var(--tint-gold-bg);color:var(--tint-gold-text);padding:1px 8px;font-size:.72rem;font-weight:800}.attachment-versions-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.attachment-versions-note{color:var(--muted);font-size:.85rem}.attachment-versions-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.attachment-versions-actions a,.attachment-versions-actions button{border:1px solid var(--line);background:var(--panel);min-height:32px;color:var(--ink);border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:.82rem;text-decoration:none;display:inline-flex}.attachment-versions-diff{gap:6px;display:grid}.attachment-versions-diff-title{margin:0;font-size:.92rem}.product-definition-modal .attachment-viewer-panel{grid-template-rows:auto auto;width:min(560px,100%)}.product-definition-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:start;gap:10px;display:grid}.product-definition-form label{gap:4px;min-width:0;display:grid}.product-definition-notes{grid-column:1/-1}.product-definition-duplicate-warning{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;display:flex}.product-definition-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.attachment-viewer-header-actions{align-items:center;gap:8px;display:flex}.attachment-viewer-action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attachment-viewer-frame{background:var(--media-surface);border:0;width:100%;height:100%;min-height:min(70vh,640px)}.task-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.task-row-meta{display:inline}.priority-bulk-actions{justify-content:flex-end;gap:8px;margin-bottom:10px;display:flex}.priority-show-all{display:none}.task-count-badge{border-radius:var(--radius-pill);border:1px solid var(--tint-gold-border);background:var(--tint-gold-bg);color:var(--tint-gold-text);white-space:nowrap;vertical-align:middle;margin-left:8px;padding:1px 8px;font-size:.72rem;font-weight:800;display:inline-block}@media (max-width:700px){.dashboard-priority .task-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.dashboard-priority .task-row-meta{display:block}.dashboard-priority .task-row-copy small{white-space:normal;text-overflow:clip;overflow:visible}.dashboard-priority .task-row .row-actions button{flex:1 1 0;justify-content:center;min-height:44px}.dashboard-priority.is-clamped .list>article:nth-child(n+4){display:none}.priority-show-all{width:100%;min-height:44px;margin-top:10px;display:block}.priority-bulk-actions button{flex:1 1 0;justify-content:center;min-height:44px}}.product-row{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:10px;display:grid}.barcode-form{grid-template-columns:minmax(0,1fr) 42px;gap:8px;display:grid}.barcode-form button{width:42px;min-width:42px;padding:0}.chip-row{flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;margin-top:8px;display:flex}.chip-row span{border:1px solid var(--tint-blue-border);background:var(--tint-blue-bg);border-radius:var(--radius-pill);color:var(--tint-blue-text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:3px 7px;font-size:.78rem;display:inline-block;overflow:hidden}.product-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.product-row-chips{flex-wrap:wrap;gap:6px;min-width:0;margin-top:6px;display:flex}.price-history-toggle{cursor:pointer;font:inherit}.price-history-panel{flex-direction:column;flex-basis:100%;gap:4px;min-width:0;display:flex}.price-history-panel ul{margin:0;padding-left:18px}.price-history-panel li{font-size:.78rem}.price-history-stores li.cheapest{color:var(--tint-green-text);font-weight:700}.chip-typical-price{border:1px solid var(--tint-neutral-border);background:var(--tint-neutral-bg);border-radius:var(--radius-pill);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.typical-price-note{color:var(--muted);text-overflow:ellipsis;min-width:0;font-size:.78rem;overflow:hidden}.cart-item-main .typical-price-note{white-space:normal}.trip-item-typical-price-note{margin:0}.typical-price-caveat{color:var(--muted);font-size:.72rem;font-weight:400;display:block}.chip-on-hand{border:1px solid var(--tint-green-border);background:var(--tint-green-bg);border-radius:var(--radius-pill);color:var(--tint-green-text);white-space:nowrap;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-block}.chip-code{border:1px solid var(--tint-blue-border);background:var(--tint-blue-bg);border-radius:var(--radius-pill);color:var(--tint-blue-text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:3px 7px;font-size:.78rem;display:inline-block;overflow:hidden}.chip-shelf-life{border:1px solid var(--tint-gold-border);background:var(--tint-gold-bg);border-radius:var(--radius-pill);color:var(--tint-gold-text);white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.product-row-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.staple-toggle.active{border-color:var(--tint-gold-border-strong);background:var(--tint-gold-bg);color:var(--tint-gold-text)}.staple-toggle.active svg{fill:currentColor}.product-add-hint{align-self:center;max-width:160px}.product-barcode-details{position:relative}.product-barcode-details>summary{cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex}.product-barcode-details>summary::-webkit-details-marker{display:none}.product-barcode-details[open]>summary{border-color:var(--line-strong)}.product-barcode-details .barcode-form{margin-top:8px}.stock-lot-edit-form{grid-template-columns:76px minmax(0,1fr) 42px;min-width:240px}.stock-lot-edit-form input[name=quantity]{grid-area:1/1}.stock-lot-edit-form input[type=date]{grid-area:1/2/auto/-1}.stock-lot-edit-form select{grid-area:2/1/auto/3}.stock-lot-edit-form button{grid-area:2/3}.stock-lot-adjust-form{grid-template-columns:84px 42px}.stock-lot-row.reconciled{opacity:.6}.stock-lot-confirmed-chip{align-self:center;align-items:center;gap:4px;display:inline-flex}.staples-filter-row{flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.filter-chip{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.filter-chip.active{border-color:var(--tint-gold-border-strong);background:var(--tint-gold-bg);color:var(--tint-gold-text)}.trip-put-away{margin:4px 0}.trip-put-away-button{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.trip-put-away-panel{margin:0}.put-away-rows{gap:10px;margin:12px 0;display:grid}.put-away-row{border:1px solid var(--line);border-radius:8px;gap:10px;padding:10px 12px;display:grid}.put-away-row.unselected{opacity:.6}.put-away-row-head{cursor:pointer;align-items:center;gap:12px;min-width:0;display:flex}.put-away-fields{gap:8px;display:grid}.put-away-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-section,.attachment-form{align-content:start;gap:10px;display:grid}.detail-section h2{align-items:center;gap:8px;margin:8px 0 0;display:flex}.asset-activity-section{grid-column:1/-1}.entity-activity-section{border-top:1px solid var(--line);padding-top:6px}.entity-activity-heading,.entity-comment-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entity-activity-heading{justify-content:space-between}.entity-activity-heading h2{margin:0}.entity-activity-heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entity-activity-heading button,.entity-activity-accordion-toolbar button,.entity-comment-actions button{min-height:34px;padding:6px 10px;font-size:.84rem}.entity-activity-accordion-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.entity-ask-assistant{border-color:var(--accent,#6366f1);color:var(--accent,#6366f1);align-items:center;gap:6px;display:inline-flex}.entity-activity-alert{margin:0}.entity-activity-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);align-items:start;gap:14px;display:grid}.entity-comment-panel,.entity-audit-panel,.entity-comment-form,.entity-comment-list,.entity-audit-list,.entity-comment-edit{gap:10px;min-width:0;display:grid}.entity-comment-form{border:1px solid var(--line);background:var(--tint-green-soft);border-radius:8px;padding:12px}.entity-comment-form label{color:var(--ink);font-weight:800}.entity-comment-form textarea,.entity-comment-edit textarea{min-height:86px}.entity-comment-form button{justify-self:start}.entity-comment-card,.entity-audit-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0}.entity-comment-card{gap:9px;padding:12px;display:grid}.entity-comment-card p{overflow-wrap:anywhere;white-space:pre-wrap}.entity-comment-meta{color:var(--muted);flex-wrap:wrap;gap:5px 8px;font-size:.82rem;display:flex}.entity-comment-meta span:first-child{color:var(--nav-ink);font-weight:800}.entity-comment-mention,.entity-mention-selected button{color:var(--nav-ink);background:#246f9714;border:1px solid #246f9738;border-radius:999px;align-items:center;gap:4px;font-weight:800;display:inline-flex}.entity-comment-mention{padding:1px 6px}.entity-mention-tools,.entity-mention-menu,.entity-mention-selected,.entity-comment-reactions,.entity-reply-form,.entity-reply-list{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.entity-mention-tools{flex-direction:column}.entity-mention-menu button,.entity-mention-selected button,.entity-comment-reactions button{min-height:30px;padding:5px 8px;font-size:.8rem}.entity-mention-menu button{background:var(--panel)}.entity-mention-selected button{border-radius:999px}.entity-comment-reactions{align-items:center}.entity-comment-reactions button{min-width:34px;color:var(--muted);border-radius:999px;justify-content:center}.entity-comment-reactions button.is-active{border-color:var(--focus-ring);color:var(--nav-ink);background:#246f971a}.entity-comment-reactions span{font-weight:850}.entity-reply-form{border-left:3px solid #246f9733;gap:8px;padding-left:10px;display:grid}.entity-reply-form textarea{min-height:68px}.entity-reply-list{border-left:3px solid #246f9729;gap:9px;padding-left:10px;display:grid}.entity-comment-reply{background:0 0;border:0;border-radius:0;padding:2px 0 2px 2px}.entity-audit-panel h3{align-items:center;gap:8px;margin:0;display:flex}.entity-audit-row{grid-template-columns:18px minmax(0,1fr);gap:9px;padding:10px 12px;display:grid}.entity-audit-row.has-preview{grid-template-columns:18px 42px minmax(0,1fr);align-items:start}.entity-audit-marker{border:2px solid var(--panel);background:var(--blue);width:10px;height:10px;box-shadow:0 0 0 2px var(--tint-blue-border);border-radius:999px;margin-top:5px}.entity-audit-copy{gap:3px;min-width:0;display:grid}.entity-audit-copy strong{overflow-wrap:anywhere}.entity-audit-copy small{color:var(--muted);overflow-wrap:anywhere}.entity-audit-detail{color:var(--ink)!important}.checked{color:var(--muted);text-decoration:line-through}.search-box,.manual-token{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:0 10px;display:flex}.manual-token{min-width:min(100%,420px);margin-bottom:0}.search-box input,.manual-token input{background:0 0;border:0;flex:1;padding-inline:0}.search-clear-button{width:30px;min-width:30px;min-height:30px;color:var(--muted);background:0 0;border-color:#0000;padding:0}.search-clear-button:hover{border-color:var(--line);background:var(--tint-green-soft);color:var(--ink)}.search-page{gap:14px;display:grid}.global-search-panel,.search-admin-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:14px}.global-search-box{min-height:48px;margin-bottom:10px}.search-toolbar,.search-filter-row,.search-admin-panel,.search-result-card{align-items:center;gap:10px;display:flex}.search-toolbar{flex-wrap:wrap;justify-content:space-between}.search-status,.search-result-type,.search-explanation{color:var(--muted);font-size:.86rem}.search-filters{gap:10px;margin-top:12px;display:grid}.search-filter-row{flex-wrap:wrap}.search-chip{min-height:34px;padding:6px 10px}.search-chip.active{border-color:var(--blue);color:var(--blue);background:#246f971f}.toggle-row{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.toggle-row input{width:auto;min-height:0}.search-note{align-items:center;gap:8px;display:inline-flex}.search-results{gap:10px;display:grid}.search-result-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:stretch;padding:14px}.search-result-main{gap:5px;display:grid}.search-result-main h2{margin:0;font-size:1rem}.search-result-main p,.search-result-main small{margin:0}.search-result-main small{color:var(--muted);overflow-wrap:anywhere}.search-open-link{border:1px solid var(--line);border-radius:8px;align-self:center;gap:7px;padding:8px 10px;text-decoration:none}.search-empty{color:var(--muted);justify-items:center;gap:8px;padding:28px 14px;display:grid}.search-admin-panel{justify-content:space-between}.search-admin-panel h2{margin:0;font-size:1rem}@media (max-width:640px){.search-result-card,.search-admin-panel{flex-direction:column;align-items:stretch}.search-open-link,.search-admin-panel button{width:100%}}.manual-token button{width:38px;min-height:36px;padding:0}.scanner{gap:12px;display:grid}.scanner-video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:8px;width:min(100%,520px)}.hierarchy-tree,.tree-branch,.tree-section,.tree-children{gap:4px;display:grid}.hierarchy-tree{padding-right:2px}.hierarchy-search{margin-bottom:12px}.tree-section{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.tree-row{text-align:left;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;display:grid}summary.tree-row{cursor:pointer;list-style:none}summary.tree-row::-webkit-details-marker{display:none}summary.tree-row:after{content:">";width:24px;height:24px;color:var(--muted);justify-self:end;place-items:center;font-size:.8rem;font-weight:900;display:grid}.tree-branch[open]>summary.tree-row:after{content:"v"}.tree-row.location{background:var(--tint-green-bg);border-color:var(--tint-green-border-soft);grid-template-columns:minmax(0,1fr) auto 24px;min-height:38px;padding:5px 8px}.location-row-lines{gap:2px;min-width:0;display:grid}.location-row-title{align-items:center;gap:6px;min-width:0;display:inline-flex}.tree-row.location .location-row-title strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.2;overflow:visible}.tree-row.location .location-row-meta{max-width:100%;color:var(--muted);text-overflow:clip;white-space:normal;justify-self:start;padding-left:22px;font-size:.72rem;line-height:1.2;overflow:visible}.tree-row.asset{background:var(--panel);border-color:var(--line);justify-content:stretch}.tree-row.asset:hover{background:var(--panel-2)}.tree-row.asset.asset-rail-row{border-color:var(--tint-green-border-soft);padding-block:5px;border-width:0 0 1px;border-radius:0;grid-template-columns:16px 36px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding-right:4px}.tree-row.asset.asset-rail-row:hover{background:var(--tint-green-soft)}.tree-row.asset.asset-rail-row.active{background:var(--tint-blue-bg);box-shadow:inset 3px 0 0 var(--blue)}.tree-row.asset.asset-rail-row.active .asset-tree-rail:before{background:var(--blue)}.asset-branch{gap:0}.asset-tree-rail{justify-content:center;align-self:stretch}.asset-tree-rail:before{content:"";background:var(--tint-green-border-soft);border-radius:999px;width:2px;min-height:100%}.asset-row-thumb{border:1px solid var(--tint-green-border-soft);background:var(--tint-green-bg-strong);width:36px;height:36px;color:var(--tint-green-text);letter-spacing:0;text-transform:uppercase;border-radius:8px;place-items:center;font-size:.72rem;font-weight:900;display:grid;overflow:hidden}.asset-row-thumb img{object-fit:cover;width:100%;height:100%}.asset-row-thumb span{place-items:center;display:grid}.asset-row-main{gap:3px;min-width:0;display:grid}.asset-row-main .asset-title-line{flex-wrap:wrap;align-items:center;gap:3px 5px;min-width:0;display:flex}.asset-row-main .asset-title-line strong{overflow-wrap:anywhere;white-space:normal;flex:8rem;min-width:0;font-size:.9rem;line-height:1.12;overflow:visible}.asset-row-badge{background:var(--tint-green-bg-strong);color:var(--tint-green-text);border-radius:999px;flex:none;padding:2px 5px;font-size:.62rem;font-weight:900;line-height:1}.asset-status-badge{background:var(--tint-amber-bg,#d9a44129);color:var(--tint-amber-text,#8a6100);text-transform:capitalize}.asset-row-meta{min-width:0;max-width:100%;color:var(--muted);white-space:normal;flex-wrap:wrap;align-items:center;gap:4px;font-size:.72rem;line-height:1.2;display:flex;overflow:visible}.asset-row-meta>span:first-child{overflow-wrap:anywhere;text-overflow:clip;flex:0 auto;min-width:0;overflow:visible}.asset-row-meta time,.asset-row-meta>span:not(:first-child){flex:none}.asset-row-open{color:var(--muted-green);justify-self:end;font-size:1rem;font-weight:900}.tree-row span{align-items:center;gap:8px;min-width:0;display:inline-flex}.tree-row.asset.asset-rail-row>.asset-tree-rail{gap:0;display:flex}.tree-row.asset.asset-rail-row>.asset-row-thumb{gap:0;display:grid}.tree-row.asset.asset-rail-row>.asset-row-main{align-items:center;gap:3px;display:grid}.tree-row.asset.asset-rail-row .asset-row-meta{gap:4px;display:flex}.tree-row.asset.asset-rail-row .asset-row-thumb>span{gap:0;display:grid}.tree-row.asset.asset-rail-row>.asset-row-open{gap:0;display:inline-flex}.tree-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-row small{max-width:min(42vw,360px);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;justify-self:end;overflow:hidden}.tree-row svg{color:var(--blue);flex:none}.tree-row.location svg,.tree-row .asset-photo-indicator,.tree-row .asset-photo-indicator svg{color:var(--green)}.tree-row.location.inventory-location-row{grid-template-columns:minmax(0,1fr) auto 24px}.asset-row-shell{display:grid;position:relative}.organize-select{z-index:1;opacity:0;pointer-events:none;place-items:center;width:18px;height:18px;transition:opacity .1s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.asset-row-shell:hover .organize-select,.organize-select:focus-within,.organize-active .organize-select{opacity:1;pointer-events:auto}.organize-select:has(input:checked){opacity:1;pointer-events:auto}.organize-select input{accent-color:#2f6a52;cursor:pointer;background:#fff;border-radius:4px;width:16px;height:16px;margin:0}.organize-row-menu{width:26px;height:26px;color:var(--muted);opacity:0;pointer-events:none;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;transition:opacity .1s;display:inline-grid}.inventory-location-row:hover .organize-row-menu,.asset-row-shell:hover .organize-row-menu,.organize-row-menu:focus-visible{opacity:1;pointer-events:auto}.organize-row-menu:hover,.organize-row-menu:focus-visible{color:#2f6a52;background:#e8f1ed;border-color:#cfe2d8}.organize-row-menu.asset{position:absolute;top:50%;right:18px;transform:translateY(-50%)}.tree-row.asset.asset-rail-row.organize-selected{background:#eaf6ef;box-shadow:inset 3px 0 #2f6a52}.tree-row.asset.asset-rail-row.organize-selected .asset-tree-rail:before{background:#2f6a52}.tree-row.location.organize-drop-target{background:#dff2e7;border-color:#2f6a52;box-shadow:inset 0 0 0 1px #2f6a52}.tree-row.asset.asset-rail-row.organize-drop-target{background:#dff2e7;border-radius:8px;box-shadow:inset 0 0 0 2px #2f6a52}.organize-dragging .tree-row{user-select:none}.organize-drag-preview{z-index:1000;color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#2f6a52;border-radius:999px;max-width:260px;padding:7px 14px;font-size:.8rem;font-weight:800;position:fixed;top:-100px;left:-100px;overflow:hidden}.organize-selection-bar,.organize-root-dropzone{bottom:max(18px, env(safe-area-inset-bottom));z-index:70;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:calc(100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.organize-selection-bar{background:#fff;border:1px solid #cfe2d8;border-radius:999px;padding:8px 14px;animation:.16s ease-out app-toast-in;box-shadow:0 14px 34px #16312d38}.organize-selection-bar strong{white-space:nowrap;font-size:.85rem}.organize-selection-bar button{color:#24513d;cursor:pointer;background:#f4faf7;border:1px solid #cfe2d8;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:800;display:inline-flex}.organize-selection-bar button:hover:not(:disabled){background:#e4f2ea}.organize-selection-bar button:disabled{opacity:.5;cursor:default}.organize-selection-bar .organize-selection-clear{color:var(--muted);background:0 0;border-color:#0000}.organize-selection-bar .organize-selection-clear:hover{color:var(--ink);background:#eef2f0}.organize-root-dropzone{color:#24513d;background:#f4faf7f5;border:2px dashed #8fb8a4;border-radius:14px;padding:16px 26px;font-size:.85rem;font-weight:800;box-shadow:0 14px 34px #16312d2e}.organize-root-dropzone.active{background:#dff2e7;border-color:#2f6a52}.organize-root-dropzone svg{color:#2f6a52;flex:none}.organize-context-menu{z-index:120;background:#fff;border:1px solid #d8e2de;border-radius:10px;gap:2px;min-width:220px;max-width:300px;padding:6px;display:grid;position:fixed;box-shadow:0 12px 32px #16312d3d}.organize-context-menu-heading{border-bottom:1px solid var(--line);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;padding:6px 10px;font-size:.72rem;font-weight:800;overflow:hidden}.organize-context-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:.85rem;display:flex}.organize-context-menu button:hover:not(:disabled),.organize-context-menu button:focus-visible{background:#eef6f1}.organize-context-menu button:disabled{opacity:.45;cursor:default}.organize-context-menu button svg{color:#2f6a52;flex:none}.organize-move-dialog-backdrop{z-index:110;background:#0f1e186b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.organize-move-dialog{background:#fff;border:1px solid #d8e2de;border-radius:14px;grid-template-rows:auto auto minmax(0,1fr);gap:10px;width:min(480px,100%);max-height:min(560px,85vh);padding:14px;display:grid;box-shadow:0 18px 48px #16312d4d}.organize-move-dialog-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.organize-move-dialog-header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;overflow:hidden}.organize-move-options{align-content:start;gap:2px;padding-right:2px;display:grid;overflow-y:auto}.organize-move-options button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.organize-move-options button:hover:not(:disabled),.organize-move-options button:focus-visible{background:#eef6f1;border-color:#d8e7df}.organize-move-options button:disabled{opacity:.5;cursor:default}.organize-move-options button svg{color:#2f6a52;flex:none}.organize-move-options button span{gap:1px;min-width:0;display:grid}.organize-move-options button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.organize-move-options button small{color:var(--muted);font-size:.72rem}@media (pointer:coarse),(max-width:640px){.organize-select,.organize-row-menu{opacity:1;pointer-events:auto}.organize-select{width:24px;height:24px}.organize-select input{width:18px;height:18px}.organize-row-menu{color:#2f6a52;background:#fff;border-color:#d8e7df;width:44px;height:44px}.organize-context-menu button{min-height:44px}.organize-row-menu.asset{right:6px}.tree-row.asset.asset-rail-row{padding-right:52px}.tree-row.asset.asset-rail-row>.asset-row-open{display:none}}.quick-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.quick-grid form{align-content:start;gap:10px;display:grid}.scan-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.scan-summary span{border:1px solid var(--line);background:var(--tint-green-soft);border-radius:8px;padding:10px}.scan-summary strong{font-size:1.35rem;display:block}.scan-summary small{color:var(--muted)}.scan-row-actions{flex-wrap:wrap;justify-content:end}.scanner-expander{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}.scanner-expander summary{cursor:pointer;min-height:38px;font-weight:800}.scanner-expander[open] summary{margin-bottom:12px}.status-expired strong,.status-soon strong{color:var(--danger)}.status-ok strong{color:var(--green)}.status-frozen strong{color:var(--blue)}.frozen-badge{color:var(--blue);align-items:center;gap:4px;font-weight:700;display:inline-flex}.stock-lot-thaw-panel{align-items:flex-end;gap:8px;padding:8px 0 4px;display:flex}.meal-page{gap:16px;display:grid}.meal-hero{color:#fff;min-height:142px;box-shadow:var(--shadow);background-color:#0000;background-image:linear-gradient(105deg,#17242df0,#2d6a4fdb),repeating-linear-gradient(135deg,#f5c66b33 0 10px,#0000 10px 28px),linear-gradient(135deg,#17303c 0%,#2d6a4f 62%,#bd8f22 100%);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:end;gap:20px;padding:22px;display:grid}.meal-hero h1{max-width:760px;margin:6px 0 18px;font-size:clamp(1.55rem,2.4vw,2.6rem);line-height:1}.meal-hero .eyebrow{color:#f5c66b}.meal-hero-actions,.meal-actions,.badge-row,.ingredient-chips{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.meal-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.meal-stats span,.review-metric,.pantry-mini-list span{background:#ffffff21;border:1px solid #ffffff47;border-radius:8px;padding:12px}.meal-stats strong,.review-metric strong{font-size:1.55rem;display:block}.meal-controls{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;padding:12px;display:grid}.meal-controls label{color:var(--ink)}.meal-controls label svg{color:var(--blue)}.meal-trust-note{color:var(--tint-gold-text);background:var(--tint-gold-bg);border:1px solid var(--tint-gold-border);border-radius:8px;grid-column:1/-1;padding:9px 10px}.meal-toggles{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.meal-toggles label,.cook-confirm label{align-items:center;gap:8px;min-height:38px;display:flex}.meal-toggles input,.cook-confirm input{width:auto;min-height:0}.use-soon-rail{gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.use-soon-rail span{background:var(--tint-gold-bg);border:1px solid var(--tint-gold-border);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;min-width:170px;padding:10px;display:grid}.use-soon-rail small{color:var(--muted);grid-column:2}.meal-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.meal-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.meal-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 10px 24px #2a313814}.meal-image{background:var(--slate-surface);color:#fffdf7;border:0;border-radius:0;width:100%;min-height:160px;padding:0;overflow:hidden}.meal-image img{object-fit:cover;width:100%;height:180px;display:block}.meal-image span{background:linear-gradient(135deg,#287c9fe0,#d6a94fdb),repeating-linear-gradient(45deg,#ffffff1f 0 10px,#0000 10px 20px);place-items:center;width:100%;height:180px;font-size:3.5rem;font-weight:900;display:grid}.meal-card-body{gap:12px;padding:14px;display:grid}.meal-card-title{justify-content:space-between;align-items:start;gap:10px;display:flex}.meal-card-title h2{margin:2px 0 0;font-size:1.05rem;line-height:1.25}.meal-card-title strong{color:var(--green)}.badge-row span,.ingredient-chips span{border-radius:var(--radius-pill);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:5px 9px;font-size:.78rem;line-height:1.2;display:inline-block;overflow:hidden}.badge-row span{background:var(--tint-blue-bg);color:var(--tint-blue-text);border:1px solid var(--tint-blue-border)}.chip-have{background:var(--tint-green-bg-strong);color:var(--tint-green-text);border:1px solid var(--tint-green-border)}.chip-missing{background:var(--tint-coral-bg-strong);color:var(--tint-coral-text);border:1px solid var(--tint-coral-border)}.meal-actions{justify-content:space-between}.meal-actions button{flex:auto}.recipes-layout{align-items:start;gap:20px;min-width:0;display:grid}.recipes-browse{gap:16px;min-width:0;display:grid}.recipes-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.recipes-header-text h1{margin:0 0 2px;font-size:1.7rem;line-height:1.1}.recipes-new-button{flex:none}.recipe-toolbar{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.recipe-search-bar{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex:260px;align-items:center;gap:8px;min-width:0;padding:7px 12px;display:flex}.recipe-search-bar:focus-within{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-glow)}.recipe-search-bar svg{color:var(--muted);flex:none}.recipe-search-bar input{min-width:0;color:inherit;background:0 0;border:0;flex:auto;padding:2px 0;font-size:.95rem}.recipe-search-bar input:focus{outline:none}.recipe-cuisine-select,.recipe-filter-select{border:1px solid var(--line);background:var(--panel);max-width:100%;min-height:40px;color:inherit;cursor:pointer;border-radius:8px;flex:none;padding:6px 10px;font-size:.9rem;font-weight:600}.recipe-filter-select:focus-visible{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-glow);outline:none}.recipe-clear-filters{min-height:40px;color:var(--blue);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;padding:6px 12px;font-size:.85rem;font-weight:700}.recipe-clear-filters:hover{text-decoration:underline}.recipe-card-cost{color:var(--green);letter-spacing:-.04em;font-weight:800}.recipe-filter-toggle{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);cursor:pointer;border-radius:8px;flex:none;padding:6px 14px;font-size:.85rem;font-weight:700}.recipe-filter-toggle.active{background:var(--tint-green-bg-strong);border-color:var(--tint-green-border);color:var(--tint-green-text)}.recipe-tag-chips{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.recipe-tag-chip{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-pill);min-height:30px;color:var(--muted);cursor:pointer;text-transform:capitalize;padding:3px 12px;font-size:.8rem;font-weight:700}.recipe-tag-chip:hover{border-color:var(--line-strong)}.recipe-tag-chip.active{background:var(--tint-blue-bg);border-color:var(--tint-blue-border);color:var(--tint-blue-text)}.recipe-section{gap:12px;min-width:0;display:grid}.recipe-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-section-head h2{align-items:center;gap:8px;margin:0;font-size:1.15rem;display:flex}.recipe-section-head h2 svg{color:var(--gold)}.recipe-card-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px;min-width:0;display:grid}.recipe-rail{scroll-snap-type:x proximity;scrollbar-width:thin;grid-auto-columns:200px;grid-auto-flow:column;gap:14px;padding-bottom:8px;display:grid;overflow-x:auto}.recipe-rail .recipe-card{scroll-snap-align:start}.recipe-card{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:10px;flex-direction:column;align-items:stretch;min-width:0;text-decoration:none;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex;overflow:hidden}.recipe-card:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 10px 24px #2334401a}.recipe-card-media{aspect-ratio:16/10;background:var(--panel-3);position:relative;overflow:hidden}.recipe-card-media img,.recipe-detail-hero-media img,.recipe-preview-media img{object-fit:cover;width:100%;height:100%;display:block}.recipe-image-placeholder{width:100%;height:100%;min-height:92px;color:var(--muted-green);background:linear-gradient(135deg, var(--tint-green-bg) 0%, var(--panel-3) 100%);justify-content:center;align-items:center;display:flex}.recipe-card-featured{border-radius:var(--radius-pill);background:var(--gold-bright);color:#3a2a05;letter-spacing:.02em;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;top:8px;left:8px;box-shadow:0 2px 6px #0000002e}.recipe-card-body{gap:6px;min-width:0;padding:11px 12px 13px;display:grid}.recipe-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;font-size:.96rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.recipe-card-meta{white-space:nowrap;min-height:1.25em;color:var(--muted);flex-wrap:nowrap;align-items:center;gap:4px 10px;font-size:.8rem;display:flex;overflow:hidden}.recipe-card-meta span{align-items:center;gap:3px;display:inline-flex}.recipe-card-cuisine{color:var(--green);font-weight:700}.recipe-card-badges{flex-wrap:nowrap;gap:6px;min-height:21px;margin-top:1px;display:flex;overflow:hidden}.recipe-card-badge{border-radius:var(--radius-pill);padding:2px 8px;font-size:.7rem;font-weight:700;line-height:1.3;display:inline-block}.recipe-card-catalog{background:var(--tint-neutral-bg);color:var(--muted);border:1px solid var(--tint-neutral-border)}.recipe-showmore{justify-content:center;padding:4px 0 2px;display:flex}.recipe-showmore button{min-height:40px;padding:8px 22px;font-weight:700}.recipe-add-details summary{align-items:center;gap:6px;font-weight:800;display:flex}.link-button{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.recipe-detail-page{gap:16px;min-width:0;max-width:1080px;display:grid}.recipe-detail-topbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-back-button,.recipe-print-button{width:fit-content}.recipe-detail-status{color:var(--muted);align-items:center;gap:10px;padding:20px 0;display:flex}.recipe-detail-hero{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:22px;min-width:0;padding:16px;display:grid}.recipe-detail-hero-media{background:var(--panel-3);aspect-ratio:4/3;border-radius:10px;min-height:200px;overflow:hidden}.recipe-detail-hero-content{align-content:start;gap:12px;min-width:0;display:grid}.recipe-detail-badges{flex-wrap:wrap;gap:7px;display:flex}.recipe-badge{border-radius:var(--radius-pill);letter-spacing:.01em;border:1px solid #0000;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.recipe-badge-featured{background:var(--tint-gold-bg-strong);border-color:var(--tint-gold-border-strong);color:var(--tint-gold-text)}.recipe-badge-catalog{background:var(--tint-neutral-bg);border-color:var(--tint-neutral-border);color:var(--muted)}.recipe-badge-yours{background:var(--tint-green-bg-strong);border-color:var(--tint-green-border);color:var(--tint-green-text)}.recipe-badge-cuisine{background:var(--tint-blue-bg);border-color:var(--tint-blue-border);color:var(--tint-blue-text)}.recipe-badge-category{background:var(--tint-neutral-bg);border-color:var(--tint-neutral-border);color:var(--slate-surface)}.recipe-stat-cost{letter-spacing:-.02em;color:var(--green)!important;font-weight:800!important}.recipe-detail-hero-content h1{min-width:0;margin:0;font-size:1.9rem;line-height:1.12}.recipe-detail-description{color:var(--muted);max-width:62ch;margin:0;font-size:1rem;line-height:1.5}.recipe-detail-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 18px;padding:10px 0;display:flex}.recipe-detail-stats span{color:var(--ink);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}.recipe-detail-stats svg{color:var(--green)}.recipe-stat-total{color:var(--green)!important}.recipe-detail-tags{flex-wrap:wrap;gap:6px;display:flex}.recipe-chip{border-radius:var(--radius-pill);background:var(--panel-3);border:1px solid var(--line);color:var(--slate-surface);text-transform:capitalize;padding:2px 10px;font-size:.76rem;font-weight:600;display:inline-block}.recipe-detail-actions{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.recipe-detail-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.recipe-readonly-note{margin:-4px 0 0}.recipe-availability-strip{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.recipe-add-to-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipe-list-picker select{max-width:44vw}.recipe-availability-strip.status-ok{background:var(--tint-green-bg);border-color:var(--tint-green-border)}.recipe-availability-strip.status-soon{background:var(--tint-gold-bg);border-color:var(--tint-gold-border)}.recipe-availability-headline{gap:2px;min-width:0;display:grid}.recipe-availability-headline strong{font-size:.98rem}.recipe-detail-body{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:18px;min-width:0;display:grid}.recipe-detail-aside{min-width:0}.recipe-detail-aside .panel{position:sticky;top:16px}.recipe-detail-main{min-width:0}.recipe-servings-scaler{align-items:center;gap:6px;display:flex}.recipe-servings-value{text-align:center;min-width:34px;font-weight:800}.recipe-scale-reset{width:fit-content;min-height:30px;padding:3px 10px;font-size:.8rem}.recipe-ingredient-list{gap:0;margin:12px 0 0;padding:0;list-style:none;display:grid}.recipe-ingredient-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px;padding:9px 0;display:flex}.recipe-ingredient-list li:last-child{border-bottom:0}.recipe-ingredient-main{font-weight:600}.recipe-ingredient-notes{color:var(--muted);width:100%;font-size:.85rem}.recipe-ingredient-linked{border-radius:var(--radius-pill);background:var(--tint-green-bg-strong);border:1px solid var(--tint-green-border);color:var(--tint-green-text);padding:1px 7px;font-size:.68rem;font-weight:700;display:inline-block}.recipe-step-list{counter-reset:recipe-step;gap:16px;margin:14px 0 0;padding:0;list-style:none;display:grid}.recipe-step-list li{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:14px;line-height:1.55;display:grid}.recipe-step-num{background:var(--tint-green-bg-strong);border:1px solid var(--tint-green-border);width:30px;height:30px;color:var(--tint-green-text);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:flex}.recipe-step-text{padding-top:3px}.recipe-edit-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.recipe-builder-page{gap:16px;min-width:0;max-width:1100px;display:grid}.recipe-builder-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.recipe-builder-head h1{margin:0 0 2px;font-size:1.6rem}.recipe-builder-save{flex:none}.recipe-builder-grid{grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:start;gap:18px;min-width:0;display:grid}.recipe-builder-form{gap:14px;min-width:0;display:grid}.recipe-builder-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:12px;min-width:0;margin:0;padding:14px 16px 16px;display:grid}.recipe-builder-card legend{margin-left:-6px;padding:0 6px;font-size:1.02rem;font-weight:800}.recipe-builder-card label{color:var(--slate-surface);gap:5px;min-width:0;font-size:.85rem;font-weight:700;display:grid}.recipe-builder-card .field-full{grid-column:1/-1}.recipe-builder-fields{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.recipe-ing-head{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);grid-template-columns:72px 88px minmax(0,1fr) 38px;gap:8px;padding:0 2px;font-size:.72rem;font-weight:800;display:grid}.recipe-ing-row{grid-template-columns:72px 88px minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.recipe-ing-row input{min-width:0;min-height:38px}.recipe-step-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.recipe-step-index{background:var(--tint-green-bg-strong);border:1px solid var(--tint-green-border);width:26px;height:26px;color:var(--tint-green-text);border-radius:50%;justify-content:center;align-items:center;margin-top:6px;font-size:.82rem;font-weight:800;display:flex}.recipe-step-row textarea{resize:vertical;min-width:0}.recipe-step-controls{flex-direction:column;gap:4px;display:flex}.recipe-row-remove:not(:disabled):hover{color:var(--danger)}.recipe-add-row{border:1px dashed var(--line-strong);background:var(--panel-2);min-height:36px;color:var(--green);cursor:pointer;border-radius:8px;justify-self:start;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.recipe-add-row:hover{background:var(--tint-green-bg);border-color:var(--green)}.recipe-builder-preview{min-width:0}.recipe-preview-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;position:sticky;top:16px;overflow:hidden}.recipe-preview-media{aspect-ratio:16/10;background:var(--panel-3)}.recipe-preview-body{gap:9px;min-width:0;padding:14px;display:grid}.recipe-preview-name{font-size:1.1rem;font-weight:800;line-height:1.2}.recipe-preview-desc{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.recipe-preview-stats,.recipe-preview-counts{flex-wrap:wrap;gap:6px 14px;display:flex}.recipe-preview-stats span,.recipe-preview-counts span{color:var(--slate-surface);align-items:center;gap:5px;font-size:.84rem;font-weight:600;display:inline-flex}.recipe-preview-stats svg,.recipe-preview-counts svg{color:var(--green)}.recipe-preview-counts{border-top:1px solid var(--line);color:var(--muted);padding-top:8px}.recipe-preview-tags{flex-wrap:wrap;gap:5px;display:flex}.recipe-preview-list{color:var(--ink);gap:5px;margin:4px 0 0;padding:0;font-size:.86rem;list-style:none;display:grid}.recipe-preview-list li{border-bottom:1px solid var(--line);padding-bottom:5px}.recipe-preview-list li:last-child{border-bottom:0}@media (max-width:900px){.recipe-detail-body{grid-template-columns:1fr}.recipe-detail-aside .panel{position:static}.recipe-builder-grid{grid-template-columns:1fr}.recipe-preview-card{position:static}}@media (max-width:620px){.recipe-detail-hero{grid-template-columns:1fr}.recipe-detail-hero-media{max-height:240px}.recipe-detail-hero-content h1{font-size:1.5rem}.recipe-card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media print{.navigation,.app-header,.recipe-detail-topbar,.recipe-detail-actions,.recipe-availability-strip button,.recipe-showmore{display:none!important}.recipe-detail-hero,.recipe-detail-aside .panel,.recipe-detail-main .panel{box-shadow:none;border:0}.recipe-detail-body{grid-template-columns:1fr}.recipe-detail-page{max-width:none}}.meal-review{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:10px;padding:14px;display:grid;position:sticky;top:18px}.meal-review h2{margin:4px 0 0}.review-metric{border-color:var(--line);background:var(--panel-2)}.review-metric span,.pantry-mini-list small{color:var(--muted)}.pantry-mini-list{gap:8px;display:grid}.pantry-mini-list span{border-color:var(--line);background:var(--panel)}.meal-empty{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-column:1/-1;justify-items:start;gap:10px;padding:24px;display:grid}.meal-drawer{z-index:60;background:#17242d61;align-items:end;padding:18px;display:grid;position:fixed;inset:0}.meal-drawer-panel{background:var(--panel);border:1px solid var(--line);width:min(1100px,100%);max-height:min(88vh,900px);box-shadow:var(--shadow);border-radius:8px;justify-self:center;gap:16px;padding:18px;display:grid;overflow:auto}.drawer-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.drawer-header>div{min-width:0}.drawer-header h1{overflow-wrap:anywhere}.asset-detail-title{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:12px;display:grid}.asset-detail-title .asset-row-thumb{width:58px;height:58px;font-size:.9rem}.drawer-header .icon-button,.attachment-viewer-header .icon-button{flex:none;align-self:start}.drawer-actions{justify-content:end;align-items:center;gap:8px;display:flex}.drawer-grid{grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;display:grid}.asset-detail-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:16px;min-width:0;padding:16px;display:grid;box-shadow:0 8px 22px #2a313814}.asset-detail-empty{align-content:center;min-height:220px}.asset-detail-return{min-height:42px;color:var(--nav-ink);justify-self:start;font-weight:800;display:none}.asset-detail-panel .drawer-grid{grid-template-columns:minmax(0,1fr)}.detail-accordion{border:1px solid var(--line);background:var(--panel-2);border-radius:8px}.detail-accordion>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:9px 12px;list-style:none;display:flex}.detail-accordion>summary::-webkit-details-marker{display:none}.detail-accordion>summary:after{content:">";color:var(--muted);margin-left:auto;font-size:.8rem;font-weight:900}.detail-accordion[open]>summary:after{content:"v"}.detail-accordion>summary h2{align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.detail-accordion-body{align-content:start;gap:10px;padding:2px 12px 12px;display:grid}.detail-subheading{align-items:center;gap:8px;margin:8px 0 0;font-size:.95rem;display:flex}.attachment-upload-toggle{justify-self:start;align-items:center;gap:8px;display:inline-flex}.detail-danger-zone.detail-danger-zone{border:1px solid var(--tint-coral-border);background:var(--tint-coral-bg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.detail-danger-zone .inline-note{margin:2px 0 0}.detail-danger-zone .danger-button{background:var(--panel)}.asset-breadcrumb{flex-wrap:wrap;align-items:center;gap:2px;margin-top:2px;font-size:.8rem;display:flex}.asset-breadcrumb-segment{align-items:center;gap:2px;display:inline-flex}.asset-breadcrumb button{min-height:30px;color:var(--blue);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 5px;font-weight:700}.asset-breadcrumb button:hover,.asset-breadcrumb button:focus-visible{background:var(--tint-blue-bg);text-decoration:underline}.asset-breadcrumb-separator,.asset-breadcrumb-empty{color:var(--muted)}.asset-contains-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.asset-contains-label{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;font-weight:900}.asset-contains-chip{border:1px solid var(--tint-green-border-soft);background:var(--tint-green-bg);border-radius:999px;min-height:30px;padding:3px 10px;font-size:.78rem}.asset-contains-chip:hover{background:var(--tint-green-bg-strong)}.quick-entry-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.destination-cue,.placement-unplaced-note,.inventory-flow-note,.inventory-draft-restored{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;display:flex}.destination-cue-clear{min-height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px 4px;display:inline-flex}.inventory-draft-restored .link-button{min-height:24px;padding:0 4px}.inventory-draft-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.inventory-draft-list li{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.inventory-draft-list li>span:first-child{gap:2px;min-width:0;display:grid}.inventory-draft-list li small{color:var(--muted)}.inventory-draft-actions{align-items:center;gap:6px;display:inline-flex}.inventory-definition-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.inventory-definition-list li{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.inventory-definition-list li>span:first-child{gap:2px;min-width:0;display:grid}.inventory-definition-list li small{color:var(--muted)}.inventory-definition-properties{gap:8px;display:grid}.inventory-definition-property-row{grid-template-columns:minmax(90px,1fr) minmax(110px,1.2fr) auto minmax(80px,1fr) auto auto;align-items:center;gap:6px;display:grid}@media (max-width:700px){.inventory-definition-property-row{grid-template-columns:1fr 1fr}}.inventory-sync-preview{border:1px solid var(--tint-gold-border-strong,var(--line));background:var(--tint-gold-bg,var(--panel-2));border-radius:8px;gap:8px;padding:10px 12px;display:grid}.inventory-sync-preview ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.inventory-sync-preview small{color:var(--muted);padding-left:24px;display:block}.asset-attributes{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.asset-attributes-extra{gap:4px;margin:0;display:grid}.asset-attributes-extra div{gap:8px;display:flex}.asset-attributes-extra dt{color:var(--muted);font-weight:700}.asset-attributes-extra dd{overflow-wrap:anywhere;margin:0}.asset-split-row{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:grid}.asset-split-row input[type=number]{width:90px}.jump-to-combobox{margin-bottom:10px;position:relative}.jump-to-results{z-index:45}@keyframes inventory-reveal-flash{0%{box-shadow:0 0 0 3px var(--blue)}70%{box-shadow:0 0 0 3px var(--blue)}to{box-shadow:0 0 0 3px #0000}}.tree-row.reveal-flash{animation:1.8s ease-out inventory-reveal-flash}.asset-photo-manager{border:1px solid var(--line);background:var(--tint-green-soft);border-radius:8px;gap:10px;padding:12px;display:grid}.asset-photo-manager-header{gap:2px;display:grid}.asset-photo-manager-header small{color:var(--muted)}.drawer-grid section,.cooking-mode-preview{align-content:start;gap:10px;display:grid}.cook-confirm{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}.cooking-mode-preview{background:var(--media-surface);color:#fffdf7;white-space:pre-wrap;border-radius:8px;padding:18px;font-size:1.05rem;line-height:1.6}.chores-page{gap:14px;display:grid}.chore-view-tabs{flex-wrap:wrap;gap:8px;display:flex}.chore-view-tabs button{min-height:42px}.chore-view-tabs .active,.status-pill{background:var(--nav);color:#fff;border-color:var(--nav)}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.chore-stats-strip{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:9px 14px;display:flex}.chore-stat{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.chore-stat strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:18ch;font-size:.92rem;overflow:hidden}.chore-stat svg{color:var(--muted-green);flex:none}.chore-screen{gap:16px;min-width:0;max-width:100%;display:grid}.chore-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:16px;display:grid}.chore-create-layout{grid-template-columns:minmax(0,1fr);justify-self:center;align-items:start;gap:14px;width:100%;max-width:780px;display:grid}.chore-detail-layout{grid-template-columns:minmax(0,7fr) minmax(300px,5fr);align-items:start;gap:16px;width:100%;max-width:1200px;display:grid}.chore-detail-main,.chore-detail-side{align-items:start;gap:16px;min-width:0;display:grid}.chore-detail-side .attachment-row{flex-wrap:wrap;row-gap:8px}.chore-detail-side .attachment-row>.attachment-details{flex-basis:10rem}.chore-back-button{min-height:40px;color:var(--nav-ink);background:0 0;border-color:#0000;grid-column:1/-1;justify-self:start;padding-inline:0;font-weight:800}.chore-back-button:hover{color:var(--blue);background:0 0;border-color:#0000}.chore-main,.chore-side,.chore-list,.chore-template-column{gap:12px;display:grid}.chore-form{grid-template-columns:repeat(2,minmax(0,1fr))}.chore-side .chore-form{grid-template-columns:1fr}.chore-create-attachments{border-block:1px solid var(--line);gap:9px;padding:12px 0;display:grid}.chore-attachment-heading{color:var(--nav-ink);align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.compact-form{margin-bottom:12px}.wide{grid-column:1/-1}.chore-toolbar-count{color:var(--muted);margin-top:3px;font-size:.78rem;font-weight:700;display:block}.chore-queue-tree{gap:5px}.chore-group-row{background:var(--tint-green-bg)}.chore-row{min-height:54px}.chore-row.today .chore-state-rail:before{background:var(--gold)}.chore-row.overdue .chore-state-rail:before{background:var(--coral)}.chore-row.completed .chore-state-rail:before{background:var(--green)}.chore-row.skipped .chore-state-rail:before{background:var(--muted)}.chore-row-thumb.today{background:var(--tint-gold-bg-strong);border-color:var(--tint-gold-border);color:var(--tint-gold-text)}.chore-row-thumb.overdue{background:var(--tint-coral-bg-strong);border-color:var(--tint-coral-border);color:var(--danger)}.chore-row-thumb.upcoming{background:var(--tint-blue-bg);border-color:var(--tint-blue-border);color:var(--tint-blue-text)}.chore-row-thumb.completed{background:var(--tint-green-bg-strong);border-color:var(--tint-green-border);color:var(--green)}.chore-row-thumb.skipped{background:var(--tint-neutral-bg);border-color:var(--tint-neutral-border);color:var(--muted)}.chore-row-main-button{text-align:left;background:0 0;border:0;border-radius:0;justify-content:stretch;width:100%;min-width:0;min-height:0;padding:0}.chore-row-main-button:hover{background:0 0;border-color:#0000}.chore-row-main-button .asset-row-main{gap:3px;width:100%;min-width:0;display:grid}.chore-row-main-button .asset-title-line{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.chore-row-main-button .asset-title-line strong{overflow-wrap:anywhere;white-space:normal;flex:8rem;min-width:0;overflow:visible}.chore-row-main-button .asset-row-meta{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.chore-row-badge{text-transform:capitalize}.chore-row-badge.overdue{background:var(--tint-coral-bg-strong);color:var(--danger)}.chore-row-badge.today{background:var(--tint-gold-bg-strong);color:var(--tint-gold-text)}.chore-row-badge.completed{background:var(--tint-green-bg-strong);color:var(--green)}.chore-row-badge.skipped{background:var(--tint-neutral-bg);color:var(--muted)}.chore-row-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:max-content;display:flex}.chore-row-open-button,.chore-actions.compact button{width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.chore-row-open-button{color:var(--muted-green)}.chore-detail-summary{gap:10px;margin-bottom:14px;display:grid}.chore-detail-summary p{color:var(--muted)}.chore-detail-summary small{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chore-card{background:var(--tint-gold-soft);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;gap:10px;padding:12px;display:grid}.chore-card.overdue{border-left-color:var(--coral)}.chore-card.today{border-left-color:var(--gold)}.chore-card-main,.template-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.chore-card h3{margin:6px 0;font-size:1.05rem}.chore-card p{color:var(--muted);margin:0}.chore-card small{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chore-actions{flex-wrap:wrap;gap:6px;display:flex}.chore-actions button{gap:5px;min-height:42px;padding:6px 8px;font-size:.78rem}.chore-list-screen{gap:12px}.chore-list-action-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.chore-list-action-row .search-box{min-width:0;min-height:44px;margin-bottom:0}.chore-list-action-row .primary{white-space:nowrap;min-width:96px;min-height:44px}.chore-tree-panel{padding:12px}.chore-tree-panel>h2:empty{display:none}.chore-list-heading-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex;position:relative}.chore-list-heading-row h2{margin:0;font-size:1.12rem;line-height:1.12}.list-filter{flex:none;position:relative}.list-filter-trigger{min-height:38px;color:var(--nav-ink);padding:7px 10px;font-weight:750}.list-filter-trigger.has-filters{background:var(--tint-green-bg-strong);border-color:var(--tint-green-border);color:var(--green)}.list-filter-panel{z-index:30;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:10px;width:min(292px,100vw - 36px);padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 34px #1229332e}.filter-chip-grid{gap:7px;display:grid}.filter-chip-grid label{border:1px solid var(--line);background:var(--panel-2);min-height:38px;color:var(--ink);border-radius:8px;grid-template-columns:none;align-items:center;gap:8px;padding:7px 9px;font-weight:700;display:flex}.filter-chip-grid input{width:auto;min-height:0;accent-color:var(--green)}.filter-field{gap:5px;display:grid}.filter-result-note{color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.chore-row{cursor:pointer;grid-template-columns:16px 38px minmax(0,1fr) auto}.chore-row:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.chore-row-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:3px 12px;font-size:.76rem;font-weight:700;line-height:1.3;display:flex}.chore-row-meta>span{align-items:center;gap:4px;min-width:0;display:inline-flex}.chore-row-due.overdue{color:var(--danger)}.chore-row-due.today{color:var(--tint-gold-text)}.chore-repeat-mark{color:var(--muted);align-items:center;display:inline-flex}.chore-priority-badge.high,.chore-priority-badge.urgent{background:var(--tint-coral-bg-strong);color:var(--danger)}.chore-priority-badge.low{background:var(--tint-neutral-bg);color:var(--muted)}.chore-more-badge{background:var(--tint-blue-bg);color:var(--tint-blue-text)}.chore-complete-button{border:2px solid var(--tint-green-border);background:var(--panel);width:38px;min-width:38px;height:38px;min-height:38px;color:var(--muted-green);border-radius:50%;align-self:center;padding:0}.chore-complete-button:hover,.chore-complete-button:focus-visible{border-color:var(--green);background:var(--tint-green-bg-strong);color:var(--green)}.row-updated-time,.activity-time{min-height:0;color:var(--muted);font:inherit;font-weight:800;line-height:inherit;background:0 0;border:0;border-radius:0;padding:0}.row-updated-time:hover,.activity-time:hover{color:var(--nav-ink);border-color:#0000;text-decoration:underline}.chore-category-photo-icon{object-fit:cover;width:100%;height:100%}.chore-create-panel,.chore-detail-panel{padding:12px}.chore-create-panel>h2,.chore-detail-panel>h2{margin-bottom:10px}.chore-form{gap:9px}.chore-form textarea{min-height:82px}.due-picker-field,.category-picker-field{color:var(--muted);gap:6px;font-size:.88rem;display:grid;position:relative}.due-picker-label,.category-picker-field>span{font-weight:700}.due-picker-trigger,.category-picker-trigger{border-color:var(--line);background:var(--panel);min-height:44px;color:var(--ink);justify-content:space-between;padding-inline:10px}.due-picker-trigger-main,.category-trigger-main{align-items:center;gap:8px;min-width:0;font-weight:800;display:inline-flex}.due-picker-trigger.invalid{border-color:var(--danger);background:var(--tint-coral-bg-strong)}.due-picker-hint{color:var(--danger);font-size:.78rem;font-weight:700}.due-picker-time{color:var(--muted);font-weight:800}.due-picker-panel,.category-picker-panel{z-index:35;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:10px;padding:10px;display:grid;position:absolute;top:calc(100% + 7px);left:0;right:0;box-shadow:0 16px 34px #1229332e}.due-picker-input-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.category-picker-panel{grid-template-rows:auto minmax(0,1fr) auto;max-height:min(430px,76dvh);overflow:hidden}.category-search-box{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:none;align-items:center;gap:7px;min-height:38px;padding:0 9px;display:flex}.category-search-box input{background:0 0;border:0;padding-inline:0}.category-option-list{gap:5px;padding-right:2px;display:grid;overflow:auto}.category-option-row,.category-create-button{text-align:left;justify-content:flex-start;gap:9px;min-height:42px}.category-option-row[aria-pressed=true]{background:var(--tint-blue-bg);border-color:var(--blue);color:var(--nav-ink)}.category-option-icon{border:1px solid var(--tint-green-border-soft);background:var(--tint-green-soft);width:30px;height:30px;color:var(--nav-ink);border-radius:8px;flex:0 0 30px;place-items:center;display:grid;overflow:hidden}.material-symbol-icon{letter-spacing:0;text-transform:none;white-space:nowrap;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-family:Material Symbols Rounded,sans-serif;font-size:21px;font-weight:400;line-height:1}.category-create-button{background:var(--panel);color:var(--green);font-weight:800;position:sticky;bottom:0}.category-modal-backdrop,.draft-modal-backdrop,.delete-modal-backdrop{z-index:80;background:#12293357;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.category-modal,.draft-modal,.delete-modal{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:12px;width:min(100%,440px);max-height:min(88dvh,620px);padding:16px;display:grid;overflow:auto;box-shadow:0 20px 48px #1229333d}.category-modal h3,.draft-modal h3,.delete-modal h3{margin:0}.category-create-form{gap:10px;display:grid}.google-icon-status{color:var(--muted);margin:0;font-size:.8rem}.google-icon-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:7px;max-height:210px;display:grid;overflow:auto}.google-icon-option{min-width:0;min-height:44px;padding:0}.google-icon-option[aria-pressed=true]{background:var(--tint-blue-bg);border-color:var(--blue);color:var(--nav-ink)}.category-modal-actions,.draft-modal-actions,.delete-modal-actions,.create-action-row{gap:8px;display:grid}.create-action-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.draft-status{color:var(--green);margin:0;font-size:.82rem;font-weight:800}.recurrence-builder{border:0;gap:8px;margin:0;padding:0;display:grid}.recurrence-builder legend{color:var(--muted);padding:0;font-size:.88rem;font-weight:700}.recurrence-panel{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;gap:9px;padding:10px;display:grid}.recurrence-inline{color:var(--muted);grid-template-columns:auto 74px minmax(0,1fr);align-items:center;gap:7px;display:grid}.recurrence-label{color:var(--muted);margin-bottom:6px;font-size:.88rem;font-weight:700;display:block}.weekday-chip-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekday-chip{min-width:0;display:block}.weekday-chip input{opacity:0;pointer-events:none;position:absolute}.weekday-chip span{border:1px solid var(--line);background:var(--panel);min-height:34px;color:var(--ink);border-radius:8px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.weekday-chip input:checked+span{background:var(--tint-blue-bg);border-color:var(--blue);color:var(--nav-ink)}.ends-radio-group{gap:6px;display:grid}.ends-option{min-height:34px;color:var(--ink);grid-template-columns:none;align-items:center;gap:8px;display:flex}.ends-option input{width:auto;min-height:0;accent-color:var(--green)}.recurrence-preview{color:var(--nav-ink);margin:0;font-size:.84rem;font-weight:800;line-height:1.35}.chore-detail-summary{border-bottom:1px solid var(--line);padding-bottom:12px}.detail-field-list{display:grid}.detail-field{border-bottom:1px solid var(--line)}.detail-field-read{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;min-height:56px;padding:9px 0;display:grid}.detail-field-main{gap:3px;min-width:0;display:grid}.detail-label{color:var(--muted);font-size:.78rem;font-weight:800}.detail-value{color:var(--ink);overflow-wrap:anywhere;font-size:.98rem;font-weight:650;line-height:1.35}.detail-category-value{align-items:center;gap:6px;display:inline-flex}.detail-category-value svg{color:var(--muted-green)}.detail-edit-button{width:34px;min-width:34px;min-height:34px;color:var(--muted);background:0 0;border-color:#0000;padding:0}.detail-edit-button:hover{background:var(--tint-blue-bg);border-color:var(--tint-blue-border);color:var(--nav-ink)}.detail-field-edit{gap:8px;padding:9px 0;display:grid}.detail-field-actions{justify-content:flex-end;display:flex}.attachment-form{gap:8px;margin-bottom:10px;display:grid}.attachment-upload-stack{gap:10px;margin-bottom:10px;display:grid}.attachment-upload-stack .attachment-form{margin-bottom:0}.manual-pages-form{border-top:1px solid var(--line);padding-top:10px}.manual-page-label{flex:190px;min-width:min(100%,190px)}.manual-page-queue{gap:6px;margin:0;padding:0;list-style:none;display:grid}.manual-page-queue li{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:auto minmax(0,1fr) 34px;align-items:center;gap:8px;min-height:38px;padding:5px 6px 5px 10px;display:grid}.manual-page-queue span{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:800}.manual-page-queue strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;overflow:hidden}.manual-page-remove{width:32px;min-width:32px;min-height:32px;padding:0}.chore-activity-section{gap:10px;display:grid}.chore-activity-section h2{margin:0}.chore-comment-form{gap:7px;display:grid}.comment-composer-shell{grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:8px;display:grid;position:relative}.comment-input-pill{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:end;gap:6px;min-height:44px;padding:5px 6px 5px 11px;display:flex}.comment-input-pill textarea{resize:none;background:0 0;border:0;border-radius:0;flex:1;min-height:32px;max-height:104px;padding:5px 0}.comment-attach-button{width:34px;min-width:34px;min-height:34px;color:var(--muted);background:0 0;border-color:#0000;padding:0}.comment-send-button{border-color:var(--green);background:var(--green);color:#fff;width:44px;min-width:44px;min-height:44px;padding:0}.comment-send-button[hidden]{display:none}.comment-composer-shell:not(.has-send){grid-template-columns:minmax(0,1fr)}.comment-attach-menu{z-index:25;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:6px;width:min(230px,78vw);padding:8px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 28px #1229332e}.comment-attach-menu label{min-height:38px;color:var(--ink);cursor:pointer;grid-template-columns:none;align-items:center;gap:8px;font-weight:750;display:flex}.comment-attach-menu .file-action{border:0;justify-content:flex-start;min-height:38px;padding:0}.comment-attach-menu input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.comment-attachment-note{color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.activity-feed{border-top:1px solid var(--line);gap:0;display:grid}.activity-line{border-bottom:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:8px 0;display:grid}.activity-line:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.activity-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;line-height:1.35;display:-webkit-box;overflow:hidden}.activity-line.expanded .activity-text{display:block;overflow:visible}.status-pill{border-radius:var(--radius-pill);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;width:fit-content;max-width:100%;padding:4px 8px;font-size:.78rem;font-weight:700;display:inline-block;overflow:hidden}.projects-page,.project-main,.project-side{gap:10px;display:grid}.project-layout{grid-template-columns:minmax(270px,320px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.project-selector,.project-overview,.project-section,.project-action-form{background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 16px #2a313812}.project-selector{gap:8px;padding:10px;display:grid}.project-selector-head,.project-titlebar,.project-section-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.project-selector-head{align-items:center}.project-selector-head h2,.project-titlebar h2{margin:0}.compact-action{min-height:36px;padding:7px 10px}.project-list{gap:6px;display:grid}.project-list-item{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:0}.project-list-item.active{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}.project-list-item button{text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 8px;width:100%;padding:8px;display:grid}.project-list-main,.project-list-stats,.project-context-line,.project-row-meta{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;display:flex}.project-list-main{gap:2px;display:grid}.project-list-main strong,.project-titlebar h2,.project-data-row strong{overflow-wrap:anywhere}.project-list-main small,.project-list-stats small,.project-context-line,.project-row-meta,.project-data-row small,.project-empty{color:var(--muted)}.project-list-stats{grid-column:1/-1;font-size:.78rem}.project-overview{gap:10px;padding:12px;display:grid}.project-titlebar h2{margin:2px 0 4px;font-size:1.5rem;line-height:1.15}.project-context-line span{align-items:center;gap:4px;display:inline-flex}.project-cost-line{flex-wrap:wrap}.project-cost-seg{white-space:nowrap}.project-section-actions,.project-form-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-section-actions button,.project-section-head>button{min-height:40px;padding:7px 10px}.project-overview-settings{border-top:1px solid var(--line);padding-top:8px}.project-overview-settings summary{width:fit-content;min-height:38px;color:var(--nav-ink);cursor:pointer;align-items:center;gap:6px;font-weight:800;display:inline-flex}.project-overview-controls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:8px;margin-top:8px;display:grid}.project-sections{gap:10px;display:grid}.project-section{gap:8px;padding:10px;display:grid}.project-section-head{align-items:center}.project-section-head h3{align-items:start;gap:7px;margin:0;font-size:.95rem;display:inline-flex}.project-section-head h3 span{background:var(--tint-blue-bg);min-width:24px;min-height:22px;color:var(--nav-ink);border-radius:6px;place-items:center;font-size:.75rem;display:inline-grid}.project-table{border-top:1px solid var(--line);display:grid}.project-data-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 0;display:grid}.project-row-link,.project-row-buttons{flex-wrap:wrap;justify-content:end;align-items:center;gap:6px;display:inline-flex}.project-row-link{min-height:36px;color:var(--nav-ink);font-weight:800;text-decoration:none}.project-row-link.inline{justify-content:start;margin-top:5px}.project-row-buttons button{min-height:34px;padding:6px 8px}.project-row-meta{margin-top:4px;font-size:.78rem}.project-row-meta span{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;align-items:center;min-height:24px;padding:2px 6px;display:inline-flex}.project-empty{border-top:1px solid var(--line);padding-top:8px;font-size:.88rem}.project-form{grid-template-columns:repeat(2,minmax(0,1fr))}.project-action-form{gap:12px;padding:12px;display:grid}.project-form-actions{border-top:1px solid var(--line);justify-content:end;padding-top:10px}.feature-tabs{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;grid-column:1/-1;gap:8px;padding:8px;display:flex}.feature-tabs button.active{background:var(--nav);border-color:var(--nav);color:#fff}.feedback-page,.feedback-layout,.feedback-form,.feedback-list{gap:16px;display:grid}.feedback-layout{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start}.feedback-form{gap:12px}.feedback-type-grid{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.feedback-type-grid legend{color:var(--muted);margin-bottom:7px;font-size:.88rem;font-weight:800}.feedback-type-grid label{border:1px solid var(--line);cursor:pointer;text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:9px 10px;display:flex}.feedback-type-grid label.active{border-color:var(--blue);color:var(--nav-ink);background:#246f971a}.feedback-type-grid input{opacity:0;pointer-events:none;width:1px;position:absolute}.feedback-form textarea{min-height:168px}.feedback-upload{border:1px dashed var(--line);color:var(--ink);cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:12px;display:grid}.feedback-upload input{grid-column:1/-1}.feedback-file-list,.feedback-file-list span{background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:6px;max-width:100%;min-height:36px;padding:6px 9px;text-decoration:none;display:inline-flex}.feedback-file-list span span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feedback-file-list small{color:var(--muted);font-weight:700}.feedback-result{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.feedback-result.success,.feedback-sync-pill.success{color:var(--green);background:#2473581a}.feedback-result.failed,.feedback-sync-pill.failed{color:var(--danger);background:#b9423f1a}.feedback-result.pending,.feedback-sync-pill.pending{color:var(--tint-gold-text);background:#bd8f221f}.feedback-result.muted,.feedback-sync-pill.muted{background:var(--panel-3);color:var(--muted)}.feedback-row{border-bottom:1px solid var(--line);gap:10px;padding:0 0 14px;display:grid}.feedback-row:last-child{border-bottom:0;padding-bottom:0}.feedback-row-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.feedback-row h3{color:var(--ink);overflow-wrap:anywhere;margin:6px 0 2px;font-size:1rem}.feedback-row p{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.feedback-row small{color:var(--muted)}.feedback-sync-pill{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:6px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.feedback-github-link{justify-self:start;gap:6px}.feedback-sync-error{overflow-wrap:anywhere}.floor-plan-page{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.floor-plan-side,.floor-plan-main,.floor-plan-workbench{gap:16px;min-width:0;display:grid}.floor-plan-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(160px,220px) auto auto;align-items:center;gap:12px;min-width:0;padding:14px;display:grid}.floor-plan-toolbar h2{margin:4px 0 0;font-size:1.4rem}.floor-plan-canvas-wrap{border:1px solid var(--line);background:#f2f7f5;border-radius:8px;max-width:100%;min-height:440px;padding:12px;position:relative;overflow:auto}.floor-plan-canvas{aspect-ratio:3/2;cursor:grab;touch-action:none;width:100%;min-width:720px;max-width:100%;height:auto;display:block}.floor-canvas-controls{z-index:2;gap:6px;display:flex;position:absolute;top:12px;right:12px}.floor-canvas-controls .icon-button{background:#ffffffeb;box-shadow:0 8px 22px #121c181f}.floor-plan-canvas.is-panning{cursor:grabbing}.floor-plan-background{fill:#fffdf7;stroke:#d7ded9;stroke-width:2px}.floor-room-rect{fill:#e6f0ec;stroke:var(--green);stroke-width:3px}.floor-zone-rect{fill:#eebe593d;stroke:#b98418;stroke-dasharray:10 7;stroke-width:2px}.floor-layout-asset{cursor:grab;fill:#fff;stroke:#30445a;stroke-width:3px}.floor-layout-asset.selected{fill:var(--selection-fill);stroke:var(--selection-stroke)}.floor-layout-asset.highlighted{fill:var(--tint-coral-bg-strong);stroke:var(--coral);stroke-width:5px}.floor-import-background{opacity:.26}.floor-import-room{fill:#e5f0e5;stroke:#18201c38;stroke-width:2px}.floor-import-wall{stroke:#101412;stroke-width:2.25px;stroke-linecap:butt;vector-effect:non-scaling-stroke}.floor-import-opening{stroke-width:2px}.floor-import-opening.door{fill:#fff7ef;stroke:#a95f30}.floor-import-opening.window{fill:#edf7ff;stroke:#2870a6}.floor-import-fixture{fill:#5c774929;stroke:#596f48;stroke-width:2px}.floor-import-fixture.stair{fill:#879c7838}.floor-import-dimension{stroke:var(--purple);stroke-dasharray:7 6;stroke-width:1.6px;vector-effect:non-scaling-stroke}.floor-import-room-label,.floor-import-fixture-label,.floor-import-dimension-label{paint-order:stroke;stroke:#ffffffe6;stroke-width:4px;dominant-baseline:middle;text-anchor:middle}.floor-import-room-label{font-size:18px}.floor-import-fixture-label{fill:var(--tint-green-text);font-size:11px}.floor-import-dimension-label{fill:var(--purple);font-size:13px}.floor-plan-canvas text{pointer-events:none;fill:var(--ink);font-size:18px;font-weight:700}.floor-plan-canvas .floor-import-fixture-label{fill:var(--tint-green-text);font-size:11px}.floor-plan-canvas .floor-import-dimension-label{fill:var(--purple);font-size:13px}.floor-plan-workbench{grid-template-columns:minmax(280px,1fr) minmax(280px,1fr) minmax(240px,.8fr);align-items:start}.fp-editor{flex-direction:column;gap:10px;display:flex}.fp-editor-toolbar{background:#ffffffeb;border:1px solid #182a221a;border-radius:12px;align-items:center;gap:14px;padding:6px 12px;display:flex}.fp-tool-group{gap:4px;display:flex}.fp-conflict-banner{background:#fff4de;border:1px solid #9e691666;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.fp-conflict-banner span{margin-right:auto}.fp-convert-modal{max-width:460px}.fp-convert-warnings{background:#fff4de;border-radius:10px;padding:8px 12px;font-size:13px}[data-theme=dark] .fp-convert-warnings{background:#40341a}[data-theme=dark] .fp-conflict-banner{background:#40341a;border-color:#9e691699}.fp-editor-toolbar .icon-button{min-width:44px;min-height:44px}.fp-editor-toolbar .icon-button.active{color:#1f6f4a;background:#1f6f4a24}.fp-save-state{opacity:.85;align-items:center;gap:6px;margin-left:auto;font-size:13px;display:inline-flex}.fp-save-state.is-error{color:#b02a2a}.fp-save-state.is-pending-offline,.fp-save-state.is-conflict{color:#9e6916}.fp-editor-body{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start;gap:12px;display:grid}.fp-editor-side{flex-direction:column;gap:10px;display:flex}.fp-editor-zoom{gap:6px;display:flex}.fp-editor-canvas.tool-draw-room{cursor:crosshair}.fp-editor-canvas.tool-pan{cursor:grab}.fp-grid-line{stroke:#182a2212;stroke-width:1px;vector-effect:non-scaling-stroke}.fp-reference-layer{opacity:.45;pointer-events:none}.fp-room{cursor:move;fill:#d5e8dcd9;stroke:#305442;stroke-width:2px;vector-effect:non-scaling-stroke}.fp-room.selected{fill:#c4e3d0eb;stroke:#1f6f4a}.fp-room-label{font-size:15px;font-weight:600}.fp-draft-room{fill:#1f6f4a1f;stroke:#1f6f4a;stroke-dasharray:6 4;stroke-width:1.5px;vector-effect:non-scaling-stroke}.fp-snap-guide{stroke:#c55420;stroke-dasharray:6 5;stroke-width:1px;vector-effect:non-scaling-stroke}.fp-selection-outline{fill:none;stroke:#1f6f4a;stroke-width:2px;vector-effect:non-scaling-stroke}.fp-edge-hit{cursor:ew-resize;stroke:#0000}.fp-edge-handle,.fp-vertex-handle{cursor:grab;fill:#fff;stroke:#1f6f4a;stroke-width:1.5px;vector-effect:non-scaling-stroke}.fp-edge-handle.active,.fp-vertex-handle.active{fill:#1f6f4a}.fp-inspector-name{flex-direction:column;gap:4px;display:flex}.fp-opening{fill:#fff;stroke:#305442;stroke-width:1.5px;cursor:grab;vector-effect:non-scaling-stroke}.fp-opening.window{fill:#bedcf4}.fp-opening.selected{stroke:#c55420;stroke-width:2.5px}.fp-opening-target{cursor:copy}.fp-room.measured{fill:#bfe7c9eb}.fp-room.unmeasured{fill:#f5e3bbe0}.fp-dimension-label{cursor:pointer;fill:#42524a;text-anchor:middle;font-size:13px}.fp-dimension-label.measured{fill:#1f6f4a;font-weight:700}.fp-dimension-sheet{flex-direction:column;gap:10px;display:flex}.fp-dimension-rows{flex-direction:column;gap:6px;display:flex}.fp-dimension-rows label{align-items:center;gap:8px;display:flex}.fp-dimension-rows label span{flex:1;font-size:13px}.fp-dimension-rows input{width:90px}.fp-dimension-rows input.measured{border-color:#1f6f4a}.fp-dimension-rows label.focused span{font-weight:700}[data-theme=dark] .fp-opening{fill:#18201c;stroke:#97c5ac}[data-theme=dark] .fp-room.measured{fill:#2e5c3eeb}[data-theme=dark] .fp-room.unmeasured{fill:#5c4c28e0}[data-theme=dark] .fp-dimension-label{fill:#becdc4}[data-theme=dark] .fp-editor-toolbar{background:#18201ceb;border-color:#ffffff1f}[data-theme=dark] .fp-room{fill:#344e40d9;stroke:#97c5ac}[data-theme=dark] .fp-room.selected{fill:#3c604ceb}[data-theme=dark] .fp-edge-handle,[data-theme=dark] .fp-vertex-handle{fill:#18201c}@media (max-width:900px){.fp-editor-body{grid-template-columns:minmax(0,1fr)}.fp-editor-toolbar{z-index:3;order:2;position:sticky;bottom:8px}.fp-editor{flex-direction:column-reverse}}.floor-layer-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.floor-layer-toggles label{text-transform:capitalize;align-items:center;gap:8px;display:flex}.floor-model-stats{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:0;display:grid}.floor-model-stats dt{color:var(--muted);align-items:center;gap:6px;display:flex}.floor-model-stats dd{margin:0;font-weight:800}.floor-list-row{gap:4px;display:grid}.floor-list-row button{justify-content:flex-start;width:100%}.floor-list-row .active{border-color:var(--green);background:var(--tint-green-bg-strong)}.floor-asset-search{gap:8px;display:grid}.floor-asset-search article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:8px;display:grid}.floor-asset-search small{color:var(--muted);margin-top:4px;display:block}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.modal-backdrop{z-index:40;background:#121c1885;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:14px;width:min(760px,100%);max-height:min(760px,100vh - 36px);padding:16px;display:grid;overflow:auto;box-shadow:0 24px 70px #121c1847}.modal header,.modal footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.floor-import-summary{flex-wrap:wrap;gap:8px;display:flex}.floor-import-summary span{background:var(--tint-green-bg-strong);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:.86rem;font-weight:700}.floor-import-modal>label{gap:6px;display:grid}.floor-import-select-all{align-items:center;gap:8px!important;display:flex!important}.floor-import-room-list{border:1px solid var(--line);border-radius:8px;max-height:320px;display:grid;overflow:auto}.floor-import-room-list label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.floor-import-room-list label+label{border-top:1px solid var(--line)}.floor-import-room-list small{color:var(--muted);margin-top:3px;display:block}.amount{font-weight:800}.amount.negative{color:var(--danger)}.amount.positive{color:var(--green)}.list-switcher{gap:8px;margin:0 0 12px;padding-bottom:6px;display:flex;overflow-x:auto}.list-switcher button{flex:none;justify-content:flex-start}.list-switcher .active{background:var(--tint-blue-bg);border-color:var(--blue);color:var(--nav-ink)}.list-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.list-heading h3{margin:0}.bms-page{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.setup-panel{border-left:4px solid var(--green)}.bms-side,.bms-main,.bms-workbench{gap:16px;display:grid}.bms-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.bms-toolbar h2{margin:4px 0 0;font-size:1.4rem}.bms-device-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.bms-device-card{background:var(--tint-green-soft);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;gap:12px;padding:14px;display:grid}.bms-device-head,.bms-command-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.bms-device-head span:first-child,.bms-list-row strong{align-items:center;gap:6px;min-width:0;display:inline-flex}.bms-readings{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.bms-readings span{background:var(--tint-gold-soft);border:1px solid var(--line);border-radius:8px;gap:2px;min-width:0;padding:10px;display:grid}.bms-readings strong{font-size:1.1rem}.bms-command-form label{margin:0}.bms-workbench{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(240px,.8fr);align-items:start}.bms-connector-row,.bms-list-row{gap:4px;display:grid}.network-page{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.network-side,.network-main,.network-workbench{gap:16px;min-width:0;display:grid}.network-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.network-toolbar h2{margin:4px 0 0;font-size:1.4rem}.network-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.network-summary-grid span{background:var(--tint-green-soft);border:1px solid var(--line);border-radius:8px;gap:2px;min-width:0;padding:10px;display:grid}.network-summary-grid strong{color:var(--ink);font-size:1.16rem}.network-summary-grid small,.network-list-row small{color:var(--muted)}.network-tabs{gap:8px;display:grid}.network-tabs button{text-transform:capitalize;justify-content:flex-start}.network-tabs button.active{background:var(--nav);border-color:var(--nav);color:#fff}.network-workbench{grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);align-items:start}.network-list-row{gap:5px;display:grid}.network-list-row strong,.network-inline-form{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.network-inline-form{margin-top:4px}.network-inline-form input,.network-inline-form select{flex:120px;min-width:120px}.checkbox-line{grid-template-columns:auto minmax(0,1fr);align-items:center}.checkbox-line input[type=checkbox]{width:auto;min-height:0}.status-pill.online,.status-pill.healthy,.status-pill.enabled{background:var(--green);border-color:var(--green)}.status-pill.offline,.status-pill.unhealthy,.status-pill.degraded,.status-pill.down,.status-pill.disabled{background:var(--coral);border-color:var(--coral)}.status-pill.unknown{background:var(--tint-blue-bg);border-color:var(--line);color:var(--muted)}.assistant-page{gap:12px;min-width:0;display:grid}.assistant-page-layer{flex-direction:column;gap:12px;min-width:0;display:flex;position:relative}.assistant-history-scrim{z-index:6;background:#161f276b;border-radius:12px;position:absolute;inset:0}.assistant-history-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);visibility:hidden;z-index:7;border-radius:12px;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;width:min(320px,86vw);padding:12px;transition:transform .22s,visibility 0s .22s;display:grid;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.assistant-history-panel.open{visibility:visible;transition:transform .22s;transform:none}.assistant-history-panel .assistant-chats-search,.assistant-history-panel .assistant-chats-archived-toggle{margin:0}.assistant-history-panel .assistant-chats-list{padding:0}.assistant-history-panel .assistant-chats-archived-toggle input{flex:none;width:16px;height:16px;min-height:0}@media (prefers-reduced-motion:reduce){.assistant-history-panel,.assistant-history-panel.open{transition:none}}.proposal-group-head{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:14px;display:flex}.proposal-group-head h3,.proposal-card h3,.proposal-card h4{margin:0}.assistant-access-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assistant-chat-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.assistant-chat-heading{align-items:center;gap:10px;min-width:0;display:flex}.assistant-chat-heading h2{margin:0;font-size:1.2rem}.assistant-status-pill{border-radius:var(--radius-pill,999px);white-space:nowrap;gap:6px;min-height:30px;padding:4px 11px;font-size:.8rem;font-weight:700}.assistant-status-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px}.assistant-status-pill.warn .assistant-status-dot{background:var(--gold-bright)}.assistant-status-pill.off .assistant-status-dot{background:var(--muted)}.assistant-status-pill.training .assistant-status-dot{background:var(--gold-bright)}.assistant-enable-callout.training{background:var(--tint-amber-bg,#d9a44114);border-color:var(--tint-amber-border,#d9a44166)}.assistant-enable-callout.training>svg{color:var(--gold-bright)}.assistant-chat-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assistant-chat-header-actions select{width:auto;min-height:38px}.assistant-chat-header-actions button{white-space:nowrap;gap:6px}.assistant-proposal-banner{background:var(--tint-gold-bg);border:1px solid var(--tint-gold-border);color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 12px;font-weight:700;text-decoration:none;display:flex}.assistant-proposal-banner-cta{background:var(--nav);color:#fff;white-space:nowrap;border-radius:6px;margin-left:auto;padding:4px 10px;font-size:.8rem}.assistant-chat{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex;position:relative;box-shadow:0 8px 22px #2a313814}.assistant-jump-latest{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-pill,999px);box-shadow:var(--shadow);color:var(--ink);z-index:5;justify-content:center;align-items:center;min-width:36px;height:36px;min-height:36px;padding:0 10px;display:inline-flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.assistant-jump-latest:hover{border-color:var(--nav)}.assistant-transcript{align-content:start;gap:10px;min-height:320px;max-height:min(62dvh,680px);padding:2px;display:grid;overflow:auto}.assistant-empty{color:var(--muted);text-align:center;align-content:center;justify-items:center;gap:7px;padding:4px 0 8px;display:grid}.assistant-empty strong{color:var(--ink);font-size:1.12rem}.assistant-chat-idle{min-height:min(72dvh,760px)}.assistant-chat-idle .assistant-transcript{flex:none;min-height:0;max-height:none;margin-top:auto;overflow:visible}.assistant-chat-idle>:last-child{margin-bottom:auto}.assistant-chat-idle .assistant-composer,.assistant-chat-idle .assistant-enable-callout,.assistant-chat-idle .assistant-idle-history{width:100%;max-width:720px;margin-inline:auto}.assistant-chat-idle .assistant-composer{background:0 0;border-top:0;padding-top:0;padding-bottom:0;position:relative}.assistant-idle-history{flex-direction:column;gap:6px;min-height:0;margin-top:10px;display:flex}.assistant-idle-history .eyebrow{margin:0 0 2px}.assistant-idle-history-more{color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;padding:8px;display:flex}.assistant-idle-history-more:hover{color:var(--ink)}.assistant-message{min-width:0;display:flex}.assistant-message.user{justify-content:flex-end}.assistant-message-bubble{background:var(--tint-green-soft);border:1px solid var(--line);border-radius:14px 14px 14px 4px;gap:8px;min-width:0;max-width:min(680px,92%);padding:10px 12px;display:grid;position:relative}.assistant-message.user .assistant-message-bubble{background:var(--nav);border-color:var(--nav);color:#fff;border-radius:14px 14px 4px}.assistant-message-bubble small{color:var(--muted);font-weight:700}.assistant-message.user .assistant-message-bubble small{color:#ffffffb8}.assistant-message-bubble.assistant-thinking{align-items:center;gap:10px;display:flex}.assistant-thinking p{color:var(--muted);margin:0}.assistant-typing{gap:4px;display:inline-flex}.assistant-typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite assistant-typing}.assistant-send .assistant-typing i{background:#fff}.assistant-typing i:nth-child(2){animation-delay:.18s}.assistant-typing i:nth-child(3){animation-delay:.36s}@keyframes assistant-typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.assistant-message-bubble.assistant-thinking-feed{gap:8px;min-width:min(420px,88%);display:grid}.assistant-turn-progress{border-left:2px solid var(--line);gap:6px;margin:0;padding:2px 0 2px 10px;list-style:none;display:grid}.assistant-turn-progress li{gap:2px;min-width:0;font-size:.84rem;display:grid}.assistant-turn-progress-label{color:var(--ink);font-weight:700}.assistant-turn-progress li.thought .assistant-turn-progress-label{color:var(--muted);font-style:italic;font-weight:600}.assistant-turn-progress li.tool-ok .assistant-turn-progress-label{color:var(--green)}.assistant-turn-progress li.tool-fail .assistant-turn-progress-label{color:var(--danger)}.assistant-turn-progress-meta{color:var(--muted);font-style:normal;font-weight:600}.assistant-turn-progress-detail{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.assistant-turn-trace{border:1px solid var(--line);border-radius:8px;justify-self:start;max-width:min(680px,92%);overflow:hidden}.assistant-turn-trace summary{color:var(--muted);cursor:pointer;align-items:center;gap:6px;min-height:36px;padding:6px 10px;font-size:.84rem;font-weight:700;display:flex}.assistant-turn-trace summary::-webkit-details-marker{display:none}.assistant-turn-trace .assistant-turn-progress{border-left:0;border-top:1px solid var(--line);padding:8px 10px}.assistant-thoughts{border:1px dashed var(--line);border-radius:8px;overflow:hidden}.assistant-turn-trace .assistant-thoughts,.assistant-turn-trace .assistant-tool-calls{border-left:0;border-right:0;border-top:1px solid var(--line);border-radius:0}.assistant-thoughts>summary{color:var(--muted);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;font-weight:700;display:flex}.assistant-thoughts>summary::-webkit-details-marker{display:none}.assistant-thoughts-live{background:var(--tint-blue-bg,#4a7bd914);gap:4px;padding:6px 10px;display:grid}.assistant-thoughts-title{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.assistant-thoughts-body{color:var(--muted);white-space:pre-wrap;word-break:break-word;max-height:260px;margin:0;padding:6px 10px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;overflow:auto}.assistant-thoughts-live .assistant-thoughts-body{max-height:200px;padding:0}.assistant-tool-calls{gap:6px;padding:8px 10px;display:grid}.assistant-tool-call{border:1px solid var(--line);border-radius:8px;overflow:hidden}.assistant-tool-call>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;display:flex}.assistant-tool-call>summary::-webkit-details-marker{display:none}.assistant-tool-call-name{font-weight:700}.assistant-tool-call-id{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}.assistant-tool-call-status{text-transform:lowercase;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700}.assistant-tool-call-status.ok{background:var(--tint-green-bg,#3a9a6a1f);color:var(--green)}.assistant-tool-call-status.fail{background:var(--tint-coral-bg,#d95f541f);color:var(--danger)}.assistant-tool-call-meta{color:var(--muted);font-size:.76rem;font-weight:600}.assistant-tool-call-summary{color:var(--muted);margin:0;padding:0 10px 6px;font-size:.8rem}.assistant-tool-io{border-top:1px solid var(--line);gap:2px;padding:6px 10px;display:grid}.assistant-tool-io-label{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.assistant-tool-io pre{background:var(--surface-2,#0f172a0a);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:320px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.4;overflow:auto}.assistant-message-bubble.assistant-message-error{background:var(--tint-coral-bg);border-color:var(--tint-coral-border)}.assistant-message-error strong{color:var(--danger)}.assistant-error-hint{color:var(--muted);font-size:.85rem}.assistant-message-bubble.assistant-approval-card{background:var(--tint-amber-bg,#d9a44114);border-color:var(--tint-amber-border,#d9a44166);gap:8px;display:grid}.assistant-approval-head{display:contents}.assistant-approval-meta{color:var(--muted);font-size:.85rem}.assistant-approval-actions{flex-wrap:wrap;gap:8px;display:flex}.assistant-approval-actions button{flex:140px;min-height:44px}.assistant-approval-item{gap:2px;min-width:0;margin:0;display:grid}.assistant-approval-item-name{color:var(--nav-ink);overflow-wrap:anywhere;font-size:1.02rem;font-weight:800}.assistant-approval-item-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.assistant-approval-item-list{color:var(--nav-ink);overflow-wrap:anywhere;font-size:.88rem;font-weight:700}.assistant-approval-attachment{min-width:0;margin:4px 0}.assistant-approval-attachment-preview{border:1px solid var(--divider,#0000001f);object-fit:contain;border-radius:10px;width:auto;max-width:100%;max-height:220px;display:block}.assistant-approval-attachment-file{background:var(--surface-2,#0000000d);color:var(--nav-ink);overflow-wrap:anywhere;border-radius:8px;padding:6px 10px;font-size:.9rem;font-weight:600;display:inline-block}.assistant-approval-links{flex-wrap:wrap;gap:12px;display:flex}.assistant-approval-link{box-shadow:none;color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;min-height:36px;padding:4px 2px;font-size:.85rem;font-weight:700;display:inline-flex}.assistant-approval-link:hover{text-decoration:underline}.assistant-approval-link-disabled{color:var(--muted);align-items:center;gap:5px;min-height:36px;padding:4px 2px;font-size:.85rem;display:inline-flex}.assistant-approvals-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;padding:3px 4px;font-size:.66rem;font-weight:800;line-height:1;position:absolute;top:2px;right:2px}.assistant-approval-refine{gap:8px;display:grid}.assistant-approval-refine label{gap:4px;font-size:.85rem;font-weight:700;display:grid}.assistant-approval-refine input{width:100%;min-height:40px}.assistant-approval-refine-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.assistant-approval-diff summary{cursor:pointer;color:var(--muted);font-size:.85rem}.assistant-approval-diff pre{max-height:220px;margin:6px 0 0;font-size:.78rem;overflow:auto}.assistant-message-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.assistant-answer-text{gap:8px;min-width:0;display:grid}.assistant-answer-list{gap:6px;margin:0;padding-left:18px;display:grid}.assistant-answer-list li{overflow-wrap:anywhere;padding-left:2px}.assistant-sources{gap:7px;display:grid}.assistant-source-strip{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.assistant-source-chip{background:var(--panel);border:1px solid var(--line);color:var(--nav-ink);border-radius:6px;gap:1px;max-width:100%;min-height:32px;padding:5px 7px;display:inline-grid}.assistant-source-chip strong,.assistant-source-chip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-source-chip small{color:var(--muted);font-size:.72rem}.assistant-links{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin-top:7px;display:flex}.assistant-links-label{color:var(--muted);font-size:.72rem}.assistant-link-chip{background:var(--panel);border:1px solid var(--line);color:var(--blue);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:100%;min-height:28px;padding:4px 9px;font-size:.78rem;text-decoration:none;overflow:hidden}.assistant-link-chip:hover{border-color:var(--blue);text-decoration:underline}.assistant-message-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.assistant-message-menu-button{color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;width:26px;min-width:26px;height:26px;min-height:26px;padding:0}.assistant-message-menu-button:hover{color:var(--ink);background:#12344714}.assistant-menu-backdrop{z-index:70;background:0 0;position:fixed;inset:0}.assistant-message-menu{background:var(--panel);border:1px solid var(--line);z-index:75;border-radius:8px;min-width:220px;display:grid;position:absolute;top:36px;right:8px;overflow:hidden;box-shadow:0 10px 26px #00000029}.assistant-message-menu button{background:var(--panel);text-align:left;border:0;border-radius:0;justify-content:flex-start;gap:8px;min-height:44px;padding:9px 12px}.assistant-message-menu button+button{border-top:1px solid var(--line)}.assistant-message-menu button:hover{background:#f2f7f5}.assistant-dialog-backdrop{justify-content:center;align-items:center}.assistant-message-dialog{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:12px;width:100%;max-width:min(540px,100%);max-height:min(80dvh,640px);padding:14px;display:grid;overflow:auto;box-shadow:0 18px 42px #00000038}.assistant-dialog-body{gap:9px;min-height:0;display:grid;overflow:auto}.assistant-dialog-body article{border:1px solid var(--line);border-radius:8px;gap:3px;padding:10px;display:grid}.assistant-dialog-body article small{color:var(--muted)}.assistant-dialog-body article p{color:var(--muted);margin:0}.assistant-dialog-form{gap:10px;display:grid}.assistant-dialog-form label{gap:4px;display:grid}.assistant-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.assistant-activity-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.assistant-activity-counts span{background:var(--tint-green-soft);border:1px solid var(--line);border-radius:8px;gap:2px;min-width:0;padding:9px;display:grid}.assistant-activity-counts strong{color:var(--nav-ink);font-size:1.1rem}.assistant-activity-counts small{color:var(--muted)}.assistant-enable-callout{border:1px solid var(--tint-green-border);background:var(--tint-green-bg);border-radius:8px;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;display:flex}.assistant-enable-callout.blocked{background:var(--tint-coral-bg);border-color:var(--tint-coral-border)}.assistant-enable-callout.blocked>svg{color:var(--coral)}.assistant-enable-callout>svg{color:var(--green);flex:none}.assistant-enable-copy{flex:auto;gap:2px;min-width:0;display:grid}.assistant-enable-copy strong{font-weight:800}.assistant-enable-copy span{color:var(--muted);font-size:.88rem}.assistant-enable-callout button{flex:none}.assistant-composer{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding-top:10px;display:grid;position:relative}.assistant-composer textarea{resize:none;border-radius:12px;min-height:44px;max-height:160px}.assistant-send{border-radius:12px;min-width:52px;height:44px}.assistant-send:disabled{opacity:.55}.assistant-composer-actions{align-items:center;gap:6px;display:flex}.assistant-file-input{display:none}.assistant-attach{border-radius:12px;min-width:44px;height:44px}.assistant-staged-uploads{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.assistant-staged-chip{background:var(--surface-2,var(--surface));border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;max-width:240px;padding:4px 6px 4px 4px;display:inline-flex}.assistant-staged-thumb{object-fit:cover;border-radius:6px;flex:none;width:28px;height:28px}.assistant-staged-thumb-file{background:var(--line);color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.assistant-staged-name{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.assistant-staged-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;align-items:center;padding:2px;display:inline-flex}.assistant-staged-remove:hover:not(:disabled){background:var(--line);color:var(--text)}.assistant-staged-uploading{color:var(--muted)}.assistant-staged-error{color:var(--danger);grid-column:1/-1;margin:0;font-size:.82rem}.assistant-composer-dragging{outline:2px dashed var(--accent,var(--brand,#6366f1));outline-offset:4px;border-radius:12px}.assistant-composer-drop{background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--muted);pointer-events:none;z-index:3;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:.9rem;display:flex;position:absolute;inset:0}.assistant-voice,.assistant-voice-cancel{border-radius:12px;min-width:44px;height:44px;padding:0}.assistant-voice.recording{border-color:var(--danger);color:var(--danger)}.assistant-voice-elapsed{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.assistant-voice-dot{background:var(--danger);border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite assistant-voice-pulse;display:inline-block}@keyframes assistant-voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}@media (prefers-reduced-motion:reduce){.assistant-voice-dot{animation:none}}.assistant-voice-note{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--muted);z-index:5;border-radius:8px;margin:0;padding:7px 10px;font-size:.85rem;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.assistant-details-drawer{grid-template-rows:auto minmax(0,1fr)}.assistant-details-body{gap:14px;min-height:0;display:grid;overflow:auto}.assistant-details-body h3{margin:0 0 8px;font-size:.95rem}.assistant-details-list{gap:8px;display:grid}.assistant-details-list>div{border:1px solid var(--line);border-radius:8px;gap:2px;min-width:0;padding:9px 10px;display:grid}.assistant-details-list small{color:var(--muted);font-weight:700}.assistant-details-list strong{overflow-wrap:anywhere}.assistant-model-picker{gap:6px;display:grid}.assistant-model-picker select{width:100%;min-height:38px}.assistant-model-picker small{color:var(--muted)}.assistant-model-picker .assistant-model-switching{color:var(--tint-gold-text);font-weight:700}.assistant-details-body .inline-note{margin:8px 0 0}.assistant-activity-backdrop{z-index:80;background:#161f276b;justify-content:flex-end;align-items:stretch;padding:12px;display:flex;position:fixed;inset:0}.assistant-activity-drawer{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:min(460px,100%);max-width:min(520px,100%);padding:14px;display:grid;box-shadow:0 18px 42px #00000038}.assistant-activity-list{gap:9px;min-height:0;display:grid;overflow:auto}.assistant-activity-row{border:1px solid var(--line);border-left:4px solid var(--tint-blue-border);border-radius:8px;gap:7px;padding:10px;display:grid}.assistant-activity-row.success{border-left-color:var(--green)}.assistant-activity-row.warning,.assistant-activity-row.blocked{border-left-color:var(--tint-gold-border-strong)}.assistant-activity-row.failed{border-left-color:var(--danger)}.assistant-activity-row strong,.assistant-activity-row small{display:block}.assistant-activity-row small{color:var(--muted)}.assistant-activity-row p{overflow-wrap:anywhere;margin:0}.proposal-group{gap:10px;min-width:0;display:grid}.assistant-approvals-drawer{max-width:min(640px,100%)}.assistant-approvals-count{align-items:center;gap:6px;display:inline-flex}.assistant-approvals-list{gap:16px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.proposal-examples{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.proposal-examples span{background:var(--tint-blue-bg);border:1px solid var(--line);color:var(--nav-ink);overflow-wrap:anywhere;border-radius:6px;max-width:100%;padding:6px 8px;font-size:.82rem;font-weight:700}.proposal-card-list{gap:12px;min-width:0;display:grid}.proposal-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:13px;min-width:0;padding:14px;display:grid;box-shadow:0 8px 22px #2a313814}.proposal-card-resolved{box-shadow:none;opacity:.85;gap:9px}.proposal-history>summary{color:var(--muted);cursor:pointer;padding:4px 0;font-size:13px}.proposal-history[open]>summary{margin-bottom:10px}.proposal-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.proposal-card-head h3{overflow-wrap:anywhere;font-size:1.12rem}.proposal-status{border:1px solid var(--line);text-transform:capitalize;white-space:nowrap;border-radius:6px;padding:5px 7px;font-size:.78rem;font-weight:800}.proposal-status.pending,.proposal-status.approved{background:var(--tint-gold-bg);border-color:var(--tint-gold-border-strong);color:var(--tint-gold-text)}.proposal-status.executed{background:var(--tint-green-bg-strong);border-color:var(--tint-green-border);color:var(--green)}.proposal-status.rejected,.proposal-status.failed,.proposal-status.expired,.proposal-status.cancelled{background:var(--tint-coral-bg-strong);border-color:var(--tint-coral-border);color:var(--danger)}.proposal-fact-line{color:var(--muted);flex-wrap:wrap;gap:6px 14px;min-width:0;margin:0;font-size:.85rem;display:flex}.proposal-fact-line span{overflow-wrap:anywhere}.proposal-card-item{color:var(--nav-ink);overflow-wrap:anywhere;margin:0;font-weight:700}.proposal-source-list small{color:var(--muted)}.proposal-details{border:1px solid var(--line);border-radius:8px;overflow:hidden}.proposal-details summary{cursor:pointer;min-height:44px;padding:11px 12px;font-weight:800;list-style:none}.proposal-details summary::-webkit-details-marker{display:none}.proposal-detail-grid{border-top:1px solid var(--line);grid-template-columns:minmax(280px,1.15fr) minmax(220px,.85fr) minmax(180px,.65fr);gap:12px;padding:12px;display:grid}.proposal-detail-grid section,.proposal-source-list{gap:8px;min-width:0;display:grid}.proposal-detail-grid pre{background:var(--panel-2);border:1px solid var(--line);white-space:pre-wrap;border-radius:6px;max-width:100%;margin:0;padding:10px;font-size:.82rem;overflow:auto}.proposal-source-list span{border-bottom:1px solid var(--line);gap:3px;min-width:0;padding-bottom:7px;display:grid}.proposal-source-list strong{overflow-wrap:anywhere}.proposal-review-warning{background:var(--tint-gold-bg);border:1px solid var(--tint-gold-border-strong);color:var(--tint-gold-text);border-radius:8px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.proposal-review-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.proposal-review-actions label{flex:190px;min-width:0}.proposal-review-actions button{flex:none;min-height:42px}.proposal-secondary{border-top:1px solid var(--line);padding-top:8px}.proposal-secondary summary{color:var(--muted);cursor:pointer;min-height:36px;padding:6px 0;font-size:.85rem;font-weight:700}.proposal-secondary-actions{grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr);gap:10px;padding-top:8px;display:grid}.proposal-secondary-actions form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0;display:grid}.proposal-secondary-actions form:last-child{grid-template-columns:minmax(0,1fr) minmax(140px,.55fr) auto}.proposal-item-form{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.proposal-item-form label{gap:4px;min-width:0;font-size:.85rem;font-weight:700;display:grid}.proposal-item-form input{width:100%;min-height:40px}.proposal-item-form-list{color:var(--muted);margin:0;font-size:.85rem}.proposal-item-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.proposal-item-form-error{color:var(--danger);margin:0;font-size:.85rem}.proposal-item-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.proposal-item-form-actions button{min-height:42px}@media (min-width:981px){.project-side{position:sticky;top:92px}.inventory-page.has-asset-detail{grid-template-columns:minmax(360px,.88fr) minmax(420px,1.12fr);align-items:start}.inventory-page.has-asset-detail .inventory-list-area,.inventory-page.has-asset-detail .inventory-detail-area{max-height:calc(100dvh - 112px);position:sticky;top:92px;overflow:auto}}@media (min-width:1360px){.inventory-page.has-asset-detail .asset-detail-panel .drawer-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr)}}@media (max-width:980px){.app-shell{display:block}.app-header{gap:10px;min-height:66px;padding:10px 14px}.header-main{gap:8px}.menu-toggle{display:inline-flex}.current-page h1{font-size:1.08rem}.current-page .eyebrow{font-size:.66rem}.top-actions{gap:6px}.workspace{padding:16px 14px calc(16px + env(safe-area-inset-bottom))}.side-nav{z-index:60;width:min(300px,86vw);height:100dvh;box-shadow:var(--shadow);visibility:hidden;transition:transform .22s,visibility .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nav-open .side-nav{visibility:visible;transform:none}.nav-collapse-toggle{display:none}.nav-close{display:inline-flex}.page-groups{gap:12px}.nav-item{min-height:42px}@media (prefers-reduced-motion:reduce){.side-nav{transition:none}}.content-grid>.panel,.metric{grid-column:span 12}.inventory-screen-tabs,.shopping-screen-tabs{z-index:20;background:var(--page);padding-bottom:4px;position:sticky;top:66px}.settings-page{grid-template-columns:minmax(0,1fr)}.settings-nav{z-index:20;background:var(--page);scrollbar-width:none;padding:2px 0 8px;display:flex;position:sticky;top:66px;overflow-x:auto}.settings-nav::-webkit-scrollbar{display:none}.settings-nav button{flex:none;min-height:44px}.settings-page>.settings-section{grid-column:1}.google-subsection-head{grid-template-columns:minmax(0,1fr)}.shopping-trip-home>.shopping-trip-home-panel,.trip-panel,.trip-side-panel{grid-column:span 12}.trip-side-panel .metric{grid-column:auto;min-height:84px}.active-shopping-page .content-grid{gap:12px}.active-shopping-page .panel{--panel-pad:12px}.trip-side-panel{gap:12px}.trip-item-main-row,.trip-item-primary-group,.trip-item-secondary-group{gap:6px}.trip-item-qty-input{flex-basis:52px;min-width:44px;padding-left:4px;padding-right:4px}.trip-item-price-input{flex-basis:96px;min-width:88px}.trip-item-optional-grid{grid-template-columns:minmax(0,1fr)}.inventory-find-grid{grid-template-columns:1fr}.inventory-toolbar-header,.inventory-toolbar-actions{flex-wrap:wrap;align-items:stretch}.inventory-sort-select{flex:190px}.inventory-sort-select select{width:100%;max-width:none}.inventory-page.has-asset-detail{display:block}.inventory-page.has-asset-detail .inventory-list-area{display:none}.inventory-page.has-asset-detail .inventory-detail-area{max-height:none;position:static;overflow:visible}.asset-detail-panel{box-shadow:none;background:0 0;border:0;padding:0}.asset-detail-return{background:var(--panel);margin-bottom:2px;display:inline-flex}.asset-detail-close{display:none}.inventory-filter-chip{width:100%}.inventory-add-screen,.inventory-labels-screen,.inventory-add-panel{width:100%;max-width:100%}.inventory-add-kind,.inventory-label-panel{width:100%}.inventory-place-form,.inventory-label-source-grid,.inventory-label-setup{grid-template-columns:1fr}.inventory-place-form>button,.inventory-label-generate-row>button,.settings-inventory-data-panel .inventory-transfer-row>button,.settings-inventory-data-panel .inventory-transfer-row>.file-action{justify-content:center;width:100%;min-height:44px}.inventory-label-step-head{align-items:flex-start}.inventory-label-choice-list{max-height:240px}.dashboard-grid>.metric{grid-column:span 6}.quick-entry-primary,.quick-entry-secondary{grid-template-columns:1fr}.quick-entry-submit{justify-self:stretch;width:100%}.photo-action-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inventory-transfer-row{grid-template-columns:1fr;display:grid}.file-action,.manual-page-label,.photo-count,.inventory-transfer-row button,.inventory-transfer-message,.photo-action-row button{width:100%}.photo-count{grid-column:1/-1}.shared-photo-toggle{width:100%}.shared-photo-draft{grid-template-columns:auto minmax(0,1fr)}.shared-photo-draft .ghost-button{grid-column:1/-1;width:100%}.google-browser-backup-head,.google-browser-backup-controls,.google-drive-backup-row,.google-connection-main{grid-template-columns:1fr;align-items:stretch}.google-drive-status{justify-self:start;width:100%}.google-primary-actions,.google-status-stack{grid-template-columns:1fr;display:grid}.google-primary-actions button,.google-copy-grid button,.google-action-row button,.google-browser-backup-controls button,.google-drive-backup-actions,.google-drive-backup-actions a,.google-drive-backup-actions button{width:100%}.google-drive-backup-actions{grid-template-columns:1fr;justify-content:stretch;display:grid}.camera-capture-modal{max-height:calc(100dvh - 28px)}.camera-capture-actions{grid-template-columns:1fr 1fr;display:grid}.camera-capture-actions button{width:100%}.camera-capture-result-actions{grid-template-columns:1fr 1fr;display:grid}.camera-capture-result-actions button{width:100%}.camera-capture-result-actions button.primary,.manual-page-label{grid-column:1/-1}.attachment-row{grid-template-columns:58px minmax(0,1fr);align-items:center;display:grid}.attachment-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.attachment-actions a,.attachment-actions button{width:100%}.attachment-viewer{align-items:end;padding:8px}.attachment-viewer-panel{max-height:96vh;padding:10px}.attachment-viewer-header{align-items:center}.attachment-viewer-image{max-height:calc(96vh - 122px)}.quick-grid,.columns-3,.product-row,.scan-summary,.meal-hero,.meal-layout,.chore-layout,.chore-create-layout,.chore-detail-layout,.chore-form,.project-layout,.feedback-layout,.floor-plan-page,.floor-plan-toolbar,.floor-plan-workbench,.bms-page,.bms-workbench,.network-page,.network-workbench,.project-form,.drawer-grid,.entity-activity-grid,.meal-controls{grid-template-columns:1fr}.floor-plan-main,.bms-main,.network-main{order:1}.floor-plan-side,.bms-side,.network-side{order:2}.project-side{order:1}.project-main{order:2}.chore-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.chore-card-main,.template-row,.settings-permission-row,.feedback-row-main,.floor-asset-search article,.bms-device-head,.network-toolbar,.bms-command-form{grid-template-columns:1fr}.feedback-form-panel,.feedback-recent-panel{width:100%}.feedback-sync-pill{white-space:normal;justify-self:start}.floor-plan-canvas-wrap{min-height:min(72dvh,420px);padding:8px;overflow:hidden}.floor-canvas-controls{top:10px;right:10px}.floor-plan-canvas{aspect-ratio:auto;min-width:0;height:min(62dvh,420px)}.floor-plan-toolbar h2{overflow-wrap:anywhere}.api-key-client-head,.api-key-client-actions,.api-key-row{align-items:stretch}.api-key-client-actions button,.api-key-row-actions button,.api-key-form-actions button{justify-content:center;width:100%;min-height:44px}.permission-option-list,.api-key-form-row{grid-template-columns:1fr;display:grid}.floor-plan-toolbar select,.floor-plan-toolbar button{width:100%}.tree-row{grid-template-columns:minmax(0,1fr);align-items:start}.tree-row.location{grid-template-columns:minmax(0,1fr) auto 24px;align-items:center}.tree-row.asset.asset-rail-row{grid-template-columns:14px 34px minmax(0,1fr) auto;align-items:center;min-height:52px;padding-block:5px}.asset-row-thumb{border-radius:8px;width:34px;height:34px}.asset-row-main .asset-title-line strong{font-size:.86rem}.asset-row-meta{font-size:.68rem}.tree-row small{justify-self:start;max-width:100%}.chore-actions{overflow-x:auto}.chore-actions button{min-width:72px}.project-layout{gap:10px}.project-selector,.project-overview,.project-section,.project-action-form{border-radius:6px;padding:9px}.project-selector-head,.project-titlebar,.project-section-head{align-items:stretch}.project-selector-head{grid-template-columns:minmax(0,1fr) auto;display:grid}.project-list{gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.project-list-item{min-width:min(280px,82vw)}.project-section-actions button,.project-section-head>button,.project-form-actions button{width:100%}.project-overview-controls{grid-template-columns:1fr}.project-section-head{grid-template-columns:minmax(0,1fr);display:grid}.project-section-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-data-row{grid-template-columns:1fr}.project-row-link,.project-row-buttons{justify-content:start}.project-form-actions{z-index:8;background:var(--panel);padding:9px 0 calc(9px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky;bottom:0}.chore-row-actions .chore-actions,.chore-actions.compact{overflow-x:visible}.chore-row-actions .chore-actions button,.chore-actions.compact button{min-width:34px}.meal-review{position:static}.meal-hero{align-items:start;min-height:0;padding:16px}.meal-hero h1{font-size:1.75rem;line-height:1.08}.meal-stats{grid-template-columns:repeat(4,minmax(90px,1fr));overflow-x:auto}.meal-stats span{min-width:110px}.meal-card-grid{scroll-snap-type:x mandatory;padding-bottom:8px;display:flex;overflow-x:auto}.meal-card{scroll-snap-align:start;min-width:min(88vw,360px)}.meal-drawer{padding:8px}.proposal-group-head,.proposal-card-head,.proposal-review-actions,.proposal-secondary-actions,.proposal-secondary-actions form,.proposal-secondary-actions form:last-child,.proposal-detail-grid{grid-template-columns:1fr}.proposal-group-head{align-items:stretch;display:grid}.assistant-chat-header{gap:8px}.assistant-chat-header-actions button span{display:none}.app-main-assistant{height:var(--assistant-vvh,100dvh);flex-direction:column;min-height:0;display:flex;overflow:hidden}.app-main-assistant>.app-header{flex:none}.workspace-assistant{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:10px 10px 0;display:flex;overflow:hidden}.workspace-assistant>.sync-banner,.workspace-assistant>.alert{flex:none;margin-bottom:0}.assistant-page{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.assistant-page-layer{flex:1;gap:8px;min-height:0}.assistant-chat{box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.assistant-transcript{flex:1;min-height:0;max-height:none;overflow-y:auto}.assistant-message-bubble{max-width:100%}.assistant-message.user .assistant-message-bubble{max-width:94%}.assistant-turn-trace{justify-self:stretch;max-width:100%}.assistant-message-bubble.assistant-approval-card{gap:6px}.assistant-approval-head{flex-wrap:wrap;align-items:baseline;column-gap:6px;display:flex}.assistant-approval-item{display:block}.assistant-approval-item-meta,.assistant-approval-item-list{margin-left:6px}.assistant-approval-card>.assistant-error-hint{display:none}.assistant-approval-link,.assistant-approval-link-disabled{min-height:30px}.assistant-approval-card .proposal-item-form{gap:8px;padding:10px}.assistant-approval-card .proposal-item-form-actions{flex-direction:row}.assistant-approval-card .proposal-item-form-actions button{flex:auto;width:auto}.assistant-composer{background:var(--panel);padding-bottom:max(10px, env(safe-area-inset-bottom));z-index:4;position:sticky;bottom:0}.assistant-chat-idle{min-height:0}.assistant-idle-history{flex:0 auto;overflow-y:auto}.assistant-activity-backdrop{padding:8px}.assistant-activity-drawer{width:100%;min-width:0}.assistant-activity-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-review-actions button,.proposal-secondary-actions button,.proposal-item-form-actions button{width:100%}.proposal-item-form-actions{flex-direction:column-reverse}}@media (max-width:430px){.app-header{gap:8px;padding:9px 10px}.assistant-enable-callout{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.assistant-enable-callout button{grid-column:1/-1;width:100%}.project-titlebar{flex-wrap:wrap}.project-titlebar>div{flex:100%;min-width:0}.icon-button{width:40px;min-width:40px;height:40px}.drawer-header{grid-template-columns:minmax(0,1fr)}.drawer-actions{justify-content:space-between}.current-page h1{font-size:1rem}.side-nav{width:min(288px,88vw)}.floor-plan-canvas-wrap{min-height:min(68dvh,360px);padding:6px}.floor-canvas-controls{top:8px;right:8px}.floor-plan-canvas{height:min(58dvh,360px)}.floor-plan-toolbar{gap:8px;padding:12px}.floor-plan-toolbar h2{font-size:1.2rem}.chore-list-action-row{grid-template-columns:minmax(0,1fr) auto;gap:7px}.chore-list-action-row .primary{min-width:92px;padding-inline:10px}.chore-tree-panel,.chore-create-panel,.chore-detail-panel{padding:10px}.chore-list-heading-row{align-items:start}.list-filter-panel{width:min(300px,100vw - 32px);right:-2px}.due-picker-input-row,.create-action-row{grid-template-columns:1fr}.recurrence-inline{grid-template-columns:auto 64px minmax(0,1fr)}.chore-detail-summary .chore-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow-x:visible}.chore-detail-summary .chore-actions button{width:100%;min-width:0}.category-modal,.draft-modal,.delete-modal{padding:14px}}@media print{.app-header,.side-nav,.nav-backdrop,.inline-form,.search-box,.alert{display:none!important}.app-shell{display:block}:root,:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17242d;--muted:#5f7079;--line:#d4dfe4;--line-strong:#a8bdc7;--panel:#fff;--panel-2:#fbfcfd;--page:#fff;--nav-ink:#123447}body{background:#fff}.workspace{padding:0}.panel{box-shadow:none;border:0}}.list-sheet{gap:10px;min-width:0;display:grid}.list-sheet:focus{outline:none}.list-sheet-toolbar{justify-content:flex-end;align-items:center;display:flex}.list-sheet-columns{position:relative}.list-sheet-columns summary{background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:.85rem;font-weight:600;list-style:none;display:inline-flex}.list-sheet-columns summary::-webkit-details-marker{display:none}.list-sheet-columns[open] summary{border-color:var(--line-strong);color:var(--ink)}.list-sheet-columns-menu{background:var(--panel);border:1px solid var(--line);z-index:30;border-radius:8px;gap:2px;min-width:150px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 40px #121c182e}.list-sheet-columns-menu label{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:.88rem;display:flex}.list-sheet-columns-menu label:hover{background:var(--panel-3)}.list-sheet-scroll{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow-x:auto}.list-sheet-row{border-bottom:1px solid var(--line);display:grid}.list-sheet-grid>.list-sheet-row:last-child{border-bottom:none}.list-sheet-head{background:var(--panel-3);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:700}.list-sheet-head span{border-right:1px solid var(--line);padding:7px 10px}.list-sheet-head span:last-child{border-right:none}.list-sheet-head span[data-key=quantity],.list-sheet-head span[data-key=price]{text-align:right}.list-sheet-cell{border-right:1px solid var(--line);align-items:center;min-width:0;display:flex;position:relative}.list-sheet-cell input{font:inherit;background:0 0;border:none;border-radius:0;width:100%;min-width:0;padding:7px 10px;font-size:.92rem}.list-sheet-cell input:focus{background:var(--panel);outline:2px solid var(--focus-border);outline-offset:-2px}.list-sheet-cell[data-key=quantity] input,.list-sheet-cell[data-key=price] input{text-align:right}.list-sheet-cell.sel{background:var(--tint-blue-bg);box-shadow:inset 0 0 0 1px var(--tint-blue-border)}.list-sheet.dragging{cursor:cell;user-select:none}.list-sheet.dragging .list-sheet-cell input{pointer-events:none;user-select:none}.list-sheet-cell-link{color:var(--blue);flex:none;align-items:center;padding:0 8px 0 2px;display:inline-flex}.sheet-cell-cataloged input{color:var(--tint-green-text);font-weight:600}.sheet-cell-cataloged-icon{color:var(--tint-green-text);pointer-events:none;flex:none;margin-right:6px}.sheet-cell-results{width:max-content;min-width:240px;max-width:min(360px,92vw);top:calc(100% + 2px);left:0;right:auto}@media (max-width:640px){.sheet-cell-results{width:max(240px,80vw);min-width:0;max-width:calc(100vw - 24px)}.sheet-cell-results .placement-combobox-option,.sheet-cell-results .placement-combobox-add{min-height:40px}}.list-sheet-row-action{justify-content:center;align-items:center;display:flex}.list-sheet-row .icon-button.danger-armed{background:var(--danger);border-color:var(--danger);color:#fff}.list-sheet-row.draft input::placeholder{color:var(--muted-green)}.list-sheet-footer{background:var(--panel);border:1px solid var(--line);z-index:3;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:.92rem;display:flex;position:sticky;bottom:8px;box-shadow:0 -8px 24px #121c180f}.list-sheet-footer .list-sheet-total strong{margin-left:4px;font-size:1.02rem}.list-sheet-status{color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.list-sheet-status.offline{color:var(--coral)}.list-sheet-offline{top:max(10px, env(safe-area-inset-top));z-index:80;border:1px solid var(--coral);background:var(--panel);max-width:calc(100vw - 24px);color:var(--coral);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.86rem;font-weight:700;animation:.18s ease-out app-toast-in;display:inline-flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #121c1829}.list-sheet-offline svg{flex:none}.list-sheet-dialog{align-content:start;width:min(980px,100%)}.list-sheet-dialog h3{margin:0}@media (max-width:640px){.list-sheet-cell input{padding:8px 9px;font-size:16px}.list-sheet-footer{flex-wrap:wrap;gap:2px 12px;bottom:4px}.list-sheet-status{text-align:left;flex-basis:100%;order:3}}.shopping-home-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shopping-home-section{gap:10px;display:grid}.shopping-home-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.shopping-home-section-head .compact-list-create[open]{flex-basis:100%}.shopping-home-section-head h3{margin:0;font-size:1.02rem}.shopping-home-section-head>small{color:var(--muted);text-align:right;font-weight:600}.shopping-resume-strip{gap:8px;display:grid}.shopping-resume-trip{background:var(--tint-green-bg-strong);border:1px solid var(--tint-green-border);text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.shopping-resume-live{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #2473582e}.shopping-resume-copy{flex:1;gap:2px;min-width:0;display:grid}.shopping-resume-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shopping-resume-copy small{color:var(--muted)}.shopping-resume-cta{color:var(--green);flex:none;font-size:.86rem;font-weight:700}.shopping-trip-more{border-top:1px dashed var(--line);padding-top:8px}.shopping-trip-more summary{color:var(--muted);cursor:pointer;padding:4px 2px;font-size:.88rem;font-weight:600}.shopping-trip-more[open] summary{margin-bottom:8px}.content-grid>.shopping-metrics-panel{grid-column:span 12}.shopping-metrics-panel{gap:16px;max-width:980px;display:grid}.shopping-metrics-head h2{margin:2px 0 0}.shopping-metric-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.shopping-metric-card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;display:grid}.shopping-metric-card>span{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.shopping-metric-card strong{font-size:1.28rem}.shopping-metric-card small{color:var(--muted)}.shopping-metric-section{gap:10px;display:grid}.shopping-metric-section h3{margin:0;font-size:1.02rem}.shopping-metric-columns{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.shopping-metric-list{align-content:start}.shopping-spend-chart{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:8px;padding:14px 12px 10px;display:grid}.shopping-spend-col{justify-items:center;gap:4px;display:grid}.shopping-spend-amount{color:var(--muted);white-space:nowrap;min-height:.9rem;font-size:.72rem;font-weight:700}.shopping-spend-track{align-items:end;width:100%;height:110px;display:flex}.shopping-spend-bar{background:var(--green);border-radius:4px 4px 0 0;width:min(34px,70%);min-height:0;margin:0 auto;transition:height .2s;display:block}.shopping-spend-month{color:var(--muted);font-weight:600}.shopping-metric-list{gap:6px;display:grid}.shopping-metric-row{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.shopping-metric-row-main{gap:1px;min-width:0;display:grid}.shopping-metric-row-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shopping-metric-row-main small{color:var(--muted)}.shopping-metric-row>strong{flex:none;align-items:center;gap:5px;display:inline-flex}.shopping-price-up{color:var(--danger)}.shopping-price-down{color:var(--green)}@media (max-width:640px){.shopping-lists-index-head .shopping-home-actions{width:100%}.shopping-home-actions button{flex:1;justify-content:center}.shopping-metric-grid{grid-template-columns:repeat(2,1fr)}.shopping-metric-columns{grid-template-columns:1fr}.shopping-spend-track{height:84px}.shopping-spend-amount{font-size:.62rem}.shopping-home-section-head>small{font-size:.78rem}}.project-description{border-top:1px solid var(--line);padding-top:8px}.project-task-composer{gap:8px;display:grid}.project-task-composer-main{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;display:grid}.project-task-composer-main input[name=title]{min-height:40px}.project-task-composer-main input[type=date]{max-width:150px;min-height:40px}.project-composer-more{align-items:center;gap:5px;min-height:40px;padding:7px 10px;display:inline-flex}.project-task-composer-extra{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:8px;display:grid}.project-task-row.overdue strong{color:var(--danger)}.project-task-state{text-transform:uppercase;font-size:.7rem;font-weight:800}.project-task-state.overdue{color:var(--danger)}.project-show-done{width:fit-content;min-height:36px;padding:6px 10px}.project-table-done{opacity:.75}.project-phase-group+.project-phase-group{margin-top:10px}.project-phase-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:8px;margin:0 0 6px;font-size:.78rem;font-weight:800;display:flex}.project-phase-heading span{color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:0 8px;font-size:.72rem;font-weight:600}.project-doc-pin{opacity:.55;min-height:34px;padding:4px 8px}.project-doc-pin.pinned{opacity:1;color:var(--accent)}.project-doc-pinned-tag{color:var(--accent);align-items:center;gap:3px;display:inline-flex}.project-delete-button{width:fit-content;margin-top:10px}.project-link-list-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-link-list-form label{align-items:center;gap:6px;display:inline-flex}.project-link-list-form select{min-width:180px;min-height:38px}.project-doc-row{grid-template-columns:minmax(0,1fr) auto}.project-doc-open{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;width:100%;min-height:46px;padding:0;display:flex}.project-doc-open span{gap:2px;display:grid}.project-doc-page .project-overview{gap:10px}.project-doc-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.project-doc-title{flex:240px;min-height:42px;font-size:1.05rem;font-weight:800}.project-doc-toolbar-actions{align-items:center;gap:6px;display:flex}.project-doc-mode-toggle{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.project-doc-mode-toggle button{background:var(--panel-2);border:none;border-radius:0;align-items:center;gap:5px;min-height:38px;padding:6px 10px;display:inline-flex}.project-doc-mode-toggle button.active{background:var(--tint-blue-bg);color:var(--nav-ink);font-weight:800}.project-doc-content{resize:vertical;width:100%;min-height:50vh;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.5}.project-doc-attachments{margin-top:12px}.project-doc-attachments h3,.shopping-list-attachments h3{align-items:center;gap:7px;margin:0;font-size:1.02rem;display:inline-flex}.markdown-body{overflow-wrap:anywhere;gap:10px;display:grid}.markdown-body h1{margin:6px 0 0;font-size:1.3rem}.markdown-body h2{margin:6px 0 0;font-size:1.12rem}.markdown-body h3{margin:4px 0 0;font-size:1rem}.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:4px 0 0;font-size:.92rem}.markdown-body p,.markdown-body li{line-height:1.55}.markdown-body ul,.markdown-body ol{gap:4px;margin:0;padding-left:22px;display:grid}.markdown-body blockquote{border-left:3px solid var(--line);color:var(--muted);margin:0;padding:2px 0 2px 12px}.markdown-body pre{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;padding:10px;overflow-x:auto}.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.markdown-body p code,.markdown-body li code,.markdown-body td code{border:1px solid var(--line);background:var(--panel-2);border-radius:4px;padding:1px 4px}.markdown-body table{border-collapse:collapse;width:100%}.markdown-body th,.markdown-body td{border:1px solid var(--line);text-align:left;padding:6px 8px}.markdown-body th{background:var(--panel-2)}.markdown-body hr{border:none;border-top:1px solid var(--line);width:100%}.markdown-task-item{align-items:baseline;gap:7px;margin-left:-18px;list-style:none;display:flex}.markdown-task-item input{pointer-events:none}.markdown-task-done{color:var(--muted);text-decoration:line-through}.tag-input-label{gap:6px;display:grid}.tag-input-field{position:relative}.tag-input-shell{border:1px solid var(--line);background:var(--panel);cursor:text;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 8px;display:flex}.tag-input-shell:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}.tag-pill{border:1px solid var(--tint-blue-border);background:var(--tint-blue-bg);min-height:26px;color:var(--nav-ink);border-radius:999px;align-items:center;gap:3px;padding:2px 4px 2px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.tag-pill-label{overflow-wrap:anywhere}.tag-pill-remove{width:20px;min-width:20px;height:20px;min-height:0;color:var(--muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.tag-pill-remove:hover{background:var(--tint-coral-bg-strong);color:var(--danger);border-color:#0000}.tag-pill-static{padding:2px 10px}.detail-tag-pills{flex-wrap:wrap;gap:6px;display:inline-flex}.tag-input-entry{background:0 0;border:0;flex:90px;min-width:90px;min-height:0;padding:4px 2px}.tag-input-entry:focus{box-shadow:none;outline:none}.tag-suggestions{z-index:35;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:2px;max-height:232px;padding:5px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 16px 34px #1229332e}.tag-suggestion{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:flex-start;min-height:36px;padding:7px 10px;font-weight:650}.tag-suggestion:hover{background:var(--tint-blue-bg);border-color:#0000}.tag-suggestion-new{color:var(--green);font-weight:800}.chore-project-chip{border:1px solid var(--tint-blue-border,var(--line));background:var(--tint-blue-bg);width:fit-content;min-height:34px;color:var(--nav-ink);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-weight:800;display:inline-flex}@media (max-width:720px){.project-task-composer-main{grid-template-columns:minmax(0,1fr) auto}.project-task-composer-main input[type=date]{max-width:none}.project-doc-content{min-height:40vh}}.markdown-toolbar{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.markdown-toolbar button{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:4px 8px;display:inline-flex}.markdown-toolbar button:hover{border-color:var(--nav-ink)}.markdown-toolbar-glyph{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;font-weight:800}.markdown-template-strip{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.markdown-template-label{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:800}.markdown-template-chip{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;min-height:34px;padding:5px 12px}.markdown-template-chip:hover{border-color:var(--nav-ink)}.markdown-task-interactive input{pointer-events:auto;cursor:pointer}.markdown-task-interactive{cursor:default}.household-docs-panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;gap:8px;padding:10px;display:grid;box-shadow:0 6px 16px #2a313812}.household-docs-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.household-docs-head h2{align-items:center;gap:6px;margin:0;font-size:1rem;display:inline-flex}.household-docs-search{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex}.household-docs-search input{background:0 0;border:none;flex:1;min-height:36px;padding:0}.household-docs-list{gap:6px;display:grid}.household-doc-item{text-align:left;border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:6px;gap:3px;padding:8px 10px;display:grid}.household-doc-item:hover{border-color:var(--nav-ink)}.household-doc-item.active{border-color:var(--nav-ink);background:var(--tint-blue-bg)}.household-doc-title{align-items:center;gap:6px;display:inline-flex}.household-doc-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.household-doc-meta{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:800}.project-doc-move{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.project-doc-move select{background:0 0;border:none;max-width:160px;min-height:36px;padding:0 4px}.project-file-row{gap:10px}.project-file-thumb{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:8px;flex:none;place-items:center;width:52px;height:52px;padding:0;display:grid;overflow:hidden}.project-file-thumb img{object-fit:cover;width:100%;height:100%}.project-file-thumb.placeholder{color:var(--muted);cursor:default}.project-file-main{flex:auto;min-width:0}.project-file-main strong{overflow-wrap:anywhere}.project-file-readonly{color:var(--muted);align-items:center;gap:3px;font-weight:700;display:inline-flex}.project-section-actions .file-action{min-height:40px}.chore-composer-compact .due-picker-field{gap:0;min-width:0}.chore-composer-compact .due-picker-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chore-composer-compact .due-picker-trigger{max-width:170px;min-height:40px}.chore-composer-full-link{justify-self:start;align-items:center;gap:6px;min-height:36px;padding:6px 10px;display:inline-flex}.project-task-row-open{cursor:pointer}.project-task-row-open:hover{border-color:var(--brand,var(--line))}.project-task-row-open:focus-visible{outline:2px solid var(--brand,var(--line));outline-offset:2px}.assistant-error-retry{justify-self:start;align-items:center;gap:6px;display:inline-flex}.assistant-message-bubble.assistant-message-failed{border-color:var(--tint-coral-border,#d95f5459);background:0 0;border-style:dashed}.assistant-message-bubble.assistant-message-failed p{color:var(--muted)}.assistant-chats-search{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;margin:0 16px 8px;padding:6px 10px;display:flex}.assistant-chats-search input{font:inherit;background:0 0;border:none;outline:none;flex:1}.assistant-chats-archived-toggle{color:var(--muted);align-items:center;gap:6px;margin:0 16px 8px;font-size:.82rem;display:inline-flex}.assistant-chats-list{flex-direction:column;gap:6px;padding:0 16px 16px;display:flex;overflow-y:auto}.assistant-chats-row{border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;padding:6px 8px;display:flex}.assistant-chats-row.active{border-color:var(--brand,var(--line))}.assistant-chats-row.archived .assistant-chats-open strong{color:var(--muted)}.assistant-chats-open{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:stretch;gap:2px;min-width:0;padding:2px 4px;display:flex}.assistant-chats-open strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.assistant-chats-open strong svg{vertical-align:-2px;margin-right:5px}.assistant-chats-open small{color:var(--muted);font-size:.76rem}.assistant-chats-snippet{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-chats-actions{gap:2px;display:inline-flex}.assistant-chats-row input{border:1px solid var(--line);font:inherit;border-radius:6px;flex:1;padding:4px 6px}.assistant-header-more{flex:none;display:block;position:relative}.assistant-header-more summary{cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex;position:relative}.assistant-header-more summary::-webkit-details-marker{display:none}.assistant-header-more-menu{background:var(--panel);border:1px solid var(--line);z-index:30;border-radius:10px;flex-direction:column;gap:2px;min-width:190px;max-width:min(320px,100vw - 20px);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 22px #0f172a2e}.assistant-header-more-menu button,.assistant-header-more-menu label{cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;padding:8px 10px;display:flex}.assistant-header-more-menu button:hover{background:var(--tint,#0f172a0f)}.assistant-header-more-menu label{color:var(--muted);justify-content:space-between;font-size:.82rem}.assistant-header-more-menu label.assistant-thinking-toggle{color:inherit;font-size:inherit;justify-content:flex-start}.assistant-header-more-menu label.assistant-thinking-toggle:hover{background:var(--tint,#0f172a0f)}.assistant-header-more-menu label.assistant-thinking-toggle input{margin:0}@media (max-width:640px){.assistant-chat-heading h2{display:none}}.doc-conflict-banner{border:1px solid var(--tint-coral-border);background:var(--tint-coral-bg);color:var(--tint-coral-text);border-radius:8px;gap:8px;padding:10px 12px;display:grid}.doc-conflict-banner p{margin:0;line-height:1.45}.doc-conflict-actions{flex-wrap:wrap;gap:6px;display:flex}.doc-conflict-actions button{min-height:36px;padding:6px 11px}.doc-history{gap:10px;display:grid}.doc-history-scope-note{align-items:center;gap:5px;display:inline-flex}.doc-history-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.doc-history-list li{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.doc-history-list li.selected{border-color:var(--tint-blue-border);background:var(--tint-blue-bg)}.doc-history-select{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.doc-history-version{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800}.doc-history-info{flex:220px;gap:2px;min-width:0;display:grid}.doc-history-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.88rem;display:inline-flex}.doc-history-badge{border:1px solid var(--tint-neutral-border);background:var(--tint-neutral-bg);border-radius:999px;padding:1px 7px;font-size:.78rem;font-weight:700}.doc-history-badge.create{border-color:var(--tint-green-border);background:var(--tint-green-bg);color:var(--tint-green-text)}.doc-history-badge.update{border-color:var(--tint-blue-border);background:var(--tint-blue-bg);color:var(--tint-blue-text)}.doc-history-badge.revert{border-color:var(--tint-gold-border);background:var(--tint-gold-bg);color:var(--tint-gold-text)}.doc-history-current{color:var(--tint-green-text);font-size:.78rem;font-weight:700}.doc-history-note{overflow-wrap:anywhere;font-size:.9rem}.doc-history-actions{gap:6px;display:inline-flex}.doc-history-actions button{align-items:center;gap:5px;min-height:34px;padding:5px 10px;display:inline-flex}.doc-history-diff{gap:8px;display:grid}.doc-history-diff-title{margin:4px 0 0;font-size:.98rem}.doc-history-title-change{margin:0;font-size:.92rem}.doc-history-title-change del{color:var(--tint-coral-text);background:var(--tint-coral-bg);border-radius:3px;padding:0 3px;text-decoration:line-through}.doc-history-title-change ins{color:var(--tint-green-text);background:var(--tint-green-bg-strong);border-radius:3px;padding:0 3px;text-decoration:none}.doc-history-snapshot-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px;display:flex}.doc-history-snapshot-bar button{align-items:center;gap:5px;min-height:36px;padding:6px 10px;display:inline-flex}.doc-history-snapshot-label{color:var(--muted);flex:220px;font-size:.9rem}.text-diff{gap:8px;display:grid}.text-diff-toolbar{justify-content:flex-end;display:flex}.text-diff-mode-toggle{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.text-diff-mode-toggle button{background:var(--panel-2);border:none;border-radius:0;align-items:center;gap:5px;min-height:32px;padding:4px 9px;font-size:.85rem;display:inline-flex}.text-diff-mode-toggle button.active{background:var(--tint-blue-bg);color:var(--nav-ink);font-weight:800}.text-diff-hunk{border:1px solid var(--line);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.5;overflow:hidden}.text-diff-hunk-header{background:var(--tint-blue-bg);color:var(--tint-blue-text);padding:4px 10px;font-weight:700}.text-diff-lines{display:grid}.text-diff-line{grid-template-columns:3.2em 3.2em 1.2em minmax(0,1fr);align-items:start;display:grid}.text-diff-gutter{text-align:right;color:var(--muted);background:var(--panel-2);user-select:none;padding:0 6px}.text-diff-marker{text-align:center;user-select:none;color:var(--muted)}.text-diff-text{white-space:pre-wrap;overflow-wrap:anywhere;padding-right:8px}.text-diff-line.added{background:var(--tint-green-bg-strong)}.text-diff-line.added .text-diff-marker{color:var(--tint-green-text);font-weight:700}.text-diff-line.removed{background:var(--tint-coral-bg-strong)}.text-diff-line.removed .text-diff-marker{color:var(--tint-coral-text);font-weight:700}.text-diff-line.meta,.text-diff-cell.meta{color:var(--muted);font-style:italic}.text-diff-split{display:grid}.text-diff-split-row{grid-template-columns:1fr 1fr;display:grid}.text-diff-split-row>:first-child{border-right:1px solid var(--line)}.text-diff-cell{grid-template-columns:3.2em 1.2em minmax(0,1fr);align-items:start;min-width:0;display:grid}.text-diff-cell.added{background:var(--tint-green-bg-strong)}.text-diff-cell.added .text-diff-marker{color:var(--tint-green-text);font-weight:700}.text-diff-cell.removed{background:var(--tint-coral-bg-strong)}.text-diff-cell.removed .text-diff-marker{color:var(--tint-coral-text);font-weight:700}.text-diff-cell.empty{background:var(--panel-2)}.text-diff-empty{padding:6px 0}.finance-page>.finance-overview-layout{grid-column:1/-1}.finance-overview-head{gap:2px;margin-bottom:12px;display:grid}.finance-overview-head h2{margin:0;font-size:1.2rem}.finance-metric-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px;margin-bottom:18px;display:grid}.finance-metric-card{background:var(--panel-2);border:1px solid var(--line);text-align:left;border-radius:8px;gap:4px;padding:12px;display:grid}.finance-metric-card.accent-net{border-color:var(--brand,var(--blue))}.finance-metric-action{cursor:pointer;font:inherit;color:inherit}.finance-metric-action:hover{border-color:var(--brand,var(--line))}.finance-metric-card>span{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:6px;font-size:.76rem;font-weight:700;display:flex}.finance-metric-card strong{font-size:1.3rem}.finance-metric-card small{color:var(--muted)}.finance-overview-section{gap:10px;display:grid}.finance-overview-section h3{margin:0;font-size:1.02rem}.finance-flow-chart{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:8px;height:150px;padding:14px 12px 10px;display:grid}.finance-flow-col{flex-direction:column;align-items:center;gap:6px;height:100%;display:flex}.finance-flow-bars{flex:1 1 0;justify-content:center;align-items:end;gap:3px;width:100%;min-height:0;display:flex}.finance-flow-bar{border-radius:3px 3px 0 0;width:46%;min-height:2px}.finance-flow-bar.income{background:var(--green)}.finance-flow-bar.expense{background:var(--danger)}.finance-flow-month{color:var(--muted);font-size:.74rem;font-weight:700}.finance-flow-legend{color:var(--muted);gap:16px;font-size:.78rem;display:flex}.finance-flow-legend span{align-items:center;gap:6px;display:flex}.finance-flow-legend i{border-radius:2px;width:10px;height:10px}.finance-flow-legend i.income{background:var(--green)}.finance-flow-legend i.expense{background:var(--danger)}.finance-budget-list,.finance-bill-list,.finance-category-list{gap:12px;margin-bottom:10px;display:grid}.finance-budget-row{gap:5px;display:grid}.finance-budget-head,.finance-bill-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.finance-budget-state{color:var(--muted);white-space:nowrap;font-size:.82rem;font-weight:700}.finance-budget-state.over{color:var(--danger)}.finance-budget-track,.finance-category-track{background:var(--line);border-radius:999px;width:100%;height:8px;overflow:hidden}.finance-budget-fill{background:var(--green);border-radius:999px;height:100%;display:block}.finance-budget-fill.near{background:#c9922b}.finance-budget-fill.over{background:var(--danger)}.finance-budget-row small,.finance-budget-manage small{color:var(--muted)}.finance-bill-row.overdue{border-left:3px solid var(--danger);padding-left:8px}.finance-bill-main,.finance-recurring-main,.finance-account-main,.finance-txn-main{gap:2px;min-width:0;display:grid}.finance-bill-main small,.finance-recurring-main small,.finance-txn-main small,.finance-account-main small{color:var(--muted);align-items:center;gap:5px;font-size:.8rem;display:flex}.finance-bill-actions,.finance-recurring-side,.finance-account-side,.finance-txn-side{flex-shrink:0;align-items:center;gap:8px;display:flex}.finance-pay-button{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.finance-category-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.finance-category-main{flex:1;gap:4px;min-width:0;display:grid}.finance-category-name{align-items:center;gap:6px;font-weight:600;display:flex}.finance-category-fill{background:var(--blue);border-radius:999px;height:100%;display:block}.finance-inline-link{color:var(--brand,var(--blue));cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0;font-weight:700}.finance-empty{text-align:center;place-items:center;gap:12px;padding:28px 16px;display:grid}.finance-account-row,.finance-txn-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.finance-account-row.archived{opacity:.6}.finance-recurring-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.finance-recurring-row.inactive{opacity:.6}.finance-recurring-row.overdue .finance-recurring-main strong,.finance-bill-row.overdue .finance-bill-main strong{color:var(--danger)}.finance-txn-category{max-width:150px}.finance-txn-edit{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;width:100%;display:grid}.finance-txn-edit .button-row{grid-column:1/-1}.finance-filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 12px;display:flex}.finance-search{flex:1;align-items:center;gap:6px;min-width:180px;display:flex}.finance-search input{width:100%}.finance-budget-manage{gap:5px;width:100%;display:grid}.finance-budget-actions{align-items:center;gap:8px;display:flex}.finance-check{align-items:center;gap:6px;flex-direction:row!important}@media (max-width:640px){.finance-txn-row,.finance-recurring-row{flex-direction:column;align-items:stretch;gap:8px}.finance-txn-row .finance-txn-main strong,.finance-recurring-row .finance-recurring-main strong{overflow-wrap:anywhere}.finance-txn-row .finance-txn-main small,.finance-recurring-row .finance-recurring-main small{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;flex-wrap:wrap;overflow:visible}.finance-txn-row .finance-txn-side,.finance-recurring-row .finance-recurring-side{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;width:100%;min-width:0}.finance-txn-row .finance-txn-category{flex:100%;width:100%;min-width:0;max-width:none}}.finance-networth-hero{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:center;gap:18px;margin-bottom:14px;padding:16px;display:grid}.finance-networth-figures{align-content:center;gap:6px;display:grid}.finance-networth-value{letter-spacing:-.02em;font-size:1.9rem;line-height:1.1}.finance-networth-delta{align-items:center;gap:5px;font-size:.82rem;font-weight:700;display:inline-flex}.finance-networth-delta.positive{color:var(--green)}.finance-networth-delta.negative{color:var(--danger)}.finance-networth-split{gap:3px;margin:6px 0 0;display:grid}.finance-networth-split div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:3px;display:flex}.finance-networth-split dt{color:var(--muted);font-size:.8rem}.finance-networth-split dd{margin:0;font-size:.85rem;font-weight:700}.finance-networth-chart-wrap{min-width:0}.finance-networth-chart{width:100%;height:auto;display:block}.finance-networth-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 4}.finance-networth-line{fill:none;stroke:var(--blue);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.finance-networth-area{fill:color-mix(in srgb, var(--blue) 14%, transparent);stroke:none}.finance-networth-dot{fill:var(--blue)}.finance-networth-label{fill:var(--muted);font-size:10px;font-weight:700}.finance-groups-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;display:grid}.finance-group-col{align-content:start;gap:8px;display:grid}.finance-group-head{border-bottom:1px solid var(--line-strong);align-items:center;gap:12px;padding-bottom:4px;display:flex}.finance-group-head h3{margin:0;font-size:.98rem}.finance-group-head strong{font-size:1.15rem}.finance-donut{flex-shrink:0;width:64px;height:64px}.finance-donut-track{fill:none;stroke:var(--track);stroke-width:6px}.finance-donut-segment{fill:none;stroke-width:6px}.finance-group{border:1px solid var(--line);background:var(--panel-2);border-radius:8px}.finance-group summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;list-style:none;display:flex}.finance-group summary::-webkit-details-marker{display:none}.finance-group-name{align-items:center;gap:8px;font-weight:600;display:flex}.finance-group-name small{color:var(--muted);font-weight:700}.finance-group-swatch{border-radius:3px;width:11px;height:11px;display:inline-block}.fin-g-cash{stroke:var(--green);background:var(--green)}.fin-g-investment{stroke:var(--blue);background:var(--blue)}.fin-g-property{stroke:var(--coral);background:var(--coral)}.fin-g-other{stroke:var(--gold);background:var(--gold)}.fin-g-credit{stroke:var(--purple);background:var(--purple)}.fin-g-loan{stroke:var(--gold-bright);background:var(--gold-bright)}.finance-group-accounts{border-top:1px solid var(--line);padding:4px 12px 8px;display:grid}.finance-group-account{justify-content:space-between;gap:10px;padding:4px 0;font-size:.86rem;display:flex}.finance-group-account span:first-child{color:var(--muted)}.finance-groups-hint{align-items:center;gap:6px;margin-top:12px;display:flex}.finance-metric-row{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:8px;font-size:.82rem;display:flex}.finance-metric-row span{align-items:center;gap:6px;display:flex}.finance-import-pickers{gap:10px;margin-top:10px;display:grid}.finance-file-drop{background:var(--panel-2);border:1.5px dashed var(--line-strong);cursor:pointer;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:22px 16px;font-weight:600;display:flex}.finance-file-drop:hover{border-color:var(--blue);color:var(--ink)}.finance-file-drop input{display:none}.finance-paste-fallback{color:var(--muted)}.finance-paste-fallback summary{cursor:pointer;font-size:.85rem}.finance-paste-fallback textarea{width:100%;min-height:120px;margin:8px 0;display:block}.finance-import-preview{gap:10px;margin-top:14px;display:grid}.finance-import-preview h4{margin:6px 0 0;font-size:.92rem}.finance-import-counts{flex-wrap:wrap;gap:6px;display:flex}.finance-import-chip{background:var(--tint-neutral-bg);border:1px solid var(--tint-neutral-border);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:.76rem;font-weight:700}.finance-import-chip.new{background:var(--tint-green-bg);border-color:var(--tint-green-border);color:var(--tint-green-text)}.finance-import-accounts{gap:6px;display:grid}.finance-import-account{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.finance-import-account-name{display:grid}.finance-import-account-name small{color:var(--muted)}.finance-import-account-create{align-items:center;gap:8px;display:flex}.finance-import-row{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.finance-import-row.skipped{opacity:.55}.finance-import-result{background:var(--tint-green-bg);border:1px solid var(--tint-green-border);color:var(--tint-green-text);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.finance-import-result div{flex:1;gap:2px;min-width:200px;display:grid}.finance-balance-form{align-items:center;gap:6px;display:flex}.finance-balance-form input{width:120px}.finance-balance-label{color:var(--muted);font-size:.78rem;font-weight:700}@media (max-width:700px){.finance-account-row{flex-wrap:wrap}.finance-account-side{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;min-width:0}.finance-balance-form{flex-wrap:wrap;justify-content:flex-end;min-width:0}.finance-balance-form input{flex:110px;width:auto;min-width:0}}@media (max-width:860px){.finance-networth-hero{grid-template-columns:1fr}}.projects-page,.project-dashboard{gap:8px}.project-layout{grid-template-columns:minmax(220px,250px) minmax(0,1fr);gap:10px}.project-side{align-content:start;position:sticky;top:10px}.project-selector,.household-docs-panel,.project-dashboard-header,.project-workspace-panel{border:1px solid var(--line);background:var(--panel);box-shadow:none;border-radius:8px}.project-selector{gap:5px;padding:8px}.project-selector-head h2{font-size:1rem}.project-mobile-switcher{display:none}.project-list{gap:2px}.project-list-item{background:0 0;border:0;border-radius:6px}.project-list-item.active{background:var(--tint-blue-bg);box-shadow:inset 3px 0 0 var(--green);border:0}.project-list-item button{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:44px;padding:6px 8px}.project-list-item button>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-list-stats{white-space:nowrap;flex-wrap:nowrap;grid-column:auto;justify-content:end;gap:7px;font-size:.7rem}.project-list-stats small{align-items:center;gap:3px;display:inline-flex}.project-list-stats .overdue{color:var(--danger);font-weight:800}.household-docs-panel{padding:0;display:block}.household-docs-panel>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;min-height:44px;padding:7px 10px;font-weight:800;list-style:none;display:grid}.household-docs-panel>summary::-webkit-details-marker{display:none}.project-explorer-menu>summary::-webkit-details-marker{display:none}.household-docs-panel>summary small{min-width:22px;color:var(--muted);text-align:center}.household-docs-panel[open]>summary>svg:last-child{transform:rotate(180deg)}.household-docs-tools{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:0 8px 7px;display:grid}.household-docs-search{min-width:0}.household-docs-list{border-top:1px solid var(--line);gap:0}.household-doc-item{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:42px;padding:5px 9px}.household-doc-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.household-doc-item time{color:var(--muted);font-size:.72rem}.project-dashboard-header{gap:8px;padding:10px 12px;display:grid}.project-dashboard-titlebar,.project-dashboard-title,.project-dashboard-facts,.project-settings-actions{align-items:center;display:flex}.project-dashboard-titlebar{justify-content:space-between;gap:10px;position:relative}.project-dashboard-title{gap:8px;min-width:0}.project-dashboard-title h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.3rem;line-height:1.15;overflow:hidden}.project-dashboard-title .status-pill{background:var(--panel-2);padding:3px 7px;font-size:.7rem}.project-dashboard-facts{scrollbar-width:thin;gap:5px;min-width:0;overflow-x:auto}.project-dashboard-facts>button,.project-dashboard-facts>span{border:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);white-space:nowrap;border-radius:6px;flex:none;align-items:center;gap:5px;padding:4px 8px;font-size:.78rem;display:inline-flex}.project-dashboard-facts>button{cursor:pointer}.project-dashboard-facts>button:hover{border-color:var(--line-strong)}.project-dashboard-facts strong{color:var(--ink);font-size:.9rem}.project-dashboard-facts .overdue,.project-dashboard-facts .overdue strong{color:var(--danger)}.project-overview-settings{border:0;padding:0}.project-overview-settings>summary{border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;min-height:40px;padding:5px 9px;display:inline-flex}.project-settings-popover{z-index:30;border:1px solid var(--line);background:var(--panel);border-radius:8px;width:min(760px,100vw - 48px);padding:10px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 44px #14232d2e}.project-overview-controls{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.project-settings-actions{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding-top:8px}.project-dashboard-notes{border-top:1px solid var(--line);padding-top:5px}.project-dashboard-notes>summary{width:fit-content;min-height:32px;color:var(--muted);cursor:pointer;align-items:center;font-size:.78rem;font-weight:800;display:flex}.project-dashboard-notes .project-description{margin-top:4px;padding-top:7px}.project-workspace-tabs{border-bottom:1px solid var(--line);gap:3px;padding:0 4px;display:flex}.project-workspace-tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;align-items:center;gap:6px;padding:7px 12px 5px;display:inline-flex}.project-workspace-tabs button.active{border-bottom-color:var(--green);color:var(--ink);font-weight:800}.project-workspace-tabs button span{background:var(--panel-2);border-radius:999px;min-width:22px;padding:1px 6px;font-size:.7rem}.project-workspace-panel{min-width:0;overflow:visible}.project-workspace-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:54px;padding:6px 8px;display:flex}.project-workspace-search{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;flex:260px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:180px;max-width:360px;padding:0 8px;display:grid}.project-workspace-search input{background:0 0;border:0;min-width:0;min-height:38px;padding:0}.project-workspace-search>button{background:0 0;border:0;min-width:32px;min-height:32px;padding:0}.project-workspace-actions{align-items:center;gap:5px;display:flex}.project-workspace-actions>button{white-space:nowrap;align-items:center;gap:5px;min-height:40px;padding:6px 9px;display:inline-flex}.project-workspace-actions .project-camera-action{justify-content:center;min-width:40px;padding:0}.project-shopping-toolbar .project-shopping-link{border:1px solid var(--line);background:var(--panel-2);min-width:180px;max-width:340px;color:var(--muted);border-radius:6px;flex:220px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.project-shopping-toolbar .project-shopping-link select{background:0 0;border:0;flex:auto;min-width:0;min-height:38px;padding:0}.project-shopping-toolbar-spacer{flex:auto}.project-shopping-create{border-bottom:1px solid var(--line);background:var(--panel-2);align-items:center;gap:7px;padding:8px 9px;display:flex}.project-shopping-create input{flex:auto;min-width:0;min-height:38px}.project-shopping-workspace .shopping-list-card-grid{padding:10px 8px}.project-shopping-card{cursor:default;flex-direction:column;align-items:stretch;gap:8px}.project-shopping-progress{gap:4px;display:grid}.project-shopping-progress-track{background:var(--panel-2);border-radius:999px;height:6px;overflow:hidden}.project-shopping-progress-fill{background:var(--green);border-radius:999px;min-width:0;height:100%;transition:width .2s}.project-shopping-progress-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:.76rem;display:flex}.project-shopping-card-actions{align-items:center;gap:5px;display:flex}.project-shopping-card-actions button{align-items:center;gap:5px;min-height:34px;padding:6px 8px;font-size:.82rem;display:inline-flex}.project-shopping-card-actions .project-shopping-unlink{min-width:34px;color:var(--muted);justify-content:center;margin-left:auto;padding:6px}.project-shopping-trips{border-top:1px solid var(--line);padding:8px}.project-shopping-trips>summary{cursor:pointer;color:var(--muted);align-items:center;gap:6px;padding:4px 4px 8px;font-size:.82rem;display:flex}.project-shopping-trips>summary span{background:var(--panel-2);text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:.7rem}.project-shopping-trip-list{gap:4px;display:grid}.project-shopping-trip-row{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.project-shopping-trip-title{align-items:center;gap:8px;min-width:0;display:inline-flex}.project-shopping-trip-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-shopping-trip-status{background:var(--panel-2);color:var(--muted);text-transform:capitalize;border-radius:999px;padding:1px 8px;font-size:.68rem}.project-shopping-trip-status.trip-open{background:var(--tint-green-bg,var(--panel-2));color:var(--green)}.project-shopping-trip-meta{color:var(--muted);flex:none;align-items:center;gap:12px;font-size:.8rem;display:inline-flex}.project-new-folder-form{border-bottom:1px solid var(--line);background:var(--panel-2);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;min-height:50px;padding:6px 9px;display:grid}.project-new-folder-form input{min-height:38px}.project-folder-breadcrumbs{border-bottom:1px solid var(--line);white-space:nowrap;align-items:center;gap:1px;min-height:42px;padding:3px 7px;display:flex;overflow-x:auto}.project-folder-breadcrumbs>span,.project-folder-breadcrumbs button{align-items:center;display:inline-flex}.project-folder-breadcrumbs>span{gap:1px}.project-folder-breadcrumbs button{min-height:34px;color:var(--muted);background:0 0;border:0;gap:5px;padding:4px 6px}.project-folder-breadcrumbs button.active{color:var(--ink);font-weight:800}.project-explorer-layout{grid-template-columns:minmax(180px,225px) minmax(0,1fr);min-height:440px;display:grid}.project-folder-tree{border-right:1px solid var(--line);min-width:0;padding:6px 5px;overflow-x:hidden}.project-folder-tree-root,.project-folder-tree-row{min-height:40px}.project-folder-tree-root{text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;padding:5px 7px;display:flex}.project-folder-tree-root.active,.project-folder-tree-row.active{background:var(--tint-blue-bg);color:var(--nav-ink);border-radius:6px}.project-folder-tree-row{grid-template-columns:28px minmax(0,1fr);align-items:center;display:grid}.project-folder-expand,.project-folder-tree-select{background:0 0;border:0;padding:0}.project-folder-expand{place-items:center;min-width:28px;min-height:38px;display:grid}.project-folder-expand:disabled{opacity:1}.project-folder-tree-select{text-align:left;align-items:center;gap:6px;min-width:0;min-height:40px;display:flex}.project-folder-tree-select span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-folder-tree-children{border-left:1px solid var(--line);margin-left:15px;padding-left:3px}.project-explorer-details{min-width:0}.project-explorer-heading,.project-explorer-row{grid-template-columns:minmax(0,1fr) 132px 42px;align-items:center;display:grid}.project-explorer-heading{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:0 4px 0 10px;font-size:.72rem;font-weight:800}.project-explorer-row{border-bottom:1px solid var(--line);min-height:44px;padding:0 3px 0 8px}.project-explorer-row:hover{background:var(--panel-2)}.project-explorer-open{min-width:0;min-height:43px;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:22px minmax(0,auto) minmax(0,1fr);align-items:center;gap:7px;padding:0 4px;text-decoration:none;display:grid;overflow:hidden}.project-explorer-open svg{color:var(--nav-ink)}.project-explorer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.project-explorer-open small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.project-explorer-mobile-meta{display:none}.project-explorer-row>time{color:var(--muted);white-space:nowrap;font-size:.76rem}.project-explorer-menu{justify-self:end;position:relative}.project-explorer-menu>summary{cursor:pointer;border-radius:6px;place-items:center;width:40px;min-height:40px;list-style:none;display:grid}.project-explorer-menu[open]>summary,.project-explorer-menu>summary:hover{background:var(--tint-blue-bg)}.project-explorer-menu-popover{z-index:35;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:6px;width:230px;padding:8px;display:grid;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 14px 32px #14232d2e}.project-explorer-menu-popover label{color:var(--muted);gap:4px;font-size:.75rem;display:grid}.project-explorer-menu-popover select{width:100%;min-height:38px}.project-explorer-menu-popover button{justify-content:flex-start;min-height:38px}.project-explorer-empty{color:var(--muted);margin:0;padding:18px 12px;font-size:.86rem}.project-task-add-panel{border-bottom:1px solid var(--line);background:var(--panel-2);padding:8px}.project-task-filters{border-bottom:1px solid var(--line)}.project-task-filters>summary{cursor:pointer;align-items:center;gap:6px;min-height:42px;padding:5px 9px;font-weight:800;list-style:none;display:flex}.project-task-filters>summary>span{background:var(--tint-blue-bg);text-align:center;border-radius:999px;min-width:22px;padding:1px 6px;font-size:.72rem}.project-task-filters>summary>svg:last-child{margin-left:auto}.project-task-filters[open]>summary>svg:last-child{transform:rotate(180deg)}.project-filter-groups{border-top:1px solid var(--line);background:var(--panel-2);gap:8px;padding:8px 9px;display:grid}.project-filter-group{grid-template-columns:82px minmax(0,1fr);align-items:start;gap:8px;min-width:0;display:grid}.project-filter-group>strong{align-items:center;gap:5px;min-height:34px;font-size:.78rem;display:flex}.project-filter-chips{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.project-filter-chips button{background:var(--panel);border-radius:999px;min-height:34px;padding:4px 10px;font-size:.76rem}.project-filter-chips button.active{border-color:var(--nav-ink);background:var(--tint-blue-bg);color:var(--nav-ink);font-weight:800}.project-task-result-bar{border-bottom:1px solid var(--line);min-height:36px;color:var(--muted);align-items:center;gap:4px;padding:4px 9px;font-size:.76rem;display:flex}.project-task-result-bar button{min-height:30px;color:var(--nav-ink);background:0 0;border:0;margin-left:auto;padding:3px 6px;font-size:.76rem}.project-task-table-head,.project-task-table-row{grid-template-columns:92px minmax(180px,1fr) 112px 90px minmax(100px,150px) 44px;align-items:center;gap:7px;padding:0 6px 0 9px;display:grid}.project-task-table-head{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:800}.project-task-table-row{border-bottom:1px solid var(--line);min-height:48px}.project-task-table-row:hover{background:var(--panel-2)}.project-task-table-row.completed{opacity:.72}.project-task-status-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:800;overflow:hidden}.project-task-status-text.overdue{color:var(--danger)}.project-task-status-text.today{color:var(--accent)}.project-task-title-button{text-align:left;background:0 0;border:0;align-items:center;min-width:0;min-height:44px;padding:0;display:flex}.project-task-title-button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-task-mobile-meta{display:none}.project-task-owner,.project-task-due{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.project-task-tags{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.project-task-tags>span{background:var(--panel-2);max-width:96px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:.7rem;overflow:hidden}.project-task-tags small{color:var(--muted);font-size:.7rem}.project-task-complete{place-items:center;width:40px;min-width:40px;min-height:40px;padding:0;display:grid}@media (max-width:980px){.project-layout{grid-template-columns:1fr;gap:7px}.project-side{order:1;gap:6px;position:static}.project-main{order:2}.project-selector{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:7px}.project-selector-head{display:contents}.project-selector-head h2{display:none}.project-mobile-switcher{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;grid-area:1/1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:44px;padding:0 8px;display:grid}.project-mobile-switcher select{background:0 0;border:0;min-width:0;min-height:42px;padding:0;font-weight:800}.project-selector-head .compact-action{grid-area:1/2;min-width:44px;min-height:44px}.project-list{display:none}.project-selector>.inline-note{grid-column:1/-1}.household-docs-panel{width:100%}.project-dashboard-header{padding:9px}.project-dashboard-title h2{font-size:1.1rem}.project-overview-settings>summary{justify-content:center;min-width:44px;min-height:44px}.project-overview-settings>summary span{display:none}.project-settings-popover{width:100%;box-shadow:none;margin-top:7px;position:static}.project-dashboard-titlebar:has(.project-overview-settings[open]){grid-template-columns:minmax(0,1fr) auto;display:grid}.project-dashboard-titlebar:has(.project-overview-settings[open]) .project-overview-settings{grid-column:1/-1}.project-overview-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.project-explorer-layout{grid-template-columns:1fr;min-height:360px}.project-folder-tree{display:none}.project-explorer-heading,.project-explorer-row{grid-template-columns:minmax(0,1fr) 104px 44px}.project-explorer-menu>summary{width:44px;min-height:44px}.project-task-table-head,.project-task-table-row{grid-template-columns:84px minmax(0,1fr) 44px;gap:5px}.project-task-table-head span:nth-child(3),.project-task-table-head span:nth-child(4),.project-task-table-head span:nth-child(5),.project-task-owner,.project-task-due,.project-task-tags{display:none}.project-task-table-head span:nth-child(6),.project-task-complete,.project-task-complete-placeholder{grid-column:3}.project-task-title-button{align-content:center;gap:2px;min-height:50px;display:grid}.project-task-mobile-meta{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:500;display:block;overflow:hidden}}@media (max-width:620px){.project-dashboard-facts{flex-wrap:wrap;overflow-x:visible}.project-dashboard-facts>button,.project-dashboard-facts>span{flex:70px;justify-content:center;min-width:0;min-height:38px;padding-inline:6px;overflow:hidden}.project-workspace-toolbar{grid-template-columns:1fr;display:grid}.project-workspace-search{width:100%;max-width:none;min-height:44px}.project-workspace-actions{flex-wrap:wrap;min-width:0;padding-bottom:1px;overflow-x:visible}.project-workspace-actions>button{min-height:44px}.project-explorer-heading span:nth-child(2),.project-explorer-row>time{display:none}.project-explorer-heading,.project-explorer-row{grid-template-columns:minmax(0,1fr) 44px}.project-explorer-heading{padding-left:8px}.project-explorer-open{grid-template-columns:22px minmax(0,1fr);align-content:center;row-gap:1px;min-height:52px;padding-block:6px}.project-explorer-open>svg{grid-row:1/span 2;align-self:center}.project-explorer-name{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;grid-column:2;display:-webkit-box}.project-explorer-mobile-meta{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:.7rem;font-weight:500;display:block;overflow:hidden}.project-explorer-open small{display:none}.project-explorer-menu-popover{right:8px;bottom:calc(70px + env(safe-area-inset-bottom));width:min(280px,100vw - 16px);position:fixed;top:auto}.project-explorer-menu-popover select,.project-explorer-menu-popover button{min-height:44px}.project-filter-group{grid-template-columns:1fr;gap:3px}.project-filter-chips{flex-wrap:wrap;overflow-x:visible}.project-filter-chips button{flex:none;min-height:40px}.project-task-composer-main{grid-template-columns:minmax(0,1fr) auto}.project-task-composer-main>*{min-width:0}}@media (max-width:430px){.project-dashboard-title .status-pill{display:none}.project-overview-controls{grid-template-columns:1fr}.project-settings-actions{flex-direction:column;align-items:stretch}.project-settings-actions button{justify-content:center;width:100%;min-height:44px}.project-workspace-tabs button{flex:50%;justify-content:center}.project-workspace-actions>button{justify-content:center;width:44px;min-width:44px;padding:0}.project-workspace-actions>button span{display:none}.project-new-folder-form{grid-template-columns:auto minmax(0,1fr) 44px}.project-new-folder-form .primary{grid-column:2}.project-new-folder-form button:last-child{grid-area:1/3;min-width:44px;min-height:44px;padding:0}.project-task-table-head,.project-task-table-row{grid-template-columns:70px minmax(0,1fr) 44px;padding-left:7px}.project-task-status-text{font-size:.68rem}}.command-palette-trigger{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:60;border:1px solid var(--line);background:var(--panel);width:44px;min-width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow);border-radius:999px;place-items:center;padding:0;display:grid;position:fixed}.command-palette-trigger:hover{border-color:var(--line-strong);background:var(--panel-3)}.command-palette-overlay{z-index:130;background:#17242d9e;place-items:start center;padding:12vh 12px 12px;display:grid;position:fixed;inset:0}.command-palette-panel{background:var(--panel);border:1px solid var(--line);width:min(640px,100%);min-height:0;max-height:min(72vh,620px);box-shadow:var(--shadow);border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.command-palette-search{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.command-palette-search>svg{color:var(--muted);flex:none}.command-palette-search input{min-width:0;color:var(--ink);background:0 0;border:0;flex:1;padding:4px 0;font-size:.95rem}.command-palette-search input:focus{outline:none}.command-palette-close{width:30px;min-width:30px;min-height:30px;color:var(--muted);background:0 0;border-color:#0000;padding:0}.command-palette-close:hover{border-color:var(--line);background:var(--panel-3);color:var(--ink)}.command-palette-list{min-height:0;margin:0;padding:6px;list-style:none;overflow-y:auto}.command-palette-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 8px 4px;font-size:.68rem;font-weight:800}.command-palette-option{cursor:pointer;color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;scroll-margin:6px;display:flex}.command-palette-option>svg{color:var(--muted);flex:none}.command-palette-option.active{background:var(--tint-blue-bg);color:var(--tint-blue-text)}.command-palette-option.active>svg{color:var(--blue)}.command-palette-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.command-palette-option-hint{color:var(--muted);flex:none;font-size:.72rem;font-weight:700}.command-palette-empty{text-align:center;color:var(--muted);margin:0;padding:24px 16px}.command-palette-footer{border-top:1px solid var(--line);background:var(--panel-2);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.command-palette-hints{color:var(--muted);align-items:center;gap:5px;font-size:.72rem;display:flex}.command-palette-hints kbd{border:1px solid var(--line);background:var(--panel);min-width:18px;height:18px;color:var(--muted);border-radius:4px;align-items:center;padding:0 5px;font-family:inherit;font-size:.7rem;display:inline-flex}.command-palette-status{color:var(--tint-blue-text);font-size:.72rem;font-weight:700}@media (max-width:620px){.command-palette-overlay{padding-top:8vh}}.meals-hub{gap:18px;min-width:0;display:grid}.meals-hub-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.meals-hub-title h1{margin:0 0 2px;font-size:1.7rem;line-height:1.1}.meals-sections{background:var(--panel-3);border:1px solid var(--line);border-radius:10px;gap:4px;padding:4px;display:flex}.meals-section-tab{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.meals-section-tab.active{background:var(--panel);color:inherit;box-shadow:0 1px 4px #0000001a}.meal-plan-section{gap:18px;min-width:0;display:grid}.meal-plan-form-panel h2{align-items:center;gap:8px;display:flex}.meal-plan-form{grid-template-columns:minmax(220px,2.2fr) minmax(140px,1fr) minmax(110px,1fr) minmax(90px,1fr);align-items:end;gap:10px 12px;display:grid}.meal-plan-form label{min-width:0}.meal-plan-form-notes{grid-column:1/-2}.meal-recipe-picker{min-width:0;position:relative}.meal-recipe-picker-input{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:7px;padding:0 10px;display:flex}.meal-recipe-picker-input svg{color:var(--muted);flex:none}.meal-recipe-picker-input input{min-width:0;color:inherit;background:0 0;border:0;flex:auto;padding:9px 0}.meal-recipe-picker-input input:focus{outline:none}.meal-recipe-picker-input:focus-within{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-glow)}.meal-recipe-picker-list{z-index:30;background:var(--panel);border:1px solid var(--line-strong);overscroll-behavior:contain;border-radius:10px;grid-template-columns:minmax(0,1fr);gap:2px;max-height:min(60vh,440px);margin:0;padding:4px;list-style:none;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 12px 28px #141e282e}.meal-recipe-picker-empty{color:var(--muted);padding:12px;font-size:.88rem}.meal-recipe-picker-list button{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:6px 8px;display:flex}.meal-recipe-picker-list button:hover,.meal-recipe-picker-list button:focus-visible{background:var(--tint-blue-bg)}.meal-recipe-picker-list img,.meal-recipe-picker-fallback{object-fit:cover;border-radius:5px;flex:none;width:40px;height:28px}.meal-recipe-picker-fallback{background:var(--tint-green-bg);color:var(--muted-green);justify-content:center;align-items:center;display:inline-flex}.meal-recipe-picker-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.meal-recipe-picker-tag{border-radius:var(--radius-pill);background:var(--tint-neutral-bg);border:1px solid var(--tint-neutral-border);color:var(--muted);flex:none;padding:1px 7px;font-size:.68rem;font-weight:700}.meal-recipe-picked{border:1px solid var(--tint-green-border);background:var(--tint-green-bg);border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:5px 6px 5px 12px;display:flex}.meal-recipe-picked-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}.meal-week{gap:12px;min-width:0;display:grid}.meal-week-nav{justify-content:space-between;align-items:center;gap:10px;display:flex}.meal-week-range{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;display:flex}.meal-week-range strong{font-size:1.05rem}.meal-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-width:0;display:grid}.meal-week-day{border:1px solid var(--line);background:var(--panel);border-radius:10px;grid-template-rows:auto 1fr;align-content:start;gap:8px;min-width:0;min-height:150px;padding:9px;display:grid}.meal-week-day.today{border-color:var(--tint-green-border);background:var(--tint-green-bg)}.meal-week-day-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.meal-week-day-name{font-size:.85rem;font-weight:800}.meal-week-day-date{color:var(--muted);font-size:.8rem}.meal-week-today-chip{border-radius:var(--radius-pill);background:var(--tint-green-bg-strong);border:1px solid var(--tint-green-border);color:var(--tint-green-text);margin-left:auto;padding:1px 7px;font-size:.66rem;font-weight:800}.meal-week-day-entries{align-content:start;gap:7px;min-width:0;display:grid}.meal-week-day-add{border:1px dashed var(--line-strong);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:5px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.meal-week-day-add:hover{border-color:var(--green);color:var(--green)}.meal-plan-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:flex-start;gap:8px;min-width:0;padding:7px;display:flex}.meal-plan-card-thumb{object-fit:cover;border-radius:6px;flex:none;width:44px;height:33px}.meal-plan-card-fallback{background:var(--tint-green-bg);color:var(--muted-green);justify-content:center;align-items:center;display:inline-flex}.meal-plan-card-body{flex:auto;gap:3px;min-width:0;display:grid}.meal-plan-card-name{text-align:left;color:inherit;-webkit-line-clamp:2;background:0 0;border:0;-webkit-box-orient:vertical;padding:0;font-size:.85rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}button.meal-plan-card-name{cursor:pointer}button.meal-plan-card-name:hover{color:var(--green);text-decoration:underline}.meal-plan-card-body small{color:var(--muted);font-size:.72rem}.meal-plan-card-missing{border:1px solid var(--tint-amber-border,var(--line));background:var(--tint-amber-bg,var(--panel-3));color:var(--tint-amber-text,var(--muted));border-radius:var(--radius-pill);cursor:pointer;justify-self:start;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.meal-plan-card-missing.is-static{cursor:default}.meal-plan-card-delete{flex:none}.meal-plan-overflow-list{gap:8px;display:grid}.meal-plan-overflow-row{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;display:grid}.meal-plan-overflow-date{color:var(--muted);font-size:.8rem;font-weight:700}.meal-plan-empty{text-align:center;padding:8px 0 2px}.dinner-tonight{gap:14px;min-width:0;display:grid}.dinner-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.dinner-hero-text h2{margin:2px 0 4px;font-size:1.3rem;line-height:1.15}.dinner-ask-button{flex:none;align-items:center;gap:8px;min-height:44px;font-size:.95rem;display:inline-flex}.dinner-plan-panel h3,.dinner-kitchen-panel h3{align-items:center;gap:8px;margin:0 0 10px;font-size:1.02rem;display:flex}.dinner-plan-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dinner-plan-row{border:1px solid var(--line);background:var(--panel-3);border-radius:9px;align-items:center;gap:11px;min-width:0;padding:8px 10px;display:flex}.dinner-plan-thumb{object-fit:cover;border-radius:6px;flex:none;width:48px;height:36px}.dinner-plan-fallback{background:var(--tint-green-bg);color:var(--muted-green);justify-content:center;align-items:center;display:inline-flex}.dinner-plan-row-body{gap:2px;min-width:0;display:grid}.dinner-plan-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}button.dinner-plan-name{cursor:pointer}button.dinner-plan-name:hover{color:var(--green);text-decoration:underline}.dinner-plan-row-body small{color:var(--muted);font-size:.78rem}.dinner-plan-empty{justify-items:start;gap:10px;display:grid}.dinner-plan-empty-actions{flex-wrap:wrap;gap:8px;display:flex}.dinner-plan-empty-actions button{align-items:center;gap:6px;display:inline-flex}.dinner-kitchen-cta{text-align:left;border:1px solid var(--tint-green-border);background:var(--tint-green-bg);width:100%;color:var(--tint-green-text);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:10px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.dinner-kitchen-cta:hover{background:var(--tint-green-bg-strong)}.dinner-use-soon{flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;display:flex}.dinner-use-soon-label{color:var(--muted);font-size:.85rem;font-weight:700}.dinner-use-soon-chip{border-radius:var(--radius-pill);background:var(--tint-amber-bg,var(--panel-3));border:1px solid var(--tint-amber-border,var(--line));color:var(--tint-amber-text,var(--ink));padding:2px 9px;font-size:.78rem;font-weight:600}.dinner-use-soon-ask{font-size:.82rem}@media (max-width:1150px){.meal-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-week-day{min-height:120px}}@media (max-width:760px){.meal-plan-form{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-plan-form-recipe,.meal-plan-form-notes{grid-column:1/-1}.meal-week-grid{grid-template-columns:1fr;gap:8px}.meal-week-day{min-height:0}.meals-hub-head{flex-direction:column;align-items:stretch}.meals-sections{align-self:stretch}.meals-section-tab{flex:1 1 0;justify-content:center}.dinner-hero{flex-direction:column;align-items:stretch}.dinner-ask-button{justify-content:center}}.cooking-mode{z-index:120;background:var(--panel);padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.cooking-mode-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cooking-mode-title h1{margin:0;font-size:1.3rem;line-height:1.2}.cooking-step{text-align:center;align-content:center;justify-items:center;gap:18px;min-height:0;padding:12px;display:grid;overflow-y:auto}.cooking-step-count{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.9rem;font-weight:700}.cooking-step-text{max-width:760px;margin:0;font-size:clamp(1.3rem,3.4vw,2rem);line-height:1.45}.cooking-timer{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--panel-3);font-variant-numeric:tabular-nums;align-items:center;gap:10px;padding:8px 16px;display:inline-flex}.cooking-timer-clock{min-width:4ch;font-size:1.35rem;font-weight:800}.cooking-timer.done{border-color:var(--tint-green-border);background:var(--tint-green-bg-strong);color:var(--tint-green-text);animation:1s ease-in-out 3 cooking-timer-pulse}@keyframes cooking-timer-pulse{50%{transform:scale(1.06)}}.cooking-finish{text-align:center;align-content:center;justify-items:center;gap:14px;min-height:0;padding:12px;display:grid;overflow-y:auto}.cooking-finish h2{align-items:center;gap:8px;margin:0;display:flex}.cooking-consume-list{text-align:left;gap:8px;width:min(100%,440px);margin:0;padding:0;list-style:none;display:grid}.cooking-consume-list label{border:1px solid var(--line);background:var(--panel-3);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;display:flex}.cooking-consume-list small{color:var(--muted);display:block}.cooking-finish-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.cooking-mode-nav{justify-content:space-between;gap:10px;display:flex}.cooking-mode-nav button{justify-content:center;align-items:center;gap:6px;min-width:110px;min-height:48px;font-size:1rem;display:inline-flex}.meals-section-status{align-items:center;gap:8px;display:flex}.meal-review-queue{gap:14px;min-width:0;display:grid}.meal-review-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meal-review-select-all{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:inline-flex}.meal-review-bulk{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.meal-review-empty{text-align:center;border:1px dashed var(--line-strong);color:var(--muted);border-radius:12px;justify-items:center;gap:8px;padding:28px 16px;display:grid}.meal-review-empty h3{color:inherit;margin:0}.meal-review-list{gap:10px;display:grid}.meal-review-item{border:1px solid var(--line);background:var(--panel);border-radius:10px}.meal-review-item>summary{cursor:pointer;align-items:center;gap:10px;min-width:0;padding:10px 12px;list-style:none;display:flex}.meal-review-item>summary::-webkit-details-marker{display:none}.meal-review-item-title{flex:auto;gap:2px;min-width:0;display:grid}.meal-review-item-title small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meal-review-item-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.meal-review-caret{color:var(--muted);transition:transform .15s}.meal-review-item[open] .meal-review-caret{transform:rotate(180deg)}.meal-review-detail{border-top:1px solid var(--line);padding:12px}.meal-review-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;display:grid}.meal-review-columns h4{margin:0 0 8px}.meal-review-ingredients{gap:8px;margin:0;padding:0;list-style:none;display:grid}.meal-review-ingredients li{border-bottom:1px solid var(--line);gap:3px;padding-bottom:8px;display:grid}.meal-review-ingredients li:last-child{border-bottom:0}.meal-review-ingredient-raw{font-weight:600}.meal-review-ingredient-parsed{color:var(--muted);font-size:.82rem}.meal-review-ingredient-link{color:var(--muted);align-items:center;gap:6px;display:flex}.meal-review-ingredient-link select{flex:auto;min-width:0;padding:4px 8px;font-size:.82rem}.meal-review-steps{gap:6px;margin:0;padding-left:20px;font-size:.9rem;display:grid}.meal-manage{gap:12px;min-width:0;display:grid}.meal-manage-panel>summary{cursor:pointer;align-items:center;gap:8px;font-weight:800;display:flex}.meal-manage-count{border-radius:var(--radius-pill);background:var(--tint-neutral-bg);border:1px solid var(--tint-neutral-border);color:var(--muted);padding:1px 8px;font-size:.72rem;font-weight:800}.meal-manage-panel form{margin-top:12px}.meal-manage-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.meal-manage-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.meal-manage-list li:last-child{border-bottom:0}.meal-manage-list small{color:var(--muted);display:block}.meal-template-ingredients{grid-column:1/-1}.meal-enrich-controls{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.meal-enrich-proposal{justify-items:start;gap:10px;margin-top:12px;display:grid}.meal-enrich-field{border:1px solid var(--line);background:var(--panel-3);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:8px 12px;display:flex}.meal-enrich-field small{color:var(--muted);display:block}.recipe-nutrition-panel>summary{cursor:pointer;align-items:center;gap:8px;font-weight:800;display:flex}.recipe-nutrition{gap:10px;margin-top:10px;display:grid}.recipe-nutrition-grid{text-align:center;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.recipe-nutrition-grid span{border:1px solid var(--line);background:var(--panel-3);border-radius:8px;gap:2px;padding:8px 4px;display:grid}.recipe-nutrition-grid strong{font-size:1.05rem}.recipe-nutrition-grid small{color:var(--muted);font-size:.72rem}.recipe-nutrition-issues{gap:4px;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.recipe-nutrition-issues li{justify-content:space-between;gap:10px;display:flex}.recipe-nutrition-issues small{color:var(--muted)}.recipe-nutrition-provenance{font-size:.75rem}@media (max-width:760px){.meal-review-columns{grid-template-columns:1fr}.meal-review-item>summary{flex-wrap:wrap}.meal-review-item-actions{margin-left:auto}.meal-enrich-controls{grid-template-columns:1fr}.recipe-nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.inventory-label-source-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.inventory-label-source-tabs button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:.85rem}.inventory-label-source-tabs button.selected{background:var(--accent-soft,#2563eb1f);border-color:var(--accent,#2563eb);font-weight:600}.inventory-label-pattern{gap:8px;max-width:420px;display:grid}.inventory-label-pattern-range{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inventory-label-csv{gap:8px;display:grid}.inventory-label-csv-upload,.bulk-add-csv-upload{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;width:fit-content;padding:7px 12px;font-size:.88rem;display:inline-flex}.inventory-label-precreate{margin-top:10px}.inventory-label-designer{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.inventory-label-designer label{gap:4px;font-size:.85rem;display:grid}.inventory-label-designer label.checkbox-line{align-self:end;align-items:center;gap:8px;display:flex}.inventory-label-template-store{gap:8px;margin-top:10px;display:grid}.inventory-label-template-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.inventory-label-template-list li{border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 10px;display:inline-flex}.inventory-label-template-list li>button:first-child{background:0 0;border:none;padding:4px 2px;font-size:.85rem}.inventory-label-template-save{gap:8px;max-width:420px;display:flex}.inventory-label-template-save input{flex:1;min-width:0}.asset-product-code{gap:6px;padding:8px 0;display:grid}.asset-product-code>button{align-items:center;gap:6px;width:fit-content;display:inline-flex}.upc-scan-dialog{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:10px;padding:10px;display:grid}.upc-scan-head{justify-content:space-between;align-items:center;display:flex}.upc-scan-head strong{align-items:center;gap:6px;display:inline-flex}.upc-scan-video{object-fit:cover;background:#000;border-radius:8px;width:100%;max-height:240px}.upc-scan-manual{gap:8px;display:flex}.upc-scan-manual input{flex:1;min-width:0}.upc-scan-review{gap:8px;display:grid}.upc-scan-fields{gap:6px;margin:0;padding:0;list-style:none;display:grid}.upc-scan-overwrite{color:var(--warning,#b45309);display:block}.upc-scan-warning{color:var(--warning,#b45309);background:#b453091f;border-radius:8px;margin:0;padding:6px 10px;font-size:.85rem}.upc-scan-actions{flex-wrap:wrap;gap:8px;display:flex}.upc-scan-feedback{margin:0;font-size:.85rem}.upc-scan-feedback.error{color:var(--danger,#b91c1c)}.upc-scan-feedback.success{color:var(--success,#15803d)}.bulk-add-section{margin-top:14px}.bulk-add-body{gap:10px;padding-top:8px;display:grid}.bulk-add-paste{gap:8px;display:grid}.bulk-add-paste textarea{resize:vertical;width:100%}.bulk-add-paste-actions{flex-wrap:wrap;gap:8px;display:flex}.bulk-add-grid{gap:6px;display:grid}.bulk-add-grid-head,.bulk-add-grid-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 64px 32px;align-items:center;gap:6px;display:grid}.bulk-add-grid-head{color:var(--muted,#6b7280);font-size:.78rem}.bulk-add-grid-row input{min-width:0}.bulk-add-grid-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}@media (max-width:560px){.bulk-add-grid-head{display:none}.bulk-add-grid-row{grid-template-columns:minmax(0,1fr) 64px 32px;grid-template-areas:"name qty remove""category category category""condition condition condition"}.bulk-add-grid-row input:first-child{grid-area:name}.bulk-add-grid-row input:nth-child(2){grid-area:category}.bulk-add-grid-row input:nth-child(3){grid-area:condition}.bulk-add-grid-row input:nth-child(4){grid-area:qty}.bulk-add-grid-row button{grid-area:remove}}.expiry-input{gap:6px;min-width:0;display:grid}.expiry-chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.expiry-chip{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.expiry-chip:hover:not(:disabled){border-color:var(--line-strong)}.expiry-chip.active{border-color:var(--tint-gold-border-strong);background:var(--tint-gold-bg);color:var(--tint-gold-text)}.expiry-custom-days{color:var(--muted);align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.expiry-custom-days input{width:72px}.cart-item-editor{border:1px solid var(--line-strong);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:8px;padding:8px;display:flex}.cart-item-editor .entry-label input[type=number]{width:84px}.cart-item-editor-actions{gap:6px;display:inline-flex}.cart-item-product-offer{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.cart-item-offer-dismiss{width:22px;min-width:22px;height:22px}
