.request-page .customer-sidebar-postcode { min-height: 18px; margin-top: 3px; color: var(--portal-muted); font-size: .72rem; }
.request-page .sidebar-profile-link, .request-page .topbar-profile-button { text-decoration: none; }
.request-page [hidden] { display: none !important; }
.request-page.portal-loading .request-main { opacity: .72; }
.request-main { max-width: none !important; }
.request-page-header { max-width: 1480px; margin: 0 auto 22px; }
.request-back-link { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 15px; color: var(--portal-teal-dark); text-decoration: none; font: 700 .78rem/1.2 "Manrope", sans-serif; }
.request-back-link .material-icons { font-size: 17px; }
.request-page-header h1 { margin: 0 0 7px; color: var(--portal-navy); font: 700 clamp(1.65rem, 2.4vw, 2.15rem)/1.18 "Manrope", sans-serif; letter-spacing: 0; }
.request-page-header p { margin: 0; color: var(--portal-muted); font-size: .9rem; }
.request-layout { max-width: 1480px; display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr); align-items: start; gap: 20px; margin: 0 auto; }
.request-form-card { min-width: 0; overflow: visible; border: 1px solid var(--portal-line); border-radius: 10px; background: var(--portal-white); box-shadow: 0 5px 18px rgba(16,28,44,.035); }
.request-form-section { padding: 23px 24px 25px; border-bottom: 1px solid var(--portal-line); }
.request-section-title { display: flex; align-items: center; gap: 11px; margin-bottom: 20px; }
.request-section-title > .material-icons, .request-guide-heading > .material-icons { width: 32px; height: 32px; flex: 0 0 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--portal-mint); color: var(--portal-teal-dark); font-size: 18px; }
.request-section-title h2, .request-guide-heading h2 { margin: 0; color: var(--portal-navy); font: 700 .93rem/1.3 "Manrope", sans-serif; }
.request-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 18px; }
.request-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.request-field { min-width: 0; }
.request-field--full { grid-column: 1 / -1; }
.request-field label { display: block; margin: 0 0 7px; color: #39475b; font: 700 .73rem/1.3 "Manrope", sans-serif; }
.request-field label span { color: var(--portal-muted); font-weight: 500; }
.request-field input, .request-field select, .request-field textarea { width: 100%; min-width: 0; border: 1px solid #d7dee3; border-radius: 6px; background: var(--portal-white); color: var(--portal-ink); font-size: .81rem; transition: border-color .18s ease, box-shadow .18s ease; }
.request-field input, .request-field select { height: 46px; padding: 0 12px; }
.request-field select { padding-right: 34px; cursor: pointer; }
.request-field textarea { min-height: 138px; resize: vertical; padding: 12px; line-height: 1.55; }
.request-field input::placeholder, .request-field textarea::placeholder { color: #99a4b1; }
.request-field input:focus, .request-field select:focus, .request-field textarea:focus { border-color: var(--portal-teal); box-shadow: 0 0 0 3px rgba(11,185,162,.11); outline: 0; }
.request-field input[readonly] { background: #f4f6f7; color: #657287; }
.request-field [aria-invalid="true"] { border-color: #bd4f49; }
.request-field-help { margin: -3px 0 8px; color: var(--portal-muted); font-size: .7rem; line-height: 1.45; }
.request-field-meta { min-height: 19px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-top: 5px; }
.request-field-meta > span { margin-left: auto; color: #8994a2; font-size: .68rem; }
.request-field-error { min-height: 17px; margin: 5px 0 0; color: #a33e39; font-size: .7rem; line-height: 1.35; }
.request-combobox { position: relative; }
.request-suggestions { position: absolute; z-index: 30; top: calc(100% + 5px); right: 0; left: 0; max-height: 230px; overflow-y: auto; margin: 0; padding: 5px; border: 1px solid var(--portal-line); border-radius: 7px; background: var(--portal-white); box-shadow: 0 14px 30px rgba(16,28,44,.13); list-style: none; }
.request-suggestions li { padding: 9px 10px; border-radius: 5px; color: var(--portal-ink); cursor: pointer; font-size: .79rem; }
.request-suggestions li:hover, .request-suggestions li.is-active { background: var(--portal-mint); color: var(--portal-teal-dark); }
.request-suggestions .request-no-results { color: var(--portal-muted); cursor: default; }
.request-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 15px; padding: 13px 13px 13px 15px; border-radius: 7px; background: #f7f9fa; }
.request-submit-row p { max-width: 580px; display: flex; align-items: center; gap: 8px; margin: 0; color: var(--portal-muted); font-size: .7rem; line-height: 1.45; }
.request-submit-row p .material-icons { flex: 0 0 auto; font-size: 16px; }
#submitLeadBtn { min-width: 150px; min-height: 44px; padding: 0 18px; border: 1px solid var(--portal-teal); border-radius: 6px; background: var(--portal-teal); color: #fff; cursor: pointer; font: 700 .78rem/1 "Manrope", sans-serif; }
#submitLeadBtn:hover { border-color: var(--portal-teal-dark); background: var(--portal-teal-dark); }
#submitLeadBtn:disabled { cursor: wait; opacity: .7; }
.request-form-status { min-height: 0; margin: 0 28px 17px; color: var(--portal-muted); font-size: .77rem; }
.request-form-status.is-error { color: #a33e39; }
.request-form-status.is-success { color: var(--portal-teal-dark); font-weight: 700; }
.request-support-rail { display: grid; gap: 14px; }
.request-guide-card { padding: 20px; border: 1px solid #dcece8; border-radius: 9px; background: #f4fbf9; }
.request-guide-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 19px; }
.request-guide-heading > .material-icons { background: #fff; }
.request-steps, .request-tips { margin: 0; padding: 0; list-style: none; }
.request-steps { display: grid; gap: 0; }
.request-steps li { position: relative; display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 11px; padding-bottom: 19px; }
.request-steps li:last-child { padding-bottom: 0; }
.request-steps li::after { content: ""; position: absolute; top: 26px; bottom: 0; left: 13px; width: 1px; background: #cfe7e2; }
.request-steps li:last-child::after { display: none; }
.request-steps li > span { position: relative; z-index: 1; width: 27px; height: 27px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #d8f4ee; color: var(--portal-teal-dark); font: 700 .68rem/1 "Manrope", sans-serif; }
.request-steps strong { color: var(--portal-navy); font: 700 .74rem/1.3 "Manrope", sans-serif; }
.request-steps p { margin: 5px 0 0; color: var(--portal-muted); font-size: .7rem; line-height: 1.55; }
.request-tips { display: grid; gap: 13px; }
.request-tips li { display: flex; align-items: flex-start; gap: 9px; color: #4f5d70; font-size: .72rem; line-height: 1.45; }
.request-tips .material-icons { color: var(--portal-teal); font-size: 16px; }

@media (max-width: 1100px) {
  .request-layout { grid-template-columns: 1fr; }
  .request-support-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .request-page-header { margin-bottom: 18px; }
  .request-page-header h1 { font-size: 1.48rem; }
  .request-layout { gap: 15px; }
  .request-form-section { padding: 20px 16px 21px; }
  .request-fields, .request-fields--two { grid-template-columns: 1fr; gap: 13px; }
  .request-field--full, .request-field--half { grid-column: auto; }
  .request-submit-row { align-items: stretch; flex-direction: column; gap: 13px; margin: 12px; padding: 14px; }
  #submitLeadBtn { width: 100%; }
  .request-support-rail { grid-template-columns: 1fr; }
  .request-form-status { margin: 0 18px 15px; }
}

@media (max-width: 360px) {
  .request-page .dashboard-main-content { padding-right: 12px; padding-left: 12px; }
  .request-form-section { padding-right: 13px; padding-left: 13px; }
  .request-section-title { align-items: flex-start; }
}
