:root {
    --bg-deep: #dce4f0;
    --bg-panel: #ffffff;
    --bg-elevated: #f4f7fc;
    --border: rgba(18, 32, 58, 0.12);
    --text: #12203a;
    --text-muted: #5b6b82;
    --accent: #2f6bb5;
    --accent-dim: rgba(47, 107, 181, 0.14);
    --accent-strong: #1e4f8c;
    --accent-hover: #3d7cc7;
    --warning: #b45309;
    --danger: #dc2626;
    --shadow: 0 12px 28px rgba(18, 32, 58, 0.08);
}

/* Dark chrome: login only */
.login-body {
    color: #e9eef7;
}

.login-body .login-bg {
    background:
        radial-gradient(ellipse 70% 45% at 15% 0%, rgba(75, 156, 255, 0.18), transparent 55%),
        radial-gradient(ellipse 50% 40% at 100% 10%, rgba(93, 159, 232, 0.12), transparent 50%),
        linear-gradient(165deg, #070b16 0%, #0a0f1c 50%, #0d1424 100%);
}

.login-body .login-hero-title,
.login-body .login-title,
.login-body .login-foot a,
.login-body .login-foot a strong {
    color: #e9eef7;
}

.login-body .login-card {
    background: linear-gradient(155deg, #121a2e 0%, #0d1424 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

.login-body .login-kicker,
.login-body .login-hero-text,
.login-body .login-perks,
.login-body .muted,
.login-body .field-label {
    color: #9aa8c0;
}

.login-body .field input {
    background: #070b16;
    border-color: rgba(255, 255, 255, 0.12);
    color: #e9eef7;
}

.login-body .btn-primary {
    background: #4b9cff;
    border-color: #4b9cff;
    color: #070b16;
}

.login-body .btn-primary:hover {
    background: #5ea8e8;
}

.login-body .btn-secondary {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.18);
    color: #e9eef7;
}

/* Dark chrome: sidebar */
.sidebar {
    background: linear-gradient(180deg, #0d1424 0%, #070b16 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    color: #e9eef7;
}

.sidebar-brand-name,
.sidebar-brand-badge {
    color: #e9eef7;
}

.sidebar-brand-badge {
    color: #7dbbff;
}

.sidebar .nav-link,
.sidebar .nav-link-exit,
.sidebar .sidebar-collapse-btn {
    color: #c5d4ea;
}

.sidebar .nav-link:hover,
.sidebar .sidebar-collapse-btn:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
}

.sidebar .nav-link.is-active {
    color: #ffffff;
    background: linear-gradient(90deg, rgba(75, 156, 255, 0.28), rgba(255, 255, 255, 0.06));
    box-shadow: inset 3px 0 0 #4b9cff;
}

.sidebar .nav-link-exit:hover {
    color: #7dbbff;
    background: rgba(75, 156, 255, 0.12);
}

.sidebar-foot {
    border-top-color: rgba(255, 255, 255, 0.08);
}

/* Light content stage */
.dashboard-body {
    background: var(--bg-deep);
    color: var(--text);
}

.top-bar {
    background: var(--bg-elevated);
    border-color: var(--border);
    color: var(--text);
}

.top-bar-title,
.user-chip,
.panel-header h2,
.panel-header p,
.muted,
.field-label,
.wgen-hero h3,
.wgen-table,
.wgen-stat b,
.wgen-toolbar h4 {
    color: var(--text);
}

.panel-header p,
.muted,
.wgen-count,
.wgen-limit,
.wgen-plan,
.wgen-stat span,
.wgen-maps-add label {
    color: var(--text-muted);
}

.panel,
.main-stage .panel,
.wgen-maps-add,
.wgen-hf,
.wgen-stat,
.wgen-live,
.wgen-sites,
.wgen-table-wrap,
.wgen-modal-card {
    background: #fff;
    color: var(--text);
}

.field input,
.field select,
.field textarea,
.wgen-maps-add textarea,
.wgen-hf-keys input,
.wgen-filters input,
.wgen-filters select,
.wgen-count input,
.wgen-limit input {
    background: #fff;
    color: var(--text);
    border-color: var(--border);
}

.btn-primary {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.btn-primary:hover {
    background: var(--accent-hover);
}

.btn-secondary {
    color: var(--text);
    border-color: var(--border);
    background: #fff;
}

.wgen-table th,
.wgen-table td {
    color: var(--text);
}

.wgen-table th {
    color: var(--text-muted);
}
