:root {
    --primary: #5b56f7;
    --primary-dark: #3e39c2;
}

body {
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
    background: #f7f8fc;
}

.bg-gradient {
    background: radial-gradient(circle at top right, #5b56f7, #0f172a);
}

.glass-card {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(8px);
}

.btn-primary {
    background: linear-gradient(90deg, var(--primary), var(--primary-dark));
    border: none;
}

.card-kpi {
    border-radius: 14px;
}

.progress-bar {
    background: linear-gradient(90deg, #22c55e, #16a34a);
}

/* Required field marker (global) */
.form-label:has(+ input[required])::after,
.form-label:has(+ select[required])::after,
.form-label:has(+ textarea[required])::after,
label:has(+ input[required])::after,
label:has(+ select[required])::after,
label:has(+ textarea[required])::after {
    content: " *";
    color: #dc3545;
    font-weight: 700;
}

/* Optional manual marker class for labels in custom layouts */
.required-asterisk::after {
    content: " *";
    color: #dc3545;
    font-weight: 700;
}
