/* ROIS TRADE — Institutional identity / September 2026.
   Target the approved asset only: company logos and personal photos are untouched.
   !important is required here to neutralize legacy branding scale/filter rules. */
html body img[src*="rois-trade-institutional-20260913.png"] {
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  --rois-logo-aspect: 3 / 1;
}
/* Frame the official artwork, trimming only its empty outer transparent margins.
   The source asset, emblem proportions and colors remain unchanged. */
html body.rois-dossier .topbar { min-height: 112px !important; }
html body.rois-dossier .topbar .brand {
  min-width: 312px !important;
  width: 312px !important;
  max-width: 312px !important;
  height: 104px !important;
  flex: 0 0 312px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  overflow: hidden !important;
}
html body .topbar .brand img[src*="rois-trade-institutional-20260913.png"] {
  display: block !important;
  width: 312px !important;
  height: 104px !important;
  flex-shrink: 0;
  max-height: none !important;
  max-width: none !important;
}
html body .dashboard .sidebar .rois-sidebar-identity {
  display: block;
  width: 240px;
  height: auto;
  max-width: 100%;
  margin: 0 auto 20px;
}
html body #clientView .client-sidebar-brand img {
  width: 240px;
  height: auto;
}
html body .dashboard img.company-session-logo[src*="rois-trade-institutional-20260913.png"] {
  width: 160px !important;
  height: 64px !important;
}
html body .dashboard .mobile-avatar img[src*="rois-trade-institutional-20260913.png"] {
  width: 100% !important;
  height: 100% !important;
}
html body #homeView.rh-home .rh-network-core img { width: min(100%, 360px); height: auto; aspect-ratio: var(--rois-logo-aspect); }
html body #homeView.rh-home .rh-footer-top img { width: 260px; max-width: 100%; height: auto; aspect-ratio: var(--rois-logo-aspect); }
html body .sponsor-deck-brand img[src*="rois-trade-institutional-20260913.png"] {
  width: 220px;
  max-width: 100%;
  height: auto;
}
body.rois-dossier { --rois-public-logo-width: 220px; }
html body .information-brand img { width: var(--rois-public-logo-width); height: auto; max-width: 100%; max-height: none; }
@media (max-width: 1100px) {
  html body.rois-dossier .topbar {
    height: auto !important;
    grid-template-rows: auto auto !important;
    row-gap: 10px !important;
  }
  html body.rois-dossier .topbar .brand {
    min-width: 174.72px !important;
    width: 174.72px !important;
    max-width: 174.72px !important;
    flex-basis: 174.72px !important;
    height: 60px !important;
  }
  html body .topbar .brand img[src*="rois-trade-institutional-20260913.png"] {
    width: 188px !important;
    height: auto !important;
  }
}

/* ROIS TRADE — Charcoal, metallic silver and electric blue dossier system.
   Blue accents echo the site's imagery; status colors stay semantic.
   Presentation only. Keep existing navigation, layout breakpoints and form behavior.
   Legacy dashboard rules contain !important and hardcoded light backgrounds;
   the scoped compatibility rules below replace that palette, not functionality. */
