body { font-family: 'Inter', sans-serif; }
h1, h2, h3 { font-family: 'Poppins', sans-serif; }

/* ==========================================================
   Design system minimo - centraliza os componentes que antes
   eram classes Tailwind longas repetidas em cada pagina.
   Valores replicam exatamente o visual anterior (emerald-600/
   emerald-500/slate-900/slate-700 etc.), sem mudanca de design,
   so de manutenibilidade.
   ========================================================== */

.btn-primary {
    display: block;
    width: 100%;
    background-color: #059669;
    color: #0f172a;
    font-weight: 700;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-align: center;
    box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.1);
    transition: background-color 0.15s ease, opacity 0.15s ease;
    border: none;
    cursor: pointer;
}
.btn-primary:hover { background-color: #10b981; }
.btn-primary:disabled, .btn-primary.disabled { opacity: 0.5; cursor: not-allowed; }
.btn-primary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px #1e293b, 0 0 0 4px #34d399;
}

.btn-secondary {
    display: block;
    width: 100%;
    background-color: transparent;
    color: #34d399;
    font-weight: 600;
    padding: 0.625rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #334155;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-align: center;
    transition: color 0.15s ease, border-color 0.15s ease;
    cursor: pointer;
}
.btn-secondary:hover { color: #6ee7b7; border-color: #10b981; }

.input-field {
    width: 100%;
    background-color: #0f172a;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    color: #e2e8f0;
    outline: none;
    transition: box-shadow 0.15s ease;
}
.input-field:focus { box-shadow: 0 0 0 1px #10b981; }

.card {
    background-color: rgba(30, 41, 59, 0.5);
    border: 1px solid #334155;
    border-radius: 0.75rem;
    padding: 2rem;
}

.label-field {
    display: block;
    font-size: 0.75rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.25rem;
}

/* Escala unica para texto de apoio/meta, no lugar de 10px/11px/12px misturados */
.text-meta {
    font-size: 0.6875rem;
    color: #64748b;
}

/* Titulo de pagina - usado nas 5 paginas de auth */
.page-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.25rem;
}

/* Item de navegacao da sidebar (index.html) */
.nav-modulo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #94a3b8;
    transition: background-color 0.15s ease, color 0.15s ease;
    width: 100%;
    text-align: left;
}
.nav-modulo:hover { background-color: rgba(51, 65, 85, 0.5); color: #34d399; }
.nav-modulo.nav-modulo-ativo { background-color: rgba(16, 185, 129, 0.12); color: #34d399; }
.nav-modulo svg { flex-shrink: 0; }
