/* HT24/7 v1999 — Sistema visual único (capa final, solo presentación).
   Se carga al final de cada página. No cambia lógica, IDs ni flujos; unifica:
   colores, tipografía, ancho de página, barra superior, pie de página, botones,
   campos, tarjetas, tablas y navegación móvil.
   Regla de marca: azul Océano en todo; el verde se reserva solo para WhatsApp. */

:root{
  /* Color */
  --ht-navy:#092A59;      /* marca, títulos */
  --ht-ocean:#1769AC;     /* acción principal, enlaces */
  --ht-ocean-hover:#0F5590;
  --ht-ink:#153453;       /* texto */
  --ht-muted:#4F6780;     /* texto secundario (contraste AA sobre blanco y --ht-mist) */
  --ht-line:#D5E4F1;      /* bordes */
  --ht-line-strong:#A9C3DA;/* borde de campos */
  --ht-sky:#EAF4FD;       /* fondos tenues, hover */
  --ht-mist:#F4F8FC;      /* fondo de página y bandas */
  --ht-white:#FFFFFF;
  --ht-danger:#B42318;
  --ht-wa:#168348;        /* solo WhatsApp */

  /* Tipografía: Archivo (ya es la fuente de marca). Escala 1.25 */
  --ht-font:'Archivo',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --ht-fs-sm:.875rem;
  --ht-fs-base:1rem;
  --ht-fs-lead:1.0625rem;
  --ht-fs-h3:1.125rem;
  --ht-fs-h2:clamp(1.3rem,1.1rem + .8vw,1.65rem);
  --ht-fs-h1:clamp(1.7rem,1.3rem + 1.6vw,2.4rem);
  --ht-fs-display:clamp(2rem,1.4rem + 2.6vw,3.1rem);

  /* Espacio y forma */
  --ht-container:1200px;
  --ht-reading:760px;
  --ht-gutter:clamp(16px,4vw,32px);
  --ht-header-h:64px;
  --ht-r-control:10px;
  --ht-r-card:14px;
  --ht-r-pill:999px;
  --ht-ring:0 0 0 3px #fff,0 0 0 5px var(--ht-ocean);
  --ht-shadow-pop:0 12px 32px rgba(9,42,89,.16);

  /* Las variables antiguas apuntan a la misma paleta para que todo lo existente herede */
  --het-font:var(--ht-font);
  --green:var(--ht-ocean);--green-dark:var(--ht-navy);--green-soft:var(--ht-sky);
  --het-green:var(--ht-ocean);--het-green-dark:var(--ht-navy);--het-green-soft:var(--ht-sky);
  --hx-green:var(--ht-ocean);--hx-forest:var(--ht-navy);--hx-ink:var(--ht-ink);--hx-muted:var(--ht-muted);
  --hx-bg:var(--ht-mist);--hx-line:var(--ht-line);--hx-mint:var(--ht-sky);
  --ink:var(--ht-ink);--muted:var(--ht-muted);--line:var(--ht-line);--cream:var(--ht-mist);
  --modern-ink:var(--ht-ink);--modern-muted:var(--ht-muted);--modern-border:var(--ht-line);--modern-shadow:none;
  --l2-line:var(--ht-line);--l2-green:var(--ht-ocean);--l2-green-dark:var(--ht-navy);
  --het-line:var(--ht-line);
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--ht-header-h) + 12px)}
body{font-family:var(--ht-font);font-size:var(--ht-fs-base);line-height:1.55;color:var(--ht-ink);background:var(--ht-mist);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.het-home{background:var(--ht-white)}
h1,h2,h3,h4{color:var(--ht-navy);font-stretch:108%;text-wrap:balance}
p{text-wrap:pretty}
a{color:var(--ht-ocean);text-underline-offset:.18em}
::selection{background:#CFE5FA;color:var(--ht-navy)}
img,svg,video{max-width:100%}
img{height:auto}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:none!important;box-shadow:var(--ht-ring)!important;border-radius:var(--ht-r-control)}

.ht-skip{position:absolute;left:12px;top:-60px;z-index:1000;padding:10px 16px;border-radius:var(--ht-r-control);background:var(--ht-navy);color:#fff!important;font-weight:700;text-decoration:none}
.ht-skip:focus{top:10px}
main:focus{outline:none}

/* ---------- Barra superior (igual en todas las páginas) ---------- */
header.ht-header{
  position:sticky;top:0;z-index:100;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;
  height:var(--ht-header-h)!important;min-height:0!important;margin:0!important;
  padding:0 max(var(--ht-gutter),calc((100% - var(--ht-container))/2 + var(--ht-gutter)))!important;
  background:rgba(255,255,255,.97)!important;backdrop-filter:saturate(1.4) blur(10px);
  border:0!important;border-bottom:1px solid var(--ht-line)!important;box-shadow:none!important;
  max-width:none!important;box-sizing:border-box;
}
html.ht-scrolled header.ht-header{box-shadow:0 4px 18px rgba(9,42,89,.07)!important}
.ht-brand{flex:0 0 auto;display:inline-flex;align-items:center}
header.ht-header .het24-logo{display:block;height:38px!important;width:auto!important;max-width:none}

header.ht-header nav.ht-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:4px!important;min-width:0;margin:0}
.ht-nav .ht-nav-link{
  display:inline-flex!important;align-items:center;min-height:40px;padding:0 12px!important;
  border:0;border-radius:var(--ht-r-control);background:transparent!important;
  color:var(--ht-ink)!important;font:inherit;font-size:.9375rem!important;font-weight:600!important;
  text-decoration:none;white-space:nowrap;cursor:pointer;order:0!important;
}
header.ht-header .ht-nav .ht-nav-link{background:transparent!important;border:0!important;box-shadow:none!important}
.ht-nav .ht-nav-link:hover{background:var(--ht-sky)!important;color:var(--ht-navy)!important}
.ht-nav .ht-nav-link[aria-current="page"]{color:var(--ht-navy)!important;box-shadow:inset 0 -3px 0 var(--ht-ocean);border-radius:var(--ht-r-control) var(--ht-r-control) 0 0}
.ht-nav .ht-nav-link[hidden]{display:none!important}
.ht-nav .ht-context{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;margin-right:4px;border-radius:var(--ht-r-pill);background:var(--ht-sky);color:var(--ht-navy);font-weight:700;font-size:.875rem;white-space:nowrap}

/* Controles heredados: siempre ocultos (la cuenta vive en el menú de cuenta).
   Si el menú de cuenta no carga (sin conexión a Supabase), el enlace de acceso vuelve a mostrarse. */
.ht-nav .ht-legacy{display:none!important}
.ht-nav:not(:has(#accountMenuWrap)) #publicLoginLink:not([hidden]){display:inline-flex!important;align-items:center;min-height:40px;padding:0 14px!important;border-radius:var(--ht-r-pill);border:1px solid var(--ht-line-strong);color:var(--ht-navy);font-weight:650;text-decoration:none;white-space:nowrap}
.ht-nav:has(#accountMenuWrap) #logoutBtn,.ht-nav:has(#accountMenuWrap) #customerLogout,.ht-nav:has(#accountMenuWrap) #adminLogout,.ht-nav:has(#accountMenuWrap) #salesLogout{display:none!important}
.ht-nav #adminLogout:not([hidden]),.ht-nav #salesLogout:not([hidden]),.ht-nav #salesAdminLink:not([hidden]){display:inline-flex!important;align-items:center;min-height:40px;padding:0 12px;border:0;border-radius:var(--ht-r-control);background:transparent;color:var(--ht-ink);font:inherit;font-size:.9375rem;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.ht-nav #adminLogout:hover,.ht-nav #salesLogout:hover,.ht-nav #salesAdminLink:hover{background:var(--ht-sky)}

/* Menú de cuenta */
header.ht-header .account-menu-wrap{order:90!important;margin-left:8px!important;min-width:0!important;flex:0 0 auto}
header.ht-header .account-menu-wrap .account-avatar{
  display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;
  width:auto!important;min-width:0!important;height:40px!important;padding:0 14px 0 10px!important;
  border:1px solid var(--ht-line-strong)!important;border-radius:var(--ht-r-pill)!important;background:var(--ht-white)!important;color:var(--ht-navy)!important;
  box-shadow:none!important;line-height:1;cursor:pointer
}
header.ht-header .account-menu-wrap .account-avatar:hover{background:var(--ht-sky)!important}
header.ht-header .account-avatar-label{font-size:.9rem!important;font-weight:650!important;max-width:210px!important;width:auto!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap}
header.ht-header .account-menu{border:1px solid var(--ht-line)!important;border-radius:var(--ht-r-card)!important;box-shadow:var(--ht-shadow-pop)!important;padding:6px!important}
header.ht-header .account-menu a:not([hidden]),header.ht-header .account-menu button:not([hidden]){min-height:44px;display:flex!important;align-items:center;border-radius:8px!important;color:var(--ht-ink)!important;font-size:.9375rem}
header.ht-header .account-menu a:hover,header.ht-header .account-menu button:hover{background:var(--ht-sky)!important}
header.ht-header .account-menu .account-menu-danger{color:var(--ht-danger)!important}

/* Banderas de idioma: a la derecha del ícono de cuenta */
header.ht-header .het-lang{order:91!important;margin-left:6px!important;display:inline-flex;gap:2px}
header.ht-header .het-lang button{min-width:36px!important;min-height:40px!important;padding:0 6px!important;border-radius:8px!important;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important}
header.ht-header .het-lang button[aria-pressed="true"]{border-color:var(--ht-line-strong)!important;background:var(--ht-white)!important}

/* Celular y tableta: la navegación principal pasa a la barra inferior */
@media (max-width:900px){
  :root{--ht-header-h:56px}
  header.ht-header{gap:8px;padding:0 var(--ht-gutter)!important;padding-top:env(safe-area-inset-top,0px)!important;height:calc(var(--ht-header-h) + env(safe-area-inset-top,0px))!important}
  header.ht-header .het24-logo{height:32px!important}
  .ht-nav .ht-nav-link,.ht-nav .ht-context{display:none!important}
  header.ht-header[data-ht-header="staff"] .ht-nav .ht-nav-back{display:inline-flex!important;padding:0 10px!important}
  header.ht-header .ht-nav #salesAdminLink{display:none!important}  /* también está en el menú de cuenta */
  header.ht-header .account-menu-wrap{margin-left:0!important}
  header.ht-header .account-menu-wrap .account-avatar{width:40px!important;padding:0!important;justify-content:center!important}
  header.ht-header .account-avatar-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap}
  header.ht-header .account-menu{position:fixed!important;top:calc(var(--ht-header-h) + env(safe-area-inset-top,0px) + 6px)!important;right:10px!important;left:auto!important;width:min(320px,calc(100vw - 20px))!important}
  header.ht-header .het-lang{margin-left:2px!important}
  header.ht-header .het-lang button{min-width:34px!important;padding:0 4px!important}
}

/* ---------- Ancho de página y alineación comunes ---------- */
main.legal-page,main.info-page,main.vendor-dashboard,main.admin-shell,main.man,main.profile-page,main.seo{
  box-sizing:border-box;width:100%;max-width:var(--ht-container)!important;margin-inline:auto!important;
  padding-inline:var(--ht-gutter)!important;padding-top:clamp(20px,4vw,40px)!important;padding-bottom:clamp(32px,6vw,64px)!important
}
body.het-home main{max-width:none}
/* La página de inicio usa el mismo borde izquierdo que el resto del sitio */
body.het-home{--hl-max:calc(var(--ht-container) - 2 * var(--ht-gutter));--hl-gutter:var(--ht-gutter)}

/* Encabezado de cada página: una sola escala */
main.legal-page h1,main.vendor-dashboard h1,main.admin-shell h1,main.man h1,main.seo h1,.vendor-top h1,.admin-title h1,.admin-hero h1{
  font-size:var(--ht-fs-h1)!important;line-height:1.15!important;font-weight:760!important;letter-spacing:-.02em!important;margin:.15em 0 .45em!important;overflow-wrap:normal;hyphens:manual
}
main.info-page .info-hero h1,main.info-page>section:first-child h1{font-size:var(--ht-fs-display)!important;line-height:1.08!important;font-weight:780!important;letter-spacing:-.025em!important;max-width:20ch;margin:.15em 0 .4em!important}
main h2{font-size:var(--ht-fs-h2);line-height:1.22;letter-spacing:-.012em}
main h3{font-size:var(--ht-fs-h3);line-height:1.3}
main.legal-page p,main.info-page .info-hero>p,main.man p,main.seo .lede,.admin-title p,.vendor-top p{max-width:68ch}
main.info-page .info-hero>p,main.seo .lede{font-size:var(--ht-fs-lead);color:var(--ht-muted)}

/* Etiqueta sobre el título: en frase, no en mayúsculas (el texto original se conserva para la traducción) */
.eyebrow,.ad-dash-kicker,.het-hero-label{display:inline-block;text-transform:lowercase!important;letter-spacing:0!important;font-size:.9rem!important;font-weight:650!important;color:var(--ht-ocean)!important;margin:0 0 .25rem}
.eyebrow::first-letter,.ad-dash-kicker::first-letter,.het-hero-label::first-letter{text-transform:uppercase}

/* Páginas de lectura (términos, privacidad, suscripciones, soporte): columna de lectura alineada a la izquierda */
main.legal-page .legal-card{max-width:var(--ht-reading)!important;margin:0!important;padding:clamp(20px,4vw,40px)!important;background:var(--ht-white)!important;border:1px solid var(--ht-line)!important;border-radius:var(--ht-r-card)!important;box-shadow:none!important}
main.legal-page .legal-card.support-card{max-width:860px!important}
main.legal-page .legal-card h2{margin-top:1.6em;margin-bottom:.4em}

/* Páginas informativas */
main.info-page .info-hero{padding:clamp(8px,2vw,16px) 0 clamp(20px,4vw,36px)!important;margin:0!important;background:transparent!important;text-align:left!important}
main.info-page .info-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* Manual del proveedor */
main.man{max-width:var(--ht-container)!important}
main.man>*{max-width:var(--ht-reading)}
main.man section{background:var(--ht-white);border:1px solid var(--ht-line);border-radius:var(--ht-r-card);padding:clamp(16px,3vw,24px);margin:0 0 12px}
main.man section h2{margin-top:0}

/* ---------- Superficies ---------- */
.panel,.vendor-card,.customer-auth-card,.admin-panel,.socios-card,.promotion-panel,.profile-page-card,.about-values,#dashboardSection .panel,#dashboardSection .vendor-card{
  background:var(--ht-white)!important;border:1px solid var(--ht-line)!important;border-radius:var(--ht-r-card)!important;box-shadow:none!important
}
.vendor-top,#dashboardSection .vendor-top,.customer-dashboard .vendor-top,.admin-title,.admin-hero{background:var(--ht-white)!important;border:1px solid var(--ht-line)!important;border-radius:var(--ht-r-card)!important;box-shadow:none!important;background-image:none!important}
.vendor-top,.admin-title,.admin-hero{padding:clamp(16px,3vw,28px)!important;margin:0 0 16px!important}
.panel,.admin-panel{padding:clamp(16px,3vw,28px)}
.panel>h2:first-child,.panel>.eyebrow+h2,.admin-panel>h2:first-child{margin-top:0}
#providerRequestsPanel,#providerInsightsPanel,#profileScorePanel{border-top-width:1px!important}

/* Acceso (iniciar sesión / registro): tarjetas centradas, como en cualquier app */
#loginSection.login-panel,#adminLogin.login-panel,.admin-shell>.login-panel{max-width:480px!important;margin-inline:auto!important}
#customerLogin.customer-access-panel{max-width:980px!important;margin-inline:auto!important}
.customer-auth-card{padding:clamp(16px,3vw,24px)!important}

/* Bandas de la página de inicio: fondo azul tenue en vez de gris verdoso */
body.het-home .l2-results,body.het-home .het-why,.socios-band{background:var(--ht-mist)!important}
body.het-home .hx-field{background:#F1F6FB!important}
.ad-intent-strip>div{background:var(--ht-mist)!important;border-color:var(--ht-line)!important}

/* ---------- Botones ---------- */
.primary,.secondary,.ghost.button-link,a.button-link,.hx-btn,button.wide{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 18px;border-radius:var(--ht-r-control)!important;
  font:inherit;font-size:.9375rem!important;font-weight:650!important;line-height:1.2;text-decoration:none;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;box-shadow:none!important
}
.primary,button.primary,a.primary{background:var(--ht-ocean)!important;border:1px solid var(--ht-ocean)!important;color:#fff!important}
.primary:hover,button.primary:hover,a.primary:hover{background:var(--ht-ocean-hover)!important;border-color:var(--ht-ocean-hover)!important;color:#fff!important}
.secondary,button.secondary,a.secondary{background:var(--ht-white)!important;border:1px solid var(--ht-line-strong)!important;color:var(--ht-navy)!important}
.secondary:hover,button.secondary:hover,a.secondary:hover{background:var(--ht-sky)!important;border-color:var(--ht-ocean)!important}
.primary:disabled,.secondary:disabled,.primary[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.wide,button.wide{width:100%}
a.primary:visited,a.button-link.primary:visited{color:#fff!important}
a.secondary:visited{color:var(--ht-navy)!important}
/* WhatsApp conserva su verde, y solo WhatsApp */
.wa,.whatsapp-btn,.btn-whatsapp,.whatsapp-coupon,#sendSupportWhatsapp,#advertiseWhatsApp,a[href^="https://wa.me"].button-link,a[href^="https://wa.me"].primary,a[href^="https://wa.me"].secondary{background:var(--ht-wa)!important;border-color:var(--ht-wa)!important;color:#fff!important}

/* ---------- Campos de formulario ---------- */
main input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),
main select,main textarea,dialog input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),dialog select,dialog textarea{
  box-sizing:border-box;min-height:48px;font-family:inherit;font-size:16px;  /* 16px evita el zoom automático en iPhone */
  color:var(--ht-ink);background-color:var(--ht-white);border:1px solid var(--ht-line-strong);border-radius:var(--ht-r-control)
}
main textarea,dialog textarea{min-height:96px;line-height:1.5}
main input::placeholder,main textarea::placeholder,dialog input::placeholder,dialog textarea::placeholder{color:#7890A6;opacity:1}
main input:focus,main select:focus,main textarea:focus,dialog input:focus,dialog select:focus,dialog textarea:focus{border-color:var(--ht-ocean)!important}
main input[type=checkbox],main input[type=radio],dialog input[type=checkbox],dialog input[type=radio]{width:20px;height:20px;accent-color:var(--ht-ocean)}
main label,dialog label{color:var(--ht-ink);font-weight:600}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--ht-danger)!important}
/* El buscador de inicio mantiene su diseño integrado */
body.het-home .l2-search select,body.het-home .hx-hero select{min-height:32px}

/* ---------- Tablas ---------- */
.ht-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0;border:1px solid var(--ht-line);border-radius:var(--ht-r-card)}
.ht-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9375rem;font-variant-numeric:tabular-nums}
.ht-table th,.ht-table td{padding:10px 14px;border-bottom:1px solid var(--ht-line);white-space:nowrap}
.ht-table thead th{background:var(--ht-sky);color:var(--ht-navy);font-weight:700}
.ht-table tbody tr:last-child td{border-bottom:0}
.ht-table td:first-child,.ht-table th:first-child{white-space:normal;min-width:160px}

/* ---------- Diálogos ---------- */
dialog.het-dialog,dialog.signup-dialog,dialog.account-dialog,dialog[class*="dialog"]{border:1px solid var(--ht-line)!important;border-radius:16px!important;box-shadow:var(--ht-shadow-pop)!important;color:var(--ht-ink)}
dialog::backdrop{background:rgba(9,42,89,.42)}

/* ---------- Pie de página (igual en todas las páginas) ---------- */
footer.ht-footer{display:block!important;margin:0!important;padding:0!important;background:var(--ht-white)!important;border-top:1px solid var(--ht-line)!important;color:var(--ht-muted);max-width:none!important;width:auto!important}
.ht-footer-inner{box-sizing:border-box;max-width:var(--ht-container);margin:0 auto;padding:40px var(--ht-gutter) 28px;display:grid;grid-template-columns:minmax(200px,1fr) 2.2fr;gap:32px 48px}
.ht-footer-brand .het24-footer-logo{display:block;height:40px!important;width:auto!important;margin:0 0 12px}
.ht-footer-brand p{margin:0;max-width:32ch;font-size:var(--ht-fs-sm);line-height:1.5}
.ht-footer-cols{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;margin:0;padding:0}
.ht-footer-inner>div,.ht-footer-cols>div{display:block!important;margin:0!important;padding:0!important;text-align:left!important;flex:none!important}
.ht-footer-cols h2{margin:0 0 10px!important;line-height:1.3;font-size:.9375rem!important;font-weight:700;color:var(--ht-navy);letter-spacing:0;font-stretch:100%}
.ht-footer-cols a{display:block!important;padding:6px 0!important;margin:0!important;color:var(--ht-ink)!important;text-decoration:none;font-size:var(--ht-fs-sm)!important;font-weight:450!important;background:none!important}
.ht-footer-cols a:hover{color:var(--ht-ocean);text-decoration:underline}
.ht-footer-legal{grid-column:1/-1;margin:8px 0 0;padding-top:20px;border-top:1px solid var(--ht-line);font-size:.8125rem}
@media (max-width:760px){
  .ht-footer-inner{grid-template-columns:1fr;padding-top:28px;gap:24px}
  .ht-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ht-footer-cols a{padding:9px 0}  /* objetivo táctil cómodo */
}

/* ---------- Barra inferior en celular (5 pestañas) ---------- */
.het-bottom-nav{display:none}
@media (max-width:900px){
  .het-bottom-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid!important;grid-template-columns:repeat(5,1fr)!important;
    background:rgba(255,255,255,.98);backdrop-filter:blur(10px);border-top:1px solid var(--ht-line);
    padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px rgba(9,42,89,.06)
  }
  .het-bottom-nav a,.het-bottom-nav button{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:0;margin:0;
    border:0;border-radius:12px;background:transparent;color:var(--ht-muted);font-family:inherit;font-size:.75rem!important;line-height:1.2;font-weight:650;text-decoration:none;cursor:pointer
  }
  .het-bottom-nav a,.het-bottom-nav button{background:transparent!important;border:0!important;box-shadow:none!important;outline-offset:0}
  .het-bottom-nav span{font-size:12px!important;line-height:1.2}
  .het-bottom-nav svg{width:22px;height:22px}
  .het-bottom-nav [aria-current="page"]{color:var(--ht-navy)!important;background:var(--ht-sky)!important}
  body.has-bottom-nav{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
  body.has-bottom-nav .pwa-install,body.has-bottom-nav [class*="install-banner"]{bottom:calc(70px + env(safe-area-inset-bottom,0px))!important}
}

/* Hoja «Más» */
dialog.ht-sheet{
  position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:80vh;box-sizing:border-box;
  padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));border:0!important;border-radius:18px 18px 0 0!important;
  background:var(--ht-white);color:var(--ht-ink);overflow:auto
}
dialog.ht-sheet[open]{animation:ht-sheet-in .18s ease-out}
@keyframes ht-sheet-in{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.ht-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:6px 0 4px}
.ht-sheet-head h2{margin:0;font-size:1.0625rem}
.ht-sheet-close{display:grid!important;place-items:center;width:44px;height:44px;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:var(--ht-ink);cursor:pointer}
.ht-sheet-close:hover{background:var(--ht-sky)!important}
.ht-sheet-close svg{width:22px;height:22px}
dialog.ht-sheet nav.ht-sheet-links{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;flex-wrap:nowrap!important}
dialog.ht-sheet .ht-sheet-links a{display:flex!important;align-items:center;justify-content:flex-start;width:100%;box-sizing:border-box;min-height:50px;padding:0 6px!important;margin:0!important;border:0!important;border-bottom:1px solid var(--ht-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ht-ink)!important;text-decoration:none;font-size:1rem!important;font-weight:600}
dialog.ht-sheet .ht-sheet-links a:hover{background:var(--ht-sky)!important}
dialog.ht-sheet .ht-sheet-links a:last-child{border-bottom:0!important}
dialog.ht-sheet .ht-sheet-links a[aria-current="page"]{color:var(--ht-ocean)!important}