body.rois-dossier {
  --dossier-bg: #05080d;
  --dossier-panel: #0b111b;
  --dossier-raised: #101e30;
  --dossier-text: #f2f5fa;
  --dossier-muted: #afbdd0;
  --dossier-line: #526882;
  --dossier-line-soft: #27364b;
  --dossier-accent: #69b5ff;
  --dossier-primary: #1856b8;
  --dossier-primary-hover: #2065d8;
  --dossier-selected: #102b4b;
  --dossier-metal: #c9c6b9;
  --dossier-success: #73d9a6;
  --dossier-danger: #ffb0b8;
  --bg: var(--dossier-bg);
  --card: var(--dossier-panel);
  --card-strong: var(--dossier-raised);
  --surface: var(--dossier-panel);
  --surface-card: var(--dossier-panel);
  --text: var(--dossier-text);
  --muted: var(--dossier-muted);
  --accent: var(--dossier-accent);
  --line: var(--dossier-line-soft);
  --soft: var(--dossier-raised);
  --shadow: none;
  --shadow-soft: none;
  color-scheme: dark;
  color: var(--dossier-text);
  background: var(--dossier-bg) !important;
}
body.rois-dossier img[src*="rois-trade-institutional-20260913.png"] { mix-blend-mode: normal; }
/* Dashboard appearance. Home and public pages keep their dark editorial identity.
   Both themes use the same components and tokens; switching never changes layout/data. */
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) {
  --dossier-bg: #f3f6fa;
  --dossier-panel: #ffffff;
  --dossier-raised: #e9eff7;
  --dossier-text: #111111;
  --dossier-muted: #3f4650;
  --dossier-line: #647891;
  --dossier-line-soft: #c6d2e1;
  --dossier-accent: #1856b8;
  --dossier-selected: #dfedff;
  --dossier-metal: #585951;
  --dossier-success: #177044;
  --dossier-danger: #aa1833;
  color-scheme: light;
}
/* The official dark artwork is used only on light dashboard surfaces.
   CSS replacement also covers newly rendered cards/modals without mutating image
   sources, customer branding, form state or the public home's silver identity. */
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) :is(.dashboard,.modal-card) img[src*="rois-trade-institutional-20260913.png"] {
  --rois-logo-aspect: 1983 / 793;
  content: url("./assets/rois-trade-light-mode-20260913.png");
}
body.rois-dossier .dashboard .workspace-head { flex-wrap: wrap; gap: 20px; }
body.rois-dossier .dashboard .client-workspace-actions { flex-wrap: wrap; }
body.rois-dossier .dashboard :is(.dashboard-theme-control,.dashboard-language-control) { display: grid; gap: 6px; max-width: 100%; }
body.rois-dossier .dashboard :is(.dashboard-theme-control,.dashboard-language-control) > span { color: var(--dossier-muted); font-size: 11px; line-height: 1.4; }
body.rois-dossier .dashboard :is(.dashboard-theme-control,.dashboard-language-control) > div { display: flex; flex-wrap: wrap; gap: 4px; }
body.rois-dossier .dashboard :is([data-dashboard-theme-option],[data-dashboard-language-option]) {
  min-height: 44px; padding: 9px 12px; border: 1px solid var(--dossier-line) !important;
  color: var(--dossier-text) !important; background: var(--dossier-panel) !important;
  border-radius: 4px; font-size: 12px; line-height: 1.4; cursor: pointer;
}
body.rois-dossier .dashboard :is([data-dashboard-theme-option],[data-dashboard-language-option])[aria-pressed="true"] {
  color: #fff !important; background: var(--dossier-primary) !important; border-color: var(--dossier-primary) !important;
}
body.rois-dossier .dashboard :is([data-dashboard-theme-option],[data-dashboard-language-option]):hover { border-color: var(--dossier-accent) !important; }
/* ROIS HORIZON is a program identity, not a new account role or approval status. */
body.rois-dossier #athleteView .rois-signature strong { font-size: 19px; letter-spacing: .12em; color: var(--dossier-accent) !important; }
body.rois-dossier .horizon-workspace-caption { margin: 8px 0 0; max-width: 38ch; font-size: 13px; line-height: 1.5; }
body.rois-dossier .horizon-brief { padding: clamp(20px, 3vw, 32px); margin-bottom: 28px; background: var(--dossier-panel); border: 1px solid var(--dossier-line); border-top: 3px solid var(--dossier-accent); }
body.rois-dossier .horizon-brief h2 { font-size: clamp(25px, 2.5vw, 36px); line-height: 1.15; margin: 10px 0 16px; max-width: 28ch; }
body.rois-dossier .horizon-brief > p { max-width: 76ch; line-height: 1.7; }
body.rois-dossier .horizon-pillars { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 24px 0; }
body.rois-dossier .horizon-pillars > div { display: grid; align-content: start; gap: 8px; border-top: 1px solid var(--dossier-line-soft); padding-top: 14px; }
body.rois-dossier .horizon-pillars span { color: var(--dossier-muted); font-size: 14px; line-height: 1.5; }
body.rois-dossier .horizon-actions { display: flex; flex-wrap: wrap; gap: 10px; }
body.rois-dossier .horizon-actions .btn { white-space: normal; }
@media (max-width: 600px) {
  body.rois-dossier .horizon-pillars { grid-template-columns: 1fr; gap: 14px; }
  body.rois-dossier .horizon-actions .btn { width: 100%; }
  body.rois-dossier #athleteView .workspace { padding-top: 24px !important; }
  body.rois-dossier .dashboard .workspace-head {
    display: grid !important; grid-template-columns: minmax(0,1fr) auto; gap: 14px !important; align-items: start;
  }
  body.rois-dossier .dashboard .workspace-head > :is(:first-child,.btn,.client-workspace-actions) { grid-column: 1 / -1; }
  body.rois-dossier .dashboard .workspace-head > .dashboard-theme-control { grid-column: 1; justify-self: start; }
  body.rois-dossier .dashboard .workspace-head > .dashboard-language-control { grid-column: 2; justify-self: end; }
  body.rois-dossier .dashboard :is([data-dashboard-theme-option],[data-dashboard-language-option]) { padding-inline: 8px; font-size: 11px; }
}
/* Informational pages share the identity without changing content or navigation. */
body.rois-dossier.rois-information-page :is(.information-topbar,.information-footer) {
  background: var(--dossier-bg); border-color: var(--dossier-line-soft);
}
body.rois-dossier.rois-information-page :is(h1,h2,h3) { color: var(--dossier-text); }
body.rois-dossier.rois-information-page :is(p,li,.eyebrow,.information-intro span,.information-footer span,.information-topbar a,.information-footer a) { color: var(--dossier-muted); }
body.rois-dossier.rois-information-page :is(.information-intro,.information-section) { border-color: var(--dossier-line-soft); scroll-margin-top: 160px; }
body.rois-dossier.rois-information-page :is(.btn,.information-access,.social-icon-link) {
  color: var(--dossier-text); background: var(--dossier-raised); border: 1px solid var(--dossier-line); border-radius: 2px; min-height: 44px;
}
body.rois-dossier.rois-information-page a:focus-visible { outline: 2px solid var(--dossier-accent); outline-offset: 4px; }
body.rois-dossier.rois-information-page a:hover { color: var(--dossier-text); }
@media (max-width: 720px) {
  body.rois-dossier { --rois-public-logo-width: 150px; }
  html body.rois-dossier .information-brand img { width: var(--rois-public-logo-width) !important; }
  body.rois-dossier .information-access { padding-inline: 10px; font-size: 10px; }
}
/* Home and “Qué es ROIS” use the same uncropped public logo at every breakpoint. */
html body.rois-dossier[data-active-view="home"] .topbar .brand {
  min-width: var(--rois-public-logo-width) !important;
  width: var(--rois-public-logo-width) !important;
  max-width: var(--rois-public-logo-width) !important;
  flex-basis: var(--rois-public-logo-width) !important;
  height: auto !important;
  overflow: visible !important;
}
html body.rois-dossier[data-active-view="home"] .topbar .brand img[src*="rois-trade-institutional-20260913.png"] {
  width: var(--rois-public-logo-width) !important;
  height: auto !important;
}
html body.rois-dossier::before,
html body.rois-dossier::after { background: none !important; }
html body.rois-dossier .topbar {
  background: var(--dossier-bg) !important;
  border-bottom: 1px solid var(--dossier-line) !important;
  box-shadow: none !important;
}
html body.rois-dossier .topbar .brand {
  display: flex !important;
  align-items: center;
  gap: 14px;
  text-decoration: none;
}
.rois-signature { display: grid; color: var(--dossier-muted); text-align: center; }
.rois-signature small { font: 12px/1.5 "Segoe UI", Arial, sans-serif; letter-spacing: .1em; color: inherit; }
html body.rois-dossier .topbar .public-nav a { color: var(--dossier-muted) !important; }
html body.rois-dossier .topbar .public-nav a:hover { color: #fff !important; }
html body.rois-dossier .topbar :is(.btn,.pill) {
  border-radius: 2px !important;
  background: transparent !important;
  color: var(--dossier-text) !important;
  border-color: var(--dossier-line) !important;
}
html body.rois-dossier .topbar .nav-create-account {
  background: var(--dossier-primary) !important;
  border-color: var(--dossier-accent) !important;
}
/* Shared dashboard colors; business data and profile imagery remain untouched. */
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) {
  --client-bg: var(--dossier-bg);
  --client-bg-secondary: var(--dossier-bg);
  --client-panel: var(--dossier-panel);
  --client-panel-elevated: var(--dossier-raised);
  --client-text: var(--dossier-text);
  --client-muted: var(--dossier-muted);
  --client-line: var(--dossier-line-soft);
  --client-line-strong: var(--dossier-line);
  --client-blue: var(--dossier-accent);
  --client-blue-strong: var(--dossier-primary);
  --client-gold: var(--dossier-muted);
  --client-radius: 2px;
  --client-shadow: none;
  --agent-bg: var(--dossier-bg);
  --agent-panel: var(--dossier-panel);
  --agent-text: var(--dossier-text);
  --agent-muted: var(--dossier-muted);
  --agent-line: var(--dossier-line-soft);
  --agent-blue: var(--dossier-accent);
  --agent-gold: var(--dossier-muted);
  --bg: var(--dossier-bg);
  --card: var(--dossier-panel);
  --text: var(--dossier-text);
  --muted: var(--dossier-muted);
  --line: var(--dossier-line-soft);
  --soft: var(--dossier-raised);
  background: var(--dossier-bg) !important;
  color: var(--dossier-text) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  border-color: var(--dossier-line-soft) !important;
}
body.rois-dossier .dashboard :is(.sidebar,.workspace,.workspace-head,.panel,.panel-body,.panel-head,.mobile-appbar) {
  background: var(--dossier-bg) !important;
  color: var(--dossier-text) !important;
  border-color: var(--dossier-line-soft) !important;
  box-shadow: none !important;
}
body.rois-dossier .dashboard .workspace-head {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--dossier-line) !important;
}
body.rois-dossier .dashboard :is(h1,h2,h3,h4,strong,label,summary,legend,td,th,dt,dd) { color: var(--dossier-text) !important; }
body.rois-dossier .dashboard p { color: var(--dossier-muted) !important; }
body.rois-dossier .dashboard :is(h1,h2,h3,h4) { letter-spacing: -.02em !important; }
body.rois-dossier .dashboard :is(.eyebrow,.side-nav-label,.hint,.muted,small) { color: var(--dossier-muted) !important; }
body.rois-dossier .dashboard .side-nav-label { letter-spacing: .14em; }
body.rois-dossier .dashboard .side-nav { min-width: 0; }
body.rois-dossier .dashboard .side-nav button {
  min-height: 44px;
  white-space: normal;
  overflow-wrap: anywhere;
  border-radius: 2px !important;
  border: 1px solid transparent !important;
  color: var(--dossier-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.rois-dossier .dashboard .side-nav button.active {
  background: var(--dossier-selected) !important;
  color: var(--dossier-text) !important;
  border-color: var(--dossier-accent) !important;
  border-left: 2px solid var(--dossier-accent) !important;
}
body.rois-dossier .dashboard .side-nav button:hover { background: var(--dossier-raised) !important; color: var(--dossier-text) !important; }
body.rois-dossier .dashboard .side-nav button::before { background-color: var(--dossier-accent) !important; }
body.rois-dossier .dashboard .dash-section { scroll-margin-block-start: 24px; }
body.rois-dossier .dashboard .panel-head h3:focus-visible { outline: 2px solid var(--dossier-accent); outline-offset: 6px; }
body.rois-dossier .dashboard .sidebar { overscroll-behavior: contain; scrollbar-color: var(--dossier-line) var(--dossier-bg); }
/* Pair surface and text colors for populated cards, editors and modal content too.
   Legacy gradients are background images: background-color alone leaves them white.
   Only named UI components are themed; media and customer logos remain untouched. */
body.rois-dossier :is(.dashboard,.modal-card) :is(
  .kpi,.stat-card,.metric-card,.empty,.empty-state,.table-wrap,.table-container,
  .card,.tutorial-card,.quick-guide,.dashboard-tutorial,.profile-status-grid>div,
  .athlete-edit-drawer,.athlete-profile-reels,.profile-brands,.athlete-profile-tabs,
  .social-audience-fields,.athlete-profile-hero,.client-executive-panel,.client-kpi,
  .client-executive-card,.client-company-summary,.client-guide,.client-tutorial,
  .client-panel-tutorial,.client-tutorial-example,.client-executive-hero,
  .client-secondary-metric,.client-command-panel,.admin-geo-dashboard,
  .athlete-evidence-composer,.annual-access-lock,.scout-code-card,.scout-policy,
  .check-option,.settings-password-form,.payment-link-card,.stripe-info,.scout-metrics>div,
  .agent-kpis>article,.agent-account,.agent-editor,.agent-two-col>section,
  .agent-record-list>article,.agent-followup,.agent-applicant,.admin-command-card,
  .admin-command-hero,.admin-control-card,.admin-kpi,.admin-metric,.admin-control-hero,
  .published-card,.published-content,.partner-card,.partner-content,.payment-card,
  .sponsor-tier,.opportunity-card,.scout-mission-card,.plan-admin-card,.notification-card,
  .company-profile-form,.company-logo-upload-prompt,.onboarding-hero,.requirement-item,
  .sponsor-deck-form,.sponsor-deck-progress,.sponsor-deck-managed-contact,
  .sponsor-deck-media-editor,.sponsor-deck-ai-coming,.sponsor-deck-fixed-offer,.sponsorship-level-form,
  .sponsorship-level-card,.sponsorship-level-live-breakdown,.sponsorship-level-breakdown,
  .company-plan-gate,.company-plan-card,.corporate-listing-card,.corporate-publisher,
  .athlete-social-info-card,.athlete-profile-reels article,.feed-card,.reel-content,
  .company-profile-card,.company-operations-card,.company-alliances-preview,
  .company-reels-widget,.premium-products-block,.premium-product-card,.vip-product-card,
  .premium-alliance-card.silver,.company-action-grid article,.client-step-grid article,
  .launch-card,.launch-sponsor-grid article,.commercial-table-scroll,.admin-map-legend,
  .admin-control-funnel,.admin-control-signal,.event-commercial-card,.client-editorial-feed,
  .brand-growth-campaign,.brand-growth-quote-response,.brand-growth-score,
  .client-quick-action,.client-command-skeleton,.registration-note,.requirement-gate,
  .company-verification-form,.opportunity-company-form,.scout-mission-toggle,
  .company-logo-preview,.agent-toolbar,.agent-empty,.agent-skeleton,.agent-intro,.agent-next
) {
  color: var(--dossier-text) !important;
  background: var(--dossier-panel) !important;
  border: 1px solid var(--dossier-line-soft) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}
body.rois-dossier .dashboard :is(.kpis>div,.kpis>article,fieldset) {
  background: var(--dossier-panel) !important;
  color: var(--dossier-text) !important;
  border-color: var(--dossier-line-soft) !important;
  border-radius: 2px !important;
}
body.rois-dossier :is(.dashboard,.modal-card) :is(.partner-mark,.athlete-media,.athlete-social-avatar) {
  background: var(--dossier-raised); color: var(--dossier-text); border-color: var(--dossier-line);
}
body.rois-dossier :is(.dashboard,.modal-card) :is(.notification-message,.notification-meta,.published-content,.partner-content,.reel-content,.sponsorship-level-breakdown,.sponsorship-level-live-breakdown) {
  color: var(--dossier-text);
}
body.rois-dossier :is(.dashboard,.modal-card) :is(.optional-strip span,.athlete-social-highlights span,.media-pill) {
  color: var(--dossier-text); background: var(--dossier-raised); border-color: var(--dossier-line);
}
body.rois-dossier .dashboard :is(.table-wrap,.table-container) { overflow-x: auto; }
body.rois-dossier .dashboard :is(.client-tutorial-intro,.client-tutorial-steps,.client-tutorial-example,.admin-geo-dashboard) {
  color: var(--dossier-muted) !important;
}
body.rois-dossier .dashboard :is(.client-tutorial-example span,.client-tutorial-steps li,.admin-geo-dashboard span) {
  color: var(--dossier-muted) !important;
}
body.rois-dossier .dashboard .client-tutorial-steps li::before {
  background: transparent !important; border: 1px solid var(--dossier-accent) !important; color: var(--dossier-text) !important;
}
body.rois-dossier .dashboard .athlete-social-stats span { color: var(--dossier-muted) !important; }
body.rois-dossier .dashboard .athlete-social-tabs button {
  color: var(--dossier-muted) !important; background: transparent !important; min-height: 48px;
}
body.rois-dossier .dashboard .athlete-social-tabs button.active {
  color: var(--dossier-text) !important; box-shadow: inset 0 -2px 0 var(--dossier-accent) !important;
}
body.rois-dossier .dashboard .sponsor-bubble.empty {
  background: transparent !important; border: 0 !important; padding: 0;
}
body.rois-dossier .dashboard .sponsor-bubble.empty span {
  background: var(--dossier-panel) !important; border: 1px dashed var(--dossier-line) !important;
  color: var(--dossier-muted) !important; box-shadow: none !important;
}
body.rois-dossier .dashboard .sponsor-bubble figcaption { color: var(--dossier-muted) !important; }
body.rois-dossier .dashboard :is(.client-tutorial-close,.client-tutorial-restore) {
  background: var(--dossier-bg) !important; color: var(--dossier-text) !important; border-color: var(--dossier-line) !important;
}
body.rois-dossier .dashboard :is(table,thead,tbody,tr,td,th) {
  color: var(--dossier-text) !important;
  background: transparent !important;
  border-color: var(--dossier-line-soft) !important;
}
body.rois-dossier .dashboard th { color: var(--dossier-muted) !important; }
body.rois-dossier .dashboard tbody tr:hover { background: var(--dossier-raised) !important; }
html body.rois-dossier #adminView [data-dashboard-panel] table :is(td,th) {
  background: var(--dossier-panel) !important; color: var(--dossier-text) !important;
}
body.rois-dossier .dashboard .admin-geo-bar { background: var(--dossier-line-soft); }
body.rois-dossier .dashboard .admin-geo-bar i { background: var(--dossier-accent); }
body.rois-dossier #adminView :is(.admin-candle-empty span,.admin-chart-legend span) { color: var(--dossier-muted); }
body.rois-dossier #adminView .admin-live-status b { color: var(--dossier-success); font-size: 12px; }
body.rois-dossier :is(.dashboard,.modal-card) code { color: var(--dossier-text); overflow-wrap: anywhere; }
body.rois-dossier :is(.dashboard,.modal-card) :is(input,select,textarea) {
  color: var(--dossier-text) !important;
  background-color: var(--dossier-panel) !important;
  border: 1px solid var(--dossier-line) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  accent-color: var(--dossier-accent);
  caret-color: var(--dossier-accent);
}
body.rois-dossier :is(.dashboard,.modal-card) ::placeholder { color: var(--dossier-muted) !important; opacity: 1; }
body.rois-dossier :is(.dashboard,.modal-card) input::file-selector-button {
  background: var(--dossier-primary); color: #fff; border: 1px solid var(--dossier-accent); padding: 10px 14px; margin-right: 12px;
}
body.rois-dossier :is(.dashboard,.modal-card) :is(.btn,button[type=submit],.modal-close,.mobile-app-action,.mobile-avatar,.mobile-menu-close,.commercial-sidebar-toggle) {
  border: 1px solid var(--dossier-line) !important;
  background: transparent !important;
  color: var(--dossier-text) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  min-height: 44px;
}
body.rois-dossier :is(.dashboard,.modal-card) .btn.primary {
  color: #fff !important; background: var(--dossier-primary) !important; border-color: var(--dossier-accent) !important;
}
body.rois-dossier :is(.dashboard,.modal-card) .btn:hover { background: var(--dossier-primary-hover) !important; color: #fff !important; border-color: var(--dossier-accent) !important; }
body.rois-dossier :is(.dashboard,.modal-card) :is(.btn.danger,.error,[role=alert]) { color: var(--dossier-danger) !important; }
body.rois-dossier :is(.dashboard,.modal-card) .btn.danger:hover { background: var(--dossier-raised) !important; color: var(--dossier-danger) !important; }
body.rois-dossier .dashboard .pill {
  color: var(--dossier-text) !important; background: var(--dossier-selected) !important; border: 1px solid var(--dossier-line); border-radius: 2px;
}
body.rois-dossier .dashboard :is(.admin-flow-row > span,.agent-alert span) { color: var(--dossier-muted); }
body.rois-dossier[data-dashboard-theme="light"] #clientView :is(.status-pending,.status-review,.status-warning) { color: #805000; background: #fff2d9; }
body.rois-dossier[data-dashboard-theme="light"] #clientView .status-active { color: var(--dossier-accent); background: var(--dossier-selected); }
body.rois-dossier[data-dashboard-theme="light"] #clientView :is(.status-approved,.status-completed,.status-paid) { color: var(--dossier-success); background: #e3f5eb; }
body.rois-dossier[data-dashboard-theme="light"] #clientView :is(.status-rejected,.status-cancelled) { color: var(--dossier-danger); background: #ffedf0; }
body.rois-dossier :is(.dashboard,.modal-card,.topbar) :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--dossier-accent) !important; outline-offset: 4px !important;
}
body.rois-dossier .modal-card {
  color: var(--dossier-text) !important; background: var(--dossier-bg) !important;
  border: 1px solid var(--dossier-line) !important; border-radius: 4px !important;
}
body.rois-dossier .modal-card :is(h1,h2,h3,label,summary,legend) { color: var(--dossier-text) !important; }
body.rois-dossier .modal-card p { color: var(--dossier-muted) !important; }
/* Existing shared viewers consume the same palette; their renderers/data stay unchanged. */
body.rois-dossier .sponsor-deck-viewer-v2 {
  --deck-bg: var(--dossier-bg);
  --deck-bg-secondary: var(--dossier-panel);
  --deck-panel: var(--dossier-panel);
  --deck-panel-elevated: var(--dossier-raised);
  --deck-text: var(--dossier-text);
  --deck-muted: var(--dossier-muted);
  --deck-line: var(--dossier-line-soft);
  --deck-line-strong: var(--dossier-line);
  --deck-blue: var(--dossier-accent);
  --deck-gold: var(--dossier-metal);
}
body.rois-dossier[data-active-view="client"] .company-athlete-profile {
  --talent-bg: var(--dossier-bg);
  --talent-panel: var(--dossier-panel);
  --talent-panel-elevated: var(--dossier-raised);
  --talent-text: var(--dossier-text);
  --talent-muted: var(--dossier-muted);
  --talent-line: var(--dossier-line-soft);
  --talent-line-strong: var(--dossier-line);
  --talent-blue: var(--dossier-accent);
  --talent-gold: var(--dossier-metal);
}
body.rois-dossier .sponsor-deck-viewer-v2 .sponsor-deck-cover {
  background: radial-gradient(ellipse at top right, var(--dossier-selected), transparent 65%), var(--dossier-bg);
}
body.rois-dossier .sponsor-deck-viewer-v2 .sponsor-deck-request-action { background: var(--dossier-raised); }
body.rois-dossier .sponsor-deck-viewer-header { background: var(--dossier-bg); }
body.rois-dossier .sponsor-deck-viewer-v2 :is(.sponsor-deck-profile-meta span,.sponsor-deck-capacity) { background: var(--dossier-raised); color: var(--dossier-text); }
body.rois-dossier .sponsor-deck-viewer-v2 :is(.sponsor-deck-story > p:last-child,.sponsor-deck-profile-module li,.sponsor-deck-profile-module > p:not(.eyebrow),.sponsor-deck-benefit > p:last-child) { color: var(--dossier-muted); }
body.rois-dossier :is(.sponsor-deck-header-cta,.sponsor-deck-request-action .btn),
body.rois-dossier[data-active-view="client"] .company-athlete-profile .athlete-social-actions > .btn:first-child {
  background: var(--dossier-primary); color: #fff; border-color: var(--dossier-accent);
}
body.rois-dossier[data-active-view="client"] .company-talent-evaluation { background: var(--dossier-panel); }
body.rois-dossier[data-active-view="client"] .company-talent-completion > i > b,
body.rois-dossier .sponsor-deck-completion > i > b { background: var(--dossier-accent); }
/* Legacy populated cards and detail viewers must pair light surfaces with dark text.
   Keep these overrides light-only; media scrims and primary buttons retain white text. */
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) :is(.dashboard,.modal-card) :is(
  .client-map-chip,.company-access-banner,.company-access-meta,.athlete-card,.athlete-info,
  .market-profile-card,.premium-command-panel,.client-next-steps,
  .company-athlete-profile .athlete-social-header,
  .athlete-social-avatar span,.athlete-social-stats > div,.company-talent-meta span,
  .company-talent-capacity-metrics > div,.company-talent-slot-strip,.sponsor-bubble.empty span
) {
  background: var(--dossier-panel) !important;
  color: var(--dossier-text) !important;
  border-color: var(--dossier-line-soft) !important;
}
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) :is(.dashboard,.modal-card) :is(
  .client-table-link,.client-executive-meta span,.client-command-data-note,
  .company-access-meta span,.company-talent-module li,.athlete-social-stats strong,
  .athlete-social-avatar span
) { color: var(--dossier-text) !important; }
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) .dashboard .client-table-link {
  background: transparent !important;
}
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) :is(.dashboard,.modal-card) :is(
  .athlete-technical span,.athlete-metrics span,.athlete-social-stats span,
  .company-talent-capacity-metrics span,.company-talent-capacity-metrics small,
  .sponsor-bubble.empty span,.sponsor-bubble figcaption
) { color: var(--dossier-muted) !important; }
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) :is(.dashboard,.modal-card) :is(.badge,.client-status-badge,.athlete-social-name .pill) {
  color: var(--dossier-text) !important;
  background: var(--dossier-selected) !important;
  border-color: var(--dossier-line-soft) !important;
}
body.rois-dossier[data-dashboard-theme="light"] #commercialView.agent-workspace [data-agent-form-error] {
  color: var(--dossier-danger) !important;
}
/* Change foreground/background together on hover, without a white-on-light transition. */
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) :is(.dashboard,.modal-card) .btn {
  transition-property: border-color, box-shadow, transform !important;
}
body.rois-dossier[data-dashboard-theme="light"]:not([data-active-view="home"]) .modal-card select option {
  color: var(--dossier-text) !important; background: var(--dossier-panel) !important;
}
/* Executive overview cards use legacy background-image gradients, not just colors.
   Theme the complete surface; keep the pipeline's data-driven conic gradient intact. */
