/* RedRover palette: primary #e12026 (225, 32, 38), approved October 3, 2026; derived rose tints. Load after Axis and all product modules.
 * Axis's historical blue token names are compatibility aliases inside this app.
 * Keep success, warning, danger and user-configured status colors independent. */
:root {
  --rr-brand-crimson: #e12026;
  --rr-brand-rose: #f17b83;
  --rr-brand-tangerine: var(--rr-brand-rose); /* Legacy brand alias. */
  --rr-brand-storm: #494949;
  --rr-brand-stone: #bfbfbf;
  --rr-brand-maroon: #75151b;
  --rr-brand-true-red: #aa1820;
  --rr-brand-charcoal: #232323;
  --rr-brand-frost: #f1f2f3;
  --axis-blue-950: #75151b;
  --axis-blue-900: #75151b;
  --axis-blue-800: #e12026;
  --axis-blue-700: #aa1820;
  --axis-blue-200: var(--rr-brand-rose);
  --axis-blue-100: #fce7e8;
  --axis-blue-950-rgb: 117, 21, 27;
  --axis-blue-900-rgb: 117, 21, 27;
  --axis-blue-800-rgb: 225, 32, 38;
  --axis-blue-700-rgb: 170, 24, 32;
  --axis-blue-200-rgb: 241, 123, 131;
  --axis-blue-100-rgb: 252, 231, 232;
  --axis-blue-border-rgb: 225, 32, 38;
  --axis-blue-shadow-rgb: 117, 21, 27;
  --axis-blue-cta-rgb: 225, 32, 38;
  --hs-bg: #f1f2f3;
  --hs-surface: #fff;
  --hs-muted-surface: #f1f2f3;
  --hs-text: #232323;
  --hs-muted-text: #494949;
  --hs-border: #e1e2e3;
  --hs-border-strong: #bfbfbf;
  --hs-canvas-bg: var(--hs-bg);
  --hs-canvas-grid: rgba(225, 32, 38, .10);
  --hs-canvas-grid-strong: rgba(225, 32, 38, .19);
  --hs-canvas-label-color: var(--hs-text);
  --hs-table-hover-bg: #fff1f2;
  --hs-focus-ring: rgba(225, 32, 38, .22);
  --rr-brand-hover: #aa1820;
  --rr-brand-hover-ink: #fff;
  --rr-bubble: var(--rr-brand-rose);
  --rr-bubble-ink: #232323;
  --rr-forecast: #fce7e8;
  --rr-forecast-border: #e12026;
  --rr-release: #f1f2f3;
  --rr-release-border: #bfbfbf;
}

:root[data-hs-theme="dark"] {
  --hs-bg: #232323;
  --hs-surface: #2c2c2c;
  --hs-muted-surface: #353535;
  --hs-text: #f1f2f3;
  --hs-muted-text: #bfbfbf;
  --hs-border: rgba(252, 231, 232, .18);
  --hs-border-strong: rgba(252, 231, 232, .30);
  --hs-primary-text: #fce7e8;
  --hs-canvas-bg: var(--hs-bg);
  --hs-canvas-grid: rgba(252, 231, 232, .10);
  --hs-canvas-grid-strong: rgba(252, 231, 232, .18);
  --hs-canvas-label-bg: rgba(35, 35, 35, .84);
  --hs-canvas-label-color: var(--hs-text);
  --hs-table-hover-bg: rgba(252, 231, 232, .10);
  --rr-brand-hover: #fce7e8;
  --rr-brand-hover-ink: #75151b;
  --rr-bubble: var(--rr-brand-rose);
  --rr-forecast: #43272b;
  --rr-forecast-border: #ed8c92;
  --rr-release: #383838;
  --rr-release-border: #bfbfbf;
}

html:root :is(.rr-app, .rr-login, .rr-participant, .rr-offline) {
  --rr-ink: var(--hs-text);
  --rr-muted: var(--hs-muted-text);
  --rr-line: var(--hs-border);
  --rr-blue: var(--hs-primary-soft);
  --rr-tint: var(--hs-muted-surface);
  --rr-accent: var(--hs-primary);
  --rr-surface: var(--hs-surface);
  --rr-surface-inset: var(--hs-bg);
  --rr-surface-soft: var(--hs-muted-surface);
  --rr-line-subtle: var(--hs-table-row-border);
  --rr-hover: var(--hs-table-hover-bg);
  --rr-chart-bubble: var(--rr-bubble);
  --rr-chart-bubble-top: var(--hs-accent-solid);
  --rr-chart-bubble-ink: var(--rr-bubble-ink);
  --rr-timeline-forecast: var(--rr-forecast);
  --rr-timeline-forecast-border: var(--rr-forecast-border);
  background: var(--hs-bg);
  color: var(--hs-text);
}

