/*
 * TST-506 reskin: the Themis look for app.cheerreplay.com.
 *
 * Loaded by views/layout.ejs only when FEATURE_RESKIN is on, and every rule is scoped to html.rs,
 * so FEATURE_RESKIN=0 renders the old look untouched. Not in tasks/pipeline.js on purpose.
 *
 * Tokens mirror the Themis React theme (react-ui/src/theme.tsx, MUI v4): dark by default, a light
 * option (top-bar button, remembered per browser). The old theme.css variables (--bg-primary,
 * --text-primary, ...) are re-pointed at these tokens, so pages built on them follow along.
 */

/* ---- tokens ------------------------------------------------------------------------------------ */
html.rs {
  --rs-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rs-radius: 10px;
  --rs-radius-sm: 8px;
  --rs-top-h: 52px;
  --rs-nav-w: 240px;

  /* dark (Themis default) */
  --rs-bg: #101418;
  --rs-paper: #1A2027;
  --rs-paper-2: #212932;
  --rs-text: #ECEFF3;
  --rs-text-2: #9AA5B1;
  --rs-divider: rgba(255, 255, 255, 0.10);
  --rs-input-bg: rgba(255, 255, 255, 0.04);
  --rs-input-border: rgba(255, 255, 255, 0.16);
  --rs-hover: rgba(255, 255, 255, 0.06);
  --rs-zebra: rgba(255, 255, 255, 0.02);
  --rs-head-bg: rgba(255, 255, 255, 0.03);
  --rs-primary: #EF5350;
  --rs-primary-dark: #D32F2F;
  --rs-primary-light: #E57373;
  --rs-primary-tint: rgba(239, 83, 80, 0.12);
  --rs-on-primary: #FFFFFF;
  --rs-success: #66BB6A;
  --rs-warning: #FFA726;
  --rs-info: #64B5F6;
  --rs-error: #EF5350;
  --rs-success-tint: rgba(102, 187, 106, 0.14);
  --rs-warning-tint: rgba(255, 167, 38, 0.14);
  --rs-info-tint: rgba(100, 181, 246, 0.14);
  --rs-error-tint: rgba(239, 83, 80, 0.14);
  --rs-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  --rs-focus: 0 0 0 2px rgba(100, 181, 246, 0.6);
  color-scheme: dark;
}

html.rs[data-theme="light"] {
  --rs-bg: #F4F6F8;
  --rs-paper: #FFFFFF;
  --rs-paper-2: #F8FAFB;
  --rs-text: #1A202C;
  --rs-text-2: #52606D;
  --rs-divider: rgba(0, 0, 0, 0.08);
  --rs-input-bg: rgba(0, 0, 0, 0.02);
  --rs-input-border: rgba(0, 0, 0, 0.18);
  --rs-hover: rgba(0, 0, 0, 0.04);
  --rs-zebra: rgba(0, 0, 0, 0.015);
  --rs-head-bg: rgba(0, 0, 0, 0.02);
  --rs-primary: #C62828;
  --rs-primary-dark: #8E1B1B;
  --rs-primary-light: #E53935;
  --rs-primary-tint: rgba(198, 40, 40, 0.08);
  --rs-success: #2E7D32;
  --rs-warning: #ED6C02;
  --rs-info: #1565C0;
  --rs-error: #C62828;
  --rs-success-tint: rgba(46, 125, 50, 0.10);
  --rs-warning-tint: rgba(237, 108, 2, 0.10);
  --rs-info-tint: rgba(21, 101, 192, 0.08);
  --rs-error-tint: rgba(198, 40, 40, 0.08);
  --rs-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.03);
  --rs-focus: 0 0 0 2px rgba(21, 101, 192, 0.45);
  color-scheme: light;
}

/* The old theme.css variables, re-pointed (pages written against them follow the theme). */
html.rs {
  --primary-color: var(--rs-primary);
  --primary-dark: var(--rs-primary-dark);
  --primary-light: var(--rs-primary-light);
  --secondary-color: var(--rs-primary);
  --accent-color: var(--rs-primary);
  --success-color: var(--rs-success);
  --warning-color: var(--rs-warning);
  --danger-color: var(--rs-error);
  --text-primary: var(--rs-text);
  --text-secondary: var(--rs-text-2);
  --bg-primary: var(--rs-paper);
  --bg-secondary: var(--rs-bg);
  --bg-tertiary: var(--rs-head-bg);
  --border-color: var(--rs-divider);
  --shadow-sm: var(--rs-shadow);
  --shadow-md: var(--rs-shadow);
  --shadow-lg: var(--rs-shadow);
  --shadow-xl: var(--rs-shadow);
  --radius-sm: 6px;
  --radius-md: var(--rs-radius-sm);
  --radius-lg: var(--rs-radius);
  --radius-xl: var(--rs-radius);
}

/* ---- base -------------------------------------------------------------------------------------- */
html.rs, html.rs body {
  background: var(--rs-bg);
  color: var(--rs-text);
  font-family: var(--rs-font);
  font-size: 14px;
  line-height: 1.55;
}
html.rs body { overflow-x: hidden; min-width: 0; height: auto; min-height: 100%; }
html.rs .ui:not(i), html.rs input, html.rs select, html.rs textarea, html.rs button,
html.rs h1, html.rs h2, html.rs h3, html.rs h4, html.rs h5, html.rs h6 { font-family: var(--rs-font); }
html.rs h1, html.rs h2, html.rs h3, html.rs h4, html.rs h5, html.rs h6, html.rs .ui.header { color: var(--rs-text); letter-spacing: -0.01em; }
html.rs h1 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; }
html.rs h2 { font-size: 1.25rem; font-weight: 600; }
html.rs h3 { font-size: 1.0625rem; font-weight: 600; }
html.rs a { color: var(--rs-info); }
html.rs a:hover { color: var(--rs-info); text-decoration: underline; }
html.rs a.ui.button:hover, html.rs a.rs-nav-item:hover, html.rs a.rs-brand:hover, html.rs a.action-card:hover,
html.rs a.rs-card:hover, html.rs a.crud-add-btn:hover, html.rs a.table-action-btn:hover { text-decoration: none; }
html.rs ::selection { background: var(--rs-primary-tint); }
html.rs :focus-visible { outline: none; box-shadow: var(--rs-focus); }

