/* Login y solicitud de recupero. Estilos aislados del resto de DocWeb. */
/* El footer general tiene margen negativo y puede cubrir los enlaces del panel. */
.divCentral.auth-footer { margin-top: 0; height: auto; }
.auth-entry {
    margin: 32px auto 24px;
    padding: 0 16px;
    font: 12px/1.5 Tahoma, sans-serif;
    color: #203b2b;
    text-align: left;
}
.auth-entry .auth-panel {
    box-sizing: border-box;
    width: 370px;
    max-width: 100%;
    margin: 0 auto;
    padding: 24px;
    background: #fff;
    border: 1px solid #d5dfd0;
}
.auth-entry .auth-heading { margin-bottom: 22px; text-align: center; }
.auth-entry h1 { margin: 0 0 8px; color: #005333; font: bold 16px/1.4 Tahoma, sans-serif; }
.auth-entry .auth-heading p { margin: 0; }
.auth-entry .auth-translation { margin-top: 4px; font-size: 11px; color: #4d6657; }
.auth-entry .auth-field { margin-bottom: 16px; }
.auth-entry label { display: block; margin-bottom: 6px; color: #005333; font-weight: bold; }
.auth-entry label span { color: #4d6657; font-size: 11px; font-weight: normal; }
.auth-entry .txt1 {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 32px;
    padding: 5px 8px;
    border: 1px solid #879e7b;
    border-radius: 0;
    background: #bfeaa4;
    color: #152d1d;
    font: 12px Tahoma, sans-serif;
}
.auth-entry .txt1:focus { outline: 2px solid #005333; outline-offset: 2px; }
.auth-entry .auth-password-input { position: relative; }
.auth-entry .auth-password-input .txt1 { padding-right: 40px; }
.auth-entry .auth-password-toggle { position: absolute; right: 1px; top: 1px; width: 34px; height: 30px; padding: 5px 7px; border: 0; background: transparent; color: #005333; cursor: pointer; }
.auth-entry .auth-password-toggle svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.auth-entry .auth-password-toggle:hover { background: rgba(0, 83, 51, .08); }
.auth-entry .auth-password-toggle:focus { outline: 2px solid #005333; outline-offset: 1px; }
.auth-entry .auth-eye-slash { display: none; }
.auth-entry .auth-password-toggle[aria-pressed="true"] .auth-eye-slash { display: block; }
.auth-entry .auth-verification { margin: 20px 0; padding-top: 16px; border-top: 1px solid #e2e8de; }
.auth-entry .auth-captcha-row { display: flex; align-items: center; gap: 12px; }
.auth-entry #captchaImg { display: block; flex: 0 0 100px; width: 100px; height: 50px; }
.auth-entry #captchaReload { display: flex; flex: 0 0 28px; height: 32px; align-items: center; justify-content: center; }
.auth-entry #captchaReload img { display: block; border: 0; }
.auth-entry .auth-captcha-row .auth-code { width: 100px; min-width: 64px; margin-left: auto; text-align: center; font-size: 16px; letter-spacing: 3px; }
.auth-entry .auth-help { margin: 8px 0 0; font-size: 11px; color: #4d6657; }
.auth-entry .auth-submit {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid #8b9a85;
    border-radius: 0;
    background: #eeeeee;
    color: #005333;
    font: bold 12px Tahoma, sans-serif;
    text-align: center;
    cursor: pointer;
}
.auth-entry .auth-submit img { margin-left: 6px; vertical-align: middle; }
.auth-entry a.auth-submit { text-decoration: none; }
.auth-entry .auth-goodbye-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0 auto 14px; border: 1px solid #b5c4ad; border-radius: 50%; background: #edf6e8; color: #005333; }
.auth-entry .auth-goodbye-icon svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.auth-entry .auth-submit:hover { background: #e3ecde; border-color: #005333; }
.auth-entry .auth-submit:focus, .auth-entry a:focus { outline: 2px solid #005333; outline-offset: 3px; }
.auth-entry .auth-links { margin-top: 16px; text-align: center; }
.auth-entry .auth-links a { color: #005333; text-decoration: underline; }
.auth-entry .auth-links a:hover { font-weight: normal; text-decoration: none; }
.auth-entry .auth-message { margin: 0 0 16px; padding: 8px 10px; border-left: 3px solid #9c3c30; background: #fff5f2; color: #843024; font-size: 11px; overflow-wrap: break-word; }
.auth-entry .auth-message:empty { display: none; }
.auth-entry .auth-message-success { border-color: #005333; background: #edf6e8; color: #005333; }
.auth-entry .auth-message-info { border-color: #879e7b; background: #f3f7f0; color: #203b2b; }
.auth-entry .auth-password-rules { margin: 20px 0; padding: 14px; background: #f3f7f0; border: 1px solid #e2e8de; font-size: 11px; }
.auth-entry .auth-password-rules h2 { margin: 0 0 8px; color: #005333; font: bold 11px/1.5 Tahoma, sans-serif; }
.auth-entry .auth-password-rules ul { margin: 0; padding-left: 16px; }
.auth-entry .auth-password-rules li { margin-bottom: 5px; }
.auth-entry .auth-password-rules li[data-password-rule] { list-style: none; position: relative; }
.auth-entry [data-password-rule]::before { content: '\2022'; position: absolute; left: -16px; }
.auth-entry [data-password-rule].is-valid::before { content: '\2713'; }
.auth-entry [data-password-rule].is-invalid::before { content: '\00d7'; }
.auth-entry .is-valid { color: #005333; }
.auth-entry .is-invalid { color: #96392b; }
.auth-entry .txt1[aria-invalid="true"] { border-color: #96392b; }
.auth-entry .auth-progress { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; color: #005333; font-size: 12px; }
.auth-entry .auth-progress[hidden] { display: none; }
.auth-entry .auth-spinner { width: 16px; height: 16px; border: 2px solid #d5dfd0; border-top-color: #005333; border-radius: 50%; animation: auth-spin .75s linear infinite; }
.auth-entry button:disabled, .auth-entry input[type="button"]:disabled, .auth-entry input[type="submit"]:disabled { opacity: .6; cursor: wait; }
@keyframes auth-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .auth-entry .auth-spinner { animation: none; } }
.auth-entry .auth-digits { display: flex; gap: 8px; }
.auth-entry .auth-digits .txt1 { flex: 1 1 0; min-width: 0; width: 0; height: 42px; padding: 5px 0; text-align: center; font-size: 20px; }
.auth-entry .auth-resend { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e2e8de; text-align: center; }
.auth-entry .auth-resend .auth-help { margin-top: 0; }
.auth-entry .auth-secondary { margin: 10px 0 6px; padding: 6px 12px; border: 1px solid #b5c4ad; background: #fff; color: #005333; font: 11px Tahoma, sans-serif; cursor: pointer; }
.auth-entry .auth-secondary:hover { background: #edf6e8; }
.auth-entry .auth-secondary:focus { outline: 2px solid #005333; outline-offset: 2px; }
.auth-entry .auth-security-note { max-width: 500px; margin: 18px auto 0; text-align: center; color: #4d6657; font-size: 11px; }
.auth-entry .auth-security-note span { display: block; margin-top: 3px; font-size: 10px; }
@media (max-width: 420px) {
    .auth-entry { margin-top: 24px; }
    .auth-entry .auth-panel { padding: 20px 16px; }
    .auth-entry .auth-captcha-row { gap: 8px; }
}
