/* =========================================================================
   assets/css/lw-contrast.css - Lavawall console theme colour contrast
   -------------------------------------------------------------------------
   (2026-10-15, VR-2026-0964) GENERATED by tools/contrast/gen_lw_contrast.py
   from assets/css/bootstrap.min.css and assets/css/app.css. Do not edit by
   hand: change the generator and re-run it, then tools/contrast/
   check_contrast.py.

   Velzon's brand pastels fail WCAG 2.2 1.4.3 (text) and 1.4.11 (control
   states) wherever they carry or are text: #5ea3cb with white text is
   2.77:1, #7084c7 3.61:1, the success / info / warning / danger pastels
   1.8-2.4:1. Same hues here, lightness adjusted so every text pair is at
   least 4.5:1 and every control edge or state at least 3:1, in the light
   and dark themes, including hover, active and focus states.

   Loaded by layouts/head-css.php after lw-a11y.css. It never applies under
   the high-contrast setting's own rules: those are written on body.lw-hc
   with !important and higher specificity, so they still win.
   ========================================================================= */

/* ---------- 1. Tokens ------------------------------------------------ */
:root {
    --lw-primary-fill: #306b8f; --lw-primary-fill-hover: #24536f; --lw-primary-fill-active: #1d4560; --lw-primary-on-fill: #ffffff; --lw-primary-text: #306b8f; --lw-primary-text-tint: #306b8f; --lw-primary-border: #306b8f; --lw-primary-fill-rgb: 48, 107, 143; --lw-primary-text-rgb: 48, 107, 143;
    --lw-secondary-fill: #4d5ea8; --lw-secondary-fill-hover: #3e4d8e; --lw-secondary-fill-active: #334077; --lw-secondary-on-fill: #ffffff; --lw-secondary-text: #4d5ea8; --lw-secondary-text-tint: #4d5ea8; --lw-secondary-border: #4d5ea8; --lw-secondary-fill-rgb: 77, 94, 168; --lw-secondary-text-rgb: 77, 94, 168;
    --lw-success-fill: #277235; --lw-success-fill-hover: #1f5c2a; --lw-success-fill-active: #194b22; --lw-success-on-fill: #ffffff; --lw-success-text: #277235; --lw-success-text-tint: #277235; --lw-success-border: #277235; --lw-success-fill-rgb: 39, 114, 53; --lw-success-text-rgb: 39, 114, 53;
    --lw-info-fill: #1e6b82; --lw-info-fill-hover: #18586b; --lw-info-fill-active: #134858; --lw-info-on-fill: #ffffff; --lw-info-text: #1e6b82; --lw-info-text-tint: #1e6b82; --lw-info-border: #1e6b82; --lw-info-fill-rgb: 30, 107, 130; --lw-info-text-rgb: 30, 107, 130;
    --lw-warning-fill: #f7b84b; --lw-warning-fill-hover: #eaa93a; --lw-warning-fill-active: #e09f30; --lw-warning-on-fill: #14171a; --lw-warning-text: #8a5a00; --lw-warning-text-tint: #8a5a00; --lw-warning-border: #a26907; --lw-warning-fill-rgb: 247, 184, 75; --lw-warning-text-rgb: 138, 90, 0;
    --lw-danger-fill: #b3432b; --lw-danger-fill-hover: #963722; --lw-danger-fill-active: #7d2e1c; --lw-danger-on-fill: #ffffff; --lw-danger-text: #b3432b; --lw-danger-text-tint: #b3432b; --lw-danger-border: #b3432b; --lw-danger-fill-rgb: 179, 67, 43; --lw-danger-text-rgb: 179, 67, 43;
}
[data-bs-theme="dark"] {
    --lw-primary-fill: #357ba4; --lw-primary-fill-hover: #2f6c90; --lw-primary-fill-active: #296080; --lw-primary-on-fill: #ffffff; --lw-primary-text: #5ea3cb; --lw-primary-text-tint: #7eb5d5; --lw-primary-border: #5ea3cb; --lw-primary-fill-rgb: 53, 123, 164; --lw-primary-text-rgb: 94, 163, 203;
    --lw-secondary-fill: #5a71bf; --lw-secondary-fill-hover: #4f63a8; --lw-secondary-fill-active: #465895; --lw-secondary-on-fill: #ffffff; --lw-secondary-text: #8d9dd2; --lw-secondary-text-tint: #9aa8d8; --lw-secondary-border: #8d9dd2; --lw-secondary-fill-rgb: 90, 113, 191; --lw-secondary-text-rgb: 141, 157, 210;
    --lw-success-fill: #218633; --lw-success-fill-hover: #1d762d; --lw-success-fill-active: #1a6928; --lw-success-on-fill: #ffffff; --lw-success-text: #6ada7d; --lw-success-text-tint: #88e197; --lw-success-border: #6ada7d; --lw-success-fill-rgb: 33, 134, 51; --lw-success-text-rgb: 106, 218, 125;
    --lw-info-fill: #147f9e; --lw-info-fill-hover: #12708b; --lw-info-fill-active: #10637b; --lw-info-on-fill: #ffffff; --lw-info-text: #58caea; --lw-info-text-tint: #79d5ee; --lw-info-border: #58caea; --lw-info-fill-rgb: 20, 127, 158; --lw-info-text-rgb: 88, 202, 234;
    --lw-warning-fill: #f7b84b; --lw-warning-fill-hover: #eaa93a; --lw-warning-fill-active: #e09f30; --lw-warning-on-fill: #14171a; --lw-warning-text: #f7b84b; --lw-warning-text-tint: #f9c66f; --lw-warning-border: #f7b84b; --lw-warning-fill-rgb: 247, 184, 75; --lw-warning-text-rgb: 247, 184, 75;
    --lw-danger-fill: #c35131; --lw-danger-fill-hover: #ac472b; --lw-danger-fill-active: #983f26; --lw-danger-on-fill: #ffffff; --lw-danger-text: #fa896b; --lw-danger-text-tint: #fba189; --lw-danger-border: #fa896b; --lw-danger-fill-rgb: 195, 81, 49; --lw-danger-text-rgb: 250, 137, 107;
}

/* ---------- 2. Theme variables ------------------------------------------ */
/* Light theme. Muted text (#666978) is 4.8:1 on the #f1f1f1 page and 5.4:1
   on white; links 5.8:1 / 5.1:1. Form validation colours carry the
   invalid-feedback text. */
:root:not([data-bs-theme="dark"]) {
    --vz-primary: #306b8f; --vz-primary-rgb: 48, 107, 143; --vz-primary-text-emphasis: #24536f;
    --vz-secondary: #4d5ea8; --vz-secondary-rgb: 77, 94, 168; --vz-secondary-text-emphasis: #3e4d8e;
    --vz-success: #277235; --vz-success-rgb: 39, 114, 53; --vz-success-text-emphasis: #1f5c2a;
    --vz-info: #1e6b82; --vz-info-rgb: 30, 107, 130; --vz-info-text-emphasis: #18586b;
    --vz-warning: #f7b84b; --vz-warning-rgb: 247, 184, 75; --vz-warning-text-emphasis: #eaa93a;
    --vz-danger: #b3432b; --vz-danger-rgb: 179, 67, 43; --vz-danger-text-emphasis: #963722;
    --vz-blue: var(--lw-primary-fill);
    --vz-link-color: #306b8f; --vz-link-color-rgb: 48, 107, 143;
    --vz-link-hover-color: #24536f; --vz-link-hover-color-rgb: 36, 83, 111;
    --vz-secondary-color: #666978; --vz-secondary-color-rgb: 102, 105, 120;
    --vz-footer-color: #666978;
    --vz-form-valid-color: var(--lw-success-text); --vz-form-valid-border-color: var(--lw-success-border);
    --vz-form-invalid-color: var(--lw-danger-text); --vz-form-invalid-border-color: var(--lw-danger-border);
    --vz-header-item-sub-color: #666978;
    --vz-topnav-item-active-color: var(--lw-primary-text);
}
/* Light (white) sidebar, in either theme: Velzon's console default is the
   dark rail (data-sidebar="dark" in layouts/main.php), which keeps its own
   light-on-dark values. */
:root:is([data-sidebar="light"], :not([data-sidebar])) {
    --vz-vertical-menu-item-hover-color: #306b8f;
    --vz-vertical-menu-item-active-color: #306b8f;
    --vz-vertical-menu-sub-item-hover-color: #306b8f;
    --vz-vertical-menu-sub-item-active-color: #306b8f;
    --vz-vertical-menu-sub-item-color: #626574;
    --vz-vertical-menu-title-color: #666978;
}

/* Dark theme. The pastels pass as text on the dark surfaces (4.9-9.6:1), so
   they stay as the hue; only secondary is lightened (#7084c7 was 3.8-4.3:1).
   Fills that carry white text use the deeper --lw-*-fill tokens instead
   (sections 3 and 4). Muted text #9c9fab: 4.6:1 on the lightest dark surface
   (#31363c), 6.8:1 on the page. */
[data-bs-theme="dark"] {
    --vz-primary: #5ea3cb; --vz-primary-rgb: 94, 163, 203; --vz-primary-text-emphasis: #7eb5d5;
    --vz-secondary: #8d9dd2; --vz-secondary-rgb: 141, 157, 210; --vz-secondary-text-emphasis: #9aa8d8;
    --vz-success: #6ada7d; --vz-success-rgb: 106, 218, 125; --vz-success-text-emphasis: #88e197;
    --vz-info: #58caea; --vz-info-rgb: 88, 202, 234; --vz-info-text-emphasis: #79d5ee;
    --vz-warning: #f7b84b; --vz-warning-rgb: 247, 184, 75; --vz-warning-text-emphasis: #f9c66f;
    --vz-danger: #fa896b; --vz-danger-rgb: 250, 137, 107; --vz-danger-text-emphasis: #fba189;
    --vz-secondary-color: #9c9fab; --vz-secondary-color-rgb: 156, 159, 171;
    --vz-footer-color: #9c9fab;
    --vz-header-item-sub-color: #9c9fab;
    --vz-topnav-item-color: #9c9fab;
    --vz-tertiary-color: rgba(206, 212, 218, 0.8);
}
[data-bs-theme="dark"] .dropdown-menu { --vz-dropdown-link-active-color: #e9ecef; }
/* Dark sidebar in the dark theme: #89929b was 4.6:1 on #24292d, the item
   hover tint brought it under 4.5:1. */
[data-bs-theme="dark"][data-sidebar="dark"] {
    --vz-vertical-menu-item-color: #a4adb6;
    --vz-vertical-menu-sub-item-color: #a4adb6;
    --vz-vertical-menu-title-color: #a4adb6;
}
.dropdown-menu { --vz-dropdown-header-color: var(--vz-secondary-color); }

/* Dark islands: the dark sidebar and a dark top bar keep the dark-theme
   tokens in the light theme, so a text-primary icon or a badge in the menu
   stays light on the dark rail. */
:root[data-sidebar="dark"] .app-menu,
:root[data-topbar="dark"] #page-topbar {
    --lw-primary-fill: #357ba4; --lw-primary-fill-hover: #2f6c90; --lw-primary-fill-active: #296080; --lw-primary-on-fill: #ffffff; --lw-primary-text: #5ea3cb; --lw-primary-text-tint: #7eb5d5; --lw-primary-border: #5ea3cb; --lw-primary-fill-rgb: 53, 123, 164; --lw-primary-text-rgb: 94, 163, 203;
    --lw-secondary-fill: #5a71bf; --lw-secondary-fill-hover: #4f63a8; --lw-secondary-fill-active: #465895; --lw-secondary-on-fill: #ffffff; --lw-secondary-text: #8d9dd2; --lw-secondary-text-tint: #9aa8d8; --lw-secondary-border: #8d9dd2; --lw-secondary-fill-rgb: 90, 113, 191; --lw-secondary-text-rgb: 141, 157, 210;
    --lw-success-fill: #218633; --lw-success-fill-hover: #1d762d; --lw-success-fill-active: #1a6928; --lw-success-on-fill: #ffffff; --lw-success-text: #6ada7d; --lw-success-text-tint: #88e197; --lw-success-border: #6ada7d; --lw-success-fill-rgb: 33, 134, 51; --lw-success-text-rgb: 106, 218, 125;
    --lw-info-fill: #147f9e; --lw-info-fill-hover: #12708b; --lw-info-fill-active: #10637b; --lw-info-on-fill: #ffffff; --lw-info-text: #58caea; --lw-info-text-tint: #79d5ee; --lw-info-border: #58caea; --lw-info-fill-rgb: 20, 127, 158; --lw-info-text-rgb: 88, 202, 234;
    --lw-warning-fill: #f7b84b; --lw-warning-fill-hover: #eaa93a; --lw-warning-fill-active: #e09f30; --lw-warning-on-fill: #14171a; --lw-warning-text: #f7b84b; --lw-warning-text-tint: #f9c66f; --lw-warning-border: #f7b84b; --lw-warning-fill-rgb: 247, 184, 75; --lw-warning-text-rgb: 247, 184, 75;
    --lw-danger-fill: #c35131; --lw-danger-fill-hover: #ac472b; --lw-danger-fill-active: #983f26; --lw-danger-on-fill: #ffffff; --lw-danger-text: #fa896b; --lw-danger-text-tint: #fba189; --lw-danger-border: #fa896b; --lw-danger-fill-rgb: 195, 81, 49; --lw-danger-text-rgb: 250, 137, 107;
    --vz-primary: #5ea3cb; --vz-primary-rgb: 94, 163, 203; --vz-primary-text-emphasis: #7eb5d5;
    --vz-secondary: #8d9dd2; --vz-secondary-rgb: 141, 157, 210; --vz-secondary-text-emphasis: #9aa8d8;
    --vz-success: #6ada7d; --vz-success-rgb: 106, 218, 125; --vz-success-text-emphasis: #88e197;
    --vz-info: #58caea; --vz-info-rgb: 88, 202, 234; --vz-info-text-emphasis: #79d5ee;
    --vz-warning: #f7b84b; --vz-warning-rgb: 247, 184, 75; --vz-warning-text-emphasis: #f9c66f;
    --vz-danger: #fa896b; --vz-danger-rgb: 250, 137, 107; --vz-danger-text-emphasis: #fba189;
    --vz-link-color: #dfedf5; --vz-link-color-rgb: 223, 237, 245;
    --vz-secondary-color: #9c9fab; --vz-secondary-color-rgb: 156, 159, 171;
}

