:root {
  color-scheme: light;
  --bg: #FAF6F2;
  --card: #FFFDF9;
  --border: #EFE6DC;
  --border-strong: #DECDBC;
  --text: #3D2518;
  --muted: #7a6e66;
  --brand: #8B5E3C;
  --brand-dark: #3A2418;
  --brand-soft: #FAF6F2;
  --success: #2F6F4F;
  --success-soft: #EDF3EC;
  --info-soft: #E8EEF3;
  --danger-soft: #FDECEE;
  --shadow: 0 6px 22px rgba(61, 37, 24, 0.06);
  --focus: 0 0 0 3px rgba(139, 94, 60, 0.22);
  --ipc-ink: #3D2518;
  --ipc-muted: #7a6e66;
  --ipc-green: #8B5E3C;
  --ipc-green-dark: #3A2418;
  --ipc-mint: #FAF6F2;
  --ipc-cream: #FFFDF9;
  --ipc-line: #EFE6DC;
  --ipc-warm: #FFF4E7;
  --ipc-danger: #a33b2e;
  --ipc-white: #fff;
  --ipc-shadow: 0 6px 22px rgba(61, 37, 24, .06);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ipc-page {
  margin: 0;
  min-width: 280px;
  padding-right: env(safe-area-inset-right, 0px);
  padding-left: env(safe-area-inset-left, 0px);
  background: #FAF6F2;
  color: var(--ipc-ink);
  font-family: Montserrat, "Open Sans", Inter, ui-sans-serif, system-ui, sans-serif;
  line-height: 1.55;
}
/* Match the signup page's deliberately faint, right-side photo treatment. */
body.ipc-page::before {
  content: '';
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  background-image: url('/images/morning_delivery_kithcen.jpeg');
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  opacity: .06;
  pointer-events: none;
  z-index: 0;
}
.ipc-header, .ipc-main, .ipc-footer { position: relative; z-index: 1; }
.ipc-page [hidden] { display: none !important; }

button, input { font: inherit; }
a { color: var(--ipc-green-dark); }
.ipc-skip { position: fixed; z-index: 50; top: .5rem; left: .5rem; transform: translateY(-160%); background: var(--ipc-ink); color: white; padding: .7rem 1rem; border-radius: .5rem; }
.ipc-skip:focus { transform: none; }
.ipc-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.ipc-header { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: max(1.1rem, calc(env(safe-area-inset-top, 0px) + .65rem)) 0 1.1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ipc-brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--ipc-ink); font-weight: 800; font-size: 1.08rem; }
.ipc-brand img { border-radius: 12px; object-fit: contain; }
.ipc-header-account { display: flex; align-items: center; justify-content: flex-end; gap: .65rem 1rem; }
.ipc-header-note { margin: 0; color: var(--ipc-muted); font-size: .9rem; }
.ipc-account-nav { display: flex; align-items: center; gap: .45rem; }
.ipc-account-nav a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .4rem .75rem; border: 1px solid #D4C4B0; border-radius: 999px; background: #FFFDF9; color: #5A4A42; font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.ipc-main { width: min(920px, calc(100% - 2rem)); margin: 0 auto 5rem; }
.ipc-hero { text-align: center; padding: clamp(2.4rem, 7vw, 5rem) 0 2.4rem; }
.ipc-eyebrow, .ipc-step { margin: 0 0 .55rem; color: #8B5E3C; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ipc-hero h1 { max-width: 780px; margin: 0 auto; font-family: Montserrat, "Open Sans", sans-serif; font-size: clamp(1.7rem, 4vw, 2.4rem); line-height: 1.15; letter-spacing: 0; }
.ipc-lede { max-width: 680px; margin: 1.3rem auto 0; color: var(--ipc-muted); font-size: clamp(1rem, 2vw, 1.18rem); }
.ipc-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem 1.4rem; margin: 1.5rem 0 0; padding: 0; list-style: none; color: var(--ipc-green-dark); font-size: .9rem; font-weight: 700; }
.ipc-trust li::before { content: "\2713"; margin-right: .35rem; }