/* ---- shell: top bar ---------------------------------------------------------------------------- */
html.rs .rs-top {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1001;
  height: var(--rs-top-h);
  display: flex; align-items: center; gap: 8px;
  padding: 0 12px 0 16px;
  background: var(--rs-paper);
  border-bottom: 1px solid var(--rs-divider);
}
html.rs .rs-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--rs-text); font-weight: 600; font-size: 1rem; text-decoration: none; }
html.rs .rs-brand img { height: 26px; width: auto; border-radius: 4px; }
html.rs .rs-top-spacer { flex: 1; }
html.rs .rs-top-link { color: var(--rs-text-2); font-size: 0.8125rem; display: inline-flex; align-items: center; gap: 4px; padding: 6px 10px; border-radius: var(--rs-radius-sm); }
html.rs .rs-top-link:hover { background: var(--rs-hover); color: var(--rs-text); text-decoration: none; }
html.rs .rs-icon-btn {
  width: 36px; height: 36px; border-radius: 50%; border: 0; background: transparent; color: var(--rs-text-2);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.05rem; padding: 0;
}
html.rs .rs-icon-btn i.icon { margin: 0; height: auto; }
html.rs .rs-icon-btn:hover { background: var(--rs-hover); color: var(--rs-text); }
html.rs .rs-menu-btn { display: none; margin-left: -6px; }
html.rs .rs-avatar {
  width: 32px; height: 32px; border-radius: 50%; margin-left: 4px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--rs-primary); color: var(--rs-on-primary); font-weight: 600; font-size: 0.875rem; text-decoration: none;
}
html.rs .rs-avatar:hover { color: var(--rs-on-primary); text-decoration: none; filter: brightness(1.08); }

/* ---- shell: left menu -------------------------------------------------------------------------- */
html.rs .rs-nav {
  position: fixed; top: var(--rs-top-h); bottom: 0; left: 0; z-index: 1000;
  width: var(--rs-nav-w);
  overflow-y: auto; overflow-x: hidden;
  padding: 8px 0 24px;
  background: var(--rs-paper);
  border-right: 1px solid var(--rs-divider);
}
html.rs .rs-nav-group { padding: 4px 0; }
html.rs .rs-nav-label {
  font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--rs-text-2); line-height: 28px; padding: 0 16px;
}
html.rs .rs-nav-item {
  display: flex; align-items: center; gap: 10px;
  margin: 1px 8px; padding: 6px 10px; border-radius: var(--rs-radius-sm);
  color: var(--rs-text-2); font-size: 0.8125rem; line-height: 1.4; text-decoration: none; white-space: nowrap;
}
html.rs .rs-nav-item i.icon { width: 18px; margin: 0; opacity: 0.9; font-size: 1em; }
html.rs .rs-nav-item:hover { background: var(--rs-hover); color: var(--rs-text); }
html.rs .rs-nav-item.active { color: var(--rs-primary); background: var(--rs-primary-tint); font-weight: 600; }
html.rs .rs-scrim { display: none; }
html.rs .rs-mobile-only { display: none; }
/* The menu column keeps its colour the whole way down, however long the page. */
html.rs body:has(.rs-nav) { background: linear-gradient(to right, var(--rs-paper) calc(var(--rs-nav-w) - 1px), var(--rs-divider) calc(var(--rs-nav-w) - 1px), var(--rs-divider) var(--rs-nav-w), var(--rs-bg) var(--rs-nav-w)); }

/* account menu (avatar) */
html.rs .rs-acct { position: relative; }
html.rs button.rs-avatar { border: 0; cursor: pointer; padding: 0; font-family: var(--rs-font); }
html.rs .rs-acct-menu {
  display: none; position: absolute; right: 0; top: 42px; min-width: 220px; z-index: 1010;
  background: var(--rs-paper-2); border: 1px solid var(--rs-divider); border-radius: var(--rs-radius-sm);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); padding: 6px 0;
}
html.rs .rs-acct.open .rs-acct-menu { display: block; }
html.rs .rs-acct-email { padding: 6px 14px 8px; font-size: 0.75rem; color: var(--rs-text-2); border-bottom: 1px solid var(--rs-divider); margin-bottom: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 280px; }
html.rs .rs-acct-menu a { display: flex; align-items: center; gap: 8px; padding: 7px 14px; color: var(--rs-text); font-size: 0.8125rem; }
html.rs .rs-acct-menu a:hover { background: var(--rs-hover); text-decoration: none; color: var(--rs-text); }
html.rs .rs-acct-menu a i.icon { width: 18px; margin: 0; color: var(--rs-text-2); }

/* ---- shell: main column ------------------------------------------------------------------------ */
html.rs .rs-main { padding-top: var(--rs-top-h); min-height: 100vh; display: flex; flex-direction: column; min-width: 0; }
html.rs body:has(.rs-nav) .rs-main { margin-left: var(--rs-nav-w); }
html.rs .rs-nav ~ .rs-main { margin-left: var(--rs-nav-w); }
html.rs .main-content { background: transparent; padding: 24px 0 32px; flex: 1; min-height: 0; }
html.rs .content-wrapper { max-width: 1280px; padding: 0 24px; }
html.rs .ui.container:not(.segment) { padding: 0; }
html.rs .ui.container.segment { padding: 20px; }
html.rs .ui.grid.container, html.rs .ui.container { width: auto !important; max-width: 100%; margin-left: 0 !important; margin-right: 0 !important; }
/* Older pages centre their title with <center>; Themis titles sit top-left. */
html.rs .content-wrapper center { text-align: left; }
html.rs .content-wrapper center > h1, html.rs .content-wrapper center > h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 4px; }
html.rs .crud-header { text-align: left; margin-bottom: 16px; }
html.rs .crud-header h1 { margin: 0 0 4px; }
html.rs .crud-header p { margin: 0; }

@media (max-width: 899px) {
  html.rs .rs-menu-btn { display: inline-flex; }
  html.rs .rs-nav { transform: translateX(-100%); transition: transform 0.2s ease; width: 280px; box-shadow: none; z-index: 1003; top: 0; padding-top: calc(var(--rs-top-h) + 8px); }
  html.rs.rs-nav-open .rs-nav { transform: none; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); }
  html.rs.rs-nav-open .rs-scrim { display: block; position: fixed; inset: 0; z-index: 1002; background: rgba(0, 0, 0, 0.45); }
  html.rs.rs-nav-open .rs-top { z-index: 1004; }
  html.rs .rs-nav ~ .rs-main, html.rs body:has(.rs-nav) .rs-main { margin-left: 0; }
  html.rs .content-wrapper { padding: 0 16px; }
  html.rs .main-content { padding: 16px 0 24px; }
  html.rs .rs-top-link span { display: none; }
  html.rs .rs-mobile-only { display: block; }
  html.rs .rs-acct { display: none; }
  html.rs body:has(.rs-nav) { background: var(--rs-bg); }
}

