/**
 * Balanced typography — uses active theme CSS variables only (no per-theme color leaks).
 * Per-theme tokens live in kitsofts_hkits_theme_tokens.css + hkits-themes.css.
 */

/* ── Base readability (all themes via vars) ─────────────────────────── */
body.hkits-app,
body.hkits-login {
    color: var(--hkits-text, #1e293b);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

html[data-hkits-font-size] body.hkits-app,
html[data-hkits-font-size] body.hkits-login {
    font-size: var(--hkits-font-size, 17px) !important;
}

body.hkits-app .hkits-main-inner {
    font-size: var(--hkits-app-content-font-size, 17px);
}

/* ── Headings & body copy in workspace ──────────────────────────────── */
body.hkits-app .hkits-main-inner,
body.hkits-app .kitsofts-workspace,
body.hkits-app .management-module-page,
body.hkits-app .business-module-page,
body.hkits-app .dashboard-content,
body.hkits-login .hkits-login-panel {
    color: var(--hkits-text);
}

body.hkits-app .management-module-page,
body.hkits-app .kitsofts-workspace,
body.hkits-app .business-module-page,
body.hkits-app .dashboard-content {
    font-size: var(--hkits-app-content-font-size, 17px);
}

body.hkits-app .hkits-main-inner h1,
body.hkits-app .hkits-main-inner h2,
body.hkits-app .hkits-main-inner h3,
body.hkits-app .hkits-main-inner h4,
body.hkits-app .hkits-main-inner h5,
body.hkits-app .hkits-main-inner h6,
body.hkits-app .management-module-page h1,
body.hkits-app .management-module-page h2,
body.hkits-app .management-module-page h3,
body.hkits-app .management-module-page h4,
body.hkits-login .hkits-login-panel h1,
body.hkits-login .hkits-login-panel h2,
body.hkits-login .hkits-login-panel h3 {
    color: var(--hkits-text);
    font-weight: 700;
    line-height: 1.35;
}

body.hkits-app .hkits-page-bar h1,
body.hkits-app .hkits-page-heading,
body.hkits-app .panel-primary > .panel-heading,
body.hkits-app .modal-header .modal-title {
    color: inherit;
}

/* ── Muted / secondary copy ─────────────────────────────────────────── */
body.hkits-app .text-muted,
body.hkits-app .help-block,
body.hkits-app .form-text,
body.hkits-app small.text-muted,
body.hkits-app small,
body.hkits-app .hkits-empty-state p,
body.hkits-login .text-muted,
body.hkits-login .help-block,
body.hkits-login .view-title,
body.hkits-login .loading-inline,
body.hkits-login .empty-hint {
    color: var(--hkits-text-muted) !important;
    opacity: 1 !important;
    font-size: var(--hkits-dashboard-small-size, 0.95rem);
}

body.hkits-app caption,
body.hkits-app .caption,
body.hkits-app .hkits-dash-card-head small {
    color: var(--hkits-text-muted);
}

/* ── Labels & form fields ───────────────────────────────────────────── */
body.hkits-app label,
body.hkits-app .control-label,
body.hkits-app .form-label,
body.hkits-login label,
body.hkits-login .control-label {
    color: var(--hkits-text);
    font-weight: 600;
}

body.hkits-app input.form-control,
body.hkits-app textarea.form-control,
body.hkits-app select.form-control,
body.hkits-app select:not(.btn):not([multiple]),
body.hkits-login input.form-control,
body.hkits-login textarea.form-control,
body.hkits-login select.form-control {
    color: var(--hkits-text) !important;
    font-weight: 500;
}

body.hkits-app input.form-control::placeholder,
body.hkits-app textarea.form-control::placeholder,
body.hkits-login input.form-control::placeholder,
body.hkits-login textarea.form-control::placeholder {
    color: var(--hkits-text-muted) !important;
    opacity: 0.85 !important;
}

body.hkits-app .input-group-addon {
    color: var(--hkits-text);
}

/* ── Tables ─────────────────────────────────────────────────────────── */
body.hkits-app .table,
body.hkits-app .hkits-dash-table,
body.hkits-app .hkits-items-table,
body.hkits-app .table > tbody > tr > td,
body.hkits-app .hkits-dash-table tbody td {
    color: var(--hkits-text);
    font-size: var(--hkits-app-content-font-size, 17px);
}

body.hkits-app .table > thead > tr > th,
body.hkits-app .hkits-items-table thead th {
    font-weight: 700;
    font-size: var(--hkits-app-content-font-size, 17px);
}

/* ── Links ──────────────────────────────────────────────────────────── */
body.hkits-app a:not(.btn):not(.hkits-menu-head):not(.nav-link):not(.dropdown-toggle),
body.hkits-login a:not(.btn) {
    color: var(--hkits-link, var(--hkits-accent));
}

body.hkits-app a:not(.btn):not(.hkits-menu-head):hover,
body.hkits-login a:not(.btn):hover {
    color: var(--hkits-link-hover, var(--hkits-accent-hover, var(--hkits-primary-dark)));
}

/* ── Topnav ─────────────────────────────────────────────────────────── */
body.hkits-app .hkits-topnav .navbar-brand,
body.hkits-app .hkits-topnav .hkits-facility-brand,
body.hkits-app .hkits-topnav .notify,
body.hkits-app .hkits-topnav .user-greeting-text,
body.hkits-app .hkits-topnav .dropdown-toggle {
    color: var(--hkits-topnav-text, var(--hkits-text)) !important;
}

body.hkits-app .hkits-topnav .icon-bar {
    background-color: var(--hkits-topnav-text, var(--hkits-text));
}

/* ── Panels & modals ─────────────────────────────────────────────────── */
body.hkits-app .panel,
body.hkits-app .panel-body,
body.hkits-app .modal-content,
body.hkits-app .modal-body,
body.hkits-app .well,
body.hkits-app .list-group-item,
body.hkits-app .panel-default > .panel-heading {
    color: var(--hkits-text);
}

body.hkits-app .panel-default > .panel-heading {
    font-weight: 700;
}

/* ── Bootstrap buttons ───────────────────────────────────────────────── */
body.hkits-app .btn-default {
    color: var(--hkits-text);
}

body.hkits-app .btn-link {
    color: var(--hkits-link, var(--hkits-accent));
}

body.hkits-app .hkits-dt-tools .btn,
body.hkits-app .hkits-empty-state {
    color: var(--hkits-text) !important;
}

body.hkits-app .hkits-empty-state .fa {
    color: var(--hkits-text-muted) !important;
}

/* ── Alerts ─────────────────────────────────────────────────────────── */
body.hkits-app .alert {
    color: var(--hkits-text);
}

/* ── Dashboard KPI cards (theme legacy tokens on body) ───────────────── */
body.hkits-app .hkits-main-inner .card-value {
    color: var(--dashboard-kpi, var(--hkits-primary, var(--hkits-accent))) !important;
    font-weight: 700 !important;
    font-size: var(--hkits-dashboard-summary-amount-size, 2.65rem) !important;
}

body.hkits-app .hkits-main-inner .card-label,
body.hkits-app .hkits-main-inner .card-trend {
    color: var(--dashboard-label, var(--hkits-text, #000000)) !important;
    font-weight: 600 !important;
    font-size: var(--hkits-dashboard-card-label-size, 1.26rem) !important;
}

body.hkits-app .hkits-main-inner .card-link {
    color: var(--hkits-link, var(--hkits-accent)) !important;
    font-weight: 600 !important;
    font-size: var(--hkits-dashboard-card-meta-size, 1.14rem) !important;
}

body.hkits-app .hkits-main-inner .chart-title,
body.hkits-app .hkits-main-inner .table-title {
    color: var(--hkits-text) !important;
    font-size: var(--hkits-dashboard-chart-title-size, 1.52rem) !important;
    font-weight: 700 !important;
}
