.account-page{background:radial-gradient(ellipse at top right,#ffffff05,transparent 60%),#0c0c0e;padding-block:65px 85px}.account-page [hidden]{display:none!important}.account-wrap{max-width:1150px}.account-page h1{font-family:var(--body);font-size:clamp(33px,4vw,47px);font-weight:400;letter-spacing:-.045em;line-height:1.2;margin:18px 0}.account-lead{font-size:14px;line-height:1.8;color:#9696a2;max-width:650px}.account-form{max-width:460px;margin-top:32px;padding:29px;border:1px solid #33333c;border-radius:13px;background:#16161b}.account-form .field{margin-bottom:23px}.account-form .field label{font-size:12px;color:#c7c7d0}.account-form .field input{font-size:14px;border:1px solid #41414b;background:#101014;border-radius:7px}.account-form .button{margin-top:16px;font-size:12px;text-transform:none;letter-spacing:0}.account-form>p:last-child{font-size:12px;line-height:1.8;margin-top:23px}.account-form p a{color:#e0e0e7;border-bottom:1px solid #777}.account-form .consent label{font-size:11px;line-height:1.8}.account-form .field-help{font-size:11px;margin-top:9px}.account-feedback{font-size:12px;line-height:1.8;color:#dfb5b5}.account-notice{font-size:12px;line-height:1.9;color:#a7a7b3;margin-top:18px}.account-notice:empty{display:none}.account-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #303039;padding:28px 0 24px;margin-bottom:30px}.account-toolbar p{font-size:14px}.account-toolbar>div{display:flex;gap:23px;align-items:center}.account-toolbar button{font-size:11px;border:1px solid #4b4b57;border-radius:20px;background:none;color:#b7b7c3;padding:9px 16px}.account-toolbar .text-link{font-size:11px;text-transform:none;letter-spacing:0}.account-dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.account-status-card,.account-next-detail{border:1px solid #3e3e48;border-radius:14px;padding:34px;background:linear-gradient(135deg,#25252b,#15151a)}.account-status-card h2,.account-next-detail h2,.account-history h2{font-family:var(--body);font-size:27px;font-weight:400;letter-spacing:-.04em;line-height:1.4;margin:15px 0 12px}.account-status-card p,.account-next-detail p{font-size:12px;color:#a5a5b1;line-height:1.9}.account-points{display:flex;align-items:baseline;gap:12px;margin:30px 0 17px}.account-points strong{font-weight:400;font-size:43px;letter-spacing:-.04em}.account-points span{font-size:11px;color:#92929f}.account-next-detail .button{margin-top:28px;text-transform:none;letter-spacing:0;font-size:12px}.account-next-detail .text-link{display:block;width:fit-content;margin-top:22px;font-size:11px;letter-spacing:0;text-transform:none}.account-history{margin-top:38px}.account-history article{padding:22px 0;border-bottom:1px solid #303039}.account-history h3{font-size:16px;font-weight:500;font-family:var(--body);line-height:1.6}.account-history p{font-size:12px;color:#92929f;line-height:1.9;margin-top:8px}.account-guest{margin-top:30px}.account-guest p{margin-bottom:25px}.account-guest a{margin-right:25px;font-size:12px}
@media(max-width:650px){.account-page{padding-top:40px}.account-form{padding:24px 20px}.account-form .field input{font-size:16px}.account-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.account-dashboard-grid{grid-template-columns:1fr}.account-status-card,.account-next-detail{padding:27px 23px}.account-status-card h2{font-size:27px}.account-history h2{font-size:25px}}

.auth-open{overflow:hidden}.auth-dialog{width:min(500px,calc(100% - 30px));max-height:92dvh;overflow:auto;border:1px solid #41414a;border-radius:16px;background:linear-gradient(145deg,#1e1e23,#111115 70%);color:#eeeeF2;padding:30px;margin:auto;box-shadow:0 30px 100px #0009}.auth-dialog[open]{display:block}.auth-dialog [hidden]{display:none!important}.auth-dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.auth-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}.auth-dialog-top img{width:150px;height:auto}.auth-dialog-top button{background:none;border:1px solid #484851;border-radius:30px;color:#bdbdc7;padding:9px 15px;font-size:11px;min-height:40px}.auth-switch{display:flex;gap:24px;border-bottom:1px solid #35353e;margin-bottom:25px}.auth-switch button{background:none;border:0;border-bottom:1px solid transparent;color:#90909b;font-size:12px;padding:0 0 14px}.auth-switch button[aria-pressed=true]{color:#f1f1f6;border-color:#e0e0e7}.auth-dialog h2{font-family:var(--body);font-size:30px;font-weight:400;letter-spacing:-.04em;line-height:1.3;margin-bottom:13px}.auth-dialog>p{font-size:12px;color:#9999a5;line-height:1.8;margin-bottom:25px}.auth-dialog .field{margin-bottom:21px}.auth-dialog .field label{font-size:11px;color:#c6c6d0}.auth-dialog .field input{font-size:14px;border:1px solid #41414c;background:#101014;border-radius:7px;min-height:48px}.auth-dialog .field-help{font-size:10px;line-height:1.7;margin-top:9px;color:#858592}.auth-dialog .button{width:100%;justify-content:center;letter-spacing:0;text-transform:none;font-size:12px;margin-top:15px}.auth-dialog .consent label{font-size:11px;line-height:1.8;color:#a8a8b5}.auth-dialog .consent input{accent-color:#dddde4}.auth-dialog .inline-button{font-size:inherit;text-transform:none;letter-spacing:0}.auth-feedback{font-size:12px;line-height:1.8;color:#deb3b0;margin-top:15px}.auth-feedback:empty{display:none}.auth-page-button{margin-top:28px}.auth-dialog button:focus-visible,.auth-dialog input:focus-visible{outline:2px solid #e7e7ef;outline-offset:4px}.password-intro,#password-account-label{font-size:12px;line-height:1.8;color:#aaaab5;margin-bottom:24px}#password-account-label{overflow-wrap:anywhere;color:#dddde5}
.account-garage{margin-top:35px;border-top:1px solid #32323c;padding-top:30px}.account-garage-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.account-garage h2{font-family:var(--body);font-size:27px;font-weight:400;letter-spacing:-.04em;margin:12px 0}.account-garage h3{font-family:var(--body);font-size:17px;font-weight:500;line-height:1.6;letter-spacing:-.02em}.account-garage-heading p,.profile-vehicle-list>p{font-size:12px;line-height:1.8;color:#92929f}.account-garage .text-link{font-size:11px;letter-spacing:0;text-transform:none}.profile-vehicle-list{display:grid;grid-template-columns:1fr 1fr;gap:17px}.profile-vehicle-list>p{grid-column:1 / -1}.profile-vehicle-card{border:1px solid #383842;background:#17171d;border-radius:11px;padding:23px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-width:0}.profile-vehicle-card p{font-size:11px;line-height:1.8;color:#9696a4;overflow-wrap:anywhere}.profile-vehicle-card-actions{display:flex;gap:23px}.profile-vehicle-card-actions button{font-size:11px;padding:5px 0;background:none;border:0;border-bottom:1px solid #666671;color:#d0d0db}.profile-vehicle-form{margin-top:25px;border:1px solid #3d3d48;border-radius:12px;padding:28px;background:#15151a}.profile-vehicle-fields{display:grid;grid-template-columns:110px 1fr 1fr;gap:0 17px}.profile-vehicle-fields .field:last-child{grid-column:1 / -1;max-width:350px}.profile-vehicle-form .field{margin-top:22px}.profile-vehicle-form .field label{font-size:11px;color:#b9b9c5}.profile-vehicle-form .field input,.profile-vehicle-form .field select{border:1px solid #41414d;background:#101014;border-radius:7px;font-size:13px}.profile-vehicle-form .field-help{font-size:11px;line-height:1.9;color:#aaaab5;margin-top:16px}.profile-vehicle-actions{display:flex;align-items:center;gap:26px;margin-top:25px}.profile-vehicle-actions .button{font-size:12px;text-transform:none;letter-spacing:0}.booking-saved-vehicle-field{margin-bottom:26px!important;max-width:480px}
@media(max-width:600px){.auth-dialog{padding:26px 23px;border-radius:13px}.auth-dialog-top img{width:140px}.auth-dialog .field input{font-size:16px}.auth-dialog h2{font-size:28px}.auth-switch{gap:22px}.account-toolbar>div{flex-wrap:wrap}.account-garage-heading{align-items:flex-start;flex-direction:column;gap:16px}.profile-vehicle-list{grid-template-columns:1fr}.profile-vehicle-form{padding:24px 20px}.profile-vehicle-fields{grid-template-columns:1fr 1fr;gap:0 13px}.profile-vehicle-fields .field:nth-child(3){grid-column:1 / -1}.profile-vehicle-form .field input,.profile-vehicle-form .field select{font-size:16px}.profile-vehicle-actions{gap:22px}.profile-vehicle-actions .button{flex:1}}
.auth-dialog input:-webkit-autofill,.account-page input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #101014 inset;-webkit-text-fill-color:#eeeef2;caret-color:#eeeef2}
.profile-vehicle-category-field{max-width:420px!important}.profile-vehicle-category-field label{display:flex;align-items:center;justify-content:space-between;gap:20px}.profile-vehicle-category-field label>span{font-size:9px;color:#858591;letter-spacing:.02em}.profile-vehicle-category-field output{display:block;min-height:48px;padding:12px 14px;border:1px solid #3a3a44;border-radius:7px;background:linear-gradient(135deg,#1d1d23,#151519);color:#dedee6;font-size:13px;line-height:1.8}.profile-vehicle-category-field output[data-state=review]{color:#aaaab5;border-color:#36363f}.profile-vehicle-category-field output[data-state=matched]{border-color:#62626d}.profile-vehicle-form #profile-vehicle-match{max-width:600px;font-size:11px;line-height:1.8;margin-top:7px;color:#9696a2}

.account-toolbar p,
.account-history h3,
.profile-vehicle-card h3 {
  overflow-wrap: anywhere;
}

@media (max-width: 650px) {
  .account-dashboard-grid,
  .profile-vehicle-list { grid-template-columns: minmax(0, 1fr); }
  .account-lead,
  .account-toolbar p,
  .account-status-card p,
  .account-next-detail p,
  .account-history p,
  .account-garage-heading p,
  .profile-vehicle-card p,
  .profile-vehicle-list > p,
  .account-form .field-help,
  .profile-vehicle-form #profile-vehicle-match { font-size: 13px; }
  .account-form .field label,
  .profile-vehicle-form .field label { font-size: 13px; }
  .account-form .field input,
  .profile-vehicle-form .field input,
  .profile-vehicle-form .field select { min-height: 49px; font-size: 16px; }
  .account-toolbar > div { flex-wrap: wrap; gap: 7px 12px; }
  .account-toolbar button,
  .account-toolbar .text-link,
  .account-garage .text-link,
  .profile-vehicle-card-actions button,
  .account-guest .text-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 13px;
  }
  .profile-vehicle-card-actions { gap: 16px; }
  .profile-vehicle-card-actions button { padding-inline: 8px; }
  .profile-vehicle-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
  .profile-vehicle-fields .field:nth-child(3) { grid-column: 1 / -1; }
  .profile-vehicle-category-field label { flex-wrap: wrap; gap: 4px 10px; }
  .profile-vehicle-category-field label > span { font-size: 11px; }
  .profile-vehicle-actions { gap: 12px; flex-wrap: wrap; }
  .profile-vehicle-actions .button { flex: 1; min-width: 0; }
  .profile-vehicle-actions .text-link { padding-inline: 5px; }
  .account-form .button,
  .account-next-detail .button,
  .auth-page-button,
  .profile-vehicle-actions .button { min-height: 48px; font-size: 14px; }
  .account-guest a { margin-right: 12px; margin-bottom: 8px; }

  .auth-dialog {
    width: min(500px, calc(100% - 24px));
    max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding: clamp(17px, 5vw, 24px);
    overscroll-behavior: contain;
    scroll-padding-block: 14px;
  }
  .auth-dialog-top { gap: 12px; margin-bottom: 14px; }
  .auth-dialog-top img { max-width: 55%; }
  .auth-dialog-top button,
  .auth-switch button { min-height: 44px; font-size: 13px; }
  .auth-switch { gap: 14px; margin-bottom: 17px; }
  .auth-switch button { padding: 9px 2px; }
  .auth-dialog > p { font-size: 13px; margin-bottom: 17px; }
  .auth-dialog .field { margin-bottom: 15px; }
  .auth-dialog .field label,
  .auth-dialog .field-help,
  .auth-dialog .consent label { font-size: 13px; }
  .auth-dialog .field input { min-height: 49px; font-size: 16px; }
  .auth-dialog .consent input { width: 21px; height: 21px; }
  .auth-dialog .button { min-height: 48px; font-size: 14px; }
}
/* Recovery and appointment history use the same account layout at every width. */
.auth-recovery-link { margin-top: 10px; }
.auth-recovery-link a,
.account-recovery-links .text-link,
.account-appointment-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 13px;
  color: #e8e8e8;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.account-recovery-links { margin-top: 16px; }
.account-page [data-account-screen] > .account-feedback { margin-top: 18px; }
.account-email-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  margin-bottom: 22px;
  padding: 10px 0;
  border-bottom: 1px solid #303030;
  font-size: 13px;
}
.account-email-status button { min-height: 44px; font-size: 13px; }
.account-email-status .account-feedback { width: 100%; }
.account-email-status .account-feedback:empty { display: none; }
.account-appointment-link { margin-top: 6px; }

.account-offers{margin:0 0 26px;padding:16px 22px;border:1px solid #56565e;border-radius:12px;background:#17171b}
.account-offers h2{margin:0}
.account-offers article:last-child{border-bottom:0}
.account-offers .account-offer-link{width:fit-content;margin-top:14px;min-height:44px;gap:0}

#account-dashboard {
  --account-line:#333;
  --account-muted:#b3b3b3;
  display:grid;
  gap:clamp(16px,2.5vw,30px);
}
#account-dashboard .eyebrow {color:#bbb;font-size:11px;letter-spacing:.17em}
#account-dashboard .account-toolbar {margin:0;padding:0 0 22px;border-color:var(--account-line)}
.account-toolbar > div:first-child {display:block;min-width:0}
.account-toolbar h2 {
  font-family:var(--body);
  font-size:clamp(30px,5vw,51px);
  font-weight:500;
  letter-spacing:-.055em;
  line-height:1.12;
  margin-top:8px;
  overflow-wrap:anywhere;
}
.account-settings button,.account-settings .text-link {min-height:44px;white-space:nowrap}
.account-settings .text-link {display:inline-flex;align-items:center}
#account-dashboard .account-email-status {margin:0}
.account-dashboard-grid {grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(16px,2.5vw,30px)}
.account-status-card,.account-next-detail {
  border:1px solid var(--account-line);
  border-radius:18px;
  padding:clamp(21px,3vw,37px);
}
.account-status-card {background:linear-gradient(145deg,#232323,#101010 75%)}
.account-status-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.account-status-card h2,.account-next-detail h2 {
  font-size:clamp(25px,3.2vw,39px);
  line-height:1.14;
  margin:10px 0;
  overflow-wrap:anywhere;
}
#account-dashboard p:not(.eyebrow) {color:var(--account-muted)}
.account-points {display:grid;gap:4px;text-align:right;margin:0;min-width:0}
.account-points strong {font-size:clamp(28px,4vw,47px);line-height:1;font-variant-numeric:tabular-nums}
.account-points span {color:var(--account-muted);font-size:11px}
.account-progress {border-top:1px solid var(--account-line);margin-top:25px;padding-top:19px}
.account-progress > div {display:flex;align-items:start;justify-content:space-between;gap:10px}
#account-progress-label {font-weight:700;color:#f5f5f5}
#account-progress-count {white-space:nowrap;font-variant-numeric:tabular-nums}
#account-dashboard progress {
  width:100%;
  height:6px;
  display:block;
  margin:11px 0;
  border:0;
  border-radius:20px;
  overflow:hidden;
  background:#383838;
  color:#eee;
  accent-color:#eee;
}
#account-dashboard progress::-webkit-progress-bar {background:#383838}
#account-dashboard progress::-webkit-progress-value {background:#eee;border-radius:20px}
#account-dashboard progress::-moz-progress-bar {background:#eee;border-radius:20px}
.account-next-detail {
  min-height:220px;
  display:flex;
  align-items:end;
  background:linear-gradient(0deg,#070707 7%,#1114 100%),url('/assets/interior-detail-hero.webp') center 52% / cover;
}
.account-next-detail .button {margin-top:14px;min-height:44px}
.account-panel-heading h2 {font:500 clamp(21px,2.6vw,29px)/1.2 var(--body);letter-spacing:-.04em;margin:0}
.account-panel-heading > p {font-size:13px;line-height:1.6;margin-top:7px}
.account-panel-heading .eyebrow {margin:0 0 7px}
.account-unlockables,.account-history,.account-garage {
  margin:0;
  border:1px solid var(--account-line);
  padding:clamp(18px,2.7vw,30px);
  border-radius:16px;
  background:#121212;
}
.account-offers {border-color:#575757;background:#1c1c1c}
.account-milestones,#account-offers,#account-bookings,#account-past-bookings {display:grid;gap:12px;margin-top:16px}
.account-milestones {grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.account-milestone,.account-history .account-booking-card {
  border:1px solid var(--account-line);
  border-radius:12px;
  background:#191919;
  padding:17px;
  min-width:0;
  overflow-wrap:anywhere;
}
.account-milestone[data-status="available"] {border-color:#767676;background:#222}
.account-milestone h3,.account-booking-card h3 {font:600 17px/1.4 var(--body);margin:7px 0 0}
.account-milestone p,.account-booking-card p {font-size:13px;margin-top:6px;line-height:1.55}
.account-milestone progress:last-child {margin-bottom:0}
.account-booking-status {
  display:inline-block;
  font-size:11px;
  line-height:1.3;
  color:#ddd;
  border:1px solid #555;
  padding:4px 9px;
  border-radius:30px;
  margin-bottom:6px;
}
.account-milestone[data-status="available"] .account-booking-status,.account-offers .account-booking-status {background:#ddd;color:#111;border-color:#ddd}
.account-empty {padding:16px 0 0;border-top:1px solid var(--account-line)}
.account-garage .profile-vehicle-card,.account-garage .profile-vehicle-form {background:#191919;border-color:var(--account-line)}
.account-garage #add-profile-vehicle,.profile-vehicle-card-actions button {min-height:44px}
@media(max-width:720px) {
  .account-dashboard-grid {grid-template-columns:1fr}
  .account-settings {gap:6px 15px}
  .account-next-detail {min-height:185px}
}
@media(max-width:440px) {
  .account-status-heading {gap:10px}
  .account-points span {max-width:82px}
  .account-garage-heading {gap:6px;margin-bottom:12px}
}
