/* Zerivo Individual — scoped styles to coexist with WordPress themes. */
.hsi-root{--hsi-accent:#6a0dad;--hsi-ink:#1f2135;--hsi-muted:#73758d;--hsi-border:#e9e6f0;--hsi-bg:#f7f6fb;--hsi-radius:16px;color:var(--hsi-ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:0;box-sizing:border-box}.hsi-root *{box-sizing:border-box}.hsi-root [hidden]{display:none!important}.hsi-root h1,.hsi-root h2,.hsi-root h3,.hsi-root p{font-family:inherit;text-transform:none;letter-spacing:normal}.hsi-root h1{font-size:31px;line-height:1.22;font-weight:780;margin:0 0 8px;color:#22243b}.hsi-root h2{font-size:20px;line-height:1.25;font-weight:750;margin:0;color:#22243b}.hsi-root h3{font-size:16px;font-weight:730;margin:0;color:inherit}.hsi-root p{margin:0 0 12px}.hsi-root a{color:var(--hsi-accent)}.hsi-root button,.hsi-root input,.hsi-root select,.hsi-root textarea{font:inherit}.hsi-root button{cursor:pointer;transition:transform .08s ease,background .15s ease;color:inherit}.hsi-root button:active{transform:scale(.98)}.hsi-root button:disabled{cursor:not-allowed;opacity:.47;transform:none}.hsi-root button:focus-visible,.hsi-root input:focus-visible,.hsi-root select:focus-visible,.hsi-root textarea:focus-visible{outline:3px solid #c2a7f4;outline-offset:2px}.hsi-muted{color:var(--hsi-muted);font-size:13px}.hsi-kicker{font-size:12px;font-weight:750;letter-spacing:.06em!important;text-transform:uppercase;color:var(--hsi-accent)}.hsi-brand{display:flex;gap:9px;align-items:center;color:var(--hsi-accent);font-size:23px;letter-spacing:-.7px;font-weight:800}.hsi-brand strong{color:#27233b}.hsi-brand strong span{color:var(--hsi-accent)}.hsi-brand-light{color:#cbb6ff}.hsi-brand-light strong,.hsi-brand-light strong span{color:white}.hsi-btn{border-radius:11px!important;padding:11px 18px!important;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;border:1px solid transparent!important;font-weight:690!important;text-decoration:none!important;white-space:nowrap;background:white;box-shadow:none!important;font-size:14px!important;line-height:1.25!important}.hsi-primary{background:var(--hsi-accent)!important;color:white!important}.hsi-primary:hover{filter:brightness(.94)}.hsi-outline{background:white!important;border:1px solid #ded8ed!important;color:var(--hsi-accent)!important}.hsi-outline:hover{background:#f8f5fd!important}.hsi-soft{background:#eee9fa!important;color:#5532a0!important}.hsi-danger{color:#b93042!important;border:1px solid #ffdadf!important;background:white!important}.hsi-full{width:100%}.hsi-control{height:46px;min-height:46px;width:100%;border-radius:11px!important;border:1px solid #dedce8!important;box-shadow:none!important;padding:10px 12px!important;background:#fff!important;color:#26273e!important;line-height:1.25!important;font-size:14px!important}.hsi-control:focus{border-color:var(--hsi-accent)!important}.hsi-control[type=color]{padding:3px!important}.hsi-label{display:block;font-size:13px;font-weight:740;color:#37354c;margin:17px 0 8px}.hsi-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:19px 0}.hsi-check input{width:17px;height:17px;margin-top:3px;flex-shrink:0;accent-color:var(--hsi-accent)}.hsi-empty{border:1px dashed #dfd8ed;border-radius:14px;padding:24px 14px;text-align:center;color:#8a8299;font-size:14px;background:#fcfbfe}.hsi-alert{padding:13px;border-radius:11px;margin:13px 0;font-size:13px}.hsi-alert-error{background:#fff1f0;color:#af303a;border:1px solid #f3c6c7}.hsi-alert-warning{background:#fff7e7;color:#915a12;border:1px solid #f1ddbb}.hsi-pill{font-size:11px!important;border-radius:100px;padding:5px 10px;display:inline-flex;align-items:center;gap:5px;font-weight:720;white-space:nowrap;background:#eeecf4;color:#616276}.hsi-pill[data-status=agendada]{background:#edf1ff;color:#3153b8}.hsi-pill[data-status=confirmada]{background:#eee7ff;color:#693cbb}.hsi-pill[data-status=en_espera]{background:#e5f8ed;color:#188354}.hsi-pill[data-status=en_atencion]{background:#efe8ff;color:#7731cc}.hsi-pill[data-status=finalizada]{background:#eaeff1;color:#576679}.hsi-pill[data-status=cancelada],.hsi-pill[data-status=no_asistio]{background:#fff0f0;color:#bd3441}.hsi-paid{background:#e5f7eb;color:#14844f}.hsi-pending{background:#fff4e3;color:#a5660d}.hsi-tag{background:#efeafa;color:#6a42b0;padding:7px 12px;border-radius:50px;font-size:12px;font-weight:740}.hsi-unavailable{font-family:system-ui,sans-serif;max-width:640px;padding:32px;margin:42px auto;background:#fff;border:1px solid #e8e6ed;border-radius:18px;text-align:center;color:#252335}.hsi-login-link{display:inline-block;background:#6a0dad;color:white!important;padding:12px 18px;border-radius:10px;text-decoration:none;margin-top:15px}
/* Public booking */
.hsi-public{max-width:1200px;margin:14px auto 55px!important;padding:0 22px;background:transparent}.hsi-public-head{display:flex;justify-content:space-between;align-items:center;padding:18px 0 29px}.hsi-public-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start}.hsi-profile,.hsi-book-card{background:#fff;border:1px solid var(--hsi-border);border-radius:21px;box-shadow:0 12px 36px #39266d0a}.hsi-profile{padding:36px 28px}.hsi-avatar{width:82px;height:82px;border-radius:21px;background:#f0e8fc;color:var(--hsi-accent);font-size:36px;font-weight:780;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:17px}.hsi-avatar img{width:100%;height:100%;object-fit:cover}.hsi-profile h2{font-size:23px;margin:0 0 5px}.hsi-profile p{color:#645e75;margin-bottom:12px}.hsi-profile-info{font-size:13px;color:#5f5b70;border-top:1px solid var(--hsi-border);padding-top:15px;margin-top:18px}.hsi-bio{margin-top:15px;font-size:13px;color:#6e6b80}.hsi-profile-note{font-size:13px;line-height:2.5;color:#63547f;border-top:1px solid var(--hsi-border);margin-top:21px;padding-top:15px}.hsi-book-card{padding:29px 34px 35px;min-height:510px}.hsi-steps{display:flex;justify-content:space-between;gap:5px;padding:0 0 23px;margin-bottom:22px;border-bottom:1px solid var(--hsi-border)}.hsi-steps span{display:flex;align-items:center;gap:7px;font-size:12px;color:#9692a6;font-weight:730}.hsi-steps i{font-style:normal;display:grid;place-items:center;border-radius:50%;width:27px;height:27px;background:#eceaf3;color:#79748c;font-size:12px}.hsi-steps span.is-active{color:var(--hsi-accent)}.hsi-steps span.is-active i{background:var(--hsi-accent);color:white}.hsi-steps span.is-done i{background:#def4e7;color:#15814c}.hsi-sub{color:#77738d;font-size:14px;margin:0 0 23px!important}.hsi-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;min-height:46px}.hsi-slot-grid .hsi-empty{grid-column:1/-1}.hsi-slot{border:1px solid #ded9eb!important;background:#fff!important;padding:12px 4px!important;border-radius:10px!important;font-size:14px!important;font-weight:690!important}.hsi-slot.active,.hsi-slot:hover{border-color:var(--hsi-accent)!important;color:var(--hsi-accent)!important;background:#f7f2ff!important}.hsi-summary-row{background:#f8f5fd;color:#615873;border-radius:10px;padding:12px;margin:21px 0;font-size:13px}.hsi-step .hsi-actions{display:flex;gap:10px;justify-content:space-between;margin-top:21px}.hsi-step .hsi-actions>.hsi-primary{flex:1}.hsi-success-step{text-align:center}.hsi-success-symbol{width:75px;height:75px;background:#daf5e4;color:#16854b;font-size:46px;border-radius:50%;display:grid;place-items:center;margin:18px auto}.hsi-success-step h1{margin-bottom:12px}.hsi-success-step p{max-width:410px;margin:0 auto 20px;color:#6f6a80}.hsi-confirm-card{background:#f8f5fc;border-radius:12px;padding:18px;margin:16px 0 22px;text-align:left}.hsi-confirm-card strong{display:block;margin:5px 0}.hsi-footer{text-align:center;margin-top:22px;color:#868097;font-size:12px}
/* Dashboard */
.hsi-dashboard{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:720px;width:100%;max-width:1450px;margin:8px auto 30px!important;border-radius:19px;overflow:hidden;background:#f8f8fc;border:1px solid #e9e6f0;box-shadow:0 15px 45px #22153d0d}.hsi-sidebar{background:linear-gradient(163deg,#37205e,#271a47 85%);padding:28px 18px;color:white;display:flex;flex-direction:column;gap:25px}.hsi-sidebar .hsi-brand{font-size:20px;margin:0 6px}.hsi-sidebar-person{display:flex;gap:10px;align-items:center;padding:8px 5px 18px;border-bottom:1px solid #ffffff29}.hsi-sidebar-person img,.hsi-sidebar-person>span{width:39px;height:39px;border-radius:50%;object-fit:cover;background:#6e4aa7;display:grid;place-items:center}.hsi-sidebar-person strong{font-size:13px;display:block;line-height:1.2}.hsi-sidebar-person small{font-size:11px;color:#c9bfe3;display:block;margin-top:5px}.hsi-nav{display:flex;flex-direction:column;gap:7px}.hsi-nav button{width:100%;background:transparent!important;border:none!important;border-radius:11px!important;padding:12px 16px!important;color:#e3d9f1!important;text-align:left!important;font-size:15px!important;font-weight:690!important;display:flex!important;gap:12px}.hsi-nav button.active,.hsi-nav button:hover{background:#734dc1!important;color:#fff!important}.hsi-sidebar-bottom{display:flex;flex-direction:column;gap:13px;margin-top:auto;padding:10px 8px}.hsi-sidebar-bottom a{color:#d8c9ff;font-size:12px;text-decoration:none}.hsi-dash-main{min-width:0;padding:26px 30px 40px}.hsi-dash-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.hsi-dash-top h1{margin-top:3px;font-size:29px}.hsi-dash-top p{margin-bottom:0}.hsi-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:23px}.hsi-stats>div{background:white;border:1px solid var(--hsi-border);border-radius:16px;padding:17px 20px}.hsi-stats>div span{display:block;color:#797389;font-size:13px;font-weight:650;margin-bottom:7px}.hsi-stats>div strong{display:block;font-size:27px;letter-spacing:-1px;color:#2c2540}.hsi-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;flex-wrap:wrap}.hsi-day-controls,.hsi-toolbar-actions{display:flex;gap:8px;align-items:center}.hsi-day-controls .hsi-control{width:157px}.hsi-icon-btn{height:43px;min-width:43px;display:inline-grid!important;place-items:center;border:1px solid var(--hsi-border)!important;border-radius:10px!important;background:white!important;font-size:24px!important;padding:0!important}.hsi-panel{background:#fff;border:1px solid var(--hsi-border);border-radius:16px;padding:23px;margin-bottom:17px}.hsi-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.hsi-section-head h2{margin:0 0 5px}.hsi-section-head p{margin:3px 0 0}.hsi-appointments{display:flex;flex-direction:column;gap:9px}.hsi-appointment{border:1px solid #e7e5ee;border-radius:13px;padding:14px;display:grid;grid-template-columns:75px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff}.hsi-appointment-time{font-weight:790;font-size:15px;padding-right:9px;border-right:1px solid #e8e5ee}.hsi-appointment-title{font-weight:770;font-size:14px;color:#29273a}.hsi-appointment-meta{display:block;color:#77748a;font-size:12px;margin-top:3px}.hsi-appointment-state{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.hsi-appointment-actions{display:flex;align-items:center;justify-content:end;gap:7px;flex-wrap:wrap}.hsi-mini-btn{border:1px solid #e0dbea!important;background:white!important;border-radius:9px!important;padding:7px 9px!important;font-size:12px!important;font-weight:720!important;min-height:34px}.hsi-mini-btn:hover{background:#f7f4ff!important}.hsi-status-select{border:1px solid #e5e0ed!important;border-radius:9px!important;padding:7px!important;background:#faf9fd!important;font-size:12px!important;width:132px;height:35px}.hsi-table-wrap{overflow-x:auto}.hsi-table{width:100%;border-collapse:collapse;font-size:13px;min-width:550px}.hsi-table th{text-align:left;color:#7a7589;font-size:12px;font-weight:700;padding:12px;background:#faf9fd}.hsi-table td{padding:14px 12px;border-bottom:1px solid #f0edf4}.hsi-table td strong{font-size:13px;color:#2b263f}.hsi-table td small{font-size:12px;color:#838097}.hsi-search{max-width:270px}.hsi-hours-table{display:grid;gap:9px}.hsi-hour-row{display:grid;grid-template-columns:98px 1fr 1fr;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #f3eff7}.hsi-hour-row strong{font-size:13px}.hsi-hour-pair{display:flex;align-items:center;gap:6px}.hsi-hour-pair input{min-width:0;flex:1;width:80px}.hsi-hour-pair span{color:#978eaa}.hsi-block-row,.hsi-service-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #efecf4;padding:14px 0}.hsi-block-row strong,.hsi-service-row strong{font-size:14px}.hsi-block-row small,.hsi-service-row small{display:block;color:#77738b;font-size:12px;margin-top:4px}.hsi-mobile-nav,.hsi-top-mobile-brand{display:none!important}#hsi-dash-toast{padding:11px 15px;margin:0 0 17px;border:1px solid #c6e5d4;border-radius:10px;background:#eaf8ef;color:#1b7048;font-size:13px}#hsi-dash-toast.error{background:#fff0f0;border-color:#f2c1c8;color:#ae253b}
/* Modal */
.hsi-modal-overlay{position:fixed;inset:0;background:#20173399;display:flex;align-items:center;justify-content:center;padding:18px;z-index:999999;overflow-y:auto}.hsi-modal{width:min(100%,575px);max-height:92vh;overflow-y:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px #130d304d;padding:24px}.hsi-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.hsi-modal-header .hsi-icon-btn{border:none!important;font-size:27px!important}.hsi-modal form{display:block}.hsi-modal .hsi-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hsi-modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.hsi-modal .hsi-radio-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hsi-modal .hsi-radio-row label{border:1px solid #e7e1ef;padding:10px 8px;border-radius:11px;font-size:12px;cursor:pointer}.hsi-modal .hsi-radio-row input{accent-color:var(--hsi-accent)}.hsi-modal .hsi-alert-warning{margin-top:18px}
@media(max-width:1100px){.hsi-dashboard{grid-template-columns:200px minmax(0,1fr)}.hsi-sidebar{padding:22px 12px}.hsi-dash-main{padding:24px 17px}.hsi-appointment{grid-template-columns:60px minmax(0,1fr)}.hsi-appointment-actions{grid-column:2;justify-content:start}.hsi-public-grid{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:760px){.hsi-public{padding:0 12px;margin:0 auto 30px!important}.hsi-public-head{padding:19px 5px}.hsi-brand{font-size:20px}.hsi-public-grid{grid-template-columns:1fr;gap:13px}.hsi-profile{padding:19px;display:grid;grid-template-columns:68px 1fr;column-gap:15px;align-items:center}.hsi-avatar{grid-row:1/3;width:63px;height:63px;border-radius:16px;margin:0}.hsi-profile h2{font-size:19px}.hsi-profile p{margin:0}.hsi-profile-info,.hsi-bio{grid-column:1/-1;margin-top:11px}.hsi-profile-note{display:none}.hsi-book-card{padding:21px 18px;min-height:420px}.hsi-slot-grid{grid-template-columns:repeat(3,1fr)}.hsi-public .hsi-steps span{font-size:0}.hsi-public .hsi-steps i{font-size:13px}.hsi-book-card h1{font-size:26px}.hsi-dashboard{display:block;margin:0 auto 20px!important;border-radius:0;min-height:100vh;padding-bottom:70px}.hsi-sidebar{display:none}.hsi-dash-main{padding:17px 14px 36px}.hsi-dash-top{display:block}.hsi-top-mobile-brand{display:flex!important;gap:8px;align-items:center;color:var(--hsi-accent);font-size:20px;margin-bottom:25px}.hsi-top-mobile-brand .hsi-mark{width:27px}.hsi-dash-top h1{font-size:25px}.hsi-top-right{margin-top:14px}.hsi-stats{gap:8px}.hsi-stats>div{padding:12px 9px}.hsi-stats>div span{font-size:11px;line-height:1.3}.hsi-stats>div strong{font-size:20px}.hsi-toolbar{display:block}.hsi-day-controls{margin-bottom:12px}.hsi-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.hsi-toolbar-actions .hsi-btn{padding:10px 8px!important;font-size:12px!important;white-space:normal}.hsi-panel{padding:14px;border-radius:14px}.hsi-appointment{grid-template-columns:55px minmax(0,1fr);padding:11px;gap:8px}.hsi-appointment-actions{grid-column:1/-1;justify-content:flex-start;margin-top:5px}.hsi-status-select{width:135px}.hsi-mobile-nav{display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:white;border-top:1px solid #eee9f5;justify-content:space-around;padding:7px max(8px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom))}.hsi-mobile-nav button{background:none!important;border:none!important;display:grid!important;justify-items:center;color:#8a8298!important;font-size:20px!important;padding:2px 5px!important;min-width:65px}.hsi-mobile-nav button.active{color:var(--hsi-accent)!important}.hsi-mobile-nav small{font-size:11px;font-weight:720}.hsi-hour-row{grid-template-columns:1fr;gap:7px}.hsi-hour-pair input{width:100%;max-width:190px}.hsi-section-head{flex-wrap:wrap}.hsi-section-head .hsi-btn{min-width:145px}.hsi-modal-overlay{padding:0;align-items:flex-end}.hsi-modal{border-radius:20px 20px 0 0;max-height:90vh;padding:20px 17px}.hsi-modal .hsi-radio-row label{font-size:11px}.hsi-modal-footer{position:sticky;bottom:-20px;background:white;padding:11px 0}}
/* Independent page shell, without inheriting a WordPress theme layout. */
body.hsi-standalone{margin:0!important;min-height:100vh;background:#f7f6fb!important;color:#202238;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important}body.hsi-standalone .hsi-standalone-content{width:100%;padding:8px 12px;max-width:none!important}body.hsi-standalone .hsi-standalone-content>p{margin:0}body.hsi-standalone .hsi-standalone-content .hsi-dashboard{margin:8px auto 20px!important}@media(max-width:760px){body.hsi-standalone .hsi-standalone-content{padding:0}}
/* Compact monthly calendar */
.hsi-month-calendar{margin-bottom:19px;border:1px solid #e9e4f0;border-radius:14px;padding:16px;background:#fbfaff}.hsi-month-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;text-transform:capitalize}.hsi-month-head strong{font-size:15px}.hsi-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.hsi-month-weekday{text-align:center;color:#847a96;font-size:12px;font-weight:730;padding:3px}.hsi-month-day{min-height:53px;display:grid;gap:2px;place-items:center;border:1px solid #eee8f5!important;background:#fff!important;border-radius:9px!important;padding:6px 3px!important;font-size:13px!important}.hsi-month-day small{font-size:10px;color:#74698e}.hsi-month-day.outside{opacity:.35}.hsi-month-day.selected{background:#eee7fc!important;border-color:var(--hsi-accent)!important;color:var(--hsi-accent)!important}.hsi-month-day:hover{border-color:var(--hsi-accent)!important}@media(max-width:760px){.hsi-month-calendar{padding:10px}.hsi-month-days{gap:3px}.hsi-month-day{min-height:44px;font-size:11px!important;padding:3px!important}.hsi-month-day small{font-size:8px}}
/* v0.2.0 — real approved Zerivo logo and branded professional access. */
.hsi-root .hsi-logo-real{display:block;width:178px;max-width:100%;height:auto;object-fit:contain}
.hsi-root .hsi-brand{min-height:38px;line-height:1;gap:0}
.hsi-root .hsi-brand-light .hsi-logo-real{filter:brightness(0) invert(1)}
.hsi-root .hsi-top-mobile-brand .hsi-logo-real{width:145px}
.hsi-root .hsi-login-head{display:flex;justify-content:center;margin:0 auto 20px}
.hsi-root .hsi-login-head .hsi-logo-real{width:192px}
.hsi-root .hsi-access-grid h1{font-size:30px;line-height:1.23;margin:0 0 11px}
.hsi-access-shell{max-width:1080px;margin:clamp(15px,6vh,65px) auto!important;padding:0 20px}
.hsi-access-grid{display:grid;grid-template-columns:.91fr 1fr;background:#fff;border:1px solid #e8e1f2;border-radius:24px;box-shadow:0 30px 85px #3c28631c;min-height:560px;overflow:hidden}
.hsi-access-aside{background:linear-gradient(158deg,#6a0dad 0%,#351058 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:50px;padding:36px}
.hsi-access-aside .hsi-logo-real{filter:brightness(0) invert(1);width:205px}
.hsi-access-aside-copy h1{color:#fff;font-size:36px;max-width:335px;margin:18px 0}
.hsi-access-aside-copy>p{line-height:1.8;color:#eee2ff;max-width:365px}
.hsi-access-flag,.hsi-access-eyebrow{font-size:11px;font-weight:800;letter-spacing:.115em}
.hsi-access-flag{color:#eee0ff}
.hsi-access-spark{display:block;font-size:12px;color:#efe3ff;margin-top:26px}
.hsi-access-footer{font-size:12px;color:#d9c4f0}
.hsi-access-card{align-self:center;max-width:465px;width:100%;margin:auto;padding:46px 40px}
.hsi-access-card .hsi-access-eyebrow{color:#7440b6;display:block;margin-bottom:12px}
.hsi-access-card .hsi-access-lead{color:#777085;font-size:14px;line-height:1.6;margin:0 0 24px}
.hsi-access-card .hsi-label{margin:16px 0 8px}
.hsi-access-card .hsi-check{margin:17px 0 20px}
.hsi-access-card .hsi-btn{font-size:15px!important;min-height:48px}
.hsi-access-card .hsi-access-help{text-align:center;margin:22px auto 0;font-size:13px}
.hsi-access-card .hsi-access-help a{text-decoration:none;font-weight:700}
.hsi-access-card .hsi-access-help a:hover{text-decoration:underline}
.hsi-access-action{margin-top:24px}
.hsi-access-ok{background:#e9f8ef;border:1px solid #c5edd7;color:#176c46}
.hsi-access-mobile-logo{display:none}
body.hsi-standalone .hsi-access-shell{max-width:1080px}
@media(max-width:760px){
  .hsi-root .hsi-brand .hsi-logo-real{width:145px}
  .hsi-access-shell{padding:0!important;margin:0 auto!important}
  .hsi-access-grid{display:block;border-radius:0;min-height:100vh;border:0;box-shadow:none}
  .hsi-access-aside{display:none}
  .hsi-access-mobile-logo{display:block;margin:5px 0 28px}
  .hsi-access-mobile-logo .hsi-logo-real{width:178px}
  .hsi-access-card{padding:35px 25px;max-width:520px}
  .hsi-access-grid h1{font-size:28px}
}

/* v0.4.0 — ancho completo, tablet/iPad y teléfono; la identidad mantiene el morado oficial. */
body.hsi-standalone .hsi-standalone-content{width:100%;max-width:none!important;padding:clamp(0px,1vw,16px)!important}
.hsi-root.hsi-dashboard{max-width:none!important;width:100%!important;margin:0 auto 14px!important;min-height:calc(100dvh - 32px);grid-template-columns:clamp(214px,16vw,275px) minmax(0,1fr)}
.hsi-root.hsi-dashboard .hsi-dash-main{width:100%;padding:clamp(17px,2vw,38px);min-width:0}
.hsi-root.hsi-dashboard .hsi-panel{width:100%;max-width:none}
.hsi-root.hsi-public{max-width:none!important;width:100%;padding:0 clamp(14px,2.3vw,48px)}
.hsi-root.hsi-public .hsi-public-grid{grid-template-columns:minmax(260px,29%) minmax(0,1fr)}
.hsi-root.hsi-public .hsi-book-card{width:100%}
.hsi-root .hsi-brand .hsi-logo-real{width:clamp(160px,12vw,205px)}
.hsi-root .hsi-access-shell{max-width:1280px;width:100%}
.hsi-billing-alert{background:#fff7e9;border:1px solid #efd5a5;border-radius:13px;padding:15px 18px;color:#774a19;margin:-9px 0 18px;font-size:13px;line-height:1.5}
.hsi-billing-alert strong{display:block;font-size:14px;margin-bottom:3px}
.hsi-subscription-card .hsi-section-head{gap:12px}
.hsi-subscription-pill{background:#f3ebff;color:#6833ad;padding:8px 13px;border-radius:99px;font-size:12px;font-weight:750;white-space:nowrap}
.hsi-subscription-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.hsi-subscription-details>div{border:1px solid #eee8f5;border-radius:12px;background:#fbfaff;padding:13px}
.hsi-subscription-details small{display:block;color:#7d728e;font-size:12px;margin-bottom:4px}
.hsi-subscription-details strong{font-size:15px}
@media(min-width:1440px){
  .hsi-root.hsi-dashboard .hsi-panel{padding:24px 28px}
  .hsi-root.hsi-dashboard .hsi-stats{gap:16px}
  .hsi-root.hsi-dashboard .hsi-appointment{padding:16px 20px}
}
@media(min-width:761px) and (max-width:1099px){
  .hsi-root.hsi-dashboard{grid-template-columns:78px minmax(0,1fr)}
  .hsi-root.hsi-dashboard .hsi-sidebar{padding:20px 10px;gap:19px;align-items:center}
  .hsi-root.hsi-dashboard .hsi-sidebar .hsi-brand{width:53px;height:58px;margin:0;background-image:url('zerivo-logo-icon.png');background-size:contain;background-position:center;background-repeat:no-repeat}
  .hsi-root.hsi-dashboard .hsi-sidebar .hsi-brand img{display:none}
  .hsi-root.hsi-dashboard .hsi-sidebar-person{padding:6px 0 18px;justify-content:center}
  .hsi-root.hsi-dashboard .hsi-sidebar-person>div{display:none}
  .hsi-root.hsi-dashboard .hsi-nav{width:100%}
  .hsi-root.hsi-dashboard .hsi-nav button{justify-content:center!important;font-size:21px!important;padding:13px 8px!important}
  .hsi-root.hsi-dashboard .hsi-nav span{display:none}
  .hsi-root.hsi-dashboard .hsi-sidebar-bottom{display:none}
  .hsi-root.hsi-dashboard .hsi-dash-main{padding:25px 22px}
  .hsi-root.hsi-public .hsi-public-grid{grid-template-columns:minmax(240px,34%) minmax(0,1fr)}
}
@media(max-width:760px){
  body.hsi-standalone .hsi-standalone-content{padding:0!important}
  .hsi-root.hsi-dashboard{display:block;min-height:100dvh;grid-template-columns:none;margin:0!important;padding-bottom:calc(68px + env(safe-area-inset-bottom));border:0;border-radius:0}
  .hsi-root.hsi-dashboard .hsi-dash-main{padding:18px clamp(12px,4vw,25px) 30px}
  .hsi-root.hsi-public{padding:0 13px}
  .hsi-root.hsi-public .hsi-public-grid{grid-template-columns:1fr}
  .hsi-root.hsi-public .hsi-profile{min-width:0}
  .hsi-root.hsi-dashboard .hsi-section-head{gap:12px}
  .hsi-subscription-details{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){
  .hsi-root.hsi-dashboard .hsi-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .hsi-root.hsi-dashboard .hsi-stats>div{padding:10px 6px}
  .hsi-root.hsi-dashboard .hsi-stats>div strong{font-size:19px}
  .hsi-root.hsi-dashboard .hsi-toolbar-actions{gap:7px}
  .hsi-root.hsi-dashboard .hsi-toolbar-actions .hsi-btn{padding:9px 5px!important;font-size:11px!important}
  .hsi-root.hsi-dashboard .hsi-mobile-nav button{min-width:50px!important}
}

/* Zerivo v0.4.0 — palette and brand refresh. */
.hsi-root{--hsi-accent:#6A0DAD;--hsi-ink:#2E2E3A;--hsi-bg:#F9F5FF}
.hsi-root .hsi-btn.hsi-primary{background:#6A0DAD!important;border-color:#6A0DAD!important}
.hsi-root .hsi-btn.hsi-primary:hover{background:#54108A!important;border-color:#54108A!important}
.hsi-root .hsi-access-aside{background:linear-gradient(155deg,#6A0DAD 0%,#351058 100%)}
.hsi-root .hsi-access-aside-copy h1{letter-spacing:-.03em}
.hsi-root .hsi-public-head,.hsi-root .hsi-dash-top{border-color:#EBD9FF}
.hsi-root .hsi-brand .hsi-logo-real{width:clamp(155px,12vw,215px)}
.hsi-root .hsi-login-head .hsi-logo-real{width:215px}
.hsi-root .hsi-access-mobile-logo .hsi-logo-real{width:205px}
.hsi-root .hsi-top-mobile-brand .hsi-logo-real{width:167px}
@media(min-width:761px) and (max-width:1099px){
 .hsi-root.hsi-dashboard .hsi-sidebar .hsi-brand{background-image:url('zerivo-logo-icon.png')}
}
@media(max-width:760px){
 .hsi-root .hsi-brand .hsi-logo-real{width:154px}
 .hsi-root.hsi-dashboard .hsi-top-mobile-brand .hsi-logo-real{width:165px}
}


/* Zerivo v0.4.3: booking page—comfortable centered width and denser visual rhythm. */
body.hsi-standalone:has(.hsi-public){background:#f9f7fd}
.hsi-root.hsi-public{width:100%!important;max-width:1080px!important;margin:0 auto 18px!important;padding:0 18px!important}
.hsi-root.hsi-public .hsi-public-head{padding:13px 0 17px!important;min-height:0;gap:12px}
.hsi-root.hsi-public .hsi-public-head .hsi-logo-real{width:167px;max-width:100%;height:auto}
.hsi-root.hsi-public .hsi-public-grid{grid-template-columns:minmax(224px,260px) minmax(0,1fr)!important;gap:16px!important;align-items:start}
.hsi-root.hsi-public .hsi-profile,.hsi-root.hsi-public .hsi-book-card{border-radius:17px;box-shadow:0 6px 24px #38256208}
.hsi-root.hsi-public .hsi-profile{padding:22px 19px!important;min-width:0}
.hsi-root.hsi-public .hsi-profile-intro{display:flex;align-items:center;gap:12px;margin-bottom:14px;min-width:0}
.hsi-root.hsi-public .hsi-avatar{width:58px;height:58px;min-width:58px;border-radius:15px;margin:0;font-size:27px}
.hsi-root.hsi-public .hsi-profile-heading{min-width:0}
.hsi-root.hsi-public .hsi-profile h2{font-size:19px;line-height:1.2;margin:0 0 3px;overflow-wrap:anywhere}
.hsi-root.hsi-public .hsi-profile p{font-size:13px;line-height:1.4;margin:0}
.hsi-root.hsi-public .hsi-profile-info{font-size:12px;border-top:1px solid var(--hsi-border);margin-top:8px;padding-top:11px}
.hsi-root.hsi-public .hsi-bio{font-size:12px;line-height:1.5;margin-top:10px}
.hsi-root.hsi-public .hsi-profile-note{font-size:12px;line-height:1.8;margin-top:15px;padding-top:11px}
.hsi-root.hsi-public .hsi-book-card{padding:21px 24px 25px!important;min-height:0!important;min-width:0}
.hsi-root.hsi-public .hsi-steps{padding-bottom:13px;margin-bottom:17px;gap:5px}
.hsi-root.hsi-public .hsi-steps span{font-size:11px;gap:6px}
.hsi-root.hsi-public .hsi-steps i{width:24px;height:24px;font-size:11px}
.hsi-root.hsi-public .hsi-step h1{font-size:24px!important;line-height:1.25;margin-bottom:4px!important}
.hsi-root.hsi-public .hsi-sub{font-size:13px;margin-bottom:12px!important}
.hsi-root.hsi-public .hsi-book-fields{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:12px;align-items:end}
.hsi-root.hsi-public .hsi-book-fields>div{min-width:0}
.hsi-root.hsi-public .hsi-label{font-size:12px;margin:11px 0 5px}
.hsi-root.hsi-public .hsi-control{height:42px;min-height:42px;font-size:13px;padding:8px 11px!important}
.hsi-root.hsi-public .hsi-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-height:0}
.hsi-root.hsi-public .hsi-slot{min-height:40px;padding:8px 5px!important;font-size:13px!important;border-radius:9px!important}
.hsi-root.hsi-public .hsi-slot-grid .hsi-empty{padding:13px 10px}
.hsi-root.hsi-public .hsi-summary-row{padding:10px 12px;margin:12px 0 11px;font-size:12px}
.hsi-root.hsi-public #hsi-next-details{min-height:42px;font-size:13px!important}
.hsi-root.hsi-public .hsi-step .hsi-actions{margin-top:14px}
.hsi-root.hsi-public .hsi-step .hsi-check{margin:14px 0 10px}
.hsi-root.hsi-public .hsi-success-symbol{width:62px;height:62px;font-size:38px;margin:7px auto 12px}
.hsi-root.hsi-public .hsi-confirm-card{margin:12px 0 16px;padding:14px}
.hsi-root.hsi-public .hsi-footer{font-size:11px;margin-top:15px}
@media(min-width:761px) and (max-width:930px){
 .hsi-root.hsi-public .hsi-public-grid{grid-template-columns:minmax(210px,235px) minmax(0,1fr)!important;gap:13px!important}
 .hsi-root.hsi-public .hsi-profile{padding:18px 15px!important}
 .hsi-root.hsi-public .hsi-book-card{padding:20px 18px 22px!important}
 .hsi-root.hsi-public .hsi-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
 .hsi-root.hsi-public{max-width:560px!important;padding:0 12px!important;margin:0 auto 24px!important}
 .hsi-root.hsi-public .hsi-public-head{padding:11px 0 13px!important}
 .hsi-root.hsi-public .hsi-public-head .hsi-logo-real{width:146px}
 .hsi-root.hsi-public .hsi-public-grid{grid-template-columns:1fr!important;gap:11px!important}
 .hsi-root.hsi-public .hsi-profile{padding:15px!important}
 .hsi-root.hsi-public .hsi-profile-intro{margin:0;gap:10px}
 .hsi-root.hsi-public .hsi-avatar{width:49px;height:49px;min-width:49px;font-size:23px;border-radius:13px}
 .hsi-root.hsi-public .hsi-profile h2{font-size:17px}
 .hsi-root.hsi-public .hsi-profile-info{margin-top:11px;padding-top:8px}
 .hsi-root.hsi-public .hsi-profile-note{display:none}
 .hsi-root.hsi-public .hsi-book-card{padding:18px 16px 22px!important}
 .hsi-root.hsi-public .hsi-step h1{font-size:22px!important}
 .hsi-root.hsi-public .hsi-steps span{font-size:10px}
 .hsi-root.hsi-public .hsi-book-fields{grid-template-columns:1fr;gap:0}
 .hsi-root.hsi-public .hsi-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hsi-root.hsi-public .hsi-sub{font-size:12px}
}
@media(min-width:500px) and (max-width:760px){
 .hsi-root.hsi-public .hsi-book-fields{grid-template-columns:1.3fr 1fr;gap:10px}
 .hsi-root.hsi-public .hsi-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