/* Foundation and everyday controls. No dimensions or layout overrides. */
html:root .rr-app .hs-workspace { background: var(--hs-bg); }
html:root .rr-brand { color: var(--hs-text); }
html:root .rr-brand-mark { color: var(--hs-primary); }
html:root :is(.rr-app, .rr-login, .rr-participant) .btn-dark {
  background: var(--hs-accent-solid);
  border-color: var(--hs-accent-solid);
  color: var(--hs-accent-solid-contrast);
}
html:root :is(.rr-app, .rr-login, .rr-participant) .btn-dark:is(:hover, :active) {
  background: var(--rr-brand-hover);
  border-color: var(--rr-brand-hover);
  color: var(--rr-brand-hover-ink);
}
html:root .rr-app .btn-white-outline {
  background: var(--hs-surface);
  color: var(--hs-text);
  border-color: var(--hs-border-strong);
}
html:root .rr-app .btn-white-outline:hover {
  background: var(--hs-primary-soft);
  border-color: var(--hs-primary);
}
html:root :is(.rr-app, .rr-login, .rr-participant) :is(a, button, [tabindex]):focus-visible {
  outline-color: var(--hs-primary);
}
html:root :is(.rr-app, .rr-login, .rr-participant) input:is([type="checkbox"], [type="radio"]) {
  accent-color: var(--hs-primary);
}
html:root .rr-app .rr-inbox-badge {
  background: var(--hs-accent-solid);
  color: var(--hs-accent-solid-contrast);
}
html:root .rr-app .rr-workspace-dot { background: var(--rr-forecast-border); }
html:root .rr-app :is(.rr-workspace-control select, .rr-row-title, .rr-list-main strong,
  .rr-metric strong, .rr-view h2, .rr-view h3, .rr-dialog h2, .rr-field,
  .rr-field input, .rr-field select, .rr-field textarea) { color: var(--hs-text); }
html:root .rr-app :is(.rr-row-title:hover, .rr-goal-number, .rr-goal-value) { color: var(--hs-primary); }
html:root .rr-app .rr-panel-link { color: var(--hs-primary) !important; }
html:root .rr-app .rr-panel-link:hover { color: var(--hs-primary-text) !important; }
html:root .rr-app .rr-icon-button:hover { background: var(--hs-primary-soft); }
html:root .rr-app .rr-segmented button.active { color: var(--hs-primary-text); background: var(--hs-surface); }
html:root .rr-app .rr-tabs button.active { color: var(--hs-primary); border-color: var(--hs-primary); }

/* White cards, warm neutral type, and small crimson highlights. */
html:root .rr-app .rr-welcome {
  border-color: var(--hs-primary-border);
  background: linear-gradient(110deg, var(--hs-primary-soft), transparent 75%), var(--hs-surface);
}
html:root .rr-app :is(.rr-welcome-mark, .rr-welcome p) { color: var(--hs-muted-text); }
html:root .rr-app :is(.rr-chip.is-blue, .rr-score, .rr-avatar, .rr-activity-icon,
  .rr-metric:not(.is-warm):not(.is-green) .rr-metric-icon) {
  background: var(--hs-primary-soft);
  color: var(--hs-primary-text);
}
html:root .rr-app :is(.rr-empty-icon, .rr-rice-formula, .rr-priority-tip, .rr-pathway-card) {
  background: var(--hs-muted-surface);
  border-color: var(--hs-border);
  color: var(--hs-muted-text);
}
html:root .rr-app :is(.rr-empty h3, .rr-approval-history strong) { color: var(--hs-text); }
html:root .rr-app :is(.rr-formula-line, .rr-approval-history) { border-color: var(--hs-primary-border); }
html:root .rr-app .rr-loading-mark { border-color: var(--hs-primary-soft); border-top-color: var(--hs-primary); }
html:root .rr-app .rr-pwa-status {
  background: var(--hs-primary-soft);
  border-color: var(--hs-primary-border);
  color: var(--hs-primary-text);
}
html:root .rr-app .rr-setup-steps .is-current { border-color: var(--hs-primary); }

