:root {
  --brand-primary: #B22222;
  --brand-primary-hover: #8B1A1A;
  --brand-primary-light: #D4443E;
  --brand-primary-subtle: rgba(178, 34, 34, 0.08);
  --brand-primary-subtle-hover: rgba(178, 34, 34, 0.12);
  --brand-dark: #2D2D2D;
  --brand-text: #1A1A1A;
  --brand-muted: #666666;
  --brand-background: #FAFAFA;
  --brand-surface: #FFFFFF;
  --brand-border: #DDDDDD;
  --color-whatsapp: #25D366;
  --state-success: #16A34A;
  --state-warning: #D97706;
  --state-error: #DC2626;
  --state-info: #2563EB;
  --font-display: Georgia, 'Times New Roman', serif;
  --font-body: Georgia, 'Times New Roman', 'Microsoft YaHei', 'PingFang SC', 'Noto Sans SC', sans-serif;
  --font-ui: 'Work Sans', 'Segoe UI', 'Microsoft YaHei', sans-serif;
}

body { background: #ffffff; color: #0f172a; font-family: var(--font-body); }
td, th { word-break: break-word; }
th { white-space: nowrap; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

[data-icon] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background-color: currentColor;
}

.font-display { font-family: var(--font-display); }
.font-ui { font-family: var(--font-ui); }

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

a[data-active="true"] {
  color: var(--brand-primary) !important;
  font-weight: 600;
}
