/* ============================================================
   Member Portal – Global Styles
   ============================================================ */

:root {
    --bg-primary:    #0a0a0f;
    --bg-secondary:  #111118;
    --bg-card:       #16161f;
    --border-color:  rgba(255,255,255,0.08);
    --text-primary:  #f0f0f5;
    --text-secondary:#8888aa;
    --accent-blue:   #4a9eff;
    --accent-green:  #22c55e;
    --accent-yellow: #f59e0b;
    --accent-purple: #a855f7;
}

/* ── Base ─────────────────────────────────────────────────── */
html, body {
    min-height: 100vh;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    scroll-behavior: smooth;
}

body.member-portal {
    background: radial-gradient(ellipse at top, #0d1526 0%, var(--bg-primary) 60%);
}

/* ── Navbar ───────────────────────────────────────────────── */
.navbar {
    backdrop-filter: blur(12px);
    background: rgba(10, 10, 20, 0.92) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.navbar-brand {
    background: linear-gradient(90deg, #4a9eff, #a855f7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Hero Section ─────────────────────────────────────────── */
.hero-section {
    min-height: calc(100vh - 72px);
}

.hero-icon {
    animation: float 3s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-10px); }
}

/* ── Feature Cards ────────────────────────────────────────── */
.feature-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border-color);
    transition: transform .2s, background .2s;
}

.feature-card:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,0.06);
}

/* ── Login Page ───────────────────────────────────────────── */
.login-section {
    min-height: calc(100vh - 72px);
}

.btn-wallet {
    display: flex;
    align-items: center;
    padding: .75rem 1.25rem;
    border-radius: .75rem;
    font-weight: 500;
    transition: all .2s;
    position: relative;
}

.btn-wallet:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,.4);
}

.btn-wallet:disabled {
    opacity: .45;
    cursor: not-allowed;
}

/* ── Dashboard ────────────────────────────────────────────── */
.stat-icon {
    flex-shrink: 0;
}

/* ── Footer ───────────────────────────────────────────────── */
.footer {
    margin-top: auto;
}

/* ── Toast ────────────────────────────────────────────────── */
.toast {
    min-width: 260px;
    border-radius: .75rem;
    backdrop-filter: blur(12px);
}

/* ── Scrollbar ────────────────────────────────────────────── */
::-webkit-scrollbar         { width: 6px; }
::-webkit-scrollbar-track   { background: transparent; }
::-webkit-scrollbar-thumb   { background: rgba(255,255,255,0.15); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.3); }

/* ── Utility ──────────────────────────────────────────────── */
.font-monospace { font-family: 'JetBrains Mono', 'Fira Code', monospace !important; }
.min-vh-80      { min-height: 80vh; }

.wallet-short   { font-family: monospace; font-size: .9em; }

/* ── Animations ───────────────────────────────────────────── */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.fade-in-up {
    animation: fadeInUp .4s ease forwards;
}
