/* Variáveis de cores com contraste WCAG AA */
:root {
    --text-primary: #333333;
    --text-secondary: #666666;
    --background-primary: #FFFFFF;
    --background-secondary: #F5F5F5;
    --primary-color: var(--roxo-escuro);
    --primary-hover: var(--roxo);
    --success-color: var(--verde);
    --error-color: #dc3545;
    --warning-color: #ffc107;
    --link-color: var(--roxo-escuro);
    --link-hover: var(--roxo);
}

/* Melhorias de contraste para texto */
body {
    color: var(--text-primary);
    background-color: var(--background-primary);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary);
    font-weight: 600;
    line-height: 1.3;
}

/* Links com contraste adequado */
a {
    color: var(--link-color);
    text-decoration: underline;
}

a:hover {
    color: var(--link-hover);
}

/* Botões com contraste adequado */
.btn-primary {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
}

.btn-primary:hover {
    background-color: var(--primary-hover);
}

/* Formulários com melhor legibilidade */
.form-control {
    border: 2px solid #ccc;
    padding: 0.5rem;
    border-radius: 4px;
}

.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(0, 86, 179, 0.25);
}

/* Mensagens de erro e sucesso */
.alert {
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 4px;
}

.alert-success {
    background-color: var(--success-color);
    color: white;
}

.alert-danger {
    background-color: var(--error-color);
    color: white;
}

/* Melhorias para navegação */
.navbar {
    background-color: var(--background-secondary);
    padding: 1rem 0;
}

.navbar a {
    color: var(--text-primary);
    text-decoration: none;
}

/* Rodapé com contraste adequado */
.footer {
    background-color: var(--background-secondary);
    padding: 2rem 0;
    margin-top: 2rem;
}

.footer a {
    color: var(--text-primary);
}

/* Tamanhos de fonte mínimos */
body {
    font-size: 16px;
}

small {
    font-size: 14px;
}

/* Espaçamento adequado para leitura */
p {
    margin-bottom: 1rem;
}

/* Melhorias para tabelas */
table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: 0.75rem;
    border: 1px solid #ddd;
}

th {
    background-color: var(--background-secondary);
    font-weight: 600;
}

/* Suporte para modo escuro */
@media (prefers-color-scheme: dark) {
    :root {
        --text-primary: #FFFFFF;
        --text-secondary: #CCCCCC;
        --background-primary: #121212;
        --background-secondary: #1E1E1E;
        --primary-color: #4A90E2;
        --primary-hover: #357ABD;
    }
} 