/* ========================================
   ESTILOS PARA PÁGINAS DE AUTENTICAÇÃO
   PALETA NDV:
   - #fa9f6c (destaque/laranja)
   - #272727 (secundária)
   - #171717 (primária)
   ======================================== */

/* Background das páginas de autenticação - IGUAL AO DASHBOARD */
/* Sobrescreve QUALQUER gradiente do Bootstrap */
.bg-gradient {
    background: #171717 !important;
    background-color: #171717 !important;
    background-image: none !important;
    min-height: 100vh;
    width: 100%;
    padding: 1rem;
}

/* Cards de autenticação */
.card {
    background-color: #272727 !important;
    border-radius: 12px !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
    width: 100% !important;
    max-width: 100% !important;
}

.card-body {
    padding: 2rem !important;
}

/* Inputs de autenticação */
.form-control,
.form-select {
    background-color: #171717 !important;
    border: 1px solid #444444 !important;
    color: #D4D4D4 !important;
    border-radius: 8px !important;
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
}

.form-control:focus,
.form-select:focus {
    background-color: #171717 !important;
    border-color: #fa9f6c !important;
    color: #D4D4D4 !important;
    box-shadow: 0 0 0 0.2rem rgba(250, 159, 108, 0.25) !important;
}

.form-control::placeholder {
    color: #ABABAB !important;
}

/* Botões - Cor NDV Laranja */
.btn-success {
    background-color: #fa9f6c !important;
    border-color: #fa9f6c !important;
    color: #111111 !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
}

.btn-success:hover {
    background-color: #e88f5c !important;
    border-color: #e88f5c !important;
    color: #111111 !important;
    box-shadow: 0 4px 12px rgba(250, 159, 108, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Links */
a.text-decoration-none:hover {
    text-decoration: underline !important;
}

/* Labels */
.form-label,
label {
    color: #D4D4D4 !important;
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
    font-size: 0.95rem !important;
}

/* Form Text (hints) */
.form-text {
    color: #ABABAB !important;
    font-size: 0.85rem !important;
}

/* Alertas */
.alert {
    border-radius: 8px !important;
    border: none !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1.5rem !important;
}

.alert-danger {
    background-color: rgba(220, 53, 69, 0.15) !important;
    color: #ff6b6b !important;
    border-left: 4px solid #dc3545 !important;
}

.alert-success {
    background-color: rgba(40, 167, 69, 0.15) !important;
    color: #51cf66 !important;
    border-left: 4px solid #28a745 !important;
}

.alert-info {
    background-color: rgba(250, 159, 108, 0.15) !important;
    color: #fa9f6c !important;
    border-left: 4px solid #fa9f6c !important;
}

/* Ícones de toggle de senha */
.input-group-text {
    background-color: #171717 !important;
    border: 1px solid #444444 !important;
    border-left: none !important;
    color: #ABABAB !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.input-group-text:hover {
    background-color: #272727 !important;
    color: #fa9f6c !important;
}

/* Animações */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.card {
    animation: fadeIn 0.3s ease-in-out;
}

/* Ícones com cor NDV */
.fa-user-shield,
.fa-key,
.fa-lock,
.fa-shield-alt {
    color: #fa9f6c !important;
}

/* Links com cor NDV */
a {
    color: #fa9f6c !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

a:hover {
    color: #e88f5c !important;
    text-decoration: underline !important;
}

/* Títulos e textos */
h1, h2, h3, h4, h5, h6 {
    color: #D4D4D4 !important;
}

.text-muted {
    color: #ABABAB !important;
}

/* Responsividade */
/* Desktop grande - cards mais largos */
@media (min-width: 1400px) {
    .bg-gradient .col-xl-5 {
        flex: 0 0 auto;
        width: 35% !important;
    }
}

/* Desktop médio */
@media (min-width: 992px) and (max-width: 1399px) {
    .bg-gradient .col-lg-6 {
        flex: 0 0 auto;
        width: 55% !important;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
    .bg-gradient .col-md-8 {
        flex: 0 0 auto;
        width: 75% !important;
    }

    .card-body {
        padding: 2rem !important;
    }

    .fa-3x {
        font-size: 2.5rem !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .bg-gradient {
        padding: 0.5rem !important;
    }

    .bg-gradient .row {
        margin: 0 !important;
    }

    .bg-gradient .col-md-8,
    .bg-gradient .col-lg-6,
    .bg-gradient .col-xl-5 {
        flex: 0 0 auto;
        width: 100% !important;
        padding: 0 !important;
    }

    .card-body {
        padding: 1.5rem !important;
    }

    .fa-3x {
        font-size: 2rem !important;
    }

    h2 {
        font-size: 1.5rem !important;
    }

    .btn-success {
        padding: 0.65rem 1.25rem !important;
        font-size: 0.95rem !important;
    }

    .form-control,
    .form-select {
        font-size: 16px !important; /* Evita zoom no iOS */
    }
}

/* Indicador de força de senha */
.alert.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

/* Estilo para lista de requisitos */
ul {
    padding-left: 1.2rem;
}

ul li {
    margin-bottom: 0.3rem;
    color: #D4D4D4 !important;
}

/* Input Group (para campos com ícones) */
.input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
}

.input-group .form-control {
    flex: 1 1 auto !important;
    border-right: none !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
}

.input-group .form-control:focus {
    border-right: none !important;
    z-index: 3 !important;
}

.input-group .input-group-text {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-left: none !important;
    display: flex !important;
    align-items: center !important;
    padding: 0.75rem 1rem !important;
}

.input-group .form-control:focus + .input-group-text {
    border-color: #fa9f6c !important;
}

