/**********************************
Dark Theme Overlay
Activates only when <html data-theme="dark"> is set.
No changes to individual page files required.
***********************************/
:root[data-theme="dark"] {
  --primary-color: #6699cc;
  --bg-primary: #1e1e2e;
  --bg-secondary: #2a2a3c;
  --bg-tertiary: #363649;
  --card-bg: #2f2f42;
  --bg-overlay: #000000;
  --text-primary: #e0e0e0;
  --text-secondary: #b0b0b0;
  --text-inverse: #1e1e2e;
  --link-color: #6eb5ff;
  --link-color-nav: #6eb5ff;
  --border-color: #4a4a5e;
  --highlight-color: #2d5480;
  --warning-color: #FDD017;
  --grid-header-bg: #444460;
  --grid-header-text: #8ab4f8;
  --menu-bg: #2a2a3c;
  --menu-text: #e0e0e0;
  --menu-hover-bg: #4a4a5e;
  --menu-hover-text: #ffffff;
  --disabled-bg: #383850;
  --disabled-text: #707080;
  --shadow-color: #000;
  --banner-bg: #2a2a3c;
  --error-color: #ff6b6b;
  --combo-border: #4a4a5e;
  --input-focus: #6eb5ff;
  --input-border-color: #555570;
  --input-focus-glow: rgba(110, 181, 255, 0.25);
  --grid-hover-bg: #4a4a5e;
  --grid-border: #5a5a6e;
  --control-chrome-bg: #3a3a4e;
  --control-chrome-border: #5a5a6e;
  --accent-color: #4a9fd8;
  color-scheme: dark;
}
/* Base element overrides for dark mode */
:root[data-theme="dark"] {
  background-color: var(--bg-primary);
}
:root[data-theme="dark"] body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}
:root[data-theme="dark"] form {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}
/* Hidden download iframe — prevent white dot from inner document default bg */
:root[data-theme="dark"] iframe#hiddenDocGetter {
  opacity: 0 !important;
}
/* Layout table cells — match page background so gaps between
   card bottom and cell bottom are invisible on tall layouts */
:root[data-theme="dark"] td#ContentPane,
:root[data-theme="dark"] td#LeftPane {
  background-color: var(--bg-primary) !important;
}
/* ContentPane inside a card is an error iframe container, not a layout cell */
:root[data-theme="dark"] .UcsCard td#ContentPane,
:root[data-theme="dark"] .ReyCard td#ContentPane {
  background-color: inherit !important;
}
/* Card backgrounds — slightly lighter than inputs so enabled inputs
   appear recessed/inset and disabled inputs are more distinct.
   Redefine --bg-secondary inside card scope so all light-theme rules
   that use var(--bg-secondary) on TDs automatically match the card bg. */
:root[data-theme="dark"] .UcsCard,
:root[data-theme="dark"] .ReyCard {
  --bg-secondary: var(--card-bg);
  background-color: var(--card-bg) !important;
}
/* Inputs inside cards — restore the darker bg so they appear inset.
   Exclude Selectize inner inputs and disabled controls. */
:root[data-theme="dark"] .UcsCard input:not(.copy-button):not(.ruButton):not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="hidden"]):not([type="file"]):not([id$="-selectized"]):not([disabled]):not([style*="background-color:Transparent"]):not([style*="background-color: transparent"]),
:root[data-theme="dark"] .UcsCard select:not([disabled]),
:root[data-theme="dark"] .UcsCard textarea:not([disabled]),
:root[data-theme="dark"] .ReyCard input:not(.copy-button):not(.ruButton):not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="hidden"]):not([type="file"]):not([id$="-selectized"]):not([disabled]):not([style*="background-color:Transparent"]):not([style*="background-color: transparent"]),
:root[data-theme="dark"] .ReyCard select:not([disabled]),
:root[data-theme="dark"] .ReyCard textarea:not([disabled]) {
  background-color: #2a2a3c !important;
}
/* Title bar links — white text to match light mode and work on all
   primary color backgrounds (darkred, green, blue) */
:root[data-theme="dark"] .UcsCard .Title a,
:root[data-theme="dark"] .UcsCard .Title a:visited,
:root[data-theme="dark"] .ReyCard .Title a,
:root[data-theme="dark"] .ReyCard .Title a:visited {
  color: #ffffff !important;
}
/* AEX panel body — hardcoded #f9f9f9 in LMS */
:root[data-theme="dark"] .aex-body {
  background-color: var(--bg-secondary) !important;
}
/* UcsGrid table border — override inline border-color:Black */
:root[data-theme="dark"] .UcsGrid {
  border-color: var(--border-color) !important;
}
/* Grid header bottom border — structural divider for accessibility */
:root[data-theme="dark"] .UcsGrid .Header TD,
:root[data-theme="dark"] .UcsGrid TD.Header {
  border-color: #6a6a80 !important;
  border-bottom: 2px solid #6a6a80 !important;
}
/* <hr> inside UcsGrid header cells (User Setup > Home, Portal Settings, etc.)
   — default browser hr is bright white in dark mode. */
:root[data-theme="dark"] .UcsGrid hr {
  border: 0 !important;
  border-top: 1px solid #6a6a80 !important;
  background-color: transparent !important;
  color: #6a6a80 !important;
}
/* PMG Project Inbox inner Task/Test sub-rows — InboxProject.ascx hardcodes
   inline `background-color: #DCDCDC` on every TD in both AlternatingItemTemplates,
   plus an embedded `<style>` block sets `.PMGTask .TaskItem TD { whitesmoke }` and
   `.PMGTask .TaskAltItem TD { gainsboro }` for JS-cloned rows. The site-wide
   `[style*="#DCDCDC"]` override should catch the inline form, but we add a
   tighter, more-specific scope for belt-and-suspenders, plus class-based
   coverage for the JS-cloned rows. */
