/* ==========================================================================
   Acceso administrador - Sistema de Votaciones CIC SENA (Bootstrap 5)
   ========================================================================== */

:root {
    
    
    --sena-green: #39A900;
    --sena-green-dark: #2C7A00;
    --ink: #1f2937;
    --muted: #6b7280;
}

* { box-sizing: border-box; }

body.login-admin {
    margin: 0;
    min-height: 100vh;
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--ink);
    background: linear-gradient(rgba(10, 20, 40, .78), rgba(10, 20, 40, .78)),
                url("../img/sena.jpg") center / cover no-repeat fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    -webkit-font-smoothing: antialiased;
}

.login-shell {
    width: 100%;
    max-width: 920px;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0, 0, 0, .4);
    display: grid;
    grid-template-columns: 1fr 1fr;
}

/* Panel de marca (izquierda) */
.login-brand {
    background: linear-gradient(160deg, var(--sena-green), var(--sena-green-dark));
    color: #fff;
    padding: 44px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 14px;
}
.login-brand img {
    height: 66px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    align-self: flex-start;
}
.login-brand .brand-badge {
    display: inline-block;
    width: max-content;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 999px;
    padding: 5px 13px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
}
.login-brand h1 { font-size: 1.55rem; font-weight: 800; margin: 0; line-height: 1.2; }
.login-brand p { margin: 0; opacity: .94; }
.login-brand .brand-note { font-size: .9rem; opacity: .85; }

/* Panel del formulario (derecha) */
.login-form-side { padding: 44px 36px; }
.login-form-side h2 { font-size: 1.35rem; font-weight: 800; margin: 0 0 4px; }
.login-form-side .sub { color: var(--muted); font-size: .92rem; margin: 0 0 22px; }

.login-form-side .form-label { font-weight: 600; font-size: .88rem; margin-bottom: 6px; }
.login-form-side .input-group-text {
    background: #f1f3f7;
    border-color: #ced4da;
    color: var(--muted);
}
.login-form-side .form-control { border-color: #ced4da; padding: .65rem .75rem; }
.login-form-side .form-control:focus {
    border-color: var(--sena-green);
    box-shadow: 0 0 0 .2rem rgba(57, 169, 0, .18);
}
.login-form-side .input-group:first-of-type .input-group-text { border-radius: 12px 0 0 12px; }

.login-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.btn-login { border-radius: 12px; padding: 12px; font-weight: 700; }
.btn-login.btn-success { background: var(--sena-green); border-color: var(--sena-green); }
.btn-login.btn-success:hover { background: var(--sena-green-dark); border-color: var(--sena-green-dark); }

.login-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    font-size: .88rem;
}
.login-links a { color: var(--muted); text-decoration: none; font-weight: 600; }
.login-links a:hover { color: var(--sena-green); }
.login-links span { color: var(--muted); }

.login-error { border-radius: 12px; font-size: .92rem; }

/* Responsive */
@media (max-width: 860px) {
    .login-shell { grid-template-columns: 1fr; max-width: 440px; }
    .login-brand { display: none; }
    .login-form-side { padding: 32px 24px; }
}
