/* =====================================================================================
   Net-Cloud red — DevExpress theme re-tint

   The shipped office-white.bs5 theme is ORANGE (#fe7109), and it does not funnel that
   accent through a single variable: it writes the literal into ~75 component rules, each
   more specific than a plain :root override. So overriding --bs-primary alone leaves
   buttons, tabs, checkboxes and the pager orange, which is what this file fixes.

   Every rule below mirrors a selector in office-white.bs5.min.css, restating only the
   properties that carried an orange literal. The selectors are copied exactly so the
   specificity matches and the later stylesheet wins — MUST be linked AFTER the theme.

   The ramp, from the logo (wwwroot/images/netcloud-logo.svg):
       #fe7109 / #fd7e14  base      -> #D9101E   the mark's red
       #ca6510            hover     -> #A50A18   the mark's shade
       #984c0c            active    -> #7A0712
       #fecba1            disabled  -> #F0A9AE
       #feb272            disabled  -> #E3737B
       #ffe5d0            pale      -> #FDF2F2
       #ff6c00            link      -> #A50A18
       #d07d0a            focus     -> #D9101E

   Deliberately NOT re-tinted: the amber/warning family (#ff9c00, #ffc107 and friends),
   --bs-orange, and --dxbl-scheduler-orange-color. Those are semantic — a warning badge
   and an "orange" scheduler swatch must stay orange, or the UI loses the distinction
   between "brand" and "caution" exactly where it matters.

   Regenerating after a DevExpress upgrade: re-run the ramp above against the new theme
   file; a version that adds components will add selectors here.
   ===================================================================================== */

:root,
[data-bs-theme="light"] {
    /* Brand tokens for this app's own stylesheets to reference. */
    --nc-red: #D9101E;
    --nc-red-deep: #A50A18;
    --nc-red-ink: #7A0712;
    --nc-red-tint: #FDF2F2;

    --bs-blue: #D9101E;
    --bs-primary: #D9101E;
    --bs-primary-rgb: 217, 16, 30;
    --bs-primary-text-emphasis: #7A0712;
    --bs-primary-bg-subtle: #FDF2F2;
    --bs-primary-border-subtle: #F5C2C2;
    --bs-link-color: #A50A18;
    --bs-link-color-rgb: 165, 10, 24;
    --bs-link-hover-color: #D9101E;
    --bs-link-hover-color-rgb: 217, 16, 30;
}

/* ------------------------------------------------------------- bootstrap */

.btn-primary {
    --bs-btn-bg: #D9101E;
    --bs-btn-border-color: #D9101E;
    --bs-btn-disabled-bg: #D9101E;
    --bs-btn-disabled-border-color: #D9101E;
}

.btn-outline-primary {
    --bs-btn-color: #D9101E;
    --bs-btn-border-color: #D9101E;
    --bs-btn-hover-bg: #D9101E;
    --bs-btn-hover-border-color: #D9101E;
    --bs-btn-active-bg: #D9101E;
    --bs-btn-active-border-color: #D9101E;
    --bs-btn-disabled-color: #D9101E;
    --bs-btn-disabled-border-color: #D9101E;
}

