/* Ecosystem OS - Estilos Globais e Formulários Multi-etapas */

:root {
    --ufrgs-blue: #004587;
    --ufrgs-gold: #FFCC00;
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-400: #94a3b8;
    --slate-600: #475569;
    --slate-700: #334155; /* Cinza escuro para labels */
    --slate-800: #1e293b;
    --slate-900: #0f172a;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #f1f5f9;
    color: var(--slate-800);
}

h1, h2, h3, .font-montserrat {
    font-family: 'Montserrat', sans-serif;
}

/* Glassmorphism Effect */
.glass-card {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    border: 1px solid var(--slate-200);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05);
}

/* Stepper Moderno */
.step-btn {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.step-dot {
    transition: all 0.3s ease;
    border-width: 2px;
}

.step-btn.step-active {
    background: white;
    color: var(--ufrgs-blue);
    box-shadow: 0 4px 15px rgba(0, 69, 135, 0.12);
}

.step-btn.step-active .step-dot {
    background-color: var(--ufrgs-blue);
    border-color: var(--ufrgs-blue);
    color: white;
}

.step-btn.step-inactive {
    color: var(--slate-400);
}

.step-btn.step-inactive .step-dot {
    background-color: var(--slate-50);
    border-color: var(--slate-200);
}

/* Estilização dos Campos Django via Wrapper */
.field-wrapper input::placeholder,
.field-wrapper textarea::placeholder {
    color: var(--slate-400);
    opacity: 0.9;
}

.field-wrapper input[type="text"],
.field-wrapper input[type="email"],
.field-wrapper input[type="number"],
.field-wrapper input[type="url"],
.field-wrapper select,
.field-wrapper textarea {
    width: 100%;
    padding: 0.875rem 1.25rem;
    border-radius: 1rem;
    border: 1px solid var(--slate-200);
    background-color: #fff;
    outline: none;
    transition: all 0.2s ease;
    font-size: 0.95rem;
    color: var(--slate-800);
}

.field-wrapper input:focus, 
.field-wrapper select:focus, 
.field-wrapper textarea:focus {
    border-color: var(--ufrgs-blue);
    box-shadow: 0 0 0 4px rgba(0, 69, 135, 0.08);
}

/* Secções do Formulário e Animações */
.form-section {
    display: none;
}

.form-section.active {
    display: block;
    animation: fadeInUp 0.5s ease-out forwards;
}

@keyframes fadeInUp {
    from { 
        opacity: 0; 
        transform: translateY(20px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

/* Customização de Radios e Checkboxes */
input[type="radio"], input[type="checkbox"] {
    accent-color: var(--ufrgs-blue);
    cursor: pointer;
}