/* ===================================================
   Kipus Login — apenas o que o Bootstrap 5 não cobre
   Requires kipus.css (design tokens & BS5 overrides).
   =================================================== */

.login-page .login-box {
    max-width: 420px !important;
    margin: 0 auto !important;
}

.login-page .login-logo {
    font-size: inherit !important;
    font-weight: inherit !important;
}

.login-page .login-logo img.kipus-logo {
    height: 38px;
}

/* Top accent border + entrance animation */
.login-page .card {
    border-top: 3px solid var(--kp-red) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .06) !important;
    animation: loginSlide 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes loginSlide {
    from { transform: translateY(12px) scale(0.988); }
    to   { transform: translateY(0)    scale(1); }
}

/* Uppercase label with tight letter-spacing — no BS5 utility for letter-spacing */
.login-label {
    font-size: 0.67rem;
    letter-spacing: 0.09em;
}

/* Brand focus ring on inputs */
.login-page .form-control:focus {
    border-color: var(--kp-red);
    box-shadow: 0 0 0 0.2rem var(--kp-red-ring);
}

/* Password toggle — only positioning & transition; structure handled by BS5 classes in HTML */
.login-eye-btn {
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    transition: color 0.15s ease;
}

.login-eye-btn:hover { color: var(--kp-red) !important; }
.login-eye-btn:focus { outline: none; }

/* Checkbox accent color — no BS5 equivalent */
.login-check {
    width: 1rem;
    height: 1rem;
    accent-color: var(--kp-red);
    cursor: pointer;
    border: 1px solid #adb5bd;
    border-radius: 3px;
}

/* GTA logo */
.gta-logo {
    height: 20px;
    width: auto;
    vertical-align: middle;
    opacity: 0.75;
}

/* Modo noturno (kp-dark-mode): a tela de login segue o mesmo tema do sistema — fundo, card, textos,
   rodapé e a caixa clara atrás do logo (o logo é escuro). */
[data-bs-theme="dark"] .login-page {
    background-color: #0f1216 !important;
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .login-page .card {
    background-color: #1a1f26 !important;
    color: var(--bs-body-color);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3) !important;
}
[data-bs-theme="dark"] .login-page .card-body,
[data-bs-theme="dark"] .login-page .login-box-msg,
[data-bs-theme="dark"] .login-page label,
[data-bs-theme="dark"] .login-page .text-muted,
[data-bs-theme="dark"] .login-page .text-body-secondary {
    color: #c9d1d9 !important;
}
[data-bs-theme="dark"] .login-page .form-control {
    background-color: #0f1216;
    border-color: #343a40;
    color: #e6edf3;
}
[data-bs-theme="dark"] .login-page .form-control::placeholder {
    color: #6c757d;
}
[data-bs-theme="dark"] .login-page .login-logo img.kipus-logo {
    background: #fff;
    padding: .35rem .7rem;
    border-radius: .5rem;
}
[data-bs-theme="dark"] .login-page .login-eye-btn {
    color: #adb5bd !important;
}
[data-bs-theme="dark"] .login-page .login-check {
    border-color: #6c757d;
}
[data-bs-theme="dark"] .login-page .gta-logo {
    background: #fff;
    padding: .15rem .3rem;
    border-radius: .3rem;
    opacity: .9;
}
[data-bs-theme="dark"] .login-page a:not(.btn) {
    color: #e88a8a;
}
