:root {
    --dfm-red: #d00211;
    --dfm-red-dark: #a8000d;
    --dfm-red-soft: #fff3f4;
    --dfm-text: #111111;
    --dfm-muted: #555555;
    --dfm-border: #d8d8d8;
    --dfm-bg: #f1f2f3;
    --dfm-surface: #ffffff;
    --dfm-soft: #f5f5f5;
}

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

a {
    color: var(--dfm-red);
}

a:hover {
    color: var(--dfm-red-dark);
}

.text-primary,
[style*="darkblue"],
[style*="color: darkblue"] {
    color: var(--dfm-red) !important;
}

[style*="aliceblue"],
[style*="background-color:aliceblue"],
[style*="background-color: aliceblue"],
[style*="#e3f2fd"] {
    background-color: var(--dfm-soft) !important;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem #ffffff, 0 0 0 0.25rem rgba(208, 2, 17, 0.28);
}

.btn-primary,
.btn-primary:focus,
.btn-primary:disabled {
    color: #ffffff;
    background-color: var(--dfm-red);
    border-color: var(--dfm-red);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:first-child:active {
    color: #ffffff;
    background-color: var(--dfm-red-dark);
    border-color: var(--dfm-red-dark);
}

.btn-outline-primary {
    color: var(--dfm-red);
    border-color: var(--dfm-red);
}

.btn-outline-primary:hover,
.btn-outline-primary:active {
    color: #ffffff;
    background-color: var(--dfm-red);
    border-color: var(--dfm-red);
}

header > .navbar-custom:first-of-type {
    background-color: var(--dfm-surface) !important;
    border-top: 4px solid var(--dfm-red);
    border-bottom-color: var(--dfm-border) !important;
}

header > .navbar-custom:nth-of-type(2) {
    background-color: var(--dfm-soft) !important;
    border-bottom-color: var(--dfm-border) !important;
}

.navbar-custom {
    background-color: var(--dfm-surface);
}

.navbar-custom .navbar-brand,
.navbar-custom .nav-link {
    color: var(--dfm-text);
    font-weight: 500;
}

.navbar-custom .nav-link.active {
    color: var(--dfm-red);
    font-weight: 700;
}

.navbar-custom .nav-link:hover {
    color: var(--dfm-red);
}

.navbar-custom .nav-link:focus {
    color: var(--dfm-red-dark);
}

.navbar-custom .nav-link.active::after {
    content: "";
    display: block;
    height: 2px;
    margin-top: 3px;
    background-color: var(--dfm-red);
}

#sessionCountdown {
    color: var(--dfm-muted);
}

.footer {
    background-color: var(--dfm-soft);
    border-top-color: var(--dfm-border) !important;
    border-bottom: 3px solid var(--dfm-red);
    color: var(--dfm-muted) !important;
}

.card,
.dx-datagrid,
.dx-popup-wrapper .dx-overlay-content {
    border-color: var(--dfm-border);
}

.card-header {
    background-color: var(--dfm-soft);
    border-bottom-color: var(--dfm-border);
}

.dx-datagrid-group-closed,
.dx-datagrid-group-opened {
    color: var(--dfm-red);
}

.dx-datagrid-headers,
.dx-datagrid-headers .dx-datagrid-table .dx-row > td {
    background-color: var(--dfm-soft);
    color: var(--dfm-text);
    border-bottom-color: var(--dfm-border);
}

.dx-datagrid .dx-link,
.dx-link {
    color: var(--dfm-red);
}

.dx-datagrid .dx-link:hover,
.dx-link:hover {
    color: var(--dfm-red-dark);
}

.dx-button-mode-contained.dx-button-default {
    background-color: var(--dfm-red);
    border-color: var(--dfm-red);
    color: #ffffff;
}

.dx-button-mode-contained.dx-button-default.dx-state-hover,
.dx-button-mode-contained.dx-button-default.dx-state-focused {
    background-color: var(--dfm-red-dark);
    border-color: var(--dfm-red-dark);
}

.dx-button-mode-text.dx-button-default,
.dx-button-mode-outlined.dx-button-default {
    color: var(--dfm-red);
}

.dx-texteditor.dx-state-focused,
.dx-texteditor.dx-state-active,
.form-control:focus,
.form-select:focus {
    border-color: var(--dfm-red);
}

.dx-checkbox-checked .dx-checkbox-icon {
    background-color: var(--dfm-red);
    border-color: var(--dfm-red);
}

.custom-tooltip .tooltip-inner {
    color: var(--dfm-text);
    border-color: var(--dfm-red);
}

.custom-tooltip.bs-tooltip-top .tooltip-arrow::before,
.custom-tooltip.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before {
    border-top-color: var(--dfm-red);
}

.custom-tooltip.bs-tooltip-bottom .tooltip-arrow::before,
.custom-tooltip.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before {
    border-bottom-color: var(--dfm-red);
}

.custom-tooltip.bs-tooltip-left .tooltip-arrow::before,
.custom-tooltip.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before {
    border-left-color: var(--dfm-red);
}

.custom-tooltip.bs-tooltip-right .tooltip-arrow::before,
.custom-tooltip.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before {
    border-right-color: var(--dfm-red);
}

.login-card .form-control {
    border-color: var(--dfm-red) !important;
}

.login-card .login-btn,
.login-card .btn-primary,
.login-card .btn-primary:focus {
    background-color: var(--dfm-red) !important;
    border-color: var(--dfm-red) !important;
    color: #ffffff;
}

.login-card .login-btn:hover,
.login-card .btn-primary:hover {
    background-color: var(--dfm-red-dark) !important;
    border-color: var(--dfm-red-dark) !important;
    color: #ffffff;
}

.login-card-footer-text,
.login-card-footer-nav a,
.login-card .forgot-password-link {
    color: var(--dfm-red);
}