body.rois-dossier[data-dashboard-theme="light"] #clientView :is(
  .client-command-card,.client-map-visual,.client-command-error
) {
  background: var(--dossier-panel) !important;
  color: var(--dossier-text) !important;
  border-color: var(--dossier-line-soft) !important;
  box-shadow: none !important;
}
body.rois-dossier[data-dashboard-theme="light"] #clientView .client-map-visual {
  background: var(--dossier-raised) !important;
}
body.rois-dossier[data-dashboard-theme="light"] #clientView .client-map-visual svg {
  color: var(--dossier-accent); filter: none;
}
body.rois-dossier[data-dashboard-theme="light"] #clientView .client-segment-track {
  background: var(--dossier-line-soft);
}
body.rois-dossier[data-dashboard-theme="light"] #clientView :is(.client-pipeline-donut,.client-pipeline-donut::before) {
  box-shadow: none;
}
body.rois-dossier[data-dashboard-theme="light"] #clientView .client-activity-icon {
  color: var(--dossier-accent);
}
/* Agent workspace: six primary destinations, tools stay contextual. */
body.rois-dossier #commercialView.agent-workspace .side-nav [data-agent-tool] { display: none !important; }
body.rois-dossier #commercialView.agent-workspace .agent-day-head {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 24px 0; border-bottom: 1px solid var(--dossier-line-soft);
}
body.rois-dossier #commercialView.agent-workspace .agent-day-head h2 { font-size: clamp(24px,3vw,38px); line-height: 1.15; margin: 10px 0; }
body.rois-dossier #commercialView.agent-workspace .agent-day-head p { max-width: 640px; }
body.rois-dossier #commercialView.agent-workspace .agent-day-head > .action-row { flex-shrink: 0; flex-direction: column; }
body.rois-dossier #commercialView.agent-workspace .agent-day-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); }
body.rois-dossier #commercialView.agent-workspace .agent-pipeline { grid-template-columns: repeat(5,minmax(0,1fr)); }
body.rois-dossier #commercialView.agent-workspace :is(.agent-context-nav,.agent-list-pages) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body.rois-dossier #commercialView.agent-workspace .agent-list-pages { justify-content: flex-end; }
body.rois-dossier #commercialView.agent-workspace .agent-list-pages > span { margin-right: auto; color: var(--dossier-muted); }
body.rois-dossier #commercialView.agent-workspace .agent-list-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; }
body.rois-dossier #commercialView.agent-workspace .agent-list-controls label { display: grid; gap: 8px; flex: 1 1 180px; }
body.rois-dossier #commercialView.agent-workspace .agent-list-controls input { width: 100%; }
body.rois-dossier #commercialView.agent-workspace .agent-list-controls .btn { margin: 0; }
body.rois-dossier #commercialView.agent-workspace .agent-record-list { margin: 0; }
body.rois-dossier #commercialView.agent-workspace .agent-record-actions details { min-width: 0; }
body.rois-dossier #commercialView.agent-workspace .agent-record-actions details .action-row { margin-top: 14px; display: grid; }
body.rois-dossier #commercialView.agent-workspace summary { cursor: pointer; color: var(--dossier-text); padding: 12px 0; min-height: 44px; }
body.rois-dossier #commercialView.agent-workspace :is(.agent-account-tools,.agent-case-tools,.agent-agenda-group,.agent-history-details) { padding: 22px; border: 1px solid var(--dossier-line-soft); background: var(--dossier-panel); }
body.rois-dossier #commercialView.agent-workspace .agent-editor fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
body.rois-dossier #commercialView.agent-workspace .agent-editor legend.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); }
body.rois-dossier #commercialView.agent-workspace .agent-editor fieldset:disabled :is(input,textarea,select) { opacity: 1; color: var(--dossier-text); -webkit-text-fill-color: var(--dossier-text); background: var(--dossier-raised); cursor: default; }
body.rois-dossier #commercialView.agent-workspace .agent-form-details { margin-top: 18px; border-top: 1px solid var(--dossier-line-soft); }
body.rois-dossier #commercialView.agent-workspace .agent-readonly-note { padding: 16px; background: var(--dossier-selected); border-left: 3px solid var(--dossier-accent); }
body.rois-dossier #commercialView.agent-workspace .agent-agenda-group h3 small { color: var(--dossier-muted); }
body.rois-dossier #commercialView.agent-workspace .agent-alert { display: grid; grid-template-columns: 28px minmax(0,1fr) 44px; gap: 12px; }
body.rois-dossier #commercialView.agent-workspace .agent-alert > span { color: var(--dossier-muted) !important; }
body.rois-dossier #commercialView.agent-workspace .agent-alert > .btn { width: 44px !important; min-width: 44px !important; padding: 8px !important; }
@media (max-width: 1100px) {
  body.rois-dossier #commercialView.agent-workspace .agent-day-head { flex-direction: column; align-items: start; }
  body.rois-dossier #commercialView.agent-workspace .agent-day-head > .action-row { flex-direction: row; }
}
@media (max-width: 700px) {
  body.rois-dossier #commercialView.agent-workspace :is(.agent-day-kpis,.agent-pipeline) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.rois-dossier #commercialView.agent-workspace .agent-list-controls > .btn { width: 100%; }
}
/* Shared dashboard preferences live in Settings, not in operational headers. */
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-preferences {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
  margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--dossier-line-soft);
}
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-preferences .settings-block {
  min-width: 0; padding: 18px; border: 1px solid var(--dossier-line-soft); background: var(--dossier-panel);
}
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-preferences .dashboard-language-control > span {
  position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal;
}
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-preferences .dashboard-language-control {
  display: grid; align-items: start; gap: 6px;
}
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-preferences .dashboard-language-control > div {
  background: transparent; border: 0; padding: 0;
}
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-session { display: grid; align-content: start; gap: 6px; }
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-session .eyebrow { margin: 0; font-size: 11px; line-height: 1.4; }
body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-session .btn { justify-self: start; }
@media (max-width: 1100px) {
  body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) .dashboard-settings-preferences { grid-template-columns: 1fr; }
}
/* The represented account owns the heading. Keep ROIS once in the sidebar. */
body.rois-dossier #athleteProfileLogo { display: none !important; }
body.rois-dossier .rois-sidebar-lockup {
  display: grid; grid-template-columns: minmax(0,1fr); min-width: 0; width: 100%; justify-items: center; gap: 0; padding-bottom: 20px;
  margin-bottom: 16px; border-bottom: 1px solid var(--dossier-line);
}
html body.rois-dossier .rois-sidebar-lockup .rois-sidebar-identity {
  width: 240px; max-width: 100%; height: auto; aspect-ratio: var(--rois-logo-aspect); margin: 0;
}
html body.rois-dossier .client-sidebar-brand {
  grid-template-columns: minmax(0,1fr); gap: 0; justify-items: center; text-align: center;
}
html body.rois-dossier .client-sidebar-brand img { width: 240px !important; max-width: 100%; height: auto !important; aspect-ratio: var(--rois-logo-aspect); }
html body.rois-dossier .client-sidebar-brand span { font-size: 12px; color: var(--dossier-muted); }
body.rois-dossier .dashboard .dashboard-sidebar-toggle {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-height: 44px; margin: 0 0 16px; padding: 8px;
  border: 1px solid var(--dossier-line); background: var(--dossier-panel); color: var(--dossier-text);
  border-radius: 2px; cursor: pointer;
}
body.rois-dossier .dashboard .dashboard-sidebar-toggle span { font-size: 26px; line-height: 1; }
body.rois-dossier .dashboard .dashboard-sidebar-toggle strong { font-size: 11px; }
body.rois-dossier .dashboard .dashboard-sidebar-toggle:hover { background: var(--dossier-selected); }
@media (min-width: 901px) {
  html body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) { overflow: visible !important; }
  html body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView) > .sidebar {
    position: sticky !important; top: 0 !important; align-self: start;
    height: 100dvh !important; min-height: 0 !important; max-height: 100dvh !important; overflow-y: auto;
  }
  html body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView).sidebar-collapsed {
    grid-template-columns: 68px minmax(0,1fr) !important;
  }
  html body.rois-dossier :is(#clientView,#athleteView,#commercialView,#adminView).sidebar-collapsed > .sidebar {
    width: 68px !important; min-width: 0 !important; max-width: 68px !important;
    height: 68px !important; max-height: 68px !important;
    padding: 12px !important; overflow-x: hidden;
  }
  html body.rois-dossier .dashboard.sidebar-collapsed > .sidebar > :not(.dashboard-sidebar-toggle) { display: none !important; }
  body.rois-dossier .dashboard.sidebar-collapsed .dashboard-sidebar-toggle { width: 44px; min-width: 44px; }
  body.rois-dossier .dashboard.sidebar-collapsed .dashboard-sidebar-toggle strong { display: none; }
}
@media (max-width: 900px) {
  body.rois-dossier .dashboard .dashboard-sidebar-toggle { display: none; }
  body.rois-dossier:has(.dashboard.active.nav-open) { overflow: hidden; }
  body.rois-dossier .dashboard .dash-section { scroll-margin-block-start: 100px; }
  /* Only the ROIS fallback gets a horizontal slot. Personal/company avatars keep their sizing. */
  body.rois-dossier .dashboard .mobile-appbar:has(.mobile-avatar img[src*="rois-trade-institutional-20260913.png"]) { grid-template-columns: minmax(0, 150px) 60px; }
  html body.rois-dossier .dashboard .mobile-avatar:has(img[src*="rois-trade-institutional-20260913.png"]) { width: 150px; max-width: 100%; height: 60px; padding: 0; }
}
@media (max-width: 600px) {
  html body.rois-dossier .topbar .brand { gap: 8px; }
  html body.rois-dossier .topbar .session-area { min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
  html body.rois-dossier .topbar .btn { padding-inline: 9px !important; min-width: 0 !important; min-height: 44px !important; font-size: 10px !important; }
  body.rois-dossier .dashboard .workspace-head { padding-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.rois-dossier .dashboard * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
