.asb-reschedule[hidden]{display:none!important}
.asb-customer-account-page .wd-page-title,.asb-customer-account-page .page-title,.asb-customer-account-page main>article>.entry-header,.asb-customer-account-page main>article>.entry-title{display:none!important}
.asb-customer{--accent:#5b49e8;max-width:1050px;margin:30px auto;padding:28px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;color:#1f2937;box-shadow:0 14px 45px rgba(15,23,42,.08);font-family:inherit}
.asb-customer header{display:flex;justify-content:space-between;align-items:center;gap:20px}
.asb-customer h2,.asb-customer h3{margin:.2em 0}
.asb-customer nav{display:flex;gap:8px;margin:24px 0;border-bottom:1px solid #e5e7eb}
.asb-customer button,.asb-customer .button{border:0;border-radius:9px;padding:11px 16px;background:var(--accent);color:#fff;text-decoration:none;cursor:pointer;font-weight:600}
.asb-customer button.secondary{background:#eef2ff;color:#3730a3}
.asb-customer button.danger{background:#fee2e2;color:#991b1b}
.asb-customer nav button{border-radius:8px 8px 0 0;background:transparent;color:#6b7280}
.asb-customer nav button.active{background:#eef2ff;color:#3730a3}
.asb-customer label{display:grid;gap:7px;font-weight:600}
.asb-customer input,.asb-customer select{width:100%;box-sizing:border-box;padding:11px;border:1px solid #d1d5db;border-radius:9px;background:#fff}
.asb-login-card{max-width:520px}
.asb-login-card form{display:grid;gap:14px}
.asb-divider{text-align:center;margin:20px 0;border-top:1px solid #e5e7eb}
.asb-divider span{position:relative;top:-12px;padding:0 10px;background:#fff}
.asb-customer-booking{margin:16px 0;padding:20px;border:1px solid #e5e7eb;border-radius:14px}
.asb-booking-head,.asb-booking-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.asb-booking-head .status{padding:6px 10px;border-radius:99px;background:#ecfdf5;color:#047857;font-size:13px}
.asb-booking-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.asb-booking-meta span{display:grid;gap:4px;padding:12px;border-radius:10px;background:#f8fafc}
.asb-booking-actions{justify-content:flex-start}
.asb-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.asb-profile-grid button{grid-column:1/-1}
.asb-email-change{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:22px}
.asb-email-change h3{grid-column:1/-1}
.asb-reschedule{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(260px,1.6fr) minmax(145px,.5fr) auto;align-items:stretch;gap:12px;width:100%;margin-top:15px}
.asb-customer .asb-reschedule input,.asb-customer .asb-reschedule select{height:auto!important;min-height:48px!important;margin:0!important;padding:11px 14px!important;line-height:24px!important;overflow:visible}
.asb-customer .asb-reschedule button{min-width:145px;min-height:48px;margin:0;line-height:1.2;white-space:normal}
.asb-customer .asb-reschedule .asb-reschedule-close{min-width:auto}
.asb-customer-message{margin-top:15px;padding:0}
.asb-customer-message.success,.asb-customer-message.error{padding:12px;border-radius:9px}
.asb-customer-message.success{background:#ecfdf5;color:#047857}
.asb-customer-message.error{background:#fef2f2;color:#b91c1c}
@media(max-width:900px){.asb-reschedule{grid-template-columns:1fr 1fr}.asb-reschedule button{grid-column:auto}}
@media(max-width:700px){.asb-customer{padding:18px}.asb-booking-meta,.asb-profile-grid,.asb-email-change,.asb-reschedule{grid-template-columns:1fr}.asb-reschedule button{grid-column:auto;width:100%}}
@media print{body *{visibility:hidden}.asb-customer-booking,.asb-customer-booking *{visibility:visible}.asb-customer-booking{position:absolute;inset:0;border:0}.asb-booking-actions,.asb-reschedule{display:none!important}}
