/* VISCARD DASHBOARD TYPOGRAPHY FINAL LOADED - 20260425 */

/* =========================================================
   VISCARD TYPOGRAPHY FINAL OVERRIDE
   Source of truth: /index.php landing page
========================================================= */

body,
.dashboard-root,
.dashboard-layout,
.dashboard-main,
.dashboard-sidebar,
.dashboard-topbar,
.dashboard-card,
.card,
.panel,
button,
input,
select,
textarea,
a {
  font-family: var(--vc-font-family, "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif) !important;
}

body,
.dashboard-root,
.dashboard-layout,
.dashboard-main,
.admin-main,
.admin-content,
.admin-content-inner {
  font-weight: var(--vc-body-weight, 400) !important;
  line-height: var(--vc-body-line-height, 1.6) !important;
  color: #101218;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
.page-title,
.dashboard-page-title,
.template-page-title,
.demo-title,
.dashboard-page-header__title {
  font-size: calc(30px * var(--vc-font-scale, 1)) !important;
  line-height: 1.12 !important;
  font-weight: var(--vc-heading-weight, 600) !important;
  letter-spacing: var(--vc-heading-letter-spacing, -0.03em) !important;
  color: #101218 !important;
}

h2,
.section-title,
.dashboard-section-title {
  font-size: calc(22px * var(--vc-font-scale, 1)) !important;
  line-height: 1.18 !important;
  font-weight: var(--vc-heading-weight, 600) !important;
  letter-spacing: -0.025em !important;
  color: #101218 !important;
}

h3,
.card-title,
.dashboard-card-title,
.template-card-title,
.panel-title,
.panel__title {
  font-size: calc(16px * var(--vc-font-scale, 1)) !important;
  line-height: 1.35 !important;
  font-weight: var(--vc-heading-weight, 600) !important;
  letter-spacing: -0.01em !important;
  color: #101218 !important;
}

p,
.page-desc,
.dashboard-page-desc,
.card-desc,
.template-card-desc,
.demo-desc,
.text-muted,
.muted,
.dashboard-page-header__desc {
  font-size: calc(14px * var(--vc-font-scale, 1)) !important;
  line-height: var(--vc-body-line-height, 1.6) !important;
  font-weight: var(--vc-body-weight, 400) !important;
  color: #6b7280 !important;
}

.sidebar-brand__text strong,
.sidebar-logo,
.brand-title {
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #101218 !important;
}

.sidebar-brand__text small,
.sidebar-subtitle,
.brand-subtitle {
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: #6b7280 !important;
}

.sidebar-menu a,
.sidebar-nav a,
.nav-item,
.dashboard-nav-link {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
}

button,
.btn,
.dashboard-btn,
.action-btn,
.edit-btn,
.preview-btn,
a.btn {
  font-size: calc(14px * var(--vc-font-scale, 1)) !important;
  line-height: 1 !important;
  font-weight: var(--vc-button-weight, 500) !important;
  letter-spacing: 0 !important;
  border-radius: var(--vc-button-radius, 100px) !important;
}

label,
.form-label {
  font-size: calc(13px * var(--vc-font-scale, 1)) !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: #101218 !important;
}

small,
.small-text,
.meta-text,
.helper-text {
  font-size: calc(12px * var(--vc-font-scale, 1)) !important;
  line-height: 1.45 !important;
  font-weight: var(--vc-body-weight, 400) !important;
  color: #8a90a3 !important;
}

.badge,
.status-badge,
.template-badge,
.plan-badge,
.status-pill {
  font-size: calc(12px * var(--vc-font-scale, 1)) !important;
  line-height: 1 !important;
  font-weight: var(--vc-button-weight, 500) !important;
}

.section-kicker,
.upper-label,
.eyebrow,
.template-gallery-label,
.dashboard-page-header__eyebrow {
  font-size: calc(12px * var(--vc-font-scale, 1)) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  color: #64748b !important;
}

table th,
.dashboard-table th,
.data-table th {
  font-size: calc(12px * var(--vc-font-scale, 1)) !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

table td,
.dashboard-table td,
.data-table td {
  font-size: calc(14px * var(--vc-font-scale, 1)) !important;
  line-height: 1.45 !important;
  font-weight: var(--vc-body-weight, 400) !important;
}

.metric-number,
.kpi-number,
.stat-value,
.metric-card__value {
  font-size: calc(34px * var(--vc-font-scale, 1)) !important;
  line-height: 1 !important;
  font-weight: var(--vc-heading-weight, 600) !important;
  letter-spacing: -0.03em !important;
}

.metric-label,
.kpi-label,
.stat-label,
.metric-card__label,
.metric-card__meta {
  font-size: calc(13px * var(--vc-font-scale, 1)) !important;
  line-height: 1.4 !important;
  font-weight: var(--vc-body-weight, 400) !important;
  color: #6b7280 !important;
}

.panel,
.card,
.dashboard-card,
.admin-topbar {
  border-radius: var(--vc-card-radius, 24px) !important;
}

.nav-item.is-active,
.sidebar-nav .is-active {
  background: color-mix(in srgb, var(--vc-primary, #7B5CFF) 18%, #fff) !important;
  color: var(--vc-primary, #7B5CFF) !important;
}

.btn-primary,
.btn.btn-primary {
  background: linear-gradient(135deg, var(--vc-primary, #7B5CFF), var(--vc-secondary, #62B3FF)) !important;
  border-color: transparent !important;
  color: #fff !important;
}

.status-pill--active,
.badge {
  background: color-mix(in srgb, var(--vc-accent, #A58BFF) 22%, #fff) !important;
  color: var(--vc-primary, #7B5CFF) !important;
  border: 1px solid color-mix(in srgb, var(--vc-primary, #7B5CFF) 24%, #fff) !important;
}

/* =========================================================
   PRIME DASHBOARD FONT SAFETY OVERRIDE
========================================================= */
html,
body,
.dashboard-root,
.dashboard-layout,
.dashboard-sidebar,
.dashboard-main,
.dashboard-topbar,
.dashboard-card,
.settings-page-wrap,
.settings-card,
input,
select,
textarea,
button,
a,
table,
th,
td {
  font-family: var(--vc-font-family, 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif) !important;
}

h1,
.dashboard-page-title,
.settings-card-title {
  font-family: var(--vc-font-family, 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif) !important;
  font-weight: var(--vc-heading-weight, 600) !important;
  letter-spacing: var(--vc-heading-letter-spacing, -0.03em) !important;
}

p,
label,
input,
select,
textarea,
.dashboard-main,
.settings-card {
  font-family: var(--vc-font-family, 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif) !important;
}

button,
.btn,
.dashboard-btn {
  font-family: var(--vc-font-family, 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif) !important;
  font-weight: var(--vc-button-weight, 500) !important;
}

body {
  font-weight: var(--vc-body-weight, 400) !important;
  color: #101218;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
