.customer-dialog,.customer-card { background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:24px; box-shadow:0 20px 50px rgba(15,40,55,.06); }
.customer-dialog { width:min(460px,calc(100% - 32px)); padding:32px; max-height:90dvh; overflow:auto; }
.customer-dialog::backdrop { background:rgba(10,25,35,.48); backdrop-filter:blur(4px); }
.customer-dialog h2 { font-size:1.8rem; margin:8px 0 12px; }
.customer-dialog p { line-height:1.65; color:var(--muted); }
.customer-close { position:absolute; inset-inline-end:16px; top:10px; border:0; background:transparent; color:var(--muted); font-size:1.8rem; padding:6px 12px; cursor:pointer; }
.customer-kicker { color:#009fd6; font-size:.875rem; font-weight:700; }
.customer-form { display:grid; gap:16px; }
.customer-form label { display:grid; gap:8px; font-size:1rem; font-weight:600; }
.customer-form input,.customer-form select { width:100%; min-height:48px; font:inherit; padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text); }
.customer-form input:focus,.customer-form select:focus { outline:2px solid #00a9e8; outline-offset:2px; }
.customer-otp { text-align:center; letter-spacing:.4em; font-size:1.5rem!important; }
.customer-primary { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:12px 22px; border:1px solid #00a9e8; border-radius:12px; background:#00a9e8; color:#fff; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.customer-text-button { background:transparent; border:0; color:#008dbd; font:inherit; font-weight:600; cursor:pointer; padding:10px; }
.customer-primary:disabled,.customer-text-button:disabled { opacity:.55; cursor:wait; }
.customer-message { margin:0; min-height:24px; font-size:.9375rem; }
.customer-form [hidden],.account-main [hidden],.customer-dialog [hidden] { display:none!important; }
.account-body { background:var(--page-scroll-bg-start,var(--bg)); }
.account-header { position:sticky!important; top:0; z-index:100; background:var(--surface); }
.account-header .site-nav { min-height:82px; gap:24px; }
.account-header #accountTheme svg { display:block!important;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8; }
.account-header #accountTheme .theme-toggle-text { white-space:nowrap; }
body.account-body .account-main { padding-top:40px!important; }
.account-header-actions { display:flex; align-items:center; gap:12px; }
.account-main { max-width:1160px; padding:64px 24px 96px; margin:0 auto; }
.account-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.account-heading h1 { font-size:clamp(2rem,4vw,3.2rem); margin:10px 0; line-height:1.2; }
.account-heading p,.customer-muted { color:var(--muted); line-height:1.65; }
.account-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); align-items:start; gap:24px; }
.customer-card { padding:28px; margin-bottom:24px; }
.customer-card h2 { font-size:1.4rem; margin:0 0 18px; }
.customer-card p { line-height:1.65; }
.account-login { max-width:580px; margin:24px auto; text-align:center; padding:44px 32px; border-top:3px solid #00a9e8; }
.account-login h2 { font-size:1.75rem; }
.account-login .customer-primary { margin-top:16px; }
.account-list { display:grid; gap:0; }
.account-row { padding:20px 0; border-top:1px solid var(--border); overflow-wrap:anywhere; }
.account-row:first-child { border-top:0; padding-top:0; }
.account-row h3 { font-size:1.15rem; margin:0 0 6px; }
.account-row p { margin:6px 0; }
.account-tag { display:inline-block; font-size:.875rem; font-weight:600; padding:4px 10px; border-radius:20px; background:var(--surface-2); color:var(--muted); }
.account-tag-upcoming { background:rgba(0,169,232,.1); color:#0088b7; }
.account-price { font-size:1.5rem; font-weight:700; }
.account-profile-value { display:block; font-size:1.05rem; color:var(--text); overflow-wrap:anywhere; }
.account-success-link { display:inline-block; color:#008dbd; font-weight:700; margin-top:12px; }
.account-grid > *, .account-grid > div > *, .account-grid aside > * { min-width:0; }
.account-shortcuts { grid-column:1/-1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr));gap:14px; }
.account-shortcut { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;min-height:140px;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);text-decoration:none;font-weight:700; }
.account-icon { display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:14px;background:rgba(0,169,232,.08);color:#009fd6; }
.account-icon svg { width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.account-row > .account-icon { margin-bottom:14px; }
.account-shortcut,.account-car-card,.account-choice { transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease; }
.account-shortcut[aria-current],.account-choice[aria-pressed="true"] { border-color:#00a9e8;background:rgba(0,169,232,.07);box-shadow:0 8px 22px rgba(0,169,232,.09); }
@media(hover:hover) {
  .account-shortcut:hover,.account-car-card:hover,.account-choice:not(:disabled):hover { transform:translateY(-4px);border-color:#00a9e8;box-shadow:0 16px 38px rgba(0,169,232,.12); }
}
.account-shortcut:focus-visible,.account-car-select:focus-visible,.account-choice:focus-visible { outline:2px solid #00a9e8;outline-offset:4px; }
.account-main section { scroll-margin-top:110px; }
.account-main section:focus { outline:none; }
.account-cancellation-policy,.customer-remember-note,.customer-cancellation-note { font-size:.85rem;line-height:1.7;margin:16px 0 0; }
.account-booking-actions button:disabled { opacity:.55;cursor:not-allowed; }
#accountCars { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;margin-bottom:16px; }
.account-car-card,.account-car-card:first-child { padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface); }
.account-car-select { display:flex;flex-direction:column;gap:16px;align-items:flex-start;width:100%;padding:0 0 8px;background:none;border:0;color:var(--text);font:inherit;cursor:pointer;text-align:start; }
.account-car-select strong { font-size:1.1rem; }
.account-car-card .customer-text-button { padding-inline:0;margin-inline-end:16px;font-size:.9rem; }
.account-choice-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px; }
.account-choice { min-height:60px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer; }
.account-choice-grid p { grid-column:1/-1; }
.customer-form .account-native-select { position:absolute;width:1px;height:1px;min-height:0;opacity:0;overflow:hidden;clip-path:inset(50%);padding:0;border:0;pointer-events:none; }
.account-row .customer-form { margin-top:20px;padding-top:20px;border-top:1px solid var(--border); }
.account-price { direction:ltr;unicode-bidi:isolate;text-align:right; }
@media(prefers-reduced-motion:reduce) { .account-shortcut,.account-car-card,.account-choice { transition:none;transform:none!important; } }
@media(max-width:700px) {
  .account-main { padding:36px 16px 64px; }
  .account-grid { grid-template-columns:1fr; }
  .account-heading { align-items:start; flex-direction:column; gap:12px; }
  .customer-card { padding:22px; }
  .customer-dialog { padding:28px 22px; }
  .account-header .site-nav { flex-wrap:wrap; padding-block:12px; justify-content:space-between; }
  .account-header-actions { font-size:.9rem; }
  .account-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .account-shortcut { min-height:114px;padding:16px;gap:10px; }
  .account-shortcut:last-child { grid-column:1/-1;flex-direction:row;justify-content:flex-start;min-height:76px; }
}