:root[data-theme="dark"] table[id="m_divList"] td[style*="DCDCDC"],
:root[data-theme="dark"] table[id="m_divTestList"] td[style*="DCDCDC"],
:root[data-theme="dark"] .PMGTask .TaskAltItem TD {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .PMGTask .TaskItem TD {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
/* UcsGrid data row column separators — reyStandards.less hardcodes
   `border-right-color: White` on .Item TD / .AltItem TD / generic TD,
   producing stark white vertical lines in dark mode. Match the muted
   tone we already use for Inbox cell separators (var(--border-color)). */
:root[data-theme="dark"] .UcsGrid .Item TD,
:root[data-theme="dark"] .UcsGrid .AltItem TD,
:root[data-theme="dark"] .UcsGrid TD,
:root[data-theme="dark"] .UcsCard .Inner .UcsGrid TD {
  border-right-color: var(--border-color) !important;
}
/* Selected row in grids — soften the Navy highlight for dark mode */
:root[data-theme="dark"] .UcsGrid .Selected,
:root[data-theme="dark"] .UcsGrid .Selected TD,
:root[data-theme="dark"] .UcsGrid .Selected a,
:root[data-theme="dark"] .UcsGrid .Selected a:visited,
:root[data-theme="dark"] .UcsGrid .Selected span {
  background-color: #000060 !important;
  color: #ffffff !important;
}
/* Unscoped .Item/.AltItem override — catches pages that define these
   outside of .UcsGrid/.Inbox/.UcsCard context (e.g. LMS Attendance Legend) */
:root[data-theme="dark"] .Item:not(td) {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .AltItem:not(td) {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
/* PMG Project Inbox div pseudo-grid — match UcsGrid look in dark mode.
   Item rows must beat the unscoped .Item:not(td) rule above (which sets
   --bg-primary) and stay at --bg-secondary like UcsGrid Item rows. */
:root[data-theme="dark"] .Inbox .Item {
  background-color: var(--bg-secondary) !important;
}
:root[data-theme="dark"] .Inbox .InboxHeader {
  border-bottom: 2px solid #6a6a80 !important;
}
:root[data-theme="dark"] .Inbox .InboxHeader a,
:root[data-theme="dark"] .Inbox .InboxHeader span {
  border-right-color: #6a6a80 !important;
}
:root[data-theme="dark"] .Inbox .Item a,
:root[data-theme="dark"] .Inbox .Item span,
:root[data-theme="dark"] .Inbox .AltItem a,
:root[data-theme="dark"] .Inbox .AltItem span,
:root[data-theme="dark"] .Inbox .noOF a,
:root[data-theme="dark"] .Inbox .noOF span,
:root[data-theme="dark"] .Inbox .rowHighlight a,
:root[data-theme="dark"] .Inbox .rowHighlight span {
  border-right-color: var(--border-color) !important;
  /* #4a4a5e */
}
:root[data-theme="dark"] input:not(.copy-button):not(.ruButton):not([id$="-selectized"]):not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"]):not([disabled]),
:root[data-theme="dark"] select:not([disabled]),
:root[data-theme="dark"] textarea:not([disabled]) {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border-color) !important;
}
/* Plain <button> elements — match standard button styling */
:root[data-theme="dark"] button:not(.rbRadioButton):not(.rbCheckButton):not([disabled]) {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border-color) !important;
}
/* Required field asterisk — brighten for dark mode visibility */
:root[data-theme="dark"] .RequiredMarker {
  color: var(--error-color) !important;
}
/* Color picker options — options with inline background-color are color swatches.
   Force dark text so it's readable against light-colored backgrounds. */
:root[data-theme="dark"] option[style*="background-color"] {
  color: #000000 !important;
}
/* Radio buttons and checkboxes — let browser render natively in dark */
:root[data-theme="dark"] input[type="radio"],
:root[data-theme="dark"] input[type="checkbox"] {
  color-scheme: dark;
}
/* Focus glow for standard HTML controls — Bootstrap/GitHub style */
:root[data-theme="dark"] input:not(.copy-button):not(.racInput):not([id$="-selectized"]):not([type="file"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([disabled]):focus,
:root[data-theme="dark"] select:not([disabled]):focus,
:root[data-theme="dark"] textarea:not([disabled]):focus,
:root[data-theme="dark"] button:not([disabled]):focus {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
  outline: none !important;
}
/* Inputs styled as transparent/borderless (ASP.NET BackColor=transparent
   BorderStyle=None) — keep transparent with no borders so they look like
   plain text labels (e.g. EFS EXP MAC# field).
   Card-scoped versions needed to beat the card inset rule specificity. */
:root[data-theme="dark"] input[style*="background-color:Transparent"]:not([disabled]),
:root[data-theme="dark"] input[style*="background-color: transparent"]:not([disabled]),
:root[data-theme="dark"] .UcsCard input[style*="background-color:Transparent"],
:root[data-theme="dark"] .UcsCard input[style*="background-color: transparent"],
:root[data-theme="dark"] .ReyCard input[style*="background-color:Transparent"],
:root[data-theme="dark"] .ReyCard input[style*="background-color: transparent"] {
  background-color: transparent !important;
  border: none !important;
}
:root[data-theme="dark"] a,
:root[data-theme="dark"] a:visited {
  color: var(--link-color);
}
/* --- Disabled controls — VS Code style: lighter bg, muted text, not-allowed cursor --- */
:root[data-theme="dark"] a[disabled] {
  color: var(--disabled-text) !important;
  cursor: not-allowed;
  text-decoration: none;
}
:root[data-theme="dark"] input[disabled],
:root[data-theme="dark"] select[disabled],
:root[data-theme="dark"] textarea[disabled],
:root[data-theme="dark"] button[disabled],
:root[data-theme="dark"] input[type="submit"][disabled],
:root[data-theme="dark"] input[type="button"][disabled] {
  background-color: var(--disabled-bg) !important;
  color: var(--disabled-text) !important;
  border-color: var(--border-color) !important;
  cursor: not-allowed;
}
/* Safety net — prevent focus glow on disabled controls */
:root[data-theme="dark"] input[disabled]:focus,
:root[data-theme="dark"] select[disabled]:focus,
:root[data-theme="dark"] textarea[disabled]:focus {
  box-shadow: none !important;
}
/* --- Popup controls (Warning/Error/Success) --- */
:root[data-theme="dark"] .Popup.warning {
  background-color: #3a3000 !important;
  border-color: #b8960a !important;
}
:root[data-theme="dark"] .Popup.warning .title,
:root[data-theme="dark"] .Popup.warning .title .titletext {
  color: var(--warning-color) !important;
}
:root[data-theme="dark"] .Popup.warning .content {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .Popup.error {
  background-color: #3a1010 !important;
  border-color: var(--error-color) !important;
}
:root[data-theme="dark"] .Popup.error .title,
:root[data-theme="dark"] .Popup.error .title .titletext {
  color: var(--error-color) !important;
}
:root[data-theme="dark"] .Popup.error .content {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .Popup.success {
  background-color: #1a3a1a !important;
  border-color: #4a9a4a !important;
}
:root[data-theme="dark"] .Popup.success .title,
:root[data-theme="dark"] .Popup.success .title .titletext {
  color: #90ee90 !important;
}
:root[data-theme="dark"] .Popup.success .content {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] iframe {
  background-color: var(--bg-secondary);
}
/* Inline style attribute selector overrides */
/* These catch hardcoded inline colors WITHOUT editing individual files */
:root[data-theme="dark"] {
  /* PMR/PMG/QA Inbox rows emit <tr class="Item" style="color: red"> for
     flagged items. The unscoped `.Item:not(td)` rule above beats the bare
     inline-color selector on specificity, so we need .Item/.AltItem-scoped
     variants to re-win. */
  /* <font color=""> attribute — legacy HTML tag used on ~20 document upload pages */
  /* Inline border color overrides — match any element with "border" + color keyword */
  /* HTML bordercolor attribute (not inline style) */
  /* Inline border-color:White — shows as 1px bright dots with rules="all" */
  /* rules="all" pushes borders to child cells — override those too */
}
:root[data-theme="dark"] [style*="color: black"],
:root[data-theme="dark"] [style*="color:black"],
:root[data-theme="dark"] [style*="color: Black"],
:root[data-theme="dark"] [style*="color:Black"],
:root[data-theme="dark"] [style*="color:#000"],
:root[data-theme="dark"] [style*="color:#333333"],
:root[data-theme="dark"] [style*="color: #333333"],
:root[data-theme="dark"] [style*="color:#333"],
:root[data-theme="dark"] [style*="color: #333"] {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: white"],
:root[data-theme="dark"] [style*="background-color:white"],
:root[data-theme="dark"] [style*="background-color: #FFFFFF"],
:root[data-theme="dark"] [style*="background-color:#fff"],
:root[data-theme="dark"] [style*="background-color: White"],
:root[data-theme="dark"] [style*="background-color:White"] {
  background-color: var(--bg-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: #F5F5F5"],
:root[data-theme="dark"] [style*="background-color:#F5F5F5"],
:root[data-theme="dark"] [style*="background-color: whitesmoke"],
:root[data-theme="dark"] [style*="background-color:whitesmoke"] {
  background-color: var(--bg-secondary) !important;
}
:root[data-theme="dark"] [style*="background-color:Gainsboro"],
:root[data-theme="dark"] [style*="background-color: Gainsboro"],
:root[data-theme="dark"] [style*="background-color:gainsboro"],
:root[data-theme="dark"] [style*="background-color: gainsboro"],
:root[data-theme="dark"] [style*="background-color:#DCDCDC"],
:root[data-theme="dark"] [style*="background-color: #DCDCDC"],
:root[data-theme="dark"] [style*="background-color:#dcdcdc"],
:root[data-theme="dark"] [style*="background-color: #dcdcdc"],
:root[data-theme="dark"] [style*="background-color: rgb(220, 220, 220)"],
:root[data-theme="dark"] [style*="background-color:rgb(220, 220, 220)"],
:root[data-theme="dark"] [style*="background-color: rgb(220,220,220)"],
:root[data-theme="dark"] [style*="background-color:rgb(220,220,220)"] {
  background-color: var(--bg-tertiary) !important;
}
:root[data-theme="dark"] [style*="background:gainsboro"],
:root[data-theme="dark"] [style*="background: gainsboro"],
:root[data-theme="dark"] [style*="background:Gainsboro"],
:root[data-theme="dark"] [style*="background: Gainsboro"] {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color:Silver"],
:root[data-theme="dark"] [style*="background-color: Silver"],
:root[data-theme="dark"] [style*="background-color:silver"],
:root[data-theme="dark"] [style*="background-color: silver"] {
  background-color: var(--highlight-color) !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] [style*="background-color:#cccccc"],
:root[data-theme="dark"] [style*="background-color: #cccccc"] {
  background-color: var(--banner-bg) !important;
}
:root[data-theme="dark"] [style*="background-color:Yellow"],
:root[data-theme="dark"] [style*="background-color: Yellow"],
:root[data-theme="dark"] [style*="background-color:yellow"],
:root[data-theme="dark"] [style*="background-color: yellow"],
:root[data-theme="dark"] [style*="background-color: gold"],
:root[data-theme="dark"] [style*="background-color:gold"],
:root[data-theme="dark"] [style*="background-color: Gold"],
:root[data-theme="dark"] [style*="background-color:Gold"] {
  background-color: #554400 !important;
  color: var(--warning-color) !important;
  border: 1px solid #b8960a !important;
}
:root[data-theme="dark"] [style*="border"][style*="gold"],
:root[data-theme="dark"] [style*="border"][style*="Gold"] {
  border-color: #b8960a !important;
}
:root[data-theme="dark"] [style*="color: red"],
:root[data-theme="dark"] [style*="color:red"],
:root[data-theme="dark"] [style*="color: Red"],
:root[data-theme="dark"] [style*="color:Red"],
:root[data-theme="dark"] [style*="color: darkred"],
:root[data-theme="dark"] [style*="color:darkred"],
:root[data-theme="dark"] [style*="color: DarkRed"],
:root[data-theme="dark"] [style*="color:DarkRed"],
:root[data-theme="dark"] [style*="color: Darkred"],
:root[data-theme="dark"] [style*="color:Darkred"] {
  color: var(--error-color) !important;
}
:root[data-theme="dark"] .Item[style*="color: red"],
:root[data-theme="dark"] .Item[style*="color:red"],
:root[data-theme="dark"] .Item[style*="color: Red"],
:root[data-theme="dark"] .Item[style*="color:Red"],
:root[data-theme="dark"] .Item[style*="color: darkred"],
:root[data-theme="dark"] .Item[style*="color:darkred"],
:root[data-theme="dark"] .Item[style*="color: DarkRed"],
:root[data-theme="dark"] .Item[style*="color:DarkRed"],
:root[data-theme="dark"] .Item[style*="color: Darkred"],
:root[data-theme="dark"] .Item[style*="color:Darkred"],
:root[data-theme="dark"] .AltItem[style*="color: red"],
:root[data-theme="dark"] .AltItem[style*="color:red"],
:root[data-theme="dark"] .AltItem[style*="color: Red"],
:root[data-theme="dark"] .AltItem[style*="color:Red"],
:root[data-theme="dark"] .AltItem[style*="color: darkred"],
:root[data-theme="dark"] .AltItem[style*="color:darkred"],
:root[data-theme="dark"] .AltItem[style*="color: DarkRed"],
:root[data-theme="dark"] .AltItem[style*="color:DarkRed"],
:root[data-theme="dark"] .AltItem[style*="color: Darkred"],
:root[data-theme="dark"] .AltItem[style*="color:Darkred"] {
  color: var(--error-color) !important;
}
:root[data-theme="dark"] font[color="#ff0000"],
:root[data-theme="dark"] font[color="red"],
:root[data-theme="dark"] font[color="Red"] {
  color: var(--error-color) !important;
}
:root[data-theme="dark"] [style*="color: Maroon"],
:root[data-theme="dark"] [style*="color:Maroon"],
:root[data-theme="dark"] [style*="color: maroon"],
:root[data-theme="dark"] [style*="color:maroon"] {
  color: var(--error-color) !important;
}
:root[data-theme="dark"] [style*="color: DarkBlue"],
:root[data-theme="dark"] [style*="color:DarkBlue"],
:root[data-theme="dark"] [style*="color: darkblue"],
:root[data-theme="dark"] [style*="color:darkblue"] {
  color: var(--link-color) !important;
}
:root[data-theme="dark"] [style*="color: Gray"],
:root[data-theme="dark"] [style*="color:Gray"],
:root[data-theme="dark"] [style*="color: gray"],
:root[data-theme="dark"] [style*="color:gray"],
:root[data-theme="dark"] [style*="color: Grey"],
:root[data-theme="dark"] [style*="color:grey"] {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] [style*="color: Firebrick"],
:root[data-theme="dark"] [style*="color:Firebrick"],
:root[data-theme="dark"] [style*="color: firebrick"],
:root[data-theme="dark"] [style*="color:firebrick"] {
  color: #ff6b6b !important;
}
:root[data-theme="dark"] [style*="color: Purple"],
:root[data-theme="dark"] [style*="color:Purple"],
:root[data-theme="dark"] [style*="color: purple"],
:root[data-theme="dark"] [style*="color:purple"] {
  color: #c09bdc !important;
}
:root[data-theme="dark"] [style*="color: DarkOrange"],
:root[data-theme="dark"] [style*="color:DarkOrange"],
:root[data-theme="dark"] [style*="color: darkorange"],
:root[data-theme="dark"] [style*="color:darkorange"] {
  color: #ffb347 !important;
}
:root[data-theme="dark"] [style*="color: OrangeRed"],
:root[data-theme="dark"] [style*="color:OrangeRed"],
:root[data-theme="dark"] [style*="color: orangered"],
:root[data-theme="dark"] [style*="color:orangered"] {
  color: #ff7b5a !important;
}
:root[data-theme="dark"] [style*="color: darkgray"],
:root[data-theme="dark"] [style*="color:darkgray"],
:root[data-theme="dark"] [style*="color: DarkGray"],
:root[data-theme="dark"] [style*="color:DarkGray"],
:root[data-theme="dark"] [style*="color: darkgrey"],
:root[data-theme="dark"] [style*="color:darkgrey"] {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] [style*="color: green"],
:root[data-theme="dark"] [style*="color:green"],
:root[data-theme="dark"] [style*="color: Green"],
:root[data-theme="dark"] [style*="color:Green"] {
  color: #66cc66 !important;
}
:root[data-theme="dark"] [style*="color: yellowgreen"],
:root[data-theme="dark"] [style*="color:yellowgreen"],
:root[data-theme="dark"] [style*="color: YellowGreen"],
:root[data-theme="dark"] [style*="color:YellowGreen"] {
  color: #9acd32 !important;
}
:root[data-theme="dark"] [style*="Color"][style*="black"],
:root[data-theme="dark"] [style*="Color"][style*="Black"] {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: lightgray"],
:root[data-theme="dark"] [style*="background-color:lightgray"],
:root[data-theme="dark"] [style*="background-color: LightGray"],
:root[data-theme="dark"] [style*="background-color:LightGray"],
:root[data-theme="dark"] [style*="background-color: lightgrey"],
:root[data-theme="dark"] [style*="background-color:lightgrey"] {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: IndianRed"],
:root[data-theme="dark"] [style*="background-color:IndianRed"],
:root[data-theme="dark"] [style*="background-color: indianred"],
:root[data-theme="dark"] [style*="background-color:indianred"] {
  background-color: #3a1010 !important;
  color: var(--error-color) !important;
}
:root[data-theme="dark"] [style*="background-color: #E5E5E5"],
:root[data-theme="dark"] [style*="background-color:#E5E5E5"],
:root[data-theme="dark"] [style*="background-color: #e5e5e5"],
:root[data-theme="dark"] [style*="background-color:#e5e5e5"] {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: #DDDDDD"],
:root[data-theme="dark"] [style*="background-color:#DDDDDD"],
:root[data-theme="dark"] [style*="background-color: #dddddd"],
:root[data-theme="dark"] [style*="background-color:#dddddd"],
:root[data-theme="dark"] [style*="background-color:#ddd"],
:root[data-theme="dark"] [style*="background-color: #ddd"] {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: #808080"],
:root[data-theme="dark"] [style*="background-color:#808080"] {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="color: forestgreen"],
:root[data-theme="dark"] [style*="color:forestgreen"],
:root[data-theme="dark"] [style*="color: ForestGreen"],
:root[data-theme="dark"] [style*="color:ForestGreen"] {
  color: #66cc66 !important;
}
:root[data-theme="dark"] [style*="background-color: Goldenrod"],
:root[data-theme="dark"] [style*="background-color:Goldenrod"],
:root[data-theme="dark"] [style*="background-color: goldenrod"],
:root[data-theme="dark"] [style*="background-color:goldenrod"] {
  background-color: #3a3000 !important;
  color: var(--warning-color) !important;
}
:root[data-theme="dark"] [style*="background-color: CornflowerBlue"],
:root[data-theme="dark"] [style*="background-color:CornflowerBlue"],
:root[data-theme="dark"] [style*="background-color: cornflowerblue"],
:root[data-theme="dark"] [style*="background-color:cornflowerblue"] {
  background-color: #1a3a5c !important;
  color: var(--link-color) !important;
}
:root[data-theme="dark"] [style*="background-color: Coral"],
:root[data-theme="dark"] [style*="background-color:Coral"],
:root[data-theme="dark"] [style*="background-color: coral"],
:root[data-theme="dark"] [style*="background-color:coral"] {
  background-color: #5a2020 !important;
  color: #ff7f7f !important;
}
:root[data-theme="dark"] [style*="background-color: rgb(255, 255, 255)"],
:root[data-theme="dark"] [style*="background-color: rgb(255,255,255)"] {
  background-color: var(--bg-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: #aec3e9"],
:root[data-theme="dark"] [style*="background-color:#aec3e9"] {
  background-color: #1a3a5c !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: Tan"],
:root[data-theme="dark"] [style*="background-color:Tan"],
:root[data-theme="dark"] [style*="background-color: tan"],
:root[data-theme="dark"] [style*="background-color:tan"] {
  background-color: #3a3020 !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="background-color: Green"],
:root[data-theme="dark"] [style*="background-color:Green"],
:root[data-theme="dark"] [style*="background-color: green"],
:root[data-theme="dark"] [style*="background-color:green"] {
  background-color: #1a3a1a !important;
  color: #90ee90 !important;
}
:root[data-theme="dark"] [style*="color: navy"],
:root[data-theme="dark"] [style*="color:navy"],
:root[data-theme="dark"] [style*="color: Navy"],
:root[data-theme="dark"] [style*="color:Navy"],
:root[data-theme="dark"] [style*="COLOR: navy"],
:root[data-theme="dark"] [style*="COLOR:navy"],
:root[data-theme="dark"] [style*="color: blue"],
:root[data-theme="dark"] [style*="color:blue"],
:root[data-theme="dark"] [style*="color: Blue"],
:root[data-theme="dark"] [style*="color:Blue"],
:root[data-theme="dark"] [style*="COLOR: blue"],
:root[data-theme="dark"] [style*="COLOR:blue"] {
  color: var(--link-color) !important;
}
:root[data-theme="dark"] [style*="color:captiontext"],
:root[data-theme="dark"] [style*="color: captiontext"] {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="color:#0033cc"],
:root[data-theme="dark"] [style*="color: #0033cc"],
:root[data-theme="dark"] [style*="color:#0033CC"],
:root[data-theme="dark"] [style*="color: #0033CC"] {
  color: var(--link-color) !important;
}
:root[data-theme="dark"] [style*="background-color:menu"],
:root[data-theme="dark"] [style*="background-color: menu"] {
  background-color: var(--menu-bg) !important;
}
:root[data-theme="dark"] [style*="background-color: lightgreen"],
:root[data-theme="dark"] [style*="background-color:lightgreen"],
:root[data-theme="dark"] [style*="background-color: LightGreen"],
:root[data-theme="dark"] [style*="background-color:LightGreen"] {
  background-color: #1a4a2a !important;
  color: #90ee90 !important;
}
:root[data-theme="dark"] [style*="background-color:activecaption"],
:root[data-theme="dark"] [style*="background-color: activecaption"] {
  background-color: var(--banner-bg) !important;
}
:root[data-theme="dark"] [style*="font:caption"] {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [style*="border-bottom:threeddarkshadow"] {
  border-bottom-color: var(--border-color) !important;
}
:root[data-theme="dark"] [style*="border"][style*="blue"],
:root[data-theme="dark"] [style*="border"][style*="Blue"],
:root[data-theme="dark"] [style*="border"][style*="BLUE"],
:root[data-theme="dark"] [style*="border"][style*="navy"],
:root[data-theme="dark"] [style*="border"][style*="Navy"],
:root[data-theme="dark"] [style*="border"][style*="#0000ff"],
:root[data-theme="dark"] [style*="border"][style*="#0000FF"] {
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [style*="border"][style*=" red"],
:root[data-theme="dark"] [style*="border"][style*=" Red"],
:root[data-theme="dark"] [style*="border"][style*=":red"],
:root[data-theme="dark"] [style*="border"][style*=":Red"],
:root[data-theme="dark"] [style*="border"][style*="darkred"],
:root[data-theme="dark"] [style*="border"][style*="DarkRed"],
:root[data-theme="dark"] [style*="border"][style*="Darkred"] {
  border-color: var(--error-color) !important;
}
:root[data-theme="dark"] [style*="border-color:#FDD017"],
:root[data-theme="dark"] [style*="border-color: #FDD017"] {
  border-color: #b8960a !important;
}
:root[data-theme="dark"] [bordercolor="red"],
:root[data-theme="dark"] [bordercolor="Red"] {
  border-color: var(--error-color) !important;
}
:root[data-theme="dark"] [bordercolor="blue"],
:root[data-theme="dark"] [bordercolor="Blue"],
:root[data-theme="dark"] [bordercolor="navy"],
:root[data-theme="dark"] [bordercolor="Navy"] {
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [style*="border-color:White"],
:root[data-theme="dark"] [style*="border-color: White"],
:root[data-theme="dark"] [style*="border-color:white"],
:root[data-theme="dark"] [style*="border-color: white"],
:root[data-theme="dark"] [style*="border-color:#FFFFFF"],
:root[data-theme="dark"] [style*="border-color: #FFFFFF"] {
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [style*="border-color:White"] td,
:root[data-theme="dark"] [style*="border-color: White"] td,
:root[data-theme="dark"] [style*="border-color:white"] td,
:root[data-theme="dark"] [style*="border-color: white"] td,
:root[data-theme="dark"] [style*="border-color:#FFFFFF"] td,
:root[data-theme="dark"] [style*="border-color: #FFFFFF"] td {
  border-color: var(--border-color) !important;
}
/* Disabled controls — re-assert after inline selectors so lightgray/etc.
   backgrounds don't mask the disabled appearance. */
:root[data-theme="dark"] input[disabled][style],
:root[data-theme="dark"] select[disabled][style],
:root[data-theme="dark"] textarea[disabled][style] {
  background-color: var(--disabled-bg) !important;
  color: var(--disabled-text) !important;
  cursor: not-allowed !important;
}
/* ========================================
   Telerik Control Dark Mode Overrides
   Chrome grays & edge cases not converted
   to var() in the source CSS files.
   ======================================== */
/* --- RadGrid --- */
:root[data-theme="dark"] .RadGrid_Rey .rgFilterRow,
:root[data-theme="dark"] .RadGrid_Rey .rgPager,
:root[data-theme="dark"] .RadGrid_Rey .rgFooterDiv,
:root[data-theme="dark"] .RadGrid_Rey .rgCommandRow {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
/* RadGrid sort arrows — brighten to soften the dark sprite background */
:root[data-theme="dark"] .rgSortAsc,
:root[data-theme="dark"] .rgSortDesc {
  filter: brightness(1.5) !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgActiveRow,
:root[data-theme="dark"] .RadGrid_Rey .rgHoveredRow {
  background: var(--grid-hover-bg) !important;
  color: var(--text-primary) !important;
}
/* RadGrid selected row — stronger highlight + white links */
:root[data-theme="dark"] .RadGrid_Rey .rgSelectedRow,
:root[data-theme="dark"] .RadGrid_Rey .rgSelectedRow td {
  background: #000060 !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgSelectedRow a {
  color: inherit !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgEditRow {
  background-color: var(--bg-secondary) !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgHeaderDiv,
:root[data-theme="dark"] [class*="RadGrid_"] .rgHeaderDiv {
  background: var(--grid-header-bg) !important;
  background-image: none !important;
}
:root[data-theme="dark"] .RadGrid th.rgHeader {
  border-right: 1px solid #5a5a78 !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgGroupHeader {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgInput:not([disabled]),
:root[data-theme="dark"] .RadGrid_Rey input:not([disabled]),
:root[data-theme="dark"] .RadGrid_Rey select:not([disabled]) {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border-color) !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgInput:not([disabled]):focus,
:root[data-theme="dark"] .RadGrid_Rey input:not([type="submit"]):not([type="button"]):not([disabled]):focus,
:root[data-theme="dark"] .RadGrid_Rey select:not([disabled]):focus {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
  outline: none !important;
}
:root[data-theme="dark"] .RadGrid_Rey .rgRow td,
:root[data-theme="dark"] .RadGrid_Rey .rgAltRow td,
:root[data-theme="dark"] [class*="RadGrid_"] .rgRow td,
:root[data-theme="dark"] [class*="RadGrid_"] .rgAltRow td {
  border-color: var(--border-color) !important;
  border-right: 1px solid #3a3a50 !important;
}
/* --- RadDatePicker / RadTimePicker popup icons --- */
:root[data-theme="dark"] .rcTimePopup,
:root[data-theme="dark"] .rcCalPopup {
  filter: invert(0.85) !important;
}
/* --- RadCalendar / DatePicker — skin-agnostic --- */
:root[data-theme="dark"] [class*="RadCalendar_"] {
  background-color: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMainTable {
  background-color: var(--bg-primary) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain td {
  background-color: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcHover,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain td.rcHover {
  background-color: #4a4a5e !important;
  background-image: none !important;
  background: #4a4a5e !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcHover a {
  color: #ffffff !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcWeek th {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcWeek .rcViewSel,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcRow th {
  background-color: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain .rcRow a,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain .rcRow span {
  color: var(--link-color) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain .rcWeekend a {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcRow .rcToday {
  border-color: var(--accent-color) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain .rcSelected a {
  color: #ffffff !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain .rcOtherMonth a,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcMain .rcOutOfRange span {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcTitlebar .rcPrev,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcTitlebar .rcNext,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcTitlebar .rcFastPrev,
:root[data-theme="dark"] [class*="RadCalendar_"] .rcTitlebar .rcFastNext {
  filter: invert(0.85) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcTitlebar {
  background-image: none !important;
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadCalendar_"] .rcTitlebar .rcTitle {
  color: var(--text-primary) !important;
}
/* --- RadCalendarTimeView (time picker popup) --- */
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] {
  background: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] .rcHeader {
  background: var(--bg-secondary) !important;
  background-image: none !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] td a {
  color: var(--link-color) !important;
}
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] td {
  background: var(--bg-primary) !important;
}
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] td.rcHover,
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] td.rcHover a {
  background: #4a4a5e !important;
  background-image: none !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] td.rcSelected {
  background-color: #4a4a5e !important;
}
:root[data-theme="dark"] [class*="RadCalendarTimeView_"] td.rcSelected a {
  color: #ffffff !important;
}
/* --- RadComboBox --- */
/* [class*="RadComboBox_"] matches any Telerik skin (_Rey, _Default, etc.)
   Double-class selectors kept to beat ComboBox.Rey.css on pages that load it. */
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbHeader,
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbFooter,
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbLoading,
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbCheckAllItems,
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbMoreResults,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbHeader,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbFooter,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbLoading,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbCheckAllItems,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbMoreResults {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbItem em,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbItem em {
  color: var(--text-primary) !important;
  background-color: var(--bg-secondary) !important;
}
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbSeparator,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbSeparator {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
/* RadComboBox input area — nuclear specificity approach.
   Telerik embedded skin uses border shorthand with !important.
   We use border shorthand too, with element selectors (td) and
   double/triple class for maximum specificity. */
/* Outer wrapper */
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey,
:root[data-theme="dark"] [class*="RadComboBox_"] {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
}
/* Table inside combo */
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default table,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey table,
:root[data-theme="dark"] [class*="RadComboBox_"] table {
  border: none !important;
  outline: none !important;
  background-color: var(--bg-secondary) !important;
}
/* RadComboBox label text */
:root[data-theme="dark"] .rcbLabel {
  color: var(--text-primary) !important;
}
/* Input cell — use element+class for max specificity */
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default td.rcbInputCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey td.rcbInputCell,
:root[data-theme="dark"] [class*="RadComboBox_"] td.rcbInputCell {
  border: 1px solid var(--input-border-color) !important;
  background-color: #2a2a3c !important;
  background-image: none !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default td.rcbInputCell .rcbInput,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default td.rcbInputCell .rcbReadOnly,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey td.rcbInputCell .rcbInput,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey td.rcbInputCell .rcbReadOnly,
:root[data-theme="dark"] [class*="RadComboBox_"] td.rcbInputCell .rcbInput,
:root[data-theme="dark"] [class*="RadComboBox_"] td.rcbInputCell .rcbReadOnly {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
/* Arrow cell — Default skin: invert the whole cell (sprite + bg are both light)
   Rey skin: bg is already dark via CSS vars, just invert the <a> sprite */
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default td.rcbArrowCell {
  border: 1px solid var(--input-border-color) !important;
  filter: invert(0.85) !important;
}
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey td.rcbArrowCell {
  border: 1px solid var(--input-border-color) !important;
}
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey td.rcbArrowCell a {
  filter: invert(0.85) !important;
}
/* Hovered & focused states */
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default .rcbHovered .rcbInputCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default .rcbHovered .rcbArrowCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default .rcbFocused .rcbInputCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Default .rcbFocused .rcbArrowCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey .rcbHovered .rcbInputCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey .rcbHovered .rcbArrowCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey .rcbFocused .rcbInputCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey .rcbFocused .rcbArrowCell {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
}
/* Dropdown list */
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"],
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbList,
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbScroll,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbList,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbScroll {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbItem,
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbTemplate,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbItem,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbTemplate {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbHovered,
:root[data-theme="dark"] [class*="RadComboBoxDropDown_"] .rcbSelected,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbHovered,
:root[data-theme="dark"] .RadComboBoxDropDown.RadComboBoxDropDown_Rey .rcbSelected {
  background-color: var(--grid-hover-bg) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadComboBox_"] .rcbDisabled .rcbInputCell,
:root[data-theme="dark"] [class*="RadComboBox_"] .rcbDisabled .rcbArrowCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey .rcbDisabled .rcbInputCell,
:root[data-theme="dark"] .RadComboBox.RadComboBox_Rey .rcbDisabled .rcbArrowCell {
  background-color: var(--disabled-bg) !important;
  color: var(--disabled-text) !important;
  border-color: var(--border-color) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}
:root[data-theme="dark"] [class*="RadComboBox_"] .rcbDisabled .rcbInput {
  color: var(--disabled-text) !important;
  cursor: not-allowed !important;
}
/* --- RadTreeView --- */
/* Skin-agnostic: [class*="RadTreeView_"] matches _Rey, _Default, etc. */
:root[data-theme="dark"] [class*="RadTreeView_"],
:root[data-theme="dark"] [class*="RadTreeView_"] .rtIn {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadTreeView_"] .rtHover .rtIn {
  background-color: var(--grid-hover-bg) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadTreeView_"] .rtSelected .rtIn {
  background-color: var(--accent-color) !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] [class*="RadTreeView_"] .rtLines .rtLI,
:root[data-theme="dark"] [class*="RadTreeView_"] .rtLines .rtFirst,
:root[data-theme="dark"] [class*="RadTreeView_"] .rtLines .rtLast {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] [class*="RadTreeView_"] .rtPlus,
:root[data-theme="dark"] [class*="RadTreeView_"] .rtMinus {
  filter: invert(0.85);
}
/* --- RadButton --- */
/* Match exact rendered structure: <span class="RadButton RadButton_Default rbSkinnedButton">
   <input class="rbDecorated"> */
:root[data-theme="dark"] .RadButton.RadButton_Default.rbSkinnedButton,
:root[data-theme="dark"] .RadButton.RadButton_Rey.rbSkinnedButton,
:root[data-theme="dark"] .rbSkinnedButton,
:root[data-theme="dark"] [class*="RadButton_"] {
  background-color: var(--bg-tertiary) !important;
  background-image: none !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadButton.RadButton_Default:not(.rbDisabled) input.rbDecorated:not([type="radio"]):not([type="checkbox"]),
:root[data-theme="dark"] .RadButton.RadButton_Rey:not(.rbDisabled) input.rbDecorated:not([type="radio"]):not([type="checkbox"]),
:root[data-theme="dark"] .rbSkinnedButton:not(.rbDisabled) input.rbDecorated:not([type="radio"]):not([type="checkbox"]),
:root[data-theme="dark"] .rbSkinnedButton:not(.rbDisabled) .rbText,
:root[data-theme="dark"] [class*="RadButton_"]:not(.rbDisabled) .rbText,
:root[data-theme="dark"] [class*="RadButton_"]:not(.rbDisabled) .rbDecorated:not([type="radio"]):not([type="checkbox"]) {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 3px;
}
/* RadButton rendered as radio/checkbox — Telerik renders these as
   <button class="rbRadioButton"> or <button class="rbCheckButton">
   with sprite icons. Remove the button background/border. */
:root[data-theme="dark"] .rbRadioButton,
:root[data-theme="dark"] .rbCheckButton {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
}
:root[data-theme="dark"] .rbRadioButton .rbText,
:root[data-theme="dark"] .rbCheckButton .rbText {
  background: transparent !important;
  border: none !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .rbRadioButton.rbDisabled .rbText,
:root[data-theme="dark"] .rbCheckButton.rbDisabled .rbText {
  color: var(--disabled-text) !important;
}
:root[data-theme="dark"] .rbToggleRadio,
:root[data-theme="dark"] .rbToggleCheckbox {
  filter: invert(0.85) brightness(1.8);
}
:root[data-theme="dark"] .rbToggleRadioChecked,
:root[data-theme="dark"] .rbToggleCheckboxChecked {
  filter: invert(0.85) brightness(1.3);
}
:root[data-theme="dark"] .RadButton.RadButton_Default.rbSkinnedButton:hover,
:root[data-theme="dark"] .rbSkinnedButton:hover,
:root[data-theme="dark"] [class*="RadButton_"]:hover {
  background-color: var(--grid-hover-bg) !important;
  border-color: var(--input-focus) !important;
}
:root[data-theme="dark"] .RadButton.RadButton_Default.rbSkinnedButton:focus,
:root[data-theme="dark"] .rbSkinnedButton:focus,
:root[data-theme="dark"] [class*="RadButton_"]:focus {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
  outline: none !important;
}
:root[data-theme="dark"] .rbSkinnedButton.rbDisabled,
:root[data-theme="dark"] [class*="RadButton_"].rbDisabled {
  background-color: var(--disabled-bg) !important;
  color: var(--disabled-text) !important;
  cursor: not-allowed !important;
}
/* --- RadAsyncUpload --- */
:root[data-theme="dark"] [class*="RadUpload_"],
:root[data-theme="dark"] [class*="RadAsyncUpload_"] {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadUpload_"] .ruFileWrap,
:root[data-theme="dark"] [class*="RadAsyncUpload_"] .ruFileWrap {
  background-color: transparent !important;
  background-image: none !important;
  color: var(--text-primary) !important;
  border-color: transparent !important;
}
:root[data-theme="dark"] [class*="RadUpload_"] .ruFileWrap input,
:root[data-theme="dark"] [class*="RadAsyncUpload_"] .ruFileWrap input {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .ruFakeInput {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border-color) !important;
}
:root[data-theme="dark"] [class*="RadUpload_"] .ruButton,
:root[data-theme="dark"] [class*="RadAsyncUpload_"] .ruButton,
:root[data-theme="dark"] .ruButton,
:root[data-theme="dark"] [class*="RadUpload_"] .ruBrowse,
:root[data-theme="dark"] [class*="RadAsyncUpload_"] .ruBrowse,
:root[data-theme="dark"] .ruBrowse {
  background-color: var(--bg-tertiary) !important;
  background-image: none !important;
  color: var(--text-primary) !important;
  border-top: 2px solid #6e6e82 !important;
  border-left: 2px solid #6e6e82 !important;
  border-bottom: 2px solid #1a1a28 !important;
  border-right: 2px solid #1a1a28 !important;
  cursor: pointer;
}
:root[data-theme="dark"] .ruRemove {
  margin-left: 5px !important;
}
:root[data-theme="dark"] [class*="RadUpload_"] .ruFileInput,
:root[data-theme="dark"] [class*="RadAsyncUpload_"] .ruFileInput {
  background-color: transparent !important;
  color: transparent !important;
  border-color: transparent !important;
}
:root[data-theme="dark"] [class*="RadUpload_"] .ruFileProgress,
:root[data-theme="dark"] [class*="RadAsyncUpload_"] .ruFileProgress {
  background-color: var(--accent-color) !important;
}
:root[data-theme="dark"] [class*="RadUpload_"] li,
:root[data-theme="dark"] [class*="RadAsyncUpload_"] li {
  color: var(--text-primary) !important;
}
/* Native file inputs — covers RadAsyncUpload inner <input type="file">
   and any plain ASP.NET FileUpload controls site-wide.
   color-scheme: dark tells the browser to render the native control dark. */
:root[data-theme="dark"] input[type="file"] {
  color-scheme: dark !important;
  background-color: transparent !important;
  color: var(--text-primary) !important;
  border: none !important;
}
:root[data-theme="dark"] input[type="file"]::file-selector-button {
  color-scheme: dark !important;
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-top: 2px solid #6e6e82 !important;
  border-left: 2px solid #6e6e82 !important;
  border-bottom: 2px solid #1a1a28 !important;
  border-right: 2px solid #1a1a28 !important;
  padding: 3px 12px;
  cursor: pointer;
}
:root[data-theme="dark"] input[type="file"]::file-selector-button:hover {
  background-color: var(--grid-hover-bg, #4a4a5e) !important;
}
:root[data-theme="dark"] input[type="file"]::file-selector-button:active {
  border-top: 2px solid #1a1a28 !important;
  border-left: 2px solid #1a1a28 !important;
  border-bottom: 2px solid #6e6e82 !important;
  border-right: 2px solid #6e6e82 !important;
}
/* --- RadToolTip --- */
:root[data-theme="dark"] [class*="RadToolTip_"] {
  background-color: var(--bg-secondary) !important;
  background-image: none !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [class*="RadToolTip_"] .rtContent {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadToolTip_"] .rtCallout {
  filter: invert(0.85) !important;
}
/* --- RadAutoCompleteBox --- */
/* Exact structure: <div class="RadAutoCompleteBox RadAutoCompleteBox_Default">
     <div class="racTokenList"><input class="racInput radPreventDecorate"></div>
     <div class="racSlide"><div class="RadAutoCompleteBoxPopup RadAutoCompleteBoxPopup_Default">... */
:root[data-theme="dark"] .RadAutoCompleteBox.RadAutoCompleteBox_Default,
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] {
  background-color: var(--bg-secondary) !important;
  background-image: none !important;
  border: none !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadAutoCompleteBox.RadAutoCompleteBox_Default .racTokenList,
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] .racTokenList {
  background-color: #2a2a3c !important;
  background-image: none !important;
  border: 2px inset var(--input-border-color) !important;
}
:root[data-theme="dark"] .RadAutoCompleteBox .racTokenList:focus-within {
  border: 2px solid var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
}
:root[data-theme="dark"] .RadAutoCompleteBox.RadAutoCompleteBox_Default .racInput,
:root[data-theme="dark"] .RadAutoCompleteBox.RadAutoCompleteBox_Default input.racInput,
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] .racInput,
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] input:not([disabled]) {
  background-color: var(--bg-secondary) !important;
  background-image: none !important;
  color: var(--text-primary) !important;
  border: none !important;
}
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] .racHovered {
  background-color: var(--grid-hover-bg) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] .racFocused,
:root[data-theme="dark"] .RadAutoCompleteBox.RadAutoCompleteBox_Default.racFocused {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
}
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] .racToken {
  background-color: var(--accent-color) !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] [class*="RadAutoCompleteBox_"] .racEmptyMessage {
  color: var(--text-secondary) !important;
}
/* RadAutoCompleteBox dropdown */
:root[data-theme="dark"] .RadAutoCompleteBoxPopup.RadAutoCompleteBoxPopup_Default,
:root[data-theme="dark"] [class*="RadAutoCompleteBoxPopup_"] {
  background-color: var(--bg-secondary) !important;
  background-image: none !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadAutoCompleteBoxPopup.RadAutoCompleteBoxPopup_Default .racItem,
:root[data-theme="dark"] [class*="RadAutoCompleteBoxPopup_"] .racItem {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadAutoCompleteBoxPopup.RadAutoCompleteBoxPopup_Default .racHovered,
:root[data-theme="dark"] [class*="RadAutoCompleteBoxPopup_"] .racHovered {
  background-color: var(--grid-hover-bg) !important;
  color: var(--text-primary) !important;
}
/* --- RadTextBox --- */
:root[data-theme="dark"] [class*="RadInput_"]:not(.riDisabled),
:root[data-theme="dark"] [class*="RadInput_"]:not(.riDisabled) .riTextBox,
:root[data-theme="dark"] [class*="RadInput_"]:not(.riDisabled) input {
  background-color: var(--bg-secondary) !important;
  background-image: none !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border-color) !important;
}
:root[data-theme="dark"] [class*="RadInput_"].riDisabled,
:root[data-theme="dark"] [class*="RadInput_"].riDisabled .riTextBox,
:root[data-theme="dark"] [class*="RadInput_"].riDisabled input {
  background-color: var(--disabled-bg) !important;
  background-image: none !important;
  color: var(--disabled-text) !important;
  border-color: var(--border-color) !important;
  cursor: not-allowed !important;
}
:root[data-theme="dark"] [class*="RadInput_"].riHover .riTextBox,
:root[data-theme="dark"] [class*="RadInput_"].riFocused .riTextBox {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
}
:root[data-theme="dark"] [class*="RadInput_"] .riEmpty {
  color: var(--text-secondary) !important;
}
/* --- RadAjaxLoadingPanel --- */
:root[data-theme="dark"] [class*="RadAjax_"],
:root[data-theme="dark"] .raDiv {
  background-color: rgba(30, 30, 46, 0.8) !important;
  color: var(--text-primary) !important;
}
/* --- CPM Project Tasks row highlight --- */
:root[data-theme="dark"] .rowHighlight {
  background-color: var(--highlight-color) !important;
}
/* --- LOC Vacation Calendar --- */
:root[data-theme="dark"] .currentDay {
  background: #2a3a4a !important;
  border: 2px solid var(--accent-color) !important;
}
:root[data-theme="dark"] .currentDay .rsAptCreate {
  background: #253545 !important;
  border: 1px solid var(--accent-color) !important;
}
:root[data-theme="dark"] .approvedVacLegend {
  background-color: #1a3a5c !important;
}
:root[data-theme="dark"] .pendingVac > .rsAptContent,
:root[data-theme="dark"] .pendingVacLegend {
  background: repeating-linear-gradient(135deg, #2a2a3c, #2a2a3c 5px, #3a3a4e 5px, #3a3a4e 10px) !important;
}
:root[data-theme="dark"] .holidayLegend {
  background-color: #5a2020 !important;
}
:root[data-theme="dark"] .colorSquare {
  border-color: var(--text-secondary) !important;
}
/* EFS My Queue — unread eforms are wrapped in <b>. Bold alone at #e0e0e0
   is hard to perceive on dark bg; boost to pure white for contrast. */
:root[data-theme="dark"] .myQueueRow b {
  color: #ffffff !important;
}
/* HMA ReqInbox / VARInbox — unread rows get inline font-weight:Bold on
   column spans/anchors via DataBinder.Eval. Same perceptual issue as
   EFS MyQueue but different DOM. */
:root[data-theme="dark"] .Inbox [style*="font-weight:Bold"],
:root[data-theme="dark"] .Inbox [style*="font-weight: Bold"] {
  color: #ffffff !important;
}
/* --- EFS Payroll Calendar weekend/period shading --- */
/* These pages use <style> blocks with #dddddd !important on class selectors.
   We need :root[data-theme="dark"] prefix for higher specificity. */
:root[data-theme="dark"] .WtsData > tbody > tr > td,
:root[data-theme="dark"] .CstData > tbody > tr > td,
:root[data-theme="dark"] .CwtData > tbody > tr > td {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .calendar-weekend {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .WtsData > tbody > tr > td table,
:root[data-theme="dark"] .WtsData > tbody > tr > td table td,
:root[data-theme="dark"] .CstData > tbody > tr > td table,
:root[data-theme="dark"] .CstData > tbody > tr > td table td,
:root[data-theme="dark"] .CwtData > tbody > tr > td table,
:root[data-theme="dark"] .CwtData > tbody > tr > td table td {
  background-color: inherit !important;
}
/* Weekend shading — match nth-child specificity from page inline <style> blocks
   that set #dddddd !important on Sat/Sun columns.
   WTS: cols 1 & 2, CST/CWT: cols 1 & 7, layout-ca: cols 1 & 7 */
:root[data-theme="dark"] .WtsData > tbody > tr > td.calendar-weekend,
:root[data-theme="dark"] .WtsData > tbody > tr > td.calendar-weekend table,
:root[data-theme="dark"] .WtsData > tbody > tr > td.calendar-weekend table td,
:root[data-theme="dark"] .WtsData > tbody > tr > td:nth-child(1),
:root[data-theme="dark"] .WtsData > tbody > tr > td:nth-child(1) table,
:root[data-theme="dark"] .WtsData > tbody > tr > td:nth-child(1) table td,
:root[data-theme="dark"] .WtsData > tbody > tr > td:nth-child(2),
:root[data-theme="dark"] .WtsData > tbody > tr > td:nth-child(2) table,
:root[data-theme="dark"] .WtsData > tbody > tr > td:nth-child(2) table td,
:root[data-theme="dark"] .CstData > tbody > tr > td.calendar-weekend,
:root[data-theme="dark"] .CstData > tbody > tr > td.calendar-weekend table,
:root[data-theme="dark"] .CstData > tbody > tr > td.calendar-weekend table td,
:root[data-theme="dark"] .CstData > tbody > tr > td:nth-child(1),
:root[data-theme="dark"] .CstData > tbody > tr > td:nth-child(1) table,
:root[data-theme="dark"] .CstData > tbody > tr > td:nth-child(1) table td,
:root[data-theme="dark"] .CstData > tbody > tr > td:nth-child(7),
:root[data-theme="dark"] .CstData > tbody > tr > td:nth-child(7) table,
:root[data-theme="dark"] .CstData > tbody > tr > td:nth-child(7) table td,
:root[data-theme="dark"] .CwtData > tbody > tr > td.calendar-weekend,
:root[data-theme="dark"] .CwtData > tbody > tr > td.calendar-weekend table,
:root[data-theme="dark"] .CwtData > tbody > tr > td.calendar-weekend table td,
:root[data-theme="dark"] .CwtData > tbody > tr > td:nth-child(1),
:root[data-theme="dark"] .CwtData > tbody > tr > td:nth-child(1) table,
:root[data-theme="dark"] .CwtData > tbody > tr > td:nth-child(1) table td,
:root[data-theme="dark"] .CwtData > tbody > tr > td:nth-child(7),
:root[data-theme="dark"] .CwtData > tbody > tr > td:nth-child(7) table,
:root[data-theme="dark"] .CwtData > tbody > tr > td:nth-child(7) table td,
:root[data-theme="dark"] #payrollCalendar.layout-us tr:not(.Title) td:nth-child(1),
:root[data-theme="dark"] #payrollCalendar.layout-us tr:not(.Title) td:nth-child(2),
:root[data-theme="dark"] #payrollCalendar.layout-ca tr:not(.Title) td:nth-child(1),
:root[data-theme="dark"] #payrollCalendar.layout-ca tr:not(.Title) td:nth-child(7) {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
/* --- RadScheduler --- */
:root[data-theme="dark"] .RadScheduler .rsContentTable td {
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .RadScheduler .rsNonWorkHour,
:root[data-theme="dark"] .RadScheduler .rsSunCol,
:root[data-theme="dark"] .RadScheduler .rsSatCol {
  background-color: var(--bg-secondary) !important;
}
/* Other month days — noticeably darker than current month for contrast */
:root[data-theme="dark"] .RadScheduler .rsOtherMonth,
:root[data-theme="dark"] .rsOtherMonth {
  background-color: #141420 !important;
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .RadScheduler .rsAptContent {
  background-color: #1a3a5c !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadScheduler .rsAptCreate {
  background-color: var(--grid-hover-bg) !important;
}
:root[data-theme="dark"] .rsDateBox {
  background-color: var(--bg-tertiary) !important;
}
/* --- RadEditor — dark toolbar/chrome, light content area --- */
:root[data-theme="dark"] .RadEditor.reWrapper {
  background-color: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .reToolBarWrapper,
:root[data-theme="dark"] .RadEditor .reToolBar {
  background-color: var(--bg-tertiary) !important;
  background-image: none !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .RadEditor .reTool {
  filter: invert(0.85) !important;
}
:root[data-theme="dark"] .RadEditor .reTool:hover {
  background-color: var(--grid-hover-bg) !important;
  filter: invert(0.85) !important;
}
:root[data-theme="dark"] .RadEditor .reToolDisabled {
  opacity: 0.4 !important;
}
:root[data-theme="dark"] .RadEditor .reDropdown {
  background-color: var(--bg-secondary) !important;
  background-image: none !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .RadEditor .reSeparator {
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .reBottomProperties {
  background-color: var(--bg-tertiary) !important;
  background-image: none !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .reModes a {
  color: var(--text-primary) !important;
  background-color: var(--bg-tertiary) !important;
  background-image: none !important;
}
:root[data-theme="dark"] .reModes a.reSelectedMode {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .reModule {
  background-color: var(--bg-tertiary) !important;
  background-image: none !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .reModule span {
  color: var(--text-secondary) !important;
}
/* RadEditor context menu (Default skin) */
:root[data-theme="dark"] .RadMenu_Default.RadMenu_Context,
:root[data-theme="dark"] .RadMenu_Default .rmGroup {
  background-color: var(--bg-secondary) !important;
  background-image: none !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .RadMenu_Default .rmLink {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadMenu_Default .rmLink:hover {
  background-color: var(--grid-hover-bg) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadMenu_Default .rmLeftImage {
  filter: invert(0.85) !important;
}
/* --- RadMenu --- */
:root[data-theme="dark"] .RadMenu_Rey .rmTopArrow,
:root[data-theme="dark"] .RadMenu_Rey .rmBottomArrow,
:root[data-theme="dark"] .RadMenu_Rey .rmLeftArrow,
:root[data-theme="dark"] .RadMenu_Rey .rmRightArrow {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .RadMenu_Rey .rmSeparator .rmText,
:root[data-theme="dark"] .RadMenu_Rey .rmGroup .rmSeparator .rmText {
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .RadMenu_Rey .rmItem a.rmDisabled,
:root[data-theme="dark"] .RadMenu_Rey .rmItem a.rmDisabled:hover {
  color: var(--disabled-text) !important;
  cursor: not-allowed !important;
}
/* --- RadLabel --- */
:root[data-theme="dark"] .RadLabel_Default {
  color: var(--text-primary) !important;
}
/* --- Selectize.js (multi-select tag control, used on CPM Console etc.) --- */
:root[data-theme="dark"] .selectize-input {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border-color) !important;
}
:root[data-theme="dark"] .selectize-input.focus {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 2px var(--input-focus-glow) !important;
}
:root[data-theme="dark"] .selectize-input input {
  background-color: transparent !important;
  color: var(--text-primary) !important;
  border: none !important;
}
:root[data-theme="dark"] .selectize-input .item {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .selectize-input .item .remove {
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}
:root[data-theme="dark"] .selectize-dropdown {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border-color) !important;
}
:root[data-theme="dark"] .selectize-dropdown .option {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .selectize-dropdown .option:hover,
:root[data-theme="dark"] .selectize-dropdown .active {
  background-color: var(--grid-hover-bg) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .selectize-dropdown .optgroup-header {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-secondary) !important;
}
/* --- RadTabStrip --- */
:root[data-theme="dark"] .RadTabStrip_Rey .rtsLink {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .RadTabStrip_Rey .rtsLink:hover {
  background-color: var(--grid-hover-bg) !important;
}
:root[data-theme="dark"] .RadTabStrip_Rey .rtsLink.rtsSelected {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}
/* --- Reynolds ComboBox (portal:combobox) --- */
:root[data-theme="dark"] .comboBox a.dropDownButton {
  filter: invert(0.85);
}
:root[data-theme="dark"] .itemList li:hover,
:root[data-theme="dark"] .itemList li.hover {
  background: var(--grid-hover-bg) !important;
}
:root[data-theme="dark"] .itemList li.selected {
  background: var(--accent-color) !important;
}
/* --- RadDropDownTree --- */
:root[data-theme="dark"] .rddtPopup_Rey .rddtFilter {
  background-color: var(--bg-secondary) !important;
}
/* --- Kendo / RadHtmlChart (SVG text) --- */
:root[data-theme="dark"] .k-chart text {
  fill: var(--text-primary) !important;
}
/* --- IBC LogCalendar --- */
:root[data-theme="dark"] .LogCalendar td {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .LogCalendar .Days {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .LogCalendar .Today {
  background-color: #3a3000 !important;
  color: var(--warning-color) !important;
}
:root[data-theme="dark"] .LogCalendar .DaysHeader {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
/* --- SVG icons (black on transparent) --- */
:root[data-theme="dark"] img[src$=".svg"] {
  filter: invert(0.85);
}
/* --- GIF icons with non-transparent backgrounds --- */
/* Most GIFs in /images/ have white backgrounds that stand out on dark theme.
   Invert + hue-rotate preserves icon colors while flipping the background. */
:root[data-theme="dark"] img[src*="/images/"][src$=".gif"],
:root[data-theme="dark"] img[src*="/images/"][src$=".GIF"],
:root[data-theme="dark"] img[src*="/Images/"][src$=".gif"],
:root[data-theme="dark"] img[src*="/Images/"][src$=".GIF"] {
  filter: invert(0.85) hue-rotate(180deg);
}
/* Sort arrows (asc/desc.gif) — yellow on white background.
   Invert flips white bg to dark, hue-rotate preserves the yellow color. */
:root[data-theme="dark"] img[src*="desc.gif"],
:root[data-theme="dark"] img[src*="asc.gif"] {
  filter: invert(0.85) hue-rotate(180deg) saturate(4) brightness(2) !important;
}
/* Popup close button (errorcancel.gif) — bright so it's easy to find */
:root[data-theme="dark"] img[src*="errorcancel.gif"],
:root[data-theme="dark"] img[src*="cancel.gif"] {
  filter: invert(0.85) hue-rotate(180deg) saturate(3) brightness(2.5) !important;
  cursor: pointer;
}
/* Calendar picker icon (apptl.gif) — 16×16 low-res, washes out under the
   default invert+hue-rotate. Boost saturation + brightness to keep it legible. */
:root[data-theme="dark"] img[src*="apptl.gif"] {
  filter: invert(0.85) hue-rotate(180deg) saturate(2) brightness(1.6) !important;
}
/* --- ASP.NET Calendar popup (Calendar.aspx in iframe) --- */
/* Outer wrapper table — bgcolor="#6699cc" is hardcoded in Calendar.aspx (same all envs) */
:root[data-theme="dark"] table[bgcolor="#6699cc"] {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
}
/* Day cells, headers, title bar — all render with inline BackColor="White" */
:root[data-theme="dark"] #currentCalendar td[style*="background-color:White"],
:root[data-theme="dark"] #currentCalendar td[style*="background-color: White"] {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
/* Today highlight — inline BackColor="Red" */
:root[data-theme="dark"] #currentCalendar td[style*="background-color:Red"],
:root[data-theme="dark"] #currentCalendar td[style*="background-color: Red"] {
  background-color: #8b3030 !important;
  color: #ffffff !important;
}
/* Today — inline background-color:Red */
:root[data-theme="dark"] #currentCalendar td[style*="background-color:Red"],
:root[data-theme="dark"] #currentCalendar td[style*="background-color: Red"] {
  background-color: #8b3030 !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] #currentCalendar td[style*="background-color:Red"] a,
:root[data-theme="dark"] #currentCalendar td[style*="background-color: Red"] a {
  color: #ffffff !important;
}
/* Selected day — not White, not Red (catches #6699CC and today+selected combo) */
:root[data-theme="dark"] #currentCalendar td[style*="width:14%"]:not([style*="background-color:White"]):not([style*="background-color: White"]):not([style*="background-color:Red"]):not([style*="background-color: Red"]) {
  background-color: #1a3a5c !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] #currentCalendar td[style*="width:14%"]:not([style*="background-color:White"]):not([style*="background-color: White"]):not([style*="background-color:Red"]):not([style*="background-color: Red"]) a {
  color: #ffffff !important;
}
/* Calendar nav links and day links */
:root[data-theme="dark"] #currentCalendar a {
  color: var(--link-color) !important;
}
/* Title text */
:root[data-theme="dark"] #currentCalendar td[style*="border-style:Solid"] {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
/* Today/None buttons */
:root[data-theme="dark"] table[bgcolor="#6699cc"] input[type="submit"]:not([disabled]) {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}
:root[data-theme="dark"] table[bgcolor="#6699cc"] input[type="submit"]:hover {
  background-color: var(--grid-hover-bg, #4a4a5e) !important;
}
/* Body background for the popup */
:root[data-theme="dark"] body {
  background-color: var(--bg-primary);
}
/* --- ClientWarningControl (CIF Warning panel) --- */
:root[data-theme="dark"] .ReyWarningTitle {
  background-color: #3a3000 !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .ReyWarningTitle h2 {
  color: var(--warning-color) !important;
}
:root[data-theme="dark"] .ReyWarningTitle a {
  color: var(--link-color) !important;
}
/* Tab header — remove the light-theme warning GIF */
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_header {
  background-image: none !important;
}
/* Inactive tab — dark background with subtle gold border */
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_outer {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid #b8960a !important;
}
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_inner {
  background-color: var(--bg-tertiary) !important;
}
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_tab {
  color: var(--text-primary) !important;
}
/* Active CssTabs tab — bolder text so selected tab is easy to identify.
   Intentionally text-only: no bg/border changes to avoid layout bleeding. */
:root[data-theme="dark"] .CssTabs .ajax__tab_active .ajax__tab_tab {
  font-weight: bold;
  font-size: 1.05em;
}
/* Links inside tab headers should match tab text, not link color */
:root[data-theme="dark"] .ajax__tab_tab a,
:root[data-theme="dark"] .ajax__tab_tab a:visited {
  color: inherit !important;
}
/* Hover — slightly lighter */
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_hover .ajax__tab_outer,
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_hover .ajax__tab_inner {
  background-color: var(--grid-hover-bg) !important;
}
/* Active tab — matches content body, gold text, bottom border blends */
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_active .ajax__tab_outer {
  background-color: var(--bg-primary) !important;
  border: 1px solid #b8960a !important;
  border-bottom-color: var(--bg-primary) !important;
}
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_active .ajax__tab_inner {
  background-color: var(--bg-primary) !important;
}
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_active .ajax__tab_tab {
  color: var(--warning-color) !important;
  font-weight: bold;
}
/* Tab body — dark with gold border */
:root[data-theme="dark"] .ReyWarningTabs .ajax__tab_body {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  border-color: #b8960a !important;
}
:root[data-theme="dark"] .ReyWarningTabs h4 {
  color: var(--text-primary) !important;
}
/**********************************
 Theme-independent rules — apply in both light and dark mode.
 dark-theme.css is loaded on every page so these always take effect.
***********************************/
/* Disabled controls — cursor: not-allowed in both themes */
input[disabled],
select[disabled],
textarea[disabled],
button[disabled],
a[disabled] {
  cursor: not-allowed;
}
/* Toggle switch OFF state — muted red in both themes */
.switch .slider {
  background-color: #8b3030 !important;
  border-color: #6a2424 !important;
}
.switch .slider:before {
  background-color: #cccccc !important;
}
.switch input:checked + .slider {
  background-color: #287a38 !important;
  border-color: #287a38 !important;
}
/* --- AddPMR* duplicate-check popup (AddPMRProblem / AddPMRModification / AddPMRWorkOrder) --- */
/* Inline `background:#f5f5f5` (shorthand) on the inner card isn't caught by the
   site-wide `background-color:` inline selectors. Text would be light-on-light. */
:root[data-theme="dark"] #duplicateCheckMsg > div {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
