/* login */
#loginView{min-height:100vh;background:linear-gradient(135deg,#0766d7 0%,#0c54ac 55%,#123f76 100%);display:grid;place-items:center;padding:28px}
.login-card{width:min(430px,94vw);background:#fff;border-radius:24px;padding:36px;box-shadow:0 28px 80px rgba(0,31,73,.28)}
.login-logo{display:block;width:176px;max-height:86px;object-fit:contain;margin:0 auto 13px}
.login-title{text-align:center;font-size:22px;font-weight:800;margin:4px 0 3px}.login-sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:26px}
.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:700;color:#53657b}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:9px;padding:10px 11px;outline:none;color:var(--text);transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#78afe8;box-shadow:0 0 0 3px #e8f3ff}.field textarea{resize:vertical;min-height:68px}
.password-wrap{position:relative}.password-wrap input{padding-right:50px}.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#53708f;padding:6px 8px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:10px;transition:background .18s ease,color .18s ease}.eye:hover{background:rgba(25,103,210,.08);color:#1c5fb8}.eye svg{width:20px;height:20px;display:block;fill:currentColor}
.remember{display:flex;align-items:center;gap:8px;color:#596b80;font-size:13px;margin:15px 0}.remember input{accent-color:var(--brand)}
.primary{border:0;background:var(--brand);color:#fff;border-radius:9px;padding:10px 16px;font-weight:750;box-shadow:0 6px 16px rgba(11,102,215,.18)}.primary:hover{background:var(--brand-2)}
.success{background:var(--green)}.danger{background:var(--red)}.ghost{background:#fff!important;color:#42566e!important;border:1px solid var(--border)!important;box-shadow:none!important}.orange{background:var(--orange)}
.login-card .primary{width:100%;padding:12px}.error-line{color:#b42318;font-size:12px;min-height:18px;margin-top:9px}
.forgot-row{display:flex;justify-content:flex-end;margin-top:7px;margin-bottom:-3px}.forgot-link{border:0;background:transparent;color:var(--brand);padding:2px 0;font-size:12px;font-weight:650;cursor:pointer}.forgot-link:hover{text-decoration:underline}.reset-note{font-size:11px;line-height:1.45;color:var(--muted);padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}.reset-code-input{font-size:20px!important;letter-spacing:.28em;text-align:center;font-weight:700!important}


/* V41 — login biométrico nativo (Face ID / Android) */
.biometric-login{width:100%;margin-top:9px;border:1px solid #cbdced;background:#f7fbff;color:#285879;border-radius:9px;padding:10px 14px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease}
.biometric-login:hover{background:#eef7ff;border-color:#a9cae8;color:#174f7a}
.biometric-login:disabled{opacity:.62;cursor:wait}
.biometric-login.hidden,.biometric-login-help.hidden{display:none!important}
.biometric-login-icon{width:21px;height:21px;border:1.5px solid currentColor;border-radius:7px;display:grid;place-items:center;font-size:13px;line-height:1}
.biometric-login-help{text-align:center;margin-top:5px;color:#8192a2;font-size:10px;line-height:1.35}
.biometric-enroll-note{margin-top:9px;padding:9px 10px;border:1px solid #d7e6f2;background:#f8fbfe;border-radius:9px;color:#587086;font-size:9px;line-height:1.45}
@media (max-width:960px){.biometric-login{min-height:44px;font-size:13px}.biometric-login-help{font-size:10px}}