.ipc-card { margin: 1.2rem 0; padding: clamp(1.15rem, 3vw, 2rem); border: 1px solid var(--ipc-line); border-radius: 16px; background: #FFFDF9; box-shadow: var(--ipc-shadow); }
.ipc-section-heading, .ipc-subheading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.ipc-card h2, .ipc-card h3 { margin: 0; line-height: 1.2; font-family: Montserrat, sans-serif; }
.ipc-card h2 { font-size: 1.05rem; }
.ipc-card h3 { font-size: .92rem; }
.ipc-device-note, .ipc-card > p, .ipc-progress-copy p { color: var(--ipc-muted); }
.ipc-device-note { padding: .8rem 1rem; border-radius: 12px; background: #F6F1EB; font-size: .88rem; }
.ipc-badge { display: inline-flex; align-items: center; min-height: 26px; padding: .18rem .55rem; border-radius: 999px; background: #F2ECE5; color: #5A4A42; font-size: .66rem; font-weight: 700; white-space: nowrap; }
.ipc-badge-progress { background: #FDF3E3; color: #8a5a00; }
.ipc-badge-success { background: #F2ECE5; color: #5A4A42; }

.ipc-fieldset { margin: 0; padding: 0; border: 0; }
.ipc-drop-zone { padding: 2rem 1.25rem; border: 2px dashed #D4C4B0; border-radius: 12px; background: #FFFDF9; text-align: center; transition: all .25s ease; }
.ipc-drop-zone.is-dragging, .ipc-drop-zone:hover { border-color: #8B5E3C; background: #FFF8F0; }
.ipc-drop-zone.has-files { border-style: solid; border-color: #D5B08C; background: #FFFCF7; padding: 1.25rem 1rem; }
.ipc-drop-zone.has-files .ipc-upload-icon { background: #FFF4E7; color: #8B5E3C; }
.ipc-drop-zone.has-files .ipc-upload-title { color: #3D2518; }
.ipc-drop-zone[aria-disabled="true"] { border-style: solid; background: #F6F1EB; cursor: not-allowed; }
.ipc-drop-zone p { margin: .35rem 0; }
.ipc-upload-title { color: var(--text); margin: 0 0 .45rem; font-size: 1rem; font-family: Montserrat, "Open Sans", sans-serif; font-weight: 700; }
.ipc-upload-subtitle { color: var(--muted); margin: 0 0 1rem; font-size: .9rem; }
.ipc-upload-icon { display: inline-flex; justify-content: center; align-items: center; width: 3.2rem; height: 3.2rem; margin: 0 auto .85rem; border-radius: 999px; background: #FAF6F2; color: #8B5E3C; }
.ipc-picker-actions, .ipc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.ipc-picker-actions { justify-content: center; margin: 1rem 0 .7rem; }
.ipc-take-photo { display: none; }
@media (pointer: coarse) { .ipc-take-photo { display: inline-flex; } }
.ipc-paste-notice { width: min(100%, 620px); margin: .35rem auto .15rem; padding: .55rem .75rem; border-radius: 10px; background: var(--info-soft); color: var(--brand-dark); font-size: .86rem; font-weight: 600; text-align: left; }
.ipc-paste-notice-success { background: var(--success-soft); color: var(--success); }
.ipc-paste-notice-error { background: var(--danger-soft); color: var(--ipc-danger); }
.ipc-paste-panel { width: min(100%, 620px); margin: .75rem auto 0; text-align: left; }
.ipc-paste-panel summary { min-height: 44px; display: flex; align-items: center; justify-content: center; color: var(--brand-dark); font-weight: 800; cursor: pointer; border-radius: 10px; }
.ipc-paste-panel summary:focus-visible { outline: none; box-shadow: var(--focus); }
.ipc-paste-fields { display: grid; gap: .65rem; padding: .8rem 0 .2rem; }
.ipc-paste-fields label { font-weight: 750; color: var(--ipc-ink); }
.ipc-paste-fields textarea { width: 100%; resize: vertical; min-height: 9rem; padding: .8rem; border: 1px solid #D4C4B0; border-radius: 10px; background: #fff; color: var(--ipc-ink); font: inherit; line-height: 1.45; }
.ipc-paste-fields textarea:focus-visible { outline: none; box-shadow: var(--focus); }
.ipc-paste-fields .ipc-button { justify-self: start; }
.ipc-actions { margin-top: 1.1rem; }
.ipc-adoption { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--ipc-line); }
.ipc-adoption h3 { margin: .2rem 0 .45rem; }
.ipc-adoption p { max-width: 66ch; }
.ipc-button { min-height: 44px; padding: .5rem .9rem; border: 2px solid transparent; border-radius: 999px; cursor: pointer; font-weight: 700; font-size: .8rem; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; }
.ipc-button-primary { background: #3A2418; border-color: #5A3A28; color: white; }
.ipc-button-primary:hover { filter: brightness(1.08); }
.ipc-button-secondary, .ipc-button-outline { border-color: #C8B5A0; background: transparent; color: #5A4A42; }
.ipc-button-secondary:hover, .ipc-button-outline:hover { background: #FFF8F0; }
.ipc-button-quiet { border-color: #D4C4B0; background: #FAF6F2; color: #5A4A42; }
.ipc-button[disabled] { cursor: wait; opacity: .62; }
.ipc-recovery-button { margin: 0 0 1rem; }
.ipc-verification { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); align-items: center; gap: 1rem 1.5rem; }
.ipc-verification[hidden] { display: none; }
.ipc-verification p { margin: .45rem 0 0; }
.ipc-verification-widget { width: 100%; min-height: 65px; overflow: hidden; }
.ipc-verification-status { grid-column: 1 / -1; margin: 0; color: var(--ipc-muted); font-size: .9rem; }
.ipc-button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid #8B5E3C; outline-offset: 2px; box-shadow: var(--focus); }
label[for="invoice-files"]:has(+ #invoice-files:focus-visible),
label[for="invoice-camera"]:has(+ #invoice-camera:focus-visible) { outline: none; box-shadow: var(--focus); }
.ipc-help { color: var(--ipc-muted); font-size: .8rem; }

.ipc-subheading { margin: 1.5rem 0 .7rem; align-items: baseline; }
.ipc-subheading p { margin: 0; color: var(--ipc-muted); font-size: .85rem; }
.ipc-file-list, .ipc-item-preview, .ipc-report-list, .ipc-stage-list, .ipc-event-list { margin: 0; padding: 0; list-style: none; }
.ipc-file-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: .85rem 0; border-top: 1px solid var(--ipc-line); }
.ipc-preview { width: 72px; height: 72px; border-radius: 10px; background: #FAF6F2; object-fit: cover; display: grid; place-items: center; color: var(--ipc-muted); font-weight: 800; font-size: .72rem; }
.ipc-file-name { margin: 0; overflow-wrap: anywhere; font-weight: 800; }
.ipc-file-meta, .ipc-file-status { margin: .15rem 0 0; color: var(--ipc-muted); font-size: .82rem; }
.ipc-file-error { color: var(--ipc-danger); }
.ipc-file-actions { display: flex; flex-direction: column; gap: .3rem; }
.ipc-file-actions .ipc-button { min-height: 44px; padding: .35rem .65rem; font-size: .8rem; }

.ipc-progress-copy { margin-top: 1.35rem; }
.ipc-progress-wrap { display: flex; align-items: center; gap: .8rem; margin: 1rem 0; }
.ipc-progress-wrap progress { width: 100%; height: 10px; border: 0; border-radius: 999px; overflow: hidden; accent-color: var(--ipc-green); }
.ipc-progress-wrap span { min-width: 76px; text-align: right; color: var(--ipc-muted); font-size: .8rem; }
.ipc-stage-list { display: grid; gap: .45rem; }
.ipc-stage-row { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: .65rem; align-items: center; padding: .55rem .1rem; }
.ipc-stage-marker { width: 12px; height: 12px; border: 2px solid #C8B5A0; border-radius: 50%; }
.ipc-stage-row[data-state="completed"] .ipc-stage-marker, .ipc-stage-row[data-state="not_applicable"] .ipc-stage-marker { border-color: #8B5E3C; background: #8B5E3C; }
.ipc-stage-row[data-state="running"] .ipc-stage-marker, .ipc-stage-row[data-state="waiting"] .ipc-stage-marker { border-color: #cf7b27; background: #f6d7b0; }
.ipc-stage-state { color: var(--ipc-muted); font-size: .78rem; }
.ipc-event-list { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--ipc-line); color: var(--ipc-muted); font-size: .82rem; }
.ipc-event-list li { margin: .3rem 0; }
.ipc-event-list li::before { content: "\2022"; margin-right: .5rem; color: var(--ipc-green); }
.ipc-trivia { margin-top: 1.5rem; padding: 1.2rem; border-radius: 16px; background: #fff8ed; border: 1px solid #eddabd; }
.ipc-trivia-subject { margin: .65rem 0 .15rem; color: #795225; font-weight: 800; }
.ipc-trivia #trivia-fact { margin-top: .3rem; }

.ipc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 1rem 0; }
.ipc-form-grid label, .ipc-inline-form label { color: var(--ipc-ink); font-size: .84rem; font-weight: 800; }
.ipc-form-grid input, .ipc-inline-form input { width: 100%; min-height: 44px; margin-top: .28rem; padding: .6rem .7rem; border: 1px solid #D4C4B0; border-radius: 9px; color: var(--ipc-ink); background: white; }
.ipc-inline-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: end; gap: .7rem; margin-top: 1rem; }
.ipc-inline-form label { grid-column: 1; }
.ipc-inline-form input { grid-column: 1; }
.ipc-inline-form button { grid-column: 2; grid-row: 2; }

.ipc-clarification-chat {
  position: fixed;
  z-index: 40;
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  width: min(520px, calc(100% - 2rem));
  padding: 1.15rem;
  border: 1px solid #DECDBC;
  border-radius: 16px;
  background: #FFFDF9;
  box-shadow: 0 24px 64px rgba(62, 39, 35, .22);
}
body.ipc-processing-modal-open .ipc-clarification-chat { z-index: 100010; }
.ipc-chat-heading { display: flex; align-items: center; gap: .8rem; }
.ipc-chat-heading .ipc-step { margin-bottom: .18rem; }
.ipc-chat-heading h2 { margin: 0; font-size: 1rem; }
.ipc-chat-avatar { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border-radius: 14px; background: #3A2418; color: white; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.ipc-chat-message { position: relative; margin: .9rem 0 .75rem 3.2rem; padding: .8rem .9rem; border-radius: 4px 14px 14px 14px; background: #FAF6F2; color: var(--ipc-ink); }
.ipc-chat-message p { margin: 0; }
.ipc-chat-form label { display: block; margin-bottom: .3rem; color: var(--ipc-ink); font-size: .82rem; font-weight: 800; }
.ipc-chat-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.ipc-chat-input-row input { width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid #D4C4B0; border-radius: 11px; color: var(--ipc-ink); background: white; }
.ipc-clarification-chat > .ipc-help { margin: .55rem 0 0; }
.ipc-chat-error { margin: .55rem 0 0; color: var(--ipc-danger); font-size: .84rem; font-weight: 750; }

.ipc-item-preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.ipc-item-preview li { padding: .9rem; border: 1px solid var(--ipc-line); border-radius: 12px; }
.ipc-item-preview strong { display: block; }
.ipc-item-preview span { display: block; margin-top: .25rem; color: var(--ipc-muted); font-size: .82rem; }
.ipc-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: 1.25rem 0; }
.ipc-summary-grid div { padding: .7rem .8rem; border-radius: 10px; background: #FAF6F2; border: 1px solid #EFE6DC; }
.ipc-summary-grid span, .ipc-summary-grid strong { display: block; }
.ipc-summary-grid span { color: var(--ipc-muted); font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ipc-summary-grid strong { margin-top: .2rem; font-size: .92rem; }
.ipc-caveat { font-size: .84rem; }
.ipc-generation-note { padding: .8rem 1rem; border-left: 4px solid #8b5b1f; border-radius: 8px; background: #fff8ed; color: #624016 !important; font-weight: 750; }
.ipc-source-coverage { padding: .8rem 1rem; border-radius: 12px; background: #f5f0ea; color: #51463e !important; font-size: .84rem; }
.ipc-empty { padding: 1rem; border-radius: 12px; background: #FAF6F2; color: var(--ipc-muted); }
.ipc-report-row { margin-top: 0; overflow: hidden; border: 1px solid #EFE6DC; border-radius: 10px; background: #fff; }
.ipc-report-row h3 { overflow-wrap: anywhere; font-size: .88rem; font-weight: 600; line-height: 1.3; }
.ipc-review-item-head {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.25fr) 7.25rem 18px;
  gap: .5rem .9rem;
  align-items: baseline;
  padding: .55rem .7rem;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.ipc-review-item-head h3 { margin: 0; }
.ipc-review-pill { display: inline-flex; align-items: center; min-height: 22px; padding: .1rem .45rem; border-radius: 999px; background: #F2ECE5; color: #5A4A42; font-size: .66rem; font-weight: 700; white-space: nowrap; }
.ipc-review-pill-warn { background: #FDF3E3; color: #8a5a00; }
.ipc-review-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .3rem .8rem; margin: .4rem .55rem; padding: .45rem .55rem; border: 1px solid #EFE6DC; border-radius: 8px; background: #fff; }
.ipc-review-option-current { background: #FAF6F2; border-color: #C8B5A0; }
.ipc-review-option-related { border-style: dashed; background: #FFFCF7; }
.ipc-review-option-title { overflow-wrap: anywhere; }
.ipc-review-price { align-self: center; font-size: .88rem; font-weight: 700; color: #3D2518; font-variant-numeric: tabular-nums; }
.ipc-offer { margin-top: .4rem; }
.ipc-offer-featured { border-color: #C8B5A0; background: #FAF6F2; }
.ipc-offer-basis { margin: 0 0 .35rem; color: var(--ipc-muted); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ipc-review-option > .ipc-offer-basis, .ipc-review-option > .ipc-offer-title, .ipc-review-option > .ipc-offer-grid, .ipc-review-option > .ipc-offer-caveat { grid-column: 1 / -1; }
.ipc-offer-title { display: flex; justify-content: space-between; gap: 1rem; }
.ipc-offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem .9rem; margin: .45rem 0; }
.ipc-offer-grid dt { color: var(--ipc-muted); font-size: .66rem; }
.ipc-offer-grid dd { margin: .1rem 0 0; font-weight: 700; font-size: .78rem; }
.ipc-offer-caveat { margin-bottom: 0; color: var(--ipc-muted); font-size: .74rem; }
.ipc-no-offer { margin: .4rem .55rem .55rem; padding: .55rem .65rem; border-radius: 8px; background: #F7F4F0; color: var(--ipc-muted); font-size: .78rem; }
.ipc-unmatched-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .9rem; margin: 0 0 .45rem; }
.ipc-unmatched-facts dt { color: var(--ipc-muted); font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ipc-unmatched-facts dd { margin: .1rem 0 0; color: var(--ipc-ink); font-weight: 700; font-size: .82rem; overflow-wrap: anywhere; }
.ipc-no-offer-copy { margin: 0; color: var(--ipc-ink); font-size: .82rem; font-weight: 650; }
.ipc-source { white-space: nowrap; font-weight: 700; color: #8B5E3C; }
.ipc-delivery-status { color: #5A4A42; font-weight: 700; }
.ipc-planner-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
  gap: .65rem;
  align-items: stretch;
  padding: .75rem .9rem;
}
.ipc-planner-col {
  min-width: 0;
  padding: .7rem;
  border: 1px solid #E6D9CB;
  border-radius: 12px;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.ipc-planner-col-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .55rem;
  margin: 0 0 .58rem;
  padding: 0;
  background: transparent;
  border: 0;
}
.ipc-planner-vendor { margin: 0 .35rem 0 0; font-size: .88rem; font-weight: 700; }
.ipc-planner-col-total { margin-left: auto; font-weight: 800; font-variant-numeric: tabular-nums; color: #3D2518; font-size: .88rem; }
.ipc-planner-col-items { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.ipc-planner-col .ipc-report-row { margin-top: 0; }
.ipc-planner-item-moved { border-left: 3px solid #8B5E3C; }
.ipc-planner-item.is-open { border-color: #C8B5A0; }
.ipc-planner-row-name { min-width: 0; }
.ipc-planner-row-pack { font-size: .74rem; color: #7a6e66; line-height: 1.35; min-width: 0; }
.ipc-planner-row-pack small { display: block; color: #8b7b73; font-size: .7rem; }
.ipc-planner-row-cost { text-align: right; }
.ipc-planner-row-cost .ipc-review-price { display: block; font-size: .88rem; line-height: 1.3; }
.ipc-planner-badges, .ipc-planner-also, .ipc-planner-pills { display: flex; flex-wrap: wrap; gap: .25rem; align-items: center; }
.ipc-planner-badges { margin: .22rem 0 0; }
.ipc-planner-also { margin: .24rem 0 0; color: var(--ipc-muted); font-size: .74rem; }
.ipc-planner-from { margin: 0; color: var(--ipc-muted); font-size: .7rem; padding: 0 .7rem .35rem; }
.ipc-planner-also-label { font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8b7b73; }
.ipc-planner-pill-low { background: #E8EEF3; color: #40606f; }
.ipc-planner-pill-stay { background: #EDF3EC; color: #2F6F4F; }
.ipc-planner-pill-size { background: #FDF3E3; color: #8a5a00; }
.ipc-planner-explain { margin: 0; padding: .35rem .7rem .5rem; color: #5A4A42; font-size: .74rem; line-height: 1.45; }
.ipc-planner-hypo { margin: .15rem 0 .35rem; color: var(--ipc-muted); font-size: .74rem; }
.ipc-planner-source { display: block; margin: .15rem 0 0; font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8b7b73; }
.ipc-col-caption { margin: .2rem 0 .45rem; color: var(--ipc-muted); font-size: .68rem; }
.ipc-planner-moved {
  margin: 0;
  padding: .3rem .7rem;
  background: #FFFAF3;
  color: #7A4925;
  font-size: .7rem;
  font-weight: 600;
  border-top: 1px solid #F6E9DA;
}
.ipc-planner-chevron { color: #C8B5A0; font-size: .8rem; justify-self: end; display: inline-block; transition: transform 140ms ease; }
.ipc-planner-item.is-open .ipc-planner-chevron { transform: rotate(90deg); }
.ipc-planner-item-detail { border-top: 1px solid #F2EBE5; padding: .15rem 0 .2rem; }
.ipc-planner-search-note { margin: .6rem 0 0; background: #FFF8E6; border: 1px solid #F0E0B0; border-radius: 8px; color: #8a6d1a; font-size: .82rem; padding: .55rem .7rem; }
.ipc-planner-scenario h2 { margin: 0; font-size: .88rem; }
.ipc-planner-pills { margin: .45rem 0 .2rem; }
.ipc-planner-totals { display: grid; gap: .12rem; margin: .45rem 0 0; }
.ipc-planner-totals div { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; font-size: .8rem; padding: .12rem 0; }
.ipc-planner-totals dt { color: var(--ipc-muted); font-size: .76rem; }
.ipc-planner-totals dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.ipc-planner-strong { color: var(--ipc-ink); font-weight: 800; }
.ipc-planner-save { color: #2F6F4F; }
.ipc-planner-warn { color: #A35C2E; }
.ipc-planner-compare { margin-top: .55rem; padding-top: .5rem; border-top: 1px solid #E4D9CD; }
#planner-toggle-view { width: 100%; margin-top: .55rem; }
.ipc-planner-pricing { margin-top: .55rem; padding-top: .5rem; border-top: 1px solid #E4D9CD; }
.ipc-planner-pricing p:last-child { margin: .25rem 0 0; color: var(--ipc-muted); font-size: .72rem; line-height: 1.45; }
.ipc-result-section { margin: .9rem; padding: .9rem; border: 1px solid #E6D9CB; border-radius: 12px; background: #fff; }
.ipc-result-section > h3 { margin: 0; font-size: 1rem; }
.ipc-result-section > p:not(.ipc-step) { margin: .35rem 0 .75rem; color: var(--ipc-muted); font-size: .8rem; }
.ipc-report-tabs { display: flex; gap: .25rem; margin: .9rem .9rem 0; padding: .25rem; border: 1px solid #DECDBC; border-radius: 11px; background: #F7F4F0; }
.ipc-report-tab { flex: 1 1 0; min-height: 42px; padding: .55rem .75rem; border: 0; border-radius: 8px; background: transparent; color: #6B5A50; font: inherit; font-size: .78rem; font-weight: 750; cursor: pointer; }
.ipc-report-tab[aria-selected="true"] { background: #fff; color: var(--ipc-ink); box-shadow: 0 1px 5px rgba(75, 55, 40, .12); }
.ipc-report-tab:focus-visible { outline: 3px solid #2F6F4F; outline-offset: 2px; }
.ipc-locked-results { background: #FFFCF7; border-color: #DECDBC; }
.ipc-locked-price-list, .ipc-item-comparison-list, .ipc-name-list, .ipc-other-option-list {
  margin: 0; padding: 0; list-style: none;
}
.ipc-locked-price-list { display: grid; gap: .55rem; }
.ipc-locked-price-item { padding: .75rem; border: 1px solid #EFE6DC; border-radius: 10px; background: #fff; }
.ipc-locked-price-item h4 { margin: 0 0 .5rem; font-size: .9rem; line-height: 1.3; overflow-wrap: break-word; }
.ipc-locked-price-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem .9rem; margin: 0; }
.ipc-locked-price-facts dt, .ipc-option-facts dt { color: var(--ipc-muted); font-size: .64rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.ipc-locked-price-facts dd, .ipc-option-facts dd { margin: .12rem 0 0; font-size: .8rem; font-weight: 750; }
.ipc-locked-savings { margin: .55rem 0 0; color: var(--success); font-size: .78rem; font-weight: 750; }
.ipc-item-comparison-list { display: grid; gap: .75rem; margin-top: .8rem; }
.ipc-comparison-item { overflow: hidden; border: 1px solid #DECDBC; border-radius: 12px; background: #fff; }
.ipc-comparison-item.ipc-deep-linked-item { border-color: #8B6135; box-shadow: 0 0 0 3px rgba(139, 97, 53, .18); }
.ipc-comparison-item:focus-visible { outline: 3px solid #8B6135; outline-offset: 3px; }
.ipc-comparison-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; padding: .8rem .85rem; background: #FAF6F2; border-bottom: 1px solid #EFE6DC; }
.ipc-comparison-name { min-width: 0; }
.ipc-comparison-name h3, .ipc-comparison-item-head h3, .ipc-option-name {
  overflow: hidden;
  overflow-wrap: break-word;
  word-break: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.ipc-comparison-name h3 { margin: 0; font-size: .98rem; line-height: 1.3; }
.ipc-comparison-item-head > h3 { min-width: 0; margin: 0; font-size: .98rem; line-height: 1.3; }
.ipc-comparison-source { display: block; margin-top: .2rem; color: var(--ipc-muted); font-size: .66rem; }
.ipc-comparison-savings { flex: 0 0 min(42%, 15rem); color: var(--success); font-size: .82rem; line-height: 1.4; text-align: right; }
.ipc-option-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; padding: .75rem; }
.ipc-option-summary { min-width: 0; padding: .75rem; border: 1px solid #EFE6DC; border-radius: 10px; background: #fff; }
.ipc-option-current { background: #FFFCF7; }
.ipc-option-lower { border-color: #BFD4C4; background: #F7FBF7; }
.ipc-option-vendor, .ipc-option-name { display: block; }
.ipc-option-vendor { font-size: .86rem; }
.ipc-option-name { min-height: 2.6em; margin-top: .16rem; color: var(--ipc-muted); font-size: .75rem; line-height: 1.3; }
.ipc-product-link { color: #765036; font-weight: 750; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; white-space: normal; }
.ipc-product-link:hover { color: #4F3424; }
.ipc-product-link:focus-visible { outline: 3px solid #2F6F4F; outline-offset: 2px; border-radius: 3px; }
.ipc-option-facts { display: grid; gap: .45rem; margin: .65rem 0 0; }
.ipc-option-summary > .ipc-source { display: inline-block; margin-top: .55rem; font-size: .72rem; }
.ipc-current-quantity-copy { margin: 0 .75rem .7rem; padding: .65rem .75rem; border-radius: 9px; background: #EDF3EC; color: #2F6F4F; font-size: .8rem; font-weight: 700; }
.ipc-comparison-notes, .ipc-other-options, .ipc-report-method { margin: 0 .75rem .75rem; padding-top: .55rem; border-top: 1px solid #EFE6DC; }
.ipc-comparison-notes summary, .ipc-other-options summary, .ipc-report-method summary { min-height: 36px; color: #5A4A42; font-size: .76rem; font-weight: 750; cursor: pointer; }
.ipc-comparison-notes p { margin: .35rem 0; color: var(--ipc-muted); font-size: .72rem; }
.ipc-other-option-list { display: grid; gap: .45rem; padding-bottom: .35rem; }
.ipc-other-option { padding: .55rem .65rem; border: 1px solid #EFE6DC; border-radius: 8px; background: #FFFCF7; }
.ipc-other-option-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; }
.ipc-other-option-head .ipc-option-name { min-height: 0; margin: 0; color: var(--ipc-ink); font-size: .76rem; }
.ipc-other-option-supplier, .ipc-other-option-price { display: block; margin-top: .2rem; color: var(--ipc-muted); font-size: .7rem; }
.ipc-no-lower-results { background: #F7F4F0; }
.ipc-compare-unmatched { margin-top: .8rem; padding: .8rem; border: 1px solid #E6D9CB; border-radius: 10px; }
.ipc-compare-unmatched h3 { margin: 0; font-size: .9rem; }
.ipc-no-lower-group + .ipc-no-lower-group { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #E6D9CB; }
.ipc-no-lower-group p { margin: 0 0 .45rem; color: var(--ipc-ink); font-size: .8rem; font-weight: 700; }
.ipc-name-list { display: flex; flex-wrap: wrap; gap: .35rem; }
.ipc-name-list li { padding: .25rem .5rem; border-radius: 999px; background: #fff; color: #5A4A42; font-size: .72rem; }
.ipc-compare-prices-panel { margin-top: .6rem; }
.ipc-compare-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr); gap: .65rem; padding: .75rem; }
.ipc-compare-current { align-self: stretch; background: #FFF8E8; box-shadow: inset 4px 0 #B7791F; }
.ipc-compare-found { display: grid; gap: .55rem; }
.ipc-compare-option { position: relative; }
.ipc-compare-option-uploaded { background: #FFF8E8; box-shadow: inset 4px 0 #B7791F; }
.ipc-compare-option-public { box-shadow: inset 4px 0 #4F7297; }
.ipc-compare-option-number { position: absolute; top: .55rem; right: .6rem; display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 999px; background: #E9E1D7; color: #4C3D35; font-size: .7rem; font-weight: 850; }
.ipc-compare-source { margin: .55rem 0 0; color: #65574F; font-size: .72rem; line-height: 1.45; }
.ipc-compare-option-lower { border-color: #AFCBB7; background: #F3FAF4; }
.ipc-compare-option-higher { border-color: #D8B4AE; background: #FFF7F5; }
.ipc-compare-option-same, .ipc-compare-option-unknown { background: #F8F6F3; }
.ipc-compare-option-uploaded.ipc-compare-option-lower,
.ipc-compare-option-uploaded.ipc-compare-option-higher,
.ipc-compare-option-uploaded.ipc-compare-option-same,
.ipc-compare-option-uploaded.ipc-compare-option-unknown { background: #FFF8E8; }
.ipc-compare-difference { margin: .6rem 0 0; padding: .42rem .55rem; border-radius: 7px; font-size: .75rem; font-weight: 800; }
.ipc-compare-option-lower .ipc-compare-difference { background: #E4F0E5; color: #22593D; }
.ipc-compare-option-higher .ipc-compare-difference { background: #F5E3E0; color: #8D3028; }
.ipc-compare-option-same .ipc-compare-difference, .ipc-compare-option-unknown .ipc-compare-difference { background: #ECE8E3; color: #5A4A42; }
.ipc-report-method { margin: .75rem .9rem .9rem; }
.ipc-report-method .ipc-source-coverage { margin: .4rem 0; }
.ipc-report-method p { color: var(--ipc-muted); font-size: .76rem; }
.ipc-review-workspace { margin-top: .5rem; }
.ipc-review-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .5rem;
  padding: 1rem 1.1rem .5rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.ipc-review-header h1 { margin: 0; font-size: 1.35rem; font-weight: 700; line-height: 1.25; letter-spacing: 0; font-family: Montserrat, sans-serif; }
.ipc-review-header p:last-child { max-width: 56ch; margin: .25rem 0 0; color: #7a6e66; font-size: .85rem; line-height: 1.5; }
.ipc-review-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 320px); gap: .9rem; align-items: start; }
.ipc-review-results { min-width: 0; }
.ipc-review-results > .ipc-card {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  background: #FFFDF9;
  border: 1px solid #DECDBC;
  box-shadow: 0 6px 22px rgba(61, 37, 24, .06);
  overflow: hidden;
}
.ipc-report .ipc-section-heading {
  margin: 0;
  padding: .85rem .9rem .75rem;
  background: linear-gradient(135deg, #FAF6F2 0%, #FFFDF9 68%);
  border-bottom: 1px solid #EFE6DC;
  align-items: flex-start;
}
.ipc-report > p,
.ipc-report > .ipc-summary-grid,
.ipc-report > .ipc-empty {
  margin-left: .9rem;
  margin-right: .9rem;
}
.ipc-report > .ipc-actions { margin: 0; padding: .75rem .9rem .9rem; }
.ipc-report > .ipc-adoption { margin: 0; padding: .9rem; border-top: 1px solid #E4D9CD; }
.ipc-review-side { position: sticky; top: .5rem; display: grid; gap: .6rem; }
.ipc-review-side-intro, .ipc-review-privacy { padding: .65rem .75rem; border: 1px solid #EFE6DC; border-radius: 12px; background: #fff; }
.ipc-review-side-intro h2 { margin: 0; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #8b7b73; }
.ipc-review-side-intro p:last-child, .ipc-review-privacy p { margin: .45rem 0 0; color: var(--ipc-muted); font-size: .76rem; }
.ipc-review-side > .ipc-card { margin: 0; padding: .65rem .75rem; border-radius: 12px; box-shadow: none; background: #fff; border: 1px solid #EFE6DC; }
.ipc-review-side .ipc-inline-form { grid-template-columns: 1fr; }
.ipc-review-side .ipc-inline-form label,
.ipc-review-side .ipc-inline-form input,
.ipc-review-side .ipc-inline-form button { grid-column: 1; grid-row: auto; }
.ipc-review-side .ipc-inline-form button { width: 100%; }
.ipc-email-backdrop { position: fixed; z-index: 100020; inset: 0; background: rgba(39, 26, 19, .68); backdrop-filter: blur(3px); }
body.ipc-report-locked { overflow: hidden; }
body.ipc-report-locked .ipc-email {
  position: fixed;
  z-index: 100021;
  top: 50%;
  left: 50%;
  width: min(560px, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: clamp(1.15rem, 4vw, 1.75rem);
  border: 1px solid #DECDBC;
  border-radius: 18px;
  background: #FFFDF9;
  box-shadow: 0 28px 80px rgba(31, 20, 15, .38);
}
.ipc-email-preview-summary { margin: .5rem 0 0; color: var(--ipc-ink); font-size: .95rem; font-weight: 750; line-height: 1.5; }
.ipc-email-preview-list { display: flex; flex-wrap: wrap; gap: .35rem; margin: .75rem 0; padding: 0; list-style: none; }
.ipc-email-preview-list li { padding: .28rem .55rem; border-radius: 999px; background: #F2ECE5; color: #5A4A42; font-size: .72rem; font-weight: 700; }
body.ipc-report-locked .ipc-email .ipc-inline-form { margin-top: .8rem; }
body.ipc-report-locked .ipc-email .ipc-button { width: 100%; }
body.ipc-review-mode { background: #FAF6F2; }
body.ipc-review-mode::before { opacity: 0; }
body.ipc-review-mode .ipc-main { width: min(1240px, calc(100% - 2rem)); }
body.ipc-review-mode .ipc-footer { width: min(1240px, calc(100% - 2rem)); }
body.ipc-review-mode .ipc-report .ipc-section-heading h2 { font-size: 1rem; }
.ipc-alert { margin: 1rem 0; padding: 1rem; border-radius: 12px; }
.ipc-alert-error { border: 1px solid #db9b9b; background: #fff0f0; color: #7e2222; }
.ipc-footer { width: min(920px, calc(100% - 2rem)); margin: 0 auto; padding: 2rem 0 max(2rem, calc(env(safe-area-inset-bottom, 0px) + 1rem)); border-top: 1px solid var(--ipc-line); display: flex; justify-content: space-between; gap: 1rem; color: var(--ipc-muted); font-size: .82rem; }
.ipc-footer p { margin: 0; }
.ipc-footer nav { display: flex; gap: 1rem; }

@media (max-width: 760px) {
  body.ipc-page::before { opacity: 0; }
  .ipc-review-layout { grid-template-columns: 1fr; }
  .ipc-review-side { position: static; }
  body.ipc-report-locked .ipc-review-side { order: -1; }
  .ipc-planner-columns { grid-template-columns: 1fr; }
  .ipc-review-item-head { grid-template-columns: minmax(0, 1fr) 5.5rem 18px; }
  .ipc-planner-row-pack { grid-column: 1; }
  .ipc-option-comparison { grid-template-columns: 1fr; }
  .ipc-compare-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .ipc-verification { grid-template-columns: minmax(0, 1fr); }
  .ipc-verification-status { grid-column: auto; }
  .ipc-header-note { display: none; }
  .ipc-header { align-items: flex-start; flex-wrap: wrap; }
  .ipc-header-account { margin-left: auto; }
  .ipc-account-nav { flex-wrap: wrap; justify-content: flex-end; }
  .ipc-main { width: min(100% - 1rem, 920px); }
  .ipc-card { border-radius: 17px; }
  .ipc-section-heading { align-items: flex-start; }
  .ipc-file-row { grid-template-columns: 58px minmax(0, 1fr); }
  .ipc-preview { width: 58px; height: 58px; }
  .ipc-file-actions { grid-column: 1 / -1; flex-direction: row; }
  .ipc-form-grid, .ipc-item-preview, .ipc-summary-grid, .ipc-offer-grid, .ipc-unmatched-facts,
  .ipc-locked-price-facts { grid-template-columns: 1fr; }
  .ipc-inline-form { grid-template-columns: 1fr; }
  .ipc-inline-form label, .ipc-inline-form input, .ipc-inline-form button { grid-column: 1; grid-row: auto; }
  .ipc-inline-form button { width: 100%; }
  .ipc-clarification-chat { right: .5rem; bottom: max(.5rem, env(safe-area-inset-bottom, 0px)); width: calc(100% - 1rem); border-radius: 17px; }
  .ipc-chat-input-row { grid-template-columns: 1fr; }
  .ipc-chat-input-row .ipc-button { width: 100%; }
  .ipc-picker-actions .ipc-button, .ipc-actions .ipc-button { flex: 1 1 145px; }
  .ipc-offer-title, .ipc-footer { flex-direction: column; }
  .ipc-review-header { flex-direction: column; }
  .ipc-review-header .ipc-button { width: 100%; }
  .ipc-source { white-space: normal; }
  .ipc-comparison-item-head { display: block; }
  .ipc-comparison-savings { display: block; margin-top: .35rem; text-align: left; }
  .ipc-report-tabs { overflow-x: auto; }
  .ipc-report-tab { min-width: max-content; }
}

@media (max-width: 360px) {
  .ipc-header { width: min(100% - 1rem, 1120px); }
  .ipc-header-account, .ipc-account-nav { width: 100%; }
  .ipc-account-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ipc-account-nav a { min-width: 0; white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  body.ipc-page { background: #fff; }
  body.ipc-page::before, .ipc-header, .ipc-footer, .ipc-review-header .ipc-button,
  .ipc-review-side, .ipc-actions, .ipc-adoption, #error-region { display: none !important; }
  body.ipc-review-mode .ipc-main { width: 100%; margin: 0; }
  .ipc-review-header { padding: 0 0 .8rem; border: 0; background: #fff; }
  .ipc-review-layout { display: block; }
  .ipc-card, .ipc-report-row, .ipc-offer, .ipc-planner-col { box-shadow: none; break-inside: avoid; }
  .ipc-planner-columns { display: block; overflow: visible; }
  .ipc-planner-col { width: 100%; min-width: 0; margin-bottom: 1rem; }
  .ipc-planner-item-detail[hidden] { display: block !important; }
}