/* ---------- Panel del proveedor: las pestañas respetan la altura de la barra superior ---------- */
#dashboardSection .notebook-tabs{top:calc(var(--ht-header-h) + 12px)!important;background:var(--ht-navy)!important}
#dashboardSection .notebook-tab[aria-selected=true]{background:var(--ht-ocean)!important}
#dashboardSection [id],#dashboardSection>.panel,#customerPanel>.panel{scroll-margin-top:calc(var(--ht-header-h) + 16px)!important}
.ht-dashboard-shortcuts{top:var(--ht-header-h)!important}

#dashboardSection .notebook-content{margin-top:16px}
/* Cifras de los paneles: los valores en texto («Sin reseñas todavía», «Sin definir») no deben dominar */
#dashboardSection .notebook-stat-value,.admin-stats strong,.vendor-grid .metric strong{font-size:clamp(1.5rem,1.2rem + 1vw,1.9rem)!important;line-height:1.15!important;overflow-wrap:anywhere}

/* Objetivos táctiles mínimos */
.filterpill,.viewbtn{min-height:40px!important}
a.het-manual-link{display:inline-flex;align-items:center;min-height:44px}

/* ---------- Celular: sin desbordes, objetivos táctiles grandes ---------- */
@media (max-width:640px){
  main.legal-page .legal-card{padding:18px!important;border-radius:12px!important}
  .primary,.secondary,a.button-link{min-height:48px}
  main.info-page .info-hero-actions>*{flex:1 1 auto}
  .vendor-top,.admin-title,.admin-hero{padding:16px!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media print{
  header.ht-header,.het-bottom-nav,footer.ht-footer,.ht-skip{display:none!important}
  body{background:#fff}
}

/* v1999.1 — Garantía: un elemento con el atributo hidden NUNCA se muestra en la barra, el menú de cuenta,
   el pie, la barra inferior ni la hoja «Más». Los permisos por rol dependen de esto (public-session.js). */
header.ht-header [hidden],header.ht-header .account-menu [hidden],footer.ht-footer [hidden],.het-bottom-nav [hidden],dialog.ht-sheet [hidden]{display:none!important}

/* v2014: en inglés, en celulares de 360 px, el pie de página se salía 9 px a la derecha. */
.ht-footer-cols>div{min-width:0}.ht-footer-cols h2,.ht-footer-cols a{white-space:normal!important;overflow-wrap:break-word}

/* v2017 — Solicitud de servicio (perfil.html): etiquetas legibles sobre el panel azul y datos de la cuenta en solo lectura */
#contactGate label,#contactGate legend,#contactGate .request-service-line{color:#fff}
#contactGate small,#contactGate .optional-tag,#contactGate .required-tag,#contactGate .field-help{color:rgba(255,255,255,.86)}
#contactGate .field-help a{color:#fff;text-decoration:underline}
#contactGate .request-contact-readonly{border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:.75rem .85rem .85rem;margin:.25rem 0 1rem;min-width:0}
#contactGate .request-contact-readonly legend{font-weight:700;padding:0 .35rem}
#contactGate input.readonly-field[readonly]{background:rgba(255,255,255,.14);color:#fff;-webkit-text-fill-color:#fff;border:1px solid rgba(255,255,255,.3);cursor:not-allowed;box-shadow:none}
#contactGate input.readonly-field[readonly]:focus{outline:none}
.repeat-request-need{margin-top:.75rem;display:grid;gap:.5rem}
.repeat-request-need textarea{width:100%}
