:root {
  /* Structure */
  --sd-sidebar-width: 216px;

  /* Core palette */
  --sd-navy:          #0E1B2E;
  --sd-accent:        #2F5E97;
  --sd-accent-light:  #4F86C6;
  --sd-page-bg:       #EEF1F5;
  --sd-card-bg:       #FFFFFF;
  --sd-border:        #DCE2EA;
  --sd-border-input:  #C8D1DC;
  --sd-sidebar-muted: #62748A;

  /* Text hierarchy */
  --sd-text-heading:   #1B2735;
  --sd-text-secondary: #44515F;
  --sd-text-muted:     #8492A1;
  --sd-text-sidebar:   #9AABBE;

  /* Sidebar active nav item */
  --sd-nav-active-bg:  rgba(79, 134, 198, 0.16);
  --sd-nav-active-bar: #4F86C6;

  /* Risk tiers */
  --sd-risk-high-text: #9B362F;
  --sd-risk-high-bg:   rgba(155, 54, 47, 0.12);
  --sd-risk-med-text:  #8A6420;
  --sd-risk-med-bg:    rgba(138, 100, 32, 0.14);
  --sd-risk-low-text:  #3C6249;
  --sd-risk-low-bg:    rgba(60, 98, 73, 0.14);

  /* Status — production badge */
  --sd-prod-text:   #3C6249;
  --sd-prod-bg:     #EAF3EE;
  --sd-prod-border: #BFD8C8;

  /* Radii */
  --sd-radius-sm: 6px;
  --sd-radius-md: 8px;
  --sd-radius-lg: 9px;
}

/* ── Typography ── */
body {
  font-family: 'IBM Plex Sans', sans-serif;
  background: var(--sd-page-bg);
  color: var(--sd-text-heading);
  -webkit-font-smoothing: antialiased;
}

[dir="rtl"] body,
[dir="rtl"] {
  font-family: 'IBM Plex Sans Arabic', sans-serif;
}

.mono,
.badge-mono,
.table-meta {
  font-family: 'IBM Plex Mono', monospace;
}

/* ── Risk badges ── */
.sd-badge-high,
.sd-badge-med,
.sd-badge-low {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10.5px;
  letter-spacing: .05em;
  padding: 3px 9px;
  border-radius: 4px;
  display: inline-block;
}

.sd-badge-high {
  background: var(--sd-risk-high-bg);
  color: var(--sd-risk-high-text);
}

.sd-badge-med {
  background: var(--sd-risk-med-bg);
  color: var(--sd-risk-med-text);
}

.sd-badge-low {
  background: var(--sd-risk-low-bg);
  color: var(--sd-risk-low-text);
}

/* Arabic risk badges — no uppercase or letter-spacing */
[dir="rtl"] .sd-badge-high,
[dir="rtl"] .sd-badge-med,
[dir="rtl"] .sd-badge-low {
  letter-spacing: 0;
  text-transform: none;
}

/* ── Environment badge ── */
.sd-env-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--sd-prod-border);
  background: var(--sd-prod-bg);
  color: var(--sd-prod-text);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  padding: 4px 8px;
  border-radius: 5px;
}

.sd-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3C6249;
  flex-shrink: 0;
}