/* Top-of-page banners (two-factor invite, contact prompt) */
html.rs .rs-main > .ui.message { margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; border-bottom: 1px solid var(--rs-divider) !important; }

/* ---- footer ------------------------------------------------------------------------------------ */
html.rs .modern-footer { background: transparent; color: var(--rs-text-2); border-top: 1px solid var(--rs-divider); padding: 16px 0 20px; margin-top: 0; font-size: 0.75rem; }
html.rs .modern-footer p { color: var(--rs-text-2); margin: 0.35rem 0; }
html.rs .modern-footer a { color: var(--rs-text-2) !important; }
html.rs .modern-footer a:hover { color: var(--rs-text) !important; }
html.rs .footer-container { padding: 0 16px; }

/* ---- page header (shared by reskinned pages) --------------------------------------------------- */
html.rs .rs-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 16px; }
html.rs .rs-page-head h1 { margin: 0 0 2px; }
html.rs .rs-page-head p { margin: 0; color: var(--rs-text-2); }
html.rs .breadcrumb-nav { display: none; }   /* the left menu shows where you are */

/* ---- cards / segments -------------------------------------------------------------------------- */
html.rs .ui.segment, html.rs .ui.segments, html.rs .ui.card, html.rs .ui.cards > .card, html.rs .ui.raised.segment, html.rs .ui.stacked.segment,
html.rs .crud-table-wrapper, html.rs .rs-card {
  background: var(--rs-paper) !important;
  color: var(--rs-text);
  border: 1px solid var(--rs-divider) !important;
  border-radius: var(--rs-radius) !important;
  box-shadow: var(--rs-shadow) !important;
}
html.rs .ui.stacked.segment::after, html.rs .ui.piled.segment::after, html.rs .ui.piled.segment::before { display: none; }
html.rs .ui.basic.segment { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html.rs .ui.segment .ui.segment { box-shadow: none !important; }
html.rs .ui.secondary.segment, html.rs .ui.tertiary.segment { background: var(--rs-paper-2) !important; color: var(--rs-text); }
html.rs .ui.card > .content, html.rs .ui.cards > .card > .content { border-top-color: var(--rs-divider); }
html.rs .ui.card > .content > .header, html.rs .ui.cards > .card > .content > .header { color: var(--rs-text); }
html.rs .ui.card .meta, html.rs .ui.card > .content > .description, html.rs .ui.cards > .card .meta, html.rs .ui.cards > .card > .content > .description { color: var(--rs-text-2); }
html.rs .ui.card > .extra, html.rs .ui.cards > .card > .extra { color: var(--rs-text-2); border-top-color: var(--rs-divider) !important; }
html.rs .ui.card:hover, html.rs .ui.cards > .card:hover { transform: none; }
html.rs .ui.divider:not(.vertical):not(.horizontal) { border-top-color: var(--rs-divider); border-bottom-color: transparent; }
html.rs .ui.header .sub.header, html.rs .ui.sub.header { color: var(--rs-text-2); }
html.rs .ui.list .item, html.rs .ui.list > .item .header { color: var(--rs-text); }
html.rs .ui.list .item .description { color: var(--rs-text-2); }
html.rs .ui.statistic > .value, html.rs .ui.statistic > .label, html.rs .ui.statistics .statistic > .value, html.rs .ui.statistics .statistic > .label { color: var(--rs-text); }

/* ---- buttons ----------------------------------------------------------------------------------- */
html.rs .ui.button {
  border-radius: var(--rs-radius-sm);
  font-weight: 500; font-size: 0.8125rem; letter-spacing: 0.015em;
  padding: 0.65em 1.15em;
  box-shadow: none; transform: none;
  background: var(--rs-input-bg); color: var(--rs-text);
  border: 1px solid var(--rs-input-border);
}
html.rs .ui.button:hover, html.rs .ui.button:focus { background: var(--rs-hover); color: var(--rs-text); transform: none; box-shadow: none; }
html.rs .ui.mini.button { font-size: 0.72rem; } html.rs .ui.tiny.button { font-size: 0.75rem; } html.rs .ui.small.button { font-size: 0.78rem; }
html.rs .ui.large.button { font-size: 0.9375rem; } html.rs .ui.huge.button, html.rs .ui.massive.button, html.rs .ui.big.button { font-size: 1rem; }
html.rs .ui.primary.button, html.rs .ui.red.button:not(.basic), html.rs .ui.button.primary, html.rs .crud-add-btn, html.rs .ui.positive.button, html.rs .rs-primary-btn {
  background: var(--rs-primary) !important; color: var(--rs-on-primary) !important; border: 1px solid transparent !important; box-shadow: none !important;
}
html.rs .ui.primary.button:hover, html.rs .ui.red.button:not(.basic):hover, html.rs .ui.button.primary:hover, html.rs .crud-add-btn:hover, html.rs .ui.positive.button:hover, html.rs .rs-primary-btn:hover {
  background: var(--rs-primary-dark) !important; color: var(--rs-on-primary) !important; transform: none;
}
html.rs .ui.green.button:not(.basic) { background: var(--rs-success) !important; color: #fff !important; border-color: transparent; }
html.rs .ui.blue.button:not(.basic), html.rs .ui.teal.button:not(.basic) { background: var(--rs-info-tint) !important; color: var(--rs-info) !important; border: 1px solid transparent; }
html.rs .ui.orange.button:not(.basic), html.rs .ui.yellow.button:not(.basic) { background: var(--rs-warning-tint) !important; color: var(--rs-warning) !important; border: 1px solid transparent; }
html.rs .ui.negative.button { background: transparent !important; color: var(--rs-error) !important; border: 1px solid var(--rs-error) !important; }
html.rs .ui.grey.button:not(.basic), html.rs .ui.black.button:not(.basic) { background: var(--rs-paper-2) !important; color: var(--rs-text) !important; border: 1px solid var(--rs-input-border); }
html.rs .ui.basic.button, html.rs .ui.basic.buttons .button {
  background: transparent !important; color: var(--rs-text) !important; box-shadow: inset 0 0 0 1px var(--rs-input-border) !important; border: 0 !important;
}
html.rs .ui.basic.button:hover, html.rs .ui.basic.buttons .button:hover { background: var(--rs-hover) !important; }
html.rs .ui.basic.red.button, html.rs .ui.basic.red.buttons .button { color: var(--rs-error) !important; box-shadow: inset 0 0 0 1px var(--rs-error) !important; }
html.rs .ui.basic.green.button { color: var(--rs-success) !important; box-shadow: inset 0 0 0 1px var(--rs-success) !important; }
html.rs .ui.basic.blue.button, html.rs .ui.basic.teal.button { color: var(--rs-info) !important; box-shadow: inset 0 0 0 1px var(--rs-info) !important; }
html.rs .ui.basic.orange.button, html.rs .ui.basic.yellow.button { color: var(--rs-warning) !important; box-shadow: inset 0 0 0 1px var(--rs-warning) !important; }
html.rs .ui.disabled.button, html.rs .ui.button:disabled { opacity: 0.45 !important; }
html.rs .ui.buttons .button { border-radius: 0; }
html.rs .ui.buttons .button:first-child { border-top-left-radius: var(--rs-radius-sm); border-bottom-left-radius: var(--rs-radius-sm); }
html.rs .ui.buttons .button:last-child { border-top-right-radius: var(--rs-radius-sm); border-bottom-right-radius: var(--rs-radius-sm); }
html.rs .ui.buttons .active.button, html.rs .ui.active.button { background: var(--rs-primary-tint) !important; color: var(--rs-primary) !important; }
html.rs .table-action-btn { background: transparent; color: var(--rs-text); border: 1px solid var(--rs-input-border); border-radius: var(--rs-radius-sm); }
html.rs .table-action-btn:hover { background: var(--rs-hover); color: var(--rs-text); transform: none; box-shadow: none; }
html.rs .table-action-btn.primary { color: var(--rs-primary); border-color: var(--rs-primary); background: transparent; }
html.rs .table-action-btn.danger { color: var(--rs-error); border-color: var(--rs-error); background: transparent; }
html.rs .crud-add-btn { border-radius: var(--rs-radius-sm); padding: 0.6rem 1.1rem; font-weight: 500; font-size: 0.8125rem; transform: none; }

/* ---- forms ------------------------------------------------------------------------------------- */
html.rs .ui.form .field > label, html.rs .ui.form .fields > label, html.rs label, html.rs .ui.form .inline.field > label {
  color: var(--rs-text-2); font-size: 0.78rem; font-weight: 500; letter-spacing: 0.01em;
}
html.rs .ui.form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
html.rs .ui.form textarea, html.rs .ui.form select, html.rs .ui.input > input, html.rs select, html.rs textarea,
html.rs input[type="text"], html.rs input[type="email"], html.rs input[type="search"], html.rs input[type="number"], html.rs input[type="tel"],
html.rs input[type="password"], html.rs input[type="date"], html.rs input[type="datetime-local"], html.rs input[type="time"], html.rs input[type="url"],
html.rs .ui.selection.dropdown {
  background: var(--rs-input-bg) !important;
  color: var(--rs-text) !important;
  border: 1px solid var(--rs-input-border) !important;
  border-radius: var(--rs-radius-sm) !important;
  box-shadow: none !important;
}
html.rs select option { background: var(--rs-paper); color: var(--rs-text); }
html.rs .ui.form input:focus, html.rs .ui.form textarea:focus, html.rs .ui.form select:focus, html.rs .ui.input > input:focus,
html.rs select:focus, html.rs textarea:focus, html.rs input:focus, html.rs .ui.selection.active.dropdown {
  border-color: var(--rs-info) !important; box-shadow: var(--rs-focus) !important; outline: none;
}
html.rs ::placeholder { color: var(--rs-text-2) !important; opacity: 0.75; }
html.rs .ui.input > input::placeholder, html.rs .ui.form ::placeholder { color: var(--rs-text-2) !important; }
html.rs .ui.form .field.error input, html.rs .ui.form .field.error textarea, html.rs .ui.form .field.error select { background: var(--rs-error-tint) !important; border-color: var(--rs-error) !important; color: var(--rs-text) !important; }
html.rs .ui.form .field.error label, html.rs .ui.form .fields.error .field label { color: var(--rs-error) !important; }
html.rs .ui.checkbox label, html.rs .ui.checkbox + label, html.rs .ui.radio.checkbox label { color: var(--rs-text) !important; font-size: 0.875rem; }
html.rs .ui.checkbox label:before, html.rs .ui.checkbox .box:before { background: var(--rs-input-bg) !important; border-color: var(--rs-input-border) !important; }
html.rs .ui.checkbox input:checked ~ label:after, html.rs .ui.checkbox input:checked ~ .box:after { color: var(--rs-text) !important; }
html.rs .ui.toggle.checkbox input:checked ~ label:before { background: var(--rs-primary) !important; }
html.rs .ui.labeled.input > .label, html.rs .ui.action.input > .button { border-radius: var(--rs-radius-sm); }
html.rs .ui.left.icon.input > i.icon, html.rs .ui.icon.input > i.icon { color: var(--rs-text-2); }

/* dropdown menus (Semantic) */
html.rs .ui.dropdown .menu, html.rs .ui.selection.dropdown .menu, html.rs .ui.menu .dropdown.item .menu {
  background: var(--rs-paper-2) !important; border: 1px solid var(--rs-divider) !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important; border-radius: var(--rs-radius-sm) !important;
}
html.rs .ui.dropdown .menu > .item, html.rs .ui.selection.dropdown .menu > .item { color: var(--rs-text) !important; border-top-color: var(--rs-divider) !important; }
html.rs .ui.dropdown .menu > .item:hover, html.rs .ui.dropdown .menu .selected.item, html.rs .ui.dropdown .menu .active.item { background: var(--rs-hover) !important; color: var(--rs-text) !important; }
html.rs .ui.dropdown .menu > .header { color: var(--rs-text-2) !important; }
html.rs .ui.dropdown > .text, html.rs .ui.selection.dropdown > .text { color: var(--rs-text); }
html.rs .ui.dropdown:not(.button) > .default.text, html.rs .ui.default.dropdown:not(.button) > .text { color: var(--rs-text-2); }
html.rs .ui.multiple.dropdown > .label, html.rs .ui.label { background: var(--rs-hover); color: var(--rs-text); border: 0; box-shadow: none; }

/* ---- tables ------------------------------------------------------------------------------------ */
html.rs .ui.table {
  background: var(--rs-paper); color: var(--rs-text);
  border: 1px solid var(--rs-divider); border-radius: var(--rs-radius); box-shadow: none;
}
html.rs .ui.table thead th, html.rs table thead th {
  background: var(--rs-head-bg) !important; color: var(--rs-text-2) !important;
  font-size: 0.6875rem !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
  border-bottom: 1px solid var(--rs-divider) !important; border-left: 0 !important; padding: 8px 12px;
}
html.rs .ui.table td { border-top: 1px solid var(--rs-divider) !important; padding: 8px 12px; color: var(--rs-text); }
html.rs .ui.table tbody tr { background: transparent; }
html.rs .ui.table tbody tr:nth-child(even) { background: var(--rs-zebra); }
html.rs .ui.table tbody tr:hover, html.rs .ui.selectable.table tbody tr:hover { background: var(--rs-hover) !important; }
html.rs .ui.table tfoot th { background: var(--rs-head-bg) !important; color: var(--rs-text-2) !important; border-top: 1px solid var(--rs-divider) !important; }
html.rs .ui.definition.table tr td:first-child:not(.ignored) { background: var(--rs-head-bg); color: var(--rs-text); }
html.rs .ui.table tr.positive, html.rs .ui.table td.positive { background: var(--rs-success-tint) !important; color: var(--rs-text) !important; }
html.rs .ui.table tr.negative, html.rs .ui.table td.negative, html.rs .ui.table tr.error, html.rs .ui.table td.error { background: var(--rs-error-tint) !important; color: var(--rs-text) !important; }
html.rs .ui.table tr.warning, html.rs .ui.table td.warning { background: var(--rs-warning-tint) !important; color: var(--rs-text) !important; }
html.rs .ui.table tr.active, html.rs .ui.table td.active { background: var(--rs-primary-tint) !important; color: var(--rs-text) !important; }
html.rs .ui.table tr.disabled td { color: var(--rs-text-2); }

/* DataTables */
html.rs .dataTables_wrapper, html.rs .dataTables_wrapper .dataTables_info, html.rs .dataTables_wrapper label { color: var(--rs-text-2) !important; }
html.rs .dataTables_wrapper .ui.pagination.menu, html.rs .ui.pagination.menu { background: var(--rs-paper); border: 1px solid var(--rs-divider); box-shadow: none; }
html.rs .ui.pagination.menu .item { color: var(--rs-text) !important; }
html.rs .ui.pagination.menu .active.item { background: var(--rs-primary-tint) !important; color: var(--rs-primary) !important; }
html.rs .dataTables_wrapper .dataTables_paginate .paginate_button { color: var(--rs-text) !important; background: transparent !important; border: 1px solid var(--rs-divider) !important; }
html.rs .dataTables_wrapper .dataTables_paginate .paginate_button.current { background: var(--rs-primary-tint) !important; color: var(--rs-primary) !important; }

/* ---- menus, tabs, breadcrumbs, accordions ------------------------------------------------------ */
html.rs .ui.menu:not(.pagination) { background: var(--rs-paper); border: 1px solid var(--rs-divider); box-shadow: none; border-radius: var(--rs-radius-sm); }
html.rs .ui.menu .item { color: var(--rs-text-2) !important; }
html.rs .ui.menu .item:before { background: var(--rs-divider); }
html.rs .ui.menu .active.item, html.rs .ui.menu a.item:hover { background: var(--rs-hover) !important; color: var(--rs-text) !important; }
html.rs .ui.secondary.menu, html.rs .ui.secondary.pointing.menu, html.rs .ui.tabular.menu, html.rs .ui.text.menu { background: transparent; border: 0; border-radius: 0; }
html.rs .ui.secondary.pointing.menu { border-bottom: 1px solid var(--rs-divider); }
html.rs .ui.secondary.pointing.menu .active.item { border-color: var(--rs-primary) !important; color: var(--rs-primary) !important; background: transparent !important; }
html.rs .ui.tabular.menu { border-bottom: 1px solid var(--rs-divider); }
html.rs .ui.tabular.menu .active.item { background: var(--rs-paper) !important; border-color: var(--rs-divider) !important; color: var(--rs-text) !important; }
html.rs .ui.bottom.attached.segment, html.rs .ui.attached.segment { border-color: var(--rs-divider) !important; }
html.rs .ui.breadcrumb a, html.rs .ui.breadcrumb .section { color: var(--rs-text-2); }
html.rs .ui.styled.accordion, html.rs .ui.styled.accordion .accordion { background: var(--rs-paper); box-shadow: 0 0 0 1px var(--rs-divider); }
html.rs .ui.styled.accordion .title, html.rs .ui.accordion .title:not(.ui) { color: var(--rs-text) !important; border-top-color: var(--rs-divider); }
html.rs .ui.styled.accordion .content, html.rs .ui.accordion .content { color: var(--rs-text); }

/* ---- messages, labels, popups, modals ---------------------------------------------------------- */
html.rs .ui.message { background: var(--rs-paper-2) !important; color: var(--rs-text) !important; box-shadow: inset 0 0 0 1px var(--rs-divider) !important; border-radius: var(--rs-radius-sm); border: 0 !important; }
html.rs .ui.message .header { color: var(--rs-text) !important; }
html.rs .ui.info.message, html.rs .ui.blue.message { background: var(--rs-info-tint) !important; box-shadow: inset 0 0 0 1px rgba(100, 181, 246, 0.35) !important; }
html.rs .ui.positive.message, html.rs .ui.success.message, html.rs .ui.green.message { background: var(--rs-success-tint) !important; box-shadow: inset 0 0 0 1px rgba(102, 187, 106, 0.35) !important; }
html.rs .ui.warning.message, html.rs .ui.yellow.message, html.rs .ui.orange.message { background: var(--rs-warning-tint) !important; box-shadow: inset 0 0 0 1px rgba(255, 167, 38, 0.35) !important; }
html.rs .ui.negative.message, html.rs .ui.error.message, html.rs .ui.red.message { background: var(--rs-error-tint) !important; box-shadow: inset 0 0 0 1px rgba(239, 83, 80, 0.35) !important; }
html.rs .ui.message a { color: var(--rs-info); }
html.rs .ui.label { border-radius: 999px; font-weight: 500; }
html.rs .ui.basic.label { background: transparent !important; color: var(--rs-text) !important; border: 1px solid var(--rs-input-border) !important; }
html.rs .ui.red.label:not(.basic) { background: var(--rs-error-tint) !important; color: var(--rs-error) !important; }
html.rs .ui.green.label:not(.basic) { background: var(--rs-success-tint) !important; color: var(--rs-success) !important; }
html.rs .ui.blue.label:not(.basic), html.rs .ui.teal.label:not(.basic) { background: var(--rs-info-tint) !important; color: var(--rs-info) !important; }
html.rs .ui.orange.label:not(.basic), html.rs .ui.yellow.label:not(.basic) { background: var(--rs-warning-tint) !important; color: var(--rs-warning) !important; }
html.rs .ui.grey.label:not(.basic) { background: var(--rs-hover) !important; color: var(--rs-text-2) !important; }
html.rs .ui.basic.red.label { color: var(--rs-error) !important; border-color: var(--rs-error) !important; }
html.rs .ui.basic.green.label { color: var(--rs-success) !important; border-color: var(--rs-success) !important; }
html.rs .ui.basic.orange.label, html.rs .ui.basic.yellow.label { color: var(--rs-warning) !important; border-color: var(--rs-warning) !important; }
html.rs .ui.basic.blue.label { color: var(--rs-info) !important; border-color: var(--rs-info) !important; }
html.rs .ui.popup { background: var(--rs-paper-2); color: var(--rs-text); border: 1px solid var(--rs-divider); }
html.rs .ui.popup:before { background: var(--rs-paper-2); box-shadow: 1px 1px 0 0 var(--rs-divider); }
html.rs .ui.dimmer { background: rgba(0, 0, 0, 0.6); }
html.rs .ui.modal { background: var(--rs-paper); border-radius: var(--rs-radius); }
html.rs .ui.modal > .header, html.rs .ui.modal > .content, html.rs .ui.modal > .actions { background: var(--rs-paper) !important; color: var(--rs-text) !important; border-color: var(--rs-divider) !important; }
html.rs .ui.modal > .header { font-family: var(--rs-font); font-size: 1.0625rem; font-weight: 600; padding: 14px 20px 8px; }
html.rs .ui.modal > .actions { padding: 12px 20px 16px; }
html.rs .ui.modal > .close { color: var(--rs-text); }
html.rs .ui.modal:first-child { border-top-left-radius: var(--rs-radius); }
html.rs .ui.inverted.dimmer { background: rgba(16, 20, 24, 0.6); }
html.rs[data-theme="light"] .ui.inverted.dimmer { background: rgba(255, 255, 255, 0.7); }
html.rs .ui.loader:before { border-color: var(--rs-divider); }

/* ---- legacy theme.css pieces ------------------------------------------------------------------- */
html.rs .action-grid { gap: 12px !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; margin: 0 0 16px !important; }
html.rs .action-card {
  background: var(--rs-paper); border: 1px solid var(--rs-divider); border-radius: var(--rs-radius); box-shadow: none;
  padding: 14px 16px; gap: 12px; color: var(--rs-text);
}
html.rs .action-card::before { display: none; }
html.rs .action-card:hover { border-color: var(--rs-input-border); background: var(--rs-paper-2); transform: none; box-shadow: none; }
html.rs .action-icon { width: 40px !important; height: 40px !important; min-width: 40px; border-radius: var(--rs-radius-sm) !important; background: var(--rs-primary-tint) !important; }
html.rs .action-icon i { color: var(--rs-primary) !important; font-size: 1.1rem !important; }
html.rs .action-content h3 { font-size: 0.9375rem !important; font-weight: 600; color: var(--rs-text) !important; margin: 0 0 2px !important; }
html.rs .action-content p { font-size: 0.8125rem !important; color: var(--rs-text-2) !important; }
html.rs .action-arrow i { color: var(--rs-text-2); }
html.rs .crud-header h1 { font-size: 1.5rem; }
html.rs .crud-page-container { padding: 0; max-width: none; }
html.rs .status-badge.online { background: var(--rs-success-tint); color: var(--rs-success); }
html.rs .status-badge.offline { background: var(--rs-error-tint); color: var(--rs-error); }
html.rs .status-badge.pending { background: var(--rs-warning-tint); color: var(--rs-warning); }
html.rs .crred { color: var(--rs-primary); }

/* ---- home dashboard ---------------------------------------------------------------------------- */
html.rs .rs-dash { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin: 0 0 24px; }
html.rs a.rs-card { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; color: var(--rs-text); text-decoration: none; min-height: 112px; }
html.rs a.rs-card:hover { border-color: var(--rs-input-border) !important; background: var(--rs-paper-2) !important; }
html.rs .rs-card-label { display: flex; align-items: center; gap: 6px; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rs-text-2); }
html.rs .rs-card-label i.icon { margin: 0; color: var(--rs-text-2); }
html.rs .rs-card-value { font-size: 1.75rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; color: var(--rs-text); }
html.rs .rs-card-value small { font-size: 0.9375rem; font-weight: 500; color: var(--rs-text-2); }
html.rs .rs-card-sub { font-size: 0.8125rem; color: var(--rs-text-2); }
html.rs .rs-card-sub b { font-weight: 600; }
html.rs .rs-good { color: var(--rs-success) !important; } html.rs .rs-bad { color: var(--rs-error) !important; } html.rs .rs-warn { color: var(--rs-warning) !important; }
html.rs .rs-card-list { list-style: none; margin: 6px 0 0; padding: 0; font-size: 0.8125rem; }
html.rs .rs-card-list li { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; border-top: 1px solid var(--rs-divider); }
html.rs .rs-card-list li span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--rs-text); }
html.rs .rs-card-list li span:last-child { color: var(--rs-text-2); white-space: nowrap; }
html.rs .rs-tag { display: inline-block; font-size: 0.6875rem; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: var(--rs-warning-tint); color: var(--rs-warning); text-transform: none; letter-spacing: 0; }
html.rs .rs-section-title { font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rs-text-2); margin: 8px 0 8px; }

