
:root{--bg:#f3f6f8;--panel:#ffffff;--ink:#163141;--muted:#5d7280;--line:#dce7ed;--accent:#173f49;--accent-2:#2e8b85;--soft:#eaf4f5;--soft-green:#eef8f4;--danger-bg:#fff1ee;--danger-line:#f4c7c0;--danger-text:#a12f23;--shadow:0 18px 44px rgba(14,42,55,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:radial-gradient(circle at top left,#f8fbfc 0,#f3f6f8 45%,#eef2f5 100%);color:var(--ink)}body{min-height:100vh}.wrap{max-width:1240px;margin:0 auto;padding:26px 24px 54px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 0 28px}.brand{display:flex;align-items:center;text-decoration:none}.brand img{display:block;width:230px;max-width:100%;height:auto}.header-tag{font-size:12px;color:#56727f;background:#e8f0f2;border:1px solid #dde9ee;padding:10px 14px;border-radius:999px;white-space:nowrap}.page-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:28px;align-items:start}.intro-pane{position:sticky;top:24px}.hero-card,.support-card,.profile-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.hero-card{padding:30px}.eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:2.3px;color:#3e988e;margin-bottom:12px}.hero-card h1{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-1.8px;margin:0 0 14px}.hero-card p,.panel p,.id-note,.plan-card p{color:var(--muted);line-height:1.65}.hero-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}.hero-points li{display:flex;gap:10px;align-items:flex-start;color:var(--ink);line-height:1.55}.hero-points li::before{content:"•";color:var(--accent-2);font-size:22px;line-height:1;margin-top:-1px}.support-card{margin-top:20px;padding:18px 20px;background:linear-gradient(180deg,#f8fcfd,#f2f8f8)}.support-card strong{display:block;margin-bottom:8px}.content-pane{display:flex;flex-direction:column;gap:18px;min-width:0}.panel{background:var(--panel);padding:28px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.panel-head{margin-bottom:18px}.panel-head.compact{margin-bottom:8px}.panel-head h2,.selection h2,.patient h2,.id-result h2{font-size:24px;letter-spacing:-.7px;margin:0 0 6px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:13px;font-weight:700;color:#39505c}input,select,textarea{display:block;width:100%;border:1px solid #c7d7df;border-radius:12px;margin-top:8px;padding:14px 14px;background:#fff;color:#173140;font:inherit;font-size:15px;min-height:48px;transition:border-color .15s ease, box-shadow .15s ease, background .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#7eaab6;box-shadow:0 0 0 4px rgba(23,63,73,.08)}textarea{resize:vertical;min-height:118px}.date{max-width:340px;margin-top:18px}.selection{border-top:1px solid #e5eef2;margin-top:24px;padding-top:22px}.hours{display:flex;flex-wrap:wrap;gap:11px;margin-top:15px}.hours button{background:#eff6f6;border:1px solid #d5e4e4;color:#1d4c53;padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer;transition:.15s ease}.hours button.active,.hours button:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}.empty{background:#f4f7f8;padding:16px 18px;border-radius:14px}.patient{scroll-margin-top:18px}.agree{display:flex;align-items:flex-start;gap:10px;margin-top:20px;line-height:1.6;font-weight:400;color:var(--muted)}.agree input{width:19px;height:19px;min-height:0;margin:2px 0 0;flex-shrink:0}.action,.ghost-action,.id-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;transition:.15s ease}.action{background:var(--accent);border:1px solid var(--accent);color:#fff}.action:hover{filter:brightness(1.05);transform:translateY(-1px)}.ghost-action,.id-secondary{background:#fff;color:var(--accent);border:1px solid #cfe0e7}.ghost-action:hover,.id-secondary:hover{background:#f7fbfc}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.inline-actions .action,.inline-actions .id-secondary{margin-top:0}.change-patient-form{margin-top:18px}.error{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-line);padding:15px 18px;border-radius:14px}.sub{font-size:14px}.done{text-align:center;padding:72px 30px}.done h1{font-size:42px;letter-spacing:-1.4px;margin:16px 0 12px}.check{display:inline-grid;place-items:center;background:#def4e8;color:#247859;width:72px;height:72px;border-radius:50%;font-size:34px;font-weight:800}.plan-list{display:grid;gap:12px}.plan-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #d7e5ea;border-radius:16px;padding:16px 18px;background:linear-gradient(180deg,#fff,#fbfdfe)}.plan-card strong{display:block;font-size:16px;margin-bottom:4px}.plan-muted{font-size:13px;color:var(--muted)}.profile-card{margin-top:20px;padding:18px 20px;background:linear-gradient(180deg,#f8fcfd,#f1f8f8)}.profile-card small{display:block;color:var(--muted);margin-bottom:4px}.profile-card strong{display:block;font-size:24px;letter-spacing:-.6px}.status-pill{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:#e8f2f4;border:1px solid #d4e5ea;color:#204754;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700}.identity .grid{margin-top:8px}.id-note{font-size:12px;margin:20px 0 0}.id-result{display:flex;gap:14px;align-items:center;border:1px solid #cfe5dd;border-radius:16px;background:var(--soft-green);padding:16px;margin:18px 0 10px}
.id-result-copy{min-width:0}
.id-result-copy h2{margin:0 0 4px}.id-result p,.id-result small{margin:0}.id-result small{display:block;color:var(--muted);margin-bottom:3px}.result-icon{display:inline-grid;place-items:center;background:#147663;border-radius:999px;color:#fff;width:34px;height:34px;font-weight:800;flex-shrink:0}.id-subpanel{margin-top:20px;padding-top:20px;border-top:1px solid #e6eef2}.subpanel-header{margin-bottom:12px}.subpanel-header h2{margin:0 0 6px}footer{text-align:center;font-size:12px;color:#7c8f99;margin-top:34px}.honeypot{position:absolute;left:-99999px;width:1px;height:1px}.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}@media(max-width:980px){.page-layout{grid-template-columns:1fr}.intro-pane{position:static}.hero-card h1{font-size:40px}.wrap{padding:20px 16px 42px}.panel{padding:22px}.brand img{width:210px}}@media(max-width:640px){.site-header{padding-bottom:22px}.header-tag{font-size:10px;padding:8px 11px}.grid{grid-template-columns:1fr;gap:14px}.date{max-width:none}.hero-card,.panel,.support-card,.profile-card{border-radius:18px}.hero-card{padding:24px 20px}.panel{padding:20px}.hero-card h1{font-size:36px}.hours button{flex:1 1 calc(50% - 11px)}.plan-card{flex-direction:column;align-items:flex-start}.form-actions{flex-direction:column;align-items:stretch}.action,.ghost-action,.id-secondary{width:100%}.done h1{font-size:34px}}

/* HARLab Premium Clinical B2 - capa exclusivamente visual */
:root{--bg:#f4f7f9;--ink:#192c46;--accent:#193b50;--accent-2:#216c76;--muted:#637589;--line:#e0e8ed;--shadow:0 12px 28px rgba(22,44,64,.055)}
html,body{background:#f4f7f9}
.wrap{max-width:1260px;padding-top:20px}
.site-header{padding-bottom:20px}
.brand-stack{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.brand img{width:188px;max-height:94px;object-fit:contain;object-position:left center}
.brand-meta{display:none;font-size:11px;line-height:1.35;color:#6d7d88;font-weight:700;letter-spacing:.2px}
.page-layout{grid-template-columns:minmax(0,0.94fr) minmax(0,1.06fr);gap:0;align-items:stretch;min-height:570px;border:1px solid #e1e8ec;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 48px rgba(26,48,65,.075)}
.intro-pane{position:static;background:#edf2f5}
.hero-card{height:100%;border:0;box-shadow:none;border-radius:0;background:#edf2f5;padding:clamp(36px,5vw,74px);display:flex;flex-direction:column;justify-content:center}
.hero-card h1{font-size:clamp(34px,3.6vw,50px);color:#172743;line-height:1.09;letter-spacing:-1.6px;margin-bottom:14px;max-width:440px}
.hero-card>p{max-width:380px;font-size:16px;line-height:1.72}
.hero-signature{font-size:12px;color:#6a7c88;font-weight:650;margin-top:22px;padding-top:18px;border-top:1px solid #d6e1e6}
.mobile-hero{display:none;background:linear-gradient(180deg,#f6f9fb 0%,#eef4f6 100%);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;margin:0 0 14px;box-shadow:var(--shadow)}
.mobile-hero h1{font-size:24px;line-height:1.12;letter-spacing:-.8px;color:#172743;margin:8px 0 8px}
.mobile-hero p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.mobile-hero .hero-signature{margin-top:12px;padding-top:12px;font-size:11px}

.hero-points,.support-card{display:none}
.content-pane{padding:clamp(25px,3.7vw,54px);justify-content:center;gap:20px}
.panel{border:0;box-shadow:none;border-radius:0;padding:0;margin:0}
.panel-head h2{font-size:clamp(24px,2.4vw,33px);color:#172743;letter-spacing:-.9px;margin:9px 0 8px}
.panel-head>p{font-size:14px;margin-top:0}
.step-caption{display:inline-block;color:#216c76;font-weight:800;letter-spacing:1.25px;font-size:11px}
.grid{gap:14px}
input,select,textarea{border-radius:9px;min-height:50px}
.form-actions{margin-top:22px}
.action{min-width:172px;background:#193b50;border-color:#193b50}
.id-note{color:#798a95;font-size:11px;line-height:1.5;margin-top:22px}
.id-subpanel{margin-top:25px}
.booking-layout .hero-card{justify-content:flex-start;padding-top:60px}
.booking-layout .hero-card h1{font-size:clamp(30px,3.2vw,45px)}
.profile-card{border-radius:14px;box-shadow:none;padding:17px}
.booking-layout .content-pane{justify-content:flex-start}
.booking-layout .panel{padding:20px 0;border-bottom:1px solid var(--line)}
.booking-layout .panel:last-child{border-bottom:0}
.plan-card{flex-wrap:wrap}
.mobile-profile{display:none}
.done{max-width:740px;margin:30px auto;border:1px solid var(--line);padding:64px 30px;border-radius:22px;box-shadow:var(--shadow)}
@media(max-width:850px){.wrap{padding:16px 16px 36px}.page-layout{display:block;min-height:0;background:transparent;border:0;box-shadow:none;overflow:visible}.intro-pane{display:none}.content-pane{display:block;padding:0}.mobile-hero{display:block}.panel{border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.booking-layout .panel{padding:22px;border:1px solid var(--line);margin-bottom:14px}.mobile-profile{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;background:#eaf2f4;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:700}.mobile-profile form{margin:0}.mobile-profile .id-secondary{min-height:34px;padding:5px 12px;font-size:12px}.brand img{width:148px;max-height:68px}.brand-meta{display:block;font-size:10px}.site-header{padding-bottom:20px;align-items:flex-start}.panel-head h2{font-size:27px}.panel-head>p{font-size:14px}.action{width:100%}}
@media(max-width:600px){.wrap{padding:12px 14px 28px}.site-header{padding-bottom:16px}.brand img{width:130px;max-height:63px}.brand-meta{display:block;font-size:9px;line-height:1.3;max-width:190px}.header-tag{font-size:10px;padding:8px 10px}.mobile-hero{padding:14px 16px 14px;margin-bottom:12px;border-radius:16px}.mobile-hero .eyebrow{font-size:10px;letter-spacing:1.1px}.mobile-hero h1{font-size:20px;line-height:1.12;margin:6px 0 6px}.mobile-hero p{font-size:13px;line-height:1.55}.mobile-hero .hero-signature{margin-top:10px;padding-top:10px;font-size:10px}.panel{padding:18px}.grid{grid-template-columns:1fr}.panel-head h2{font-size:22px;line-height:1.14}.panel-head>p{font-size:13px}.step-caption{font-size:10px}.form-actions{margin-top:16px}.form-actions>.action,.form-actions>.id-secondary{width:100%}.identity .grid{gap:12px}.id-subpanel{margin-top:16px;padding-top:16px}.id-result{gap:10px;padding:13px 12px;margin:14px 0 8px;border-radius:14px}.id-result h2,.id-result-copy h2{font-size:17px;line-height:1.15}.id-result p{font-size:12px;line-height:1.45}.id-result small{font-size:11px}.result-icon{width:28px;height:28px;font-size:16px}.mobile-profile{font-size:12px;padding:8px 10px}.mobile-profile .id-secondary{padding:4px 10px;font-size:11px}}


/* Ajustes v6 solicitados por Diana: compactar mobile, ocultar textos auxiliares del hero y mantener documento en una línea */
@media(max-width:600px){
  .mobile-hero .eyebrow,.mobile-hero .hero-signature{display:none}
  .mobile-hero{padding:12px 14px 12px;margin-bottom:10px}
  .mobile-hero h1{font-size:18px;line-height:1.15;margin:0 0 6px}
  .mobile-hero p{font-size:12px;line-height:1.45}
  .identity .grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:10px}
  .identity label{font-size:12px}
  .identity input,.identity select{min-height:46px;padding:12px 12px;font-size:14px}
  .id-subpanel{margin-top:10px;padding-top:10px}
  .id-result{padding:10px 10px;margin:10px 0 6px;gap:8px}
  .id-result-copy h2,.id-result h2{font-size:14px;line-height:1.12;margin:0 0 2px}
  .id-result p{font-size:11px;line-height:1.35}
  .id-result small{font-size:10px;margin-bottom:2px}
  .result-icon{width:24px;height:24px;font-size:14px}
  .form-actions.inline-actions{gap:8px;margin-top:10px}
  .form-actions.inline-actions .action,.form-actions.inline-actions .id-secondary{min-height:42px;font-size:14px}
}

/* HARLab v9: selector con un poco más de ancho en móviles */
@media (max-width:600px){
 .identity .grid{display:grid!important;grid-template-columns:123px minmax(0,1fr)!important;gap:8px!important;}
 .identity .grid > label{min-width:0;}
 .identity .grid select,.identity .grid input{width:100%;min-width:0;box-sizing:border-box;}
}
@media (max-width:350px){.identity .grid{grid-template-columns:123px minmax(0,1fr)!important;}}

/* HARLab v11: identidad del paciente y plan compacto, exclusivamente mobile */
@media(max-width:850px){
.mobile-profile{min-height:65px;align-items:center;gap:12px;padding:10px 14px;}
.mobile-profile-identity{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.mobile-profile-label{display:block;font-weight:500;font-size:11px;line-height:1.2;color:#617481;}
.mobile-profile-name{display:block;font-size:17px;line-height:1.25;letter-spacing:-.2px;font-weight:750;color:#172743;overflow-wrap:anywhere;}
.mobile-profile .id-secondary{width:auto;white-space:nowrap;min-height:38px;padding:7px 14px;font-size:12px;}
.booking-layout .plan-card{padding:12px 14px;gap:10px;}
.booking-layout .plan-card strong{font-size:15px;margin:0 0 4px;}
.booking-layout .plan-card p{font-size:12px;line-height:1.45;margin:0;}
.booking-layout .plan-card .ghost-action{min-height:40px;padding:9px 12px;margin:0;font-size:13px;}
.booking-layout .plan-list{gap:10px;}
}
@media(max-width:600px){
.mobile-profile{padding:9px 12px;min-height:60px;margin-bottom:12px;}
.mobile-profile .id-secondary{min-height:36px;padding:7px 12px;}
.booking-layout .panel{padding:17px;margin-bottom:12px;}
.booking-layout .plan-card{padding:11px 12px;}
.booking-layout .plan-card .ghost-action{width:100%;}
}


/* v12: ajustes booking mobile */
.plan-meta{margin:8px 0 0;padding-left:18px;color:#597089;font-size:14px;line-height:1.45}
.plan-meta li+li{margin-top:4px}
.plan-meta strong{color:#17324a}
@media(max-width:600px){
  .booking-layout .mobile-hero{display:none}
  .mobile-profile{margin-top:0;padding:12px 14px;align-items:center;gap:12px}
  .mobile-profile-label{font-size:12px;color:#597089}
  .mobile-profile-name{font-size:22px;line-height:1.1;color:#16806f;font-weight:800}
  .mobile-profile .id-secondary{min-width:86px;min-height:42px;padding:10px 14px}
  .plan-list{gap:12px}
  .plan-card{padding:16px 14px}
  .plan-card strong:first-child{font-size:17px;line-height:1.2;display:block;margin-bottom:2px}
  .plan-meta{font-size:13px;line-height:1.45;margin-top:6px;padding-left:18px}
  .panel-head .step-caption{display:block;margin-bottom:6px}
}

/* v13: identidad cromática coherente y 3 indicadores compactos */
.plan-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 15px;list-style:none;margin:9px 0 0;padding:0;color:#526d7c}
.plan-meta li{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;margin:0!important;font-size:12px;line-height:1.3}
.plan-meta li::before{content:"•";color:#147663;font-weight:800;font-size:14px}
.plan-meta li strong,.plan-card .plan-meta li strong,.plan-card .plan-meta strong:first-child{font-size:12px!important;display:inline!important;margin:0!important;color:#163141;line-height:1.3!important}
@media(max-width:600px){
 .mobile-profile{background:#eef8f4;border:1px solid #cfe5dd}
 .mobile-profile-name{color:#163141!important;font-size:18px;line-height:1.2}
 .plan-card .plan-meta{display:flex;flex-direction:row;align-items:center;gap:5px 12px;padding:0;margin:8px 0 0}
 .plan-card .plan-meta li{font-size:11px!important;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}
 .plan-card .plan-meta li strong{font-size:11px!important;display:inline!important;margin:0!important}
 .plan-card{gap:9px}
 .plan-card > div:first-child{width:100%;min-width:0}
}

/* v14: indicadores de planes más legibles en mobile */
@media(max-width:600px){
 .plan-card .plan-meta{gap:4px 8px;}
 .plan-card .plan-meta li{font-size:13px!important;gap:4px;}
 .plan-card .plan-meta li strong{font-size:13px!important;font-weight:800;}
 .plan-card .plan-meta li::before{font-size:15px;}
}


/* v15: icons for patient + step 2 */
.profile-card-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.profile-user-icon,.mobile-profile-icon,.section-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.profile-user-icon{width:38px;height:38px;border-radius:50%;background:#e8f4ef;color:#1c7c6b;font-size:18px;border:1px solid #cfe5dd}
.section-icon{width:42px;height:42px;border-radius:14px;background:#fff7d8;color:#c79b07;font-size:20px;border:1px solid #f0e1a4;box-shadow:0 1px 0 rgba(199,155,7,.08)}
.panel-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.panel-head-top h2{margin-top:6px}
.mobile-profile-icon{width:34px;height:34px;border-radius:50%;background:#e8f4ef;color:#1c7c6b;font-size:16px;border:1px solid #cfe5dd}
.mobile-profile{display:flex;align-items:center}
@media(max-width:600px){
  .panel-head-top{gap:10px}
  .section-icon{width:36px;height:36px;border-radius:12px;font-size:17px}
  .mobile-profile-icon{width:30px;height:30px;font-size:14px}
}

/* v16: iconografía vectorial lineal y visibilidad correcta por breakpoint */
.har-line-icon{display:block;width:20px;height:20px;flex-shrink:0}
.profile-user-icon,.mobile-profile-icon{background:#e9f5f0;border:1px solid #cce5db;color:#147663;border-radius:12px}
.section-icon{background:#e9f5f0;border:1px solid #cce5db;color:#147663;border-radius:12px;box-shadow:none}
.section-icon .har-line-icon{width:21px;height:21px}
.mobile-profile-icon .har-line-icon{width:18px;height:18px}
/* La tarjeta compacta del paciente SOLO existe en tablets y teléfonos */
.mobile-profile{display:none}
@media(max-width:850px){.booking-layout .mobile-profile{display:flex}}
@media(max-width:600px){.section-icon{width:36px;height:36px}.section-icon .har-line-icon{width:19px;height:19px}.mobile-profile-icon{width:32px;height:32px}}

/* HARLab: selector mobile de servicios sin menus nativos fuera de pantalla */
.service-mobile-trigger{display:none}
.services-overlay[hidden]{display:none!important}
@media(max-width:850px){
 .service-field>select{display:none}
 .service-mobile-trigger{display:flex;width:100%;margin-top:8px;align-items:center;justify-content:space-between;gap:8px;text-align:left;min-height:50px;background:#fff;border:1px solid #c7d7df;border-radius:9px;padding:11px 13px;color:#173140;font:inherit;font-weight:650;font-size:14px;cursor:pointer}
 .service-mobile-trigger span{min-width:0;overflow-wrap:anywhere}
 .service-mobile-trigger svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .services-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center}
 .services-backdrop{position:absolute;inset:0;background:rgba(12,31,47,.48)}
 .services-dialog{position:relative;background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:680px;max-height:85dvh;display:flex;flex-direction:column;box-shadow:0 -12px 30px rgba(0,0,0,.16);outline:0}
 .services-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:19px 18px 14px;border-bottom:1px solid #e4eaee;gap:10px}
 .services-dialog-head h3{margin:0;color:#172743;font-size:20px}
 .services-dialog-head p{margin:4px 0 0;color:#627685;font-size:13px}
 .services-close{border:1px solid #e3eaf0;background:#f7fafb;border-radius:10px;min-width:38px;min-height:38px;color:#163141;font-size:25px;cursor:pointer}
 .services-options{overflow:auto;overscroll-behavior:contain;padding:8px 12px calc(18px + env(safe-area-inset-bottom,0px))}
 .service-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;background:white;border:0;border-bottom:1px solid #e8eef1;padding:15px 10px;text-align:left;cursor:pointer;font-family:inherit;color:#153246}
 .service-choice span{font-size:15px;font-weight:650;line-height:1.35}
 .service-choice small{font-size:12px;color:#607886}
 .service-choice:focus-visible,.services-close:focus-visible,.service-mobile-trigger:focus-visible{outline:3px solid #5ba5a1;outline-offset:2px}
 .service-dialog-open{overflow:hidden}
}

/* HARLab v19 selector descriptivo */
.service-choice-card{border:1px solid #e0e9ed;border-radius:13px;background:#fff;margin:0 0 10px;overflow:hidden}
.service-choice-card.is-selected{border-color:#8ccab7;background:#f2faf6}
.service-choice-card .service-choice{border:0;display:flex;flex-direction:row;align-items:center;gap:14px;padding:13px 14px}
.service-choice-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.service-choice-body strong{font-size:14px;line-height:1.3;color:#193047}
.service-choice-body small{font-size:12px;line-height:1.45;color:#627686}
.service-duration{white-space:nowrap;border-radius:999px;background:#edf3f5;padding:6px 8px;font-size:11px;font-weight:700;color:#254955}
.service-more{padding:0 14px 12px;font-size:12px}
.service-more summary,.selected-service-info summary{color:#167368;cursor:pointer;font-weight:700;padding:6px 0;list-style:none}
.service-more summary::after,.selected-service-info summary::after{content:' +';font-weight:800}
.service-more[open] summary::after,.selected-service-info details[open] summary::after{content:' −'}
.service-more p,.selected-service-info details p{margin:5px 0 0;line-height:1.5;color:#607686}
.selected-service-info{border:1px solid #d6e7e3;background:#f7fbfa;border-radius:12px;padding:12px 14px;margin:14px 0 4px}
.selected-service-info>strong{font-size:14px;color:#173041}
.selected-service-info>span{margin-left:10px;color:#46766e;font-size:11px;font-weight:700}
.selected-service-info>p{font-size:12px;margin:6px 0 0;line-height:1.45;color:#5e7380}
.services-options{padding:12px 14px 18px;overflow-y:auto;overscroll-behavior:contain}
@media(min-width:851px){.services-overlay{display:none}}
/* v19 B: tarjetas inline al abrir el selector en pantallas pequeñas */
@media(max-width:850px){
 .services-overlay{position:static!important;inset:auto!important;z-index:auto!important;display:block;margin-top:12px}
 .services-overlay[hidden]{display:none!important}
 .services-backdrop{display:none!important}
 .services-dialog{width:100%;max-width:none;max-height:none;border:1px solid #d9e6e9;border-radius:14px;box-shadow:none;display:block;position:static;background:#f8fbfc}
 .services-dialog-head{padding:12px 14px;align-items:center}
 .services-dialog-head h3{font-size:16px}
 .services-dialog-head p{font-size:12px}
 .services-options{overflow:visible;max-height:none;padding:10px}
 .services-close{font-size:22px}
}

/* v20: selector de servicios descriptivo inline en desktop y mobile */
.service-field>select{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.service-mobile-trigger{display:flex;width:100%;margin-top:8px;align-items:center;justify-content:space-between;gap:8px;text-align:left;min-height:50px;background:#fff;border:1px solid #c7d7df;border-radius:9px;padding:11px 13px;color:#173140;font:inherit;font-weight:650;font-size:14px;cursor:pointer}
.service-mobile-trigger span{min-width:0;overflow-wrap:anywhere}
.service-mobile-trigger svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.services-overlay,.services-overlay[hidden]{position:static!important;inset:auto!important;z-index:auto!important;display:block!important;max-width:100%;margin-top:12px}
.services-overlay[hidden]{display:none!important}
.services-backdrop{display:none!important}
.services-dialog{position:static!important;display:block!important;width:100%!important;max-width:none!important;max-height:none!important;border:1px solid #d9e6e9!important;border-radius:14px!important;background:#f8fbfc!important;box-shadow:none!important;outline:0}
.services-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e4eaee}
.services-dialog-head h3{font-size:16px;margin:0}
.services-dialog-head p{font-size:12px;margin:4px 0 0}
.services-close{min-width:34px;min-height:34px;font-size:21px}
.services-options{overflow:visible!important;max-height:none!important;padding:10px!important}
.service-choice-card{background:#fff}
.service-choice-card.is-selected{background:#f2faf6}
.service-choice:focus-visible,.service-mobile-trigger:focus-visible{outline:3px solid #5ba5a1;outline-offset:2px}
@media(min-width:851px){.services-overlay{display:block}.services-overlay[hidden]{display:none!important}}
@media(max-width:850px){.service-field>select{display:block!important;position:absolute!important;width:1px!important;height:1px!important}}

/* v21 Tarjetas de servicios siempre visibles */
.service-step .service-inline-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 12px;color:#172743}
.service-inline-head>strong{font-size:16px}.service-inline-head>span{font-size:12px;color:#677d8b}
.service-step .service-grid{display:grid;grid-template-columns:1fr;gap:10px}
.service-step .har-service-card{background:#fff;border:1px solid #dae5eb;border-radius:15px;overflow:hidden}
.service-step .har-service-card.is-selected{border:2px solid #17806b;background:#f0faf5}
.service-step .har-service-select{display:flex;width:100%;align-items:center;gap:12px;padding:13px 14px;text-align:left;border:0;background:transparent;color:#172743;font-family:inherit;cursor:pointer}
.service-step .har-service-select:hover{background:#f5faf9}
.service-step .har-service-select:focus-visible,.service-step .har-service-details summary:focus-visible{outline:3px solid #68aca2;outline-offset:-3px}
.service-step .har-service-icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#edf5f4;color:#247a6a}
.service-step .har-service-icon svg{width:24px;height:24px}
.service-step .har-service-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.service-step .har-service-copy strong{font-size:14px;font-weight:750;line-height:1.25;overflow-wrap:anywhere}
.service-step .har-service-copy small{color:#647987;font-size:12px;line-height:1.4}
.service-step .har-service-right{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.service-step .har-service-time{border-radius:20px;background:#eff4f5;color:#345d65;padding:6px 8px;font-size:11px;font-weight:700;white-space:nowrap}
.service-step .har-service-radio{width:20px;height:20px;border:2px solid #b4c4cb;border-radius:50%;display:block}
.service-step .is-selected .har-service-radio{border:6px solid #147864}
.service-step .har-service-details{padding:0 14px 12px 66px}
.service-step .har-service-details summary{color:#147864;font-size:12px;font-weight:750;cursor:pointer}
.service-step .har-service-details p{font-size:12px;line-height:1.6;margin:8px 0 0;color:#5d7280}
.service-step .har-next-fields{margin-top:23px;border-top:1px solid #dfe8ed;padding-top:19px}
.service-step .har-next-fields h3{font-size:17px;color:#172743;margin:0 0 12px}
.service-step .har-next-fields .grid{grid-template-columns:1fr 1fr}
@media(max-width:600px){
 .service-step .har-service-select{padding:12px 10px;gap:9px}
 .service-step .har-service-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px}
 .service-step .har-service-icon svg{width:21px;height:21px}
 .service-step .har-service-copy strong{font-size:13px}
 .service-step .har-service-copy small{font-size:11px}
 .service-step .har-service-time{font-size:10px;padding:5px 6px}
 .service-step .har-service-right{gap:6px}
 .service-step .har-service-radio{width:17px;height:17px}
 .service-step .is-selected .har-service-radio{border-width:5px}
 .service-step .har-service-details{padding:0 12px 12px 53px}
 .service-step .har-next-fields .grid{grid-template-columns:1fr}
}

/* v22 - selección progresiva dentro de la tarjeta abierta */
.har-service-card{scroll-margin-top:16px}
.har-service-select{color:inherit;text-decoration:none}
.har-service-chevron{font-size:22px;color:#577a79;line-height:1}
.har-service-card.is-selected .har-service-chevron{color:#147864}
.har-inline-booking{border-top:1px solid #dbe9e7;padding:19px 16px 20px;background:#fff;display:grid;gap:21px}
.har-inline-booking label,.har-inline-booking h3{font-size:14px;color:#163141;font-weight:750;margin:0 0 10px;display:block}
.har-inline-booking .har-date-form input{max-width:340px;margin-top:8px}
.har-inline-hours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.har-inline-hours .har-hour{display:flex;align-items:center;justify-content:center;min-height:45px;padding:10px 12px;background:#fff;border:1px solid #d5e3e7;border-radius:11px;color:#17404c;font-weight:700;font-size:13px;text-decoration:none}
.har-inline-hours .har-hour.active{border-color:#16806b;background:#eaf6f1;color:#146554;box-shadow:0 0 0 1px #16806b}
.har-inline-hours .har-hour:focus-visible,.har-professional:focus-visible{outline:3px solid #83b9b0;outline-offset:2px}
.har-professionals{display:grid;gap:9px}
.har-professional{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #d8e5e8;background:#fff;border-radius:12px;color:#183946;text-decoration:none;font-weight:700;font-size:13px}
.har-professional.active{border-color:#147864;background:#ecf8f2;box-shadow:0 0 0 1px #147864}
.har-professional svg{width:21px;height:21px;color:#267e72;flex-shrink:0}
.har-professional>span:nth-child(2){flex:1}
.har-pro-radio{width:18px;height:18px;border-radius:50%;border:2px solid #9db4ba}
.har-professional.active .har-pro-radio{border:5px solid #147864}
.har-inline-booking .har-hint,.har-empty{font-size:12px;color:#627884;line-height:1.55;margin:0 0 12px}
.har-finalize{padding-top:18px;border-top:1px solid #e1ebed}
.har-finalize .action{margin-top:14px}
.har-inline-booking .agree{display:flex;align-items:flex-start;gap:9px;margin:14px 0}
@media(max-width:600px){.har-inline-booking{padding:15px 11px 18px;gap:19px}.har-inline-hours{gap:8px}.har-inline-hours .har-hour{min-height:43px}.har-inline-booking .har-date-form input{max-width:100%}}

/* v23 - Confirmación Premium Clinical */
.har-confirmation{width:min(100%,720px);margin:18px auto 40px;background:#fff;border:1px solid #dce7ed;border-radius:24px;padding:34px;box-shadow:0 18px 44px rgba(14,42,55,.07)}
.har-confirm-header{text-align:center;margin:0 auto 25px}.har-confirm-header h1{font-size:31px;line-height:1.14;color:#172743;margin:14px 0 8px}.har-confirm-header p{color:#657d8b;font-size:14px}.har-confirm-check{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:#dff4e9;color:#13745c;border-radius:50%;font-size:36px;font-weight:750}
.har-receipt{background:#f3f7f8;border:1px solid #e0e9ed;border-radius:17px;padding:23px}.har-receipt-caption{font-weight:800;color:#13745c;letter-spacing:1.1px;font-size:11px;display:flex;justify-content:space-between}.har-receipt h2{font-size:24px;line-height:1.2;margin:14px 0 17px;color:#172743}.har-receipt-datetime{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.har-receipt-datetime>div{background:#fff;padding:15px;border-radius:12px;display:grid;gap:7px}.har-mini-label{font-size:12px;color:#617887}.har-receipt-datetime strong{font-size:18px;color:#172743}.har-receipt-detail{display:flex;align-items:center;gap:15px;padding:11px 2px;border-top:1px solid #dee8ec}.har-receipt-symbol{color:#147864;font-size:21px;width:25px;text-align:center}.har-receipt-detail div{display:grid;gap:3px}.har-receipt-detail small{font-size:12px;color:#647987}.har-receipt-detail strong{font-size:14px;color:#163141}
.har-confirm-rec{border:1px solid #dce7ed;border-radius:16px;padding:21px;margin:18px 0}.har-confirm-rec h2{font-size:19px;margin:0 0 10px;color:#163141}.har-confirm-rec h2 span{color:#147864}.har-confirm-rec p,.har-recommend-preview{color:#5d7280;font-size:14px;line-height:1.6}.har-confirm-rec details summary{cursor:pointer;color:#147864;font-weight:750;font-size:14px;padding:9px 0;list-style:revert}.har-recommend-body{font-size:14px;line-height:1.85;white-space:normal;color:#405766;padding:7px 0}.har-mail-notice{display:flex;gap:14px;background:#eaf5f2;border:1px solid #d4e9e1;border-radius:14px;padding:18px}.har-mail-notice>span{color:#147864;font-size:24px}.har-mail-notice strong{font-size:14px}.har-mail-notice p{font-size:13px;line-height:1.6;margin:5px 0 0;color:#576f78}.har-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.har-confirm-actions .action,.har-confirm-actions .id-secondary{width:100%;text-align:center;white-space:normal}.har-contact-help{text-align:center;color:#5d7280;font-size:13px;line-height:1.7}.har-contact-help a{color:#147864;font-weight:750}.har-confirm-error{color:#a12f23;font-size:13px;text-align:center}
@media(max-width:600px){.har-confirmation{margin:10px auto 25px;padding:20px 14px;border-radius:18px}.har-confirm-header h1{font-size:25px}.har-receipt{padding:17px}.har-receipt h2{font-size:20px}.har-receipt-datetime strong{font-size:15px}.har-receipt-datetime>div{padding:12px}.har-confirm-rec{padding:16px}.har-confirm-actions{grid-template-columns:1fr}}

/* v25 – comprobante compatible con navegadores móviles internos */
.har-image-preview{margin-top:16px;border:1px solid #d4e4e9;border-radius:16px;background:#f7fafb;padding:16px;text-align:left}
.har-image-preview[hidden]{display:none!important}
.har-image-preview>strong{display:block;font-size:16px;color:#143444}
.har-image-preview>p{font-size:13px;line-height:1.5;color:#607582;margin:8px 0 14px}
.har-image-preview>img{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid #dae6eb;background:#fff;touch-action:auto;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto}
.har-image-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.har-image-actions .id-secondary{flex:1;text-align:center;text-decoration:none;cursor:pointer}

.har-manage-cta{margin:18px 0;display:flex;justify-content:center}.har-manage-cta a{background:#edf6f4;color:#185d54;border:1px solid #a8d6ca;text-align:center;text-decoration:none;min-height:48px}
