/* PRO CANVAS VISUAL PHASE 4A — Race Qualification premium overhaul */
.pro-race-rules-stage,
.pro-race-rules-stage[hidden],
.pro-race-rules-operation[hidden],
.pro-race-rules-inspector[hidden] { display:none!important; }
body.pro-canvas-shell-active[data-pro-canvas-stage="race-rules"] .pro-race-rules-stage:not([hidden]) { display:block!important; }
.pro-race-rules-stage { width:100%; margin:0; padding:12px 12px 22px; box-sizing:border-box; }

.pro-stage56-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(720px,1fr); gap:14px; align-items:start; width:100%; min-width:0; }
.pro-stage56-journey-column,.pro-stage56-workspace { min-width:0; }
.pro-stage56-journey-column > .pro-canvas-system-journey { margin:0!important; height:100%; }
.pro-stage56-workspace { overflow:hidden; border:1px solid rgba(91,119,237,.22); border-radius:22px; background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(241,246,255,.82)); box-shadow:0 18px 44px rgba(28,43,84,.11),inset 0 1px 0 rgba(255,255,255,.8); }
.pro-stage56-command { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 17px; color:#fff; background:radial-gradient(circle at 94% 10%,rgba(45,212,191,.26),transparent 34%),linear-gradient(132deg,#071a3c,#2149aa 56%,#238fd4 82%,#21b9ae); }
.pro-stage56-command-copy { min-width:0; }
.pro-stage56-command-copy>span { display:block; color:#a9f4eb; font-size:9.5px; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.pro-stage56-command-copy h2 { margin:4px 0 3px; font-size:23px; line-height:1.05; }
.pro-stage56-command-copy p { max-width:680px; margin:0; color:rgba(240,249,255,.92); font-size:10.5px; font-weight:700; line-height:1.35; }
.pro-stage56-command-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex:0 0 auto; }
.pro-stage56-command-actions button,.pro-stage56-impact-head button { min-height:36px; padding:8px 12px; border:1px solid rgba(255,255,255,.32); border-radius:11px; background:rgba(255,255,255,.12); color:#fff; font-size:10.5px; font-weight:900; cursor:pointer; }
.pro-stage56-command-actions button.is-primary,.pro-stage56-impact-head button { border-color:rgba(52,211,153,.36); background:linear-gradient(135deg,#0e9f6e,#16b981); box-shadow:0 8px 20px rgba(6,148,113,.22); }
.pro-stage56-command-actions button:disabled { opacity:.4; cursor:not-allowed; box-shadow:none; }
.pro-stage56-identity { display:grid; gap:2px; min-width:116px; padding:7px 9px; border:1px solid rgba(255,255,255,.22); border-radius:11px; background:rgba(255,255,255,.12); }
.pro-stage56-identity b { font-size:10.5px; }
.pro-stage56-identity em { color:rgba(239,248,255,.86); font-size:8.5px; font-style:normal; }
.pro-stage56-state { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:10px 12px 0; padding:9px 11px; border:1px solid rgba(90,121,205,.18); border-radius:11px; background:rgba(255,255,255,.82); color:#23406f; }
.pro-stage56-state strong { font-size:10.5px; }
.pro-stage56-state span { color:#65758f; font-size:9.5px; font-weight:700; text-align:right; }
.pro-stage56-state.is-current { border-color:rgba(16,185,129,.3); background:#ecfdf5; }
.pro-stage56-state.is-pending { border-color:rgba(245,158,11,.34); background:#fffbeb; }
.pro-stage56-state.is-stale,.pro-stage56-state.is-error { border-color:rgba(239,68,68,.28); background:#fff1f2; }

.pro-race-rules-operation { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; margin:10px 12px 0; padding:12px 14px; border-radius:13px; color:#fff; background:linear-gradient(130deg,#0b2454,#2549bd 55%,#19b9c4); }
.pro-race-rules-operation b { font-size:13px; }
.pro-race-rules-operation p { margin:2px 0 0; color:rgba(238,248,255,.92); font-size:10px; font-weight:700; }
.pro-race-rules-spinner { width:22px; height:22px; border:3px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:proRaceRulesSpin .9s linear infinite; }
@keyframes proRaceRulesSpin { to { transform:rotate(360deg); } }

.pro-stage56-impact { margin:10px 12px 0; padding:11px 12px; border:1px solid rgba(65,126,207,.2); border-radius:15px; background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(239,247,255,.86)); }
.pro-stage56-impact.is-neutral { border-color:rgba(16,185,129,.23); background:linear-gradient(145deg,#f0fdf8,#eefbf8); }
.pro-stage56-impact.is-empty { min-height:72px; }
.pro-stage56-impact.is-empty p { margin:4px 0 0; color:#64748b; font-size:9.5px; }
.pro-stage56-impact-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.pro-stage56-impact-head span { display:block; color:#59729b; font-size:8px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.pro-stage56-impact-head strong { display:block; margin-top:2px; color:#173763; font-size:12px; }
.pro-stage56-impact-head button { min-height:31px; padding:6px 10px; color:#0c6a52; background:#e8fff7; border-color:rgba(16,185,129,.28); }
.pro-stage56-impact-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.pro-stage56-impact-grid article { min-width:0; padding:7px 8px; border:1px solid rgba(74,108,248,.14); border-radius:9px; background:rgba(248,251,255,.92); text-align:center; }
.pro-stage56-impact-grid span,.pro-stage56-impact-grid strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pro-stage56-impact-grid span { color:#6b7c98; font-size:7.5px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.pro-stage56-impact-grid strong { margin-top:2px; color:#183963; font-size:13px; }
.pro-stage56-impact-grid article.is-positive strong { color:#087b57; }
.pro-stage56-impact-grid article.is-negative strong { color:#c33445; }
.pro-race-rules-reason-summary { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.pro-race-rules-reason-summary span { display:inline-flex; align-items:center; gap:7px; padding:5px 8px; border-radius:999px; background:#fff7ed; color:#8a4b08; font-size:8px; }
.pro-race-rules-reason-summary em { font-style:normal; font-weight:900; }

.pro-race-rules-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:10px 12px 13px; }
.pro-race-rule-family { position:relative; display:grid; grid-template-rows:auto auto 1fr; min-width:0; padding:12px; overflow:hidden; border:1px solid rgba(96,120,205,.2); border-radius:15px; background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,246,255,.88)); box-shadow:0 9px 22px rgba(26,42,91,.07),inset 0 1px 0 rgba(255,255,255,.82); }
.pro-race-rule-family::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#4f7df4; opacity:.55; }
.pro-race-rule-family.is-cyan::before { background:#17b5c9; }
.pro-race-rule-family.is-violet::before { background:#7c3aed; }
.pro-race-rule-family.is-amber::before { background:#f59e0b; }
.pro-race-rule-family.is-rose::before { background:#f43f5e; }
.pro-race-rule-family.is-rose { grid-column:1/-1; }
.pro-race-rule-family.is-active { border-color:rgba(59,130,246,.42); box-shadow:0 12px 28px rgba(37,99,235,.12),inset 0 1px 0 rgba(255,255,255,.86); }
.pro-race-rule-family header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-width:0; }
.pro-race-rule-family header>div { min-width:0; }
.pro-race-rule-family header>div>span { color:#60769b; font-size:7.5px; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.pro-race-rule-family h3 { margin:3px 0 2px; color:#15315f; font-size:13px; line-height:1.15; }
.pro-race-rule-family p { margin:0; color:#586b88; font-size:9px; font-weight:700; line-height:1.32; }
.pro-race-rule-state-chip { flex:0 0 auto; min-width:58px; padding:5px 7px; border:1px solid rgba(71,112,202,.16); border-radius:999px; background:#edf4ff; color:#66809f; font-size:8px; font-weight:900; text-align:center; }
.pro-race-rule-state-chip.is-active { border-color:rgba(16,185,129,.3); background:#e7fbf3; color:#08745a; }
.pro-race-rule-range,.pro-race-rule-fields { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:7px; align-items:end; margin-top:10px; }
.pro-race-rule-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pro-race-rule-range-divider { padding-bottom:10px; color:#8290a6; font-size:8px; font-weight:900; text-transform:uppercase; }
.pro-race-rule-field { display:grid; gap:4px; min-width:0; }
.pro-race-rule-field>span { color:#72839d; font-size:7.5px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.pro-race-rule-field>div { display:flex; align-items:center; min-width:0; border:1px solid rgba(94,117,188,.24); border-radius:9px; background:#fff; }
.pro-race-rule-field input { min-width:0; width:100%; padding:8px 9px; border:0; background:transparent; color:#16345e; font-size:11px; font-weight:900; }
.pro-race-rule-field input:focus { outline:2px solid rgba(37,99,235,.22); border-radius:7px; }
.pro-race-rule-field em { flex:0 0 auto; padding-right:8px; color:#71809a; font-size:7.5px; font-style:normal; font-weight:800; }
.pro-race-rule-note { margin-top:7px; padding:6px 8px; border:1px solid rgba(245,158,11,.18); border-radius:8px; background:#fff8ea; color:#84500b; font-size:8px; font-weight:750; }
.pro-race-rule-family footer { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-top:9px; }
.pro-race-rule-reset,.pro-race-rule-analysis-action button { min-height:29px; padding:5px 9px; border:1px solid rgba(91,119,237,.22); border-radius:9px; background:#fff; color:#31538d; font-size:8.5px; font-weight:900; cursor:pointer; }
.pro-race-rule-reset { color:#6d5a3f; background:#fffaf1; border-color:rgba(217,119,6,.22); }
.pro-race-rule-analysis-action { display:flex; align-items:center; justify-content:flex-end; gap:7px; min-width:0; }
.pro-race-rule-analysis-action span { color:#7a89a0; font-size:7.5px; font-weight:800; text-align:right; }

/* Existing analytical overlays remain functional, with Premium Glass framing. */
.pro-race-rules-inspector { position:fixed; inset:0; z-index:2147483645; padding:24px; overflow:auto; background:rgba(7,15,35,.63); backdrop-filter:blur(7px); }
.pro-race-rules-inspector-panel { max-width:1500px; margin:0 auto; overflow:hidden; border:1px solid rgba(111,151,239,.34); border-radius:22px; background:linear-gradient(180deg,#f8fbff,#eef4ff); box-shadow:0 34px 90px rgba(4,15,40,.4); }
.pro-race-rules-inspector-panel>header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px; color:#fff; background:linear-gradient(132deg,#071a3c,#244fba 58%,#19b7c2); }
.pro-race-rules-inspector-panel>header span { font-size:8px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.pro-race-rules-inspector-panel>header h2 { margin:3px 0; }
.pro-race-rules-inspector-panel>header button { padding:8px 12px; border:1px solid rgba(255,255,255,.35); border-radius:10px; background:rgba(255,255,255,.14); color:#fff; font-weight:900; }
.pro-race-rules-inspector-nav { display:flex; gap:7px; padding:12px 16px; }
.pro-race-rules-inspector-nav button,.pro-race-rules-inspector-footer button { padding:8px 12px; border:1px solid #c8d6ef; border-radius:9px; background:#fff; color:#294a7f; font-weight:850; }
.pro-race-rules-inspector-nav button.is-active { color:#fff; background:#3156d8; }
.pro-race-rules-inspector-table { max-height:66vh; overflow:auto; padding:0 16px; }
.pro-race-rules-inspector-table table { width:100%; border-collapse:collapse; font-size:11px; }
.pro-race-rules-inspector-table th { position:sticky; top:0; z-index:1; padding:9px; background:#eaf1ff; text-align:left; }
.pro-race-rules-inspector-table td { padding:8px; border-bottom:1px solid #e0e7f4; }
.pro-race-rules-inspector-footer { display:flex; align-items:center; justify-content:center; gap:12px; padding:12px; }
.pro-race-rules-breakdown-modal { position:fixed; inset:0; z-index:2147483646; display:grid; place-items:center; padding:24px; background:rgba(7,15,35,.68); backdrop-filter:blur(7px); }
.pro-race-rules-breakdown-modal[hidden] { display:none!important; }
.pro-race-rules-breakdown-panel { width:min(95vw,1380px); max-height:90vh; overflow:hidden; border:1px solid rgba(111,151,239,.34); border-radius:22px; background:#f8fbff; box-shadow:0 34px 90px rgba(4,15,40,.42); }
.pro-race-rules-breakdown-panel>header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; color:#fff; background:linear-gradient(132deg,#071a3c,#244fba 58%,#19b7c2); }
.pro-race-rules-breakdown-panel>header button { padding:8px 12px; border:1px solid rgba(255,255,255,.35); border-radius:10px; background:rgba(255,255,255,.14); color:#fff; font-weight:900; }
.pro-race-rules-breakdown-body { max-height:75vh; overflow:auto; padding:16px; }

@media(max-width:1900px){
  .pro-stage56-layout { grid-template-columns:minmax(0,1.08fr) minmax(650px,1fr); }
  .pro-stage56-impact-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:1500px){
  .pro-stage56-layout { grid-template-columns:1fr; }
  .pro-stage56-journey-column > .pro-canvas-system-journey { margin-bottom:0!important; }
  .pro-race-rules-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px){
  .pro-stage56-command { align-items:flex-start; flex-direction:column; }
  .pro-stage56-command-actions { width:100%; flex-wrap:wrap; justify-content:flex-start; }
  .pro-stage56-state { align-items:flex-start; flex-direction:column; }
  .pro-stage56-state span { text-align:left; }
  .pro-race-rules-grid { grid-template-columns:1fr; }
  .pro-race-rule-family.is-rose { grid-column:auto; }
  .pro-stage56-impact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* Phase 4B — compact, correctly mapped Race Qualification sensitivity tables. */
.pro-race-rules-breakdown-panel { width:min(90vw,1120px)!important; max-height:88vh!important; }
.pro-race-rules-breakdown-panel>header { padding:13px 16px!important; }
.pro-race-rules-breakdown-panel>header h2 { margin:3px 0!important; font-size:19px!important; }
.pro-race-rules-breakdown-panel>header p { margin:0!important; font-size:9px!important; }
.pro-race-rules-breakdown-panel>main { display:grid; gap:12px; max-height:72vh; overflow:auto; padding:12px!important; }
.pro-race-rules-breakdown-panel>main.is-paired { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pro-race-breakdown-pane { min-width:0; overflow:hidden; border:1px solid #dbe5f5; border-radius:13px; background:#fff; }
.pro-race-breakdown-pane>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-bottom:1px solid #e1e9f6; background:#f4f8ff; }
.pro-race-breakdown-pane>header span { min-width:0; color:#274a80; font-size:10px; font-weight:950; line-height:1.2; }
.pro-race-breakdown-pane>header em { flex:0 0 auto; color:#71839d; font-size:8.5px; font-style:normal; font-weight:850; white-space:nowrap; }
.pro-race-breakdown-table-wrap { overflow:auto; }
.pro-race-breakdown-table-wrap table { width:100%; border-collapse:collapse; font-size:9px; }
.pro-race-breakdown-table-wrap th { position:sticky; top:0; z-index:1; padding:6px 7px; border-bottom:1px solid #d8e3f3; background:#eaf1ff; color:#38567f; font-size:8px; font-weight:950; text-align:right; white-space:nowrap; }
.pro-race-breakdown-table-wrap th:first-child,.pro-race-breakdown-table-wrap td:first-child { text-align:left; }
.pro-race-breakdown-table-wrap td { height:28px; padding:5px 7px; border-bottom:1px solid #edf1f7; color:#314660; font-weight:760; text-align:right; white-space:nowrap; }
.pro-race-breakdown-table-wrap tr.is-applied td { background:#fff9e8; box-shadow:inset 0 1px 0 rgba(217,119,6,.13),inset 0 -1px 0 rgba(217,119,6,.13); }
.pro-race-breakdown-table-wrap td.is-positive { color:#12803d; font-weight:950; }
.pro-race-breakdown-table-wrap td.is-negative { color:#c63232; font-weight:950; }
.pro-race-breakdown-table-wrap td.is-neutral { color:#66758b; font-weight:850; }
@media(max-width:1000px){.pro-race-rules-breakdown-panel>main.is-paired{grid-template-columns:1fr}}


/* Phase 4D — keep the shared six-card Journey at the same visual scale on Stages 5 and 6. */
@media (min-width:1001px) {
  .pro-stage56-layout { align-items: start !important; }
  .pro-stage56-journey-column { min-height: 0 !important; }
  .pro-stage56-journey-column > .pro-canvas-system-journey.pro-canvas-journey-phase3d {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .pro-stage56-journey-column > .pro-canvas-system-journey.pro-canvas-journey-phase3d .pro-canvas-journey-grid {
    grid-template-rows: repeat(3,minmax(118px,auto)) !important;
  }
  .pro-stage56-journey-column > .pro-canvas-system-journey.pro-canvas-journey-phase3d .pro-canvas-journey-card {
    height: auto !important;
    min-height: 118px !important;
  }
}

/* PRO_SAVE_LOAD_002B — shared premium pending-change decision style. */
.pro-race-rules-guard-panel{border:1px solid rgba(90,176,246,.48)!important;border-radius:24px!important;color:#fff!important;background:radial-gradient(circle at 93% 3%,rgba(34,211,238,.20),transparent 36%),radial-gradient(circle at 4% 100%,rgba(147,93,255,.20),transparent 42%),linear-gradient(143deg,rgba(5,18,44,.99),rgba(24,53,132,.975) 54%,rgba(62,49,154,.955))!important;box-shadow:0 30px 86px rgba(3,12,35,.46),inset 0 1px 0 rgba(255,255,255,.26)!important}
.pro-race-rules-guard-panel>span{color:#7fe8f1!important;font-size:9px!important;letter-spacing:.16em!important}
.pro-race-rules-guard-panel h3{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.24)}
.pro-race-rules-guard-panel p{color:rgba(231,241,255,.88)!important}
.pro-race-rules-guard-panel>div button{min-height:42px!important;border:1px solid rgba(197,220,255,.30)!important;border-radius:12px!important;color:#fff!important;background:rgba(255,255,255,.10)!important}
.pro-race-rules-guard-panel>div button.is-primary{border-color:rgba(95,228,223,.42)!important;background:linear-gradient(135deg,#0d8b84,#2d73eb)!important}