/* Priorities and delivery: neutral labels, crimson forecast, distinct status colors. */
html:root .rr-app .rr-progress { background: var(--hs-muted-surface); }
html:root .rr-app .rr-progress::-webkit-progress-bar { background: var(--hs-muted-surface); }
html:root .rr-app .rr-progress:not(.is-green)::-webkit-progress-value { background: var(--hs-primary); }
html:root .rr-app .rr-progress:not(.is-green)::-moz-progress-bar { background: var(--hs-primary); }
html:root .rr-app :is(.rr-chart-grid, .rr-timeline-grid) { stroke: var(--hs-canvas-grid); }
html:root .rr-app :is(.rr-chart-label, .rr-chart-title, .rr-timeline-text) { fill: var(--hs-muted-text); }
html:root .rr-app .rr-timeline-text { fill: var(--hs-text); }
html:root .rr-app .rr-chart-quadrant { fill: var(--hs-primary-soft); }
html:root .rr-app .rr-chart-dot { fill: var(--rr-bubble); stroke: var(--hs-surface); }
html:root .rr-app .rr-chart-dot-label { fill: var(--rr-bubble-ink); }
html:root .rr-app .rr-chart-dot:is(.is-top, :hover, :focus) { fill: var(--hs-accent-solid); }
html:root .rr-app .rr-chart-dot:is(.is-top, :hover, :focus) + .rr-chart-dot-label { fill: var(--hs-accent-solid-contrast); }
html:root .rr-app .rr-legend-circle { background: var(--rr-bubble); }
html:root .rr-app .rr-timeline-today { stroke: var(--hs-primary); }
html:root .rr-app .rr-timeline-bar:not(.is-review):not(.is-done) {
  fill: var(--rr-forecast);
  stroke: var(--rr-forecast-border);
}
html:root .rr-app .rr-timeline-bar:not(.is-review):not(.is-done):hover { fill: var(--rr-bubble); }
html:root .rr-app .rr-timeline-baseline { fill: var(--hs-bg); stroke: var(--rr-forecast-border); }
html:root .rr-app .rr-timeline-legend i:not(.is-actual):not(.is-baseline) { background: var(--rr-forecast); }
html:root .rr-app .rr-timeline-legend i.is-baseline { border-color: var(--rr-forecast-border); }
html:root .rr-app :is(.rr-planning, .rr-plan-view-selector) {
  --rp-bar: var(--rr-forecast);
  --rp-bar-border: var(--rr-forecast-border);
  --rp-release: var(--rr-release);
  --rp-release-border: var(--rr-release-border);
}
html:root .rr-app :is(.rr-rm, .rr-rm-note) {
  --rm-bar: var(--rr-forecast);
  --rm-bar-border: var(--rr-forecast-border);
}

/* Inbox attention and read states share the product palette. */
html:root .rr-app :is(.rr-notify-icon, .rr-notify-count, .rr-inbox-attention-icon) {
  background: var(--hs-primary-soft);
  color: var(--hs-primary-text);
}
html:root .rr-app :is(.rr-notify-read, .rr-notify-empty > .tabler-icon,
  .rr-inbox-attention-reason, .rr-notify-content h3 button:hover) { color: var(--hs-primary); }
html:root .rr-app .rr-notify-entry.is-unread {
  background: linear-gradient(90deg, var(--hs-primary-soft), transparent 90%);
}
html:root .rr-app .rr-inbox-attention-card:hover {
  background: var(--hs-primary-soft);
  border-color: var(--hs-primary-border);
}
html:root .rr-app .rr-inbox-attention-card:focus-visible { outline-color: var(--hs-primary); }

/* Public surfaces use the same identity as the workspace. */
html:root .rr-login-story {
  background: linear-gradient(140deg, var(--hs-primary-soft), transparent), var(--hs-bg);
}
html:root :is(.rr-login-story h1, .rr-login-form-inner > h2) { color: var(--hs-text); }
html:root :is(.rr-login-story h1 em, .rr-login-story > p, .rr-login-caption,
  .rr-login-flow, .rr-login-legal, .rr-login-form-inner > p) { color: var(--hs-muted-text); }
html:root .rr-login-form-panel { background: var(--hs-surface); }
html:root :is(.rr-login, .rr-participant) .rr-field { color: var(--hs-text); }
html:root .rr-participant :is(.rr-participant-header, .rr-participant-main) {
  background: var(--hs-surface);
  border-color: var(--hs-border);
}
html:root .rr-participant :is(h1, h2) { color: var(--hs-text); }
html:root .rr-participant .rr-participant-option { color: var(--hs-muted-text); border-color: var(--hs-border); }
html:root .rr-participant .rr-participant-option:has(input:checked) {
  background: var(--hs-primary-soft);
  border-color: var(--hs-primary-border);
  color: var(--hs-primary-text);
}

/* Quiet product status; retain the logo dimensions in every Axis layout. */
.rr-app .rr-beta-brand { gap: 8px; flex-shrink: 0; }
.rr-app .rr-beta-badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 3px 7px;
  border: 1px solid var(--axis-blue-200);
  border-radius: 6px;
  background: var(--axis-blue-100);
  color: var(--rr-brand-maroon);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .06em;
  white-space: nowrap;
}
:root[data-hs-theme="dark"] .rr-app .rr-beta-badge {
  background: #43272b;
  border-color: #805057;
  color: var(--axis-blue-100);
}
@media (min-width: 992px) {
  [data-hs-layout="compact"] .rr-app .rr-beta-brand {
    flex-direction: column;
    gap: 5px;
  }
}

