:root {
  --hk-primary: #1f4e79;
  --hk-primary-hover: #193f61;
  --hk-primary-soft: #eaf2f8;
  --hk-bg: #f5f7fa;
  --hk-surface: #ffffff;
  --hk-surface-alt: #f9fbfd;
  --hk-border: #d9e1ea;
  --hk-border-strong: #c4cfdb;
  --hk-text: #1f2937;
  --hk-text-muted: #6b7280;
  --hk-text-soft: #94a3b8;
  --hk-success: #198754;
  --hk-success-soft: #eaf7f0;
  --hk-warning: #f0ad4e;
  --hk-warning-soft: #fff6e6;
  --hk-danger: #dc3545;
  --hk-danger-soft: #fcebec;
  --hk-info: #0dcaf0;
  --hk-info-soft: #e8f8fc;
  --hk-radius-sm: 8px;
  --hk-radius-md: 12px;
  --hk-radius-lg: 16px;
  --hk-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --hk-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06);
  --hk-input-height: 42px;
  --hk-btn-height: 40px;
  --hk-toolbar-height: 56px;
  --hk-header-height: 64px;
  --hk-sidebar-width: 280px;
  --hk-sidebar-width-collapsed: 84px;
  --hk-gap-1: 4px;
  --hk-gap-2: 8px;
  --hk-gap-3: 12px;
  --hk-gap-4: 16px;
  --hk-gap-5: 20px;
  --hk-gap-6: 24px;
  --hk-gap-7: 32px;
  --hk-font-size-xs: 12px;
  --hk-font-size-sm: 13px;
  --hk-font-size-md: 14px;
  --hk-font-size-base: 15px;
  --hk-font-size-lg: 18px;
  --hk-font-size-xl: 22px;
  --hk-font-size-xxl: 28px;
}

@font-face {
  font-family: 'InfiniteJustice';
  src: url('../fonts/InfiniteJustice.ttf') format('truetype');
  font-display: swap;
}