/* ---- phone width: no sideways scroll ----------------------------------------------------------- */
@media (max-width: 599px) {
  html.rs h1 { font-size: 1.3rem; }
  html.rs .rs-card-value { font-size: 1.5rem; }
  html.rs .ui.table:not(.unstackable) { border: 0; background: transparent; }
  html.rs .ui.form .fields { flex-wrap: wrap; }
  html.rs .ui.form .fields > .field { width: 100% !important; }
  html.rs img, html.rs video, html.rs canvas { max-width: 100%; }
  html.rs .rs-wide-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
  html.rs .ui.modal { width: calc(100% - 24px) !important; margin: 0 !important; }
}

/* ---- page touch-ups: hard-coded light colours on the TST-506 pages ----------------------------- */
/* chips (Offices & Brands, People, Takedowns) */
html.rs .org-chip.producer, html.rs .acc-chip.producer, html.rs .tdn-chip.producer, html.rs .tdn-chip.brand, html.rs .tdr-chip.producer, html.rs .tdr-chip.brand { background: var(--rs-primary-tint); color: var(--rs-primary); border-color: transparent; }
html.rs .org-chip.branch, html.rs .acc-chip.branch, html.rs .tdn-chip.branch, html.rs .tdn-chip.brand_branch, html.rs .tdr-chip.branch, html.rs .tdr-chip.brand_branch, html.rs .snp-chip { background: var(--rs-info-tint); color: var(--rs-info); border-color: transparent; }
html.rs .org-chip.brand, html.rs .acc-chip.brand, html.rs .acc-chip.brand_branch, html.rs .tdn-chip.event, html.rs .tdr-chip.event { background: var(--rs-success-tint); color: var(--rs-success); border-color: transparent; }
html.rs .org-chip.none { background: var(--rs-warning-tint); color: var(--rs-warning); border-color: transparent; }
html.rs .acc-chip.platform { background: var(--rs-hover); color: var(--rs-text); }
html.rs .tdn-chip.team, html.rs .tdn-chip.item, html.rs .tdr-chip.team, html.rs .tdr-chip.item { background: rgba(149, 117, 205, 0.16); color: #B39DDB; border-color: transparent; }
html.rs[data-theme="light"] .tdn-chip.team, html.rs[data-theme="light"] .tdn-chip.item, html.rs[data-theme="light"] .tdr-chip.team, html.rs[data-theme="light"] .tdr-chip.item { color: #5E35B1; }
/* inline messages */
html.rs .org-msg.ok, html.rs .acc-msg.ok, html.rs .tdn-msg.ok, html.rs .tdr-msg.ok { background: var(--rs-success-tint); color: var(--rs-text); border-color: transparent; }
html.rs .org-msg.err, html.rs .acc-msg.err, html.rs .tdn-msg.err, html.rs .tdr-msg.err, html.rs .tdn-warn { background: var(--rs-error-tint); color: var(--rs-text); border-color: transparent; }
html.rs .tdn-info { background: var(--rs-info-tint); color: var(--rs-text); border-color: transparent; }
html.rs .tdn-note, html.rs .tdr-flag { background: var(--rs-warning-tint); color: var(--rs-text); border-color: transparent; }
html.rs .tdr-flag.w3, html.rs .tdn-status.active, html.rs .tdr-status.active { background: var(--rs-error-tint); color: var(--rs-error); }
html.rs .tdn-status.rejected, html.rs .tdr-status.rejected { background: var(--rs-hover); color: var(--rs-text-2); }
html.rs .tdn-step.on { background: var(--rs-primary-tint); color: var(--rs-primary); }
html.rs .org-note { color: var(--rs-warning); }
html.rs .org-saved { color: var(--rs-success); }
/* danger outline buttons */
html.rs .org-btn.danger, html.rs .acc-remove { border-color: rgba(239, 83, 80, 0.5); color: var(--rs-error); background: transparent; }
html.rs .org-btn.danger:hover, html.rs .acc-remove:hover { background: var(--rs-error-tint); }
html.rs .org-btn:not(.ghost):not(.danger), html.rs .acc-btn:not(.ghost), html.rs .org-tabs button.on, html.rs .acc-scopetabs button.on { background: var(--rs-primary); color: var(--rs-on-primary); border-radius: var(--rs-radius-sm); }
/* Offices & Brands: producer summary as a plain card, not a red banner */
html.rs .org-hero { background: var(--rs-paper) !important; color: var(--rs-text); border: 1px solid var(--rs-divider) !important; }
html.rs .org-hero h2 { color: var(--rs-text); }
html.rs .org-hero .own { color: var(--rs-text-2); opacity: 1; }
html.rs .org-hero .tag { background: var(--rs-hover); border-color: var(--rs-divider); color: var(--rs-text-2); }
html.rs .org-stat { background: var(--rs-head-bg); border: 1px solid var(--rs-divider); }
html.rs .org-stat span { color: var(--rs-text-2); opacity: 1; }
html.rs tr.org-unassigned td { background: var(--rs-warning-tint) !important; }
html.rs .org-radio.on { background: var(--rs-primary-tint); border-color: var(--rs-primary); box-shadow: none; }
html.rs .org-radio strong, html.rs .org-radio b { color: var(--rs-text); }
/* People: role matrix */
html.rs table.acc-table tr:hover td { background: var(--rs-hover); }
html.rs table.acc-matrix .staff { background: var(--rs-head-bg); }
html.rs table.acc-matrix tr.ads td, html.rs table.acc-matrix tr.ads td.perm { background: rgba(236, 64, 122, 0.10); }
html.rs table.acc-matrix td.no { color: var(--rs-divider); }
html.rs table.acc-matrix td.yes { color: var(--rs-success); }
html.rs .acc-rolecard:hover { border-color: var(--rs-input-border); }
/* Kit page device checks, contacts */
html.rs .dev-chip.pass { background: var(--rs-success-tint); color: var(--rs-success); border-color: transparent; }
html.rs .dev-chip.warn { background: var(--rs-warning-tint); color: var(--rs-warning); border-color: transparent; }
html.rs .dev-chip.fail { background: var(--rs-error-tint); color: var(--rs-error); border-color: transparent; }
html.rs .dev-chip.off { background: var(--rs-hover); color: var(--rs-text-2); border-color: transparent; }
html.rs tr.dev-missing td { background: var(--rs-warning-tint); }
html.rs .ct-channel { background: var(--rs-paper-2); }
html.rs .fleet-warn { color: var(--rs-warning); }
/* Intermission ads: the empty-state icon size must not leak into its button */
html.rs .ads-empty .button i.icon { font-size: 1em; margin: 0 0.4em 0 0; }
html.rs .ads-empty i.film.icon { font-size: 2.5rem; color: var(--rs-text-2); }
@media (max-width: 768px) {
  html.rs .org-add.org-add-person { grid-template-columns: 1fr; }
}
html.rs .rs-home-videos { margin-top: 8px !important; text-align: left !important; }
html.rs .rs-home-videos a { font-size: 0.875rem !important; color: var(--rs-info) !important; }
@media (max-width: 599px) { html.rs a.rs-card { min-height: 0; } }
/* form footers: the primary action sits bottom-left under the form, full width on phones */
html.rs .ui.form > center, html.rs .ui.segment > center { text-align: left; margin-top: 16px; }
@media (max-width: 599px) { html.rs .ui.form > center .ui.button, html.rs .ui.segment > center .ui.button { width: 100%; } }
html.rs .org-btn.ghost, html.rs .acc-btn.ghost { background: transparent; color: var(--rs-text); border: 1px solid var(--rs-input-border); border-radius: var(--rs-radius-sm); }
html.rs .org-btn.ghost:hover, html.rs .acc-btn.ghost:hover { background: var(--rs-hover); }
/* Data tables on phones (Kit fleet, Speed tests, Hardware, Contacts, Takedowns): each row becomes a small
   card; the column name is copied into data-label by the shell script (views/partials/shell.ejs). */
@media (max-width: 599px) {
  html.rs table.rs-cards thead { display: none; }
  html.rs table.rs-cards, html.rs table.rs-cards tbody { display: block; width: 100%; }
  html.rs table.rs-cards tr { display: grid !important; grid-template-columns: 1fr 1fr; gap: 4px 12px; padding: 10px 14px; border-top: 1px solid var(--rs-divider); }
  html.rs table.rs-cards td, html.rs .ui.table.rs-cards td { display: block !important; border: 0 !important; padding: 2px 0 !important; width: auto !important; text-align: left !important; min-width: 0; overflow-wrap: anywhere; }
  html.rs table.rs-cards td[data-label]::before { content: attr(data-label); display: block; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rs-text-2); }
  html.rs table.rs-cards td:first-child, html.rs table.rs-cards td:not([data-label]) { grid-column: 1 / -1; }
  html.rs table.rs-cards td:first-child::before { display: none !important; }
  html.rs table.rs-cards td:empty { display: none !important; }
  html.rs .fleet-tablewrap { overflow-x: visible; }
  html.rs .fleet-filters select, html.rs .fleet-filters input { width: 100%; }
}

/* ---- Handsontable (event schedule) + inline warning boxes: follow the theme in light and dark --- */
html.rs .handsontable, html.rs .handsontable table { color: var(--rs-text); }
html.rs .handsontable td,
html.rs .handsontable .ht_master td, html.rs .handsontable .ht_clone_top td, html.rs .handsontable .ht_clone_left td {
  background-color: var(--rs-paper) !important; color: var(--rs-text) !important; border-color: var(--rs-divider) !important;
}
html.rs .handsontable tbody tr:nth-child(even) td { background-color: var(--rs-paper-2) !important; }
html.rs .handsontable th, html.rs .handsontable .ht_clone_top th, html.rs .handsontable .ht_clone_left th, html.rs .handsontable thead th {
  background-color: var(--rs-paper-2) !important; color: var(--rs-text) !important; border-color: var(--rs-divider) !important;
}
html.rs .handsontable th.ht__highlight, html.rs .handsontable th.ht__active_highlight { background-color: var(--rs-primary-tint) !important; color: var(--rs-text) !important; }
html.rs .handsontable td.htDimmed, html.rs .handsontable td.htPlaceholder { color: var(--rs-text-2) !important; }
html.rs .handsontable td.htInvalid { background: linear-gradient(var(--rs-error-tint), var(--rs-error-tint)), var(--rs-paper) !important; color: var(--rs-text) !important; box-shadow: inset 0 0 0 1px var(--rs-error); }
html.rs .handsontable td.current, html.rs .handsontable td.area, html.rs .handsontable .currentRow, html.rs .handsontable .currentCol { background: linear-gradient(var(--rs-primary-tint), var(--rs-primary-tint)), var(--rs-paper) !important; }
html.rs .handsontable .wtHolder, html.rs .handsontable .wtHider, html.rs .handsontable .wtSpreader, html.rs .handsontable table.htCore { background-color: var(--rs-paper) !important; }
html.rs .handsontable .htAutocompleteArrow { color: var(--rs-text-2) !important; }
html.rs .handsontableInputHolder textarea, html.rs textarea.handsontableInput, html.rs .handsontableInput {
  background: var(--rs-paper) !important; color: var(--rs-text) !important; box-shadow: inset 0 0 0 2px var(--rs-info) !important;
}
html.rs .handsontableEditor .htCore td, html.rs .htAutocomplete td, html.rs .autocompleteEditor td {
  background-color: var(--rs-paper) !important; color: var(--rs-text) !important;
}
html.rs .handsontableEditor .htCore td.current, html.rs .autocompleteEditor td.current { background-color: var(--rs-primary-tint) !important; }
html.rs .htContextMenu table tbody tr td { background: var(--rs-paper) !important; color: var(--rs-text) !important; }
html.rs .htContextMenu table tbody tr td.current, html.rs .htContextMenu table tbody tr td.zeroclipboard-is-hover { background: var(--rs-hover) !important; }
html.rs .htContextMenu table tbody tr td.htDisabled { color: var(--rs-text-2) !important; }
/* Inline yellow warning boxes written for the old light page (e.g. the schedule's "errors" box). */
html.rs [style*="#fef3c7"], html.rs [style*="#FEF3C7"] { background: var(--rs-warning-tint) !important; color: var(--rs-text) !important; }
html.rs [style*="#fef3c7"] p, html.rs [style*="#fef3c7"] span, html.rs [style*="#fef3c7"] strong { color: var(--rs-text) !important; }
html.rs [style*="#fee2e2"], html.rs [style*="#FEE2E2"] { background: var(--rs-error-tint) !important; color: var(--rs-text) !important; }
html.rs [style*="#dbeafe"], html.rs [style*="#DBEAFE"] { background: var(--rs-info-tint) !important; color: var(--rs-text) !important; }
html.rs [style*="#dcfce7"], html.rs [style*="#DCFCE7"], html.rs [style*="#d1fae5"] { background: var(--rs-success-tint) !important; color: var(--rs-text) !important; }