.dropdown-menu { --bs-dropdown-link-active-bg: #D9101E; }
.dropdown-menu-dark { --bs-dropdown-link-active-bg: #D9101E; }
.nav-pills { --bs-nav-pills-link-active-bg: #D9101E; }

.pagination {
    --bs-pagination-active-bg: #D9101E;
    --bs-pagination-active-border-color: #D9101E;
}

.progress, .progress-stacked { --bs-progress-bar-bg: #D9101E; }

.list-group {
    --bs-list-group-active-bg: #D9101E;
    --bs-list-group-active-border-color: #D9101E;
}

/* --------------------------------------------------------------- buttons */

.dxbl-btn { --dxbl-btn-link-hover-color: #D9101E; }

.dxbl-btn-primary:where(:not(.dxbl-btn-standalone)) {
    --dxbl-btn-bg: #D9101E;
    --dxbl-btn-border-color: #D9101E;
}

.dxbl-btn-outline-primary:where(:not(.dxbl-btn-standalone)) {
    --dxbl-btn-color: #D9101E;
    --dxbl-btn-border-color: #D9101E;
}

.dxbl-btn-text-primary:where(:not(.dxbl-btn-standalone)) { --dxbl-btn-color: #D9101E; }

.dxbl-btn-standalone {
    --dxbl-btn-link-hover-color: #D9101E;
    --dxbl-btn-focus-outline-color: #D9101E;
}

.dxbl-btn-standalone.dxbl-btn-primary {
    --dxbl-btn-bg: #D9101E;
    --dxbl-btn-border-color: #D9101E;
    --dxbl-btn-hover-bg: #A50A18;
    --dxbl-btn-hover-border-color: #A50A18;
    --dxbl-btn-active-bg: #7A0712;
    --dxbl-btn-active-border-color: #7A0712;
    --dxbl-btn-disabled-bg: #F0A9AE;
    --dxbl-btn-disabled-border-color: #F0A9AE;
    --dxbl-btn-focus-bg: #D9101E;
    --dxbl-btn-focus-border-bg: #D9101E;
    --dxbl-btn-focus-outline-color: #D9101E;
}

.dxbl-btn-standalone.dxbl-btn-outline-primary {
    --dxbl-btn-color: #D9101E;
    --dxbl-btn-border-color: #D9101E;
    --dxbl-btn-hover-bg: #A50A18;
    --dxbl-btn-hover-border-color: #A50A18;
    --dxbl-btn-active-bg: #7A0712;
    --dxbl-btn-active-border-color: #7A0712;
    --dxbl-btn-disabled-color: #E3737B;
    --dxbl-btn-disabled-border-color: #F0A9AE;
    --dxbl-btn-focus-color: #D9101E;
    --dxbl-btn-focus-border-bg: #D9101E;
    --dxbl-btn-focus-outline-color: #D9101E;
}

.dxbl-btn-standalone.dxbl-btn-text-primary {
    --dxbl-btn-color: #D9101E;
    --dxbl-btn-hover-bg: #A50A18;
    --dxbl-btn-hover-border-color: #A50A18;
    --dxbl-btn-active-bg: #7A0712;
    --dxbl-btn-active-border-color: #7A0712;
    --dxbl-btn-disabled-color: #E3737B;
    --dxbl-btn-focus-color: #D9101E;
    --dxbl-btn-focus-outline-color: #D9101E;
}

/* The focus ring is the accent on EVERY button variant, not just the primary one —
   the theme repeats it per variant, so the override has to as well. */
.dxbl-btn-standalone.dxbl-btn-outline-none,
.dxbl-btn-standalone.dxbl-btn-text-none,
.dxbl-btn-standalone.dxbl-btn-secondary,
.dxbl-btn-standalone.dxbl-btn-outline-secondary,
.dxbl-btn-standalone.dxbl-btn-text-secondary,
.dxbl-btn-standalone.dxbl-btn-success,
.dxbl-btn-standalone.dxbl-btn-outline-success,
.dxbl-btn-standalone.dxbl-btn-text-success,
.dxbl-btn-standalone.dxbl-btn-info,
.dxbl-btn-standalone.dxbl-btn-outline-info,
.dxbl-btn-standalone.dxbl-btn-text-info,
.dxbl-btn-standalone.dxbl-btn-warning,
.dxbl-btn-standalone.dxbl-btn-outline-warning,
.dxbl-btn-standalone.dxbl-btn-text-warning,
.dxbl-btn-standalone.dxbl-btn-danger,
.dxbl-btn-standalone.dxbl-btn-outline-danger,
.dxbl-btn-standalone.dxbl-btn-text-danger,
.dxbl-btn-standalone.dxbl-btn-light,
.dxbl-btn-standalone.dxbl-btn-outline-light,
.dxbl-btn-standalone.dxbl-btn-text-light,
.dxbl-btn-standalone.dxbl-btn-dark,
.dxbl-btn-standalone.dxbl-btn-outline-dark,
.dxbl-btn-standalone.dxbl-btn-text-dark {
    --dxbl-btn-focus-outline-color: #D9101E;
}

/* ------------------------------------------------------------- components */

.dxbl-checkbox {
    --dxbl-checkbox-check-element-checked-bg: #D9101E;
    --dxbl-checkbox-switch-checked-bg: #D9101E;
    --dxbl-checkbox-radio-checked-border-color: #D9101E;
    --dxbl-checkbox-radio-check-bg: #D9101E;
}

.dxbl-calendar {
    --dxbl-calendar-today-border-color: #D9101E;
    --dxbl-calendar-item-focus-outline-color: #D9101E;
}

.dxbl-list-box,
.dxbl-list-box-render-container { --dxbl-list-box-focus-frame-color: #D9101E; }

.dxbl-edit-dropdown { --dxbl-edit-dropdown-btn-focus-outline-color: #D9101E; }
.dxbl-rollers-container { --dxbl-roller-item-focus-outline-color: #D9101E; }
.dxbl-rollers-footer > .dxbl-btn { --dxbl-btn-focus-outline-color: #D9101E; }

.dxbl-pager { --dxbl-pager-active-page-btn-bg: #D9101E; }

.dxbl-pager > .dxbl-btn.dxbl-btn-outline-secondary.dxbl-pager-active-page-btn {
    --dxbl-pager-page-btn-hover-bg: #D9101E;
}

.dxbl-grid { --dxbl-grid-focus-frame-color: #D9101E; }

.dxbl-btn.dxbl-grid-filter-menu-funnel-btn.dxbl-grid-filter-menu-funnel-btn-filled {
    --dxbl-btn-color: #D9101E;
    --dxbl-btn-hover-color: #D9101E;
}

.dxbl-grid-column-chooser-dialog { --dxbl-grid-column-chooser-focus-frame-color: #D9101E; }

.dxbl-fl { --dxbl-fl-tab-group-tab-selected-color: #D9101E; }

.dxbl-tabs {
    --dxbl-tabs-tab-selected-color: #D9101E;
    --dxbl-tabs-tab-focus-outline-color: #D9101E;
}

.dxbl-toolbar { --dxbl-btn-toolbar-focus-outline-color: #D9101E; }
.dxbl-toolbar-dropdown { --dxbl-toolbar-dropdown-btn-focus-outline-color: #D9101E; }
.dxbl-accordion { --dxbl-accordion-focus-outline-color: #D9101E; }

.dxbl-treeview {
    --dxbl-treeview-checkbox-checked-hover-bg: #D9101E;
    --dxbl-treeview-item-focus-outline-color: #D9101E;
}

.dxbl-context-menu,
.dxbl-context-menu-submenu { --dxbl-context-menu-item-focus-outline-color: #D9101E; }

.dxbl-menu { --dxbl-menu-item-focus-outline-color: #D9101E; }
.dxbl-menu-dropdown { --dxbl-menu-dropdown-item-focus-outline-color: #D9101E; }
.dxbl-menu.dxbl-menu-horizontal { --dxbl-menu-item-focus-outline-color: #D9101E; }

.dxbl-loading-panel { --dxbl-loading-panel-message-color: #D9101E; }
.dxbl-wait-indicator { --dxbl-wait-indicator-color: #D9101E; }
.dxbl-progress-bar { --dxbl-progress-bar-indicator-color: #D9101E; }

.dxbl-chart-root {
    --dxbl-chart-primary: #D9101E;
    --dxbl-chart-focus-outline-color: #D9101E;
}

.dxbl-scheduler-color { --dxbl-scheduler-primary-color: #D9101E; }
.dxbl-html-editor { --dxbl-html-editor-primary-color: #D9101E; }
.dx-popup-wrapper.dx-suggestion-list-wrapper { --dxbl-html-editor-primary-color: #D9101E; }

/* Reporting (the native Blazor report viewer and the rich-text control). */
.dxreRoot { --dxre-primary-color: #D9101E; }
.dxbrv-wrapper { --dxbrv-primary-color: #D9101E; }

/* ----------------------------------------------------------------- toasts */

.dxbl-toast-portal .dxbl-toast.dxbl-toast-theme-auto.dxbl-toast-render-primary,
.dxbl-toast-portal .dxbl-toast.dxbl-toast-theme-light.dxbl-toast-render-primary,
.dxbl-toast-portal .dxbl-toast.dxbl-toast-theme-dark.dxbl-toast-render-primary {
    --dxbl-toast-accent-line-color: #D9101E;
    --dxbl-toast-icon-color: #D9101E;
}

.dxbl-toast-portal .dxbl-toast.dxbl-toast-theme-saturated.dxbl-toast-render-primary {
    --dxbl-toast-background-color: #D9101E;
    --dxbl-toast-accent-line-color: #D9101E;
}

.dxbl-toast-portal .dxbl-toast.dxbl-toast-theme-pastel.dxbl-toast-render-primary {
    --dxbl-toast-background-color: #FDF2F2;
    --dxbl-toast-accent-line-color: #D9101E;
    --dxbl-toast-icon-color: #D9101E;
}
