/* Background gradient + floating blur orbs */
.fancy-bg {
    min-height: 100vh;
    background:
            radial-gradient(1200px 600px at 10% 10%, rgba(99,102,241,.12), transparent 60%),
            radial-gradient(900px 500px at 90% 20%, rgba(56,189,248,.12), transparent 60%),
            linear-gradient(180deg, #0f172a 0%, #111827 60%, #0b1020 100%);
    color: #e5e7eb;
}

/* Glass card */
.glass-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
}

/* Logo pill */
.brand-badge {
    width: 48px; height: 48px; border-radius: 16px;
    display: grid; place-items: center;
    background: linear-gradient(135deg, #6366f1, #22d3ee);
    color: #fff; font-weight: 700; font-size: 22px;
    box-shadow: 0 10px 25px rgba(99,102,241,.35);
}

/* Modern controls */
.form-control-modern,
.form-select-modern {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.15);
    color: #e5e7eb;
}
.form-control-modern:focus,
.form-select-modern:focus {
    background: rgba(255,255,255,0.08);
    box-shadow: 0 0 0 .2rem rgba(99,102,241,.25);
    border-color: rgba(99,102,241,.6);
    color: #fff;
}

/* Select wrapper with chevron */
.select-wrap { position: relative; }
.select-wrap::after {
    content: "▾";
    position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    pointer-events: none; opacity: .6;
}

/* Chip group using Bootstrap .btn-check */
.chip-group { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip {
    --ring: rgba(99,102,241,.35);
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.06);
    color: #e5e7eb;
    padding: .45rem .9rem;
    transition: all .2s ease;
}
.btn-check:checked + .chip {
    background: linear-gradient(135deg, #6366f1 0%, #22d3ee 100%);
    color: white;
    border-color: transparent;
    box-shadow: 0 0 0 .2rem var(--ring);
}
.chip:hover { transform: translateY(-1px); }

/* Primary button glow */
.btn-modern {
    position: relative; overflow: hidden; border-radius: .9rem;
}
.btn-modern.btn-primary {
    background: linear-gradient(135deg, #6366f1, #06b6d4); border: none;
}
.btn-modern.btn-primary:hover { filter: brightness(1.05); }
.btn-glow {
    position: absolute; inset: -30%; background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.25), transparent 60%);
    animation: pulse 2.6s infinite ease-in-out; pointer-events: none;
}
@keyframes pulse { 0%,100% { transform: scale(1); opacity:.6 } 50% { transform: scale(1.15); opacity:.2 } }

/* Success panel */
.success-panel {
    background: rgba(16,185,129,.12);
    border: 1px solid rgba(16,185,129,.35);
    color: #d1fae5;
}
.success-icon {
    width: 40px; height: 40px; border-radius: 12px;
    display: grid; place-items: center;
    background: rgba(16,185,129,.35); font-weight: 800;
}