/* Calm, mobile-first Fill My Kitchen setup. */
.kitchen-setup-page {
  background: linear-gradient(180deg,#f6f1e6 0,#f7faf7 36rem,#f7faf7 100%);
}
.kitchen-setup-main { width:min(920px,calc(100% - 28px)); max-width:none; padding-bottom:64px; }
.setup-back-link { text-decoration:none; }
.setup-hero {
  overflow:hidden;
  margin-bottom:18px;
  padding:clamp(24px,5vw,42px);
  border:1px solid rgba(53,95,73,.22);
  border-radius:28px;
  background:linear-gradient(145deg,#f2e7d5 0%,#e4efe8 70%,#f2ddd2 100%);
  box-shadow:0 16px 38px rgba(23,33,27,.09);
}
.setup-hero h1 { max-width:720px; margin:6px 0 10px; font-size:clamp(2.4rem,7vw,4.5rem); line-height:.98; letter-spacing:-.035em; }
.setup-hero .lede { max-width:720px; margin:0; color:#5f685f; }
.setup-steps { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:22px; }
.setup-steps span { display:flex; align-items:center; gap:6px; color:#4f6157; font-size:.78rem; font-weight:850; }
.setup-steps span:nth-child(even) { color:#97a49c; }
.setup-steps b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#355f49; color:#fff; font-size:.72rem; }
.setup-methods { gap:14px; }
.setup-method-card {
  position:relative;
  overflow:hidden;
  min-height:142px;
  padding:20px;
  border-color:#d5ded7;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(23,33,27,.08);
}
.setup-method-card::after { content:""; position:absolute; width:110px; height:110px; right:-42px; top:-50px; border-radius:50%; background:rgba(53,95,73,.08); }
.setup-method-card:nth-child(2)::after { background:rgba(211,166,76,.14); }
.setup-method-card:nth-child(3)::after { background:rgba(104,139,119,.12); }
.setup-method-card:nth-child(4)::after { background:rgba(192,105,74,.11); }
.setup-method-card:nth-child(5)::after { background:rgba(96,105,116,.1); }
.setup-method-card > * { position:relative; z-index:1; }
.setup-method-card strong { font-size:1.35rem; }
.setup-method-card small { max-width:290px; }
.setup-method-icon { width:52px; height:52px; border:1px solid #d7e0da; border-radius:15px; font-size:1.55rem; box-shadow:0 6px 16px rgba(23,33,27,.06); }
.setup-method-primary { border-color:#73967d; background:linear-gradient(145deg,#edf6ef,#f9fcf9); box-shadow:0 14px 32px rgba(53,95,73,.13); }
.setup-method-primary strong { color:#294a3a; }
.setup-review-promise { margin:18px 0 8px; padding:15px 17px; border-left:0; border:1px solid #e0ca94; border-radius:14px; background:#fffaf0; }
.setup-finish-actions .btn { min-height:50px; display:grid; place-items:center; }
.inventory-capture-dialog,
.pantry-import-dialog,
.manual-kitchen-dialog { border-radius:26px; }
.inventory-capture-form>header,
.pantry-import-form>header,
.manual-kitchen-form>header { padding-bottom:4px; }
.setup-dialog-steps,
.manual-progress-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.setup-dialog-steps span,
.setup-dialog-steps strong,
.manual-progress-strip span,
.manual-progress-strip strong { min-height:38px; display:grid; place-items:center; border-radius:10px; background:#edf2ee; color:#6b786f; font-size:.75rem; text-align:center; }
.setup-dialog-steps strong,
.manual-progress-strip strong { background:#355f49; color:#fff; }
.pantry-import-dialog[data-import-source="sample"] .pantry-csv-picker,
.pantry-import-dialog[data-import-source="csv"] .pantry-import-sources label:first-child { opacity:.55; }
.pantry-import-items { grid-template-columns:1fr; max-height:none; overflow:visible; border:0; padding:0; background:transparent; }
.pantry-import-item { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 11px; padding:11px; border:1px solid #bfd0c3; border-radius:13px; }
.pantry-import-item.unresolved { border-color:#e5c477; background:#fffaf0; }
.pantry-import-item .capture-item-fields { grid-column:2; }
.pantry-import-item .capture-item-note { grid-column:2; }

.manual-kitchen-dialog { width:min(760px,calc(100% - 24px)); max-height:92dvh; padding:0; border:0; overflow:auto; background:#fffdf8; box-shadow:0 24px 72px rgba(23,33,27,.24); }
.manual-kitchen-dialog::backdrop { background:rgba(24,35,29,.48); backdrop-filter:blur(2px); }
.manual-kitchen-form { display:grid; gap:14px; padding:22px; }
.manual-kitchen-form>header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; }
.manual-kitchen-form>header h2 { margin:4px 0 5px; font-size:1.6rem; }
.manual-kitchen-form>header p { margin:0; color:#667069; line-height:1.45; }
.manual-kitchen-progress { padding:11px 13px; border-radius:11px; background:#edf3ee; color:#294a3a; font-weight:800; }
.manual-kitchen-status,.manual-item-status { margin:0; padding:10px 12px; border-radius:11px; background:#eef4ef; color:#355f49; font-size:.83rem; line-height:1.4; }
.manual-kitchen-status.error,.manual-item-status.error { background:#f8e5df; color:#8d3e29; }
.manual-entry-card { display:grid; gap:12px; padding:16px; border:1px solid #c8d7cc; border-radius:17px; background:#fbfdfb; }
.manual-entry-card label { display:grid; gap:5px; color:#4c5b52; font-size:.8rem; font-weight:850; }
.manual-entry-card input,.manual-entry-card select { min-height:46px; width:100%; border:1px solid #bfcfc3; border-radius:10px; padding:9px 10px; background:#fff; color:#1f2922; font:inherit; }
.manual-name-field>span { color:#294a3a; font-size:1rem; }
.manual-name-field small { color:#6b746e; font-weight:600; }
.manual-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.manual-package-field { display:grid; grid-template-columns:minmax(0,1.35fr) .7fr .9fr; gap:10px; align-items:end; padding:11px; border:1px solid #e1cf9e; border-radius:12px; background:#fffaf0; }
.manual-package-field p { margin:0; align-self:center; }
.manual-package-field p strong,.manual-package-field p small { display:block; }
.manual-package-field p small { margin-top:2px; color:#756b55; font-size:.72rem; }
.manual-stage-button { justify-self:start; min-height:46px; }
.manual-review { display:grid; gap:9px; padding:14px; border:1px solid #dcc88f; border-radius:15px; background:#fffaf0; }
.manual-review-heading { display:flex; justify-content:space-between; gap:10px; align-items:end; }
.manual-review-heading p { margin:2px 0 0; color:#6a655b; font-size:.8rem; }
.manual-review-heading>span { color:#6a655b; font-size:.75rem; font-weight:750; }
.manual-review-items { display:grid; gap:7px; }
.manual-review-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:center; padding:10px 11px; border:1px solid #e4d8b7; border-radius:11px; background:#fff; }
.manual-review-item strong,.manual-review-item small { display:block; }
.manual-review-item small { margin-top:2px; color:#6a655b; font-size:.72rem; }
.manual-review-item button { min-height:38px; border:1px solid #d3c5a2; border-radius:9px; background:#fffaf0; color:#795a23; padding:7px 10px; font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }
.manual-kitchen-form>footer { display:flex; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.manual-kitchen-form>footer .btn { min-height:48px; }

@media(max-width:760px){
  .kitchen-setup-main { width:min(100% - 18px,920px); padding-top:12px; }
  .setup-back-link { margin:0 3px 10px; }
  .setup-hero { margin-bottom:12px; padding:22px 17px; border-radius:22px; }
  .setup-hero h1 { font-size:clamp(2.15rem,11vw,3.3rem); }
  .setup-steps { display:grid; grid-template-columns:1fr; margin-top:17px; }
  .setup-steps span:nth-child(even) { display:none; }
  .setup-methods { grid-template-columns:1fr; gap:10px; }
  .setup-method-card { min-height:104px; padding:15px; border-radius:18px; }
  .setup-method-card strong { font-size:1.18rem; }
  .setup-method-icon { width:46px; height:46px; }
  .setup-review-promise { font-size:.88rem; line-height:1.45; }
  .inventory-capture-dialog,
  .pantry-import-dialog,
  .manual-kitchen-dialog { width:100%; max-width:none; max-height:96dvh; margin:auto 0 0; border-radius:22px 22px 0 0; }
  .manual-kitchen-form { padding:17px 14px calc(17px + env(safe-area-inset-bottom)); }
  .manual-progress-strip { grid-template-columns:1fr; }
  .manual-progress-strip span,.manual-progress-strip strong { min-height:32px; }
  .manual-entry-grid { grid-template-columns:1fr 1fr; }
  .manual-package-field { grid-template-columns:1fr 1fr; }
  .manual-package-field p { grid-column:1/-1; }
  .manual-kitchen-form>footer { position:sticky; bottom:0; margin:0 -14px -17px; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,253,248,.96); border-top:1px solid #e1e5df; backdrop-filter:blur(8px); }
  .manual-kitchen-form>footer .btn { flex:1 1 140px; }
  .capture-item-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .capture-item-fields .capture-name { grid-column:1/-1; }
}

@media(max-width:420px){
  .manual-entry-grid { grid-template-columns:1fr; }
  .manual-review-heading { display:block; }
  .manual-review-heading>span { display:block; margin-top:4px; }
}
