:root {
  --canvas-bg: #F4F6F9;
  --card-bg: #FFFFFF;
  --card-border: #E7EBF1;
  --table-header-bg: #FBFCFE;
  --row-divider: #F1F3F7;
  --row-hover: #F9FBFD;
  --sidebar-start: #0C2140;
  --sidebar-end: #0A1B34;
  --sidebar-border: rgba(255, 255, 255, 0.05);
  --sidebar-text: #93A4C1;
  --sidebar-active: #FFFFFF;
  --sidebar-muted: #7C8DAB;
  --sidebar-hover-bg: rgba(255, 255, 255, 0.05);
  --sidebar-active-bg: rgba(255, 255, 255, 0.08);
  --sidebar-accent: #4A82FF;
  --sidebar-section: #5E6F8C;
  --sidebar-width: 248px;
  --primary: #2E6BFF;
  --primary-hover: #235CE0;
  --primary-shadow: rgba(46, 107, 255, 0.3);
  --text-heading: #101828;
  --text-body: #475467;
  --text-muted: #667085;
  --text-muted-2: #8A94A6;
  --text-muted-3: #98A2B3;
  --text-table-header: #94A0B0;
  --green-bg: #E7F6EF;
  --green-text: #0B7A53;
  --green-dot: #12A06A;
  --amber-bg: #FFF3DE;
  --amber-text: #9A6700;
  --amber-dot: #E0A52B;
  --red-bg: #FCEAE8;
  --red-text: #B23A30;
  --red-dot: #D6483B;
  --neutral-bg: #EEF1F6;
  --neutral-text: #5B6675;
  --notification-red: #E0483B;
  --border: #E2E7EF;
  --border-light: #E7EBF1;
  --input-bg: #F8FAFC;
  --badge-pill-bg: #EEF2F8;
  --badge-pill-text: #5E6F8C;
  --badge-pill-border: #E3E9F2;
  --topbar-height: 64px;
  --font-sans: IBM Plex Sans Devanagari, IBM Plex Sans, system-ui, -apple-system, sans-serif;
  --font-mono: IBM Plex Mono, Courier New, monospace;
  --radius-card: 14px;
  --radius-btn: 9px;
  --radius-chip: 999px;
  --radius-tile: 8px;
  --shadow-card: 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-primary: 0 2px 8px rgba(46, 107, 255, 0.3);
}

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

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "IBM Plex Sans Devanagari", "IBM Plex Sans", system-ui, -apple-system, sans-serif;
  font-size: 14px;
  color: #101828;
  background: #F4F6F9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #D4DAE3;
  border-radius: 8px;
  border: 2px solid #F4F6F9;
}
::-webkit-scrollbar-thumb:hover {
  background: #B9C2CF;
}

.status-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px 3px 8px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
}
.status-chip::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.status-chip.chip-green {
  background: #E7F6EF;
  color: #0B7A53;
}
.status-chip.chip-green::before {
  background: #12A06A;
}
.status-chip.chip-amber {
  background: #FFF3DE;
  color: #9A6700;
}
.status-chip.chip-amber::before {
  background: #E0A52B;
}
.status-chip.chip-red {
  background: #FCEAE8;
  color: #B23A30;
}
.status-chip.chip-red::before {
  background: #D6483B;
}
.status-chip.chip-neutral {
  background: #EEF1F6;
  color: #5B6675;
}
.status-chip.chip-neutral::before {
  background: #9AA4B2;
}

.card-panel {
  background: #FFFFFF;
  border: 1px solid #E7EBF1;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.mono {
  font-variant-numeric: tabular-nums;
}
