/* EJONERE FACE — LOGIN UNIFICADO CONSOLIDADO v2.0 */

.ef-login-choices{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0
}
.ef-login-choices button{
  width:100%;
  min-height:56px;
  border-radius:12px;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease
}
.ef-login-choices button:hover{transform:translateY(-1px)}
.ef-face-choice{
  background:#f2f0ea!important;
  color:#111318!important
}
.ef-email-choice{
  background:transparent!important;
  color:#f2f0ea!important;
  border:1px solid rgba(242,240,234,.32)!important
}
#ef-email-form{margin-top:16px}
.ef-email-field.ef-hidden{display:none!important}
.ef-back-face{
  background:transparent!important;
  color:#b7bac2!important;
  border:1px solid #2a2e37!important
}

html.ef-modal-open,body.ef-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important
}

#ef-face-modal{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:
    max(10px,env(safe-area-inset-top))
    max(10px,env(safe-area-inset-right))
    max(10px,env(safe-area-inset-bottom))
    max(10px,env(safe-area-inset-left));
  background:rgba(5,7,11,.86);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px)
}
#ef-face-modal.ef-open{display:flex}

.ef-modal-card{
  width:min(94vw,680px);
  max-height:calc(100dvh - 20px);
  overflow:auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  padding:14px;
  background:linear-gradient(180deg,rgba(23,27,36,.99),rgba(11,14,20,.99));
  box-shadow:0 30px 90px rgba(0,0,0,.58)
}
.ef-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:2px 2px 12px
}
.ef-modal-head strong{
  display:block;
  color:#f2f0ea;
  font-size:16px
}
.ef-modal-head small{
  display:block;
  margin-top:3px;
  color:#848995
}
.ef-close{
  flex:0 0 42px;
  width:42px;
  height:42px;
  min-height:42px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.05)!important;
  color:#f2f0ea!important;
  font-size:27px!important;
  font-weight:300!important
}
.ef-camera{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  max-height:min(64dvh,520px);
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(104,185,166,.42);
  background:#080b10
}
.ef-camera video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scaleX(-1)
}
.ef-guide{
  position:absolute;
  left:50%;
  top:50%;
  width:min(48%,260px);
  aspect-ratio:1/1.22;
  transform:translate(-50%,-50%);
  border:2px solid rgba(242,240,234,.90);
  border-radius:48% 48% 45% 45%;
  pointer-events:none
}
.ef-badge{
  position:absolute;
  top:14px;
  right:14px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(7,10,15,.72);
  color:#f2f0ea;
  font-size:11px;
  font-weight:750
}
.ef-badge:before{
  content:"";
  display:inline-block;
  width:8px;height:8px;
  margin-right:7px;
  border-radius:50%;
  background:#68b9a6;
  box-shadow:0 0 10px rgba(104,185,166,.8)
}
.ef-status{
  margin:12px 2px 0;
  min-height:38px;
  text-align:center;
  color:#f2f0ea;
  font-size:14px;
  font-weight:750;
  line-height:1.35
}
.ef-status small{
  display:block;
  margin-top:4px;
  color:#848995;
  font-weight:500
}
.ef-attempts,.ef-face-error{
  min-height:18px;
  text-align:center;
  font-size:12px;
  line-height:1.4
}
.ef-attempts{color:#848995}
.ef-face-error{color:#e8aeb2}
.ef-modal-actions{
  display:flex;
  justify-content:center;
  margin-top:7px
}
.ef-use-email{
  min-height:auto!important;
  padding:9px 12px!important;
  background:transparent!important;
  color:#b7bac2!important;
  text-decoration:underline;
  text-underline-offset:3px
}

@media(max-width:640px){
  .ef-modal-card{width:100%;max-height:calc(100dvh - 16px);border-radius:20px;padding:10px}
  .ef-camera{aspect-ratio:3/4;height:min(64dvh,560px);max-height:none}
  .ef-guide{width:min(58%,260px)}
}
@media(max-height:650px){
  .ef-camera{max-height:54dvh}
  .ef-status{margin-top:7px;min-height:31px}
}