:root{color:#f7f7f2;background:#050505;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #050505;--surface: #101112;--surface-raised: #141516;--surface-soft: #1b1d20;--border: #27292c;--border-strong: #3a3d42;--text: #f7f7f2;--muted: #9b9fa6;--muted-strong: #d7d8d2;--accent: #e9e6dc;--accent-dark: #111111;--danger: #f08a8a;--quick-blue: #3b82f6;--brand-ia: #405f64;--calories: #2dd4bf;--protein: #60a5fa;--carbs: #f59e0b;--fat: #ec4899}html{background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#ffffff09,#fff0),var(--bg);overflow-x:hidden;-webkit-text-size-adjust:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:progress;opacity:.62}.app-shell{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:42px 0 max(112px,calc(env(safe-area-inset-bottom) + 92px))}.top-nav{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:8px;width:min(1160px,calc(100% - 32px));margin:0 auto;padding:16px 0 12px;background:#050607eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-overflow-scrolling:touch}.nav-button,.ghost-button,.danger-button,.primary-button,.text-button{border:1px solid transparent;border-radius:8px;font-weight:750}.nav-button{min-height:40px;padding:0 16px;border-color:var(--border);background:#0c0e10;color:var(--muted-strong);white-space:nowrap}.nav-button:hover,.ghost-button:hover,.text-button:hover{border-color:var(--border-strong);color:var(--text)}.nav-button--active{border-color:#f4efe380;background:var(--accent);color:var(--accent-dark)}.dashboard-header{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:end;padding:34px 0}.eyebrow{margin:0 0 10px;color:var(--calories);font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:14px;color:var(--text);font-size:clamp(2.75rem,7vw,5.25rem);line-height:.95;letter-spacing:0}.intro{max-width:660px;margin-bottom:0;color:var(--muted);font-size:1.05rem;line-height:1.6}.status-card,.placeholder-card,.product-form,.product-card,.product-vision-panel,.meal-form,.meal-card,.inventory-form,.inventory-card,.daily-summary-band,.dashboard-inventory-band,.dashboard-recommendation-card,.dashboard-chat-card,.goal-form,.goal-panel,.goal-metric,.recommendation-panel,.ai-status-panel,.recommendation-product-card,.chat-panel,.macro-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 18px 40px #00000052}.status-card{display:flex;gap:14px;align-items:flex-start;min-height:118px;padding:20px}.status-dot{width:12px;height:12px;margin-top:5px;border-radius:999px;background:var(--fat);box-shadow:0 0 0 4px #f4c96f1f}.status-card--online .status-dot{background:var(--carbs);box-shadow:0 0 0 4px #65d49f24}.status-card--offline .status-dot{background:var(--danger);box-shadow:0 0 0 4px #f08a8a21}.status-label{margin-bottom:5px;color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase}.status-card strong{display:block;color:var(--text);font-size:1.15rem}.status-card small{display:block;margin-top:8px;color:var(--muted);line-height:1.35}.placeholder-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.placeholder-card{display:flex;flex-direction:column;min-height:196px;padding:20px;background:var(--surface-raised)}.card-mark{width:38px;height:4px;margin-bottom:28px;border-radius:999px;background:var(--calories)}.placeholder-card h2{margin-bottom:10px;color:var(--text);font-size:1.02rem;letter-spacing:0}.placeholder-card p{margin-bottom:0;color:var(--muted);font-size:.92rem;line-height:1.5}.text-button{width:fit-content;margin-top:auto;padding:10px 0 0;background:transparent;color:var(--accent)}.section-header{padding:24px 0 30px}.notice{margin-bottom:18px;padding:14px 16px;border-radius:8px;font-weight:750}.notice--error{border:1px solid rgba(240,138,138,.5);background:#f08a8a1a;color:#ffd0d0}.notice--success{border:1px solid rgba(101,212,159,.42);background:#65d49f1a;color:#c9f8df}.products-layout,.meals-layout,.inventory-layout,.recommendation-layout,.goals-layout{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:20px;align-items:start}.product-form,.product-vision-panel,.meal-form,.meal-import-panel,.inventory-form,.recommendation-panel,.goal-form{display:grid;gap:14px;padding:20px}.form-header,.list-header,.card-actions,.goal-metric-header,.macro-card-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.form-header h2,.list-header h2{margin-bottom:0;color:var(--text);font-size:1.22rem}.list-header{margin-bottom:14px}.list-header span,.muted,.empty-state{color:var(--muted)}.empty-state{margin:0;padding:18px;border:1px solid var(--border);border-radius:8px;background:#ffffff09;line-height:1.5}label{display:grid;gap:7px;color:var(--muted-strong);font-size:.92rem;font-weight:750}label span{color:var(--muted);font-size:.82rem;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#090b0d;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#f4efe3b3;box-shadow:0 0 0 3px #f4efe314}input,select{min-height:43px;padding:0 12px}input[type=file]{padding:9px 11px}textarea{min-height:92px;padding:10px 12px;resize:vertical}.macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.primary-button,.ghost-button,.danger-button{min-height:44px;padding:0 14px}.card-actions{align-items:stretch}.card-actions .ghost-button,.card-actions .danger-button,.card-actions .primary-button{flex:1 1 132px}.primary-button{border-color:#f4efe394;background:var(--accent);color:var(--accent-dark)}.ghost-button{border-color:var(--border);background:#0c0e10;color:var(--muted-strong)}.danger-button{border-color:#f08a8a66;background:#f08a8a1a;color:#ffc1c1}.floating-add-button{position:fixed;left:50%;bottom:max(18px,calc(env(safe-area-inset-bottom) + 14px));z-index:42;display:flex;align-items:center;justify-content:center;width:70px;height:70px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:linear-gradient(180deg,#ffffff24,#fff0),var(--quick-blue);color:#041323;box-shadow:0 18px 48px #4da3ff5c,0 16px 50px #00000070;transform:translate(-50%);transition:border-color .16s ease,filter .16s ease,transform .16s ease}.floating-add-button[aria-expanded=true]{transform:translate(-50%) scale(.96)}.floating-add-icon{position:relative;display:block;width:28px;height:28px}.floating-add-icon:before,.floating-add-icon:after{position:absolute;top:50%;left:50%;width:28px;height:4px;border-radius:999px;background:currentColor;content:"";transform:translate(-50%,-50%)}.floating-add-icon:after{transform:translate(-50%,-50%) rotate(90deg)}.floating-add-button:hover{border-color:#ffffff4d;filter:brightness(1.06)}.floating-chat-button{position:fixed;right:max(16px,calc(env(safe-area-inset-right) + 16px));bottom:max(24px,calc(env(safe-area-inset-bottom) + 20px));z-index:41;min-width:58px;min-height:46px;padding:0 14px;border:1px solid rgba(96,165,250,.38);border-radius:999px;background:#0a0e14db;color:#dbeafe;font-weight:800;letter-spacing:0;box-shadow:0 16px 42px #0000006b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.floating-chat-button:hover,.floating-chat-button--active{border-color:#60a5fab3;background:#4da3ff2e;color:#fff}.quick-action-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;display:grid;align-items:end;opacity:0;pointer-events:none;transition:opacity .22s ease}.quick-action-layer--open{opacity:1;pointer-events:auto}.quick-action-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#00000094;opacity:0;pointer-events:auto;transition:opacity .22s ease}.quick-action-layer--open .quick-action-backdrop{opacity:1}.quick-action-sheet{position:relative;z-index:1;width:min(540px,calc(100% - 20px));margin:0 auto max(12px,env(safe-area-inset-bottom));padding:10px 16px max(18px,calc(env(safe-area-inset-bottom) + 14px));border:1px solid var(--border-strong);border-radius:22px;background:#0e1012fa;box-shadow:0 -18px 64px #00000094;opacity:0;pointer-events:auto;transform:translateY(100%) scale(.96);transform-origin:bottom center;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.9,.24,1.08)}.quick-action-layer--open .quick-action-sheet{opacity:1;transform:translateY(0) scale(1)}.quick-action-handle{width:46px;height:5px;margin:0 auto 14px;border-radius:999px;background:#ffffff38}.quick-action-header{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}.quick-action-header h2{margin-bottom:0;color:var(--text);font-size:1.18rem}.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action-card{display:grid;gap:6px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#0a0c0e;color:var(--text);text-align:left}.quick-action-card:hover{border-color:#4da3ff8c;background:#4da3ff17}.quick-action-card strong{font-size:.98rem}.quick-action-card span{color:var(--muted);font-size:.86rem;line-height:1.35}@media(prefers-reduced-motion:reduce){.quick-action-layer,.quick-action-backdrop,.quick-action-sheet{transition:none}}.product-list,.meal-list,.inventory-list{min-width:0}.product-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;margin-bottom:14px;padding:14px;background:var(--surface-raised)}.product-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px}.product-photos img{width:100%;height:150px;border:1px solid var(--border);border-radius:8px;object-fit:cover;background:#0a0c0e}.product-body{display:grid;gap:12px;min-width:0}.product-body h3,.meal-card h3{margin:0 0 4px;color:var(--text);font-size:1.12rem}.product-body p,.meal-card p{margin:0;color:var(--muted)}.macro-summary{display:flex;flex-wrap:wrap;gap:8px}.macro-summary span,.macro-summary strong{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.06);border-radius:999px;background:#ffffff0e;color:var(--muted-strong);font-size:.88rem}.macro-summary strong{border-color:#f0a45d57;background:#f0a45d21;color:#ffd6ad}.product-notes{padding:10px 12px;border-radius:8px;background:#ffffff0b;line-height:1.45}.product-vision-panel{display:grid;gap:12px;padding:14px;border-color:#9f8cff38;background:#9f8cff12;box-shadow:none}.product-vision-panel h2{margin-bottom:4px;font-size:1rem}.product-vision-panel p,.vision-result p{margin-bottom:0;color:var(--muted);line-height:1.45}.vision-result{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff09}.daily-summary-band{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:18px;padding:20px;background:var(--surface-raised)}.daily-summary-band--compact{margin-bottom:16px}.macro-rings-panel{margin-bottom:18px;padding:22px;border:1px solid var(--border);border-radius:8px;background:radial-gradient(circle at 12% 0%,rgba(45,212,191,.14),transparent 30%),radial-gradient(circle at 92% 18%,rgba(236,72,153,.1),transparent 28%),linear-gradient(135deg,#ffffff0b,#ffffff03),var(--surface-raised);box-shadow:0 18px 40px #00000052}.macro-rings-header{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}.macro-rings-header h2{margin-bottom:0;color:var(--text);font-size:1.28rem}.macro-rings-actions,.daily-summary-actions{display:flex;flex-wrap:wrap;gap:10px}.macro-rings-message{margin-bottom:16px;color:var(--muted);line-height:1.5}.macro-rings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}.macro-ring-card{display:grid;gap:12px;justify-items:center;min-width:0;padding:4px 0;background:transparent}.macro-ring-visual{position:relative;width:150px;height:150px}.macro-ring-svg{width:150px;height:150px;transform:rotate(-90deg)}.macro-ring-track,.macro-ring-progress{fill:none;stroke-linecap:round}.macro-ring-track{stroke:#ffffff18}.macro-ring-progress{stroke:var(--ring-color);transition:stroke-dashoffset .22s ease;filter:drop-shadow(0 0 8px rgba(77,163,255,.2))}.macro-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.macro-ring-center strong{color:var(--text);font-size:1.62rem;line-height:1}.macro-ring-center span{margin-top:5px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.macro-ring-copy{display:grid;gap:5px;text-align:center}.macro-ring-copy h2{margin-bottom:0;color:var(--ring-color);font-size:1rem}.macro-ring-copy p,.macro-ring-copy small{margin:0;color:var(--muted)}.macro-ring-copy p{color:var(--muted-strong);font-weight:750}.macro-ring-card--empty .macro-ring-copy h2,.macro-ring-card--empty .macro-ring-center strong{color:var(--muted-strong)}.dashboard-goal-grid,.goal-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.dashboard-inventory-band,.dashboard-recommendation-card,.dashboard-chat-card{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:18px;padding:18px 20px;background:var(--surface-raised)}.dashboard-inventory-band strong,.dashboard-recommendation-card strong,.dashboard-chat-card strong{display:block;color:var(--text);font-size:1.1rem}.dashboard-inventory-band p,.dashboard-recommendation-card p,.dashboard-chat-card p{margin:6px 0 0;color:var(--muted)}.dashboard-recommendation-card{border-color:#f4efe333}.dashboard-chat-card{border-color:#9f8cff38}.dashboard-recommendation-card .state-badge{margin-top:8px}.macro-card,.goal-metric{display:grid;gap:12px;padding:16px}.macro-card-header span,.goal-metric-header span{color:var(--muted);font-size:.9rem;font-weight:750}.macro-card-header strong,.goal-metric-header strong{color:var(--text)}.macro-card p,.macro-card small,.goal-metric-values{margin:0;color:var(--muted)}.goal-metric-values{display:grid;gap:4px;font-size:.9rem}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#090b0d}.progress-fill{display:block;height:100%;border-radius:inherit;background:var(--calories)}.macro-card--calories .progress-fill,.goal-metric--kcal_goal .progress-fill{background:var(--calories)}.macro-card--protein .progress-fill,.goal-metric--protein_goal_g .progress-fill{background:var(--protein)}.macro-card--carbs .progress-fill,.goal-metric--carbs_goal_g .progress-fill{background:var(--carbs)}.macro-card--fat .progress-fill,.goal-metric--fat_goal_g .progress-fill{background:var(--fat)}.inventory-card{display:grid;gap:12px;margin-bottom:14px;padding:16px;background:var(--surface-raised)}.inventory-card h3{margin:0 0 4px;color:var(--text);font-size:1.12rem}.inventory-card p{margin:0;color:var(--muted)}.inventory-status{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid rgba(240,138,138,.26);border-radius:999px;background:#f08a8a17;color:#ffc1c1;font-size:.82rem;font-weight:800}.inventory-status--available{border-color:#65d49f4d;background:#65d49f1a;color:#c9f8df}.checkbox-label{display:flex;gap:10px;align-items:center;width:fit-content}.checkbox-label input{width:18px;min-height:18px}.recommendation-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr);margin-bottom:20px}.recommendation-panel{display:grid;gap:14px;padding:20px;background:var(--surface-raised)}.recommendation-text{margin:0;color:var(--text);font-size:1.05rem;line-height:1.55}.ai-enhanced-text,.ai-status-panel{border:1px solid rgba(159,140,255,.22);border-radius:8px;background:#9f8cff14}.ai-enhanced-text{padding:14px}.ai-enhanced-text p:last-child{margin-bottom:0;color:var(--muted-strong);line-height:1.55}.ai-status-panel{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.ai-status-panel h2{margin-bottom:6px;color:var(--text);font-size:1.12rem}.ai-status-panel p:last-child{margin-bottom:0;color:var(--muted)}.recommendation-macros,.recommendation-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.recommendation-macros .macro-card{box-shadow:none}.recommendation-macros .macro-card span{color:var(--muted);font-size:.86rem;font-weight:750}.day-context{padding:14px;border:1px solid var(--border);border-radius:8px;background:#ffffff09}.day-context p:last-child{margin-bottom:0;color:var(--muted-strong)}.warning-list{display:flex;flex-wrap:wrap;gap:8px}.state-badge{display:inline-flex;align-items:center;width:fit-content;min-height:30px;padding:0 10px;border:1px solid rgba(244,239,227,.22);border-radius:999px;background:#f4efe314;color:var(--muted-strong);font-size:.82rem;font-weight:800}.state-badge--ok{border-color:#65d49f4d;background:#65d49f1a;color:#c9f8df}.state-badge--missing_goal,.state-badge--no_inventory,.state-badge--no_data,.state-badge--disabled,.state-badge--error,.state-badge--confidence-low,.state-badge--warning{border-color:#f4c96f59;background:#f4c96f17;color:#ffe3a6}.state-badge--confidence-high{border-color:#65d49f4d;background:#65d49f1a;color:#c9f8df}.state-badge--confidence-medium{border-color:#9f8cff4d;background:#9f8cff1a;color:#d9d2ff}.recommendation-products{padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.recommendation-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recommendation-product-card{display:grid;gap:12px;padding:16px;background:var(--surface)}.recommendation-product-card h3{margin:0 0 4px;color:var(--text);font-size:1.08rem}.recommendation-product-card p{margin:0;color:var(--muted);line-height:1.45}.recommendation-product-card small{color:var(--muted-strong)}.chat-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:20px;align-items:start}.chat-panel{display:grid;gap:14px;padding:20px;background:var(--surface-raised)}.chat-panel--conversation{min-height:560px}.quick-prompts{display:grid;gap:10px}.quick-prompts .ghost-button{justify-content:flex-start;text-align:left}.chat-thread{display:grid;align-content:start;gap:14px;min-height:340px}.chat-bubble{display:grid;gap:10px;max-width:82%;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.chat-bubble--user{justify-self:end;border-color:#f4efe338;background:#f4efe314}.chat-bubble--assistant{justify-self:start;border-color:#9f8cff38;background:#9f8cff14}.chat-bubble p{margin-bottom:0;line-height:1.55}.chat-meta{display:grid;gap:8px}.chat-meta small{color:var(--muted);line-height:1.45}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.chat-compose textarea{min-height:72px}.meal-items{display:grid;gap:12px}.meal-item-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(110px,.7fr);gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.item-preview{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:8px;align-items:center;color:var(--muted);font-size:.9rem}.item-preview strong{color:#ffd6ad}.meal-preview{padding:12px;border:1px solid rgba(240,164,93,.18);border-radius:8px;background:#f0a45d12}.meal-card{display:grid;gap:12px;margin-bottom:14px;padding:16px;background:var(--surface-raised)}.meal-import-panel{margin-bottom:20px;border-color:#60a5fa33;background:radial-gradient(circle at 8% 0%,rgba(59,130,246,.12),transparent 30%),var(--surface-raised)}.meal-import-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end}.meal-import-preview,.meal-import-meals{display:grid;gap:14px}.meal-import-warnings{display:flex;flex-wrap:wrap;gap:8px}.meal-import-warnings span{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid rgba(245,158,11,.3);border-radius:999px;background:#f59e0b17;color:#ffd88a;font-size:.82rem;font-weight:800}.meal-import-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:18px;background:#ffffff09}.meal-card-header{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.meal-products{display:grid;gap:8px;margin:0;padding:0;list-style:none}.meal-products li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;background:#ffffff0b;color:var(--muted-strong)}.meal-products small{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;font-weight:700}.goal-panel{padding:20px;background:var(--surface-raised)}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#000000b8;overflow-y:auto}.onboarding-modal{width:min(860px,100%);max-height:calc(100vh - 28px);overflow-y:auto;padding:22px;border:1px solid var(--border-strong);border-radius:18px;background:radial-gradient(circle at 8% 0%,rgba(77,163,255,.16),transparent 28%),linear-gradient(180deg,#ffffff0e,#ffffff04),#0b0d0f;box-shadow:0 28px 90px #000000ad}.onboarding-topbar,.onboarding-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.onboarding-topbar{margin-bottom:16px}.onboarding-topbar h1{margin-bottom:0;font-size:clamp(2rem,7vw,3.6rem)}.onboarding-progress{display:grid;gap:8px;margin-bottom:18px}.onboarding-progress-bar{height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.onboarding-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--quick-blue)}.onboarding-progress small,.onboarding-copy{color:var(--muted);line-height:1.5}.onboarding-form{display:grid;gap:16px}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-checkbox{min-height:44px;padding:10px 0}.onboarding-result-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.onboarding-result-strip div{display:grid;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0b}.onboarding-result-strip span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.onboarding-result-strip strong{color:var(--text);font-size:1.12rem}@media(max-width:720px){.top-nav{flex-wrap:nowrap;gap:8px;width:100%;margin:0;overflow-x:auto;padding:12px max(12px,env(safe-area-inset-left)) 10px max(12px,env(safe-area-inset-right));scroll-padding-inline:12px}.top-nav::-webkit-scrollbar{display:none}.nav-button{flex:0 0 auto;min-height:44px;scroll-snap-align:start}.app-shell{width:min(100% - 24px,1160px);padding-top:22px}.dashboard-header{gap:18px;padding:24px 0}h1{font-size:clamp(2.15rem,11vw,3.25rem);line-height:1}.intro{font-size:.98rem}}@media(max-width:1060px){.placeholder-grid,.macro-rings-grid,.dashboard-goal-grid,.goal-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.dashboard-header,.chat-layout,.products-layout,.meals-layout,.inventory-layout,.recommendation-layout,.goals-layout,.product-card{grid-template-columns:1fr}.app-shell{padding-top:24px}.status-card,.placeholder-card,.product-form,.product-card,.macro-rings-panel,.meal-form,.meal-import-panel,.meal-card,.inventory-form,.inventory-card,.recommendation-panel,.recommendation-products,.ai-status-panel,.chat-panel,.goal-form,.goal-panel,.macro-card,.goal-metric{box-shadow:0 14px 30px #00000042}.product-photos img{height:180px}.daily-summary-band,.dashboard-inventory-band,.dashboard-recommendation-card,.dashboard-chat-card,.ai-status-panel,.meal-card-header{align-items:stretch;flex-direction:column}}@media(max-width:560px){body{min-width:0}.placeholder-grid,.dashboard-goal-grid,.goal-metric-grid,.recommendation-macros,.recommendation-product-grid,.chat-compose,.macro-grid,.onboarding-grid,.onboarding-result-strip,.product-photos,.meal-import-controls,.meal-item-row,.meal-products li{grid-template-columns:1fr}.app-shell{width:min(100% - 20px,1160px);padding-bottom:max(112px,calc(env(safe-area-inset-bottom) + 92px))}.section-header{padding:18px 0 22px}.status-card,.placeholder-card,.product-form,.product-card,.macro-rings-panel,.product-vision-panel,.meal-form,.meal-import-panel,.meal-card,.inventory-form,.inventory-card,.recommendation-panel,.recommendation-products,.recommendation-product-card,.ai-status-panel,.chat-panel,.goal-form,.goal-panel,.macro-card,.goal-metric{padding:14px}input,select{min-height:46px}textarea{min-height:104px}.primary-button,.ghost-button,.danger-button{min-height:46px}.form-header,.list-header,.meal-card-header,.macro-rings-header,.dashboard-inventory-band,.dashboard-recommendation-card,.dashboard-chat-card,.ai-status-panel{align-items:stretch}.form-header .ghost-button,.primary-button,.chat-compose .ghost-button{width:100%}.product-photos img{height:auto;aspect-ratio:4 / 3}.macro-summary span,.macro-summary strong,.state-badge,.inventory-status{min-height:34px}.chat-bubble{max-width:100%}.chat-panel--conversation{min-height:440px}.macro-rings-grid{gap:18px 10px}.macro-ring-visual,.macro-ring-svg{width:132px;height:132px}.macro-ring-center strong{font-size:1.3rem}.onboarding-backdrop{align-items:start;padding:max(10px,env(safe-area-inset-top)) 0 0}.onboarding-modal{max-height:none;min-height:100vh;border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0;padding:18px 14px max(32px,calc(env(safe-area-inset-bottom) + 18px))}.onboarding-topbar,.onboarding-actions{align-items:stretch}.onboarding-topbar .ghost-button,.onboarding-actions .ghost-button,.onboarding-actions .primary-button{width:100%}.quick-action-sheet{width:min(100% - 14px,540px);border-radius:22px 22px 0 0;margin-bottom:0}.quick-action-grid{grid-template-columns:1fr}.floating-add-button{width:66px;height:66px}.floating-chat-button{right:max(12px,calc(env(safe-area-inset-right) + 12px));bottom:max(24px,calc(env(safe-area-inset-bottom) + 20px));min-width:54px;min-height:42px;padding:0 12px;font-size:.82rem}}.app-topbar{position:sticky;top:0;z-index:24;display:flex;gap:18px;align-items:center;justify-content:space-between;width:min(1100px,calc(100% - 32px));margin:0 auto;padding:14px 0 10px;background:#050505e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-logo-button{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:var(--text)}.brand-logo{display:inline-flex;align-items:baseline;color:var(--accent);font-size:clamp(3.6rem,18vw,8.5rem);font-weight:950;letter-spacing:0;line-height:.84}.brand-logo--compact{font-size:2rem}.brand-logo-fit{color:var(--accent)}.brand-logo-ia{color:var(--brand-ia)}.app-topbar .top-nav{position:static;width:auto;margin:0;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell{width:min(1060px,calc(100% - 32px));padding-top:28px;padding-bottom:max(168px,calc(env(safe-area-inset-bottom) + 140px))}.app-shell--dashboard{width:min(980px,calc(100% - 32px))}.app-shell--compact{width:min(940px,calc(100% - 32px))}.nav-button,.ghost-button,.danger-button,.primary-button,.text-button{border-radius:8px}.nav-button{min-height:38px;border-color:#ffffff12;background:#ffffff0a;color:var(--muted)}.nav-button--active{border-color:#ffffff21;background:#ffffff1a;color:var(--text)}.primary-button{border-color:#3b82f68a;background:var(--quick-blue);color:#031225}.dashboard-hero{display:flex;gap:22px;align-items:flex-start;justify-content:space-between;padding:24px 0 18px}.dashboard-hero-copy{min-width:0}.dashboard-greeting{margin:14px 0 4px;color:var(--text);font-size:clamp(1.7rem,6vw,3.1rem);font-weight:900;line-height:1.05}.dashboard-date{margin:0;color:var(--muted);font-size:clamp(1rem,4vw,1.25rem);font-weight:750}.status-pill{display:inline-flex;gap:10px;align-items:center;min-width:150px;padding:12px 14px;border:1px solid var(--border);border-radius:999px;background:#ffffff0a}.status-pill span:not(.status-dot){display:block;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.status-pill strong{display:block;color:var(--text);font-size:.96rem}.dashboard-day-card,.dashboard-panel-card,.hub-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 18px 42px #00000057}.dashboard-day-card{display:grid;gap:18px;margin-bottom:18px;padding:clamp(22px,5vw,34px)}.dashboard-day-card-header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.dashboard-day-card h1{margin:0;font-size:clamp(1.45rem,5vw,2.05rem)}.dashboard-day-card p{margin:0;color:var(--muted)}.dashboard-day-number{display:block;color:var(--text);font-size:clamp(4.4rem,18vw,7rem);line-height:.9}.dashboard-day-subcopy{color:var(--muted-strong);font-size:clamp(1rem,4vw,1.25rem);font-weight:750}.dashboard-day-progress{height:13px;overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:999px;background:#ffffff0f}.dashboard-day-progress span{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--calories);box-shadow:0 0 18px #2dd4bf42}.dashboard-day-chips,.hub-actions{display:flex;flex-wrap:wrap;gap:10px}.dashboard-day-chips span{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#ffffff0f;color:var(--text);font-weight:850}.macro-rings-panel{border-radius:8px;background:linear-gradient(180deg,#ffffff0b,#ffffff05),#0e0f10}.macro-rings-header{align-items:flex-start}.macro-rings-header h2{font-size:clamp(1.35rem,4vw,2rem)}.macro-rings-grid{gap:18px}.macro-ring-card{padding:0}.macro-ring-copy h2{font-size:.92rem}.dashboard-action-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.action-chip{display:grid;gap:5px;min-height:70px;padding:13px;border:1px solid var(--border);border-radius:8px;background:#ffffff0a;color:var(--text);text-align:left}.action-chip span{color:var(--muted);font-size:.82rem;font-weight:800}.action-chip strong{font-size:1rem}.dashboard-stack{display:grid;gap:12px}.dashboard-panel-card{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px}.dashboard-panel-card h2{margin-bottom:6px;font-size:1.2rem}.dashboard-panel-card p{margin:0;color:var(--muted);line-height:1.45}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hub-card{display:grid;align-content:start;gap:14px;min-height:200px;padding:20px}.hub-card--hero{grid-column:span 2;background:linear-gradient(135deg,rgba(59,130,246,.14),transparent 46%),var(--surface)}.hub-card h2{margin:0;color:var(--text);font-size:clamp(1.25rem,4vw,1.9rem)}.hub-card p{margin:0;color:var(--muted);line-height:1.5}.hub-card .primary-button,.hub-card .ghost-button{width:fit-content;min-width:142px;margin-top:auto}.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-metrics div{display:grid;gap:4px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff0a}.profile-metrics span,.settings-list span{color:var(--muted);font-size:.8rem;font-weight:800}.profile-metrics strong,.settings-list strong{color:var(--text);overflow-wrap:anywhere}.settings-list{display:grid;grid-template-columns:minmax(76px,auto) minmax(0,1fr);gap:8px 14px}.bottom-navigation{position:fixed;right:0;bottom:0;left:0;z-index:42;display:flex;justify-content:center;padding:0 max(10px,env(safe-area-inset-right)) max(12px,calc(env(safe-area-inset-bottom) + 10px)) max(10px,env(safe-area-inset-left));pointer-events:none}.bottom-navigation-inner{display:grid;grid-template-columns:minmax(56px,1fr) minmax(56px,1fr) 86px minmax(56px,1fr) minmax(56px,1fr);align-items:end;width:min(760px,100%);min-height:94px;padding:9px 14px 12px;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:#0e0e0ff5;box-shadow:0 18px 64px #00000094;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}.bottom-navigation-item{display:grid;gap:6px;place-items:center;min-width:0;min-height:70px;padding:8px 4px;border:1px solid transparent;border-radius:18px;background:transparent;color:var(--muted);font-size:.76rem;font-weight:850;transition:background .16s ease,color .16s ease,transform .16s ease}.bottom-navigation-item:hover,.bottom-navigation-item--active{background:#ffffff14;color:var(--text)}.bottom-navigation-item:active{transform:translateY(1px)}.bottom-nav-icon{position:relative;display:block;width:28px;height:28px;color:currentColor}.bottom-nav-icon span{position:absolute;display:block;border-color:currentColor;background:currentColor}.bottom-nav-icon--panel span{width:8px;height:8px;border:2px solid currentColor;border-radius:4px;background:transparent}.bottom-nav-icon--panel span:nth-child(1){top:2px;left:2px}.bottom-nav-icon--panel span:nth-child(2){top:2px;right:2px}.bottom-nav-icon--panel span:nth-child(3){bottom:2px;left:2px}.bottom-nav-icon--panel span:nth-child(4){right:2px;bottom:2px}.bottom-nav-icon--progress span:nth-child(1){top:2px;left:50%;width:7px;height:7px;border-radius:999px;transform:translate(-50%)}.bottom-nav-icon--progress span:nth-child(2){top:10px;left:50%;width:3px;height:15px;border-radius:999px;transform:translate(-50%)}.bottom-nav-icon--progress span:nth-child(3),.bottom-nav-icon--progress span:nth-child(4){top:14px;width:3px;height:10px;border-radius:999px}.bottom-nav-icon--progress span:nth-child(3){left:8px;transform:rotate(14deg)}.bottom-nav-icon--progress span:nth-child(4){right:8px;transform:rotate(-14deg)}.bottom-nav-icon--history span{bottom:3px;width:4px;border-radius:999px 999px 2px 2px}.bottom-nav-icon--history span:nth-child(1){left:4px;height:9px}.bottom-nav-icon--history span:nth-child(2){left:11px;height:16px}.bottom-nav-icon--history span:nth-child(3){left:18px;height:23px}.bottom-nav-icon--history span:nth-child(4){right:1px;bottom:2px;left:2px;width:auto;height:2px;opacity:.65}.bottom-nav-icon--settings span:nth-child(1){top:5px;right:5px;bottom:5px;left:5px;border:3px solid currentColor;border-radius:999px;background:transparent}.bottom-nav-icon--settings span:nth-child(2),.bottom-nav-icon--settings span:nth-child(3),.bottom-nav-icon--settings span:nth-child(4){top:2px;left:50%;width:4px;height:7px;border-radius:999px;transform:translate(-50%);transform-origin:50% 12px}.bottom-nav-icon--settings span:nth-child(3){transform:translate(-50%) rotate(120deg)}.bottom-nav-icon--settings span:nth-child(4){transform:translate(-50%) rotate(240deg)}.bottom-navigation-add{position:relative;display:grid;place-items:center;width:78px;height:78px;justify-self:center;margin-top:-34px;margin-bottom:6px;padding:0;border:2px solid rgba(255,255,255,.12);border-radius:999px;background:linear-gradient(180deg,#ffffff2e,#fff0),var(--quick-blue);color:#031225;box-shadow:0 0 34px #3b82f66b,0 16px 42px #00000080;transform:translateY(-22px);transition:filter .16s ease,transform .16s ease}.bottom-navigation-add:hover{filter:brightness(1.06)}.bottom-navigation-add[aria-expanded=true]{transform:translateY(-22px) scale(.95)}.bottom-navigation-add-icon{position:relative;display:block;width:31px;height:31px}.bottom-navigation-add-icon:before,.bottom-navigation-add-icon:after{position:absolute;top:50%;left:50%;width:31px;height:6px;border-radius:999px;background:currentColor;content:"";transform:translate(-50%,-50%)}.bottom-navigation-add-icon:after{transform:translate(-50%,-50%) rotate(90deg)}.floating-chat-button{top:max(18px,calc(env(safe-area-inset-top) + 18px));right:max(16px,calc(env(safe-area-inset-right) + 16px));bottom:auto;z-index:44}.quick-action-sheet{margin-bottom:max(108px,calc(env(safe-area-inset-bottom) + 94px));border-radius:18px 18px 0 0}@media(max-width:720px){.app-topbar,.top-nav{display:none}.app-shell,.app-shell--dashboard,.app-shell--compact{width:min(100% - 20px,1060px);padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(172px,calc(env(safe-area-inset-bottom) + 146px))}.dashboard-hero{padding:18px 0 12px}.dashboard-hero .brand-logo{font-size:clamp(3.8rem,21vw,5.3rem)}.dashboard-greeting{max-width:calc(100vw - 100px);font-size:clamp(1.72rem,8vw,2.7rem)}.status-pill{display:none}.dashboard-day-card-header,.dashboard-panel-card{align-items:stretch;flex-direction:column}.dashboard-action-strip,.hub-grid,.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-card--hero{grid-column:span 2}.hub-card .primary-button,.hub-card .ghost-button{width:100%}.floating-chat-button{top:max(12px,calc(env(safe-area-inset-top) + 12px));right:max(12px,calc(env(safe-area-inset-right) + 12px));bottom:auto;min-width:50px;min-height:42px;padding:0 12px;font-size:.82rem}.quick-action-sheet{width:min(100% - 14px,540px);margin-bottom:max(104px,calc(env(safe-area-inset-bottom) + 92px))}.bottom-navigation{padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left))}.bottom-navigation-inner{grid-template-columns:minmax(52px,1fr) minmax(52px,1fr) 76px minmax(52px,1fr) minmax(52px,1fr);min-height:88px;padding:8px 10px 10px;border-radius:24px}.bottom-navigation-item{min-height:66px;padding:7px 3px;border-radius:18px;font-size:.7rem}.bottom-nav-icon{width:25px;height:25px}.bottom-navigation-add{width:70px;height:70px;margin-top:-30px}}@media(max-width:560px){.dashboard-action-strip,.hub-grid,.profile-metrics{grid-template-columns:1fr}.hub-card--hero{grid-column:auto}.bottom-navigation-inner{grid-template-columns:minmax(49px,1fr) minmax(58px,1fr) 74px minmax(56px,1fr) minmax(49px,1fr)}}.dashboard-hero{padding-top:24px}.dashboard-greeting{margin-top:0;max-width:min(760px,calc(100vw - 104px));letter-spacing:0}.dashboard-day-card,.macro-rings-panel{border-color:#2a2a2a;border-radius:32px;background:#121212}.macro-rings-header p{margin:4px 0 0;color:var(--muted);font-size:1rem;font-weight:700}.macro-ring-card{border:0;background:transparent;box-shadow:none}.floating-chat-button{display:grid;place-items:center;width:56px;min-width:56px;height:56px;min-height:56px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#121212eb;color:#fff;font-size:1.35rem;font-weight:950;box-shadow:0 12px 34px #00000070}.quick-action-layer{z-index:52}.quick-action-backdrop{background:#0000006b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .24s ease}.quick-action-sheet{width:min(700px,calc(100% - 28px));margin-bottom:max(112px,calc(env(safe-area-inset-bottom) + 100px));padding:24px 26px 28px;border-color:#2d323c;border-radius:30px;background:#171a22;box-shadow:0 -22px 60px #00000094;transform:translateY(calc(100% + 20px)) scale(.98);transition:opacity .23s ease,transform .34s cubic-bezier(.16,1,.3,1)}.quick-action-title{margin:0 0 20px;color:var(--text);font-size:clamp(1.3rem,4.5vw,1.8rem);font-weight:950;letter-spacing:0;text-align:center}.quick-action-handle,.quick-action-header{display:none}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quick-action-card{place-items:center;min-height:188px;padding:22px 16px 20px;border-color:#303541;border-radius:22px;background:#232732;color:var(--text);text-align:center;transition:border-color .16s ease,background .16s ease,transform .16s ease}.quick-action-card:hover{border-color:color-mix(in srgb,var(--quick-action-color) 56%,#303541);background:#262b37;transform:translateY(-1px)}.quick-action-card--product{--quick-action-color: #4da3ff}.quick-action-card--meal{--quick-action-color: #6ae8d3}.quick-action-card--json{--quick-action-color: #ffcf6b}.quick-action-card--inventory{--quick-action-color: #ff5d93}.quick-action-card--recipe{--quick-action-color: #c084fc}.quick-action-card-icon{display:grid;place-items:center;width:76px;height:76px;margin-bottom:10px;border-radius:999px;background:var(--quick-action-color);color:#07111f}.quick-action-card strong{max-width:190px;color:var(--text);font-size:clamp(1.08rem,4.7vw,1.65rem);font-weight:950;line-height:1.05}.quick-action-card span:not(.quick-action-card-icon){max-width:190px;color:#b0b3bb;font-size:clamp(.86rem,3.6vw,1rem);line-height:1.28}.bottom-navigation{z-index:60;padding-bottom:max(12px,calc(env(safe-area-inset-bottom) + 10px))}.bottom-navigation-inner{grid-template-columns:minmax(56px,1fr) minmax(62px,1fr) 74px minmax(62px,1fr) minmax(56px,1fr);width:min(720px,calc(100% - 24px));min-height:86px;padding:10px 12px 12px;border-color:#262626;border-radius:28px;background:#0e0e0ff7;box-shadow:0 18px 56px #0000009e,inset 0 1px #ffffff0a}.bottom-navigation-item{gap:6px;min-height:62px;padding:7px 4px 8px;border-radius:20px;color:#85858d;font-size:.72rem;font-weight:850}.bottom-navigation-item--active,.bottom-navigation-item:hover{background:#252525;color:#fff}.bottom-nav-icon{width:24px;height:24px}.bottom-navigation-add{width:70px;height:70px;margin-top:-18px;margin-bottom:2px;border:1px solid #1f6ed3;background:#4da3ff;color:#04101f;box-shadow:0 0 32px #4da3ff70,0 12px 30px #0000006b;transform:translateY(-7px)}.bottom-navigation-add:hover{filter:brightness(1.03)}.bottom-navigation-add[aria-expanded=true],.bottom-navigation-add--open{transform:translateY(-7px) scale(.98)}.bottom-navigation-add-icon{width:26px;height:26px;transform-origin:center;transition:transform .22s cubic-bezier(.16,1,.3,1)}.bottom-navigation-add--open .bottom-navigation-add-icon{transform:rotate(45deg)}@media(max-width:720px){.app-shell,.app-shell--dashboard,.app-shell--compact{width:min(100% - 32px,1060px);padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(164px,calc(env(safe-area-inset-bottom) + 142px))}.dashboard-hero{min-height:76px;padding:18px 0 14px}.dashboard-greeting{max-width:calc(100vw - 112px);font-size:clamp(2rem,8vw,2.8rem);line-height:1.02}.dashboard-date{font-size:1.22rem}.dashboard-day-card,.macro-rings-panel{border-radius:28px}.dashboard-day-card{gap:17px;padding:28px 24px}.dashboard-day-card-header .ghost-button{display:none}.dashboard-day-number{font-size:clamp(4.8rem,21vw,6.4rem)}.macro-rings-panel{padding:24px 20px 26px}.macro-rings-actions{display:none}.macro-rings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.macro-ring-visual,.macro-ring-svg{width:min(36vw,146px);height:min(36vw,146px)}.floating-chat-button{top:max(22px,calc(env(safe-area-inset-top) + 16px));right:max(22px,calc(env(safe-area-inset-right) + 16px));width:56px;min-width:56px;height:56px;min-height:56px;font-size:1.3rem}.quick-action-sheet{width:calc(100% - 28px);margin-bottom:max(104px,calc(env(safe-area-inset-bottom) + 92px));padding:24px 26px 28px;border-radius:28px}.quick-action-grid{gap:18px}.quick-action-card{min-height:162px;padding:20px 12px 18px}.quick-action-card-icon{width:70px;height:70px}.bottom-navigation-inner{grid-template-columns:minmax(54px,1fr) minmax(64px,1fr) 72px minmax(64px,1fr) minmax(54px,1fr);width:min(100% - 20px,430px);min-height:84px;padding:8px 10px 10px;border-radius:26px}.bottom-navigation-item{min-height:60px;padding:7px 2px;border-radius:18px;font-size:.7rem}.bottom-navigation-add{width:66px;height:66px;margin-top:-16px;transform:translateY(-6px)}.bottom-navigation-add[aria-expanded=true],.bottom-navigation-add--open{transform:translateY(-6px) scale(.98)}}@media(max-width:380px){.app-shell,.app-shell--dashboard,.app-shell--compact{width:min(100% - 22px,1060px)}.quick-action-sheet{width:calc(100% - 20px);padding:22px 20px 24px}.quick-action-grid{gap:12px}.quick-action-card{min-height:154px}.quick-action-card-icon{width:62px;height:62px}.bottom-navigation-inner{width:min(100% - 16px,430px);grid-template-columns:minmax(48px,1fr) minmax(58px,1fr) 66px minmax(58px,1fr) minmax(48px,1fr);padding-right:8px;padding-left:8px}.bottom-navigation-add{width:62px;height:62px}}.floating-chat-button{width:auto;min-width:72px;height:46px;min-height:46px;padding:0 16px;border-radius:999px;font-size:.9rem;line-height:1}.bottom-navigation-add{display:grid;place-items:center;margin-top:-12px;margin-bottom:0;transform:translateY(-3px);transition:filter .16s ease,transform .23s cubic-bezier(.22,1,.36,1)}.bottom-navigation-add[aria-expanded=true],.bottom-navigation-add--open{transform:translateY(-3px) scale(.98)}.bottom-navigation-add-icon{display:block;transform-box:fill-box;transform-origin:center;transition:transform .24s cubic-bezier(.22,1,.36,1)}.bottom-navigation-add-icon:before,.bottom-navigation-add-icon:after{content:none}.bottom-navigation-add--open .bottom-navigation-add-icon{transform:rotate(45deg) scale(.96)}.quick-action-sheet{width:min(724px,calc(100% - 16px));margin-bottom:max(104px,calc(env(safe-area-inset-bottom) + 92px));transform:translateY(calc(100% + 24px)) scale(.985);transition:opacity .21s ease,transform .26s cubic-bezier(.22,1,.36,1)}.quick-action-layer--open .quick-action-sheet{transform:translateY(0) scale(1)}@media(max-width:720px){.bottom-navigation{padding-right:0;padding-left:0}.floating-chat-button{top:max(22px,calc(env(safe-area-inset-top) + 16px));right:max(18px,calc(env(safe-area-inset-right) + 14px));min-width:68px;height:44px;min-height:44px;padding:0 14px;font-size:.84rem}.quick-action-sheet{width:calc(100% - 16px);padding:24px 22px 28px}.bottom-navigation-add{margin-top:-10px;transform:translateY(-2px)}.bottom-navigation-inner{width:min(calc(100vw - 20px),430px)}.bottom-navigation-add[aria-expanded=true],.bottom-navigation-add--open{transform:translateY(-2px) scale(.98)}}@media(max-width:380px){.quick-action-sheet{width:calc(100% - 12px);padding:22px 18px 24px}.bottom-navigation-inner{width:min(calc(100vw - 16px),430px)}}.recipes-page{display:grid;gap:20px}.recipe-generator-panel,.recipe-card{border:1px solid var(--border);border-radius:26px;background:linear-gradient(180deg,#ffffff09,#ffffff03),var(--surface);box-shadow:0 20px 52px #00000057}.recipe-generator-panel{display:grid;gap:18px;padding:22px}.recipe-generator-panel__header,.recipe-card__header,.temporary-ingredient__footer{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.recipe-generator-panel h2,.recipe-card h2,.recipe-section h3{margin-bottom:0}.recipe-generator-panel h2{font-size:1.38rem}.date-control{min-width:180px}.temporary-ingredient-list{display:grid;gap:14px}.temporary-ingredient{display:grid;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:#ffffff08}.temporary-ingredient__main,.recipe-preference-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(110px,.5fr) minmax(88px,.35fr);gap:12px}.recipe-preference-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.checkbox-row,.checkbox-card{display:flex;gap:10px;align-items:center}.checkbox-row input,.checkbox-card input{width:18px;min-height:18px}.checkbox-card{align-items:flex-start;padding:14px;border:1px solid rgba(96,165,250,.28);border-radius:18px;background:#60a5fa14}.checkbox-card span{display:grid;gap:4px}.checkbox-card strong{color:var(--text)}.checkbox-card small{color:var(--muted);line-height:1.4}.recipe-generate-button{min-height:54px;border-color:#3b82f699;background:var(--quick-blue);color:#050505;font-size:1rem}.info-banner,.error-banner{margin:0;padding:14px 16px;border-radius:16px;font-weight:750;line-height:1.45}.info-banner{border:1px solid rgba(96,165,250,.42);background:#60a5fa1a;color:#dcecff}.error-banner{border:1px solid rgba(240,138,138,.48);background:#f08a8a1a;color:#ffd0d0}.recipe-results{display:grid;gap:18px}.recipe-card{display:grid;gap:18px;padding:22px}.recipe-card h2{font-size:1.55rem}.recipe-card__why{margin-bottom:0;color:var(--muted-strong);line-height:1.55}.recipe-badge-row{display:flex;flex-wrap:wrap;gap:8px}.recipe-badge,.recipe-ingredient,.recipe-warning-list span{border-radius:999px;font-weight:800}.recipe-badge{padding:8px 11px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted-strong);font-size:.82rem}.recipe-macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.recipe-macro-grid span{display:grid;gap:4px;padding:13px 12px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:#ffffff09;color:var(--muted);text-align:center}.recipe-macro-grid strong{color:var(--text);font-size:1.35rem}.recipe-section{display:grid;gap:10px}.recipe-section h3{color:var(--muted-strong);font-size:.95rem}.recipe-section p{margin-bottom:0;color:var(--muted);line-height:1.5}.recipe-ingredient-list,.recipe-warning-list{display:flex;flex-wrap:wrap;gap:9px}.recipe-ingredient{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text)}.recipe-ingredient small{color:var(--muted);font-size:.72rem;text-transform:uppercase}.recipe-ingredient--temporary{border-color:#2dd4bf4d;background:#2dd4bf14}.recipe-ingredient--inventory{border-color:#60a5fa52;background:#60a5fa1a}.recipe-ingredient--optional{border-color:#f59e0b52;background:#f59e0b1a}.recipe-steps{display:grid;gap:8px;margin:0;padding-left:22px;color:var(--muted-strong);line-height:1.55}.recipe-warning-list span{padding:8px 10px;border:1px solid rgba(245,158,11,.3);background:#f59e0b17;color:#ffd88a;font-size:.82rem}.recipe-warning-list--root{padding:0 2px}.recipe-pending-button{justify-self:start;cursor:not-allowed}@media(max-width:760px){.recipe-generator-panel,.recipe-card{border-radius:24px;padding:18px}.recipe-generator-panel__header,.recipe-card__header{align-items:flex-start}.date-control{width:100%;min-width:0}.temporary-ingredient__main,.recipe-preference-grid{grid-template-columns:1fr}.recipe-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