/* ---------- 3. Vendor rules with literal brand colours (495 rules) ------
   Same selectors as bootstrap.min.css / app.css, colour swapped for the
   token of its role. */

/* --- from bootstrap.min.css --- */
.form-check-input:checked { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.form-check-input[type=checkbox]:indeterminate { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.form-range::-webkit-slider-thumb { background-color: var(--lw-primary-fill); }
.form-range::-moz-range-thumb { background-color: var(--lw-primary-fill); }
.valid-tooltip { background-color: var(--lw-success-fill); }
.invalid-tooltip { background-color: var(--lw-danger-fill); }
.btn-primary { --vz-btn-bg: var(--lw-primary-fill); --vz-btn-border-color: var(--lw-primary-fill); --vz-btn-hover-bg: var(--lw-primary-fill-hover); --vz-btn-hover-border-color: var(--lw-primary-fill-hover); --vz-btn-active-bg: var(--lw-primary-fill-hover); --vz-btn-disabled-bg: var(--lw-primary-fill); --vz-btn-disabled-border-color: var(--lw-primary-fill); }
.btn-secondary { --vz-btn-bg: var(--lw-secondary-fill); --vz-btn-border-color: var(--lw-secondary-fill); --vz-btn-hover-bg: var(--lw-secondary-fill-hover); --vz-btn-hover-border-color: var(--lw-secondary-fill-hover); --vz-btn-active-bg: var(--lw-secondary-fill-hover); --vz-btn-active-border-color: var(--lw-secondary-fill-active); --vz-btn-disabled-bg: var(--lw-secondary-fill); --vz-btn-disabled-border-color: var(--lw-secondary-fill); }
.btn-success { --vz-btn-bg: var(--lw-success-fill); --vz-btn-border-color: var(--lw-success-fill); --vz-btn-hover-bg: var(--lw-success-fill-hover); --vz-btn-hover-border-color: var(--lw-success-fill-hover); --vz-btn-active-bg: var(--lw-success-fill-hover); --vz-btn-active-border-color: var(--lw-success-fill-active); --vz-btn-disabled-bg: var(--lw-success-fill); --vz-btn-disabled-border-color: var(--lw-success-fill); }
.btn-info { --vz-btn-bg: var(--lw-info-fill); --vz-btn-border-color: var(--lw-info-fill); --vz-btn-hover-bg: var(--lw-info-fill-hover); --vz-btn-hover-border-color: var(--lw-info-fill-hover); --vz-btn-active-bg: var(--lw-info-fill-hover); --vz-btn-active-border-color: var(--lw-info-fill-active); --vz-btn-disabled-bg: var(--lw-info-fill); --vz-btn-disabled-border-color: var(--lw-info-fill); }
.btn-warning { --vz-btn-color: var(--lw-warning-on-fill); --vz-btn-bg: var(--lw-warning-fill); --vz-btn-border-color: var(--lw-warning-fill); --vz-btn-hover-color: var(--lw-warning-on-fill); --vz-btn-hover-bg: var(--lw-warning-fill-hover); --vz-btn-hover-border-color: var(--lw-warning-fill-hover); --vz-btn-active-color: var(--lw-warning-on-fill); --vz-btn-active-bg: var(--lw-warning-fill-hover); --vz-btn-active-border-color: var(--lw-warning-fill-active); --vz-btn-disabled-color: var(--lw-warning-on-fill); --vz-btn-disabled-bg: var(--lw-warning-fill); --vz-btn-disabled-border-color: var(--lw-warning-fill); }
.btn-danger { --vz-btn-bg: var(--lw-danger-fill); --vz-btn-border-color: var(--lw-danger-fill); --vz-btn-hover-border-color: var(--lw-danger-fill-hover); --vz-btn-active-bg: var(--lw-danger-fill-hover); --vz-btn-active-border-color: var(--lw-danger-fill-active); --vz-btn-disabled-bg: var(--lw-danger-fill); --vz-btn-disabled-border-color: var(--lw-danger-fill); }
.btn-outline-primary { --vz-btn-color: var(--lw-primary-text); --vz-btn-border-color: var(--lw-primary-fill); --vz-btn-hover-bg: var(--lw-primary-fill); --vz-btn-hover-border-color: var(--lw-primary-fill); --vz-btn-active-bg: var(--lw-primary-fill); --vz-btn-active-border-color: var(--lw-primary-fill); --vz-btn-disabled-color: var(--lw-primary-text); --vz-btn-disabled-border-color: var(--lw-primary-fill); }
.btn-outline-secondary { --vz-btn-color: var(--lw-secondary-text); --vz-btn-border-color: var(--lw-secondary-fill); --vz-btn-hover-bg: var(--lw-secondary-fill); --vz-btn-hover-border-color: var(--lw-secondary-fill); --vz-btn-active-bg: var(--lw-secondary-fill); --vz-btn-active-border-color: var(--lw-secondary-fill); --vz-btn-disabled-color: var(--lw-secondary-text); --vz-btn-disabled-border-color: var(--lw-secondary-fill); }
.btn-outline-success { --vz-btn-color: var(--lw-success-text); --vz-btn-border-color: var(--lw-success-fill); --vz-btn-hover-bg: var(--lw-success-fill); --vz-btn-hover-border-color: var(--lw-success-fill); --vz-btn-active-bg: var(--lw-success-fill); --vz-btn-active-border-color: var(--lw-success-fill); --vz-btn-disabled-color: var(--lw-success-text); --vz-btn-disabled-border-color: var(--lw-success-fill); }
.btn-outline-info { --vz-btn-color: var(--lw-info-text); --vz-btn-border-color: var(--lw-info-fill); --vz-btn-hover-bg: var(--lw-info-fill); --vz-btn-hover-border-color: var(--lw-info-fill); --vz-btn-active-bg: var(--lw-info-fill); --vz-btn-active-border-color: var(--lw-info-fill); --vz-btn-disabled-color: var(--lw-info-text); --vz-btn-disabled-border-color: var(--lw-info-fill); }
.btn-outline-warning { --vz-btn-color: var(--lw-warning-text); --vz-btn-border-color: var(--lw-warning-fill); --vz-btn-hover-color: var(--lw-warning-on-fill); --vz-btn-hover-bg: var(--lw-warning-fill); --vz-btn-hover-border-color: var(--lw-warning-fill); --vz-btn-active-color: var(--lw-warning-on-fill); --vz-btn-active-bg: var(--lw-warning-fill); --vz-btn-active-border-color: var(--lw-warning-fill); --vz-btn-disabled-color: var(--lw-warning-text); --vz-btn-disabled-border-color: var(--lw-warning-fill); }
.btn-outline-danger { --vz-btn-color: var(--lw-danger-text); --vz-btn-border-color: var(--lw-danger-fill); --vz-btn-hover-bg: var(--lw-danger-fill); --vz-btn-hover-border-color: var(--lw-danger-fill); --vz-btn-active-bg: var(--lw-danger-fill); --vz-btn-active-border-color: var(--lw-danger-fill); --vz-btn-disabled-color: var(--lw-danger-text); --vz-btn-disabled-border-color: var(--lw-danger-fill); }
.nav-pills { --vz-nav-pills-link-active-bg: var(--lw-primary-fill); }
.accordion { --vz-accordion-active-color: var(--lw-primary-text-tint); }
.pagination { --vz-pagination-active-bg: var(--lw-primary-fill); --vz-pagination-active-border-color: var(--lw-primary-fill); }
.alert-primary { --vz-alert-color: var(--lw-primary-text-tint); --vz-alert-link-color: var(--lw-primary-text-tint); }
.alert-secondary { --vz-alert-color: var(--lw-secondary-text-tint); --vz-alert-link-color: var(--lw-secondary-text-tint); }
.alert-success { --vz-alert-color: var(--lw-success-text-tint); --vz-alert-link-color: var(--lw-success-text-tint); }
.alert-info { --vz-alert-color: var(--lw-info-text-tint); --vz-alert-link-color: var(--lw-info-text-tint); }
.alert-warning { --vz-alert-color: var(--lw-warning-text-tint); --vz-alert-link-color: var(--lw-warning-text-tint); }
.alert-danger { --vz-alert-color: var(--lw-danger-text-tint); --vz-alert-link-color: var(--lw-danger-text-tint); }
.progress,
.progress-stacked { --vz-progress-bar-bg: var(--lw-primary-fill); }
.list-group { --vz-list-group-active-bg: var(--lw-primary-fill); --vz-list-group-active-border-color: var(--lw-primary-fill); }
.list-group-item-primary { --vz-list-group-color: var(--lw-primary-text-tint); --vz-list-group-active-bg: var(--lw-primary-fill-hover); --vz-list-group-active-border-color: var(--lw-primary-fill-hover); }
.list-group-item-secondary { --vz-list-group-color: var(--lw-secondary-text-tint); --vz-list-group-active-bg: var(--lw-secondary-fill-hover); --vz-list-group-active-border-color: var(--lw-secondary-fill-hover); }
.list-group-item-success { --vz-list-group-color: var(--lw-success-text-tint); --vz-list-group-active-bg: var(--lw-success-fill-hover); --vz-list-group-active-border-color: var(--lw-success-fill-hover); }
.list-group-item-info { --vz-list-group-color: var(--lw-info-text-tint); --vz-list-group-active-bg: var(--lw-info-fill-hover); --vz-list-group-active-border-color: var(--lw-info-fill-hover); }
.list-group-item-warning { --vz-list-group-color: var(--lw-warning-text-tint); --vz-list-group-active-bg: var(--lw-warning-fill-hover); --vz-list-group-active-border-color: var(--lw-warning-fill-hover); }
.list-group-item-danger { --vz-list-group-color: var(--lw-danger-text-tint); --vz-list-group-active-bg: var(--lw-danger-fill-hover); --vz-list-group-active-border-color: var(--lw-danger-fill-hover); }
.text-bg-primary { background-color: rgba(var(--lw-primary-fill-rgb), var(--vz-bg-opacity,1)) !important; }
.text-bg-secondary { background-color: rgba(var(--lw-secondary-fill-rgb), var(--vz-bg-opacity,1)) !important; }
.text-bg-success { background-color: rgba(var(--lw-success-fill-rgb), var(--vz-bg-opacity,1)) !important; }
.text-bg-info { background-color: rgba(var(--lw-info-fill-rgb), var(--vz-bg-opacity,1)) !important; }
.text-bg-warning { color: var(--lw-warning-on-fill) !important; background-color: rgba(var(--lw-warning-fill-rgb), var(--vz-bg-opacity,1)) !important; }
.text-bg-danger { background-color: rgba(var(--lw-danger-fill-rgb), var(--vz-bg-opacity,1)) !important; }
.link-primary { color: rgba(var(--lw-primary-text-rgb), var(--vz-link-opacity,1)) !important; -webkit-text-decoration-color: rgba(var(--lw-primary-text-rgb), var(--vz-link-underline-opacity,1)) !important; text-decoration-color: rgba(var(--lw-primary-text-rgb), var(--vz-link-underline-opacity,1)) !important; }
.link-secondary { color: rgba(var(--lw-secondary-text-rgb), var(--vz-link-opacity,1)) !important; -webkit-text-decoration-color: rgba(var(--lw-secondary-text-rgb), var(--vz-link-underline-opacity,1)) !important; text-decoration-color: rgba(var(--lw-secondary-text-rgb), var(--vz-link-underline-opacity,1)) !important; }
.link-success { color: rgba(var(--lw-success-text-rgb), var(--vz-link-opacity,1)) !important; -webkit-text-decoration-color: rgba(var(--lw-success-text-rgb), var(--vz-link-underline-opacity,1)) !important; text-decoration-color: rgba(var(--lw-success-text-rgb), var(--vz-link-underline-opacity,1)) !important; }
.link-info { color: rgba(var(--lw-info-text-rgb), var(--vz-link-opacity,1)) !important; -webkit-text-decoration-color: rgba(var(--lw-info-text-rgb), var(--vz-link-underline-opacity,1)) !important; text-decoration-color: rgba(var(--lw-info-text-rgb), var(--vz-link-underline-opacity,1)) !important; }
.link-warning { color: rgba(var(--lw-warning-text-rgb), var(--vz-link-opacity,1)) !important; -webkit-text-decoration-color: rgba(var(--lw-warning-text-rgb), var(--vz-link-underline-opacity,1)) !important; text-decoration-color: rgba(var(--lw-warning-text-rgb), var(--vz-link-underline-opacity,1)) !important; }
.link-danger { color: rgba(var(--lw-danger-text-rgb), var(--vz-link-opacity,1)) !important; -webkit-text-decoration-color: rgba(var(--lw-danger-text-rgb), var(--vz-link-underline-opacity,1)) !important; text-decoration-color: rgba(var(--lw-danger-text-rgb), var(--vz-link-underline-opacity,1)) !important; }
.border-primary { border-color: var(--lw-primary-border) !important; }
.border-secondary { border-color: var(--lw-secondary-border) !important; }
.border-success { border-color: var(--lw-success-border) !important; }
.border-info { border-color: var(--lw-info-border) !important; }
.border-warning { border-color: var(--lw-warning-border) !important; }
.border-danger { border-color: var(--lw-danger-border) !important; }
.text-primary { color: rgba(var(--lw-primary-text-rgb), var(--vz-text-opacity)) !important; }
.text-secondary { color: rgba(var(--lw-secondary-text-rgb), var(--vz-text-opacity)) !important; }
.text-success { color: rgba(var(--lw-success-text-rgb), var(--vz-text-opacity)) !important; }
.text-info { color: rgba(var(--lw-info-text-rgb), var(--vz-text-opacity)) !important; }
.text-warning { color: rgba(var(--lw-warning-text-rgb), var(--vz-text-opacity)) !important; }
.text-danger { color: rgba(var(--lw-danger-text-rgb), var(--vz-text-opacity)) !important; }
.text-primary-emphasis { color: var(--lw-primary-text-tint) !important; }
.text-secondary-emphasis { color: var(--lw-secondary-text-tint) !important; }
.text-success-emphasis { color: var(--lw-success-text-tint) !important; }
.text-info-emphasis { color: var(--lw-info-text-tint) !important; }
.text-warning-emphasis { color: var(--lw-warning-text-tint) !important; }
.text-danger-emphasis { color: var(--lw-danger-text-tint) !important; }
.link-underline-primary { -webkit-text-decoration-color: rgba(var(--lw-primary-text-rgb), var(--vz-link-underline-opacity)) !important; text-decoration-color: rgba(var(--lw-primary-text-rgb), var(--vz-link-underline-opacity)) !important; }
.link-underline-secondary { -webkit-text-decoration-color: rgba(var(--lw-secondary-text-rgb), var(--vz-link-underline-opacity)) !important; text-decoration-color: rgba(var(--lw-secondary-text-rgb), var(--vz-link-underline-opacity)) !important; }
.link-underline-success { -webkit-text-decoration-color: rgba(var(--lw-success-text-rgb), var(--vz-link-underline-opacity)) !important; text-decoration-color: rgba(var(--lw-success-text-rgb), var(--vz-link-underline-opacity)) !important; }
.link-underline-info { -webkit-text-decoration-color: rgba(var(--lw-info-text-rgb), var(--vz-link-underline-opacity)) !important; text-decoration-color: rgba(var(--lw-info-text-rgb), var(--vz-link-underline-opacity)) !important; }
.link-underline-warning { -webkit-text-decoration-color: rgba(var(--lw-warning-text-rgb), var(--vz-link-underline-opacity)) !important; text-decoration-color: rgba(var(--lw-warning-text-rgb), var(--vz-link-underline-opacity)) !important; }
.link-underline-danger { -webkit-text-decoration-color: rgba(var(--lw-danger-text-rgb), var(--vz-link-underline-opacity)) !important; text-decoration-color: rgba(var(--lw-danger-text-rgb), var(--vz-link-underline-opacity)) !important; }
.bg-primary { background-color: rgba(var(--lw-primary-fill-rgb), var(--vz-bg-opacity)) !important; }
.bg-secondary { background-color: rgba(var(--lw-secondary-fill-rgb), var(--vz-bg-opacity)) !important; }
.bg-success { background-color: rgba(var(--lw-success-fill-rgb), var(--vz-bg-opacity)) !important; }
.bg-info { background-color: rgba(var(--lw-info-fill-rgb), var(--vz-bg-opacity)) !important; }
.bg-warning { background-color: rgba(var(--lw-warning-fill-rgb), var(--vz-bg-opacity)) !important; }
.bg-danger { background-color: rgba(var(--lw-danger-fill-rgb), var(--vz-bg-opacity)) !important; }

/* --- from app.css --- */
.bg-vertical-gradient { background: -webkit-gradient(linear, left top, right top, from(var(--lw-primary-fill)), to(var(--lw-success-fill))); background: linear-gradient(to right, var(--lw-primary-fill), var(--lw-success-fill)); }
.bg-vertical-gradient-2 { background: -webkit-gradient(linear, left top, right top, from(var(--lw-info-fill)), to(var(--lw-secondary-fill))); background: linear-gradient(to right, var(--lw-info-fill), var(--lw-secondary-fill)); }
.bg-vertical-gradient-3 { background: -webkit-gradient(linear, left top, right top, from(var(--lw-info-fill)), to(var(--lw-success-fill))); background: linear-gradient(to right, var(--lw-info-fill), var(--lw-success-fill)); }
.bg-vertical-gradient-4 { background: -webkit-gradient(linear, left top, right top, from(#1a1d21), to(var(--lw-primary-fill))); background: linear-gradient(to right, #1a1d21, var(--lw-primary-fill)); }
.avatar-title { background-color: var(--lw-primary-fill); }
.accordion-primary .accordion-item { border-color: var(--lw-primary-border); }
.accordion-primary .accordion-item .accordion-button:not(.collapsed) { color: var(--lw-primary-text-tint); }
.accordion-primary .accordion-item .accordion-button::after { color: var(--lw-primary-text); }
.accordion-fill-primary .accordion-item .accordion-button:not(.collapsed) { background-color: var(--lw-primary-fill) !important; }
.accordion-secondary .accordion-item { border-color: var(--lw-secondary-border); }
.accordion-secondary .accordion-item .accordion-button:not(.collapsed) { color: var(--lw-secondary-text-tint); }
.accordion-secondary .accordion-item .accordion-button::after { color: var(--lw-secondary-text); }
.accordion-fill-secondary .accordion-item .accordion-button:not(.collapsed) { background-color: var(--lw-secondary-fill) !important; }
.accordion-success .accordion-item { border-color: var(--lw-success-border); }
.accordion-success .accordion-item .accordion-button:not(.collapsed) { color: var(--lw-success-text-tint); }
.accordion-success .accordion-item .accordion-button::after { color: var(--lw-success-text); }
.accordion-fill-success .accordion-item .accordion-button:not(.collapsed) { background-color: var(--lw-success-fill) !important; }
.accordion-info .accordion-item { border-color: var(--lw-info-border); }
.accordion-info .accordion-item .accordion-button:not(.collapsed) { color: var(--lw-info-text-tint); }
.accordion-info .accordion-item .accordion-button::after { color: var(--lw-info-text); }
.accordion-fill-info .accordion-item .accordion-button:not(.collapsed) { background-color: var(--lw-info-fill) !important; }
.accordion-warning .accordion-item { border-color: var(--lw-warning-border); }
.accordion-warning .accordion-item .accordion-button:not(.collapsed) { color: var(--lw-warning-text-tint); }
.accordion-warning .accordion-item .accordion-button::after { color: var(--lw-warning-text); }
.accordion-fill-warning .accordion-item .accordion-button:not(.collapsed) { color: var(--lw-warning-on-fill); background-color: var(--lw-warning-fill) !important; }
.accordion-danger .accordion-item { border-color: var(--lw-danger-border); }
.accordion-danger .accordion-item .accordion-button:not(.collapsed) { color: var(--lw-danger-text-tint); }
.accordion-danger .accordion-item .accordion-button::after { color: var(--lw-danger-text); }
.accordion-fill-danger .accordion-item .accordion-button:not(.collapsed) { background-color: var(--lw-danger-fill) !important; }
.icon-dual-primary { color: var(--lw-primary-text); }
.icon-dual-secondary { color: var(--lw-secondary-text); }
.icon-dual-success { color: var(--lw-success-text); }
.icon-dual-info { color: var(--lw-info-text); }
.icon-dual-warning { color: var(--lw-warning-text); }
.icon-dual-danger { color: var(--lw-danger-text); }
.favourite-btn.active .ri-star-fill { color: var(--lw-warning-text); }
.card-wrapper .jp-card .jp-card-back,
.card-wrapper .jp-card .jp-card-front { background-color: var(--lw-success-fill); }
.toast-border-primary .toast-body { color: var(--lw-primary-text); border-bottom: 3px solid var(--lw-primary-border); }
.toast-border-secondary .toast-body { color: var(--lw-secondary-text); border-bottom: 3px solid var(--lw-secondary-border); }
.toast-border-success .toast-body { color: var(--lw-success-text); border-bottom: 3px solid var(--lw-success-border); }
.toast-border-info .toast-body { color: var(--lw-info-text); border-bottom: 3px solid var(--lw-info-border); }
.toast-border-warning .toast-body { color: var(--lw-warning-text); border-bottom: 3px solid var(--lw-warning-border); }
.toast-border-danger .toast-body { color: var(--lw-danger-text); border-bottom: 3px solid var(--lw-danger-border); }
.alert-label-icon.label-arrow .label-icon:after { border-left-color: var(--lw-primary-border); }
.alert-border-left.alert-primary { border-left-color: var(--lw-primary-border); }
.alert-top-border.alert-primary { border-top-color: var(--lw-primary-border); }
.rounded-label.alert-primary .label-icon { background-color: var(--lw-primary-fill); }
.label-arrow.alert-primary .label-icon { background-color: var(--lw-primary-fill); }
.label-arrow.alert-primary .label-icon:after { border-left-color: var(--lw-primary-border) !important; }
.alert.alert-primary .btn-close::after { color: var(--lw-primary-text); }
.alert-additional.alert-primary .alert-content { background-color: var(--lw-primary-fill); }
.alert-border-left.alert-secondary { border-left-color: var(--lw-secondary-border); }
.alert-top-border.alert-secondary { border-top-color: var(--lw-secondary-border); }
.rounded-label.alert-secondary .label-icon { background-color: var(--lw-secondary-fill); }
.label-arrow.alert-secondary .label-icon { background-color: var(--lw-secondary-fill); }
.label-arrow.alert-secondary .label-icon:after { border-left-color: var(--lw-secondary-border) !important; }
.alert.alert-secondary .btn-close::after { color: var(--lw-secondary-text); }
.alert-additional.alert-secondary .alert-content { background-color: var(--lw-secondary-fill); }
.alert-border-left.alert-success { border-left-color: var(--lw-success-border); }
.alert-top-border.alert-success { border-top-color: var(--lw-success-border); }
.rounded-label.alert-success .label-icon { background-color: var(--lw-success-fill); }
.label-arrow.alert-success .label-icon { background-color: var(--lw-success-fill); }
.label-arrow.alert-success .label-icon:after { border-left-color: var(--lw-success-border) !important; }
.alert.alert-success .btn-close::after { color: var(--lw-success-text); }
.alert-additional.alert-success .alert-content { background-color: var(--lw-success-fill); }
.alert-border-left.alert-info { border-left-color: var(--lw-info-border); }
.alert-top-border.alert-info { border-top-color: var(--lw-info-border); }
.rounded-label.alert-info .label-icon { background-color: var(--lw-info-fill); }
.label-arrow.alert-info .label-icon { background-color: var(--lw-info-fill); }
.label-arrow.alert-info .label-icon:after { border-left-color: var(--lw-info-border) !important; }
.alert.alert-info .btn-close::after { color: var(--lw-info-text); }
.alert-additional.alert-info .alert-content { background-color: var(--lw-info-fill); }
.alert-border-left.alert-warning { border-left-color: var(--lw-warning-border); }
.alert-top-border.alert-warning { border-top-color: var(--lw-warning-border); }
.rounded-label.alert-warning .label-icon { background-color: var(--lw-warning-fill); color: var(--lw-warning-on-fill); }
.label-arrow.alert-warning .label-icon { color: var(--lw-warning-on-fill); background-color: var(--lw-warning-fill); }
.label-arrow.alert-warning .label-icon:after { border-left-color: var(--lw-warning-border) !important; }
.alert.alert-warning .btn-close::after { color: var(--lw-warning-text); }
.alert-additional.alert-warning .alert-content { background-color: var(--lw-warning-fill); color: var(--lw-warning-on-fill); }
.alert-border-left.alert-danger { border-left-color: var(--lw-danger-border); }
.alert-top-border.alert-danger { border-top-color: var(--lw-danger-border); }
.rounded-label.alert-danger .label-icon { background-color: var(--lw-danger-fill); }
.label-arrow.alert-danger .label-icon { background-color: var(--lw-danger-fill); }
.label-arrow.alert-danger .label-icon:after { border-left-color: var(--lw-danger-border) !important; }
.alert.alert-danger .btn-close::after { color: var(--lw-danger-text); }
.alert-additional.alert-danger .alert-content { background-color: var(--lw-danger-fill); }
.badge-label.bg-primary:before { border-right-color: var(--lw-primary-border); }
.badge-label.bg-secondary:before { border-right-color: var(--lw-secondary-border); }
.badge-label.bg-success:before { border-right-color: var(--lw-success-border); }
.badge-label.bg-info:before { border-right-color: var(--lw-info-border); }
.badge-label.bg-warning:before { border-right-color: var(--lw-warning-border); }
.badge-label.bg-danger:before { border-right-color: var(--lw-danger-border); }
.badge-label:before { border-right-color: var(--lw-primary-border); }
.badge-gradient-primary { background: linear-gradient(135deg, var(--lw-primary-fill) 0%, var(--lw-success-fill) 100%); }
.badge-gradient-secondary { background: linear-gradient(135deg, var(--lw-secondary-fill) 0%, var(--lw-info-fill) 100%); }
.badge-gradient-success { background: linear-gradient(135deg, var(--lw-success-fill) 0%, var(--lw-warning-fill) 100%); }
.badge-gradient-danger { background: linear-gradient(135deg, var(--lw-danger-fill) 0%, var(--lw-secondary-fill) 100%); }
.badge-gradient-warning { background: linear-gradient(135deg, var(--lw-warning-fill) 0%, #eb990a 100%); }
.badge-gradient-info { background: linear-gradient(135deg, var(--lw-info-fill) 0%, var(--lw-success-fill) 100%); }
.badge-gradient-dark { background: linear-gradient(135deg, #212529 0%, var(--lw-primary-fill) 100%); }
.btn-primary { --vz-btn-bg: var(--lw-primary-fill); --vz-btn-border-color: var(--lw-primary-fill); --vz-btn-hover-bg: var(--lw-primary-fill-hover); --vz-btn-hover-border-color: var(--lw-primary-fill-hover); --vz-btn-active-bg: var(--lw-primary-fill-hover); --vz-btn-active-border-color: var(--lw-primary-fill-hover); }
.btn-outline-primary { --vz-btn-color: var(--lw-primary-text); --vz-btn-border-color: var(--lw-primary-fill); --vz-btn-hover-bg: var(--lw-primary-fill); --vz-btn-hover-border-color: var(--lw-primary-fill); --vz-btn-active-bg: var(--lw-primary-fill); --vz-btn-active-border-color: var(--lw-primary-fill); }
.btn-soft-primary { --vz-btn-color: var(--lw-primary-text-tint); --vz-btn-hover-bg: var(--lw-primary-fill); --vz-btn-active-bg: var(--lw-primary-fill); }
.btn-ghost-primary { --vz-btn-color: var(--lw-primary-text-tint); --vz-btn-hover-color: var(--lw-primary-text-tint); --vz-btn-active-color: var(--lw-primary-text-tint); }
.btn-secondary { --vz-btn-bg: var(--lw-secondary-fill); --vz-btn-border-color: var(--lw-secondary-fill); --vz-btn-hover-bg: var(--lw-secondary-fill-hover); --vz-btn-hover-border-color: var(--lw-secondary-fill-hover); --vz-btn-active-bg: var(--lw-secondary-fill-hover); --vz-btn-active-border-color: var(--lw-secondary-fill-hover); }
.btn-outline-secondary { --vz-btn-color: var(--lw-secondary-text); --vz-btn-border-color: var(--lw-secondary-fill); --vz-btn-hover-bg: var(--lw-secondary-fill); --vz-btn-hover-border-color: var(--lw-secondary-fill); --vz-btn-active-bg: var(--lw-secondary-fill); --vz-btn-active-border-color: var(--lw-secondary-fill); }
.btn-soft-secondary { --vz-btn-color: var(--lw-secondary-text-tint); --vz-btn-hover-bg: var(--lw-secondary-fill); --vz-btn-active-bg: var(--lw-secondary-fill); }
.btn-ghost-secondary { --vz-btn-color: var(--lw-secondary-text-tint); --vz-btn-hover-color: var(--lw-secondary-text-tint); --vz-btn-active-color: var(--lw-secondary-text-tint); }
.btn-success { --vz-btn-bg: var(--lw-success-fill); --vz-btn-border-color: var(--lw-success-fill); --vz-btn-hover-bg: var(--lw-success-fill-hover); --vz-btn-hover-border-color: var(--lw-success-fill-hover); --vz-btn-active-bg: var(--lw-success-fill-hover); --vz-btn-active-border-color: var(--lw-success-fill-hover); }
.btn-outline-success { --vz-btn-color: var(--lw-success-text); --vz-btn-border-color: var(--lw-success-fill); --vz-btn-hover-bg: var(--lw-success-fill); --vz-btn-hover-border-color: var(--lw-success-fill); --vz-btn-active-bg: var(--lw-success-fill); --vz-btn-active-border-color: var(--lw-success-fill); }
.btn-soft-success { --vz-btn-color: var(--lw-success-text-tint); --vz-btn-hover-bg: var(--lw-success-fill); --vz-btn-active-bg: var(--lw-success-fill); }
.btn-ghost-success { --vz-btn-color: var(--lw-success-text-tint); --vz-btn-hover-color: var(--lw-success-text-tint); --vz-btn-active-color: var(--lw-success-text-tint); }
.btn-info { --vz-btn-bg: var(--lw-info-fill); --vz-btn-border-color: var(--lw-info-fill); --vz-btn-hover-bg: var(--lw-info-fill-hover); --vz-btn-hover-border-color: var(--lw-info-fill-hover); --vz-btn-active-bg: var(--lw-info-fill-hover); --vz-btn-active-border-color: var(--lw-info-fill-hover); }
.btn-outline-info { --vz-btn-color: var(--lw-info-text); --vz-btn-border-color: var(--lw-info-fill); --vz-btn-hover-bg: var(--lw-info-fill); --vz-btn-hover-border-color: var(--lw-info-fill); --vz-btn-active-bg: var(--lw-info-fill); --vz-btn-active-border-color: var(--lw-info-fill); }
.btn-soft-info { --vz-btn-color: var(--lw-info-text-tint); --vz-btn-hover-bg: var(--lw-info-fill); --vz-btn-active-bg: var(--lw-info-fill); }
.btn-ghost-info { --vz-btn-color: var(--lw-info-text-tint); --vz-btn-hover-color: var(--lw-info-text-tint); --vz-btn-active-color: var(--lw-info-text-tint); }
.btn-warning { --vz-btn-bg: var(--lw-warning-fill); --vz-btn-border-color: var(--lw-warning-fill); --vz-btn-hover-bg: var(--lw-warning-fill-hover); --vz-btn-hover-border-color: var(--lw-warning-fill-hover); --vz-btn-active-bg: var(--lw-warning-fill-hover); --vz-btn-active-border-color: var(--lw-warning-fill-hover); }
.btn-outline-warning { --vz-btn-color: var(--lw-warning-text); --vz-btn-border-color: var(--lw-warning-fill); --vz-btn-hover-bg: var(--lw-warning-fill); --vz-btn-hover-border-color: var(--lw-warning-fill); --vz-btn-active-bg: var(--lw-warning-fill); --vz-btn-active-border-color: var(--lw-warning-fill); }
.btn-soft-warning { --vz-btn-color: var(--lw-warning-text-tint); --vz-btn-hover-bg: var(--lw-warning-fill); --vz-btn-active-bg: var(--lw-warning-fill); }
.btn-ghost-warning { --vz-btn-color: var(--lw-warning-text-tint); --vz-btn-hover-color: var(--lw-warning-text-tint); --vz-btn-active-color: var(--lw-warning-text-tint); }
.btn-danger { --vz-btn-bg: var(--lw-danger-fill); --vz-btn-border-color: var(--lw-danger-fill); --vz-btn-hover-bg: var(--lw-danger-fill-hover); --vz-btn-hover-border-color: var(--lw-danger-fill-hover); --vz-btn-active-bg: var(--lw-danger-fill-hover); --vz-btn-active-border-color: var(--lw-danger-fill-hover); }
.btn-outline-danger { --vz-btn-color: var(--lw-danger-text); --vz-btn-border-color: var(--lw-danger-fill); --vz-btn-hover-bg: var(--lw-danger-fill); --vz-btn-hover-border-color: var(--lw-danger-fill); --vz-btn-active-bg: var(--lw-danger-fill); --vz-btn-active-border-color: var(--lw-danger-fill); }
.btn-soft-danger { --vz-btn-color: var(--lw-danger-text-tint); --vz-btn-hover-bg: var(--lw-danger-fill); --vz-btn-active-bg: var(--lw-danger-fill); }
.btn-ghost-danger { --vz-btn-color: var(--lw-danger-text-tint); --vz-btn-hover-color: var(--lw-danger-text-tint); --vz-btn-active-color: var(--lw-danger-text-tint); }
.btn-primary.btn-animation { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill) !important; }
.btn-primary.btn-animation:is(:hover, :focus, :active, :focus-visible) { color: var(--lw-primary-text-tint); }
.btn-secondary.btn-animation { background-color: var(--lw-secondary-fill); border-color: var(--lw-secondary-fill) !important; }
.btn-secondary.btn-animation:is(:hover, :focus, :active, :focus-visible) { color: var(--lw-secondary-text-tint); }
.btn-success.btn-animation { background-color: var(--lw-success-fill); border-color: var(--lw-success-fill) !important; }
.btn-success.btn-animation:is(:hover, :focus, :active, :focus-visible) { color: var(--lw-success-text-tint); }
.btn-info.btn-animation { background-color: var(--lw-info-fill); border-color: var(--lw-info-fill) !important; }
.btn-info.btn-animation:is(:hover, :focus, :active, :focus-visible) { color: var(--lw-info-text-tint); }
.btn-warning.btn-animation { background-color: var(--lw-warning-fill); border-color: var(--lw-warning-fill) !important; }
.btn-warning.btn-animation:is(:hover, :focus, :active, :focus-visible) { color: var(--lw-warning-text-tint); }
.btn-danger.btn-animation { background-color: var(--lw-danger-fill); border-color: var(--lw-danger-fill) !important; }
.btn-danger.btn-animation:is(:hover, :focus, :active, :focus-visible) { color: var(--lw-danger-text-tint); }
.btn-group.radio .btn-check:active + .btn-light,
.btn-group.radio .btn-check:checked + .btn-light,
.btn-group.radio .btn-light.active,
.btn-group.radio .btn-light.dropdown-toggle.show,
.btn-group.radio .btn-light:active { color: var(--lw-info-text-tint); }
.card-primary { background-color: var(--lw-primary-fill); }
.card-secondary { background-color: var(--lw-secondary-fill); }
.card-success { background-color: var(--lw-success-fill); }
.card-info { background-color: var(--lw-info-fill); }
.card-warning { background-color: var(--lw-warning-fill); color: var(--lw-warning-on-fill); }
.card-danger { background-color: var(--lw-danger-fill); }
.card-border-primary { border-color: var(--lw-primary-border) !important; }
.card-border-primary .card-header,
.card-border-primary .card-footer { border-color: var(--lw-primary-border); }
.card-border-secondary { border-color: var(--lw-secondary-border) !important; }
.card-border-secondary .card-header,
.card-border-secondary .card-footer { border-color: var(--lw-secondary-border); }
.card-border-success { border-color: var(--lw-success-border) !important; }
.card-border-success .card-header,
.card-border-success .card-footer { border-color: var(--lw-success-border); }
.card-border-info { border-color: var(--lw-info-border) !important; }
.card-border-info .card-header,
.card-border-info .card-footer { border-color: var(--lw-info-border); }
.card-border-warning { border-color: var(--lw-warning-border) !important; }
.card-border-warning .card-header,
.card-border-warning .card-footer { border-color: var(--lw-warning-border); }
.card-border-danger { border-color: var(--lw-danger-border) !important; }
.card-border-danger .card-header,
.card-border-danger .card-footer { border-color: var(--lw-danger-border); }
.dropdownmenu-primary .dropdown-item:is(:focus, :hover, .active) { color: var(--lw-primary-text-tint); }
.dropdownmenu-secondary .dropdown-item:is(:focus, :hover, .active) { color: var(--lw-secondary-text-tint); }
.dropdownmenu-success .dropdown-item:is(:focus, :hover, .active) { color: var(--lw-success-text-tint); }
.dropdownmenu-info .dropdown-item:is(:focus, :hover, .active) { color: var(--lw-info-text-tint); }
.dropdownmenu-warning .dropdown-item:is(:focus, :hover, .active) { color: var(--lw-warning-text-tint); }
.dropdownmenu-danger .dropdown-item:is(:focus, :hover, .active) { color: var(--lw-danger-text-tint); }
.nav-tabs-custom .nav-item .nav-link::after { background: var(--lw-primary-fill); }
.nav-tabs-custom .nav-item .nav-link.active { color: var(--lw-primary-text); }
.arrow-navtabs .nav-item .nav-link.active:before { border-top-color: var(--lw-primary-border); }
@media (min-width: 992px) { .custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--lw-primary-border); } }
.animation-nav li a::before { background-color: var(--lw-primary-fill); }
.nav-border-top .nav-link.active { border-top-color: var(--lw-primary-border); }
.nav-border-top-primary .nav-link.active { color: var(--lw-primary-text); border-top-color: var(--lw-primary-border); }
.nav-border-top-secondary .nav-link.active { color: var(--lw-secondary-text); border-top-color: var(--lw-secondary-border); }
.nav-border-top-success .nav-link.active { color: var(--lw-success-text); border-top-color: var(--lw-success-border); }
.nav-border-top-info .nav-link.active { color: var(--lw-info-text); border-top-color: var(--lw-info-border); }
.nav-border-top-warning .nav-link.active { color: var(--lw-warning-text); border-top-color: var(--lw-warning-border); }
.nav-border-top-danger .nav-link.active { color: var(--lw-danger-text); border-top-color: var(--lw-danger-border); }
.nav-custom { background-color: var(--lw-primary-fill); }
.nav-custom.nav-custom-light .nav-item .nav-link.active { background-color: var(--lw-primary-fill); }
.nav-custom-primary { background-color: var(--lw-primary-fill); }
.nav-custom-secondary { background-color: var(--lw-secondary-fill); }
.nav-custom-success { background-color: var(--lw-success-fill); }
.nav-custom-info { background-color: var(--lw-info-fill); }
.nav-custom-warning { background-color: var(--lw-warning-fill); }
.nav-custom-danger { background-color: var(--lw-danger-fill); }
.nav-primary .nav-link.active { background-color: var(--lw-primary-fill); }
.nav-primary.nav-tabs .nav-link.active { color: var(--lw-primary-text); }
.nav-primary.nav-tabs-custom .nav-link.active { color: var(--lw-primary-text); }
.nav-primary.nav-tabs-custom .nav-link.active::after { background-color: var(--lw-primary-fill); }
.nav-primary.arrow-navtabs .nav-link.active::before { border-top-color: var(--lw-primary-border); }
.nav-primary.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--lw-primary-border); }
.nav-secondary .nav-link.active { background-color: var(--lw-secondary-fill); }
.nav-secondary.nav-tabs .nav-link.active { color: var(--lw-secondary-text); }
.nav-secondary.nav-tabs-custom .nav-link.active { color: var(--lw-secondary-text); }
.nav-secondary.nav-tabs-custom .nav-link.active::after { background-color: var(--lw-secondary-fill); }
.nav-secondary.arrow-navtabs .nav-link.active::before { border-top-color: var(--lw-secondary-border); }
.nav-secondary.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--lw-secondary-border); }
.nav-success .nav-link.active { background-color: var(--lw-success-fill); }
.nav-success.nav-tabs .nav-link.active { color: var(--lw-success-text); }
.nav-success.nav-tabs-custom .nav-link.active { color: var(--lw-success-text); }
.nav-success.nav-tabs-custom .nav-link.active::after { background-color: var(--lw-success-fill); }
.nav-success.arrow-navtabs .nav-link.active::before { border-top-color: var(--lw-success-border); }
.nav-success.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--lw-success-border); }
.nav-info .nav-link.active { background-color: var(--lw-info-fill); }
.nav-info.nav-tabs .nav-link.active { color: var(--lw-info-text); }
.nav-info.nav-tabs-custom .nav-link.active { color: var(--lw-info-text); }
.nav-info.nav-tabs-custom .nav-link.active::after { background-color: var(--lw-info-fill); }
.nav-info.arrow-navtabs .nav-link.active::before { border-top-color: var(--lw-info-border); }
.nav-info.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--lw-info-border); }
.nav-warning .nav-link.active { color: var(--lw-warning-on-fill); background-color: var(--lw-warning-fill); }
.nav-warning.nav-tabs .nav-link.active { color: var(--lw-warning-text); }
.nav-warning.nav-tabs-custom .nav-link.active { color: var(--lw-warning-text); }
.nav-warning.nav-tabs-custom .nav-link.active::after { background-color: var(--lw-warning-fill); }
.nav-warning.arrow-navtabs .nav-link.active::before { border-top-color: var(--lw-warning-border); }
.nav-warning.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--lw-warning-border); }
.nav-danger .nav-link.active { background-color: var(--lw-danger-fill); }
.nav-danger.nav-tabs .nav-link.active { color: var(--lw-danger-text); }
.nav-danger.nav-tabs-custom .nav-link.active { color: var(--lw-danger-text); }
.nav-danger.nav-tabs-custom .nav-link.active::after { background-color: var(--lw-danger-fill); }
.nav-danger.arrow-navtabs .nav-link.active::before { border-top-color: var(--lw-danger-border); }
.nav-danger.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--lw-danger-border); }
.progress-nav .nav .nav-link.active,
.progress-nav .nav .nav-link.done { background-color: var(--lw-primary-fill); }
.step-arrow-nav .nav .nav-link.done { color: var(--lw-primary-text-tint); }
.step-arrow-nav .nav .nav-link.active { color: var(--lw-primary-text-tint); }
.vertical-navs-step .nav .nav-link .step-icon { color: var(--lw-danger-text); }
.vertical-navs-step .nav .nav-link.active .step-icon,
.vertical-navs-step .nav .nav-link.done .step-icon { color: var(--lw-success-text); }
.vertical-navs-step .nav .nav-link.active { border-color: var(--lw-primary-border); }
.vertical-navs-step .nav .nav-link.done { border-color: var(--lw-success-border); }
.nav-custom-outline.nav .nav-link.active { border-color: var(--lw-primary-border); color: var(--lw-primary-text); }
.nav-primary.nav-custom-outline .nav-link.active { color: var(--lw-primary-text); border-color: var(--lw-primary-border); }
.nav-secondary.nav-custom-outline .nav-link.active { color: var(--lw-secondary-text); border-color: var(--lw-secondary-border); }
.nav-success.nav-custom-outline .nav-link.active { color: var(--lw-success-text); border-color: var(--lw-success-border); }
.nav-info.nav-custom-outline .nav-link.active { color: var(--lw-info-text); border-color: var(--lw-info-border); }
.nav-warning.nav-custom-outline .nav-link.active { color: var(--lw-warning-text); border-color: var(--lw-warning-border); }
.nav-danger.nav-custom-outline .nav-link.active { color: var(--lw-danger-text); border-color: var(--lw-danger-border); }
.nav-customs.nav .nav-link.active,
.nav-customs.nav .nav-link.active:before,
.nav-customs.nav .nav-link.active:after { background-color: var(--lw-primary-fill); }
.border-primary.table > thead { border-color: var(--lw-primary-border) !important; }
.table-primary.table > thead { border-bottom-color: var(--lw-primary-border) !important; }
.border-secondary.table > thead { border-color: var(--lw-secondary-border) !important; }
.border-success.table > thead { border-color: var(--lw-success-border) !important; }
.border-info.table > thead { border-color: var(--lw-info-border) !important; }
.table-info.table > thead { border-bottom-color: var(--lw-info-border) !important; }
.border-warning.table > thead { border-color: var(--lw-warning-border) !important; }
.table-warning.table > thead { border-bottom-color: var(--lw-warning-border) !important; }
.border-danger.table > thead { border-color: var(--lw-danger-border) !important; }
.table-danger.table > thead { border-bottom-color: var(--lw-danger-border) !important; }
.progress-label .progress-bar .label { background-color: var(--lw-primary-fill); }
.progress-label .progress-bar .label:after { border-top-color: var(--lw-primary-border); }
.progress-primary .progress-bar { background-color: var(--lw-primary-fill); }
.progress-primary .progress-bar::after { border-left-color: var(--lw-primary-border); }
.progress-primary .progress-bar:nth-child(2) { color: var(--lw-primary-text-tint) !important; }
.progress-secondary .progress-bar { background-color: var(--lw-secondary-fill); }
.progress-secondary .progress-bar::after { border-left-color: var(--lw-secondary-border); }
.progress-secondary .progress-bar:nth-child(2) { color: var(--lw-secondary-text-tint) !important; }
.progress-success .progress-bar { background-color: var(--lw-success-fill); }
.progress-success .progress-bar::after { border-left-color: var(--lw-success-border); }
.progress-success .progress-bar:nth-child(2) { color: var(--lw-success-text-tint) !important; }
.progress-info .progress-bar { background-color: var(--lw-info-fill); }
.progress-info .progress-bar::after { border-left-color: var(--lw-info-border); }
.progress-info .progress-bar:nth-child(2) { color: var(--lw-info-text-tint) !important; }
.progress-warning .progress-bar { background-color: var(--lw-warning-fill); }
.progress-warning .progress-bar::after { border-left-color: var(--lw-warning-border); }
.progress-warning .progress-bar:nth-child(2) { color: var(--lw-warning-text-tint) !important; }
.progress-danger .progress-bar { background-color: var(--lw-danger-fill); }
.progress-danger .progress-bar::after { border-left-color: var(--lw-danger-border); }
.progress-danger .progress-bar:nth-child(2) { color: var(--lw-danger-text-tint) !important; }
.custom-blockquote.blockquote.blockquote-primary { border-color: var(--lw-primary-border); }
.custom-blockquote.blockquote.blockquote-primary .blockquote-footer { color: var(--lw-primary-text-tint); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-primary { border-color: var(--lw-primary-border); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-primary .blockquote-footer { color: var(--lw-primary-text-tint); }
.custom-blockquote.blockquote.blockquote-secondary { border-color: var(--lw-secondary-border); }
.custom-blockquote.blockquote.blockquote-secondary .blockquote-footer { color: var(--lw-secondary-text-tint); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-secondary { border-color: var(--lw-secondary-border); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-secondary .blockquote-footer { color: var(--lw-secondary-text-tint); }
.custom-blockquote.blockquote.blockquote-success { border-color: var(--lw-success-border); }
.custom-blockquote.blockquote.blockquote-success .blockquote-footer { color: var(--lw-success-text-tint); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-success { border-color: var(--lw-success-border); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-success .blockquote-footer { color: var(--lw-success-text-tint); }
.custom-blockquote.blockquote.blockquote-info { border-color: var(--lw-info-border); }
.custom-blockquote.blockquote.blockquote-info .blockquote-footer { color: var(--lw-info-text-tint); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-info { border-color: var(--lw-info-border); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-info .blockquote-footer { color: var(--lw-info-text-tint); }
.custom-blockquote.blockquote.blockquote-warning { border-color: var(--lw-warning-border); }
.custom-blockquote.blockquote.blockquote-warning .blockquote-footer { color: var(--lw-warning-text-tint); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-warning { border-color: var(--lw-warning-border); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-warning .blockquote-footer { color: var(--lw-warning-text-tint); }
.custom-blockquote.blockquote.blockquote-danger { border-color: var(--lw-danger-border); }
.custom-blockquote.blockquote.blockquote-danger .blockquote-footer { color: var(--lw-danger-text-tint); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-danger { border-color: var(--lw-danger-border); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-danger .blockquote-footer { color: var(--lw-danger-text-tint); }
.form-check-primary .form-check-input:checked { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.form-radio-primary .form-check-input:checked { border-color: var(--lw-primary-fill); background-color: var(--lw-primary-fill); }
.form-radio-primary .form-check-input:checked:after { background-color: var(--lw-primary-fill); }
.form-check-secondary .form-check-input:checked { background-color: var(--lw-secondary-fill); border-color: var(--lw-secondary-fill); }
.form-radio-secondary .form-check-input:checked { border-color: var(--lw-secondary-fill); background-color: var(--lw-secondary-fill); }
.form-radio-secondary .form-check-input:checked:after { background-color: var(--lw-secondary-fill); }
.form-check-success .form-check-input:checked { background-color: var(--lw-success-fill); border-color: var(--lw-success-fill); }
.form-radio-success .form-check-input:checked { border-color: var(--lw-success-fill); background-color: var(--lw-success-fill); }
.form-radio-success .form-check-input:checked:after { background-color: var(--lw-success-fill); }
.form-check-info .form-check-input:checked { background-color: var(--lw-info-fill); border-color: var(--lw-info-fill); }
.form-radio-info .form-check-input:checked { border-color: var(--lw-info-fill); background-color: var(--lw-info-fill); }
.form-radio-info .form-check-input:checked:after { background-color: var(--lw-info-fill); }
.form-check-warning .form-check-input:checked { background-color: var(--lw-warning-fill); border-color: var(--lw-warning-fill); }
.form-radio-warning .form-check-input:checked { border-color: var(--lw-warning-fill); background-color: var(--lw-warning-fill); }
.form-radio-warning .form-check-input:checked:after { background-color: var(--lw-warning-fill); }
.form-check-danger .form-check-input:checked { background-color: var(--lw-danger-fill); border-color: var(--lw-danger-fill); }
.form-radio-danger .form-check-input:checked { border-color: var(--lw-danger-fill); background-color: var(--lw-danger-fill); }
.form-radio-danger .form-check-input:checked:after { background-color: var(--lw-danger-fill); }
.form-check-outline.form-check-primary .form-check-input:checked[type=checkbox] { color: var(--lw-primary-text); border-color: var(--lw-primary-border); }
.form-check-outline.form-check-secondary .form-check-input:checked[type=checkbox] { color: var(--lw-secondary-text); border-color: var(--lw-secondary-border); }
.form-check-outline.form-check-success .form-check-input:checked[type=checkbox] { color: var(--lw-success-text); border-color: var(--lw-success-border); }
.form-check-outline.form-check-info .form-check-input:checked[type=checkbox] { color: var(--lw-info-text); border-color: var(--lw-info-border); }
.form-check-outline.form-check-warning .form-check-input:checked[type=checkbox] { color: var(--lw-warning-text); border-color: var(--lw-warning-border); }
.form-check-outline.form-check-danger .form-check-input:checked[type=checkbox] { color: var(--lw-danger-text); border-color: var(--lw-danger-border); }
.form-radio-outline.form-radio-primary .form-check-input:checked[type=radio] { color: var(--lw-primary-text); border-color: var(--lw-primary-border); }
.form-radio-outline.form-radio-secondary .form-check-input:checked[type=radio] { color: var(--lw-secondary-text); border-color: var(--lw-secondary-border); }
.form-radio-outline.form-radio-success .form-check-input:checked[type=radio] { color: var(--lw-success-text); border-color: var(--lw-success-border); }
.form-radio-outline.form-radio-info .form-check-input:checked[type=radio] { color: var(--lw-info-text); border-color: var(--lw-info-border); }
.form-radio-outline.form-radio-warning .form-check-input:checked[type=radio] { color: var(--lw-warning-text); border-color: var(--lw-warning-border); }
.form-radio-outline.form-radio-danger .form-check-input:checked[type=radio] { color: var(--lw-danger-text); border-color: var(--lw-danger-border); }
.form-switch-primary .form-check-input:checked { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.form-switch-custom.form-switch-primary .form-check-input:checked::before { color: var(--lw-primary-text); }
.form-switch-secondary .form-check-input:checked { background-color: var(--lw-secondary-fill); border-color: var(--lw-secondary-fill); }
.form-switch-custom.form-switch-secondary .form-check-input:checked::before { color: var(--lw-secondary-text); }
.form-switch-success .form-check-input:checked { background-color: var(--lw-success-fill); border-color: var(--lw-success-fill); }
.form-switch-custom.form-switch-success .form-check-input:checked::before { color: var(--lw-success-text); }
.form-switch-info .form-check-input:checked { background-color: var(--lw-info-fill); border-color: var(--lw-info-fill); }
.form-switch-custom.form-switch-info .form-check-input:checked::before { color: var(--lw-info-text); }
.form-switch-warning .form-check-input:checked { background-color: var(--lw-warning-fill); border-color: var(--lw-warning-fill); }
.form-switch-custom.form-switch-warning .form-check-input:checked::before { color: var(--lw-warning-text); }
.form-switch-danger .form-check-input:checked { background-color: var(--lw-danger-fill); border-color: var(--lw-danger-fill); }
.form-switch-custom.form-switch-danger .form-check-input:checked::before { color: var(--lw-danger-text); }
.card-radio .form-check-input:checked + .form-check-label { border-color: var(--lw-primary-border) !important; }
.card-radio .form-check-input:checked + .form-check-label:before { color: var(--lw-primary-text); }
.list-group-fill-primary.list-group-item { background-color: var(--lw-primary-fill) !important; border-color: var(--lw-primary-fill); }
.list-group-fill-secondary.list-group-item { background-color: var(--lw-secondary-fill) !important; border-color: var(--lw-secondary-fill); }
.list-group-fill-success.list-group-item { background-color: var(--lw-success-fill) !important; border-color: var(--lw-success-fill); }
.list-group-fill-info.list-group-item { background-color: var(--lw-info-fill) !important; border-color: var(--lw-info-fill); }
.list-group-fill-warning.list-group-item { color: var(--lw-warning-on-fill); background-color: var(--lw-warning-fill) !important; border-color: var(--lw-warning-fill); }
.list-group-fill-danger.list-group-item { background-color: var(--lw-danger-fill) !important; border-color: var(--lw-danger-fill); }
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted { color: var(--lw-danger-text); }
.swal2-icon.swal2-question { border-color: var(--lw-info-border); color: var(--lw-info-text); }
.swal2-icon.swal2-success [class^=swal2-success-line] { background-color: var(--lw-success-fill); }
.swal2-icon.swal2-warning { border-color: var(--lw-warning-border); color: var(--lw-warning-text); }
.swal2-loader { border-color: var(--lw-primary-border) transparent var(--lw-primary-border) transparent; }
.swal2-progress-steps .swal2-progress-step { background: var(--lw-primary-fill); }
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step { background: var(--lw-primary-fill); }
.swal2-progress-steps .swal2-progress-step-line { background: var(--lw-primary-fill); }
.swal2-actions.swal2-loading .swal2-styled.swal2-confirm { border-left-color: var(--lw-primary-border) !important; border-right-color: var(--lw-primary-border) !important; }
.swal2-close:hover { color: var(--lw-primary-text); }
.c-1-color { background: var(--lw-danger-fill); }
.c-2-color { background: var(--lw-warning-fill); }
.c-3-color { background: var(--lw-success-fill); }
.c-5-color { background: var(--lw-secondary-fill); }
.shepherd-arrow,
.shepherd-arrow:before { color: var(--lw-primary-text); }
.pagination-custom .swiper-pagination-bullet.swiper-pagination-bullet-active { color: var(--lw-secondary-text); }
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background-color: var(--lw-success-fill); }
.swiper-pagination-dark .swiper-pagination-bullet { background-color: var(--lw-secondary-fill); }
.swiper-pagination-dark .dynamic-pagination .swiper-pagination-bullet { background-color: var(--lw-secondary-fill); }
.input-step.step-primary button { background-color: var(--lw-primary-fill); }
.input-step.step-secondary button { background-color: var(--lw-secondary-fill); }
.input-step.step-success button { background-color: var(--lw-success-fill); }
.input-step.step-info button { background-color: var(--lw-info-fill); }
.input-step.step-warning button { background-color: var(--lw-warning-fill); color: var(--lw-warning-on-fill); }
.input-step.step-danger button { background-color: var(--lw-danger-fill); }
.gridjs-pagination .gridjs-pages button.gridjs-currentPage { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.gridjs-tr-selected .gridjs-td .gridjs-checkbox[type=checkbox] { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.listjs-pagination li.active .page { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.pagination-next,
.pagination-prev { color: var(--lw-primary-text); }
.pagination-next:hover,
.pagination-prev:hover { color: var(--lw-primary-text); }
.autoComplete_wrapper > ul > li mark { color: var(--lw-danger-text); }
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before { background-color: var(--lw-primary-fill); }
table.dataTable.dtr-inline.collapsed > tbody > tr.parent.parent > th.dtr-control::before { background-color: var(--lw-danger-fill); }
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control::before { background-color: var(--lw-danger-fill); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--lw-primary-fill); }
.select2-container--default .select2-results__option[aria-selected=true]:hover { background-color: var(--lw-primary-fill); }
.select2-container .select2-selection--multiple .select2-selection__choice { background-color: var(--lw-primary-fill); }
.select2-container .select2-selection--multiple .select2-selection__choice__remove { border-color: var(--lw-primary-border); }
.select2-container .select2-selection--multiple .select2-selection__choice__remove:hover { background-color: var(--lw-primary-fill); }
.toastify { background: var(--lw-success-fill); }
.choices__list--multiple .choices__item { background-color: var(--lw-primary-fill); border: 1px solid var(--lw-primary-fill); }
.choices__list--multiple .choices__item.is-highlighted { background-color: var(--lw-primary-fill); border: 1px solid var(--lw-primary-fill); }
.is-disabled .choices__list--multiple .choices__item { background-color: var(--lw-secondary-fill); border: 1px solid var(--lw-secondary-fill); }
.flatpickr-calendar.arrowTop::before { border-bottom-color: var(--lw-primary-border); }
.flatpickr-calendar.arrowTop::after { border-bottom-color: var(--lw-primary-border); }
.flatpickr-calendar.arrowBottom::before { border-top-color: var(--lw-primary-border); }
.flatpickr-calendar.arrowBottom::after { border-top-color: var(--lw-primary-border); }
.flatpickr-months { background-color: var(--lw-primary-fill); }
.flatpickr-weekdays { background-color: var(--lw-primary-fill); }
span.flatpickr-weekday { background: var(--lw-primary-fill); }
.flatpickr-day.today { border-color: var(--lw-primary-border); }
.flatpickr-day.today:hover,
.flatpickr-day.today:focus { border-color: var(--lw-primary-border); }
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay { background: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n/**/+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n/**/+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n/**/+1)) { -webkit-box-shadow: -10px 0 0 var(--lw-primary-fill); box-shadow: -10px 0 0 var(--lw-primary-fill); }
.flatpickr-day.week.selected { -webkit-box-shadow: -5px 0 0 var(--lw-primary-fill), 5px 0 0 var(--lw-primary-fill); box-shadow: -5px 0 0 var(--lw-primary-fill), 5px 0 0 var(--lw-primary-fill); }
#password-contain p.valid { color: var(--lw-success-text); }
#password-contain p.invalid { color: var(--lw-danger-text); }
.upcoming-scheduled .flatpickr-calendar .flatpickr-day.today { background-color: var(--lw-success-fill); border-color: var(--lw-success-fill) !important; }
.upcoming-scheduled .flatpickr-calendar .flatpickr-day.today:hover { color: var(--lw-success-text-tint) !important; }
.upcoming-scheduled .flatpickr-calendar .flatpickr-day.selected { background-color: var(--lw-success-fill) !important; border-color: var(--lw-success-fill) !important; }
.timeline-item .icon { color: var(--lw-success-text); }
.timeline-2 .timeline-date::after { background: var(--lw-success-fill); }
.profile-project-card.profile-project-primary { border-left-color: var(--lw-primary-border); }
.profile-project-card.profile-project-secondary { border-left-color: var(--lw-secondary-border); }
.profile-project-card.profile-project-success { border-left-color: var(--lw-success-border); }
.profile-project-card.profile-project-info { border-left-color: var(--lw-info-border); }
.profile-project-card.profile-project-warning { border-left-color: var(--lw-warning-border); }
.profile-project-card.profile-project-danger { border-left-color: var(--lw-danger-border); }
.list-grid-nav .nav-link.active { background-color: var(--lw-info-fill); }
.filter-list a.active .listname { color: var(--lw-success-text); }
.chat-list > li.active a { color: var(--lw-success-text-tint); }
.chat-list > li.active a .badge { color: var(--lw-success-text-tint) !important; }
.chat-user-img.online .user-status { background-color: var(--lw-success-fill); }
.chat-user-img.away .user-status { background-color: var(--lw-warning-fill); }
.chat-input-section .chat-input-feedback { color: var(--lw-danger-text); }
.replymessage-block { border-left: 2px solid var(--lw-success-border); }
.replymessage-block .conversation-name { color: rgba(var(--lw-success-text-rgb), 1); }
.email-topbar-link .btn-ghost-secondary:hover { color: var(--lw-secondary-text); }
.bookmark-icon .btn:hover,
.bookmark-icon .btn.active { color: var(--lw-danger-text); }
.file-manager-menu li a.active,
.file-manager-menu li a:hover,
.file-manager-menu li a[aria-expanded=true] { color: var(--lw-success-text); }
.to-do-menu li .nav-link:hover,
.to-do-menu li .nav-link.active { color: var(--lw-success-text); }
.about-img-section::before { border: 1px solid var(--lw-info-border); }

/* ---------- 4. Components that pick their colours per state --------------
   After the generated block so these win. Velzon gives soft buttons no hover
   text colour, so the text was whatever the parent had (dark body text on the
   new, deeper fill). Warning keeps its yellow and takes dark text in every
   state. Solid fills follow the theme through the tokens. Pale "-subtle"
   backgrounds take the tint text colour. */

.btn-primary { --vz-btn-color: var(--lw-primary-on-fill); --vz-btn-bg: var(--lw-primary-fill); --vz-btn-border-color: var(--lw-primary-fill); --vz-btn-hover-color: var(--lw-primary-on-fill); --vz-btn-hover-bg: var(--lw-primary-fill-hover); --vz-btn-hover-border-color: var(--lw-primary-fill-hover); --vz-btn-active-color: var(--lw-primary-on-fill); --vz-btn-active-bg: var(--lw-primary-fill-active); --vz-btn-active-border-color: var(--lw-primary-fill-active); --vz-btn-disabled-color: var(--lw-primary-on-fill); --vz-btn-disabled-bg: var(--lw-primary-fill); --vz-btn-disabled-border-color: var(--lw-primary-fill); }
.btn-outline-primary { --vz-btn-color: var(--lw-primary-text); --vz-btn-border-color: var(--lw-primary-border); --vz-btn-hover-color: var(--lw-primary-on-fill); --vz-btn-hover-bg: var(--lw-primary-fill); --vz-btn-hover-border-color: var(--lw-primary-fill); --vz-btn-active-color: var(--lw-primary-on-fill); --vz-btn-active-bg: var(--lw-primary-fill-hover); --vz-btn-active-border-color: var(--lw-primary-fill-hover); --vz-btn-disabled-color: var(--lw-primary-text); --vz-btn-disabled-border-color: var(--lw-primary-border); }
.btn-soft-primary { --vz-btn-color: var(--lw-primary-text-tint); --vz-btn-hover-color: var(--lw-primary-on-fill); --vz-btn-hover-bg: var(--lw-primary-fill); --vz-btn-active-color: var(--lw-primary-on-fill); --vz-btn-active-bg: var(--lw-primary-fill-hover); }
.btn-ghost-primary { --vz-btn-color: var(--lw-primary-text); --vz-btn-hover-color: var(--lw-primary-text-tint); --vz-btn-active-color: var(--lw-primary-text-tint); }
.badge.bg-primary, .text-bg-primary { background-color: var(--lw-primary-fill) !important; color: var(--lw-primary-on-fill) !important; }
.bg-primary { background-color: rgba(var(--lw-primary-fill-rgb), var(--vz-bg-opacity, 1)) !important; }
.nav-primary .nav-link.active { background-color: var(--lw-primary-fill); color: var(--lw-primary-on-fill); }
.nav-primary:is(.nav-tabs, .nav-tabs-custom, .nav-custom-outline, .nav-border-top) .nav-link.active { color: var(--lw-primary-text); }
.bg-primary-subtle.text-primary, .bg-primary-subtle .text-primary, .bg-primary-subtle.text-primary-emphasis, .alert-primary .text-primary { color: var(--lw-primary-text-tint) !important; }
.progress-bar.bg-primary { color: var(--lw-primary-on-fill); }
.btn-secondary { --vz-btn-color: var(--lw-secondary-on-fill); --vz-btn-bg: var(--lw-secondary-fill); --vz-btn-border-color: var(--lw-secondary-fill); --vz-btn-hover-color: var(--lw-secondary-on-fill); --vz-btn-hover-bg: var(--lw-secondary-fill-hover); --vz-btn-hover-border-color: var(--lw-secondary-fill-hover); --vz-btn-active-color: var(--lw-secondary-on-fill); --vz-btn-active-bg: var(--lw-secondary-fill-active); --vz-btn-active-border-color: var(--lw-secondary-fill-active); --vz-btn-disabled-color: var(--lw-secondary-on-fill); --vz-btn-disabled-bg: var(--lw-secondary-fill); --vz-btn-disabled-border-color: var(--lw-secondary-fill); }
.btn-outline-secondary { --vz-btn-color: var(--lw-secondary-text); --vz-btn-border-color: var(--lw-secondary-border); --vz-btn-hover-color: var(--lw-secondary-on-fill); --vz-btn-hover-bg: var(--lw-secondary-fill); --vz-btn-hover-border-color: var(--lw-secondary-fill); --vz-btn-active-color: var(--lw-secondary-on-fill); --vz-btn-active-bg: var(--lw-secondary-fill-hover); --vz-btn-active-border-color: var(--lw-secondary-fill-hover); --vz-btn-disabled-color: var(--lw-secondary-text); --vz-btn-disabled-border-color: var(--lw-secondary-border); }
.btn-soft-secondary { --vz-btn-color: var(--lw-secondary-text-tint); --vz-btn-hover-color: var(--lw-secondary-on-fill); --vz-btn-hover-bg: var(--lw-secondary-fill); --vz-btn-active-color: var(--lw-secondary-on-fill); --vz-btn-active-bg: var(--lw-secondary-fill-hover); }
.btn-ghost-secondary { --vz-btn-color: var(--lw-secondary-text); --vz-btn-hover-color: var(--lw-secondary-text-tint); --vz-btn-active-color: var(--lw-secondary-text-tint); }
.badge.bg-secondary, .text-bg-secondary { background-color: var(--lw-secondary-fill) !important; color: var(--lw-secondary-on-fill) !important; }
.bg-secondary { background-color: rgba(var(--lw-secondary-fill-rgb), var(--vz-bg-opacity, 1)) !important; }
.nav-secondary .nav-link.active { background-color: var(--lw-secondary-fill); color: var(--lw-secondary-on-fill); }
.nav-secondary:is(.nav-tabs, .nav-tabs-custom, .nav-custom-outline, .nav-border-top) .nav-link.active { color: var(--lw-secondary-text); }
.bg-secondary-subtle.text-secondary, .bg-secondary-subtle .text-secondary, .bg-secondary-subtle.text-secondary-emphasis, .alert-secondary .text-secondary { color: var(--lw-secondary-text-tint) !important; }
.progress-bar.bg-secondary { color: var(--lw-secondary-on-fill); }
.btn-success { --vz-btn-color: var(--lw-success-on-fill); --vz-btn-bg: var(--lw-success-fill); --vz-btn-border-color: var(--lw-success-fill); --vz-btn-hover-color: var(--lw-success-on-fill); --vz-btn-hover-bg: var(--lw-success-fill-hover); --vz-btn-hover-border-color: var(--lw-success-fill-hover); --vz-btn-active-color: var(--lw-success-on-fill); --vz-btn-active-bg: var(--lw-success-fill-active); --vz-btn-active-border-color: var(--lw-success-fill-active); --vz-btn-disabled-color: var(--lw-success-on-fill); --vz-btn-disabled-bg: var(--lw-success-fill); --vz-btn-disabled-border-color: var(--lw-success-fill); }
.btn-outline-success { --vz-btn-color: var(--lw-success-text); --vz-btn-border-color: var(--lw-success-border); --vz-btn-hover-color: var(--lw-success-on-fill); --vz-btn-hover-bg: var(--lw-success-fill); --vz-btn-hover-border-color: var(--lw-success-fill); --vz-btn-active-color: var(--lw-success-on-fill); --vz-btn-active-bg: var(--lw-success-fill-hover); --vz-btn-active-border-color: var(--lw-success-fill-hover); --vz-btn-disabled-color: var(--lw-success-text); --vz-btn-disabled-border-color: var(--lw-success-border); }
.btn-soft-success { --vz-btn-color: var(--lw-success-text-tint); --vz-btn-hover-color: var(--lw-success-on-fill); --vz-btn-hover-bg: var(--lw-success-fill); --vz-btn-active-color: var(--lw-success-on-fill); --vz-btn-active-bg: var(--lw-success-fill-hover); }
.btn-ghost-success { --vz-btn-color: var(--lw-success-text); --vz-btn-hover-color: var(--lw-success-text-tint); --vz-btn-active-color: var(--lw-success-text-tint); }
.badge.bg-success, .text-bg-success { background-color: var(--lw-success-fill) !important; color: var(--lw-success-on-fill) !important; }
.bg-success { background-color: rgba(var(--lw-success-fill-rgb), var(--vz-bg-opacity, 1)) !important; }
.nav-success .nav-link.active { background-color: var(--lw-success-fill); color: var(--lw-success-on-fill); }
.nav-success:is(.nav-tabs, .nav-tabs-custom, .nav-custom-outline, .nav-border-top) .nav-link.active { color: var(--lw-success-text); }
.bg-success-subtle.text-success, .bg-success-subtle .text-success, .bg-success-subtle.text-success-emphasis, .alert-success .text-success { color: var(--lw-success-text-tint) !important; }
.progress-bar.bg-success { color: var(--lw-success-on-fill); }
.btn-info { --vz-btn-color: var(--lw-info-on-fill); --vz-btn-bg: var(--lw-info-fill); --vz-btn-border-color: var(--lw-info-fill); --vz-btn-hover-color: var(--lw-info-on-fill); --vz-btn-hover-bg: var(--lw-info-fill-hover); --vz-btn-hover-border-color: var(--lw-info-fill-hover); --vz-btn-active-color: var(--lw-info-on-fill); --vz-btn-active-bg: var(--lw-info-fill-active); --vz-btn-active-border-color: var(--lw-info-fill-active); --vz-btn-disabled-color: var(--lw-info-on-fill); --vz-btn-disabled-bg: var(--lw-info-fill); --vz-btn-disabled-border-color: var(--lw-info-fill); }
.btn-outline-info { --vz-btn-color: var(--lw-info-text); --vz-btn-border-color: var(--lw-info-border); --vz-btn-hover-color: var(--lw-info-on-fill); --vz-btn-hover-bg: var(--lw-info-fill); --vz-btn-hover-border-color: var(--lw-info-fill); --vz-btn-active-color: var(--lw-info-on-fill); --vz-btn-active-bg: var(--lw-info-fill-hover); --vz-btn-active-border-color: var(--lw-info-fill-hover); --vz-btn-disabled-color: var(--lw-info-text); --vz-btn-disabled-border-color: var(--lw-info-border); }
.btn-soft-info { --vz-btn-color: var(--lw-info-text-tint); --vz-btn-hover-color: var(--lw-info-on-fill); --vz-btn-hover-bg: var(--lw-info-fill); --vz-btn-active-color: var(--lw-info-on-fill); --vz-btn-active-bg: var(--lw-info-fill-hover); }
.btn-ghost-info { --vz-btn-color: var(--lw-info-text); --vz-btn-hover-color: var(--lw-info-text-tint); --vz-btn-active-color: var(--lw-info-text-tint); }
.badge.bg-info, .text-bg-info { background-color: var(--lw-info-fill) !important; color: var(--lw-info-on-fill) !important; }
.bg-info { background-color: rgba(var(--lw-info-fill-rgb), var(--vz-bg-opacity, 1)) !important; }
.nav-info .nav-link.active { background-color: var(--lw-info-fill); color: var(--lw-info-on-fill); }
.nav-info:is(.nav-tabs, .nav-tabs-custom, .nav-custom-outline, .nav-border-top) .nav-link.active { color: var(--lw-info-text); }
.bg-info-subtle.text-info, .bg-info-subtle .text-info, .bg-info-subtle.text-info-emphasis, .alert-info .text-info { color: var(--lw-info-text-tint) !important; }
.progress-bar.bg-info { color: var(--lw-info-on-fill); }
.btn-warning { --vz-btn-color: var(--lw-warning-on-fill); --vz-btn-bg: var(--lw-warning-fill); --vz-btn-border-color: var(--lw-warning-fill); --vz-btn-hover-color: var(--lw-warning-on-fill); --vz-btn-hover-bg: var(--lw-warning-fill-hover); --vz-btn-hover-border-color: var(--lw-warning-fill-hover); --vz-btn-active-color: var(--lw-warning-on-fill); --vz-btn-active-bg: var(--lw-warning-fill-active); --vz-btn-active-border-color: var(--lw-warning-fill-active); --vz-btn-disabled-color: var(--lw-warning-on-fill); --vz-btn-disabled-bg: var(--lw-warning-fill); --vz-btn-disabled-border-color: var(--lw-warning-fill); }
.btn-outline-warning { --vz-btn-color: var(--lw-warning-text); --vz-btn-border-color: var(--lw-warning-border); --vz-btn-hover-color: var(--lw-warning-on-fill); --vz-btn-hover-bg: var(--lw-warning-fill); --vz-btn-hover-border-color: var(--lw-warning-fill); --vz-btn-active-color: var(--lw-warning-on-fill); --vz-btn-active-bg: var(--lw-warning-fill-hover); --vz-btn-active-border-color: var(--lw-warning-fill-hover); --vz-btn-disabled-color: var(--lw-warning-text); --vz-btn-disabled-border-color: var(--lw-warning-border); }
.btn-soft-warning { --vz-btn-color: var(--lw-warning-text-tint); --vz-btn-hover-color: var(--lw-warning-on-fill); --vz-btn-hover-bg: var(--lw-warning-fill); --vz-btn-active-color: var(--lw-warning-on-fill); --vz-btn-active-bg: var(--lw-warning-fill-hover); }
.btn-ghost-warning { --vz-btn-color: var(--lw-warning-text); --vz-btn-hover-color: var(--lw-warning-text-tint); --vz-btn-active-color: var(--lw-warning-text-tint); }
.badge.bg-warning, .text-bg-warning { background-color: var(--lw-warning-fill) !important; color: var(--lw-warning-on-fill) !important; }
.bg-warning { background-color: rgba(var(--lw-warning-fill-rgb), var(--vz-bg-opacity, 1)) !important; }
.nav-warning .nav-link.active { background-color: var(--lw-warning-fill); color: var(--lw-warning-on-fill); }
.nav-warning:is(.nav-tabs, .nav-tabs-custom, .nav-custom-outline, .nav-border-top) .nav-link.active { color: var(--lw-warning-text); }
.bg-warning-subtle.text-warning, .bg-warning-subtle .text-warning, .bg-warning-subtle.text-warning-emphasis, .alert-warning .text-warning { color: var(--lw-warning-text-tint) !important; }
.progress-bar.bg-warning { color: var(--lw-warning-on-fill); }
.btn-danger { --vz-btn-color: var(--lw-danger-on-fill); --vz-btn-bg: var(--lw-danger-fill); --vz-btn-border-color: var(--lw-danger-fill); --vz-btn-hover-color: var(--lw-danger-on-fill); --vz-btn-hover-bg: var(--lw-danger-fill-hover); --vz-btn-hover-border-color: var(--lw-danger-fill-hover); --vz-btn-active-color: var(--lw-danger-on-fill); --vz-btn-active-bg: var(--lw-danger-fill-active); --vz-btn-active-border-color: var(--lw-danger-fill-active); --vz-btn-disabled-color: var(--lw-danger-on-fill); --vz-btn-disabled-bg: var(--lw-danger-fill); --vz-btn-disabled-border-color: var(--lw-danger-fill); }
.btn-outline-danger { --vz-btn-color: var(--lw-danger-text); --vz-btn-border-color: var(--lw-danger-border); --vz-btn-hover-color: var(--lw-danger-on-fill); --vz-btn-hover-bg: var(--lw-danger-fill); --vz-btn-hover-border-color: var(--lw-danger-fill); --vz-btn-active-color: var(--lw-danger-on-fill); --vz-btn-active-bg: var(--lw-danger-fill-hover); --vz-btn-active-border-color: var(--lw-danger-fill-hover); --vz-btn-disabled-color: var(--lw-danger-text); --vz-btn-disabled-border-color: var(--lw-danger-border); }
.btn-soft-danger { --vz-btn-color: var(--lw-danger-text-tint); --vz-btn-hover-color: var(--lw-danger-on-fill); --vz-btn-hover-bg: var(--lw-danger-fill); --vz-btn-active-color: var(--lw-danger-on-fill); --vz-btn-active-bg: var(--lw-danger-fill-hover); }
.btn-ghost-danger { --vz-btn-color: var(--lw-danger-text); --vz-btn-hover-color: var(--lw-danger-text-tint); --vz-btn-active-color: var(--lw-danger-text-tint); }
.badge.bg-danger, .text-bg-danger { background-color: var(--lw-danger-fill) !important; color: var(--lw-danger-on-fill) !important; }
.bg-danger { background-color: rgba(var(--lw-danger-fill-rgb), var(--vz-bg-opacity, 1)) !important; }
.nav-danger .nav-link.active { background-color: var(--lw-danger-fill); color: var(--lw-danger-on-fill); }
.nav-danger:is(.nav-tabs, .nav-tabs-custom, .nav-custom-outline, .nav-border-top) .nav-link.active { color: var(--lw-danger-text); }
.bg-danger-subtle.text-danger, .bg-danger-subtle .text-danger, .bg-danger-subtle.text-danger-emphasis, .alert-danger .text-danger { color: var(--lw-danger-text-tint) !important; }
.progress-bar.bg-danger { color: var(--lw-danger-on-fill); }

/* text-primary etc.: lw-a11y.css sets the light values outside the menu and
   buttons; these cover the dark theme and the dark islands through the
   variables. Inside a filled badge, button or bg-* block the parent's text
   colour is kept. */
.text-warning-emphasis { color: var(--lw-warning-text-tint) !important; }

/* Selected / pressed / open states (2026-10-15, VR-2026-0964 and the news.php
   report). lw-a11y.css (light theme) forces outline, soft and ghost text to
   the hue with !important unless the button is :hover, :active or .active.
   Bootstrap also fills a button for .btn-check:checked + .btn (radio and
   checkbox toggles, e.g. news.php "Unread | All", "My sources | All
   sources"), .btn.show (open dropdown toggle) and .btn:focus-visible
   (keyboard focus takes the hover fill), which are none of those, so the hue
   text sat on the hue fill (1.0-2.1:1; 1.06:1 in the trend card). Outline and soft buttons fill with --lw-*-fill-hover in
   these states and take the fill's text colour; ghost buttons fill with the
   pale tint and keep the tint text colour. Specificity (0,8,1) beats
   lw-a11y.css's (0,6,0). Not under the high-contrast setting (body.lw-hc),
   which paints these buttons black on white itself. */
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn:is(.btn-outline-primary, .btn-soft-primary) { color: var(--lw-primary-on-fill) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn.btn-ghost-primary { color: var(--lw-primary-text-tint) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn:is(.btn-outline-secondary, .btn-soft-secondary) { color: var(--lw-secondary-on-fill) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn.btn-ghost-secondary { color: var(--lw-secondary-text-tint) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn:is(.btn-outline-success, .btn-soft-success) { color: var(--lw-success-on-fill) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn.btn-ghost-success { color: var(--lw-success-text-tint) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn:is(.btn-outline-info, .btn-soft-info) { color: var(--lw-info-on-fill) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn.btn-ghost-info { color: var(--lw-info-text-tint) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn:is(.btn-outline-warning, .btn-soft-warning) { color: var(--lw-warning-on-fill) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn.btn-ghost-warning { color: var(--lw-warning-text-tint) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn:is(.btn-outline-danger, .btn-soft-danger) { color: var(--lw-danger-on-fill) !important; }
:root:not([data-bs-theme="dark"]) body:not(.lw-hc) :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.show, .btn:focus-visible).btn.btn-ghost-danger { color: var(--lw-danger-text-tint) !important; }

/* High-contrast setting, light theme: lw-a11y.css fills a checked, pressed or
   .active toggle black, but its own hue-text rule (above) outranked the
   white text it set, leaving #306b8f on black (3.6:1). */
:root:not([data-bs-theme="dark"]) body.lw-hc :is(.btn-check:checked + .btn, .btn-check:active + .btn, .btn.active, .btn:active).btn:is([class*="btn-outline-"], [class*="btn-soft-"], [class*="btn-ghost-"]) { color: #fff !important; }

/* Shared parts that were coloured with the pastel or a light grey */
.nav-pills { --vz-nav-pills-link-active-bg: var(--lw-primary-fill); --vz-nav-pills-link-active-color: #fff; }
.pagination { --vz-pagination-active-bg: var(--lw-primary-fill); --vz-pagination-active-border-color: var(--lw-primary-fill); --vz-pagination-active-color: #fff; --vz-pagination-color: var(--vz-link-color); --vz-pagination-hover-color: var(--vz-link-hover-color); --vz-pagination-focus-color: var(--vz-link-hover-color); }
.list-group { --vz-list-group-active-bg: var(--lw-primary-fill); --vz-list-group-active-border-color: var(--lw-primary-fill); --vz-list-group-active-color: #fff; }
.form-check-input:checked, .form-check-input[type="checkbox"]:indeterminate { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
.form-switch .form-check-input:checked { background-color: var(--lw-primary-fill); border-color: var(--lw-primary-fill); }
:is(.form-control, .form-select)::placeholder { color: var(--vz-secondary-color); opacity: 1; }
.page-title-box .breadcrumb-item.active, .breadcrumb-item.active { color: var(--vz-secondary-color); }
/* Dark theme: light button text #8d8e90 was 4.3:1 on its #282b2e fill */
[data-bs-theme="dark"] :is(.btn-light, .btn-outline-light) { --vz-btn-color: #b4b6b9; }
[data-bs-theme="dark"] .btn-soft-light { --vz-btn-color: #b4b6b9; --vz-btn-hover-color: #fff; --vz-btn-active-color: #fff; }
/* A light badge with no text colour of its own had white text on #f3f6f9 */
:root:not([data-bs-theme="dark"]) .badge.bg-light:not([class*="text-"]) { color: #212529; }

/* Sign-in pages (auth-*.php). The brand gradient and the photo panel keep
   their pastel colours; the text on them turns dark instead (the dark
   Lavawall logo already sits there). White on the pastel was 2.6-2.8:1, the
   footer's 50 % white about 1.6:1. #14171a on #5ea3cb is 6.9:1, on the
   #6ada7d end of the gradient 10:1. */
.auth-one-bg .carousel-inner.text-white, .auth-one-bg .carousel-inner .text-white { color: #14171a !important; }
.auth-one-bg .carousel-indicators [data-bs-target], .auth-one-bg .carousel-indicators button { background-color: #14171a; opacity: .6; }
.auth-one-bg .carousel-indicators .active { opacity: 1; }
.auth-bg-cover .footer, .auth-bg-cover .footer a { color: #14171a !important; }
.auth-bg-cover .footer a { text-decoration: underline; }
/* The same pastel, half transparent, behind the quote and the footer. It is
   barely visible on the pastel, but it tells assets/js/lw-dark.js (dark
   theme) that this text sits on a mid-tone, so it does not swap the dark
   text for light text as it would on the dark card behind. */
.auth-one-bg .carousel-inner, .auth-bg-cover > .footer { background-color: rgba(94, 163, 203, .5); }

/* Form controls. Dark theme: a text box or checkbox edge was #2a2f34 on the
   #212529 card (1.2:1); #7d838c is 3.9:1 on the card and 3.6:1 on the
   field's own fill. Low specificity, so the invalid / valid / checked
   colours still win. Light theme: lw-a11y.css's grey border outranked
   Bootstrap's .is-invalid / .is-valid red and green edge; put them back. */
[data-bs-theme="dark"] { --vz-input-border-custom: #7d838c; }
:where([data-bs-theme="dark"]) .form-check-input { border-color: #7d838c; }
:root :is(.form-control, .form-select, .form-check-input).is-invalid,
:root .was-validated :is(.form-control, .form-select, .form-check-input):invalid { border-color: var(--vz-form-invalid-border-color); }
:root :is(.form-control, .form-select, .form-check-input).is-valid,
:root .was-validated :is(.form-control, .form-select, .form-check-input):valid { border-color: var(--vz-form-valid-border-color); }
:root .form-check-input:checked.is-valid, :root .was-validated .form-check-input:checked:valid { background-color: var(--vz-form-valid-color); }
