/* Quicksand is bundled locally: no third-party font requests. */
@font-face{font-family:'Quicksand';src:url('fonts/Quicksand.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
/* Error states are absent from the unchanged reference layout until needed. */
.field-error{margin:0;font-size:13px;line-height:1.5;color:#C0392B}
.btn:disabled{cursor:wait}
/* The native-only Face ID button is the additional element requested by the user. */
.auth-face-id{background:#EFEBE5;color:#000}
.auth-face-id:hover{background:#EFEBE5;color:#000}

.auth-symbols{position:absolute}

/* Selector de acceso naranja con una única pieza móvil, igual que en la app. */
.tabs{position:relative;isolation:isolate}
.tabs::before{
 content:"";position:absolute;top:4px;bottom:4px;left:4px;
 width:calc(50% - 6px);border-radius:10px;background:#E75E34;
 transform:translateX(0);transition:transform .22s ease-in-out;pointer-events:none;
}
.auth[data-mode="signup"] .tabs::before{transform:translateX(calc(100% + 4px))}
.tab{position:relative;z-index:1}
.tab[aria-selected="true"]{background:transparent;color:#fff;box-shadow:none}
@media(prefers-reduced-motion:reduce){.tabs::before{transition:none}}

/* Formularios de acceso alineados con los controles generales de Oreka Fit. */
.input,.form--signup .input{height:45px;font-size:14px}
.label{font-size:16px;font-weight:700}
.btn:not(.auth-face-id){background:#3661E2}
.eye{top:50%;transform:translateY(-50%)}

/* Override the signup-specific top offsets on desktop and mobile. */
.input-wrap>.eye,.form--signup .input-wrap>.eye{top:50%;transform:translateY(-50%);margin:0}
