.customer-page{margin:0;background:var(--cream);min-height:100vh;font-family:Poppins,Arial,sans-serif}
.customer-header{background:var(--navy);color:#fff;padding:1.1rem max(1.2rem,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem}
.customer-header a{color:#fff;text-decoration:none;font-size:.85rem}.customer-header .customer-brand{font:700 1.6rem Georgia,serif}.customer-brand span{color:var(--gold);font:700 .9rem Arial,sans-serif;margin-right:.4rem}
.customer-card{width:min(560px,calc(100% - 2rem));margin:3rem auto;padding:clamp(1.3rem,5vw,2.8rem);background:#fff;border:1px solid #e5e1d8;border-top:4px solid var(--gold);box-shadow:0 12px 35px #071a3509}
.customer-page h1{font:600 clamp(2.4rem,7vw,3.5rem)/1.1 Georgia,serif;letter-spacing:-.03em;margin-bottom:1rem}.customer-page h2{font:600 1.5rem/1.25 Georgia,serif;letter-spacing:0}
.customer-eyebrow{color:#80601f;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700}
.customer-page label{display:block;font-weight:600;margin-bottom:.4rem}.customer-page input{width:100%;min-height:48px;font:inherit;font-size:1.1rem;border:1px solid #8792a0;border-radius:4px;padding:.7rem}.customer-page input:focus{outline:3px solid #c9a55b80;outline-offset:2px}
.customer-page small{display:block;color:var(--muted);margin:.5rem 0 1.2rem}.customer-page button,.customer-page .customer-button{min-height:46px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:4px;padding:.75rem 1.15rem;font:600 .9rem Arial,sans-serif;cursor:pointer}.customer-page button:focus-visible,.customer-page a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.customer-page button:disabled{opacity:.55;cursor:default}
.customer-page .secondary{background:#fff;color:var(--navy)}.customer-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}#otp{letter-spacing:.45em;font-size:1.5rem}#authStatus{color:#784c16;min-height:1.75em}.customer-footnote{margin-top:2rem;font-size:.8rem;color:var(--muted)}.customer-page a{color:var(--navy)}.customer-header a{color:#fff}
.customer-dashboard{width:min(940px,calc(100% - 2rem))}.customer-intro{background:var(--cream);padding:1.3rem;margin:1.5rem 0}.customer-intro p:last-child{margin-bottom:0}.customer-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.customer-sections section{border:1px solid #e5e1d8;padding:1.3rem}.customer-sections span{font-size:.75rem;color:var(--muted)}.customer-page [hidden]{display:none!important}
/* Keep Logout session-gated while sharing the account heading's grid row. */
.customer-dashboard{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem}
.customer-dashboard>* , .customer-dashboard #accountContent>*{grid-column:1/-1;min-width:0}
.customer-dashboard #accountContent{display:contents}
.customer-dashboard>h1{grid-column:1;grid-row:2}
.customer-dashboard #logout{grid-column:2;grid-row:2;align-self:center;justify-self:end}
@media(max-width:540px){.customer-dashboard{grid-template-columns:minmax(0,1fr)}.customer-dashboard #logout{grid-column:1;grid-row:3;justify-self:start;margin-bottom:.5rem}}
@media(max-width:540px){.customer-card{margin:1.5rem auto}.customer-sections{grid-template-columns:1fr}.customer-header .customer-brand{font-size:1.3rem}.customer-header a{font-size:.75rem}}
/* Account profile and request forms retain the existing account palette. */
.customer-sections input,.customer-sections select,.customer-sections textarea{box-sizing:border-box;width:100%;padding:.7rem;border:1px solid #b8b4a9;border-radius:8px;background:#fff;color:#17243b;font:inherit}
.customer-sections label{display:block;margin-top:.8rem;font-weight:600}
.customer-sections form{margin:1rem 0;padding:1rem 0;border-top:1px solid #d8cdaa}
.customer-sections small{display:block;margin:.3rem 0 .7rem}
.customer-sections button{margin:.4rem .35rem .4rem 0}
.account-record{padding:.75rem 0;border-bottom:1px solid #d8cdaa;overflow-wrap:anywhere}
.customer-page .account-record a.account-primary-action{align-items:center;background:var(--navy);border:1px solid var(--navy);border-radius:4px;color:#fff;display:inline-flex;font:600 .9rem Arial,sans-serif;min-height:46px;padding:.75rem 1.15rem;text-decoration:none}
.customer-page .account-record a.account-primary-action:hover{background:var(--navy);color:#fff}
.customer-page .account-record a.account-primary-action:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.account-record p,#consultationDetail p{white-space:pre-wrap;overflow-wrap:anywhere}
.place-results button{display:block;width:100%;text-align:left}
.customer-sections section{min-width:0}
#consultationDetail{margin-top:1rem;border-top:2px solid #b79b50;padding-top:1rem}
.astrologer-profile{display:flex;align-items:center;gap:.85rem;min-width:0;margin:1rem 0 1.25rem;color:#17243b}.astrologer-avatar-wrap{position:relative;display:inline-flex;flex:0 0 72px;width:72px;height:72px}.astrologer-avatar{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}.astrologer-status-dot{position:absolute;right:0;bottom:0;width:15px;height:15px;border:2px solid #fff;border-radius:50%;box-sizing:content-box}.astrologer-profile-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.astrologer-profile-name{margin:0;font-size:1rem;font-weight:700;overflow-wrap:anywhere}.astrologer-profile-status{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.85rem;overflow-wrap:anywhere}.astrologer-status--available{color:#216b36}.astrologer-status--available.astrologer-status-dot{background:#218838}.astrologer-status--busy{color:#a32929}.astrologer-status--busy.astrologer-status-dot{background:#c62828}.astrologer-status--offline,.astrologer-status--unavailable{color:#626b78}.astrologer-status--offline.astrologer-status-dot,.astrologer-status--unavailable.astrologer-status-dot{background:#7a8491}
.consultation-time-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem 1rem;margin:1rem 0 1.25rem;padding:.9rem 1rem;background:var(--cream);border:1px solid #e5e1d8;border-radius:8px}.consultation-time-balance h3,.consultation-time-balance #consultationBalanceNote{grid-column:1/-1;margin:.1rem 0}.consultation-time-balance h3{font:600 1rem/1.25 Georgia,serif}.consultation-time-balance p{display:flex;flex-direction:column;gap:.2rem;margin:0;min-width:0}.consultation-time-balance p span{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.consultation-time-balance p strong{font-size:1rem;color:var(--navy);font-variant-numeric:tabular-nums}.consultation-time-balance .consultation-time-total strong{color:#80601f}.consultation-time-balance #consultationBalanceNote{font-size:.8rem;color:#536070;overflow-wrap:anywhere}
.astrologer-profile--chat{gap:1rem;margin:1rem 0}.astrologer-profile--chat .astrologer-avatar-wrap{flex-basis:76px;width:76px;height:76px}.astrologer-profile--chat h1{margin:0;font:600 clamp(1.6rem,5vw,2.2rem)/1.15 Georgia,serif;letter-spacing:-.02em}.astrologer-profile--chat .astrologer-profile-status{font-size:.9rem}
@media(max-width:600px){.astrologer-avatar-wrap{flex-basis:60px;width:60px;height:60px}.astrologer-status-dot{width:13px;height:13px}.astrologer-profile--chat .astrologer-avatar-wrap{flex-basis:60px;width:60px;height:60px}.astrologer-profile--chat h1{font-size:clamp(1.35rem,6vw,1.8rem)}.consultation-time-balance{grid-template-columns:1fr;gap:.55rem}.consultation-time-balance p{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.consultation-time-balance h3,.consultation-time-balance #consultationBalanceNote{grid-column:auto}}
.customer-sections .dob-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.customer-sections .dob-selects select{min-height:48px;font:inherit}.customer-sections .account-dob{margin:1rem 0;padding:0;border:0}.consultation-bundles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.consultation-bundle{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0!important;margin:0!important;padding:.7rem .25rem!important;background:#fff!important;color:var(--navy)!important;border:1px solid #b8b4a9!important}.consultation-bundle.selected{border:2px solid #9b7b36!important;background:#faf6ec!important}.consultation-bundle em{font-size:.68rem;color:#80601f}.consultation-bundle:disabled{opacity:.6}@media(max-width:620px){.consultation-bundles{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-sections .dob-selects{grid-template-columns:1fr}}
/* Consultation billing cards and compact payment controls. */
#chatPayment{padding:1rem 0;border-top:1px solid #d8cdaa;margin-top:1rem;overflow-wrap:anywhere}
#chatPayment button{margin:.35rem .35rem .35rem 0}#chatPayment select{display:block;max-width:100%;padding:.65rem;font:inherit}
#minuteChoices{margin:.75rem 0}#paymentStatus,#unusedCredit,#orderStatus{overflow-wrap:anywhere}
#unusedCredit{padding:.75rem;background:var(--cream)}#unusedCredit:empty{display:none}

.consultation-low-time { margin: 1rem 0; padding: 1rem; border: 1px solid #d6b66f; border-radius: .75rem; background: #fff8e8; color: #674b1f; }
.consultation-low-time p { margin: 0 0 .75rem; }
.consultation-low-time button { min-height: 44px; max-width: 100%; }
.consultation-low-time-note { color: #795c2e; }

/* Semantic navigation links sharing the existing account button treatment. */
.customer-page .customer-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.customer-page .customer-button:hover{text-decoration:underline;text-underline-offset:.15em}
