:root {
  --ds-ink: #172033;
  --ds-muted: #6d778b;
  --ds-subtle: #9aa4b5;
  --ds-primary: #5b56d9;
  --ds-primary-strong: #4842c2;
  --ds-primary-soft: #eeefff;
  --ds-teal: #087f6d;
  --ds-teal-soft: #e7f7f3;
  --ds-amber: #a96d00;
  --ds-amber-soft: #fff5dd;
  --ds-red: #c53f52;
  --ds-red-soft: #fff0f2;
  --ds-canvas: #f6f7fb;
  --ds-surface: #ffffff;
  --ds-surface-soft: #fbfcfe;
  --ds-line: #e5e8f0;
  --ds-line-strong: #d7dce7;
  --ds-radius-sm: 8px;
  --ds-radius-md: 12px;
  --ds-radius-lg: 16px;
  --ds-shadow-sm: 0 1px 2px rgba(21, 31, 52, .04), 0 5px 18px rgba(21, 31, 52, .035);
  --ds-shadow-md: 0 12px 30px rgba(21, 31, 52, .08);
  --ds-sidebar: 232px;
  --ds-sidebar-rail: 72px;
  --ds-header: 64px;
  --ds-page-gutter: 20px;
  --ds-section-gap: 16px;
  --ds-control-h: 38px;
}

html,
body {
  background: var(--ds-canvas) !important;
  color: var(--ds-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea { letter-spacing: normal; }

*,
*::before,
*::after { box-sizing: border-box; }

a { color: inherit; }
a:hover { color: var(--ds-primary); }

.text-primary { color: var(--ds-primary) !important; }
.text-secondary,
.text-muted { color: var(--ds-muted) !important; }
.bg-body-tertiary { background: var(--ds-canvas) !important; }

.btn,
.form-control,
.form-select,
.input-group-text {
  min-height: var(--ds-control-h);
  border-radius: var(--ds-radius-sm);
  font-size: 13px;
}

.form-control,
.form-select {
  border-color: var(--ds-line-strong);
  color: var(--ds-ink);
  background: var(--ds-surface);
  box-shadow: none !important;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--ds-primary);
  box-shadow: 0 0 0 3px rgba(91, 86, 217, .12) !important;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:hover,
.premium-btn-primary {
  background: var(--ds-primary) !important;
  border-color: var(--ds-primary) !important;
  color: #fff !important;
}
.btn-primary:hover,
.premium-btn-primary:hover { background: var(--ds-primary-strong) !important; }

.btn-light,
.btn-outline-secondary,
.btn-secondary {
  background: var(--ds-surface) !important;
  border-color: var(--ds-line-strong) !important;
  color: var(--ds-ink) !important;
}

.badge,
.status-badge,
.total-badge { border-radius: 999px !important; font-weight: 700; }

.table { --bs-table-bg: transparent; --bs-table-color: var(--ds-ink); margin-bottom: 0; }
.table > :not(caption) > * > * { border-bottom-color: var(--ds-line); }

.dropdown-menu {
  border: 1px solid var(--ds-line) !important;
  border-radius: var(--ds-radius-md) !important;
  box-shadow: var(--ds-shadow-md) !important;
  padding: 6px !important;
  background: var(--ds-surface) !important;
}
.dropdown-item { border-radius: 7px; color: var(--ds-ink); font-size: 13px; padding: 9px 10px; }
.dropdown-item:hover,
.dropdown-item:focus { background: var(--ds-primary-soft); color: var(--ds-primary-strong); }

.alert { border: 1px solid var(--ds-line); border-radius: var(--ds-radius-md); box-shadow: none; }

::selection { background: rgba(91, 86, 217, .18); color: var(--ds-ink); }

@media (max-width: 767.98px) {
  :root { --ds-page-gutter: 12px; --ds-section-gap: 12px; }
  body { font-size: 13px; }
}
