/* OBX Asistencia Cloud V1.9.2 — capa de presentación y diálogo de acceso.
   No modifica formularios backend, endpoints, geocercas, jornadas ni PostgreSQL. */
.obx192-overlay[hidden]{display:none!important}
.obx-login-v191.obx192-layout.login-page{
  display:grid;grid-template-columns:minmax(0,1.16fr) minmax(365px,.84fr);
  align-items:stretch;gap:0;padding:clamp(10px,1.2vw,20px);
  min-height:100svh;height:auto;overflow:visible;
  background:radial-gradient(circle at 70% 10%,#17688b,transparent 43%),linear-gradient(135deg,#07182d,#0b3658 72%,#087eae)
}
.obx192-layout .obx-login-hero{
  border-radius:24px 0 0 24px;min-height:min(670px,calc(100svh - 28px));
  background:radial-gradient(ellipse at 66% 43%,#0b4d76,#0b2b4e 45%,#081b32 88%);
}
.obx192-layout .obx-login-hero-inner{
  min-height:min(670px,calc(100svh - 28px));height:100%;padding:clamp(22px,2.8vw,40px);
}
.obx192-layout .obx-hero-brand-mark{font-size:clamp(39px,5vw,65px)}
.obx192-layout .obx-network-stage{inset:7% -3% 9% 13%;opacity:.88}
.obx192-layout .obx-hero-copy{max-width:555px;padding-top:125px;margin-top:auto}
.obx192-layout .obx-hero-copy h2{font-size:clamp(32px,3.6vw,53px);line-height:1.06;max-width:540px}
.obx192-layout .obx-hero-copy>p:not(.obx-hero-kicker){max-width:490px;font-size:clamp(12px,1.08vw,14px);line-height:1.55}
.obx192-layout .obx-hero-features{margin-top:16px;gap:10px 16px}
.obx192-layout .obx-hero-chip{background:rgba(7,43,72,.85)}
.obx192-layout .obx-chip-one{top:16%;left:5%}
.obx192-layout .obx-chip-two{right:4%;top:28%}
.obx192-layout .obx-chip-three{right:3%;bottom:35%}
/* Pantalla inicial: sin campos de contraseña hasta que el usuario lo solicite */
.obx192-layout .obx-login-card.obx192-welcome{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:0;max-height:none!important;align-self:stretch;
  border-radius:0 24px 24px 0;overflow:visible!important;
  width:100%;max-width:none;margin:0;
  padding:clamp(22px,2.9vw,44px);
  box-shadow:0 19px 55px rgba(1,12,27,.25)
}
.obx192-welcome-content{width:100%;max-width:430px;margin:0 auto;min-width:0}
.obx192-welcome-content .logo-login{width:131px;height:57px;object-fit:contain;object-position:left;margin:0 0 10px}
.obx192-welcome .obx192-label{font-size:10px;color:#087eae;letter-spacing:.17em;margin:4px 0 11px}
.obx192-welcome h1{font-size:clamp(25px,2.7vw,38px);letter-spacing:-.045em;line-height:1.14;margin:0 0 14px;max-width:425px}
.obx192-welcome-description{font-size:13.7px;line-height:1.58;color:#5d738c;margin:0 0 24px;max-width:415px}
.obx192-welcome .obx192-start{min-height:51px;height:auto;display:flex;justify-content:space-between;align-items:center;
  width:100%;border:0;border-radius:12px;font-size:15px;background:linear-gradient(112deg,#086da6,#0396b1);box-shadow:0 9px 21px rgba(4,113,161,.22)}
.obx192-start .obx-ico{width:19px;height:19px}
.obx192-feature-heading{margin:24px 0 13px;position:relative;text-align:center;font-size:10px;font-weight:850;letter-spacing:.14em;color:#697f95}
.obx192-feature-heading:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#dfe7ef}
.obx192-feature-heading span{position:relative;background:#fff;padding:0 10px}
.obx192-access-benefits{display:grid;gap:9px}
.obx192-benefit{display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:60px;text-decoration:none;color:#173653;
  background:#fafcff;border:1px solid #dfebf5;border-radius:12px;transition:border-color .16s,transform .16s,background .16s}
.obx192-benefit>.obx-ico:first-child{padding:8px;background:#e6f3fd;color:#087eae;border-radius:11px;width:37px;height:37px;flex:none}
.obx192-benefit:nth-child(2)>.obx-ico:first-child{color:#0ca596;background:#e2faf2}
.obx192-benefit:nth-child(3)>.obx-ico:first-child{color:#5379ad;background:#edf3fd}
.obx192-benefit>span{flex:1;min-width:0}
.obx192-benefit strong,.obx192-benefit small{display:block}
.obx192-benefit strong{font-size:12.8px;font-weight:800;color:#173653;line-height:1.2}
.obx192-benefit small{font-size:10.5px;color:#6a819a;margin-top:3px;line-height:1.35}
.obx192-access-arrow{width:17px;height:17px;flex:none;color:#407ca0}
a.obx192-benefit:hover,a.obx192-benefit:focus-visible{transform:translateY(-1px);border-color:#12b8ae;background:#f5fcfd}
.obx192-feature-static{background:transparent;border-style:dashed}
/* Centro del login: ventana accesible, no otra página ni un nuevo sistema de autenticación. */
.obx192-overlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;isolation:isolate}
.obx192-backdrop{position:absolute;inset:0;background:rgba(5,18,37,.68);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:default}
.obx192-dialog{position:relative;width:min(525px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;
  color:#10233f;background:linear-gradient(160deg,#fff,#fafdff);border:1px solid rgba(222,234,246,.9);border-radius:23px;
  box-shadow:0 26px 88px rgba(1,15,38,.39);outline:none;animation:obx192-dialog-in .28s cubic-bezier(.22,.75,.21,1) both}
.obx192-dialog-inner{width:100%;padding:clamp(22px,3vw,36px) clamp(23px,3.5vw,40px) 22px}
.obx192-close{position:absolute;right:13px;top:12px;display:grid;place-items:center;min-width:38px;min-height:38px;border-radius:10px;border:0;
  font-size:28px;line-height:1;background:transparent;color:#5a748d;z-index:2}
.obx192-close:hover,.obx192-close:focus-visible{background:#ecf5fa;color:#064568}
.obx192-dialog-logo{width:116px;height:48px;display:block;object-fit:contain;margin:0 auto 4px}
.obx192-dialog-eyebrow{text-align:center;font-size:10px;letter-spacing:.18em;color:#087eae;margin:6px auto 10px}
.obx192-dialog h2{text-align:center;color:#10233f;font-size:clamp(23px,2.4vw,30px);letter-spacing:-.045em;line-height:1.2;margin:0 25px 9px;font-weight:820}
.obx192-dialog-intro{text-align:center;color:#698199;line-height:1.46;font-size:12.8px;margin:0 auto 17px;max-width:360px}
.obx192-form-shell form{display:grid;gap:7px;margin:0}
.obx192-form-shell label{font-size:12px;font-weight:750;color:#193653}
.obx192-form-shell .obx-login-field{display:flex;align-items:center;position:relative;margin-bottom:7px}
.obx192-form-shell .obx-login-field>.obx-ico{position:absolute;left:14px;width:19px;height:19px;color:#63819a;pointer-events:none}
.obx192-form-shell .obx-login-field input{width:100%;min-height:47px;height:47px;padding:10px 44px;border:1px solid #d6e4f1;border-radius:11px;background:#f9fbfd;color:#10233f;outline:none}
.obx192-form-shell .obx-login-field input:focus{border-color:#087eae;box-shadow:0 0 0 3px rgba(18,184,174,.15)}
.obx192-form-shell .obx-password-show{position:absolute;right:7px;top:50%;transform:translateY(-50%)}
.obx192-form-shell .obx-login-submit{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:49px;margin-top:7px;border-radius:11px;
  font-size:14px;background:linear-gradient(113deg,#076da7,#049bb3)}
.obx192-dialog .obx-login-separator{margin:19px 0 12px}
.obx192-dialog .obx-login-separator span{background:#fff}
.obx192-dialog .login-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.obx192-dialog .login-quick-link{display:flex;align-items:center;gap:8px;padding:10px;min-height:60px;background:#f9fbff;border-radius:11px}
.obx192-dialog .login-quick-link .obx-quick-icon{width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:#e9f4fb;color:#087eae;display:grid;place-items:center}
.obx192-dialog .login-quick-link strong{font-size:11.5px}
.obx192-dialog .login-quick-link small{font-size:9.2px;line-height:1.25}
.obx192-dialog .login-quick-link>svg{display:none}
.obx192-dialog #loginError:empty{display:none}
@keyframes obx192-dialog-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
html.obx192-dialog-open,html.obx192-dialog-open body{overflow:hidden}
/* Oscuro usa únicamente la configuración ya guardada; no afecta el tema del dashboard. */
html[data-obx-theme="dark"] .obx192-welcome{background:#1a2b40;color:#edf7ff;border-color:#38516a}
html[data-obx-theme="dark"] .obx192-welcome h1,html[data-obx-theme="dark"] .obx192-benefit strong{color:#f0f7ff}
html[data-obx-theme="dark"] .obx192-welcome-description{color:#c1d1df}
html[data-obx-theme="dark"] .obx192-feature-heading span{background:#1a2b40}
html[data-obx-theme="dark"] .obx192-benefit{background:#21374d;border-color:#3a5068;color:#e8f5ff}
html[data-obx-theme="dark"] .obx192-benefit small{color:#bad0e5}
html[data-obx-theme="dark"] .obx192-dialog{background:linear-gradient(160deg,#20374f,#172b40);border-color:#38546b;color:#edf7ff}
html[data-obx-theme="dark"] .obx192-dialog h2,html[data-obx-theme="dark"] .obx192-form-shell label,html[data-obx-theme="dark"] .obx192-dialog .login-quick-link strong{color:#eef7ff}
html[data-obx-theme="dark"] .obx192-dialog-intro{color:#b9cede}
html[data-obx-theme="dark"] .obx192-dialog .obx-login-separator span{background:#20374f}
html[data-obx-theme="dark"] .obx192-dialog .login-quick-link{background:#243f58;border-color:#48627a}
html[data-obx-theme="dark"] .obx192-form-shell .obx-login-field input{background:#1a3148;border-color:#4c6680;color:#f2faff}
html[data-obx-theme="dark"] .obx192-close{color:#d2e5ee}
/* Diseño adaptable de la pantalla de bienvenida. */
@media(max-width:1150px){.obx-login-v191.obx192-layout.login-page{grid-template-columns:minmax(0,1.05fr) minmax(355px,.95fr)}.obx192-layout .obx-hero-chip{display:none}.obx192-layout .obx-hero-copy{padding-top:145px}}
@media(max-width:860px){
  .obx-login-v191.obx192-layout.login-page{grid-template-columns:minmax(0,620px);justify-items:center;gap:0;padding:12px 15px;min-height:100svh}
  .obx192-layout .obx-login-hero{display:flex;min-height:172px;width:100%;border-radius:18px 18px 0 0;border:1px solid rgba(98,213,234,.2)}
  .obx192-layout .obx-login-hero-inner{min-height:172px;padding:22px;display:block}
  .obx192-layout .obx-network-stage{inset:-130px -85px -120px 33%;opacity:.24}
  .obx192-layout .obx-hero-copy{padding:0;margin:5px 0 0;max-width:95%}
  .obx192-layout .obx-hero-copy h2{font-size:25px;margin:0 0 4px}
  .obx192-layout .obx-hero-copy>p:not(.obx-hero-kicker),.obx192-layout .obx-hero-features,.obx192-layout .obx-hero-kicker{display:none}
  .obx192-layout .obx-hero-brand-mark{font-size:30px}
  .obx192-layout .obx-hero-brand small{font-size:9px;margin-top:1px}
  .obx192-layout .obx-login-card.obx192-welcome{border-radius:0 0 18px 18px;max-width:620px;padding:24px;min-height:0}
  .obx192-welcome-content{max-width:480px}
}
@media(max-width:480px){
  .obx-login-v191.obx192-layout.login-page{padding:8px}
  .obx192-layout .obx-login-hero,.obx192-layout .obx-login-hero-inner{min-height:155px}
  .obx192-layout .obx-login-hero-inner{padding:17px}
  .obx192-layout .obx-login-card.obx192-welcome{padding:23px 20px}
  .obx192-welcome h1{font-size:27px}
  .obx192-welcome-description{font-size:12.5px;margin-bottom:18px}
  .obx192-welcome .obx192-start{min-height:48px}
  .obx192-feature-heading{margin:17px 0 10px}
  .obx192-benefit{min-height:55px;padding:8px 10px}
  .obx192-dialog-inner{padding:29px 20px 20px}
  .obx192-dialog .login-quick-links{grid-template-columns:1fr}
  .obx192-dialog .login-quick-link{min-height:47px}
  .obx192-dialog .login-quick-link small{font-size:10px}
}
@media(max-height:700px) and (min-width:861px){
  .obx192-layout .obx-login-hero,.obx192-layout .obx-login-hero-inner{min-height:580px}
  .obx192-layout .obx-login-hero-inner{padding:24px 30px}
  .obx192-layout .obx-hero-copy{padding-top:80px}
  .obx192-layout .obx-hero-copy h2{font-size:38px}
  .obx192-layout .obx-network-stage{inset:8% 0 7% 19%}
  .obx192-layout .obx-login-card.obx192-welcome{padding:19px 27px}
  .obx192-welcome-content .logo-login{height:43px;margin:0 0 3px;width:117px}
  .obx192-welcome h1{font-size:29px;margin-bottom:8px}
  .obx192-welcome-description{font-size:12px;margin-bottom:15px}
  .obx192-welcome .obx192-start{min-height:45px}
  .obx192-feature-heading{margin:16px 0 9px}
  .obx192-benefit{min-height:53px;padding:7px 10px}
}
@media(max-height:625px){.obx192-dialog{max-height:calc(100dvh - 16px)}.obx192-dialog-inner{padding-top:23px}.obx192-dialog-logo{height:39px}.obx192-dialog-intro{margin-bottom:11px}}
@media(prefers-reduced-motion:reduce){.obx192-dialog{animation:none!important}.obx192-benefit{transition:none!important}.obx192-start{transition:none!important}}
