:root {
    --tf-muted: #59677e;
    --tf-grid-bg: #fff;
    --tf-grid-stripe: #f1f4f8;
    --tf-grid-hover: #e3ecf8;
    --tf-control-border: #748399;
    --tf-focus: #005fcc;
}

.tf-theme-selector { position: relative; display: inline-flex; align-items: center; margin: 0; padding: .35rem .5rem; border: 1px solid var(--tf-control-border); border-radius: .375rem; color: var(--bs-body-color, var(--tf-ink)); background: var(--tf-grid-bg); font-size: .875rem; white-space: nowrap; cursor: pointer; }
.tf-theme-selector:hover { background: var(--tf-grid-hover); }
.tf-theme-selector-input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.tf-theme-selector:focus-within, .app-wrapper :focus-visible { outline: 3px solid var(--tf-focus); outline-offset: 2px; }
.tf-theme-label-dark { display: none; }
html[data-bs-theme="dark"] .tf-theme-label-light { display: none; }
html[data-bs-theme="dark"] .tf-theme-label-dark { display: inline; }
.public-login-main { position: relative; }
.tf-login-theme { position: absolute; right: 24px; top: 20px; }
.app-wrapper .table { --bs-table-bg: var(--tf-grid-bg); --bs-table-striped-bg: var(--tf-grid-stripe); --bs-table-hover-bg: var(--tf-grid-hover); --bs-table-active-bg: var(--tf-grid-hover); }
.app-wrapper .form-control, .app-wrapper .form-select, .app-wrapper .form-check-input, .public-body .form-control, .public-login-body .form-control { border-color: var(--tf-control-border); }
.public-header { background: var(--tf-panel); }
.public-body a.public-button-primary, .public-body .public-button-primary, .public-login-body .public-button-primary { background: #102a63; color: #fff; }
.public-body a.public-button-primary:hover, .public-body .public-button-primary:hover, .public-login-body .public-button-primary:hover { background: #173a82; color: #fff; }
.app-wrapper .btn-primary { --bs-btn-bg: #0b54b8; --bs-btn-border-color: #0b54b8; --bs-btn-hover-bg: #084a9f; --bs-btn-hover-border-color: #084a9f; --bs-btn-active-bg: #084a9f; }
.app-wrapper .btn-outline-primary { --bs-btn-color: #084a9f; --bs-btn-border-color: #0b54b8; --bs-btn-hover-bg: #0b54b8; --bs-btn-hover-border-color: #0b54b8; --bs-btn-active-bg: #0b54b8; --bs-btn-active-border-color: #0b54b8; }
.app-wrapper .btn-outline-secondary { --bs-btn-color: #49566b; --bs-btn-border-color: #748399; }
.app-wrapper .btn:disabled, .app-wrapper .btn.disabled { opacity: 1; color: #59677e; background: #edf1f6; border-color: #748399; border-style: dashed; box-shadow: none; }

html[data-bs-theme="dark"] {
    --bs-body-bg: #121a27;
    --bs-body-bg-rgb: 18, 26, 39;
    --bs-body-color: #edf2fa;
    --bs-body-color-rgb: 237, 242, 250;
    --bs-secondary-color: #b7c4d9;
    --bs-tertiary-bg: #182335;
    --bs-tertiary-bg-rgb: 24, 35, 53;
    --bs-secondary-bg: #26344a;
    --bs-border-color: #5b6e89;
    --bs-link-color: #9fc8ff;
    --bs-link-color-rgb: 159, 200, 255;
    --bs-link-hover-color: #c3ddff;
    --tf-grid-bg: #182335;
    --tf-grid-stripe: #202e43;
    --tf-grid-hover: #304663;
    --tf-control-border: #8293ad;
    --tf-focus: #a9cfff;
    --tf-ink: #edf2fa;
    --tf-text: #cbd5e5;
    --tf-muted: #b7c4d9;
    --tf-panel: #182335;
    --tf-surface: #121a27;
    --tf-warm: #121a27;
    --tf-border: #5b6e89;
    --tf-indigo-900: #accbff;
    --tf-indigo-800: #c3ddff;
    --tf-blue-600: #9fc8ff;
    --tf-blue-100: #243952;
    --tf-green-100: #203c30;
    --tf-green-700: #9fe0ad;
    --tf-success: #a5e8b4;
    --tf-danger: #ffb1b1;
}

[data-bs-theme="dark"] body { background-color: var(--bs-body-bg); color: var(--bs-body-color); }
[data-bs-theme="dark"] .app-header, [data-bs-theme="dark"] .app-footer { background: var(--tf-grid-bg); color: var(--bs-body-color); }
[data-bs-theme="dark"] .app-wrapper .table { --bs-table-color: #edf2fa; --bs-table-striped-color: #edf2fa; --bs-table-hover-color: #fff; --bs-table-active-color: #fff; --bs-table-border-color: #5b6e89; }
[data-bs-theme="dark"] .app-wrapper .bg-white, [data-bs-theme="dark"] .app-wrapper .bg-light { background-color: var(--tf-grid-bg) !important; }
[data-bs-theme="dark"] .text-muted, [data-bs-theme="dark"] .text-body-secondary { color: var(--tf-muted) !important; }
[data-bs-theme="dark"] .app-wrapper .btn-outline-primary { --bs-btn-color: #a9cfff; --bs-btn-border-color: #a9cfff; --bs-btn-hover-bg: #204d85; --bs-btn-hover-border-color: #a9cfff; }
[data-bs-theme="dark"] .app-wrapper .btn-outline-success { --bs-btn-color: #a5e8b4; --bs-btn-border-color: #80bc91; }
[data-bs-theme="dark"] .app-wrapper .btn-outline-danger { --bs-btn-color: #ffb1b1; --bs-btn-border-color: #e09494; }
[data-bs-theme="dark"] .app-wrapper .btn-outline-secondary { --bs-btn-color: #cbd5e5; --bs-btn-border-color: #8293ad; }
[data-bs-theme="dark"] .app-wrapper .btn:disabled, [data-bs-theme="dark"] .app-wrapper .btn.disabled { color: #b7c4d9; background: #26344a; border-color: #8293ad; }
[data-bs-theme="dark"] .public-company-benefits article { background: var(--tf-panel); }
[data-bs-theme="dark"] .public-icon-indigo { background: #283752; }
[data-bs-theme="dark"] .public-body .alert-danger, [data-bs-theme="dark"] .public-login-body .alert-danger { background: #492a32; }
[data-bs-theme="dark"] .public-body .form-control::placeholder, [data-bs-theme="dark"] .public-login-body .form-control::placeholder { color: #b7c4d9; opacity: 1; }
[data-bs-theme="dark"] .public-nav-toggle span:not(.sr-only) { background: #edf2fa; }
[data-bs-theme="dark"] .public-body .modal-content { background: var(--tf-panel); color: var(--tf-ink); }
[data-bs-theme="dark"] .public-body .close { color: var(--tf-ink); text-shadow: none; }
[data-bs-theme="dark"] .public-body .table th, [data-bs-theme="dark"] .public-body .table td { border-color: var(--tf-border); }

@media (max-width: 991px) { .public-navigation .tf-theme-selector { padding: 11px 12px; } }
@media (max-width: 575px) { .public-login-main { padding-top: 76px; } }

.public-brand-footer img { background: #fff; }
@media print { html[data-bs-theme] { color-scheme: light; } body, .app-wrapper, .app-wrapper .card, .app-wrapper .table { background: #fff !important; color: #111 !important; --bs-table-color: #111; --bs-table-bg: #fff; --bs-table-striped-color: #111; --bs-table-striped-bg: #f5f5f5; } .tf-theme-selector, .app-sidebar, .app-header { display: none !important; } }

@media (max-width: 575px) { .app-header .dropdown-toggle { max-width: calc(100vw - 165px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }

.tf-theme-changing *, .tf-theme-changing *::before, .tf-theme-changing *::after { transition: none !important; }

@media print { html[data-bs-theme] { --tf-ink: #111; --tf-text: #222; --tf-muted: #444; --tf-panel: #fff; --tf-surface: #fff; --tf-warm: #fff; --tf-indigo-900: #102a63; --tf-indigo-800: #173a82; --tf-blue-600: #084a9f; } .public-body section, .public-body article, .public-login-body main { background: #fff !important; color: #111 !important; } }

@media print { .public-body *, .public-login-body * { color: #111 !important; text-shadow: none !important; } .public-body .public-button, .public-login-body .public-button { background: #fff !important; border: 1px solid #555 !important; } }

.public-body :focus-visible, .public-login-body :focus-visible { outline: 3px solid var(--tf-focus); outline-offset: 2px; }
[data-bs-theme="dark"] .public-brand img { background: #fff; border-radius: 8px; }

.app-wrapper .small-box.text-bg-warning .small-box-footer, .app-wrapper .small-box.text-bg-info .small-box-footer { color: #10213a !important; }

.app-wrapper .btn-secondary { --bs-btn-bg: #49566b; --bs-btn-border-color: #49566b; --bs-btn-hover-bg: #364358; --bs-btn-hover-border-color: #364358; --bs-btn-active-bg: #364358; }
.app-wrapper .btn-outline-warning { --bs-btn-color: #765300; --bs-btn-border-color: #8a6300; --bs-btn-hover-bg: #765300; --bs-btn-hover-border-color: #765300; --bs-btn-hover-color: #fff; }
[data-bs-theme="dark"] .app-wrapper .btn-outline-warning { --bs-btn-color: #ffe2a3; --bs-btn-border-color: #ffe2a3; }

[data-bs-theme="dark"] .app-wrapper .btn-primary, [data-bs-theme="dark"] .app-wrapper .btn-secondary { --bs-btn-border-color: #8293ad; --bs-btn-hover-border-color: #a9cfff; }
[data-bs-theme="dark"] .public-body .public-button-primary, [data-bs-theme="dark"] .public-login-body .public-button-primary { border-color: #8293ad; }
