@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Manrope:wght@700;800&display=swap');

:root {
    --gx-brand: #6f63f2;
    --gx-brand-strong: #5648e8;
    --gx-ink: #1b1840;
    --gx-muted: #776ea8;
    --gx-line: rgba(111, 99, 190, 0.16);
    --gx-panel: rgba(247, 248, 255, 0.92);
    --gx-panel-strong: rgba(255,255,255,0.97);
    --gx-shadow: 0 28px 70px rgba(35, 24, 87, 0.16);
}

body {
    font-family: 'Sora', ui-sans-serif, system-ui, sans-serif !important;
    color: var(--gx-ink) !important;
    background:
        radial-gradient(circle at top left, rgba(132, 119, 255, 0.2), transparent 28%),
        radial-gradient(circle at top right, rgba(116, 96, 255, 0.16), transparent 22%),
        linear-gradient(135deg, #f5f6ff 0%, #eef0ff 46%, #e7e9ff 100%) !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.03)),
        radial-gradient(circle at 80% 12%, rgba(86,72,232,0.12), transparent 16%);
    z-index: 0;
}

body > * {
    position: relative;
    z-index: 1;
}

.hero-title,
.card-title,
.hero-band h1,
.login-card h1,
.portal-header h1 {
    font-family: 'Manrope', 'Sora', ui-sans-serif, system-ui, sans-serif !important;
    color: var(--gx-ink) !important;
    letter-spacing: -0.04em;
}

.login-card,
.hero-band,
.summary-card,
.fid-card,
.modal-content,
.detail-card,
.card-login,
.card {
    background: var(--gx-panel-strong) !important;
    border: 1px solid var(--gx-line) !important;
    box-shadow: var(--gx-shadow) !important;
}

.login-card,
.hero-band,
.summary-card,
.fid-card,
.card-login {
    border-radius: 30px !important;
}

.brand-kicker,
.hero-kicker,
.hero-eyebrow,
.card-kicker,
.eyebrow {
    background: rgba(111, 99, 242, 0.1) !important;
    border-color: rgba(111, 99, 242, 0.16) !important;
    color: var(--gx-brand-strong) !important;
}

.btn-primary,
.action-btn.primary,
.primary-bg {
    background: linear-gradient(135deg, var(--gx-brand) 0%, var(--gx-brand-strong) 100%) !important;
    box-shadow: 0 18px 36px rgba(109, 80, 69, 0.18) !important;
}

.action-btn.soft,
.action-btn.warn,
.action-btn.danger,
.logout-btn {
    border-radius: 16px !important;
}

.portal-header,
.mobile-header {
    background: rgba(255, 251, 247, 0.82) !important;
    border-bottom-color: var(--gx-line) !important;
    backdrop-filter: blur(18px);
}

.summary-card::before {
    background: linear-gradient(90deg, var(--gx-brand-strong) 0%, #a69dff 100%) !important;
}

.policy-chip,
.metric-pill,
.status-pill,
.tab-btn {
    border-radius: 999px !important;
}

.tab-btn.active {
    background: rgba(111, 99, 242, 0.12) !important;
    color: var(--gx-brand-strong) !important;
    border-color: rgba(111,99,242,0.18) !important;
}

input,
select,
textarea {
    border-radius: 16px !important;
    border-color: rgba(170,145,129,0.24) !important;
    background: rgba(255,255,255,0.92) !important;
    color: var(--gx-ink) !important;
}

input:focus,
select:focus,
textarea:focus {
    box-shadow: 0 0 0 4px rgba(111,99,242,0.12) !important;
    border-color: rgba(111,99,242,0.52) !important;
}

.section-helper,
.hero-copy,
.summary-copy,
.fid-subcopy,
.hero-meta-copy,
.detail-value,
.footer-copy,
.brand-user,
.empty-copy {
    color: var(--gx-muted) !important;
}

a {
    color: var(--gx-brand-strong);
}