/* One readable type scale across Axis surfaces. User text-size preferences still apply. */
:root{--rr-font-min:14px;--rr-font-small:.875rem;--rr-font-body:1rem;--hs-font-xs:.875rem;--hs-font-sm:.875rem;--hs-font-md:1rem;--hs-control-font-size:.875rem;--hs-table-body-font-size:.875rem;--hs-button-font-size:.875rem}
.rr-app,.rr-login,.rr-participant{font-family:var(--bs-body-font-family,Inter,system-ui,sans-serif)}
.rr-app small,.rr-app .small,.rr-app .badge{font-size:var(--rr-font-small)}
.rr-app :is(input,select,textarea,button){font-family:inherit}
@media(max-width:991.98px){.rr-app :is(input,select,textarea),.rr-login :is(input,select,textarea){font-size:1rem}}

/* A− is a deliberate compact preference; normal and large keep the Axis scale. */
:root[data-hs-font-size="small"]{--rr-font-min:13px;--rr-font-small:13px;--hs-font-xs:13px;--hs-font-sm:13px;--hs-control-font-size:13px;--hs-table-body-font-size:13px;--hs-button-font-size:13px}
@media(max-width:991.98px){
  :root[data-hs-font-size="small"] :is(body.rr-app,body.rr-login,body.rr-participant) :is(input.form-control,select.form-select,textarea.form-control,input,select,textarea){font-size:16px!important}
}

/* Keep the active navigation underline on the exact primary brand red in both themes. */
html:root .rr-app .hs-nav-link.active { border-bottom-color: var(--rr-brand-crimson); }

/* Application typography: Inter Light for reading, Regular for hierarchy.
   Keep sizes and touch targets independent from font weight. */
html:root body.rr-app {
  --rr-body-weight: 300;
  --rr-heading-weight: 400;
  --hs-button-font-weight: 300;
  --bs-body-font-weight: var(--rr-body-weight);
  --hs-table-head-font-size: 13px;
  --hs-table-head-bg: color-mix(in srgb,var(--hs-text) 3%,var(--hs-surface));
  font-weight: var(--rr-body-weight);
}
html:root body.rr-app :is(p,li,td,label,small,input,select,textarea,a,dd,kbd,
  .rr-small,.rr-muted,.hs-page-subtitle,.rr-field,.rr-plan-title,
  .hs-nav-link,.hs-nav-menu-link,.hs-profile-dropdown-item,
  .hs-breadcrumb,.rr-workspace-picker-trigger) {
  font-weight: var(--rr-body-weight);
}
html:root body.rr-app :is(button,.rr-workspace-shortcuts>button) {
  font-weight: var(--rr-body-weight);
}
html:root body.rr-app :is(strong,b,h1,h2,h3,h4,h5,h6,summary,dt,legend,
  .hs-page-title,.rr-eyebrow,.rr-nav-group-title,.rr-nav-scope-label,
  .hs-nav-link.active,.hs-nav-menu-link.active,.hs-nav-menu-link strong,
  .rr-beta-badge,.rr-theme-choices button[aria-pressed="true"]) {
  font-weight: var(--rr-heading-weight);
}
/* Bootstrap and Axis enforce some weights with !important. Override only
   their explicit weight utilities and table header contract in RedRover. */
html:root body.rr-app :is(.fw-bold,.fw-semibold,.fw-bolder) {
  font-weight: var(--rr-heading-weight)!important;
}
html:root body.rr-app table>thead>tr>th {
  font-size:max(13px,calc(var(--rr-font-small,.875rem) - 1px));
  font-weight:var(--rr-heading-weight)!important;
  text-transform:none!important;
  letter-spacing:.025em;
  text-align:left;
  line-height:1.45;
  color:var(--hs-muted-text);
  background:var(--hs-table-head-bg)!important;
}
html:root body.rr-app :is(h1,.hs-page-title) {font-size:1.25rem;line-height:1.3;letter-spacing:-.02em}
html:root body.rr-app h2 {font-size:1.0625rem;line-height:1.4;letter-spacing:-.015em}
html:root body.rr-app :is(h3,h4,h5,h6) {font-size:1rem;line-height:1.45;letter-spacing:normal}
html:root body.rr-app .rr-eyebrow {letter-spacing:.06em}

/* Inline captions follow their control or heading rather than restoring an old bold weight. */
html:root body.rr-app :is(span,output) {font-weight:inherit}

html:root body.rr-app .dt-container .dt-paging .page-link {font-weight:var(--rr-body-weight)}
@media(max-width:767.98px) {
  html:root body.rr-app .rr-search input {font-size:16px!important}
}
