/* Login del portal de Logística: misma línea que el login de Check-a. */
* { box-sizing: border-box; }
body {
    min-height: 100vh;
    margin: 0;
    background: linear-gradient(135deg, #009fdb 0%, #e6f7fd 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Roboto', Arial, sans-serif;
    padding: 1rem;
}
.login-tarjeta {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 159, 219, 0.18);
    padding: 2.6rem 2.2rem 1.6rem;
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-top: 6px solid #009fdb;
}
.login-logo {
    width: 74px; height: 74px;
    border-radius: 50%;
    border: 2.5px solid #009fdb;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 12px rgba(0, 159, 219, 0.1);
    margin-bottom: 1.1rem;
    color: #009fdb;
    font-size: 2.1rem;
}
.login-titulo {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #009fdb;
    margin: 0 0 0.3rem;
}
.login-subtitulo { color: #0077a3; text-align: center; margin: 0 0 1.4rem; font-size: 1rem; }
.login-error {
    width: 100%;
    background: #fdecee; border: 1px solid #f5b5bd; color: #842029;
    border-radius: 8px; padding: 0.6rem 0.8rem; margin-bottom: 0.9rem; font-size: 0.95rem;
}
.login-form { width: 100%; display: flex; flex-direction: column; gap: 1rem; }
.login-input {
    width: 100%;
    padding: 0.95rem 1.05rem;
    border: 1.5px solid #b2e6f7;
    border-radius: 9px;
    font-size: 1.03rem;
    background: #f4fcff;
    transition: border 0.2s;
}
.login-input:focus { border-color: #009fdb; outline: none; background: #fff; }
.login-clave { position: relative; }
.login-clave .login-input { padding-right: 3rem; }
.login-ver {
    position: absolute; right: 0.5rem; top: 50%; transform: translateY(-50%);
    border: none; background: none; color: #009fdb; font-size: 1.25rem; cursor: pointer; padding: 0.3rem;
}
.login-boton {
    padding: 0.95rem 1.05rem;
    background: linear-gradient(90deg, #009fdb 0%, #00bfae 100%);
    color: #fff; border: none; border-radius: 9px;
    font-family: 'Montserrat', Arial, sans-serif; font-weight: 600; font-size: 1.1rem;
    cursor: pointer; transition: transform 0.1s, background 0.2s;
}
.login-boton:hover:not(:disabled) { background: linear-gradient(90deg, #0077a3 0%, #00bfae 100%); transform: translateY(-1px); }
.login-boton:disabled { opacity: 0.7; cursor: wait; }
.login-pie { color: #8aa4b5; font-size: 0.82rem; margin: 1.4rem 0 0; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
