:root{--bg:linear-gradient(180deg,#fff8eb,#fff3e1 58%,#ffedd9);--bg-pattern:radial-gradient(circle at 12% 18%,rgba(255,194,132,.14) 0,rgba(255,194,132,0) 18%),radial-gradient(circle at 85% 14%,rgba(255,222,150,.14) 0,rgba(255,222,150,0) 17%),radial-gradient(circle at 84% 74%,rgba(151,218,192,.12) 0,rgba(151,218,192,0) 20%),radial-gradient(circle at 17% 82%,hsla(8,100%,79%,.1) 0,hsla(8,100%,79%,0) 18%);--surface:rgba(255,250,245,.9);--surface-strong:rgba(255,248,240,.98);--surface-soft:rgba(255,243,231,.88);--text:#563d33;--text-strong:#3f291f;--muted:#8c6f63;--accent:#f28d61;--accent-strong:#d86742;--mint:#7cc9a6;--butter:#f8d36b;--berry:#ef7c7a;--success:#4fa777;--error:#d45f6f;--border:rgba(167,112,83,.18);--border-strong:rgba(208,120,84,.35);--shadow-soft:0 18px 40px rgba(196,132,97,.12);--shadow-card:0 18px 36px rgba(201,142,99,.14)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100vh;background:var(--bg);background-image:var(--bg-pattern),var(--bg);color:var(--text);font-family:Avenir Next,Trebuchet MS,Gill Sans,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(135deg,hsla(0,0%,100%,.34),transparent 34%),linear-gradient(315deg,hsla(0,0%,100%,.18),transparent 34%);opacity:.38}a{color:var(--accent-strong);text-decoration:none;font-weight:700}a:hover{text-decoration:underline}button,input,select{border:1px solid var(--border);border-radius:16px;background:hsla(0,0%,100%,.76);color:var(--text-strong);padding:.75rem .95rem;font:inherit;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}input::placeholder{color:#b09083}button{cursor:pointer;background:linear-gradient(180deg,#ffd69a,#f5b56f);border-color:rgba(219,136,81,.28);color:#6a341e;font-weight:800;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;box-shadow:0 10px 16px hsla(25,70%,65%,.2)}button:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.03);box-shadow:0 14px 24px hsla(25,70%,65%,.24)}button:disabled{cursor:not-allowed;opacity:.66}button:focus,input:focus,select:focus{outline:2px solid rgba(242,141,97,.3);outline-offset:2px}.app-wrap{min-height:100vh;padding:1.5rem;position:relative;z-index:1}.shell{max-width:1240px;margin:0 auto;display:grid;grid-gap:1.1rem;gap:1.1rem}.hero-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.hero-copy{max-width:800px}.brand-lockup{display:flex;align-items:center;gap:.9rem}.brand-wordmark{display:block;width:min(580px,100%);height:auto}.brand-badge{display:grid;place-items:center;width:4rem;height:4rem;border-radius:24px;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.88),transparent 30%),radial-gradient(circle at 62% 62%,hsla(0,0%,100%,.22),transparent 34%),linear-gradient(180deg,#ffd38f,#f39e6f);box-shadow:0 14px 26px hsla(25,70%,65%,.26);position:relative}.brand-badge:before{content:"";width:2.1rem;height:1.45rem;border:3px solid rgba(110,56,36,.82);border-top:none;border-radius:0 0 1rem 1rem;transform:translateY(.2rem)}.brand-badge:after{content:"";position:absolute;width:1.5rem;height:.7rem;border:3px solid rgba(110,56,36,.82);border-bottom:none;border-radius:1rem 1rem 0 0;top:.95rem}.eyebrow{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.45rem;padding:.35rem .75rem;border-radius:999px;background:rgba(255,212,144,.58);border:1px solid rgba(223,152,89,.25);color:#965538;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.title,h1,h2,h3{color:var(--text-strong);font-family:Trebuchet MS,Avenir Next,Gill Sans,sans-serif;line-height:1.02}.title{font-size:clamp(2.8rem,6vw,4.8rem)}.subtitle{color:var(--muted);margin-top:.5rem;font-size:1.08rem;line-height:1.65;max-width:50rem}.hero-message{display:grid;grid-gap:.28rem;gap:.28rem}.hero-message p{margin:0}.timezone-panel{display:grid;grid-gap:.4rem;gap:.4rem;min-width:230px;padding:.85rem .95rem;border-radius:22px;background:rgba(255,251,246,.8);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.header-actions{display:grid;justify-items:end;grid-gap:.75rem;gap:.75rem}.welcome-chip{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding:.55rem .7rem .55rem .95rem;border-radius:999px;background:rgba(255,251,246,.86);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.welcome-chip button{padding:.55rem .85rem}.welcome-label{color:var(--text-strong);font-weight:800}.header-link-chip{display:inline-flex;align-items:center;padding:.5rem .8rem;border-radius:999px;background:rgba(255,236,214,.92);border:1px solid rgba(219,152,89,.22);color:#8c4d32;font-size:.88rem;font-weight:800}.header-link-chip:hover{text-decoration:none;background:rgba(255,225,196,.96)}.timezone-panel label{color:var(--muted);font-size:.86rem;font-weight:700}.card{background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:1.1rem;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card-accent{background:radial-gradient(circle at top right,rgba(255,214,154,.55),transparent 30%),linear-gradient(180deg,rgba(255,250,245,.96),rgba(255,246,236,.94))}.card-soft{background:radial-gradient(circle at 15% 20%,rgba(124,201,166,.16),transparent 24%),linear-gradient(180deg,rgba(255,248,241,.96),rgba(255,244,236,.94))}.status-banner{padding-block:.9rem}.app-alert{display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem 1rem;border-radius:18px;border:1px solid hsla(22,49%,68%,.18);background:rgba(255,251,246,.94)}.app-alert p{margin:0;font-weight:700}.app-alert-success{background:rgba(241,251,245,.96);border-color:rgba(79,167,119,.2);color:#356d4f}.app-alert-error{background:rgba(255,242,243,.96);border-color:rgba(212,95,111,.2);color:#a54b59}.app-alert-info{background:rgba(255,247,237,.96);border-color:hsla(22,64%,66%,.2);color:#8d5938}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem}.section-heading h2,.section-heading h3{font-size:1.55rem}.section-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.4rem .8rem;background:rgba(124,201,166,.18);border:1px solid rgba(124,201,166,.32);color:#4f8368;font-size:.82rem;font-weight:800}.auth-row,.row-gap,.toolbar-wrap{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.auth-mode-toggle{display:inline-flex;gap:.4rem;padding:.25rem;border-radius:999px;background:rgba(255,239,223,.92);border:1px solid rgba(219,152,89,.2);margin-bottom:.75rem}.auth-mode-toggle button{background:transparent;box-shadow:none;border-color:transparent;color:#9c6547}.auth-mode-toggle .auth-mode-active{background:linear-gradient(180deg,#f5a26f,#ea7c56);color:#fffaf5;border-color:rgba(210,102,65,.35)}.inventory-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;margin-bottom:.95rem}.summary-pill{display:flex;gap:.75rem;align-items:center;padding:.85rem .95rem;border-radius:22px;background:rgba(255,249,242,.86);border:1px solid hsla(22,64%,66%,.2)}.summary-pill strong{display:block;color:var(--text-strong)}.summary-pill p{color:var(--muted);font-size:.84rem}.inventory-group-icon,.summary-pill-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:18px;background:linear-gradient(180deg,#fff6ec,#ffe3c4);font-size:1.15rem;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.capture-mode-card,.inventory-action-card,.inventory-add-card,.manual-hint-card,.review-sidebar-card{display:grid;grid-gap:.8rem;gap:.8rem;border:1px solid hsla(22,64%,66%,.2);border-radius:24px;padding:.95rem;background:radial-gradient(circle at top right,rgba(255,210,142,.18),transparent 26%),rgba(255,250,244,.86)}.inventory-add-strip{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;margin-bottom:.9rem}.inventory-action-card{align-content:space-between}.inventory-action-card .eyebrow{margin-bottom:.6rem}.inventory-action-card-smart{background:radial-gradient(circle at top right,rgba(124,201,166,.18),transparent 26%),rgba(255,250,244,.86)}.inventory-add-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.secondary-button{background:rgba(255,247,239,.92);box-shadow:none;color:#8e5739;border-color:rgba(219,152,89,.22)}.inventory-add-grid{display:grid;grid-template-columns:1.5fr .75fr .9fr 1fr;grid-gap:.6rem;gap:.6rem;align-items:center}.inventory-toggle{min-height:100%;padding:.8rem 1rem;border-radius:18px;background:rgba(255,244,230,.72)}.category-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 .8rem}.inventory-filter-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}.category-tabs button{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.62rem .9rem;background:rgba(255,248,241,.82);box-shadow:none;color:var(--muted)}.category-tabs button span:last-child{display:inline-grid;place-items:center;min-width:1.45rem;height:1.45rem;padding-inline:.3rem;border-radius:999px;background:rgba(255,233,204,.92);font-size:.76rem}.category-tab-active{background:linear-gradient(180deg,#f5a26f,#ea7c56)!important;color:#fffaf5!important}.category-tab-active span:last-child{background:hsla(0,0%,100%,.24)!important}.inventory-groups{max-height:560px;overflow:auto;padding-right:.2rem}.inventory-group,.inventory-groups{display:grid;grid-gap:.85rem;gap:.85rem}.inventory-group{border-radius:28px;padding:1rem;border:1px solid hsla(22,64%,66%,.18);background:rgba(255,250,244,.75)}.inventory-group-produce{background:linear-gradient(180deg,rgba(247,255,245,.95),rgba(255,250,244,.9))}.inventory-group-breakfast,.inventory-group-dairy{background:linear-gradient(180deg,rgba(250,248,255,.95),rgba(255,250,244,.9))}.inventory-group-deli,.inventory-group-meat{background:linear-gradient(180deg,hsla(6,100%,98%,.95),rgba(255,250,244,.9))}.inventory-group-frozen{background:linear-gradient(180deg,rgba(244,251,255,.95),rgba(255,250,244,.9))}.inventory-group-heading,.inventory-group-title{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.inventory-group-title h3{font-size:1.18rem}.inventory-item-grid{display:grid;grid-template-columns:1fr;grid-gap:.8rem;gap:.8rem}.inventory-item-card{display:grid;grid-gap:.75rem;gap:.75rem;border:1px solid hsla(22,49%,68%,.22);border-radius:22px;padding:.9rem 1rem;background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(255,247,240,.82))}.inventory-edit-options,.inventory-item-actions,.inventory-item-topline,.proposal-panel-header,.review-stage-caption{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.inventory-item-category{text-transform:uppercase;letter-spacing:.04em}.inventory-item-metrics{display:grid;grid-template-columns:repeat(3,minmax(120px,180px));grid-gap:.6rem;gap:.6rem}.inventory-item-row{display:grid;grid-template-columns:1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center}.inventory-item-metrics-compact{grid-template-columns:repeat(3,minmax(110px,160px))}.inventory-item-metrics div{padding:.7rem .75rem;border-radius:18px;background:rgba(255,245,235,.9);border:1px solid hsla(22,64%,66%,.14);min-width:0}.inventory-item-metrics strong{display:block;margin-top:.2rem;font-size:.92rem;overflow-wrap:anywhere}.inventory-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:800}.inventory-badge-perishable{background:rgba(255,226,208,.92);color:#a55839}.inventory-edit-panel,.proposal-empty{display:grid;grid-gap:.75rem;gap:.75rem}.inventory-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.recipe-toolbar{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.55rem}.recipe-toolbar input{min-width:220px}.recipe-assistant-shell{margin-top:1rem;margin-bottom:1rem;display:grid;grid-gap:1rem;gap:1rem}.recipe-intelligence-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.recipe-intelligence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;align-items:start}.recipe-intelligence-reset{background:rgba(255,248,241,.92);box-shadow:none;color:#8c4d32}.recipe-assistant-panel{display:grid;align-content:start;grid-gap:1rem;gap:1rem;border:1px solid hsla(22,64%,66%,.22);border-radius:28px;padding:1rem;background:radial-gradient(circle at top right,rgba(124,201,166,.2),transparent 24%),radial-gradient(circle at bottom left,rgba(255,214,154,.24),transparent 22%),linear-gradient(180deg,rgba(255,251,246,.96),rgba(255,245,235,.94))}.recipe-assistant-panel-active{border-color:hsla(22,64%,66%,.34);box-shadow:0 14px 28px rgba(201,142,99,.12)}.recipe-assistant-panel-secondary{background:radial-gradient(circle at top left,rgba(124,201,166,.16),transparent 24%),radial-gradient(circle at bottom right,rgba(255,214,154,.22),transparent 22%),linear-gradient(180deg,rgba(255,252,248,.97),rgba(255,247,240,.95))}.recipe-assistant-copy{display:grid;grid-gap:.4rem;gap:.4rem}.recipe-assistant-copy h3{font-size:1.5rem}.recipe-assistant-copy .eyebrow{width:100%;justify-content:flex-start}.recipe-assistant-heading-row{display:flex;justify-content:space-between;align-items:center;gap:.65rem;flex-wrap:wrap}.recipe-assistant-inline-toggle{justify-self:start;padding:.6rem .95rem;background:rgba(255,248,241,.92);box-shadow:none;color:#8c4d32}.recipe-assistant-controls{align-items:stretch}.recipe-assistant-controls,.recipe-assistant-primary-row,.recipe-assistant-secondary-row{display:grid;grid-gap:.65rem;gap:.65rem}.recipe-assistant-primary-row{grid-template-columns:1fr}.recipe-assistant-secondary-row{grid-template-columns:minmax(220px,260px) minmax(220px,260px);justify-content:end}.recipe-assistant-primary-row input,.recipe-assistant-secondary-row button,.recipe-assistant-secondary-row input{min-height:3.6rem}.recipe-assistant-secondary-row button{min-width:220px;justify-self:stretch}.recipe-assistant-options{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);grid-gap:.8rem;gap:.8rem;align-items:start}.recipe-assistant-toggle{min-height:10.5rem;padding:.9rem 1rem;border-radius:18px;background:rgba(255,247,239,.86);border:1px solid rgba(219,152,89,.16);align-items:center}.recipe-assistant-ingredient-picker{display:grid;grid-gap:.35rem;gap:.35rem;position:relative;align-content:start;min-height:10.5rem}.recipe-assistant-picker-button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.85rem .95rem;background:hsla(0,0%,100%,.84);box-shadow:none;color:var(--text-strong)}.recipe-assistant-picker-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:8;max-height:220px;overflow:auto;border-radius:20px;padding:.55rem;border:1px solid rgba(219,152,89,.22);background:rgba(255,251,246,.98);box-shadow:0 16px 28px rgba(196,132,97,.18)}.recipe-assistant-picker-option{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:14px}.recipe-assistant-picker-option:hover{background:rgba(255,241,226,.74)}.recipe-assistant-selected-row{display:flex;flex-wrap:wrap;gap:.45rem}.recipe-assistant-selected-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:999px;background:rgba(255,235,214,.94);border:1px solid hsla(22,64%,66%,.2);box-shadow:none;color:#8c4d32;font-size:.78rem;font-weight:800}.recipe-assistant-results{display:grid;grid-gap:.85rem;gap:.85rem}.recipe-assistant-summary{display:grid;grid-gap:.5rem;gap:.5rem;padding:.95rem;border-radius:22px;border:1px solid hsla(22,49%,68%,.2);background:rgba(255,252,248,.88)}.recipe-assistant-results{align-content:start}.recipe-assistant-summary-preview{background:linear-gradient(180deg,rgba(255,249,241,.96),rgba(255,242,232,.96));border-color:hsla(22,64%,66%,.28)}.recipe-assistant-preview-note{color:#8a5a3d;font-weight:700}.recipe-assistant-preview-actions{display:flex;flex-wrap:wrap;gap:.55rem}.recipe-assistant-summary p{line-height:1.55}.recipe-assistant-pantry-priority,.recipe-assistant-pill-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.recipe-assistant-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;background:rgba(255,235,214,.94);border:1px solid hsla(22,64%,66%,.2);color:#8c4d32;font-size:.8rem;font-weight:800}.recipe-assistant-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.recipe-assistant-card{display:grid;grid-gap:.75rem;gap:.75rem;border-radius:22px;border:1px solid hsla(22,49%,68%,.22);padding:.95rem;background:linear-gradient(180deg,hsla(0,0%,100%,.92),rgba(255,247,240,.86))}.recipe-assistant-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem}.recipe-assistant-meta-block{display:grid;grid-gap:.35rem;gap:.35rem}.recipe-assistant-list{padding-left:1.1rem;color:var(--muted);display:grid;grid-gap:.3rem;gap:.3rem;font-size:.9rem;line-height:1.45}.muted-text{color:var(--muted);line-height:1.5}.tiny-text{color:var(--muted);font-size:.84rem;line-height:1.45}.list-col{display:grid;grid-gap:.6rem;gap:.6rem;margin-top:.8rem}.list-item{justify-content:space-between;gap:.75rem;border:1px solid hsla(22,49%,68%,.22);border-radius:20px;padding:.85rem .9rem;background:linear-gradient(180deg,hsla(0,0%,100%,.85),rgba(255,247,240,.74))}.checkbox-label,.list-item{display:flex;align-items:center}.checkbox-label{gap:.35rem;font-weight:700}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));grid-gap:.7rem;gap:.7rem;margin-top:.9rem}.preview-card{border:1px dashed rgba(219,152,89,.35);border-radius:20px;padding:.55rem;display:grid;grid-gap:.45rem;gap:.45rem;background:rgba(255,252,247,.72)}.preview-card img{width:100%;height:110px;object-fit:cover;border-radius:14px;background:rgba(255,241,226,.85)}.preview-card figcaption{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capture-overview{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:.9rem}.capture-card{margin-top:1rem}.capture-overview-compact{grid-template-columns:1.1fr auto;align-items:end}.capture-actions{display:flex;flex-wrap:wrap;gap:.6rem}.review-mode-toggle{margin-bottom:0;align-self:start}.upload-preview-grid{margin-top:.85rem}.recent-uploads-card,.review-collapsed-note{margin-top:.95rem;border:1px solid hsla(22,64%,66%,.18);border-radius:24px;padding:.95rem;background:rgba(255,250,244,.82)}.review-workspace{margin-top:1rem;display:grid;grid-template-columns:minmax(220px,250px) minmax(380px,1.2fr) minmax(280px,340px);grid-gap:.95rem;gap:.95rem;align-items:start}.review-sidebar{display:grid;grid-gap:.8rem;gap:.8rem}.review-complete-card{align-content:start}.proposal-list,.review-thumb-strip{display:grid;grid-gap:.55rem;gap:.55rem}.review-thumb-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.proposal-list-item,.review-thumb{display:grid;grid-template-columns:68px 1fr;grid-gap:.7rem;gap:.7rem;align-items:center;text-align:left;padding:.55rem;background:hsla(0,0%,100%,.72);box-shadow:none}.proposal-list-item{grid-template-columns:1fr auto;padding:.72rem .82rem}.review-thumb img{width:68px;height:68px;object-fit:cover;border-radius:16px}.review-thumb-placeholder{width:68px;height:68px;display:grid;place-items:center;border-radius:16px;border:1px solid hsla(22,49%,68%,.2);background:linear-gradient(180deg,rgba(255,249,242,.96),rgba(255,241,229,.94));color:#b77852;font-size:1.35rem}.proposal-list-item span,.review-thumb p{color:var(--muted);font-size:.82rem}@media (max-width:1120px){.review-thumb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-assistant-card-grid{grid-template-columns:1fr 1fr}}@media (max-width:1180px){.review-thumb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:880px){.review-thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.recipe-assistant-card-grid,.recipe-assistant-controls,.recipe-assistant-options,.recipe-intelligence-grid,.review-thumb-grid{grid-template-columns:1fr}.recipe-assistant-secondary-row{grid-template-columns:1fr;justify-content:stretch}.recipe-assistant-secondary-row button{min-width:0}}@media (max-width:980px){.recipe-intelligence-grid{grid-template-columns:1fr}}.proposal-list-item-active,.review-thumb-active{border-color:rgba(210,102,65,.42);background:rgba(255,239,223,.92)}.proposal-badge-pending,.proposal-state-pending strong{color:#9c603b}.proposal-badge-added,.proposal-badge-updated,.proposal-state-added strong,.proposal-state-updated strong{color:#2a7450}.proposal-badge-rejected,.proposal-badge-skipped,.proposal-state-rejected strong,.proposal-state-skipped strong{color:#a24e5d}.review-stage-panel{display:grid;grid-gap:.75rem;gap:.75rem;min-width:0}.image-stage{position:relative;border:1px solid hsla(22,64%,66%,.28);border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#fff8f1,#ffe7ce);min-height:620px}.image-stage img{display:block;width:100%;height:620px;object-fit:contain;background:linear-gradient(180deg,#fffaf5,#ffefdf)}.bbox{border:3px solid var(--accent);box-shadow:0 0 0 9999px rgba(242,141,97,.12);border-radius:14px}.bbox,.manual-point-marker{position:absolute;pointer-events:none}.manual-point-marker{width:22px;height:22px;margin-left:-11px;margin-top:-11px;border-radius:999px;border:3px solid #ef8156;background:hsla(0,0%,100%,.88);box-shadow:0 0 0 8px rgba(239,129,86,.18),0 8px 20px rgba(185,107,72,.22)}.proposal-panel{border:1px solid hsla(22,64%,66%,.24);border-radius:24px;padding:.95rem;background:radial-gradient(circle at top right,rgba(255,210,142,.22),transparent 28%),rgba(255,251,246,.86);display:grid;grid-gap:.55rem;gap:.55rem;align-content:start}.proposal-panel-rich{min-width:0}.proposal-panel label{font-size:.86rem;color:var(--muted);font-weight:700}.proposal-badge{background:rgba(255,239,223,.78)}.manual-hint-chips{display:flex;flex-wrap:wrap;gap:.45rem}.manual-hint-chips button{background:rgba(255,248,241,.9);box-shadow:none;color:#915233}.ok{color:var(--success);font-weight:800}.error{color:var(--error)}.error,.note{font-weight:700}.note{color:#9c603b}.camera-modal-backdrop{position:fixed;inset:0;background:rgba(86,61,51,.45);display:grid;place-items:center;z-index:50;padding:1rem}.camera-modal{width:min(92vw,720px);background:var(--surface-strong);border:1px solid var(--border);border-radius:28px;padding:1rem;display:grid;grid-gap:.8rem;gap:.8rem;box-shadow:0 30px 60px rgba(110,70,44,.2)}.camera-video{width:100%;max-height:70vh;object-fit:cover;border-radius:18px;border:1px solid var(--border);background:#fff4ea}.recipe-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:.95rem;gap:.95rem}.recipe-card{border:1px solid hsla(22,64%,66%,.22);border-radius:24px;overflow:hidden;background:linear-gradient(180deg,hsla(0,0%,100%,.88),rgba(255,245,235,.92));display:grid;box-shadow:0 14px 28px hsla(24,46%,63%,.13)}.recipe-card-like{border-color:rgba(79,167,119,.38);box-shadow:0 14px 28px hsla(24,46%,63%,.13),inset 0 0 0 2px rgba(79,167,119,.08)}.recipe-card-dislike{border-color:rgba(212,95,111,.3);box-shadow:0 14px 28px hsla(24,46%,63%,.13),inset 0 0 0 2px rgba(212,95,111,.06)}.recipe-image{width:100%;height:190px;object-fit:cover;background:linear-gradient(180deg,#fff8f1,#ffe5cf)}.recipe-image-fallback{display:grid;place-items:center;color:#946c61;padding:1.4rem;text-align:center;background:radial-gradient(circle at 70% 18%,rgba(255,211,109,.32),transparent 24%),radial-gradient(circle at 24% 74%,rgba(124,201,166,.24),transparent 22%),linear-gradient(180deg,rgba(255,249,242,.98),rgba(255,236,220,.95))}.recipe-meta{display:grid;grid-gap:.5rem;gap:.5rem;padding:.95rem}.recipe-pagination{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pagination-ellipsis{color:var(--muted);padding:0 .2rem;font-weight:700}.pagination-button-active{background:linear-gradient(180deg,#f5a26f,#ea7c56);color:#fffaf5;border-color:rgba(210,102,65,.45)}.feedback-button-liked{background:linear-gradient(180deg,rgba(163,232,196,.95),rgba(125,202,166,.95));border-color:rgba(79,167,119,.4);color:#22563b}.feedback-button-disliked{background:linear-gradient(180deg,rgba(255,206,210,.94),rgba(245,165,174,.94));border-color:rgba(212,95,111,.34);color:#7c3141}.detail-shell{display:grid;grid-gap:1rem;gap:1rem}.detail-action-row,.detail-nav,.detail-tag-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.detail-hero{display:grid;grid-template-columns:1.2fr minmax(220px,320px);grid-gap:1rem;gap:1rem;align-items:start}.detail-hero-rich{padding:1rem;border-radius:30px;background:radial-gradient(circle at top right,rgba(255,214,154,.35),transparent 28%),linear-gradient(180deg,rgba(255,252,247,.98),rgba(255,243,231,.94));border:1px solid hsla(22,64%,66%,.18)}.detail-copy{display:grid;grid-gap:.8rem;gap:.8rem}.detail-hero-image-wrap{display:grid;align-items:stretch}.detail-image{width:100%;min-height:280px;max-height:420px;object-fit:cover;border-radius:28px;border:1px solid var(--border);background:linear-gradient(180deg,#fff8f1,#ffe5cf)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.detail-panel{gap:.9rem}.detail-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.detail-stat-strip,.favorite-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.7rem;gap:.7rem}.detail-note-card,.detail-stat-card,.detail-state,.favorite-hero{border-radius:24px;padding:.9rem 1rem;border:1px solid hsla(22,64%,66%,.18);background:rgba(255,250,244,.84)}.detail-stat-card strong{display:block;margin-top:.25rem;color:var(--text-strong);font-size:1rem}.detail-tag-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.38rem .72rem;background:rgba(255,239,223,.84);color:#8f583d;font-size:.8rem;font-weight:800}.detail-badge-favorite{background:rgba(163,232,196,.95);color:#22563b}.favorite-toggle-button{box-shadow:none;border:none;cursor:pointer}.detail-badge-dislike{background:rgba(255,206,210,.94);color:#7c3141}.detail-ingredient-list,.detail-nutrition-list{display:grid;grid-gap:.75rem;gap:.75rem}.detail-ingredient-item,.detail-nutrition-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .9rem;border-radius:20px;border:1px solid hsla(22,49%,68%,.18);background:rgba(255,253,249,.86)}.detail-nutrition-item strong,.detail-subsection h3{color:var(--text-strong)}.detail-subsection h3{font-size:1.1rem}.detail-state{display:grid;grid-gap:.45rem;gap:.45rem}.detail-state-error{background:rgba(255,242,243,.92);border-color:rgba(212,95,111,.18)}.detail-state-loading{background:rgba(255,248,241,.92)}.favorite-hero{display:grid;grid-gap:.75rem;gap:.75rem}.favorite-grid{margin-top:.5rem}.favorite-card{border-radius:28px}.favorite-filter-panel,.favorite-tag-editor-panel{display:grid;grid-gap:.7rem;gap:.7rem}.detail-tag-pill-button{border:1px solid hsla(22,64%,66%,.2);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.detail-tag-pill-button:hover{transform:translateY(-1px);background:rgba(255,230,205,.95);border-color:hsla(22,64%,66%,.35)}.detail-tag-pill-active{background:rgba(255,196,134,.96);color:#6a351f}.favorite-tag-editor{display:grid;grid-gap:.7rem;gap:.7rem}.favorite-tag-input-row{display:grid;grid-template-columns:1fr auto;grid-gap:.7rem;gap:.7rem;align-items:center}.cook-panel,.cook-preview-list{display:grid;grid-gap:.9rem;gap:.9rem}.cook-multiplier-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.cook-multiplier-row input{max-width:140px}.cook-preview-item{display:grid;grid-gap:.85rem;gap:.85rem;padding:.95rem;border-radius:22px;border:1px solid hsla(22,49%,68%,.18);background:rgba(255,253,249,.86)}.cook-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.cook-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.8rem;gap:.8rem}.cook-apply-toggle{display:flex;align-items:flex-start;gap:.65rem;color:var(--muted);font-size:.92rem;line-height:1.45}.cook-apply-toggle input{width:auto;margin-top:.15rem}@media (max-width:980px){.detail-grid,.detail-hero,.inventory-summary-row,.review-workspace{grid-template-columns:1fr}.detail-panel-heading,.hero-row,.section-heading{flex-direction:column;align-items:stretch}}@media (max-width:720px){.app-wrap{padding:1rem}.card{padding:.95rem;border-radius:24px}.title{font-size:clamp(2.3rem,10vw,3.3rem)}button,input,select{width:100%}.auth-row,.recipe-toolbar,.row-gap,.toolbar-wrap{flex-direction:column;align-items:stretch}.capture-overview-compact,.inventory-add-grid,.inventory-add-strip,.inventory-edit-grid,.inventory-item-metrics,.inventory-item-row{grid-template-columns:1fr}.capture-actions,.inventory-add-header{flex-direction:column}.favorite-tag-input-row,.recipe-grid{grid-template-columns:1fr}.cook-multiplier-row{flex-direction:column;align-items:stretch}}