:root {
    --sidebar-bg: #10182b;
    --sidebar-link: #aeb9d4;
    --accent: #4f8ef7;
}

html, body {
    height: 100%;
    background: #f4f6fb;
}

.admin-wrapper {
    min-height: 100vh;
}

.sidebar {
    width: 240px;
    min-width: 240px;
    background: var(--sidebar-bg);
    color: #fff;
}

.sidebar-brand {
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.brand-dot, .brand-dot-lg {
    display: inline-block;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #9cc2ff, var(--accent));
}

.brand-dot { width: 18px; height: 18px; }
.brand-dot-lg { width: 44px; height: 44px; }

.sidebar .nav-link {
    color: var(--sidebar-link);
    border-radius: .5rem;
    padding: .45rem .75rem;
}

.sidebar .nav-link:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.sidebar .nav-link.active { background: var(--accent); color: #fff; }
.sidebar .border-top { border-color: rgba(255, 255, 255, .15) !important; }
.sidebar .text-muted { color: #8fa0c5 !important; }

.content-area { max-width: 1400px; }

.card { border: none; box-shadow: 0 1px 3px rgba(16, 24, 43, .08); }

.stat-card .stat-value, .stat-value { font-size: 1.4rem; font-weight: 700; }
.stat-label { font-size: .8rem; color: #6c757d; text-transform: uppercase; letter-spacing: .04em; }

/* Insights charts */
.chart-box { position: relative; height: 320px; }
.chart-box-sm { height: 150px; }

.funnel-track {
    background: #eceef4;
    border-radius: 4px;
    height: 14px;
    overflow: hidden;
}

.funnel-fill {
    height: 100%;
    border-radius: 4px;
    min-width: 2px;
}

.viz-swatch {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    margin-right: .4rem;
}

.bubble-swatch {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .15);
    vertical-align: middle;
}

.login-page { background: linear-gradient(160deg, #10182b 0%, #1d2b4f 60%, #2c4a8a 100%); }
.login-card { width: 100%; max-width: 380px; border-radius: 1rem; }
