:root {
  --primary: #0D47A1;
  --primary-dark: #08306B;
  --primary-hover: #1565C0;
  --secondary: #D4AF37;
  --secondary-dark: #B38B1F;
  --background: #F8F9FB;
  --surface: #FFFFFF;
  --surface-alt: #EEF3F8;
  --text: #1F2937;
  --text-light: #6B7280;
  --border: #D6DCE5;
  --success: #2E7D32;
  --warning: #F59E0B;
  --danger: #C62828;
  --info: #1976D2;
  --info-soft: #EAF2FC;
  --shadow-sm: 0 2px 8px rgba(13, 71, 161, 0.08);
  --shadow-md: 0 12px 28px rgba(13, 71, 161, 0.10);
  --shadow-lg: 0 18px 42px rgba(8, 48, 107, 0.12);
  --radius-sm: 0.5rem;
  --radius-md: 0.9rem;
  --radius-lg: 1.2rem;
  --bs-primary: var(--primary);
  --bs-secondary: var(--secondary);
  --bs-success: var(--success);
  --bs-warning: var(--warning);
  --bs-danger: var(--danger);
  --bs-info: var(--info);
  --bs-body-bg: var(--background);
  --bs-body-color: var(--text);
  --bs-border-color: var(--border);
  --bs-link-color: var(--primary);
  --bs-link-hover-color: var(--primary-dark);
  --bs-card-bg: var(--surface);
  --bs-card-border-color: var(--border);
  --bs-navbar-brand-color: #FFFFFF;
  --bs-navbar-color: rgba(255, 255, 255, 0.92);
  --bs-navbar-hover-color: #FFFFFF;
  --bs-navbar-active-color: #FFFFFF;
}

html,
body {
  background: var(--background);
  color: var(--text);
}

body.personal,
body.personal2 {
  background-image: none;
  background-color: var(--background);
  color: var(--text);
}

a {
  color: var(--primary);
}

a:hover,
a:focus {
  color: var(--primary-dark);
}

.theme-help {
  color: var(--info) !important;
}

.theme-danger {
  color: var(--danger) !important;
}

.theme-success {
  color: var(--success) !important;
}

.theme-text {
  color: var(--text) !important;
}

.theme-accent {
  color: var(--secondary) !important;
}

.theme-link-accent {
  color: var(--secondary) !important;
  text-decoration: none;
}

.theme-link-accent:hover,
.theme-link-accent:focus {
  color: var(--secondary-dark) !important;
  text-decoration: underline;
}

.theme-caret {
  color: var(--danger) !important;
}