:root {
  --turtle-bg: #2B2C48;
  --turtle-gradient-start: #0ea5e9;
  --turtle-gradient-middle: #22c55e;
  --turtle-gradient-end: #e3ffe7;
  --turtle-card-bg: #ffffff;
  --turtle-text-main: #202136;
  --turtle-text-muted: #202136;
  --turtle-border-soft: #e5e7eb;
  --turtle-cta: #59CD7F;
  --turtle-cta-hover: #59CD7F;
  --turtle-success: #AEF3C6;
  --turtle-warning: #F8D774;
  --turtle-danger: #F1735F;
  --turtle-info: #EFE9E1;
  --turtle-table-head: #F5F2EE;
  --turtle-shell: #72EB9C;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --shadow-soft: 0 24px 60px rgba(15, 23, 42, 0.15);
  --shadow-subtle: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.shell-tracker-disabled .shell-seg-link:not(.shell-center-link) {
  pointer-events: none;
  cursor: default;
}

/* Unread message count badge — red circle with centered white count, matching
   .shell-badge-circle / .shell-badge-text on the client home page. */
.unread-badge-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 4px;
  border-radius: 50%;
  background: var(--turtle-danger);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  font-family: sans-serif;
}

.btn-green {
  background: var(--turtle-cta);
  border-color: var(--turtle-cta);
  color: var(--turtle-text-main);
}

.btn-green:hover {
  background: var(--turtle-cta-hover);
  border-color: var(--turtle-cta-hover);
}

.badge {
  color: var(--turtle-text-main) !important;
}

.progress-bar {
  color: var(--turtle-text-main) !important;
}

.bg-secondary {
  background: var(--turtle-info) !important;
}

.bg-success {
  background: var(--turtle-success) !important;
  border-color: var(--turtle-success) !important;
}

.bg-warning {
  background: var(--turtle-warning) !important;
  border-color: var(--turtle-warning) !important;
}

.bg-danger {
  background: var(--turtle-danger) !important;
  border-color: var(--turtle-danger) !important;
}

.table-light th {
  background-color: var(--turtle-table-head) !important;
}