/* RIDE SYSTEM — presentation only. Existing authentication, data and actions remain authoritative. */
@media screen {
  #cis-ftp-tool:has(#cis-login-gate[hidden]) {
    --bg: #fff; --ink: #17191c; --muted: #60656c; --line: #e5e6e8;
    --console-bg: #fff; --console-panel: #fff; --console-panel2: #f7f7f8;
    --console-ink: #17191c; --console-muted: #60656c; --console-border: #e5e6e8;
    --console-top: #17191c; --console-accent: #be1e2d; --blue: #34383e;
    max-width: 1600px; min-height: 100vh; border: 0; border-radius: 0;
    background: #fff; box-shadow: none; font-size: 15px; line-height: 1.5;
  }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(button, a, input, select, textarea) { touch-action: manipulation; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(button, a, input, select, textarea):focus-visible { outline: 3px solid #be1e2d; outline-offset: 3px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(button, .btn) { min-height: 44px; font-size: 13px; border-radius: 8px; font-weight: 650; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea) { font-size: 16px; min-height: 46px; border-radius: 8px; border-color: #d4d6da; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) button:disabled { cursor: not-allowed; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .appRail { display: flex; width: 200px; padding: 26px 14px; background: #fafafa; color: #17191c; border-right: 1px solid #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railBrand { color: #17191c; padding: 0 10px 26px; border-color: #e5e6e8; font-size: 17px; letter-spacing: -.02em; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railBrand img { width: 32px; height: 32px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem { color: #555a61; padding: 12px; font-size: 13px; line-height: 1.3; min-height: 48px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem:hover { color: #17191c; background: #eeeef0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem.is-active { color: #17191c; background: #ebebed; box-shadow: none; font-weight: 750; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railIcon { color: #74777e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railDivider, #cis-ftp-tool:has(#cis-login-gate[hidden]) .railFoot { border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railDivider { background: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railFoot { color: #686d73; font-size: 11px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railLogout { color: #34383e; background: #fff; border-color: #d4d6da; font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeShell, .athleteProfileShell) { left: 200px; background: #fff; color: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) > .wrap { margin-left: 200px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeTop, .athleteProfileTop) { background: #fff; color: #17191c; border-bottom: 1px solid #e5e6e8; box-shadow: none; backdrop-filter: none; padding: 24px 36px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBrand h2, .athleteProfileTop h2) { color: #17191c; font-size: 21px; letter-spacing: -.025em; font-weight: 750; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBrand p, .athleteProfileTop p) { color: #686d73; font-size: 12px; margin-top: 5px; line-height: 1.5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeMark { width: 32px; height: 32px; flex-basis: 32px; border-radius: 0; background: none; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeMark img { width: 100%; height: 100%; object-fit: contain; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeTopBadge { color: #686d73; font-size: 10px; letter-spacing: .03em; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .athleteProfileGlyph { background: #f3f3f4; border: 0; color: #34383e; border-radius: 10px; width: 40px; height: 40px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.athleteProfileClose, .rideHomeClose) { background: #fff; color: #34383e; border: 1px solid #d4d6da; font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBody, .athleteProfileBody) { max-width: 1240px; margin: auto; padding: 32px 36px 56px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeStatus, .profileStatus) { background: #f7f7f8; color: #555a61; border: 0; padding: 12px 16px; font-size: 12px; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeHero { gap: 28px; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); margin-bottom: 28px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain { background: #fff; color: #17191c; box-shadow: none; border: 0; padding: 16px 0; border-radius: 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain::before, #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain::after { display: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideEyebrow, #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain .rideEyebrow { font-size: 10px; letter-spacing: .11em; color: #686d73; font-weight: 750; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideGreeting { font-size: 27px; color: #17191c; letter-spacing: -.035em; font-weight: 750; margin-top: 8px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroPromise { font-size: 13px; color: #686d73; margin-top: 8px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroRule { background: #e5e6e8; margin: 26px 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroPathLabel, #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroDay span { color: #686d73; font-size: 10px; letter-spacing: .08em; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .ridePathName { color: #17191c; font-size: clamp(24px, 2.2vw, 34px); font-weight: 750; line-height: 1.12; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .ridePathMeta { color: #60656c; font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroDay { border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroDay strong { color: #17191c; font-size: 28px; font-weight: 750; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroDay small { color: #686d73; font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideProgressTrack { background: #ececee; height: 5px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideProgressFill { background: #34383e; transition: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideLifecycle { color: #60656c; font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideLifecycle strong { color: #17191c; font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideLifecycle span { font-size: 12px; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHeroSide, .glanceCard, .accountabilityBehaviorCard, .rideSupportCard, .rideHomeCard, .profileSection, .profileMetric, .insideCard) { background: #fff; border: 1px solid #e5e6e8; border-radius: 12px; box-shadow: none; transform: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroSide { padding: 26px; background: #f8f8f9; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingSourceBadge { color: #555a61; background: #eeeef0; border-color: #e5e6e8; font-size: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .todayGuardrails { color: #60656c; background: #fff; border-color: #e5e6e8; font-size: 12px; padding: 12px; line-height: 1.6; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomePrimary { color: #17191c; font-size: 19px; font-weight: 700; line-height: 1.35; margin-top: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeCopy { color: #60656c; font-size: 13px; line-height: 1.65; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeCardHead { align-items: baseline; gap: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeCardHead strong { color: #555a61; font-size: 10px; letter-spacing: .075em; font-weight: 750; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeCardHead span { color: #686d73; font-size: 11px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeAction { gap: 10px; margin-top: 20px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeAction button { font-size: 12px; padding: 10px 14px; color: #34383e; border-color: #d4d6da; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeAction button:is(.primary, .tp) { background: #fff; border-color: #d4d6da; color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlance { border: 0; padding: 0; margin: 32px 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceHead { padding-bottom: 20px; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceHead h3 { color: #17191c; font-size: 26px; font-weight: 750; letter-spacing: -.03em; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceContext { color: #686d73; font-size: 11px; text-transform: none; letter-spacing: 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlancePrimary { gap: 18px; margin-top: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceSecondary { gap: 18px; margin-top: 22px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .glanceCard { padding: 22px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .glanceFocus { border-left: 3px solid #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityCore { border: 1px solid #e5e6e8; background: #fff; border-radius: 12px; overflow: hidden; margin: 24px 0; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityPost { background: #fff; color: #17191c; padding: 26px; align-items: center; gap: 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityPost h3 { color: #17191c; font-size: 24px; letter-spacing: -.03em; margin: 6px 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityPost p { color: #60656c; font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-home-post { background: #be1e2d; border: 1px solid #be1e2d; color: #fff; min-height: 54px; padding: 14px 25px; font-size: 15px; border-radius: 8px; white-space: nowrap; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-home-post:hover { background: #a51a27; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityRule { background: #f8f8f9; border-color: #e5e6e8; color: #60656c; padding: 13px 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityRule strong { color: #34383e; font-size: 10px; letter-spacing: .075em; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityRule span { color: #60656c; font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityResultGrid { padding: 0 24px 22px; gap: 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityResultCard { border: 0; box-shadow: none; background: #fff; padding: 18px 0 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorPrimaryFull { padding: 22px; margin-bottom: 6px; background: #f8f8f9; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorMetrics { gap: 24px; margin: 18px 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorMetric { background: transparent; border: 0; padding: 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorMetric small { font-size: 10px; color: #686d73; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorMetric strong { font-size: 26px; color: #17191c; font-weight: 750; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding-top: 18px; border-top: 1px solid #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt[hidden] { display: none!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt small { display: block; color: #686d73; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt strong { display: block; color: #17191c; font-size: 17px; margin-top: 4px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt span { color: #686d73; font-size: 11px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt button { padding: 10px 14px; background: #fff; border: 1px solid #d4d6da; color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profileMetricGrid, .profileAnchorGrid) { gap: 16px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profileSection, .beltHero, .trainingDetails) { margin-top: 22px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .profileMetric { padding: 20px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profileMetric small, .profileAnchor small, .beltStandardCard small) { font-size: 10px; color: #686d73; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profileMetric strong, .profileAnchor strong) { font-size: 24px; color: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profileMetric span, .profileAnchor span) { font-size: 12px; color: #60656c; line-height: 1.6; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .profileSectionHead { background: #fafafa; padding: 18px 22px; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .profileSectionHead strong { font-size: 12px; color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .profileSectionHead span { font-size: 11px; color: #686d73; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profileAnchor, .profilePattern, .profileQuestion, .beltStandardCard) { padding: 20px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profilePattern strong, .profileQuestion strong) { font-size: 14px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.profilePattern p, .profileQuestion p, .beltStandardCard p, .eventAuthority, .athleteProfileRule) { font-size: 13px; line-height: 1.65; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .athleteProfileRule { background: #f8f8f9; padding: 16px 36px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .athleteProfileRule strong { color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .beltHero { background: #17191c; padding: 30px; border-radius: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .beltHero h3 { font-size: 32px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .beltHero p { font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportCard { padding: 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportCard.learn { background: #f8f8f9; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportCard.learn :is(.rideSupportTitle, .rideSupportTop strong) { color: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportTitle { font-size: 20px; color: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideSupportCopy, .rideSupportCard.learn .rideSupportCopy) { font-size: 13px; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideSupportMeta, .rideSupportCard.learn .rideSupportMeta) { font-size: 12px; color: #686d73; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportTop strong { font-size: 11px; color: #555a61; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportActions button { font-size: 13px; background: #fff; color: #34383e; border-color: #d4d6da; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeFoot { border: 0; background: none; font-size: 12px; color: #686d73; text-align: left; padding: 0; margin-top: 28px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.systemHeader, .systemTitleRow.appTopbar) { background: #fff; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .systemTitle { color: #17191c!important; font-size: 26px!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideTagline, .systemLead) { color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisLogoMain { width: 38px; height: 38px; flex-basis: 38px; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisTopTabs { background: #fff; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .topTab { background: #fff; color: #60656c; box-shadow: none; min-height: 56px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .topTab.is-active { background: #f3f3f4; color: #17191c; border-color: #d4d6da; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.block, .selfService, .reviewHistoryPanel, .ftpGoalsPanel, .trainingPrescription, .trainingWeekCard) { background: #fff; border-color: #e5e6e8; border-radius: 12px; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.block, .selfService) { padding: 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.label, .hint, .sub, .note) { color: #60656c; font-size: 12px; line-height: 1.6; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.accountabilityHero, .accountabilityHeader) { background: #fff; color: #17191c; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-accountability-post-cta, #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-self-generate:not(:disabled) { background: #be1e2d; color: #fff; border-color: #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.reviewHistoryReadSection, .historyEpdCard, .selfReadSection) { padding: 20px; background: #fff; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.reviewHistoryReadSection p, .selfReadSection p) { font-size: 15px; line-height: 1.7; color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.reviewHistoryReadSection strong, .selfReadSection strong) { font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemDrawer { background: #fff; border-color: #e5e6e8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.askSystemHead, .askSystemHeader) { background: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.askSystemAnswer, .askSystemMessage, .askAnswerSection) { font-size: 14px; line-height: 1.7; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.askSystemTextarea, #cis-ask-question) { font-size: 16px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-ask-send { background: #be1e2d; color: #fff; border-color: #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.eventMetric small, .eventPill) { font-size: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.eventDemand p, .eventMatch p, .eventStrategy p, .eventPathRec p) { font-size: 13px; line-height: 1.6; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .eventMetric strong { font-size: 22px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .eventSectorTable { font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .eventSectorTable th { font-size: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain { display: block!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-home-shell .rideHomeHero { grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr)!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityResultCard.next { border-left: 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .glanceReview { display: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlancePrimary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorPrimaryFull { grid-row: 1; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingBody { padding: 32px 36px 56px; max-width: 1240px; margin: auto; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingHeaderCard { padding: 26px; background: #f8f8f9; border-color: #e5e6e8; border-radius: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingSourceTitle { color: #17191c; font-weight: 750; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingHeaderCard button { background: #fff; color: #34383e; border: 1px solid #d4d6da; font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingDay { padding: 20px; border-color: #e5e6e8; border-radius: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingDayTitle { color: #17191c; font-size: 15px; font-weight: 700; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingDayPurpose { font-size: 13px; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingDayMeta, #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingDayDate { font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingDetails summary { padding: 20px; font-size: 14px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingDetails summary span { font-size: 12px; color: #686d73; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cycleMetric small, #cis-ftp-tool:has(#cis-login-gate[hidden]) .timelineLabels, #cis-ftp-tool:has(#cis-login-gate[hidden]) .pathNote { font-size: 12px; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cycleMetric strong { color: #17191c; font-size: 19px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemTop { background: #17191c; border-bottom: 0; padding: 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemBody, #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemComposer { padding: 20px 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemContext { padding: 16px 24px; grid-template-columns: minmax(0, 1fr) 72px 112px 92px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askContextCell small { font-size: 9px; color: #686d73; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askContextCell strong { font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askDoctrine, #cis-ftp-tool:has(#cis-login-gate[hidden]) .askAboutRide span { font-size: 12px; line-height: 1.6; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askQuick button { font-size: 12px; color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityContract { border-color: #e5e6e8!important; border-radius: 12px!important; color: #17191c!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityPromise { color: #17191c!important; font-size: 30px!important; letter-spacing: -.035em; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityEyebrow { color: #686d73!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityCopy { color: #60656c!important; font-size: 14px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityRule { background: #f8f8f9!important; color: #555a61!important; border-left: 0!important; font-size: 11px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-review-manual { border-color: #e5e6e8!important; border-radius: 12px!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-review-manual > summary { background: #fafafa!important; color: #17191c!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .reviewResult { border-top: 1px solid #e5e6e8!important; border-radius: 12px!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .reviewResult .epdSection { padding: 22px 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .reviewResult .epdSection.next { background: #f8f8f9; border-left-color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisPerfIntro { background: #fff; color: #17191c; border-color: #e5e6e8; border-radius: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisPerfIntro p { color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisTruthTag { color: #555a61; border-color: #d4d6da; font-size: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisPerfCard { border-color: #e5e6e8; box-shadow: none; border-radius: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisPerfHead strong { color: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisPerfHead span, #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisPerfEmpty, #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisMeaning p { font-size: 13px; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .epdSection .epdText { font-size: 15px; line-height: 1.75; color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .epdSection .epdLabel { font-size: 11px; letter-spacing: .07em; color: #555a61; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askAnswerText, #cis-ftp-tool:has(#cis-login-gate[hidden]) .askMessage { font-size: 14px; line-height: 1.7; color: #34383e; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askAnswerLabel, #cis-ftp-tool:has(#cis-login-gate[hidden]) .askStarterLabel { font-size: 10px; color: #555a61; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askWelcome { font-size: 13px; line-height: 1.65; color: #60656c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askMessage.user { background: #f3f3f4; color: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-ask-open { background: transparent; border: 0; color: #555a61; box-shadow: none; font-size: 13px!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityRail { background: transparent; color: #555a61; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem.is-active { background: #ebebed; color: #17191c; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityToday { border-color: #e5e6e8; }
  @media (max-width: 1100px) {
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .appRail { width: 160px; padding: 20px 8px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeShell, .athleteProfileShell) { left: 160px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) > .wrap { margin-left: 160px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-home-shell .rideHomeHero { grid-template-columns: 1fr!important; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBody, .athleteProfileBody) { padding: 26px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlancePrimary, #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceSecondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 720px) {
    #cis-ftp-tool:has(#cis-login-gate[hidden]) { width: 100%; max-width: 100%; margin: 0; padding: 0; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .appRail { position: relative; inset: auto; width: 100%; height: auto; display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; padding: 10px 14px; gap: 6px; border-right: 0; border-bottom: 1px solid #e5e6e8; background: #fff; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem { flex: 0 0 auto; width: auto; min-width: 72px; min-height: 46px; padding: 10px 12px; white-space: nowrap; font-size: 12px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.railBrand, .railDivider, .railFoot, .railStatic) { display: none; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .railLogout { flex: 0 0 auto; width: auto; margin: 0; white-space: nowrap; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) > .wrap { margin-left: 0; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeShell, .athleteProfileShell) { left: 0; top: 67px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeTop, .athleteProfileTop) { padding: 20px; gap: 14px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBody, .athleteProfileBody) { padding: 22px 20px max(40px, env(safe-area-inset-bottom)); }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeTopBadge { display: none; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideGreeting { font-size: 25px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain { padding: 0; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingBody { padding: 22px 20px 40px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHomeHero { gap: 24px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroPathRow { grid-template-columns: 1fr auto; gap: 14px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroDay { padding: 0 0 0 14px; border-top: 0; border-left: 1px solid #e5e6e8; text-align: right; min-width: 80px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroDay strong { font-size: 23px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .ridePathName { font-size: 24px; overflow-wrap: anywhere; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroSide { min-height: auto; padding: 22px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityPost { flex-direction: column; align-items: stretch; padding: 22px; gap: 18px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-home-post { position: fixed; left: 20px; bottom: max(16px, env(safe-area-inset-bottom)); width: calc(100% - 100px); z-index: 85; box-shadow: 0 4px 20px #fff; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemFloat { right: 20px; bottom: max(16px, env(safe-area-inset-bottom)); min-width: 0; width: 48px; min-height: 54px; border-radius: 8px; background: #fff; color: #17191c; border: 1px solid #d4d6da; box-shadow: 0 4px 20px #fff; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemFloat span:last-child { display: none; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityRule { flex-direction: column; align-items: flex-start; padding: 14px 22px; gap: 4px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityResultGrid { grid-template-columns: 1fr; gap: 18px; padding: 0 22px 22px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceHead { flex-direction: column; align-items: flex-start; gap: 8px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceHead h3 { font-size: 24px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlancePrimary, #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingGlanceSecondary { grid-template-columns: 1fr; gap: 16px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorMetrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorMetric small { line-height: 1.5; font-size: 9px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorMetric strong { font-size: 23px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .profileMetricGrid, #cis-ftp-tool:has(#cis-login-gate[hidden]) .profileAnchorGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .profileSectionHead { padding: 16px; flex-wrap: wrap; gap: 6px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .athleteProfileRule { padding: 16px 20px; flex-direction: column; align-items: flex-start; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .athleteProfileTop h2 { font-size: 20px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .athleteProfileTop p { font-size: 11px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .systemTitleRow.appTopbar { grid-template-columns: 1fr; padding: 20px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .wrap { padding-left: 20px; padding-right: 20px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt { gap: 12px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .faceliftBelt strong { font-size: 16px; }
  }
  @media (prefers-reduced-motion: reduce) { #cis-ftp-tool:has(#cis-login-gate[hidden]) * { transition: none!important; animation: none!important; } }
}

/* Blue areas restored from the existing Console palette; signed-out entry stays unchanged. */
@media screen {
  #cis-ftp-tool:has(#cis-login-gate[hidden]) { --blue: #204f99; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .appRail { background: #172331; color: #d7e0ea; border-color: #314356; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railBrand { color: #fff; border-color: #314356; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem { color: #cbd9e5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem:hover { background: #20364d; color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem.is-active { background: #24446c; color: #fff; box-shadow: inset 3px 0 0 #4f8fe8; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railIcon { color: #cbd9e5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railDivider { background: #314356; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railFoot { color: #b4c4d4; border-color: #314356; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railLogout { background: #20364d; color: #e5edf5; border-color: #41566b; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeTop, .athleteProfileTop, .askSystemTop, .askSystemHead, .askSystemHeader) { background: #10263c; color: #fff; border-color: #314356; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBrand h2, .athleteProfileTop h2) { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBrand p, .athleteProfileTop p, .rideHomeTopBadge) { color: #cbd9e5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain { background: linear-gradient(135deg, #10263c 0%, #173751 58%, #1b4562 100%); color: #fff; padding: 26px; border-radius: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain :is(.rideGreeting, .ridePathName, .rideHeroDay strong, .rideLifecycle strong, .faceliftBelt strong) { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain :is(.rideEyebrow, .rideHeroPromise, .rideHeroPathLabel, .ridePathMeta, .rideHeroDay span, .rideHeroDay small, .rideLifecycle, .rideLifecycle span, .faceliftBelt small, .faceliftBelt span) { color: #cbd9e5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain :is(.rideHeroDay, .faceliftBelt) { border-color: #587187; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroRule { background: #587187; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideProgressTrack { background: #587187; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideProgressFill { background: #b8d8ff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportCard.learn { background: #173751; border-color: #173751; color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportCard.learn :is(.rideSupportTitle, .rideSupportTop strong) { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportCard.learn :is(.rideSupportCopy, .rideSupportMeta) { color: #cbd9e5; border-color: #587187; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .accountabilityBehaviorPrimaryFull { background: #f1f6fc; border-color: #d5e2f0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingHeaderCard { background: #f1f6fc; border-color: #d5e2f0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .topTab.is-active { background: #eef4fb; color: #204f99; border-color: #d5e2f0; }
  @media (max-width: 720px) { #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain { padding: 22px; } }
}

@media screen { #cis-ftp-tool:has(#cis-login-gate[hidden]) .appRail #cis-ask-open { color: #cbd9e5; } }

/* Red accents on blue surfaces, with white text retained for readability. */
@media screen {
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeTop, .athleteProfileTop, .askSystemTop) { box-shadow: inset 0 -3px 0 #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideHeroMain { box-shadow: inset 4px 0 0 #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideSupportCard.learn { box-shadow: inset 0 3px 0 #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .railItem.is-active { box-shadow: inset 3px 0 0 #be1e2d; }
}

/* Complete Console workspace pass: consistent blue/red headers and readable content. */
@media screen {
  #cis-ftp-tool:has(#cis-login-gate[hidden]) > .cisTabPanel > .wrap { margin-left: 200px; padding: 28px 36px 56px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideShell, .historyShell) { left: 200px; background: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.athleteProfileTop, .insideTop, .historyTop) { background: #10263c!important; border-bottom: 3px solid #be1e2d!important; box-shadow: none; padding: 24px 36px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideTop, .historyTop) h2 { color: #fff; font-size: 21px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideTop, .historyTop) p { color: #cbd9e5; font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideClose, .historyClose) { background: #fff; color: #34383e; border: 1px solid #d4d6da; font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .beltHero { background: #173751; box-shadow: inset 4px 0 0 #be1e2d; border-color: #173751; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .beltHero h3 { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .beltHero :is(small, p) { color: #cbd9e5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .beltHero p strong { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityWorkspace { margin: 0 0 26px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityContract { padding: 26px; background: #173751!important; color: #fff!important; box-shadow: inset 4px 0 0 #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityContract :is(.cisAccountabilityPromise, .cisAccountabilityTitle) { color: #fff!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityContract :is(.cisAccountabilityEyebrow, .cisAccountabilityCopy, .cisAccountabilityActions span) { color: #cbd9e5!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityRule { background: #24446c!important; color: #fff!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityActions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .selfResultsHead { background: #10263c; color: #fff; border-bottom: 3px solid #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .selfResultsHead :is(strong, span) { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemDrawer { transition: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .insideBody { padding: 32px 36px 56px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideIntro, .insideAsk, .insideContext) { border-radius: 12px; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .insideIntro { background: #173751; box-shadow: inset 4px 0 0 #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .insideIntro::after { display: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideIntro p, .insideAsk p, .insideCard p, .insideFoot) { font-size: 13px; line-height: 1.65; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .insideIntro :is(p, .insideEyebrow) { color: #cbd9e5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideEyebrow, .insideAsk small, .insideContextCard small, .insideSectionHead strong, .insideContextHead strong, .insideCardTop strong) { font-size: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideSectionHead span, .insideContextHead span, .insideContextCard strong, .insideAccess) { font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .insideCard { padding: 22px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .insideActions button { font-size: 13px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .historyBody { grid-template-columns: 260px minmax(0, 1fr); background: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.historyStatus, .historyCycleDates, .historyRule, .historyEmpty) { font-size: 12px; line-height: 1.6; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.historyCycleTitle, .historyEpdCard p, .historyEpdCard .epdText) { font-size: 14px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.eventForm, .eventDemand, .eventMatch, .eventStrategy, .eventPathRec) { border-radius: 12px; box-shadow: none; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .eventField label { font-size: 12px; }
  @media (max-width: 1100px) {
    #cis-ftp-tool:has(#cis-login-gate[hidden]) > .cisTabPanel > .wrap { margin-left: 160px; padding: 26px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideShell, .historyShell) { left: 160px; }
  }
  @media (max-width: 720px) {
    #cis-ftp-tool:has(#cis-login-gate[hidden]) > .cisTabPanel > .wrap { margin-left: 0; padding: 22px 20px 40px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.insideShell, .historyShell) { left: 0; top: 67px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.athleteProfileTop, .insideTop, .historyTop) { padding: 20px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .insideBody { padding: 22px 20px 40px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .historyBody { grid-template-columns: 1fr; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .historyCycles { border-right: 0; border-bottom: 1px solid #e5e6e8; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityContract { padding: 22px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityPromise { font-size: 27px!important; }
  }
}
@media screen {
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .systemTitleRow.appTopbar { background: #10263c; border-bottom: 3px solid #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .systemTitle { color: #fff!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .rideTagline { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.systemLead, .topMetaCell small) { color: #cbd9e5; font-size: 11px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .topMetaCell strong { color: #fff; font-size: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .appTopMeta { border-color: #587187; }
}

/* Compact spacing: remove the legacy rail offset now supplied by workspace margins. */
@media screen {
  #cis-ftp-tool:has(#cis-login-gate[hidden]) { padding: 0 0 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .systemTitleRow.appTopbar { padding: 16px 24px; gap: 12px 20px; min-height: 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .systemTitle { font-size: 23px!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisLogoMain { width: 32px; height: 32px; flex-basis: 32px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .appTopMeta { grid-template-columns: repeat(4, minmax(76px, 1fr)); }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .topMetaCell { padding: 4px 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .topMetaCell small { font-size: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisIdentityBar { grid-column: 1 / -1; margin-top: 0; padding: 8px 12px; gap: 12px; border-radius: 8px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisIdentityActions { flex-wrap: nowrap; flex-shrink: 0; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisIdentityActions button { min-height: 44px; padding: 8px 12px; white-space: nowrap; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) > .cisTabPanel > .wrap { padding: 20px 24px 36px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisTabPanel .stack { gap: 16px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityContract { padding: 20px 24px!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityPromise { font-size: 28px!important; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityActions { margin-top: 12px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityWorkspace { margin-bottom: 8px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.progressSimpleHero, .cisPerfIntro) { padding: 18px 22px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .progressSimpleRule { margin-top: 10px; padding-top: 10px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeTop, .athleteProfileTop, .insideTop, .historyTop) { padding: 18px 24px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBody, .athleteProfileBody, .trainingBody, .insideBody) { padding: 24px 24px 40px; }
  @media (max-width: 720px) {
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .systemTitleRow.appTopbar { padding: 18px 20px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) > .cisTabPanel > .wrap { padding: 18px 20px 36px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisIdentityActions { flex-wrap: wrap; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeBody, .athleteProfileBody, .trainingBody, .insideBody) { padding: 20px 20px 40px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(.rideHomeTop, .athleteProfileTop, .insideTop, .historyTop) { padding: 18px 20px; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .cisAccountabilityContract { padding: 20px!important; }
  }
}

/* Training source and persistent assistant access share the approved blue/red treatment. */
@media screen {
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingHeaderCard { background: #173751; border-color: #173751; box-shadow: inset 4px 0 0 #be1e2d; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingHeaderCard :is(.trainingProgramName, .trainingSourceTitle) { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingHeaderCard :is(.rideEyebrow, p) { color: #cbd9e5; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .trainingHeaderCard button { background: #fff; color: #10263c; border-bottom: 3px solid #be1e2d; min-height: 48px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .appRail #cis-ask-open { background: #24446c; color: #fff; border: 1px solid #587187; box-shadow: inset 3px 0 0 #be1e2d; min-height: 54px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .appRail #cis-ask-open span:last-child { font-size: 12px; line-height: 1.3; font-weight: 800; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemFloat { display: flex; min-height: 54px; padding: 12px 18px; border: 1px solid #587187; border-left: 4px solid #be1e2d; border-radius: 10px; background: #173751; color: #fff; box-shadow: 0 4px 16px rgba(16,38,60,.16); font-size: 14px; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemFloat span:first-child { color: #fff; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemFloat span:last-child { display: inline; }
  #cis-ftp-tool:has(#cis-login-gate[hidden]) :is(#cis-ask-open, .askSystemFloat):focus-visible { outline: 3px solid #be1e2d; outline-offset: 3px; }
  @media (max-width: 720px) {
    #cis-ftp-tool:has(#cis-login-gate[hidden]) .askSystemFloat { width: 112px; right: 20px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 8px; gap: 6px; font-size: 11px; line-height: 1.3; text-align: left; }
    #cis-ftp-tool:has(#cis-login-gate[hidden]) #cis-home-post { width: calc(100% - 164px); }
  }
}
