:root {
    --ds-primary: #0d6efd;
    --ds-secondary: #6c757d;
    --ds-success: #198754;
    --ds-warning: #ffc107;
    --ds-danger: #dc3545;
    --ds-info: #0dcaf0;
    --ds-bg: #f8f9fa;
    --ds-surface: #ffffff;
    --ds-border: #dee2e6;
    --ds-text: #212529;
    --ds-text-muted: #6c757d;
}

[data-theme="dark"] {
    --ds-primary: #66b2ff;
    --ds-secondary: #adb5bd;
    --ds-success: #3ddc97;
    --ds-warning: #ffd166;
    --ds-danger: #ff6b6b;
    --ds-info: #4dd0e1;
    --ds-bg: #0f1115;
    --ds-surface: #1a1d24;
    --ds-border: #2d323a;
    --ds-text: #f1f3f5;
    --ds-text-muted: #adb5bd;
}

.ds-body {
    background: var(--ds-bg);
    color: var(--ds-text);
    font-family: Inter, "Segoe UI", Roboto, system-ui, -apple-system, sans-serif;
}

.ds-navbar,
.ds-sidebar,
.ds-card {
    background: var(--ds-surface) !important;
    border-color: var(--ds-border) !important;
}

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

.ds-sidebar {
    min-height: calc(100vh - 56px);
}

.ds-page-title {
    letter-spacing: -0.01em;
}

.ds-kpi-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
}

.ds-card {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.table,
.table td,
.table th {
    color: inherit;
    border-color: var(--ds-border);
}

.nav-pills .nav-link {
    color: var(--ds-text-muted);
}

.nav-pills .nav-link.active {
    background-color: var(--ds-primary);
    color: #fff;
}

.badge.ds-soft {
    border: 1px solid var(--ds-border);
    background: transparent;
    color: var(--ds-text);
}

:focus-visible {
    outline: 3px solid rgba(13, 110, 253, 0.45);
    outline-offset: 2px;
}
