.sales-stage2-form.panel.padded { gap: 12px; padding: clamp(16px, 1.8vw, 24px); }
.sales-stage2-form .section-heading.compact { margin: 0; }
.sales-stage2-form .section-heading.compact p { margin: 3px 0 0; }
.sales-stage2-form .sales-journey { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.sales-stage2-form .sales-journey-step { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 7px 10px; font: inherit; cursor: pointer; }
.sales-stage2-form .sales-journey-step:disabled { cursor: not-allowed; }
.sales-stage2-form .sales-customer-strip { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 8px 12px; border: 1px solid #d5e7f1; border-radius: 11px; background: #f6fbfe; }
.sales-stage2-form .sales-customer-strip span { color: #24495e; font-weight: 700; }
.sales-stage2-form .sales-customer-strip button { padding: 7px 12px; }
.sales-stage2-form .sales-start-panel { display: grid; gap: 10px; padding: 16px; border-radius: 14px; }
.sales-stage2-form .sales-start-heading { display: flex; align-items: center; gap: 9px; margin: 0; }
.sales-stage2-form .sales-start-heading h4 { margin: 0; }
.sales-stage2-form .sales-national-id { width: min(100%, 490px); margin: 0; }
.sales-stage2-form .sales-national-id .sales-inline-field { display: flex; gap: 8px; margin-top: 5px; }
.sales-stage2-form .sales-national-id input { flex: 1; min-width: 0; }
.sales-stage2-form .sales-national-id button { flex: 0 0 auto; white-space: nowrap; }
.sales-stage2-form #sales-inquiry-feedback { margin: 0; }
.sales-stage2-form #sales-inquiry-feedback:empty { display: none; }
.sales-stage2-form .sales-customer-card { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 9px; border: 1px solid #d5e7f1; border-radius: 10px; background: #fff; }
.sales-stage2-form .sales-customer-card span { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.sales-stage2-form .sales-customer-card b { color: #718896; font-size: .78rem; }
.sales-stage2-form .sales-details-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; }
.sales-stage2-form .sales-details-heading > div { flex: 1; }
.sales-stage2-form .sales-details-heading h4, .sales-stage2-form .sales-details-heading p { margin: 0; }
.sales-stage2-form .sales-details-heading p { margin-top: 3px; }
.sales-stage2-form .sales-step-back { margin-inline-start: auto; }
.sales-stage2-form .sales-details-stage { gap: 14px; padding: 16px; }
.sales-stage2-form .sales-organization-row { display: flex; align-items: end; flex-wrap: wrap; gap: 8px 14px; }
.sales-stage2-form .sales-organization-row label { width: min(100%, 390px); }
.sales-stage2-form .sales-organization-row small { padding-bottom: 10px; }
.sales-stage2-form #sales-request-details .sales-form-grid { gap: 10px 14px; }
.sales-stage2-form .sales-stage2-panel { display: grid; gap: 15px; padding: clamp(16px, 2vw, 24px); border: 1px solid #d5e7f1; border-radius: 16px; background: #fff; }
.sales-stage2-form .sales-stage2-panel[hidden], .sales-stage2-form #sales-request-details[hidden], .sales-stage2-form [hidden] { display: none !important; }
.sales-stage2-form .sales-stage2-list { display: flex; flex-direction: column; gap: 8px; max-height: min(58vh, 520px); overflow-y: auto; padding: 3px; }
.sales-stage2-form .sales-stage2-policy { display: flex; flex: 0 0 auto; justify-content: space-between; align-items: center; gap: 16px; width: 100%; min-height: 96px; height: auto; box-sizing: border-box; padding: 13px 16px; border: 1px solid #dce9f0; border-radius: 12px; background: #fff; color: #24495e; text-align: right; line-height: 1.5; cursor: pointer; }
.sales-stage2-form .sales-stage2-policy:hover, .sales-stage2-form .sales-stage2-policy:focus-visible { border-color: #3996c6; background: #f2faff; }
.sales-stage2-form .sales-stage2-policy span { display: grid; gap: 3px; min-width: 0; }
.sales-stage2-form .sales-stage2-policy small { color: #678294; font-size: .8rem; }
.sales-stage2-form .sales-stage2-policy strong { color: #163d55; }
.sales-stage2-form .sales-stage2-selected-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sales-stage2-form .sales-stage2-selected-grid span { display: grid; gap: 4px; padding: 10px; border-radius: 9px; background: #f3f9fc; }
.sales-stage2-form .sales-stage2-selected-grid b { color: #718896; font-size: .78rem; }
.sales-stage2-form .sales-stage2-summary { display: grid; gap: 3px; padding: 9px 12px; border: 1px solid #c6e2f2; border-radius: 11px; background: #edf8fe; color: #245b77; }
.sales-stage2-form .sales-stage2-change { display: grid; gap: 8px; }
.sales-stage2-form .sales-stage2-toggle { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 10px; background: #eef7fc; }
.sales-stage2-form #sales-stage2-change-fields { display: grid; gap: 13px; padding: 14px; border: 1px solid #dce9f1; border-radius: 11px; }
.sales-stage2-form #sales-stage2-coverage-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 9px 0; }
.sales-stage2-form .sales-claim-question { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid #d5e7f1; border-radius: 10px; background: #f6fbfe; }
.sales-stage2-form .sales-stage2-toggle label, .sales-stage2-form .sales-claim-question label { display: inline-flex; align-items: center; gap: 5px; margin: 0; }
.sales-stage2-form .sales-claim-question small { margin-inline-start: auto; }
.sales-stage2-form .sales-stage2-postal { display: inline-flex; align-items: center; gap: 8px; align-self: end; min-height: 48px; padding: 8px 10px; border: 1px solid #c7e4d5; border-radius: 10px; background: #f1faf5; }
.sales-stage2-form .sales-stage2-postal input[type="checkbox"], .sales-stage2-form .sales-stage2-toggle input[type="radio"], .sales-stage2-form .sales-claim-question input[type="radio"] { width: 18px; height: 18px; min-width: 18px; margin: 0; flex: none; }
.sales-stage2-form .sales-stage2-postal input { width: auto; }
.sales-stage2-form .sales-final-grid textarea { min-height: 64px; }
.sales-stage2-form #sales-stage2-postal-warning { margin: 0; }
.sales-stage2-form .sales-files-disclosure { border: 1px solid #dce8ef; border-radius: 12px; padding: 12px; }
.sales-stage2-form .sales-files-disclosure summary { cursor: pointer; font-weight: 700; color: #205a79; }
.sales-stage2-form .sales-attachments { margin-top: 14px; }
.sales-stage2-form .sales-request-workspace { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 14px; align-items: start; }
.sales-stage2-form .sales-request-rail { position: sticky; top: 92px; padding: 12px; border: 1px solid #d5e7f1; border-radius: 15px; background: #f4f9fc; }
.sales-stage2-form .sales-request-rail .sales-journey { grid-template-columns: 1fr; }
.sales-stage2-form .sales-request-rail .sales-journey-step { justify-content: flex-start; text-align: right; }
.sales-stage2-form .sales-request-accordion-list { display: grid; gap: 9px; min-width: 0; }
.sales-stage2-form .sales-request-accordion { min-width: 0; border: 1px solid #d5e7f1; border-radius: 15px; background: #fff; overflow: hidden; }
.sales-stage2-form .sales-request-accordion[open] { border-color: #80bbdb; box-shadow: 0 10px 24px #11466512; }
.sales-stage2-form .sales-request-accordion > summary { display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 9px 13px; list-style: none; cursor: pointer; background: #f4f9fc; }
.sales-stage2-form .sales-request-accordion > summary::-webkit-details-marker { display: none; }
.sales-stage2-form .sales-request-accordion[open] > summary { background: #eaf6fc; border-bottom: 1px solid #d5e7f1; }
.sales-stage2-form .sales-request-accordion.is-complete > summary { background: #eef8f3; }
.sales-stage2-form .sales-request-accordion-number { display: grid; place-items: center; flex: none; width: 31px; height: 31px; border-radius: 9px; background: #137fb7; color: #fff; font-weight: 800; }
.sales-stage2-form .sales-request-accordion.is-complete .sales-request-accordion-number { background: #32896a; }
.sales-stage2-form .sales-request-accordion-title { display: grid; gap: 1px; }
.sales-stage2-form .sales-request-accordion-title strong { color: #183d53; }
.sales-stage2-form .sales-request-accordion-title small { color: #6f8795; font-size: .78rem; }
.sales-stage2-form .sales-request-accordion-chevron { margin-inline-start: auto; color: #397796; font-size: 1.4rem; line-height: 1; transition: transform .2s ease; }
.sales-stage2-form .sales-request-accordion[open] .sales-request-accordion-chevron { transform: rotate(180deg); }
.sales-stage2-form .sales-request-accordion-content { padding: 10px; }
.sales-stage2-form .sales-request-accordion-content > .sales-start-panel, .sales-stage2-form .sales-request-accordion-content > .sales-stage2-panel, .sales-stage2-form .sales-request-accordion-content > .sales-details-stage { padding: 10px; border: 0; box-shadow: none; }
.sales-stage2-form .sales-upload-dropzone { display: grid; gap: 6px; min-width: 0; padding: 12px; border: 1px dashed #8dbbd0; border-radius: 11px; background: #f5fbfe; transition: background .2s, border-color .2s; }
.sales-stage2-form .sales-upload-dropzone.is-dragging { background: #e2f5fb; border-color: #137fb7; }
.sales-stage2-form .sales-upload-dropzone input { max-width: 100%; }
.sales-stage2-form .sales-upload-caption { color: #53798b; font-size: .76rem; overflow-wrap: anywhere; }
@media (max-width: 760px) { .sales-stage2-form .sales-request-workspace { grid-template-columns: minmax(0, 1fr); gap: 0; } .sales-stage2-form .sales-request-rail { display: none; } .sales-stage2-form .sales-request-accordion-content { padding: 7px; } .sales-stage2-form .sales-request-accordion-content > .sales-start-panel, .sales-stage2-form .sales-request-accordion-content > .sales-stage2-panel, .sales-stage2-form .sales-request-accordion-content > .sales-details-stage { padding: 8px; } }
@media (max-width: 760px) { .sales-stage2-form .sales-journey-step { flex-direction: column; gap: 2px; font-size: .78rem; } .sales-stage2-form .sales-national-id { width: 100%; } .sales-stage2-form .sales-national-id .sales-inline-field { flex-wrap: wrap; } .sales-stage2-form .sales-national-id button { width: 100%; } .sales-stage2-form .sales-customer-card { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sales-stage2-form .sales-organization-row label { width: 100%; } .sales-stage2-form .sales-stage2-policy { align-items: stretch; flex-direction: column; } .sales-stage2-form .sales-stage2-selected-grid, .sales-stage2-form #sales-stage2-coverage-list { grid-template-columns: 1fr; } }

/* Sales request, New York-style visual layer. Keep the existing form controls and events. */
.sales-stage2-form {
  --s2-ink: #0f172a;
  --s2-muted: #64748b;
  --s2-border: #e2e8f0;
  --s2-ring: #0f172a;
  --s2-soft: #f8fafc;
  color: var(--s2-ink);
}
.sales-stage2-form.panel.padded { gap: 16px; }
.sales-stage2-form .sales-request-workspace { grid-template-columns: minmax(0, 1fr); gap: 0; }
.sales-stage2-form .sales-request-rail,
.sales-stage2-form .sales-journey { display: none !important; }
.sales-stage2-form .sales-request-accordion-list { gap: 16px; }
.sales-stage2-form .sales-request-accordion {
  border-color: var(--s2-border);
  border-radius: 10px;
  box-shadow: 0 1px 2px #0f172a0d;
}
.sales-stage2-form .sales-request-accordion[open] { border-color: #cbd5e1; box-shadow: 0 4px 18px #0f172a0d; }
.sales-stage2-form .sales-request-accordion > summary { min-height: 52px; padding: 10px 16px; background: var(--s2-soft); }
.sales-stage2-form .sales-request-accordion[open] > summary { background: #fff; border-bottom-color: var(--s2-border); }
.sales-stage2-form .sales-request-accordion.is-complete > summary { background: #f0fdf4; }
.sales-stage2-form .sales-request-accordion-number,
.sales-stage2-form .sales-request-accordion.is-complete .sales-request-accordion-number { border-radius: 7px; background: var(--s2-ink); }
.sales-stage2-form .sales-request-accordion.is-complete .sales-request-accordion-number { background: #15803d; }
.sales-stage2-form .sales-request-accordion-title strong { color: var(--s2-ink); }
.sales-stage2-form .sales-request-accordion-title small { color: var(--s2-muted); }
.sales-stage2-form .sales-request-accordion-content { padding: 16px; }
.sales-stage2-form .sales-request-accordion-content > :is(.sales-start-panel,.sales-stage2-panel,.sales-details-stage) { padding: 0; }
.sales-stage2-form .sales-stage2-panel { gap: 16px; padding: 16px; border-color: var(--s2-border); border-radius: 10px; }
.sales-stage2-form :is(.sales-form-grid,.sales-final-grid,.sales-upload-grid,.sales-organization-row) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.sales-stage2-form #sales-request-details .sales-form-grid,
.sales-stage2-form .sales-details-stage .sales-form-grid { gap: 16px; }
.sales-stage2-form .sales-organization-row label { width: 100%; min-width: 0; }
.sales-stage2-form .sales-organization-row small { align-self: center; padding: 0; color: var(--s2-muted); }
.sales-stage2-form .sales-customer-card,
.sales-stage2-form .sales-stage2-selected-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; border-color: var(--s2-border); }
.sales-stage2-form .sales-stage2-selected-grid span { background: var(--s2-soft); border: 1px solid var(--s2-border); border-radius: 8px; }
.sales-stage2-form :is(input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),select,textarea),
.sales-stage2-form .sales-details-stage .sales-form-grid > label > :is(input,select,textarea) {
  width: 100%;
  min-width: 0;
  min-height: 40px !important;
  padding: 0 12px;
  border: 1px solid var(--s2-border) !important;
  border-radius: 8px !important;
  background: #fff;
  color: var(--s2-ink);
  box-shadow: 0 1px 2px #0f172a0a;
  font: inherit;
}
.sales-stage2-form :is(textarea,.sales-details-stage .sales-form-grid > label > textarea) { min-height: 80px !important; padding: 10px 12px; resize: vertical; }
.sales-stage2-form :is(input,select,textarea,button):focus-visible,
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question,#sales-stage2-coverage-list) label:focus-within {
  outline: 0 !important;
  border-color: var(--s2-ring) !important;
  box-shadow: 0 0 0 2px var(--s2-ring) !important;
}
.sales-stage2-form button { min-height: 40px; border-radius: 8px; font-weight: 600; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.sales-stage2-form button.primary { background: var(--s2-ink); border-color: var(--s2-ink); color: #fff; }
.sales-stage2-form button.primary:hover { background: #1e293b; }
.sales-stage2-form button.secondary,
.sales-stage2-form .sales-step-back { border: 1px solid var(--s2-border); background: #fff; color: var(--s2-ink); }
.sales-stage2-form button.secondary:hover,
.sales-stage2-form .sales-step-back:hover { background: var(--s2-soft); }
.sales-stage2-form button:disabled { opacity: .5; cursor: not-allowed; }
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) { gap: 8px; padding: 0; background: transparent; border: 0; }
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label,
.sales-stage2-form #sales-stage2-coverage-list label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--s2-border);
  border-radius: 8px;
  background: #fff;
  color: var(--s2-ink);
  cursor: pointer;
  transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label:hover,
.sales-stage2-form #sales-stage2-coverage-list label:hover { border-color: #94a3b8; }
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label:has(input:checked),
.sales-stage2-form #sales-stage2-coverage-list label:has(input:checked) {
  border-color: var(--s2-ink);
  background: var(--s2-soft);
  box-shadow: inset 0 0 0 1px var(--s2-ink);
}
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  border: 1px solid #94a3b8;
  border-radius: 50%;
  background: #fff;
}
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label:has(input:checked)::before { border: 5px solid var(--s2-ink); }
.sales-stage2-form .sales-stage2-postal { min-height: 40px; border-color: var(--s2-border); border-radius: 8px; background: var(--s2-soft); }
.sales-stage2-form .sales-stage2-policy { border-color: var(--s2-border); border-radius: 8px; color: var(--s2-ink); box-shadow: 0 1px 2px #0f172a0a; }
.sales-stage2-form .sales-stage2-policy:hover,
.sales-stage2-form .sales-stage2-policy:focus-visible { border-color: var(--s2-ink); background: var(--s2-soft); }
.sales-stage2-form .sales-stage2-policy .sales-policy-main { flex: 1 1 0; }
.sales-stage2-form .sales-stage2-policy .sales-policy-date { flex: 0 0 165px; }
.sales-stage2-form .sales-stage2-policy .sales-policy-countdown { display: flex; flex: 0 0 154px; flex-direction: column; align-items: center; justify-content: center; gap: 0; box-sizing: border-box; min-height: 66px; padding: 7px 11px; border: 1px solid #b4dce9; border-radius: 10px; background: #edf8fc; color: #17627c; text-align: center; }
.sales-stage2-form .sales-stage2-policy .sales-policy-countdown b { color: inherit; font-size: 1.25rem; line-height: 1.3; font-variant-numeric: tabular-nums; }
.sales-stage2-form .sales-stage2-policy .sales-policy-countdown small { color: inherit; font-size: .75rem; }
.sales-stage2-form .sales-stage2-policy .sales-policy-countdown.is-soon { border-color: #edd18c; background: #fff6e4; color: #926307; }
.sales-stage2-form .sales-stage2-policy .sales-policy-countdown.is-overdue { border-color: #efb8ad; background: #fff0ed; color: #a33f32; }
.sales-stage2-form .sales-stage2-policy .sales-policy-countdown.is-unknown { border-color: #dce5ea; background: #f5f8fa; color: #647985; }
@media (max-width: 760px) { .sales-stage2-form .sales-stage2-policy .sales-policy-main, .sales-stage2-form .sales-stage2-policy .sales-policy-date { flex: 0 1 auto; } .sales-stage2-form .sales-stage2-policy .sales-policy-countdown { flex: 0 1 auto; align-self: stretch; min-height: 58px; } }
.sales-submission-success > div:first-child { align-items: flex-start; flex: 1 1 620px; min-width: 0; }
.sales-submission-success .sales-success-copy { min-width: 0; width: 100%; }
.sales-submission-success .sales-success-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 15px 0 4px; }
.sales-submission-success .sales-success-facts > div { min-width: 0; padding: 9px 12px; border: 1px solid #d2e8df; border-radius: 9px; background: #fff; }
.sales-submission-success .sales-success-facts dt { color: #58776d; font-size: .76rem; }
.sales-submission-success .sales-success-facts dd { margin: 3px 0 0; color: #173e33; font-weight: 700; overflow-wrap: anywhere; }
.sales-submission-success .sales-success-warning { color: #94610b; font-weight: 700; }
.sales-submission-success [data-sales-submission-note]:empty { display: none; }
@media (max-width: 600px) { .sales-submission-success .sales-success-facts { grid-template-columns: 1fr; } }
.sales-stage2-form .sales-stage2-summary { border-color: var(--s2-border); border-radius: 8px; background: var(--s2-soft); color: var(--s2-ink); }
.sales-stage2-form .sales-files-disclosure,
.sales-stage2-form .sales-upload-dropzone { border-color: #cbd5e1; border-radius: 8px; background: #fff; }
.sales-stage2-form .sales-upload-dropzone.is-dragging { border-color: var(--s2-ink); background: var(--s2-soft); }

@media (max-width: 760px) {
  .sales-stage2-form.panel.padded { padding: 12px; }
  .sales-stage2-form .sales-request-accordion-content { padding: 12px; }
  .sales-stage2-form :is(.sales-form-grid,.sales-final-grid,.sales-upload-grid,.sales-organization-row),
  .sales-stage2-form .sales-customer-card,
  .sales-stage2-form .sales-stage2-selected-grid,
  .sales-stage2-form #sales-stage2-coverage-list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .sales-stage2-form .sales-national-id { width: 100%; }
}

/* Renewal details: a restrained, editorial workspace rather than stacked full-width boxes. */
.sales-stage2-form .sales-request-accordion-list { width: 100%; max-width: 1240px; margin-inline: auto; }
.sales-stage2-form .sales-details-stage { gap: 20px; }
.sales-stage2-form .sales-details-heading { padding-bottom: 12px; border-bottom: 1px solid var(--s2-border); }
.sales-stage2-form .sales-details-heading h4 { color: var(--s2-ink); font-size: 1.12rem; letter-spacing: -.02em; }
.sales-stage2-form .sales-details-heading p { color: var(--s2-muted); line-height: 1.6; }
.sales-stage2-form .sales-stage2-summary {
  gap: 5px;
  padding: 14px 18px;
  border: 1px solid var(--s2-border);
  border-inline-start: 4px solid var(--s2-ink);
  border-radius: 10px;
  background: linear-gradient(120deg, #f8fafc, #fff 68%);
  color: var(--s2-ink);
}
.sales-stage2-form .sales-organization-row {
  align-items: end;
  padding: 14px 16px;
  border: 1px solid var(--s2-border);
  border-radius: 10px;
  background: #fff;
}
.sales-stage2-form .sales-organization-row label { font-weight: 700; }
.sales-stage2-form .sales-organization-row small { font-size: .8rem; line-height: 1.6; }
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) {
  min-height: 64px;
  padding: 12px 16px;
  border: 1px solid var(--s2-border);
  border-radius: 10px;
  background: var(--s2-soft);
  color: var(--s2-ink);
  font-weight: 700;
}
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label {
  min-width: 124px;
  justify-content: center;
  padding: 9px 14px;
  box-shadow: 0 1px 2px #0f172a0a;
}
.sales-stage2-form .sales-claim-question small { margin-inline-start: auto; color: var(--s2-muted); font-weight: 400; line-height: 1.5; }
.sales-stage2-form .sales-final-grid { align-items: stretch; }
.sales-stage2-form .sales-final-grid > label { display: grid; gap: 7px; min-width: 0; font-weight: 700; }
.sales-stage2-form .sales-final-grid textarea { min-height: 96px !important; line-height: 1.65; }
.sales-stage2-form .sales-stage2-postal {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: 10px;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid var(--s2-border);
  border-radius: 8px;
  background: #fff;
  color: var(--s2-ink);
  font-weight: 600;
  cursor: pointer;
}
.sales-stage2-form .sales-stage2-postal:has(input:checked) { border-color: #94a3b8; background: var(--s2-soft); }
.sales-stage2-form .sales-stage2-postal input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 18px;
  accent-color: var(--s2-ink);
}
.sales-stage2-form .sales-files-disclosure {
  padding: 0;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  background: linear-gradient(135deg, #fff, #f8fafc);
  overflow: hidden;
}
.sales-stage2-form .sales-files-disclosure summary {
  display: flex;
  align-items: center;
  min-height: 62px;
  padding: 12px 18px;
  color: var(--s2-ink);
  font-weight: 700;
  cursor: pointer;
}
.sales-stage2-form .sales-files-disclosure:hover { border-color: #94a3b8; }
.sales-stage2-form .sales-files-disclosure[open] { border-style: solid; background: #fff; }
.sales-stage2-form .sales-files-disclosure[open] summary { border-bottom: 1px solid var(--s2-border); }
.sales-stage2-form .sales-files-disclosure .sales-attachments { margin: 0; padding: 16px; }
.sales-stage2-form .sales-upload-dropzone { padding: 16px; border-style: dashed; background: var(--s2-soft); }
.sales-stage2-form .sales-upload-dropzone:hover { border-color: var(--s2-ink); }
@media (max-width: 760px) {
  .sales-stage2-form .sales-request-accordion-list { max-width: none; }
  .sales-stage2-form .sales-details-stage { gap: 16px; }
  .sales-stage2-form .sales-organization-row { padding: 12px; }
  .sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) { align-items: stretch; padding: 12px; }
  .sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label { flex: 1 1 130px; }
  .sales-stage2-form .sales-claim-question small { flex-basis: 100%; margin-inline-start: 0; }
}

/* A true two-column completion stage with a unified postal card. */
.sales-stage2-form .sales-details-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sales-stage2-form .sales-details-stage > * { min-width: 0; grid-column: 1 / -1; }
.sales-stage2-form .sales-details-stage > :is(.sales-stage2-toggle,.sales-claim-question) { grid-column: auto; }
.sales-stage2-form .sales-selected-heading { align-items: center; }
.sales-stage2-form .sales-selected-kind { margin-inline-start: auto; padding: 6px 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc; font-size: .82rem; }
.sales-stage2-form .sales-stage2-selected-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sales-stage2-form .sales-prior-coverages { display: grid; gap: 10px; margin: 0; }
.sales-stage2-form .sales-prior-coverages > strong { font-size: .92rem; }
.sales-stage2-form .sales-prior-coverage-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sales-stage2-form .sales-prior-coverage-grid > span { min-width: 0; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 9px; background: #f8fafc; overflow-wrap: anywhere; line-height: 1.7; }
.sales-stage2-form .sales-renewal-checks { display: grid; gap: 12px; padding: 16px; border: 1px solid #dbe5ea; border-radius: 10px; background: #fff; }
.sales-stage2-form .sales-renewal-checks h5 { margin: 0; font-size: .95rem; }
.sales-stage2-form .sales-renewal-check-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.sales-stage2-form .sales-renewal-check-grid label { display: flex; align-items: center; gap: 8px; min-height: 50px; padding: 9px 11px; border: 1px solid #e2e8f0; border-radius: 9px; background: #f8fafc; font-weight: 600; }
.sales-stage2-form .sales-renewal-check-grid label:has(input:checked) { border-color: #a9c9d5; background: #eff8fa; }
.sales-stage2-form .sales-renewal-check-grid input { width: 18px; height: 18px; flex: none; accent-color: #0f172a; }
.sales-stage2-form #sales-mobile-change { max-width: 360px; }
.sales-stage2-form .sales-claim-counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sales-stage2-form .sales-claim-counts label { display: grid; gap: 6px; font-weight: 600; }
.sales-stage2-form .sales-document-rows { display: grid; gap: 10px; margin-bottom: 12px; }
.sales-stage2-form .sales-document-row { display: grid; grid-template-columns: 1fr 1.5fr auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid #e2e8f0; border-radius: 9px; background: #f8fafc; }
.sales-stage2-form .sales-document-row label { display: grid; gap: 6px; min-width: 0; font-weight: 600; }
.sales-stage2-form .sales-document-row [data-document-description] { grid-column: 1 / -1; }
.sales-stage2-form .sales-document-row input[type=file] { max-width: 100%; }
@media (max-width: 950px) { .sales-stage2-form .sales-renewal-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .sales-stage2-form .sales-stage2-selected-grid, .sales-stage2-form .sales-prior-coverage-grid, .sales-stage2-form .sales-claim-counts, .sales-stage2-form .sales-document-row { grid-template-columns: 1fr; } }
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) { align-content: center; gap: 6px; }
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label {
  min-width: 118px;
  min-height: 40px;
  border-radius: 7px;
  background: #fff;
  color: var(--s2-ink);
  font-weight: 700;
}
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label::before { display: none; }
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label:has(input:checked) {
  background: var(--s2-ink);
  border-color: var(--s2-ink);
  color: #fff;
  box-shadow: 0 1px 3px #0f172a26;
}
.sales-stage2-form :is(.sales-stage2-toggle,.sales-claim-question) label:focus-within { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--s2-ink) !important; }
.sales-stage2-form .sales-final-grid { gap: 16px; }
.sales-stage2-form .sales-postal-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--s2-border);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 2px #0f172a0a;
}
.sales-stage2-form .sales-postal-card > :first-child { display: grid; gap: 8px; min-width: 0; padding: 14px 16px; font-weight: 700; }
.sales-stage2-form .sales-postal-card .sales-stage2-postal {
  align-self: stretch;
  margin: 0;
  padding: 14px 16px;
  border: 0;
  border-inline-start: 1px solid var(--s2-border);
  border-radius: 0;
  background: var(--s2-soft);
}
.sales-stage2-form .sales-final-grid > label:has(textarea) { grid-column: 1 / -1; }
.sales-stage2-form .sales-final-grid textarea { min-height: 104px !important; }
.sales-stage2-form .sales-files-disclosure { border-color: #94a3b8; background: #fff; }
.sales-stage2-form .sales-files-disclosure summary { gap: 12px; min-height: 76px; }
.sales-stage2-form .sales-upload-icon {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: 1px solid var(--s2-border);
  border-radius: 9px;
  background: var(--s2-soft);
  color: var(--s2-ink);
}
.sales-stage2-form .sales-upload-icon svg { width: 20px; height: 20px; }
.sales-stage2-form .sales-upload-dropzone { min-height: 116px; place-content: center; border-width: 1.5px; text-align: center; }
.sales-stage2-form .sales-upload-dropzone:focus-within { border-color: var(--s2-ink); box-shadow: 0 0 0 2px #cbd5e1; }
@media (max-width: 760px) {
  .sales-stage2-form .sales-details-stage,
  .sales-stage2-form .sales-postal-card { grid-template-columns: minmax(0, 1fr); }
  .sales-stage2-form .sales-details-stage > :is(.sales-stage2-toggle,.sales-claim-question) { grid-column: 1 / -1; }
  .sales-stage2-form .sales-postal-card .sales-stage2-postal { border-inline-start: 0; border-top: 1px solid var(--s2-border); }
}

.sales-stage2-form .sales-organization-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 10px 12px; }
.sales-stage2-form .sales-organization-row label { display: flex; align-items: center; flex: 1 1 410px; gap: 10px; width: auto; min-width: 0; white-space: nowrap; }
.sales-stage2-form .sales-organization-row select { flex: 1; width: auto; max-width: 360px; min-width: 150px; }
.sales-stage2-form .sales-organization-row small { flex: 0 1 auto; margin: 0; }
.sales-stage2-form .sales-renewal-checks { gap: 10px; padding: 12px; }
.sales-stage2-form .sales-renewal-check-grid label:not(:has(input:checked)) { border-color: #e2b36f; background: #fff9ee; }
.sales-stage2-form .sales-renewal-change-grid { display: grid; gap: 8px; }
.sales-stage2-form .sales-renewal-change-row { display: grid; grid-template-columns: minmax(210px, 1fr) repeat(2, minmax(180px, 280px)); align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #e6d3ad; border-radius: 9px; background: #fffbf3; }
.sales-stage2-form .sales-renewal-change-row > div { min-width: 0; }
.sales-stage2-form .sales-renewal-change-row strong { color: #634518; }
.sales-stage2-form .sales-renewal-change-row p { margin: 3px 0 0; color: #715d3a; font-size: .82rem; line-height: 1.5; }
.sales-stage2-form .sales-renewal-change-row label { display: grid; gap: 5px; min-width: 0; font-weight: 600; }
.sales-stage2-form .sales-renewal-change-row input { width: 100%; min-width: 0; }
.sales-stage2-form .sales-renewal-change-row input[type=file] { max-width: 100%; font-size: .82rem; }
.sales-stage2-form .sales-renewal-change-row[hidden], .sales-stage2-form #sales-new-postal-code[hidden] { display: none; }
.sales-stage2-form .sales-renewal-change-line { display: grid; grid-template-columns: minmax(240px, .8fr) repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; }
.sales-stage2-form .sales-renewal-change-line > .sales-insurer-toggle { display: grid; grid-template-rows: 20px 48px; gap: 6px; min-width: 0; }
.sales-stage2-form .sales-renewal-change-line > .sales-insurer-toggle > span { color: var(--s2-ink); font-size: .88rem; font-weight: 700; }
.sales-stage2-form .sales-renewal-change-line .sales-insurer-toggle > #sales-stage2-provider-change { display: flex; align-items: center; gap: 8px; min-height: 48px; margin: 0; padding: 8px 12px; border: 1px solid var(--s2-border); border-radius: 8px; background: #fff; font-weight: 600; white-space: nowrap; }
.sales-stage2-form .sales-renewal-change-line .sales-insurer-toggle input[type=checkbox] { width: 18px; height: 18px; flex: none; }
.sales-stage2-form .sales-renewal-change-line > #sales-stage2-provider-choice { display: grid; min-width: 0; }
.sales-stage2-form .sales-renewal-change-line > #sales-stage2-provider-choice label { display: grid; grid-template-rows: 20px 48px; gap: 6px; min-width: 0; }
.sales-stage2-form .sales-renewal-change-line > #sales-stage2-provider-choice select { width: 100%; height: 48px; }
.sales-stage2-form .sales-renewal-change-line > #sales-stage2-provider-choice select:disabled { background: #f1f5f9; color: #64748b; }
.sales-stage2-form .sales-renewal-insurer-hint { margin: -4px 0 0; font-size: .8rem; }
.sales-stage2-form .sales-renewal-insurer-hint[hidden] { display: none; }
.sales-stage2-form .sales-renewal-change-line #sales-stage2-financial { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; min-width: 0; }
.sales-stage2-form .sales-renewal-change-line #sales-stage2-financial[hidden] { display: none; }
.sales-stage2-form .sales-renewal-change-line #sales-stage2-financial label { display: grid; grid-template-rows: 20px 48px; gap: 6px; min-width: 0; }
.sales-stage2-form .sales-renewal-change-line #sales-stage2-financial select { width: 100%; height: 48px; }
@media (max-width: 760px) {
  .sales-stage2-form .sales-organization-row label { flex-wrap: wrap; white-space: normal; }
  .sales-stage2-form .sales-organization-row select { max-width: none; width: 100%; }
  .sales-stage2-form .sales-renewal-change-row { grid-template-columns: minmax(0, 1fr); }
  .sales-stage2-form .sales-renewal-change-line { grid-template-columns: minmax(0, 1fr); }
  .sales-stage2-form .sales-renewal-change-line .sales-insurer-toggle > #sales-stage2-provider-change { white-space: normal; }
}

.sales-stage2-form .sales-renewal-claims-note { margin: 0; color: #64748b; font-size: .79rem; }
.sales-stage2-form .sales-renewal-vehicle-panel { display: grid; gap: 12px; padding: 14px; border: 1px solid #e6d3ad; border-radius: 9px; background: #fffbf3; }
.sales-stage2-form .sales-renewal-vehicle-panel[hidden], .sales-stage2-form .sales-vehicle-fields > [hidden], .sales-stage2-form #sales-claim-counts[hidden] { display: none; }
.sales-stage2-form .sales-vehicle-choice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.sales-stage2-form .sales-vehicle-choice strong { margin-inline-end: 4px; color: #634518; }
.sales-stage2-form #sales-owner-birth-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #b7d4df; border-radius: 10px; background: #f2f9fb; }
.sales-stage2-form #sales-owner-birth-row[hidden] { display: none; }
.sales-stage2-form #sales-owner-birth-row label { flex: 1; font-weight: 700; }
.sales-stage2-form #sales-owner-birth-row label .hint { display: block; margin-top: 3px; font-size: .82rem; font-weight: 400; }
.sales-stage2-form #sales-owner-birth-date { width: min(100%, 260px); cursor: pointer; }
@media (max-width: 760px) { .sales-stage2-form #sales-owner-birth-row { align-items: stretch; flex-direction: column; } .sales-stage2-form #sales-owner-birth-date { width: 100%; } }
.sales-stage2-form .sales-vehicle-choice label { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid #d9c9aa; border-radius: 8px; background: #fff; font-weight: 600; }
.sales-stage2-form .sales-vehicle-choice label:has(input:checked) { border-color: #b98b40; background: #fff2d8; }
.sales-stage2-form .sales-vehicle-choice input { width: 18px; height: 18px; margin: 0; accent-color: #0f172a; }
.sales-stage2-form .sales-vehicle-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.sales-stage2-form .sales-vehicle-fields label { display: grid; gap: 6px; min-width: 0; font-weight: 600; }
.sales-stage2-form .sales-vehicle-fields input { width: 100%; min-width: 0; }
.sales-stage2-form .sales-vehicle-fields input[type=file] { max-width: 100%; font-size: .82rem; }
.sales-stage2-form .sales-renewal-vehicle-panel > .hint { margin: 0; font-size: .8rem; }
@media (max-width: 760px) { .sales-stage2-form .sales-vehicle-fields { grid-template-columns: minmax(0, 1fr); } }
