:root {
    --page-base: #f6f7fb;
    --surface: #ffffff;
    --surface-soft: #f7f8fc;
    --surface-dark: #111529;
    --ink: #15182a;
    --muted: #74798d;
    --line: #e8eaf2;
    --brand-accent: #7c5cff;
    --sidebar-base: #0c1020;
    --pink: #ef5ca8;
    --blue: #4b9dff;
    --green: #26bd75;
    --orange: #ff9f43;
    --danger: #e85468;
    --shadow: 0 18px 55px rgba(28, 32, 58, .08);
    --shadow-strong: 0 22px 70px rgba(12, 16, 32, .18);
    --radius: 20px;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
html { scroll-behavior: smooth; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--page-base); color: var(--ink); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { width: 1.2em; height: 1.2em; display: block; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 258px minmax(0, 1fr); }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 258px; background: radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--brand-accent) 20%, transparent), transparent 32%), linear-gradient(180deg, color-mix(in srgb, var(--sidebar-base) 94%, #20264d) 0%, var(--sidebar-base) 100%); color: #f7f6ff; padding: 24px 18px 18px; display: flex; flex-direction: column; z-index: 60; box-shadow: 18px 0 45px rgba(7,10,24,.08); }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 5px 20px; }
.brand-mark { width: 45px; height: 45px; border-radius: 14px; overflow: hidden; flex: 0 0 auto; box-shadow: 0 10px 25px rgba(124,92,255,.24); }
.brand-mark img { width: 100%; height: 100%; display: block; object-fit: cover; }
.brand-copy { min-width: 0; }
.brand-copy strong { display: block; font-size: 16px; letter-spacing: .045em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-copy small { display: block; margin-top: 3px; color: rgba(244,243,255,.58); font-size: 10px; letter-spacing: .05em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav { display: grid; gap: 3px; overflow-y: auto; padding: 4px 4px 12px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.12) transparent; }
.nav-section { color: rgba(255,255,255,.34); font-size: 9px; text-transform: uppercase; letter-spacing: .17em; padding: 16px 11px 7px; font-weight: 800; }
.nav a { min-height: 40px; padding: 9px 11px; border-radius: 11px; display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 10px; color: rgba(247,246,255,.70); font-size: 12px; transition: background .18s ease, color .18s ease, transform .18s ease; }
.nav a svg { font-size: 17px; }
.nav a:hover { background: rgba(255,255,255,.065); color: #fff; transform: translateX(2px); }
.nav a.active { color: #fff; background: linear-gradient(110deg, color-mix(in srgb, var(--brand-accent) 78%, #fff 3%), color-mix(in srgb, var(--brand-accent) 30%, transparent)); box-shadow: 0 10px 28px color-mix(in srgb, var(--brand-accent) 25%, transparent); }
.nav-badge { min-width: 19px; height: 19px; border-radius: 999px; display: grid; place-items: center; padding: 0 5px; background: var(--pink); color: #fff; font-size: 9px; }
.nav-badge[hidden] { display: none !important; }
.sidebar-actions { margin-top: auto; display: grid; gap: 7px; padding: 12px 4px 10px; }
.sidebar-mode, .install-button { width: 100%; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.045); color: rgba(255,255,255,.78); border-radius: 11px; min-height: 40px; padding: 9px 11px; display: flex; gap: 10px; align-items: center; cursor: pointer; font-size: 11px; }
.sidebar-mode:hover, .install-button:hover { background: rgba(255,255,255,.08); color: #fff; }
.sidebar-user { display: grid; grid-template-columns: 36px minmax(0,1fr) 30px; gap: 9px; align-items: center; border-top: 1px solid rgba(255,255,255,.08); padding: 14px 4px 8px; }
.avatar, .topbar-avatar { display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--brand-accent), var(--pink)); color: #fff; font-weight: 850; }
.avatar { width: 36px; height: 36px; font-size: 12px; }
.sidebar-user-copy { min-width: 0; }
.sidebar-user-copy strong, .sidebar-user-copy small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar-user-copy strong { font-size: 11px; }
.sidebar-user-copy small { margin-top: 3px; color: rgba(255,255,255,.42); font-size: 9px; }
.icon-button { width: 30px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: inherit; display: grid; place-items: center; cursor: pointer; }
.icon-button:hover { background: rgba(255,255,255,.08); }
.sidebar-version { display: flex; justify-content: space-between; color: rgba(255,255,255,.28); font-size: 8px; padding: 2px 5px 0; }
.main { grid-column: 2; min-width: 0; min-height: 100vh; padding: 0 clamp(22px, 3vw, 44px) 24px; }
.main-public { grid-column: 1 / -1; padding: 0; }
.topbar { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(25,28,52,.06); margin: 0 calc(clamp(22px,3vw,44px) * -1) 24px; padding: 0 clamp(22px,3vw,44px); background: color-mix(in srgb, var(--page-base) 88%, transparent); backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 35; }
.topbar-title { display: flex; align-items: center; gap: 14px; }
.topbar-title strong, .topbar-title small { display: block; }
.topbar-title strong { font-size: 14px; }
.topbar-title small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.topbar-tools { display: flex; align-items: center; gap: 8px; }
.topbar-icon { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; background: var(--surface); border: 1px solid var(--line); color: var(--ink); position: relative; }
.notification-dot { position: absolute; top: -5px; right: -5px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; display: grid; place-items: center; background: var(--pink); color: white; font-size: 8px; box-shadow: 0 0 0 3px var(--page-base); }
.topbar-avatar { width: 38px; height: 38px; font-size: 12px; margin-left: 5px; }
.mobile-menu-button { display: none; border: 0; background: none; padding: 0; color: var(--ink); }
.page-stage { opacity: 0; transform: translateY(7px); transition: opacity .32s ease, transform .32s ease; }
.page-stage.page-ready { opacity: 1; transform: none; }
.dashboard-welcome, .page-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; margin: 0 0 20px; }
.dashboard-welcome h1, .page-head h1 { margin: 5px 0 6px; font-size: clamp(28px, 3.1vw, 43px); line-height: 1.05; letter-spacing: -.045em; }
.dashboard-welcome p, .page-head p { margin: 0; max-width: 720px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.wave { display: inline-block; transform-origin: 70% 70%; animation: wave 2.8s ease-in-out 1s 2; }
@keyframes wave { 0%,100% { transform: rotate(0); } 20% { transform: rotate(14deg); } 40% { transform: rotate(-7deg); } 60% { transform: rotate(11deg); } 80% { transform: rotate(-4deg); } }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; color: var(--brand-accent); font-weight: 800; font-size: 9px; }
.button { min-height: 42px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); padding: 10px 15px; border-radius: 12px; cursor: pointer; display: inline-flex; gap: 8px; justify-content: center; align-items: center; font-weight: 720; font-size: 11px; position: relative; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 9px 24px rgba(28,32,58,.09); }
.button.primary { background: linear-gradient(135deg, color-mix(in srgb, var(--brand-accent) 92%, #fff), color-mix(in srgb, var(--brand-accent) 72%, #df4fff)); color: #fff; border-color: transparent; box-shadow: 0 10px 25px color-mix(in srgb, var(--brand-accent) 24%, transparent); }
.button.ghost { background: transparent; }
.button.small { min-height: 34px; padding: 7px 10px; font-size: 10px; }
.button.wide { width: 100%; }
.head-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.dashboard-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.dashboard-main-column, .dashboard-side-column { display: grid; gap: 18px; }
.house-hero { min-height: 350px; border-radius: 22px; background-size: cover; background-position: center; position: relative; overflow: hidden; color: #fff; box-shadow: var(--shadow-strong); transform: translate(var(--hero-x,0), var(--hero-y,0)); transition: transform .35s ease, box-shadow .35s ease; isolation: isolate; }
.house-hero:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(8,10,25,.50),transparent 48%); z-index: -1; }
.hero-glow { position: absolute; width: 260px; height: 260px; border-radius: 50%; background: color-mix(in srgb, var(--brand-accent) 42%, transparent); filter: blur(70px); top: -80px; left: -40px; opacity: .6; }
.house-hero-copy { position: absolute; left: 28px; top: 26px; max-width: 420px; }
.hero-kicker { text-transform: uppercase; letter-spacing: .15em; font-size: 10px; color: #d9d4ff; font-weight: 850; }
.house-hero h2 { margin: 10px 0 15px; font-size: clamp(31px,3vw,47px); line-height: .98; letter-spacing: -.05em; text-shadow: 0 8px 30px rgba(0,0,0,.25); }
.home-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: rgba(9,12,29,.48); backdrop-filter: blur(12px); font-size: 10px; border: 1px solid rgba(255,255,255,.10); }
.home-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(38,189,117,.12); }
.home-status.attention i { background: var(--danger); box-shadow: 0 0 0 5px rgba(232,84,104,.14); }
.home-status.busy i { background: var(--orange); box-shadow: 0 0 0 5px rgba(255,159,67,.14); }
.house-metrics { position: absolute; left: 20px; right: 20px; bottom: 18px; min-height: 76px; padding: 10px; border-radius: 16px; display: grid; grid-template-columns: repeat(4,1fr); background: rgba(10,12,27,.70); backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,.10); }
.house-metrics a { display: flex; align-items: center; gap: 10px; padding: 7px 12px; border-right: 1px solid rgba(255,255,255,.09); transition: background .18s ease; }
.house-metrics a:last-child { border-right: 0; }
.house-metrics a:hover { background: rgba(255,255,255,.06); border-radius: 10px; }
.house-metrics svg { color: #a893ff; font-size: 22px; }
.house-metrics span, .house-metrics small, .house-metrics strong { display: block; }
.house-metrics small { color: rgba(255,255,255,.58); font-size: 8px; margin-bottom: 3px; }
.house-metrics strong { font-size: 15px; }
.panel, .hero-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.panel { padding: 22px; }
.panel.narrow { max-width: 820px; }
.panel-head { display: flex; justify-content: space-between; gap: 18px; align-items: start; margin-bottom: 14px; }
.panel h2, .panel-head h2 { margin: 4px 0 0; font-size: 17px; letter-spacing: -.025em; }
.panel-head a, .mini-link { color: var(--brand-accent); font-size: 10px; font-weight: 800; }
.dark-panel { background: linear-gradient(155deg,#12162a,#0e1122); color: #fff; border-color: rgba(255,255,255,.06); box-shadow: var(--shadow-strong); }
.dark-panel .eyebrow { color: #b8a9ff; }
.dashboard-panels { display: grid; gap: 18px; }
.two-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.task-stack, .task-table { display: grid; }
.task-row { min-height: 58px; display: grid; grid-template-columns: 31px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.task-row:first-child { border-top: 0; }
.task-row strong, .task-row span { display: block; }
.task-row > div > span { color: var(--muted); font-size: 9px; margin-top: 4px; }
.task-row-large { grid-template-columns: minmax(0,1fr) auto; padding: 15px 4px; }
.task-actions { display: flex; align-items: center; gap: 9px; }
.task-orb { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; background: #e9f8f1; color: var(--green); font-size: 10px; font-weight: 900; }
.task-orb.p4, .task-orb.p5 { background: #fff0f2; color: var(--danger); }
.priority { min-width: 31px; height: 25px; border-radius: 999px; display: grid !important; place-items: center; padding: 0 7px; color: #61677b !important; background: #f0f1f6; font-size: 8px !important; font-weight: 850; margin: 0 !important; }
.priority.p4, .priority.p5 { background: #fff0f2; color: #b84254 !important; }
.timeline-row { display: grid; grid-template-columns: 68px minmax(0,1fr) 27px; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }
.timeline-row:first-child { border-top: 0; }
.timeline-row time { color: var(--brand-accent); font-weight: 800; font-size: 9px; }
.timeline-row strong, .timeline-row span { display: block; }
.timeline-row strong { font-size: 11px; }
.timeline-row span { color: var(--muted); font-size: 9px; margin-top: 3px; }
.timeline-row > svg { color: var(--brand-accent); background: color-mix(in srgb, var(--brand-accent) 9%, white); border-radius: 9px; padding: 6px; box-sizing: content-box; }
.quick-panel { padding-bottom: 17px; }
.quick-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.quick-grid a { min-height: 92px; border-radius: 14px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.06); padding: 14px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; transition: transform .18s ease, background .18s ease; }
.quick-grid a:hover { transform: translateY(-2px); background: rgba(255,255,255,.075); }
.quick-grid svg { font-size: 24px; color: #9f8cff; }
.quick-grid a:nth-child(2) svg { color: #ff9c5c; }
.quick-grid a:nth-child(3) svg { color: #55d779; }
.quick-grid a:nth-child(4) svg { color: #4fb7ff; }
.quick-grid a:nth-child(5) svg { color: #ef5ca8; }
.quick-grid a:nth-child(6) svg { color: #7c8cff; }
.quick-grid span { font-size: 10px; font-weight: 750; }
.rescue-card { border-radius: 20px; padding: 22px; background: radial-gradient(circle at 100% 0%, rgba(236,92,210,.24),transparent 35%), linear-gradient(145deg,#32215d,#14162c 70%); color: #fff; box-shadow: var(--shadow-strong); position: relative; overflow: hidden; }
.rescue-card:after { content: "✦"; position: absolute; right: 18px; top: 10px; font-size: 74px; color: rgba(255,255,255,.045); transform: rotate(12deg); }
.rescue-card .eyebrow { color: #c8bbff; }
.rescue-card h2 { margin: 7px 0 8px; font-size: 21px; }
.rescue-card p { color: rgba(255,255,255,.62); font-size: 10px; line-height: 1.6; }
.time-buttons { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-top: 18px; }
.time-buttons a { min-height: 36px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.09); font-size: 9px; font-weight: 800; position: relative; overflow: hidden; }
.feature-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin: 18px 0; }
.feature-card { min-height: 134px; border-radius: 18px; padding: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; overflow: hidden; color: #fff; box-shadow: var(--shadow); position: relative; transition: transform .22s ease, box-shadow .22s ease; }
.feature-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-strong); }
.feature-card h3 { margin: 5px 0; font-size: 15px; }
.feature-card p { margin: 0; color: rgba(255,255,255,.60); font-size: 9px; line-height: 1.5; }
.feature-card svg { font-size: 48px; opacity: .72; filter: drop-shadow(0 8px 18px rgba(0,0,0,.18)); }
.feature-card .eyebrow { color: rgba(255,255,255,.62); }
.feature-card.meals { background: radial-gradient(circle at 100% 0%,rgba(255,121,76,.35),transparent 38%),linear-gradient(145deg,#24202c,#111421); }
.feature-card.pantry { background: radial-gradient(circle at 100% 0%,rgba(255,170,71,.30),transparent 38%),linear-gradient(145deg,#242522,#111421); }
.feature-card.locator { background: radial-gradient(circle at 100% 0%,rgba(73,173,255,.34),transparent 38%),linear-gradient(145deg,#16283d,#111421); }
.feature-card.finance { background: radial-gradient(circle at 100% 0%,rgba(237,86,180,.36),transparent 38%),linear-gradient(145deg,#3a1835,#111421); }
.dashboard-bottom { margin-top: 18px; }
.inventory-row, .ingredient-list > div { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }
.inventory-row:first-child, .ingredient-list > div:first-child { border-top: 0; }
.inventory-row strong, .inventory-row span, .ingredient-list strong, .ingredient-list span { display: block; }
.inventory-row > div > span, .ingredient-list span { color: var(--muted); font-size: 9px; margin-top: 3px; }
.inventory-row > span { color: var(--muted); font-size: 9px; }
.empty-state { min-height: 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; color: var(--muted); }
.empty-state svg { font-size: 28px; color: var(--brand-accent); opacity: .55; }
.empty-state strong { color: var(--ink); font-size: 12px; }
.empty-state span { font-size: 9px; }
.hero-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 18px; }
.hero-card { padding: 20px; display: grid; gap: 5px; }
.hero-card strong { font-size: 31px; letter-spacing: -.05em; }
.hero-card span { color: var(--muted); font-size: 9px; }
.hero-label { color: var(--brand-accent) !important; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.content-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.form-stack p { display: grid; gap: 6px; margin: 0 0 14px; }
.form-stack label { font-size: 10px; font-weight: 800; color: var(--ink); }
.form-stack input, .form-stack select, .form-stack textarea { width: 100%; min-height: 41px; padding: 10px 11px; border-radius: 11px; border: 1px solid var(--line); background: var(--surface-soft); color: var(--ink); outline: none; transition: border .18s ease, box-shadow .18s ease, background .18s ease; }
.form-stack textarea { min-height: 100px; resize: vertical; }
.form-stack input[type=checkbox] { width: 18px; min-height: 18px; }
.form-stack input[type=color] { padding: 4px; min-height: 46px; }
.form-stack input:focus, .form-stack select:focus, .form-stack textarea:focus { border-color: color-mix(in srgb, var(--brand-accent) 60%, #fff); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-accent) 10%, transparent); background: var(--surface); }
.form-stack .helptext { color: var(--muted); font-size: 8px; line-height: 1.5; }
.errorlist { color: var(--danger); font-size: 9px; padding-left: 16px; }
.plan-summary { border-bottom: 1px solid var(--line); padding-bottom: 16px; display: flex; align-items: baseline; gap: 7px; }
.plan-summary strong { font-size: 30px; }
.plan-summary span { color: var(--muted); font-size: 9px; }
.plan-list { margin: 0; padding: 0; list-style: none; counter-reset: plan; }
.plan-list li { counter-increment: plan; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.plan-list li:before { content: counter(plan); width: 30px; height: 30px; border-radius: 10px; background: color-mix(in srgb, var(--brand-accent) 9%, var(--surface)); color: var(--brand-accent); display: grid; place-items: center; font-weight: 850; font-size: 10px; }
.plan-list strong, .plan-list span { display: block; }
.plan-list span { color: var(--muted); font-size: 9px; margin-top: 3px; }
.score { color: var(--brand-accent) !important; font-weight: 800; }
.quick-add, .search-home { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-bottom: 16px; }
.quick-add input, .search-home input { min-height: 42px; border: 1px solid var(--line); border-radius: 11px; padding: 10px 12px; background: var(--surface-soft); color: var(--ink); }
.shopping-row { border-top: 1px solid var(--line); }
.shopping-row:first-child { border-top: 0; }
.shopping-row button { width: 100%; border: 0; background: transparent; color: var(--ink); min-height: 52px; padding: 9px 0; display: flex; gap: 10px; align-items: center; text-align: left; cursor: pointer; }
.shopping-row.done { opacity: .46; }
.shopping-row.done strong { text-decoration: line-through; }
.shop-check { width: 27px; height: 27px; border-radius: 9px; border: 1px solid var(--line); display: grid; place-items: center; flex: 0 0 auto; color: var(--green); }
.shopping-row strong, .shopping-row small { display: block; }
.shopping-row small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.recipe-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.recipe-card { padding: 0; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.recipe-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-strong); }
.recipe-card > img, .recipe-placeholder { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: grid; place-items: center; background: radial-gradient(circle at 70% 30%,rgba(255,154,82,.3),transparent 35%),linear-gradient(135deg,#24202a,#111421); }
.recipe-placeholder span { font-size: 42px; filter: drop-shadow(0 8px 20px rgba(0,0,0,.25)); }
.recipe-card-body { padding: 18px; }
.recipe-card h2 { margin: 5px 0 7px; font-size: 17px; }
.recipe-card p { color: var(--muted); font-size: 9px; line-height: 1.5; }
.recipe-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 11px; }
.recipe-tags span { background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface)); border-radius: 999px; padding: 5px 8px; font-size: 8px; color: var(--brand-accent); font-weight: 700; }
.recipe-detail-grid { grid-template-columns: .72fr 1.28fr; }
.recipe-metrics { display: flex; gap: 6px; flex-wrap: wrap; margin: 11px 0 18px; }
.recipe-metrics span { background: var(--surface-soft); border-radius: 999px; padding: 6px 9px; font-size: 8px; }
.recipe-instructions { line-height: 1.7; font-size: 11px; }
.recipe-editor { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; align-items: start; }
.ingredient-editor { display: grid; gap: 10px; }
.ingredient-form { background: var(--surface-soft); border: 1px solid var(--line); border-radius: 14px; padding: 13px; }
.meal-plan-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 18px; align-items: start; }
.meal-week { display: grid; grid-template-columns: repeat(7,minmax(150px,1fr)); gap: 10px; overflow-x: auto; padding-bottom: 7px; }
.meal-day { min-width: 150px; padding: 14px; }
.meal-day-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.meal-day-head strong { font-size: 11px; text-transform: capitalize; }
.meal-day-head span { color: var(--muted); font-size: 9px; }
.meal-slot { padding: 10px 0; border-bottom: 1px solid var(--line); }
.meal-slot > span, .meal-slot > strong, .meal-slot > a { display: block; }
.meal-slot > span { color: var(--muted); font-size: 8px; }
.meal-slot > strong { font-size: 10px; margin: 3px 0; }
.meal-slot > a { color: var(--brand-accent); font-size: 8px; font-weight: 800; }
.meal-empty { color: var(--muted); font-size: 9px; padding: 16px 0; }
.meal-plan-form { position: sticky; top: 94px; }
.routine-grid, .device-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.routine-steps { padding-left: 18px; }
.routine-steps li { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
.routine-steps small { float: right; color: var(--muted); }
.device-head { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; gap: 10px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.device-head strong, .device-head span { display: block; }
.device-head strong { font-size: 12px; }
.device-head span { color: var(--muted); font-size: 8px; margin-top: 3px; }
.device-head b { font-size: 8px; padding: 5px 7px; border-radius: 999px; background: var(--surface-soft); }
.device-status { width: 8px; height: 8px; border-radius: 50%; background: #c3c7d2; }
.device-status.online { background: var(--green); box-shadow: 0 0 0 5px rgba(38,189,117,.10); }
.entity-list > div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 9px; }
.entity-list span { color: var(--muted); }
.notification-row { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; gap: 12px; padding: 15px 0; border-top: 1px solid var(--line); align-items: start; }
.notification-row:first-child { border-top: 0; }
.notification-row.unread { background: color-mix(in srgb, var(--brand-accent) 3%, transparent); }
.notification-row strong { font-size: 11px; }
.notification-row p { margin: 4px 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.notification-row small { color: var(--muted); font-size: 8px; }
.notification-level { width: 8px; height: 8px; border-radius: 50%; margin-top: 4px; background: var(--blue); }
.notification-level.warning { background: var(--orange); }
.notification-level.critical { background: var(--danger); }
.branding-layout { display: grid; grid-template-columns: minmax(0,650px) minmax(300px,1fr); gap: 18px; align-items: start; }
.branding-preview { min-height: 380px; border-radius: 22px; overflow: hidden; display: grid; grid-template-columns: 180px 1fr; box-shadow: var(--shadow-strong); --preview-accent: var(--brand-accent); --preview-sidebar: var(--sidebar-base); }
.preview-sidebar { background: var(--preview-sidebar); color: white; padding: 25px 18px; display: flex; flex-direction: column; }
.preview-sidebar .brand-mark { margin-bottom: 20px; }
.preview-sidebar strong { font-size: 14px; }
.preview-sidebar small { color: rgba(255,255,255,.55); font-size: 9px; margin-top: 4px; }
.preview-main { background: var(--surface); padding: 32px; }
.preview-main h2 { font-size: 30px; margin: 7px 0; }
.preview-main p { color: var(--muted); font-size: 10px; }
.preview-button { display: inline-flex; margin-top: 20px; padding: 10px 14px; background: var(--preview-accent); color: #fff; border-radius: 10px; font-size: 9px; font-weight: 800; }
.setup-shell { min-height: calc(100vh - 130px); display: grid; grid-template-columns: 1fr 480px; gap: 50px; align-items: center; max-width: 1100px; margin: auto; }
.setup-copy h1 { font-size: clamp(38px,5vw,68px); line-height: .98; letter-spacing: -.055em; margin: 10px 0 18px; }
.setup-copy p { color: var(--muted); max-width: 520px; line-height: 1.7; }
.setup-card { padding: 30px; }
.auth-body { background: #0b0e1d; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(420px,.8fr); }
.auth-visual { min-height: 100vh; background-size: cover; background-position: center; position: relative; padding: 34px; color: white; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.auth-visual:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(7,9,23,.90),rgba(7,9,23,.10) 55%,rgba(7,9,23,.20)); z-index: 0; }
.auth-visual > * { position: relative; z-index: 1; }
.auth-brand { display: flex; gap: 12px; align-items: center; }
.auth-brand strong, .auth-brand small { display: block; }
.auth-brand strong { letter-spacing: .08em; font-size: 14px; }
.auth-brand small { color: rgba(255,255,255,.62); font-size: 9px; margin-top: 3px; }
.auth-visual-copy { max-width: 700px; padding: 20px; }
.auth-visual-copy .eyebrow { color: #c8bcff; }
.auth-visual-copy h1 { font-size: clamp(42px,5.3vw,76px); line-height: .98; letter-spacing: -.06em; margin: 10px 0 18px; }
.auth-visual-copy p { max-width: 610px; color: rgba(255,255,255,.70); line-height: 1.7; font-size: 12px; }
.auth-form-side { background: var(--page-base); display: grid; place-items: center; padding: 34px; }
.auth-card { width: min(430px,100%); }
.auth-card h2 { margin: 7px 0 8px; font-size: 31px; letter-spacing: -.04em; }
.auth-form { margin-top: 25px; }
.auth-security { display: flex; align-items: center; gap: 8px; margin-top: 20px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.auth-security svg { color: var(--green); flex: 0 0 auto; }
.auth-footer { color: var(--muted); font-size: 8px; margin-top: 22px; }
.muted { color: var(--muted); line-height: 1.6; font-size: 10px; }
.messages { margin: 0 0 16px; }
.message { padding: 11px 13px; background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface)); border: 1px solid color-mix(in srgb, var(--brand-accent) 14%, var(--line)); border-radius: 12px; font-size: 10px; }
footer { margin-top: 36px; padding: 17px 0 2px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; }
.offline-body { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--page-base); }
.offline-card { width: min(420px,100%); background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 32px; text-align: center; box-shadow: var(--shadow); }
.offline-card img { width: 72px; height: 72px; border-radius: 20px; }
.offline-card p { color: var(--muted); line-height: 1.6; }
.mobile-nav, .mobile-sheet, .mobile-sheet-backdrop { display: none; }
.reveal { opacity: 0; transform: translateY(16px) scale(.994); transition: opacity .48s cubic-bezier(.22,.8,.22,1) var(--reveal-delay,0ms), transform .48s cubic-bezier(.22,.8,.22,1) var(--reveal-delay,0ms), box-shadow .2s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
.tap-ripple { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; pointer-events: none; background: currentColor; opacity: .16; animation: tapRipple .52s ease-out forwards; }
@keyframes tapRipple { from { transform: scale(1); opacity: .18; } to { transform: scale(26); opacity: 0; } }
body[data-theme="dark"] { --page-base: #0d1020; --surface: #14182a; --surface-soft: #191e33; --ink: #f4f3ff; --muted: #969bb0; --line: #252b43; --shadow: 0 18px 55px rgba(0,0,0,.22); }
body[data-theme="dark"] .topbar { background: rgba(13,16,32,.84); }
body[data-theme="dark"] .topbar-icon { background: var(--surface); }
body[data-theme="dark"] .notification-dot { box-shadow: 0 0 0 3px var(--page-base); }
body[data-theme="dark"] .form-stack input, body[data-theme="dark"] .form-stack select, body[data-theme="dark"] .form-stack textarea, body[data-theme="dark"] .quick-add input, body[data-theme="dark"] .search-home input { color-scheme: dark; }
.span-all { grid-column: 1 / -1; }
@media (max-width: 1280px) {
    .dashboard-layout { grid-template-columns: 1fr 285px; }
    .feature-strip { grid-template-columns: repeat(2,1fr); }
    .recipe-grid, .routine-grid, .device-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 1040px) {
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .main { grid-column: 1; padding: 0 16px calc(96px + env(safe-area-inset-bottom)); }
    .topbar { height: calc(62px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 15px 0; margin: 0 -16px 18px; }
    .topbar-title strong { font-size: 12px; }
    .topbar-title small { display: none; }
    .mobile-menu-button { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--surface); border: 1px solid var(--line); }
    .topbar-tools .topbar-avatar { display: none; }
    .dashboard-layout { grid-template-columns: 1fr; }
    .dashboard-side-column { grid-template-columns: 1fr 1fr; }
    .mobile-nav { position: fixed; display: grid; grid-template-columns: repeat(5,1fr); z-index: 90; left: 10px; right: 10px; bottom: calc(8px + env(safe-area-inset-bottom)); min-height: 66px; padding: 7px; background: rgba(12,16,32,.94); backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,.09); border-radius: 21px; box-shadow: 0 18px 50px rgba(0,0,0,.28); }
    .mobile-nav a, .mobile-nav button { border: 0; background: transparent; color: rgba(255,255,255,.64); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 13px; min-width: 0; padding: 4px; }
    .mobile-nav svg { font-size: 20px; }
    .mobile-nav small { font-size: 8px; white-space: nowrap; }
    .mobile-nav-main { background: linear-gradient(135deg,var(--brand-accent),#db55e7) !important; color: white !important; transform: translateY(-12px); box-shadow: 0 10px 25px color-mix(in srgb,var(--brand-accent) 32%,transparent); }
    .mobile-sheet-backdrop { display: block; position: fixed; inset: 0; background: rgba(4,6,15,.52); backdrop-filter: blur(3px); z-index: 95; opacity: 0; pointer-events: none; transition: opacity .24s ease; }
    .mobile-sheet-backdrop.open { opacity: 1; pointer-events: auto; }
    .mobile-sheet { display: block; position: fixed; left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); z-index: 100; max-height: min(78vh,720px); overflow-y: auto; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 25px; padding: 10px 17px 22px; box-shadow: 0 30px 90px rgba(0,0,0,.35); transform: translateY(calc(100% + 30px)); opacity: 0; transition: transform .3s cubic-bezier(.22,.8,.22,1), opacity .25s ease; }
    .mobile-sheet.open { transform: translateY(0); opacity: 1; }
    .mobile-sheet-handle { width: 42px; height: 4px; border-radius: 99px; background: var(--line); margin: 2px auto 14px; }
    .mobile-sheet-head { display: flex; justify-content: space-between; align-items: center; }
    .mobile-sheet-head h2 { margin: 5px 0 0; font-size: 22px; }
    .mobile-sheet-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-top: 15px; }
    .mobile-sheet-grid a { min-height: 88px; padding: 12px; border-radius: 15px; background: var(--surface-soft); border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; }
    .mobile-sheet-grid svg { font-size: 24px; color: var(--brand-accent); }
    .mobile-sheet-grid span { font-size: 9px; font-weight: 800; }
    .sheet-open { overflow: hidden; }
    .meal-plan-layout { grid-template-columns: 1fr; }
    .meal-plan-form { position: static; }
    .setup-shell { grid-template-columns: 1fr; gap: 24px; padding: 20px 0; }
}
@media (max-width: 760px) {
    .dashboard-welcome, .page-head { align-items: stretch; flex-direction: column; gap: 14px; }
    .dashboard-welcome h1, .page-head h1 { font-size: 31px; }
    .dashboard-welcome .button, .page-head > .button { align-self: flex-start; }
    .house-hero { min-height: 420px; background-position: 58% center; }
    .house-hero-copy { left: 20px; right: 20px; top: 22px; }
    .house-hero h2 { font-size: 36px; }
    .house-metrics { grid-template-columns: repeat(2,1fr); bottom: 14px; left: 12px; right: 12px; }
    .house-metrics a { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
    .house-metrics a:nth-last-child(-n+2) { border-bottom: 0; }
    .two-columns, .dashboard-side-column, .content-grid, .recipe-editor, .branding-layout { grid-template-columns: 1fr; }
    .feature-strip { grid-template-columns: 1fr 1fr; }
    .hero-grid { grid-template-columns: repeat(2,1fr); }
    .recipe-grid, .routine-grid, .device-grid { grid-template-columns: 1fr; }
    .recipe-detail-grid { grid-template-columns: 1fr; }
    .branding-preview { min-height: 300px; grid-template-columns: 130px 1fr; }
    footer { flex-direction: column; gap: 5px; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-visual { min-height: 38vh; padding: 20px; }
    .auth-visual-copy { padding: 10px 0; }
    .auth-visual-copy h1 { font-size: 38px; }
    .auth-form-side { padding: 30px 20px calc(30px + env(safe-area-inset-bottom)); }
}
@media (max-width: 480px) {
    .main { padding-left: 12px; padding-right: 12px; }
    .topbar { margin-left: -12px; margin-right: -12px; }
    .topbar-icon { width: 35px; height: 35px; }
    .house-hero { border-radius: 18px; }
    .panel { padding: 17px; border-radius: 17px; }
    .feature-strip { grid-template-columns: 1fr; }
    .feature-card { min-height: 110px; }
    .quick-grid { grid-template-columns: repeat(3,1fr); }
    .quick-grid a { min-height: 84px; padding: 10px; }
    .quick-grid span { font-size: 8px; }
    .time-buttons { grid-template-columns: repeat(4,1fr); }
    .mobile-sheet-grid { grid-template-columns: repeat(3,1fr); }
    .quick-add, .search-home { grid-template-columns: 1fr; }
    .meal-week { grid-template-columns: repeat(7,145px); }
    .branding-preview { grid-template-columns: 1fr; }
    .preview-sidebar { min-height: 120px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .reveal, .page-stage { opacity: 1 !important; transform: none !important; }
}


.member-facts { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.member-facts span { background: var(--surface-2); border: 1px solid var(--line); border-radius: 999px; padding: 6px 9px; font-size: 11px; }


.smart-integration-grid { margin-bottom: 18px; }
.status-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 7px 10px; font-size: 11px; font-weight: 800; background: rgba(255,255,255,.06); color: var(--muted); }
.status-pill.ok { color: #5fe28e; background: rgba(50,190,100,.12); }
.button-row { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 16px; }
.integration-result { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.integration-result span { color: var(--muted); font-size: 12px; text-align: right; }
.smart-flow { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: 18px 0; }
.smart-flow span { padding: 10px 12px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; font-weight: 750; font-size: 12px; }
.smart-flow b { color: var(--brand-accent); }
.device-controls { display: flex !important; justify-content: flex-end !important; gap: 7px; flex-wrap: wrap; }
.device-controls form { margin: 0; }
.tracker-flow { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.tracker-flow > div { min-width: 150px; text-align: center; padding: 12px 14px; border-radius: 15px; background: var(--surface-2); border: 1px solid var(--line); }
.tracker-flow strong, .tracker-flow span { display: block; }
.tracker-flow span { color: var(--muted); font-size: 11px; margin-top: 4px; }
.tracker-flow b { color: var(--brand-accent); font-size: 20px; }
.tracker-result { display: grid; grid-template-columns: 1fr 1fr auto; gap: 18px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.tracker-result strong, .tracker-result span { display: block; }
.tracker-result span { color: var(--muted); font-size: 11px; margin-top: 4px; }
.tracker-location { text-align: right; }
.tracker-battery { min-width: 50px; text-align: right; font-weight: 800; }
.item-location-copy { text-align: right; }
.item-location-copy strong, .item-location-copy span { display: block; }
.item-location-copy span { margin-top: 4px; }
@media (max-width: 700px) {
    .tracker-result { grid-template-columns: 1fr auto; }
    .tracker-location { grid-column: 1 / -1; grid-row: 2; text-align: left; }
    .tracker-flow > div { min-width: 120px; flex: 1 1 40%; }
    .tracker-flow b { display: none; }
    .item-location-row { align-items: flex-start; }
}


.status-pill.attention { color: #f7bd64; background: rgba(247,189,100,.12); }
.user-table { display: grid; }
.user-row { display: grid; grid-template-columns: auto minmax(190px,1.4fr) minmax(150px,1fr) auto; gap: 16px; align-items: center; padding: 15px 4px; border-bottom: 1px solid var(--line); }
.user-row:hover { background: var(--surface-2); }
.user-row > div > strong, .user-row > div > span { display: block; }
.user-row > div > span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.user-avatar { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-weight: 850; background: linear-gradient(135deg,var(--brand-accent),#35c5ff); color: white; }
.user-security-state { text-align: right; }
.mfa-status-card { align-self: start; }
.security-callout { display: grid; gap: 5px; padding: 14px 15px; border-radius: 14px; background: var(--surface-2); border: 1px solid var(--line); margin: 14px 0; }
.security-callout span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.mfa-setup-grid { grid-template-columns: minmax(280px,.8fr) minmax(320px,1.2fr); }
.mfa-qr-card { display: grid; place-items: center; text-align: center; }
.mfa-qr-card img { width: min(280px,100%); border-radius: 20px; background: white; padding: 12px; }
.mfa-secret { display: block; margin-top: 7px; max-width: 360px; word-break: break-all; letter-spacing: .08em; }
.mfa-challenge-shell { min-height: 66vh; display: grid; place-items: center; }
.mfa-challenge-card { width: min(460px,100%); }
.account-house-list { display: grid; gap: 10px; margin-top: 16px; }
.account-house-list form { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface-2); }
.account-house-list strong, .account-house-list span { display: block; }
.account-house-list span { color: var(--muted); font-size: 11px; margin-top: 3px; }
@media (max-width: 760px) {
    .user-row { grid-template-columns: auto 1fr; }
    .user-row > div:nth-of-type(2), .user-security-state { grid-column: 2; text-align: left; }
    .mfa-setup-grid { grid-template-columns: 1fr; }
    .account-house-list form { align-items: flex-start; flex-direction: column; }
}

.recipe-filter-form{display:grid;grid-template-columns:1fr minmax(180px,240px) auto;gap:10px}.recipe-filter-form input,.recipe-filter-form select,.chat-compose textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:11px 12px}.recipe-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.nutrition-mini{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.nutrition-mini span{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:7px 9px;font-size:11px}.nutrition-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.nutrition-grid article{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:15px}.nutrition-grid strong,.nutrition-grid span{display:block}.nutrition-grid strong{font-size:20px}.nutrition-grid span{color:var(--muted);font-size:11px;margin-top:4px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.profile-card{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.profile-card .nutrition-mini{grid-column:1/-1}.chat-panel{max-width:960px}.chat-messages{height:min(58vh,620px);overflow:auto;padding:6px 4px 16px;display:grid;align-content:start;gap:9px}.chat-message{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.chat-avatar{width:34px;height:34px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;font-weight:800}.chat-meta{display:flex;gap:10px;align-items:baseline}.chat-meta span{color:var(--muted);font-size:10px}.chat-message p{margin:4px 0 0;background:var(--surface-2);border-radius:0 14px 14px 14px;padding:10px 12px;line-height:1.5}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:9px;border-top:1px solid var(--line);padding-top:14px}.first-run-card{width:min(650px,100%)}@media(max-width:760px){.recipe-filter-form,.chat-compose{grid-template-columns:1fr}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}}
.button-icon{width:17px;height:17px;vertical-align:-3px;margin-right:7px}.topbar-icon[type=button]{border:0;cursor:pointer}.chat-dot{background:linear-gradient(135deg,#35c5ff,var(--brand-accent))}.chat-page-head{margin-bottom:16px}.chat-pro{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:14px;min-height:680px}.chat-sidebar,.chat-thread{padding:0;overflow:hidden}.chat-sidebar-title{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 14px;border-bottom:1px solid var(--line)}.chat-sidebar-title strong{display:block;font-size:17px;margin-top:3px}.chat-conversation-list{max-height:680px;overflow:auto;padding:8px}.chat-conversation-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border-radius:15px;color:var(--ink);transition:background .18s ease,transform .18s ease}.chat-conversation-row:hover{background:var(--surface-2)}.chat-conversation-row.active{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-accent) 13%,var(--surface)),color-mix(in srgb,#35c5ff 7%,var(--surface)))}.chat-conversation-avatar,.chat-thread-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);color:var(--brand-accent)}.chat-conversation-avatar svg,.chat-thread-avatar svg{width:21px;height:21px}.chat-conversation-row>div{min-width:0}.chat-conversation-name{display:flex;justify-content:space-between;gap:8px;align-items:center}.chat-conversation-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conversation-name time{font-size:9px;color:var(--muted);font-weight:700}.chat-conversation-row>div>span{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.chat-unread{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--brand-accent);color:white;font-size:10px}.chat-thread{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 56%,var(--surface)))}.chat-thread-head{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px)}.chat-thread-head h2{margin:0;font-size:17px}.chat-thread-head span{color:var(--muted);font-size:10px}.chat-thread-head b{font-weight:800}.chat-thread-head b.online{color:#42cf83}.chat-message-stream{overflow:auto;padding:24px 20px 16px;display:flex;flex-direction:column;gap:6px;scroll-behavior:smooth}.chat-bubble-row{display:flex;align-items:flex-end;gap:8px;max-width:76%;align-self:flex-start}.chat-bubble-row.own{align-self:flex-end;flex-direction:row-reverse}.chat-bubble-row.system{align-self:center;max-width:88%}.chat-bubble-avatar{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-size:10px;font-weight:850;flex:0 0 auto}.chat-bubble-wrap{position:relative;min-width:82px}.chat-bubble{padding:9px 11px 7px;border:1px solid var(--line);border-radius:5px 17px 17px 17px;background:var(--surface);box-shadow:0 7px 24px rgba(10,14,28,.05)}.chat-bubble-row.own .chat-bubble{border-radius:17px 5px 17px 17px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-accent) 18%,var(--surface)),color-mix(in srgb,#35c5ff 10%,var(--surface)))}.chat-bubble-row.system .chat-bubble{border-radius:999px;background:var(--surface-2);box-shadow:none;text-align:center}.chat-bubble-sender{display:block;color:var(--brand-accent);font-size:10px;margin-bottom:3px}.chat-bubble-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.52;font-size:13px}.chat-deleted{font-style:italic;color:var(--muted);margin:0;font-size:12px}.chat-bubble-footer{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:5px;color:var(--muted);font-size:8px;min-height:14px}.chat-delivery{display:inline-grid;place-items:center}.chat-delivery svg{width:15px;height:15px}.chat-delivery.read{color:#35bfff}.chat-quoted{display:grid;width:100%;text-align:left;border:0;border-left:3px solid var(--brand-accent);background:var(--surface-2);padding:7px 9px;margin:0 0 7px;border-radius:8px;cursor:pointer;color:var(--ink)}.chat-quoted strong{font-size:9px;color:var(--brand-accent)}.chat-quoted span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-attachments{display:grid;gap:7px;margin-top:7px}.chat-image-link{display:block;overflow:hidden;border-radius:12px;max-width:340px}.chat-image-link img{display:block;width:100%;max-height:280px;object-fit:cover}.chat-file-link{display:flex;align-items:center;gap:9px;padding:9px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;color:var(--ink)}.chat-file-link>svg{width:23px;height:23px;color:var(--brand-accent);flex:0 0 auto}.chat-file-link span{min-width:0}.chat-file-link strong,.chat-file-link small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-file-link strong{font-size:10px}.chat-file-link small{font-size:8px;color:var(--muted);margin-top:2px}.chat-message-actions{position:absolute;top:50%;right:-66px;transform:translateY(-50%);display:flex;gap:3px;opacity:0;transition:opacity .16s ease}.chat-bubble-row.own .chat-message-actions{right:auto;left:-66px}.chat-bubble-row:hover .chat-message-actions,.chat-bubble-row:focus-within .chat-message-actions{opacity:1}.chat-message-actions button{width:28px;height:28px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 16px rgba(10,14,28,.08)}.chat-message-actions svg{width:14px;height:14px}.chat-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:-2px;position:relative;z-index:2}.chat-bubble-row.own .chat-reactions{justify-content:flex-end}.chat-reaction-pill{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 7px;font-size:10px;cursor:pointer;box-shadow:0 3px 10px rgba(10,14,28,.06)}.chat-reaction-picker{position:absolute;bottom:calc(100% + 5px);display:flex;gap:2px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 12px 34px rgba(10,14,28,.18);z-index:15}.chat-reaction-picker button{border:0;background:transparent;width:30px;height:30px;border-radius:50%;font-size:16px;cursor:pointer}.chat-reaction-picker button:hover{background:var(--surface-2)}.chat-highlight .chat-bubble{animation:chatPulse 1.1s ease}.chat-typing{display:flex;align-items:center;gap:3px;padding:4px 20px 8px;color:var(--muted);font-size:10px}.chat-typing>span{width:5px;height:5px;background:var(--brand-accent);border-radius:50%;animation:typingDot 1s infinite}.chat-typing>span:nth-child(2){animation-delay:.12s}.chat-typing>span:nth-child(3){animation-delay:.24s}.chat-typing b{font-weight:700;margin-left:5px}.chat-reply-preview,.chat-file-preview{margin:0 14px;padding:9px 11px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.chat-reply-preview{display:flex;justify-content:space-between;align-items:center;gap:12px;border-left:3px solid var(--brand-accent)}.chat-reply-preview strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.chat-file-preview{display:flex;gap:6px;flex-wrap:wrap}.chat-file-preview>span{display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:8px;background:var(--surface);font-size:9px}.chat-file-preview svg{width:13px;height:13px}.chat-compose-pro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:var(--surface)}.chat-compose-icon,.chat-send{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;cursor:pointer}.chat-compose-icon{background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}.chat-compose-icon input{display:none}.chat-compose-icon svg,.chat-send svg{width:19px;height:19px}.chat-compose-pro textarea{resize:none;max-height:130px;min-height:42px;padding:11px 13px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);outline:none;line-height:1.45}.chat-compose-pro textarea:focus{border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 10%,transparent)}.chat-send{border:0;background:linear-gradient(135deg,var(--brand-accent),#35bfff);color:white;box-shadow:0 9px 22px color-mix(in srgb,var(--brand-accent) 25%,transparent)}.chat-send:disabled{opacity:.55}.chat-form-error{margin:0 14px 10px;padding:8px 10px;border-radius:9px;background:rgba(220,70,85,.1);color:#df6170;font-size:10px}.chat-dialog{border:0;padding:0;background:transparent;width:min(560px,calc(100vw - 24px));color:var(--ink)}.chat-dialog::backdrop{background:rgba(6,9,19,.65);backdrop-filter:blur(7px)}.chat-dialog-card{margin:0;max-height:min(720px,90vh);overflow:auto}.chat-kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.chat-kind-switch input{position:absolute;opacity:0;pointer-events:none}.chat-kind-switch span{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-weight:750}.chat-kind-switch svg{width:17px;height:17px}.chat-kind-switch input:checked+span{border-color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 10%,var(--surface))}.chat-member-picker{display:grid;gap:6px;margin:15px 0}.chat-member-picker label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:8px;border-radius:12px;cursor:pointer}.chat-member-picker label:hover{background:var(--surface-2)}.chat-member-picker small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.notification-backdrop{position:fixed;inset:0;background:rgba(6,9,19,.35);backdrop-filter:blur(2px);opacity:0;pointer-events:none;z-index:79;transition:opacity .2s ease}.notification-backdrop.open{opacity:1;pointer-events:auto}.notification-drawer{position:fixed;z-index:80;top:0;right:0;width:min(410px,100vw);height:100dvh;background:var(--surface);border-left:1px solid var(--line);box-shadow:-18px 0 70px rgba(10,14,28,.18);transform:translateX(105%);transition:transform .24s cubic-bezier(.2,.8,.2,1);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.notification-drawer.open{transform:none}.notification-drawer-head,.notification-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px;border-bottom:1px solid var(--line)}.notification-drawer-head h2{margin:2px 0 0;font-size:20px}.notification-drawer-foot{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.notification-drawer-list{overflow:auto;padding:8px}.notification-drawer-item,.notification-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:start;padding:12px;border-radius:14px;color:var(--ink);position:relative}.notification-drawer-item:hover,.notification-card:hover{background:var(--surface-2)}.notification-drawer-item.unread,.notification-card.unread{background:color-mix(in srgb,var(--brand-accent) 6%,var(--surface))}.notification-drawer-item p,.notification-card p{margin:3px 0 4px;color:var(--muted);font-size:10px;line-height:1.45}.notification-drawer-item small,.notification-card small{color:var(--muted);font-size:8px}.notification-drawer-item>i,.notification-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--brand-accent);margin-top:6px}.notification-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--brand-accent);border:1px solid var(--line)}.notification-icon svg{width:18px;height:18px}.notification-icon.warning{color:#e9a735;background:rgba(233,167,53,.09)}.notification-icon.critical{color:#df6170;background:rgba(223,97,112,.09)}.notification-title-line{display:flex;justify-content:space-between;gap:10px}.notification-title-line>span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.notification-list-pro{padding:8px}.notification-card{border-bottom:1px solid var(--line);border-radius:12px}.toast-stack{position:fixed;z-index:100;right:18px;top:82px;width:min(370px,calc(100vw - 24px));display:grid;gap:9px;pointer-events:none}.live-toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;width:100%;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);color:var(--ink);border-radius:16px;padding:11px;box-shadow:0 18px 45px rgba(8,12,26,.18);text-align:left;cursor:pointer;opacity:0;transform:translateY(-10px) scale(.98);transition:opacity .2s ease,transform .2s ease}.live-toast.show{opacity:1;transform:none}.live-toast-icon{width:36px;height:36px;border-radius:12px;background:color-mix(in srgb,var(--brand-accent) 10%,var(--surface));color:var(--brand-accent);display:grid;place-items:center}.live-toast-icon svg{width:18px;height:18px}.live-toast>span:nth-child(2){min-width:0}.live-toast strong,.live-toast small{display:block}.live-toast strong{font-size:11px}.live-toast small{color:var(--muted);font-size:9px;line-height:1.4;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-toast-close{width:26px;height:26px;display:grid;place-items:center;color:var(--muted)}.live-toast-close svg{width:14px;height:14px}.notification-settings-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr)}.notification-preferences p{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.notification-preferences label{font-weight:700}.push-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.push-state{padding:11px;border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:10px}.device-subscriptions{margin-top:20px}.notification-open{overflow:hidden}@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}@keyframes chatPulse{0%,100%{box-shadow:0 7px 24px rgba(10,14,28,.05)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 18%,transparent),0 8px 30px rgba(10,14,28,.12)}}
@media(max-width:900px){.chat-pro{grid-template-columns:220px minmax(0,1fr)}.chat-bubble-row{max-width:84%}.notification-settings-grid{grid-template-columns:1fr}}
@media(max-width:700px){.chat-page-head{display:none}.chat-pro{display:flex;flex-direction:column;gap:8px;min-height:calc(100dvh - 160px);margin:-4px -2px 0}.chat-sidebar{flex:0 0 auto}.chat-sidebar-title{display:none}.chat-conversation-list{display:flex;overflow-x:auto;max-height:none;padding:7px;gap:4px}.chat-conversation-row{min-width:145px;grid-template-columns:auto minmax(0,1fr);padding:8px}.chat-conversation-row>div>span{font-size:9px}.chat-conversation-avatar{width:35px;height:35px;border-radius:11px}.chat-conversation-name time{display:none}.chat-unread{position:absolute;top:3px;left:31px;min-width:17px;height:17px;font-size:8px}.chat-thread{min-height:calc(100dvh - 275px);border-radius:18px}.chat-thread-head{padding:10px 12px}.chat-thread-avatar{width:36px;height:36px}.chat-message-stream{padding:16px 10px 12px}.chat-bubble-row{max-width:88%}.chat-bubble{font-size:12px}.chat-message-actions{opacity:1;position:static;transform:none;justify-content:flex-end;margin-top:2px}.chat-bubble-row.own .chat-message-actions{position:static}.chat-message-actions button{width:25px;height:25px;box-shadow:none;background:transparent}.chat-compose-pro{padding:9px 8px}.chat-compose-icon,.chat-send{width:39px;height:39px}.chat-compose-pro textarea{min-height:39px}.toast-stack{top:70px;right:10px}.notification-drawer{width:100vw}.notification-drawer-head{padding-top:calc(15px + env(safe-area-inset-top))}}
.push-device-name{display:grid;gap:6px;margin-top:14px;font-size:10px;font-weight:750;color:var(--muted)}.push-device-name input{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:11px;padding:10px 11px}


.security-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.security-metrics > div { padding: 14px; border: 1px solid var(--line); background: var(--surface-2); border-radius: 14px; }
.security-metrics span, .security-metrics strong { display: block; }
.security-metrics span { color: var(--muted); font-size: 11px; margin-bottom: 6px; }
.security-metrics strong { font-size: 16px; word-break: break-all; }
@media (max-width: 700px) { .security-metrics { grid-template-columns: 1fr; } }

.chat-reaction-picker-portal{position:fixed;bottom:auto;right:auto;z-index:120;max-width:calc(100vw - 16px);}
.topbar-add,.topbar-reminders{min-height:39px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:10px;font-weight:800;cursor:pointer;position:relative}.topbar-add svg,.topbar-reminders svg{width:17px;height:17px}.topbar-add{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-accent) 11%,var(--surface)),var(--surface));color:var(--brand-accent)}.topbar-reminders[aria-expanded="true"]{border-color:color-mix(in srgb,var(--brand-accent) 30%,var(--line))}.topbar-reminders .notification-dot{right:-5px;top:-5px}.quick-create-dialog{border:0;padding:0;background:transparent;width:min(610px,calc(100vw - 24px));color:var(--ink)}.quick-create-dialog::backdrop{background:rgba(6,9,19,.55);backdrop-filter:blur(6px)}.quick-create-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 90px rgba(8,12,26,.28);padding:20px}.quick-create-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.quick-create-head h2{margin:3px 0 0;font-size:22px}.quick-create-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.quick-create-grid a{min-height:104px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:14px;color:var(--ink);font-size:10px;font-weight:800;transition:transform .18s ease,border-color .18s ease,background .18s ease}.quick-create-grid a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand-accent) 34%,var(--line));background:color-mix(in srgb,var(--brand-accent) 5%,var(--surface))}.quick-create-grid svg{width:24px;height:24px;color:var(--brand-accent)}.page-actions{margin-top:0}.form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}.service-actions{display:flex;align-items:center;gap:9px}.routine-form-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start}.routine-editor-form>.panel{min-width:0}.routine-basics-panel{align-self:start}.routine-field-list{display:grid;gap:14px;margin-top:16px;align-content:start}.routine-field{display:grid;gap:6px;min-width:0;align-content:start}.routine-field>label{font-size:10px;font-weight:800;color:var(--ink)}.routine-field input:not([type=checkbox]),.routine-field select,.routine-field textarea{width:100%;min-height:41px;padding:10px 11px;border-radius:11px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);outline:none}.routine-field textarea{min-height:92px;resize:vertical}.routine-field input[type=checkbox]{width:18px;height:18px;min-height:18px}.routine-field .helptext{color:var(--muted);font-size:8px;line-height:1.5}.routine-field .errorlist,.routine-step-delete .errorlist{margin:0;padding:0;list-style:none;color:#b42318;font-size:9px}.routine-steps-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.routine-step-count{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:9px;font-weight:800;color:var(--muted)}.routine-step-forms{display:grid;gap:12px;margin-top:14px}.routine-step-form{padding:14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line);display:grid;gap:12px}.routine-step-card-head{display:flex;align-items:center;gap:9px}.routine-step-index{width:28px;height:28px;border-radius:9px;background:var(--brand-accent);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}.routine-step-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(105px,.45fr) minmax(130px,.62fr) minmax(95px,.4fr);gap:12px;align-items:end}.routine-step-field-title{grid-column:1/-1}.routine-step-field-child_safe{align-self:end}.routine-step-delete{align-self:end;min-height:41px;display:flex;align-items:center}.routine-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;cursor:pointer}.routine-checkbox input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0}.routine-form-actions{padding-top:6px;border-top:1px solid var(--line)}.integration-provider{padding:12px 14px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:16px}.integration-provider strong{display:block;margin-top:3px}.owner-note p{margin:6px 0 0;color:var(--muted);line-height:1.6}.empty-state .button{margin-top:12px}.notification-drawer-head h2{font-size:21px}.notification-drawer-head .eyebrow{color:var(--brand-accent)}
@media(max-width:900px){.topbar-add span,.topbar-reminders-label{display:none}.topbar-add,.topbar-reminders{width:39px;padding:0}.quick-create-grid{grid-template-columns:repeat(2,1fr)}.routine-form-layout{grid-template-columns:1fr}.routine-step-grid{grid-template-columns:1fr 1fr}.routine-step-field-title{grid-column:1/-1}}@media(max-width:560px){.routine-step-grid{grid-template-columns:1fr}.routine-step-field-title{grid-column:auto}.routine-steps-heading{align-items:flex-start}.routine-step-count{white-space:nowrap}}
@media(max-width:520px){.quick-create-card{padding:15px;border-radius:20px}.quick-create-grid a{min-height:84px;padding:11px}.page-actions{width:100%}.page-actions .button{flex:1}.service-row{align-items:flex-start}.service-actions{align-items:flex-end;flex-direction:column}}
.shopping-page-head{align-items:flex-end}.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.shopping-main,.shopping-side{display:grid;gap:16px}.shopping-add-card,.shopping-list-card,.shopping-purchased-card,.shopping-flow-card,.shopping-shortage-card{padding:20px}.shopping-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.shopping-section-title strong{display:block;font-size:17px;margin-top:3px}.shopping-live-note{color:var(--muted);font-size:10px}.shopping-add-form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(95px,.6fr) minmax(105px,.7fr) minmax(150px,1fr) auto;gap:10px;align-items:end}.shopping-field{display:grid;gap:5px}.shopping-field>span{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.shopping-field input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);padding:9px 11px;outline:none}.shopping-field input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 10%,transparent)}.shopping-stock-toggle{grid-column:1/5;display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer}.shopping-stock-toggle input{margin-top:3px}.shopping-stock-toggle strong,.shopping-stock-toggle small{display:block}.shopping-stock-toggle strong{font-size:10px}.shopping-stock-toggle small{font-size:9px;color:var(--muted);margin-top:2px}.shopping-add-button{grid-column:5;grid-row:2}.shopping-items-pro{display:grid;gap:7px}.shopping-item-pro{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 10px;border:1px solid var(--line);border-radius:15px;background:var(--surface);transition:border-color .18s ease,transform .18s ease}.shopping-item-pro:hover{border-color:color-mix(in srgb,var(--brand-accent) 28%,var(--line));transform:translateY(-1px)}.shopping-check-form{display:flex}.shopping-check{width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);color:transparent;display:grid;place-items:center;cursor:pointer}.shopping-check svg{width:17px;height:17px}.shopping-check:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.shopping-check.checked{background:linear-gradient(135deg,var(--brand-accent),#35bfff);border-color:transparent;color:#fff}.shopping-item-copy{min-width:0}.shopping-item-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.shopping-item-title strong{font-size:13px}.shopping-source{font-size:8px;padding:3px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.source-pantry,.source-recipe,.source-meal_plan{color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 7%,var(--surface))}.shopping-item-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:9px}.shopping-item-meta span+span:before{content:"·";margin-right:7px}.shopping-qty-control{display:grid;grid-template-columns:31px auto auto 31px;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2);min-height:36px}.shopping-qty-control button{height:36px;border:0;background:transparent;color:var(--ink);font-size:17px;cursor:pointer}.shopping-qty-control button:hover{background:color-mix(in srgb,var(--brand-accent) 10%,transparent);color:var(--brand-accent)}.shopping-qty-control strong{font-size:11px;min-width:36px;text-align:right}.shopping-qty-control span{font-size:9px;color:var(--muted);padding:0 6px 0 3px}.shopping-item-actions{display:flex;align-items:center;gap:6px}.shopping-item-actions a,.shopping-item-actions button{border:0;background:transparent;color:var(--muted);font-size:9px;cursor:pointer;padding:6px}.shopping-item-actions a:hover,.shopping-item-actions button:hover{color:var(--brand-accent)}.shopping-empty{display:grid;place-items:center;text-align:center;gap:6px;padding:32px}.shopping-empty svg{width:30px;height:30px;color:var(--brand-accent)}.shopping-empty strong{font-size:14px}.shopping-empty span{font-size:10px;color:var(--muted);max-width:420px}.shopping-purchased-list{display:grid;gap:6px}.shopping-purchased-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line)}.shopping-purchased-row:last-child{border-bottom:0}.shopping-purchased-row strong,.shopping-purchased-row span{display:block}.shopping-purchased-row strong{text-decoration:line-through;color:var(--muted);font-size:11px}.shopping-purchased-row span{font-size:9px;color:var(--muted);margin-top:2px}.shopping-flow-card h3,.shopping-shortage-card h3{margin:4px 0 15px;font-size:17px}.shopping-flow{display:grid;gap:8px}.shopping-flow>div{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:11px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}.shopping-flow svg{width:20px;height:20px;color:var(--brand-accent)}.shopping-flow strong,.shopping-flow small{display:block}.shopping-flow strong{font-size:10px}.shopping-flow small{font-size:9px;color:var(--muted);line-height:1.4;margin-top:2px}.shopping-shortages{display:grid;gap:7px}.shopping-shortages>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.shopping-shortages>div:last-child{border-bottom:0}.shopping-shortages strong,.shopping-shortages small{display:block}.shopping-shortages strong{font-size:10px}.shopping-shortages small{font-size:8px;color:var(--muted);margin-top:2px}.pantry-pro-row{align-items:center}.pantry-row-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.pantry-row-actions>span{color:var(--muted);font-size:9px}.low-stock-text{color:#e99e31;font-weight:800}.button.small{min-height:32px;padding:6px 10px;font-size:9px}@media(max-width:1180px){.shopping-layout{grid-template-columns:1fr}.shopping-side{grid-template-columns:1fr 1fr}.shopping-add-form{grid-template-columns:minmax(200px,2fr) 90px 100px minmax(130px,1fr)}.shopping-stock-toggle{grid-column:1/4}.shopping-add-button{grid-column:4;grid-row:2}}@media(max-width:760px){.shopping-side{grid-template-columns:1fr}.shopping-add-form{grid-template-columns:1fr 1fr}.shopping-field.product,.shopping-field.category,.shopping-stock-toggle{grid-column:1/-1}.shopping-add-button{grid-column:1/-1;grid-row:auto}.shopping-item-pro{grid-template-columns:auto minmax(0,1fr);align-items:start}.shopping-qty-control{grid-column:2}.shopping-item-actions{grid-column:2;justify-content:flex-end}.shopping-page-head{align-items:flex-start}.pantry-row-actions{align-items:flex-end;flex-direction:column}.shopping-live-note{display:none}}
.planner-session{display:grid;gap:20px}.planner-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.planner-time-card{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.planner-time-card span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.planner-time-card strong{font-size:20px}.planner-countdown{display:grid;justify-items:center;text-align:center;gap:8px;padding:22px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--brand-accent) 6%,var(--surface))}.planner-countdown>[data-planner-clock]{font-size:48px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.03em}.planner-countdown>[data-planner-status]{font-size:10px;color:var(--muted)}.planner-timer-actions{justify-content:center;margin-top:4px}.planner-task-time{color:var(--ink)!important;font-size:10px!important;font-weight:850!important;margin:0!important}.pantry-dispose-button{border-color:color-mix(in srgb,#d95656 45%,var(--line));color:#d95656}.pantry-dispose-button:hover{background:color-mix(in srgb,#d95656 10%,var(--surface))}@media(max-width:760px){.planner-time-grid{grid-template-columns:1fr}.planner-countdown>[data-planner-clock]{font-size:40px}.planner-timer-actions{width:100%}.planner-timer-actions .button{flex:1}.pantry-row-actions form{width:100%}.pantry-row-actions .button{width:100%}}
.pantry-dispose-form{display:flex;align-items:flex-end;gap:7px}.pantry-dispose-form label{display:grid;gap:3px}.pantry-dispose-form label>span:first-child{font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase}.pantry-dispose-quantity{display:flex;align-items:center;gap:5px}.pantry-dispose-quantity input{width:78px;min-height:32px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);padding:6px 8px;outline:none}.pantry-dispose-quantity input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 10%,transparent)}.pantry-dispose-quantity small{font-size:9px;color:var(--muted)}@media(max-width:760px){.pantry-dispose-form{width:100%;display:grid;grid-template-columns:1fr auto}.pantry-dispose-form label{min-width:0}.pantry-dispose-quantity input{width:100%}.pantry-dispose-form .button{width:auto}}

.finance-kpi-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.finance-kpi-strip article,.finance-kpi-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:16px}.finance-kpi-strip span,.finance-kpi-strip strong,.finance-kpi-strip small,.finance-kpi-card span,.finance-kpi-card strong,.finance-kpi-card small{display:block}.finance-kpi-strip span,.finance-kpi-card span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}.finance-kpi-strip strong,.finance-kpi-card strong{font-size:22px;margin-top:6px}.finance-kpi-strip small,.finance-kpi-card small{font-size:9px;color:var(--muted);margin-top:5px;line-height:1.4}.finance-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.finance-kpi-card.danger strong{color:#df6666}.finance-filter-panel{margin-bottom:18px}.finance-filter-form{display:grid;grid-template-columns:100px 150px 105px minmax(160px,1fr) minmax(160px,1fr) auto auto auto;gap:9px;align-items:end}.finance-filter-form>div{display:grid;gap:5px}.finance-filter-form label{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:850}.finance-filter-form input,.finance-filter-form select{min-height:40px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink);padding:8px 10px}.finance-analysis-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;margin-bottom:18px}.finance-breakdown-list{display:grid;gap:9px}.finance-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.finance-breakdown-row:last-child{border-bottom:0}.finance-breakdown-row>div{display:grid;grid-template-columns:minmax(110px,160px) minmax(80px,1fr);gap:10px;align-items:center}.finance-breakdown-row strong,.finance-breakdown-row b{font-size:10px}.finance-progress{width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:var(--surface-2)}.finance-progress::-webkit-progress-bar{background:var(--surface-2);border-radius:999px}.finance-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--brand-accent),#35c5ff);border-radius:999px}.finance-progress::-moz-progress-bar{background:var(--brand-accent);border-radius:999px}.finance-source-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}.finance-source-summary span{display:grid;gap:3px;padding:10px;border-radius:12px;background:var(--surface-2);font-size:9px;color:var(--muted)}.finance-source-summary b{color:var(--ink)}.finance-table-wrap{overflow:auto}.finance-table{width:100%;border-collapse:collapse;min-width:980px}.finance-table th,.finance-table td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:10px}.finance-table th{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.finance-table td:nth-child(5){max-width:260px;color:var(--muted)}.finance-money{font-weight:850;white-space:nowrap}.finance-source-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:8px;white-space:nowrap}.finance-row-actions{display:flex;gap:8px}.finance-row-actions a{font-size:9px;color:var(--brand-accent)}.finance-table-count{font-size:10px;color:var(--muted)}@media(max-width:1100px){.finance-filter-form{grid-template-columns:repeat(3,1fr)}.finance-analysis-grid{grid-template-columns:1fr}.finance-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.finance-kpi-strip,.finance-kpi-grid{grid-template-columns:1fr}.finance-filter-form{grid-template-columns:1fr 1fr}.finance-filter-form .button{width:100%}.finance-source-summary{grid-template-columns:1fr}.finance-breakdown-row>div{grid-template-columns:110px 1fr}}
.meal-week{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));overflow:visible;padding-bottom:0}.meal-day{min-width:0}.panel-intro{color:var(--muted);font-size:10px;line-height:1.6;margin:6px 0 18px}.pantry-layout{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr)}.pantry-layout>.panel{min-width:0}.pantry-product-copy{min-width:150px}.pantry-product-copy small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.pantry-add-panel h2{margin:5px 0 0;font-size:18px}.ingredient-form-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(80px,.65fr) minmax(90px,.75fr) auto;gap:10px;align-items:end}.ingredient-form-row>div{min-width:0}.ingredient-form-row label{display:block;font-size:9px;font-weight:800;margin-bottom:5px;color:var(--ink)}.ingredient-form-row input[type=text],.ingredient-form-row input[type=number],.ingredient-form-row select{width:100%;min-height:39px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);outline:none}.ingredient-form-row input:focus,.ingredient-form-row select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 10%,transparent)}.ingredient-main-field{grid-column:auto}.ingredient-check{display:flex;align-items:center;gap:6px;min-height:39px;padding:0 4px}.ingredient-check label{margin:0;white-space:nowrap}.ingredient-check input{width:17px;height:17px}.recipe-save-button{width:100%;margin-top:14px}.recipe-create-form{margin:0}.pantry-dispose-quantity input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}
@media(max-width:1180px){.meal-week{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.pantry-layout{grid-template-columns:1fr}.pantry-row-actions{flex-wrap:wrap}.ingredient-form-row{grid-template-columns:minmax(180px,1.7fr) minmax(80px,.6fr) minmax(90px,.7fr) auto}}
@media(max-width:760px){.meal-week{grid-template-columns:1fr 1fr}.ingredient-form-row{grid-template-columns:1fr 1fr}.ingredient-main-field{grid-column:1/-1}.ingredient-check{min-height:auto;padding:4px 0}.pantry-pro-row{align-items:flex-start}.pantry-product-copy{min-width:0}.pantry-row-actions{width:100%;margin-top:8px}.pantry-dispose-form{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:480px){.meal-week{grid-template-columns:1fr}.ingredient-form-row{grid-template-columns:1fr}.ingredient-main-field{grid-column:auto}.pantry-dispose-form{grid-template-columns:1fr}.pantry-dispose-form .button{width:100%}}

.ingredient-form-row{grid-template-columns:minmax(180px,2fr) minmax(80px,.65fr) minmax(90px,.75fr) auto auto}.ingredient-delete-field{display:none}.ingredient-remove-button{align-self:end;min-height:39px;padding:8px 12px}.ingredient-editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.muted-copy{color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:1180px){.ingredient-form-row{grid-template-columns:minmax(180px,1.7fr) minmax(80px,.6fr) minmax(90px,.7fr) auto auto}}
@media(max-width:760px){.ingredient-form-row{grid-template-columns:1fr 1fr}.ingredient-remove-button{width:100%}}
@media(max-width:480px){.ingredient-form-row{grid-template-columns:1fr}.ingredient-editor-actions{align-items:stretch}.ingredient-editor-actions .button{width:100%}}

.sound-device-card{display:grid;align-content:start;gap:14px}.sound-setting-list{display:grid;gap:9px}.sound-setting-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.sound-setting-row input{width:19px;height:19px;accent-color:var(--brand-accent)}.sound-setting-row span{display:grid;gap:3px}.sound-setting-row strong{font-size:12px}.sound-setting-row small{font-size:10px;color:var(--muted);line-height:1.45}.sound-test{min-width:58px;justify-content:center}.sound-capability{margin-top:2px}.sound-system-note{padding-top:2px}

.budget-selector-form {
    display: grid;
    grid-template-columns: minmax(140px, 180px) minmax(160px, 220px) auto;
    gap: 14px;
    align-items: end;
}

.budget-selector-form > div {
    display: grid;
    gap: 7px;
}

.budget-selector-form label {
    font-size: 12px;
    font-weight: 800;
}

.budget-selector-form input,
.budget-selector-form select,
.budget-plan-table input {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--surface-soft);
    color: var(--text);
    padding: 10px 12px;
    font: inherit;
    box-sizing: border-box;
}

.budget-summary-grid {
    margin-top: 18px;
}

.budget-plan-panel {
    margin-top: 18px;
}

.budget-plan-hint {
    color: var(--muted);
    font-size: 12px;
}

.budget-plan-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.budget-plan-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 1080px;
}

.budget-plan-table th,
.budget-plan-table td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
    text-align: left;
}

.budget-plan-table th {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.budget-plan-table td:first-child {
    min-width: 110px;
}

.budget-plan-table td:nth-child(2),
.budget-plan-table td:nth-child(3) {
    min-width: 145px;
}

.budget-plan-table td:last-child {
    min-width: 220px;
}

.budget-row-danger {
    background: rgba(220, 38, 38, .05);
}

.budget-plan-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.field-errors ul,
.form-errors ul {
    list-style: none;
    padding: 0;
    margin: 6px 0 0;
}

.field-errors,
.form-errors {
    color: #dc2626;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 720px) {
    .budget-selector-form {
        grid-template-columns: 1fr;
    }

    .budget-plan-table {
        min-width: 0;
    }

    .budget-plan-table thead {
        display: none;
    }

    .budget-plan-table,
    .budget-plan-table tbody,
    .budget-plan-table tr,
    .budget-plan-table td {
        display: block;
        width: 100%;
    }

    .budget-plan-table tr {
        padding: 14px 0;
        border-bottom: 1px solid var(--border);
    }

    .budget-plan-table td {
        display: grid;
        grid-template-columns: minmax(110px, .8fr) minmax(0, 1.4fr);
        gap: 12px;
        border: 0;
        padding: 6px 0;
        min-width: 0 !important;
    }

    .budget-plan-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .budget-plan-actions {
        flex-direction: column-reverse;
    }

    .budget-plan-actions .button {
        width: 100%;
        justify-content: center;
    }
}
.pantry-page-head{align-items:flex-end}.pantry-head-actions{display:flex;gap:8px;flex-wrap:wrap}.pantry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:10px 12px}.pantry-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.pantry-view-button{padding:8px 12px;border-radius:9px;color:var(--muted);font-size:10px;font-weight:850;text-decoration:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.pantry-view-button:hover{color:var(--ink)}.pantry-view-button.is-active{background:var(--surface);color:var(--brand-accent);box-shadow:0 5px 16px rgba(20,24,55,.08)}.pantry-summary-strip{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.pantry-summary-strip span{font-size:9px;color:var(--muted)}.pantry-summary-strip strong{color:var(--ink);font-size:12px;margin-right:3px}.pantry-summary-warning strong{color:#d59025}.pantry-summary-danger strong{color:#d95656}.pantry-layout-visual{grid-template-columns:minmax(0,1fr) minmax(280px,330px)}.pantry-main-panel{min-width:0}.pantry-visual-intro{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.pantry-visual-intro h2{margin:4px 0 4px;font-size:20px}.pantry-visual-intro p{margin:0;max-width:720px;color:var(--muted);font-size:10px;line-height:1.55}.pantry-space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.pantry-space-card{min-width:0;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,#fff),var(--surface-2));overflow:hidden;box-shadow:0 12px 30px rgba(17,24,39,.05)}.pantry-space-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line)}.pantry-space-head h3{font-size:16px;margin:2px 0 0}.pantry-space-kicker{font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-accent)}.pantry-space-count{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand-accent) 10%,var(--surface));color:var(--brand-accent);font-size:11px;font-weight:900}.pantry-space-fridge .pantry-space-head{background:linear-gradient(135deg,color-mix(in srgb,#4ea8ff 8%,var(--surface)),var(--surface))}.pantry-space-freezer .pantry-space-head{background:linear-gradient(135deg,color-mix(in srgb,#68d4ff 10%,var(--surface)),var(--surface))}.pantry-space-pantry .pantry-space-head{background:linear-gradient(135deg,color-mix(in srgb,#d7a45b 9%,var(--surface)),var(--surface))}.pantry-space-shell{display:grid;gap:8px;padding:10px}.pantry-zone{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.pantry-zone>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--surface-2);border-bottom:1px solid var(--line)}.pantry-zone>header strong{font-size:9px}.pantry-zone>header span{font-size:8px;color:var(--muted);font-weight:800}.pantry-zone-products{display:grid;gap:6px;padding:7px;min-height:42px}.pantry-zone-empty{display:grid;place-items:center;min-height:30px;color:color-mix(in srgb,var(--muted) 72%,transparent);font-size:8px}.pantry-product-chip{border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden}.pantry-product-chip>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px}.pantry-product-chip>summary::-webkit-details-marker{display:none}.pantry-chip-copy{display:block;min-width:0}.pantry-chip-copy strong,.pantry-chip-copy small{display:block}.pantry-chip-copy strong{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pantry-chip-copy small{font-size:8px;color:var(--muted);margin-top:2px}.pantry-product-chip time{font-size:7px;font-weight:850;color:var(--muted);padding:3px 5px;border-radius:6px;background:var(--surface-2)}.pantry-expiry-urgent{border-color:color-mix(in srgb,#e69b2c 48%,var(--line))}.pantry-expiry-urgent time{color:#c47a10;background:color-mix(in srgb,#e69b2c 10%,var(--surface))}.pantry-expiry-expired{border-color:color-mix(in srgb,#d95656 54%,var(--line))}.pantry-expiry-expired time{color:#c84343;background:color-mix(in srgb,#d95656 10%,var(--surface))}.pantry-expiry-soon{border-color:color-mix(in srgb,#e5c34d 35%,var(--line))}.pantry-chip-details{display:grid;gap:8px;padding:9px;border-top:1px solid var(--line);background:var(--surface-2)}.pantry-chip-details p{margin:0;font-size:8px;color:var(--muted);line-height:1.45}.pantry-move-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}.pantry-move-form label{display:grid;gap:4px;font-size:8px;font-weight:800}.pantry-move-form select,.pantry-move-inline select{min-width:0;width:100%;min-height:32px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:8px}.pantry-chip-details .pantry-dispose-form{display:grid;grid-template-columns:minmax(0,1fr) auto}.pantry-chip-details .pantry-dispose-quantity input{width:100%}.pantry-unassigned{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.pantry-unassigned-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.pantry-unassigned-head h3{margin:3px 0 0;font-size:15px}.pantry-unassigned-head>span{font-size:10px;font-weight:900;color:var(--brand-accent)}.pantry-unassigned-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pantry-unassigned-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.9fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.pantry-unassigned-item strong,.pantry-unassigned-item small{display:block}.pantry-unassigned-item strong{font-size:10px}.pantry-unassigned-item small{font-size:8px;color:var(--muted);margin-top:2px}.pantry-move-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.pantry-location-note{display:grid;gap:4px;margin-top:14px;padding:10px;border:1px dashed color-mix(in srgb,var(--brand-accent) 25%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--brand-accent) 4%,var(--surface))}.pantry-location-note strong{font-size:9px}.pantry-location-note span{font-size:8px;line-height:1.45;color:var(--muted)}.pantry-location-note a{font-size:8px;font-weight:850;color:var(--brand-accent);text-decoration:none}.pantry-add-panel select{max-width:100%}@media(max-width:1320px){.pantry-space-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-space-pantry{grid-column:1/-1}.pantry-space-pantry .pantry-space-shell{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1060px){.pantry-layout-visual{grid-template-columns:1fr}.pantry-add-panel{order:-1}.pantry-unassigned-grid{grid-template-columns:1fr}}@media(max-width:760px){.pantry-page-head{align-items:flex-start}.pantry-head-actions{width:100%}.pantry-head-actions .button{flex:1}.pantry-toolbar{align-items:flex-start;flex-direction:column}.pantry-summary-strip{width:100%;justify-content:space-between}.pantry-space-grid{grid-template-columns:1fr}.pantry-space-pantry{grid-column:auto}.pantry-space-pantry .pantry-space-shell{grid-template-columns:1fr}.pantry-unassigned-item{grid-template-columns:1fr}.pantry-move-inline{grid-template-columns:1fr}.pantry-move-inline .button{width:100%}}@media(max-width:480px){.pantry-view-switch{width:100%}.pantry-view-button{flex:1;text-align:center}.pantry-summary-strip{display:grid;grid-template-columns:1fr 1fr}.pantry-summary-strip span:first-child{grid-column:1/-1}}
:root{--pro-radius-xs:9px;--pro-radius-sm:13px;--pro-radius-md:18px;--pro-radius-lg:24px;--pro-focus:0 0 0 3px color-mix(in srgb,var(--brand-accent) 18%,transparent);--pro-shadow:0 14px 44px rgba(20,25,55,.075)}.sidebar{isolation:isolate}.sidebar:before{content:"";position:absolute;z-index:-1;width:310px;height:310px;right:-150px;bottom:80px;background:url("../brand/pro-house-outline.svg") center/contain no-repeat;color:#fff;opacity:.32;pointer-events:none}.nav a{position:relative}.nav a:focus-visible,.sidebar-mode:focus-visible,.topbar-icon:focus-visible,.topbar-add:focus-visible,.button:focus-visible,.icon-button:focus-visible{outline:none;box-shadow:var(--pro-focus)}.nav a:hover{transform:translateX(2px)}.panel{box-shadow:var(--pro-shadow)}.page-head h1,.dashboard-welcome h1{letter-spacing:-.045em}.eyebrow{letter-spacing:.1em}.pantry-space-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pantry-space-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(17,24,39,.09)}.pantry-space-fridge{--zone-accent:#4f9fff}.pantry-space-freezer{--zone-accent:#56c8e8}.pantry-space-pantry{--zone-accent:#c58b48}.pantry-space-card .pantry-zone:nth-child(3n+1){border-left:3px solid color-mix(in srgb,var(--zone-accent) 66%,var(--line))}.pantry-space-card .pantry-zone:nth-child(3n+2){border-left:3px solid color-mix(in srgb,var(--zone-accent) 45%,#9c67df)}.pantry-space-card .pantry-zone:nth-child(3n){border-left:3px solid color-mix(in srgb,var(--zone-accent) 44%,#55b97a)}.pantry-zone>header{background:linear-gradient(90deg,color-mix(in srgb,var(--zone-accent) 8%,var(--surface-2)),var(--surface-2))}.pantry-product-chip>summary:focus-visible{outline:none;box-shadow:inset var(--pro-focus)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

@media(max-width:560px){.sound-setting-row{grid-template-columns:auto minmax(0,1fr)}.sound-setting-row .sound-test{grid-column:2;justify-self:start}.sound-setting-row small{font-size:9px}}

.global-timer-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);text-decoration:none;font-size:11px;white-space:nowrap}.global-timer-chip[hidden]{display:none!important}.global-timer-chip strong{font-variant-numeric:tabular-nums;font-size:11px}.global-timer-chip.done{background:color-mix(in srgb,#d5a33a 13%,var(--surface));border-color:color-mix(in srgb,#d5a33a 35%,var(--line))}.notification-settings-v2{align-items:start}.notification-categories-card,.sound-device-card,.optional-push-card{align-self:start}.notification-production-note{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.notification-production-note strong{font-size:12px}.notification-production-note span{font-size:10px;line-height:1.5;color:var(--muted)}
@media(max-width:760px){.global-timer-chip{min-height:36px;padding:0 8px}.global-timer-chip span{display:none}.global-timer-chip strong{font-size:10px}.notification-settings-v2{grid-template-columns:1fr!important}.sound-device-card .panel-head{align-items:flex-start;gap:10px}.sound-device-card .panel-head>.button{width:auto;flex:0 0 auto}}
