:root {
    --theme-bg: #07111f;
    --theme-bg-secondary: #0d1b2f;
    --theme-sidebar: #050b14;
    --theme-card: #101d31;
    --theme-border: #243449;
    --theme-text: #f3f7fb;
    --theme-muted: #9fb0c6;
    --theme-accent: #22d3ee;
    --theme-primary: #3b82f6;
    --theme-success: #22c55e;
    --theme-warning: #f59e0b;
    --theme-danger: #ef4444;
    --theme-card-radius: 8px;
    --theme-button-radius: 6px;
}

html {
    color-scheme: dark;
}

body {
    background: var(--theme-bg);
    color: var(--theme-text);
}

.text-muted {
    color: var(--theme-muted) !important;
}

.btn {
    border-radius: var(--theme-button-radius);
}

.btn-primary {
    background: var(--theme-primary);
    border-color: var(--theme-primary);
}

.btn-light {
    background: #e6f0ff;
    border-color: #e6f0ff;
    color: #07111f;
}

.btn-outline-primary {
    border-color: var(--theme-primary);
    color: #d9e8ff;
}

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

.form-control,
.form-select {
    background: #0b1728;
    border-color: var(--theme-border);
    color: var(--theme-text);
}

.form-control:focus,
.form-select:focus {
    background: #0b1728;
    border-color: var(--theme-primary);
    box-shadow: 0 0 0 .2rem rgba(59, 130, 246, .18);
    color: var(--theme-text);
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--theme-text);
    --bs-table-border-color: var(--theme-border);
    color: var(--theme-text);
}

.navbar-toggler {
    border-color: var(--theme-border);
}

.navbar-toggler-icon {
    filter: invert(1);
}
