:root {
    --ef-blue: #4f46e5;
    --ef-purple: #9333ea;
    --ef-gradient: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #9333ea 100%);
    --ef-bg: #f7f7fb;
    --ef-card-radius: 18px;
}

body {
    font-family: 'Inter', sans-serif;
    background: var(--ef-bg);
    color: #1f2330;
}

.text-gradient {
    background: var(--ef-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bg-gradient-brand { background: var(--ef-gradient) !important; }

.btn-gradient {
    background: var(--ef-gradient);
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 10px;
    padding: 10px 22px;
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.btn-gradient:hover { color: #fff; opacity: .93; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(124,58,237,.35); }
.btn-gradient:disabled { opacity: .5; transform: none; box-shadow: none; }

.glass-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: var(--ef-card-radius);
    box-shadow: 0 15px 45px rgba(31, 35, 48, 0.08);
}

.ef-navbar {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.ef-hero {
    background: var(--ef-gradient);
    color: #fff;
    border-radius: 0 0 32px 32px;
}

.card-soft {
    border: none;
    border-radius: var(--ef-card-radius);
    box-shadow: 0 8px 30px rgba(31, 35, 48, 0.06);
}

.form-control, .form-select {
    border-radius: 10px;
    padding: 10px 14px;
}

.form-control:focus, .form-select:focus {
    border-color: var(--ef-blue);
    box-shadow: 0 0 0 0.2rem rgba(79, 70, 229, 0.15);
}

.stat-tile {
    border-radius: var(--ef-card-radius);
    padding: 20px 22px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(31, 35, 48, 0.06);
}

.ef-footer {
    background: #14152b;
    color: #b9bbd4;
}
