/* ELUNEXYA V77.72 - resumo do cliente e formulário recolhível */
.elx72-profile{margin:22px 0 34px;padding:20px 24px}
.elx72-profile-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.elx72-profile-person{display:flex;align-items:center;gap:13px;min-width:0}
.elx72-profile-avatar{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:16px;background:linear-gradient(135deg,#4d35b5,#047baf);color:#fff;font-size:21px}
.elx72-profile-text{min-width:0}.elx72-profile-text h2{font-size:19px;margin:3px 0 3px;overflow-wrap:anywhere}.elx72-profile-text p{margin:0;font-size:12px;color:#b5c7e2;overflow-wrap:anywhere}
.elx72-toggle{font-size:12px;min-height:42px}
.elx72-profile #profile-details{border-top:1px solid #283751;margin-top:18px;padding-top:6px}
.elx72-profile #profile-details[hidden]{display:none!important}
.elx72-profile .elx72-hint{line-height:1.5;color:#b7c7e5;font-size:13px}
.elx72-profile .fields{margin-top:18px}
.elx72-profile .elx72-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:#dae4fa;margin-top:20px}
.elx72-profile .elx72-consent input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:#735cf6}
.elx72-profile .elx72-consent a{text-decoration:underline;color:#90dbfc}
.elx72-profile input[readonly]{opacity:.8;cursor:not-allowed}
.elx72-profile .elx72-otp-panel{margin-top:18px;padding:16px;border:1px solid #30486e;background:#0c1d32;border-radius:14px}
.elx72-profile .elx72-otp-panel[hidden]{display:none!important}
.elx72-profile .elx72-otp-panel label{display:block;font-size:12px;font-weight:750;margin-bottom:9px}
.elx72-profile .elx72-otp-panel input{width:min(170px,100%);height:43px;border-radius:10px;border:1px solid #3d5275;background:#0d172b;color:white;padding:0 12px}
.elx72-profile .elx72-otp-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.elx72-profile .elx72-otp-panel p{font-size:11px;margin:12px 0 0}
.elx72-profile .identity-actions .primary:disabled,.elx72-profile .elx72-otp-panel .primary:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.elx72-profile{padding:16px;margin:15px 0 25px}.elx72-profile-person{gap:9px}.elx72-profile-avatar{width:43px;height:43px;flex-basis:43px}.elx72-profile-text h2{font-size:16px}.elx72-toggle{width:100%}}

/* V77.74 — cadastro com telefone e senha; OTP apenas na confirmação inicial */
.elx74-profile-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.elx74-profile-actions [hidden],.elx72-profile [hidden]{display:none!important}
.elx74-access{margin-top:17px;padding-top:16px;border-top:1px solid #283751}
.elx74-access[hidden],#client-login-form[hidden]{display:none!important}
.elx74-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.elx74-tab{border:1px solid #34466a;color:#cadcf7;background:#141e34;border-radius:10px;padding:11px 20px;min-height:43px;cursor:pointer;font-size:13px;font-weight:800}
.elx74-tab.is-current{background:linear-gradient(110deg,#6744db,#078fae);color:white;border-color:transparent}
.elx74-login>p{font-size:13px;color:#becde7;line-height:1.6}
.elx74-login-fields,.elx74-signup-passwords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:16px}
.elx74-login-fields label,.elx74-signup-passwords label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:750;min-width:0}
.elx74-login-fields input,.elx74-signup-passwords input{height:46px;max-width:100%;min-width:0;background:#0c162a;border:1px solid #344365;color:white;border-radius:12px;padding:0 14px;font:inherit;color-scheme:dark}
.elx74-login-fields input:focus,.elx74-signup-passwords input:focus{outline:2px solid #7455f7}
.elx74-login-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}
.elx74-login-actions span{font-size:12px;color:#ffadb7}
.elx74-signup-passwords[hidden]{display:none!important}
.elx74-profile-actions button:focus-visible,.elx74-tab:focus-visible{outline:2px solid #99d8ff;outline-offset:2px}
@media(max-width:620px){.elx74-login-fields,.elx74-signup-passwords{grid-template-columns:1fr}.elx74-login-actions .primary{width:100%}.elx74-profile-actions{width:100%}.elx74-profile-actions .ghost{flex:1}}

/* V77.79 - menu lateral do cliente, topbar e temas */
[hidden]{display:none!important}
body.drawer-open{overflow:hidden}
.top{position:relative;z-index:5;min-height:83px}
.top-client-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.top-guest{display:flex;align-items:center;gap:10px}
.top-ghost,.top-primary{border-radius:12px;border:1px solid #344466;color:#e9f4ff;padding:11px 15px;min-height:43px;background:#121f34;font-weight:800;cursor:pointer;font-size:13px}
.top-primary{border:0;background:linear-gradient(110deg,#7648ec,#05a6bc);color:#fff}
.top-account{display:flex;align-items:center;gap:10px;min-height:52px;border:1px solid #314361;border-radius:14px;padding:7px 12px;background:#111a2c;color:#eef8ff;cursor:pointer;max-width:min(360px,70vw);font:inherit}
.top-account-avatar{display:grid;place-items:center;border-radius:50%;width:39px;height:39px;flex:0 0 39px;background:linear-gradient(115deg,#633ee3,#0096b3)}
.top-account-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}.top-account-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;font-size:13px}.top-account-copy small{color:#b1c5e5;font-size:11px}
.top-account-menu{font-size:18px;color:#8edbef}
.client-drawer-backdrop{position:fixed;inset:0;z-index:50;background:rgba(3,8,20,.72);backdrop-filter:blur(3px)}
.client-drawer{position:fixed;top:0;right:0;bottom:0;z-index:51;display:flex;flex-direction:column;width:min(520px,100vw);height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:20px;background:#0b1426;color:#f4f7ff;border-left:1px solid #324366;box-shadow:-24px 0 80px #0009}
.client-drawer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 2px 13px;border-bottom:1px solid #283650}
.client-drawer-top h2{font-size:23px;margin:7px 0 3px}
.drawer-close{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #3a4a69;border-radius:12px;background:#152039;color:#fff;cursor:pointer;font-size:27px;line-height:1}
.client-drawer-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 10px}
.drawer-lang{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:800;color:#ccdaef}
.drawer-lang select{border-radius:11px;border:1px solid #364767;background:#121d33;color:#f4faff;padding:10px;min-height:44px;width:100%;font:inherit}
.drawer-control{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;width:100%;white-space:normal!important;text-align:center;text-decoration:none;font-size:12px}
.client-drawer #client-profile{margin:8px 0 28px;padding:14px;border-radius:16px;background:#111b30;box-shadow:none;flex-shrink:0}
.client-drawer .elx72-profile-head{align-items:flex-start}
.client-drawer .elx72-profile-person{flex:1;min-width:180px}
.client-drawer .elx74-profile-actions{display:flex;justify-content:flex-start;width:100%}
.client-drawer .elx72-toggle{width:auto}
.client-drawer .elx72-profile-avatar{width:42px;height:42px;flex-basis:42px;border-radius:13px}
.client-drawer .elx72-profile-text h2{font-size:17px}
.client-drawer .fields,.client-drawer .identity .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.client-drawer .elx74-login-fields,.client-drawer .elx74-signup-passwords{grid-template-columns:1fr}
.client-drawer .elx72-profile .fields label input,.client-drawer .elx72-profile .fields label select{width:100%}
.client-drawer .elx72-profile .primary{max-width:100%}
.client-drawer .elx72-consent{line-height:1.5}
.client-drawer .elx74-tabs{gap:8px}
.client-drawer .elx74-tab{padding:10px 13px}
.location-privacy{margin:10px 0 0;color:#8fa3c5;font-size:11px;line-height:1.4}
#location-status{min-height:18px;margin:13px 0 0;font-size:13px;color:#8be1df;overflow-wrap:anywhere}
button:disabled{opacity:.6;cursor:wait}
.top-guest button:focus-visible,.top-account:focus-visible,.drawer-close:focus-visible,.drawer-control:focus-visible{outline:2px solid #5ed8eb;outline-offset:2px}
@media(max-width:630px){.top{padding:10px 14px;gap:8px}.top .brand img{width:42px;height:42px}.top .brand{gap:6px}.top .brand small{font-size:7px}.top-ghost,.top-primary{padding:10px 11px;font-size:12px}.top-account{max-width:min(290px,68vw);padding:6px 8px}.top-account-copy strong{max-width:145px}.top-account-menu{font-size:15px}.client-drawer{padding:14px}.client-drawer #client-profile{padding:12px}.client-drawer .fields,.client-drawer .identity .fields{grid-template-columns:1fr}.client-drawer-settings{gap:8px}}
/* light mode overrides original static dark palette, retaining ELUNEXYA brand gradients */
html[data-theme="light"]{color-scheme:light;background:#f5f7fc;color:#15243e;--muted:#4b5c79;--line:#d7dff1}
html[data-theme="light"] body{color:#15243e;background:radial-gradient(ellipse at 0% 0%,rgba(105,93,226,.11),transparent 40%),#f5f7fc}
html[data-theme="light"] .top,html[data-theme="light"] footer{background:#fff;border-color:#d8dfee}
html[data-theme="light"] .brand small{color:#087b95}
html[data-theme="light"] .search,html[data-theme="light"] .identity,html[data-theme="light"] .card{background:#fff;border-color:#d4deec;color:#17253e;box-shadow:0 9px 25px rgba(23,42,83,.06)}
html[data-theme="light"] .hero p,html[data-theme="light"] .search p,html[data-theme="light"] .identity p,html[data-theme="light"] .info{color:#495c75}
html[data-theme="light"] .eyebrow{color:#007c9a}
html[data-theme="light"] .fields input,html[data-theme="light"] .fields select,html[data-theme="light"] .elx74-login-fields input,html[data-theme="light"] .elx74-signup-passwords input,html[data-theme="light"] .elx72-otp-panel input{background:#fff;border-color:#c6d4e7;color:#182640;color-scheme:light}
html[data-theme="light"] .fields select option{background:#fff;color:#182640}
html[data-theme="light"] .ghost,html[data-theme="light"] .top-ghost,html[data-theme="light"] .elx74-tab{background:#f0f4fb;border-color:#c8d5e8;color:#243b62}
html[data-theme="light"] .notice{background:#ebe5ff;color:#493a94;border-color:#bdadf9}
html[data-theme="light"] .cat{color:#485d99}
html[data-theme="light"] .logo,html[data-theme="light"] .logo img{background:#f0f4fe;border-color:#d3def2}
html[data-theme="light"] .chip,html[data-theme="light"] .empty{background:#f4f7fd;border-color:#c9d5e5;color:#3d526c}
html[data-theme="light"] .top-account{background:#fff;border-color:#c6d3e7;color:#183250}
html[data-theme="light"] .top-account-copy small{color:#526883}
html[data-theme="light"] .location-privacy{color:#62738e}
html[data-theme="light"] #location-status{color:#087588}
html[data-theme="light"] .booking-notice{background:#fff;color:#142942;border-color:#a0afc9}
html[data-theme="light"] .booking-notice p{color:#44566e}
html[data-theme="light"] .booking-notice-company{color:#203b57!important}
html[data-theme="light"] footer a{color:#315f9c}
/* Drawer is intentionally dark on both themes to preserve legible account controls. */
@media(prefers-reduced-motion:reduce){.client-drawer-backdrop{backdrop-filter:none}}

html[data-theme="light"] .client-drawer .identity{background:#111b30;border-color:#2e4064;color:#eef7ff;box-shadow:none}
html[data-theme="light"] .client-drawer .identity p,html[data-theme="light"] .client-drawer .elx72-profile-text p,html[data-theme="light"] .client-drawer .elx72-hint{color:#b9cae5}
html[data-theme="light"] .client-drawer .fields input,html[data-theme="light"] .client-drawer .fields select,html[data-theme="light"] .client-drawer .elx74-login-fields input,html[data-theme="light"] .client-drawer .elx74-signup-passwords input{background:#0d172c;border-color:#394a70;color:#f2f8ff;color-scheme:dark}
html[data-theme="light"] .client-drawer .fields label span,html[data-theme="light"] .client-drawer .identity h2,html[data-theme="light"] .client-drawer .elx72-consent{color:#eef7ff}
html[data-theme="light"] .client-drawer .elx72-consent a{color:#9de0ff}

/* ELUNEXYA V77.107 - conta, e-mail, recuperação e histórico na mesma gaveta */
.elx107-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.client-drawer{width:min(650px,100vw);max-width:100vw}
.client-drawer-toolbar{display:flex;align-items:center;gap:9px;grid-column:1/-1}
.client-drawer-settings{grid-template-columns:1fr 1fr;margin:12px 0 10px}
.drawer-lang{position:relative;display:flex;flex-direction:row;align-items:center;width:max-content;max-width:calc(100% - 60px);gap:2px;border:1px solid #19628c;border-radius:13px;background:#07182b;padding:0 10px;min-height:45px;color:#f9fcff}
.drawer-lang select{width:auto;max-width:165px;min-height:42px;background:transparent!important;border:0!important;padding:6px 4px!important;color:#fff!important;font-size:12px;font-weight:800;cursor:pointer}
.drawer-globe{font-size:15px;line-height:1}
.client-drawer-toolbar .drawer-theme-icon{width:46px;min-width:46px;max-width:46px;height:45px;padding:0;font-size:20px;color:#ffca42;background:#081b2c;border:1px solid #155d80}
.client-drawer-settings>.drawer-control{grid-row:2}
.elx107-quick-actions{margin:4px 0 6px}
.elx107-bookings-button{display:flex;justify-content:center;align-items:center;width:100%;min-height:46px;border:1px solid #2379a5;background:linear-gradient(110deg,#32236c,#075776);color:#fff;font-weight:850;border-radius:12px;cursor:pointer}
.elx107-bookings-button[aria-expanded="true"]{border-color:#8a67ff;background:linear-gradient(110deg,#6041b9,#08799a)}
.elx107-section{padding:17px;margin:12px 0 20px;background:#101b30;border:1px solid #2e4363;border-radius:16px;color:#f4f8ff}
.elx107-section h3{font-size:18px;margin:4px 0 12px;color:#fff}
.elx107-section p{line-height:1.5;color:#b9cae5;font-size:12px}
.elx107-section label{display:grid;gap:8px;color:#dbe8ff;font-size:12px;font-weight:750;margin:10px 0}
.elx107-section input,.elx107-section select{width:100%;min-height:44px;border:1px solid #3c5578;background:#0d182d;color:#f5faff;border-radius:10px;padding:10px 12px;outline-offset:2px;font:inherit;color-scheme:dark}
.elx107-section button.primary{min-height:43px;margin-top:9px}
.elx107-email-field{grid-column:1/-1}
.elx107-email-hint{font-size:12px;color:#93cfea!important;margin:10px 0 15px;line-height:1.5}
.elx107-forgot{margin-top:14px;background:transparent;border:0;padding:6px 2px;color:#94dfff;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.elx107-back{min-height:38px;padding:8px 13px}
.elx107-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.elx107-section-head .ghost{font-size:12px;min-height:38px}
.elx107-filter-label{max-width:100%;margin:13px 0}
.elx107-muted{font-size:11px;color:#9bb1cf!important}
.elx107-bookings-list{display:grid;gap:11px;margin-top:12px}
.elx107-booking{padding:14px;background:#0b1528;border:1px solid #304669;border-radius:12px}
.elx107-booking-top{display:flex;justify-content:space-between;align-items:start;gap:9px;flex-wrap:wrap}
.elx107-booking-top strong{font-size:15px;color:#fff;max-width:100%;overflow-wrap:anywhere}
.elx107-booking-status{border:1px solid #2e6486;border-radius:30px;padding:4px 9px;font-size:11px;color:#a5e5ee;white-space:nowrap}
.elx107-booking-status.cancelado{border-color:#784351;color:#ffb9c3}.elx107-booking-status.concluido{border-color:#236a56;color:#85e3b5}
.elx107-booking dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:12px 0 0}
.elx107-booking dt{font-size:10px;color:#9aacca}.elx107-booking dd{font-size:12px;margin:2px 0 0;color:#e8f4ff;overflow-wrap:anywhere}
#client-email-status,#bookings-status,#recovery-request-result,#recovery-new-result{min-height:18px;overflow-wrap:anywhere}
@media(max-width:630px){.client-drawer{inset:0;width:100vw;max-width:none;max-height:none;height:100dvh;padding:16px;box-shadow:none;border:0}.client-drawer-settings{grid-template-columns:1fr 1fr}.client-drawer .elx107-booking dl{grid-template-columns:1fr 1fr}.drawer-lang{max-width:calc(100% - 54px)}}
html[data-theme="light"] .client-drawer .elx107-section{background:#101b30;color:#f4f8ff;border-color:#2e4363}
html[data-theme="light"] .client-drawer .elx107-section h3{color:#fff}
html[data-theme="light"] .client-drawer .elx107-section input,html[data-theme="light"] .client-drawer .elx107-section select{background:#0d182d;color:#f5faff;border-color:#3c5578}

/* V77.108 - abas recolhiveis e controles X, sem alterar outros modulos. */
.elx107-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 13px}
.elx107-quick-actions .elx107-bookings-button{min-width:0;width:100%;min-height:50px;line-height:1.35;white-space:normal;padding:9px 10px;text-align:center;font-size:12px}
.elx108-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.elx108-section-heading>div{min-width:0;flex:1}
.elx108-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.client-drawer .elx108-close{width:38px;height:38px;min-width:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid #41567c;border-radius:11px;background:#142039;color:#edf5ff;font:700 27px/1 system-ui,sans-serif;cursor:pointer;padding:0}
.client-drawer .elx108-close:hover{background:#233657;border-color:#8ca9d2}
.client-drawer .elx108-close:focus-visible{outline:2px solid #70dfff;outline-offset:2px}
.elx108-panel-actions{display:flex;justify-content:flex-end;margin:8px 0 -2px}
.client-drawer .elx107-section h3{margin-top:5px}
@media(max-width:630px){.client-drawer .elx107-quick-actions{gap:8px}.client-drawer .elx107-quick-actions .elx107-bookings-button{font-size:11px;padding:8px 6px}.client-drawer .elx108-heading-actions{gap:6px}}

/* V77.124 — reservas encerradas são somente para consulta */
.elx107-booking.elx124-ended{opacity:.64;background:#151b29!important;border-color:#586173!important;filter:grayscale(.72)}
.elx107-booking.elx124-ended .elx107-booking-status{background:#323a4a;border-color:#8993a4;color:#d2d9e5}
html[data-theme="light"] .elx107-booking.elx124-ended{background:#e4e6eb!important;color:#536075}

/* V77.125: mostrar a unidade exata no histórico do cliente. */
.elx107-booking dl .elx125-booking-place{grid-column:1 / -1;padding-top:9px;border-top:1px solid #2c405e;margin-top:5px}
.elx107-booking .elx125-booking-place dd{display:flex;flex-direction:column;gap:3px;line-height:1.4}
.elx107-booking .elx125-booking-place dd strong{font-size:12px;font-weight:700}
.elx107-booking .elx125-booking-place dd span{font-size:12px;overflow-wrap:anywhere}

/* V77.130 — Cartões Fidelidade */
.elx130-loyalty-list{display:grid;gap:12px;margin-top:16px}
.elx130-loyalty-card{border:1px solid rgba(92,162,229,.35);border-radius:16px;background:linear-gradient(145deg,rgba(82,55,143,.16),rgba(13,49,69,.18));padding:15px;color:var(--text,#edf6ff)}
.elx130-loyalty-card.elx130-inactive{opacity:.57;filter:grayscale(.7)}
.elx130-stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}
.elx130-stamp{border:1px solid rgba(92,162,229,.22);background:rgba(5,19,35,.24);border-radius:10px;min-height:43px;display:flex;align-items:center;justify-content:center;color:#7e93ac;font-size:20px}
.elx130-stamp.marked{color:#d4a7ff;background:rgba(117,75,225,.22);border-color:rgba(178,131,255,.5)}
.elx130-loyalty-foot{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;font-size:.82rem}
.elx130-state{font-size:.75rem;border:1px solid #347e85;padding:4px 8px;border-radius:999px}
.elx130-goal{color:#76e6c4;font-weight:700}
@media(max-width:540px){.elx130-stamps{gap:5px}.elx130-stamp{min-height:37px;font-size:18px}}
