/* --- Configurações de Layout e Centralização --- */
html, body {
    height: 100%;
    margin: 0;
    font-family: 'Inter', sans-serif;
}

.bg-light-gray {
    background-color: #f8f9fa; 
}

.container-principal {
    min-height: calc(100vh - 5px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background-color: #f5f7fa !important;
}

/* --- Cards de Autenticação --- */
.registration-card {
    width: 100%;
    max-width: 1400px;   /* aumentamos largura */
    background-color: #ffffff !important;
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    padding: 40px !important;
}

.container-senha {
    width: 100%;
    max-width: 480px;
    background-color: #ffffff !important;
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important; /* Sombra mais forte */
    border: 1px solid rgba(0, 0, 0, 0.05) !important; /* Borda sutil */
}

/* Container da declaração */
.declaracao-container {
    background: #f8f9fa !important; /* Mais claro que o .input-gray */
    border-radius: 12px;
    border: 1px solid #e0e0e0; /* Borda para separar */
}

/* Texto da declaração */
.declaracao-texto {
    font-size: 14px;
    color: #222222 !important; /* Escuro o suficiente */
    text-align: justify;
    line-height: 1.5;
    font-weight: 400;
}

/* --- Tipografia e Divisores --- */
.titulo-cadastro {
    /* color: #2e5ea7;  */
    color: #333333;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.subtitulo-cadastro {
    color: #646464;
    font-size: 0.9rem;
}

.linha-separadora {
    border-top: 1px solid #ddd;
    margin: 15px 0;
}

/* --- Elementos de Formulário --- */
.label-custom {
    font-weight: 600;
    font-size: 0.85rem;
    color: #333;
    margin-bottom: 4px;
}



.btn-gov {
    background-color: #4472c4; 
    color: white;
    font-weight: 500;
    border: none;
    padding: 10px;
    border-radius: 5px;
    transition: background 0.3s ease;
}

.btn-gov:hover {
    background-color: #355ba3;
    color: white;
    text-decoration: none;
}

.btn-outline-secondary {
    border: 1px solid #ddd;
    color: #333;
    background: white;
    font-size: 0.85rem;
}

/* --- Tabela de Documentos --- */
.bg-light-blue {
    background-color: #e8f0fe !important; 
}

.table-bordered td, .table-bordered th {
    border: 1px solid #dee2e6 !important;
}

/* --- Barra Colorida Superior --- */
.top-bar {
    display: flex;
    height: 5px;
    width: 100%;
}

.bar { flex: 1; }
.yellow { background: #f9d849; }
.red { background: #e33e2b; }
.blue { background: #40a0df; }
.green { background: #43b549; }
.black { background: #000; }

/* --- Utilitários --- */
.font-weight-bold { font-weight: 700 !important; }
.gap-2 { gap: 0.5rem; }


.btn-primary {
  background-color: #30599B !important;
  border-color: #30599B !important;
}

.btn-primary:hover {
  background-color: #27497f !important;
  border-color: #27497f !important;
}

/* Estilo padrão dos inputs acinzentados */
.input-gray {
    background-color: #f2f2f2;
    border: 1px solid transparent; /* reserva espaço para a borda */
    border-radius: 10px;
    padding: 12px 14px;
}

.input-gray:focus {
    background-color: #f2f2f2 !important; 
    border: px solid #222222 !important;            
    outline: none;
    box-shadow: none;                     
}

select.input-gray {
    display: block;
    width: 100%;
}

/* Padroniza altura de inputs e selects */
input.input-gray,
select.input-gray {
    height: 44px;           
    padding: 0.5rem 0.75rem; 
}

/* Garante que o select não fique "inflado" pelo bootstrap */
select.input-gray {
    padding-right: 2rem; 
}

.input-gray {
    background-color: #f2f2f2 !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    height: 44px;
}

.form-section {
    margin-bottom: 20px;
}