  .rmo-scroll-wrap{border:.5px solid var(--border-t);border-radius:10px;overflow:auto;max-height:72vh;background:var(--bg-card)}
  table.rmo-st{border-collapse:separate;border-spacing:0;font-size:11px;white-space:nowrap}
  table.rmo-st thead th{position:sticky;top:0;z-index:3}
  .rmo-col-role{position:sticky;left:0;z-index:2;background:var(--bg-card)}
  .rmo-col-name{position:sticky;z-index:2;background:var(--bg-card)}
  table.rmo-st thead .rmo-col-role,table.rmo-st thead .rmo-col-name{z-index:6}
  .vm-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}@media(max-width:640px){.vm-tiles{grid-template-columns:repeat(2,1fr)}}
  .vm-tile{background:var(--bg-secondary);border-radius:8px;padding:13px 10px;text-align:center}
  .vm-tile .vn{font-size:23px;font-weight:500;font-family:var(--font-mono);color:#463490}.vm-tile .vl{font-size:11px;color:var(--text-secondary);margin-top:4px}
  .vm-tile.nh .vn{color:var(--text-tertiary);font-size:14px}
  /* Two-layer so a flag marker above the bar isn't clipped by the pill's rounded-corner overflow. */
  .vm-progress-bar{height:16px;position:relative;margin-top:16px}
  .vm-progress-track{height:100%;background:var(--bg-secondary);border-radius:8px;overflow:hidden;position:relative}
  .vm-progress-fill{height:100%;border-radius:8px;background:#463490}
  .vm-progress-expected{position:absolute;top:0;width:3px;background:#E87825;height:100%}
  .vm-progress-marker{position:absolute;top:-15px;transform:translateX(-50%);color:#463490;font-size:13px;line-height:1;cursor:help;z-index:2}
  .vm-chart-wrap{overflow-x:auto;min-width:0}
  .vm-chart-wrap svg{display:block;min-width:480px}
  .pct-bar{display:flex;align-items:center;gap:7px}.pct-bg{width:52px;height:7px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;flex-shrink:0}
  .pct-fill{height:7px;border-radius:4px;background:#463490;min-width:1px}
  .ms-badge{display:inline-block;padding:3px 9px;border-radius:11px;font-size:11px;white-space:nowrap}
  .ms-billed{background:var(--bg-ok);color:var(--t-ok)}.ms-notbilled{background:var(--bg-warn);color:var(--t-warn)}
  .risk-item{padding:13px 0;border-bottom:.5px solid var(--border-t)}.risk-item:last-child{border-bottom:none}
  .risk-head{display:flex;align-items:center;gap:9px;margin-bottom:5px;flex-wrap:wrap}
  .risk-sev{font-size:10px;padding:2px 8px;border-radius:9px;font-weight:500;flex-shrink:0}
  .risk-sev.critical{background:var(--bg-purp);color:var(--t-purp)}.risk-sev.high{background:var(--bg-bad);color:var(--t-bad)}.risk-sev.med{background:var(--bg-warn);color:var(--t-warn)}.risk-sev.low{background:var(--bg-ok);color:var(--t-ok)}
  .risk-kind{font-size:9px;padding:1px 6px;border-radius:6px;border:.5px solid var(--border-s);color:var(--text-tertiary);font-family:var(--font-mono)}
  .risk-block{font-size:9px;padding:1px 6px;border-radius:6px;background:var(--bg-bad);color:var(--t-bad)}
  .risk-title{font-size:14px;font-weight:500}.risk-body{font-size:13px;color:var(--text-secondary);line-height:1.6}
  .risk-meta{font-size:11px;color:var(--text-tertiary);margin-top:4px}
  .ptg-text{font-size:13px;color:var(--text-secondary);line-height:1.7}
  .narr-row{padding:9px 0;border-bottom:.5px solid var(--border-t)}.narr-row:last-child{border-bottom:none}
  .narr-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
  .narr-val{font-size:14px;color:var(--text-primary);line-height:1.6}
  .section-sub{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:14px}
  .empty-tab{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:14px}
  .sev-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
  .sev-filter-btn{font-size:12px;padding:5px 13px;border-radius:20px;border:1px solid var(--border-s);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .1s}
  .sev-filter-btn:hover{border-color:var(--text-tertiary)}
  .sev-filter-btn.active{color:#fff;border-color:transparent}
  .sev-filter-btn.active.sev-all{background:var(--ep)}
  /* Critical needs its own violet; --ep is the same hex as sev-all and would erase the distinction. */
  .sev-filter-btn.active.sev-critical{background:var(--violet)}
  .sev-filter-btn.active.sev-high{background:var(--red)}
  .sev-filter-btn.active.sev-med{background:var(--amber)}
  .sev-filter-btn.active.sev-low{background:var(--green)}

  /* --- Detail filter framework (Kyle spec §4/§7) --- */
  .raid-filters{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
  .rf-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
  .rf-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-weight:700;min-width:72px;flex-shrink:0}
  .rf-right{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .rf-reset{font-size:11px;color:var(--t-info);cursor:pointer;background:none;border:none;padding:3px 8px;font-family:inherit;border-radius:4px}
  .rf-toggle{font-size:11px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-s);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:5px}
  .rf-toggle.on{border-color:#463490;color:var(--text-primary)}
  .rf-count{background:#463490;color:#fff;border-radius:10px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px}
  .rf-active{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary);flex-wrap:wrap}
  .rf-active b{color:var(--text-secondary);font-weight:600}
  .rf-sub{display:flex;flex-direction:column;gap:5px;padding:8px 0 2px;border-top:1px dashed var(--border-s);margin-top:2px}
  /* Letter + count so severity never reads by colour alone. */
  .raid-sev-chip{display:inline-block;padding:1px 5px;margin-right:3px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.02em;color:#fff}
  .raid-sev-chip.sev-critical{background:#6D28D9}.raid-sev-chip.sev-high{background:#DC2626}.raid-sev-chip.sev-med{background:#D97706}.raid-sev-chip.sev-low{background:#1A9B5A}
  .raid-closed-tag{background:var(--bg-secondary);color:var(--text-tertiary)}
  .risk-item.closed{opacity:.6}
  .team-new-tag{font-size:9px;padding:1px 6px;border-radius:6px;font-weight:500;background:var(--bg-ok);color:var(--t-ok);margin-left:6px}

  .needs-home .nh-icon{width:40px;height:40px;border-radius:10px;background:var(--bg-purp);color:var(--t-purp);display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 10px}
  .needs-home .nh-title{font-size:14px;font-weight:500;margin-bottom:5px}
  .needs-home .nh-body{font-size:12px;color:var(--text-secondary);line-height:1.6;max-width:440px;margin:0 auto 10px}
  .needs-home .nh-ref{display:inline-block;font-size:11px;font-family:var(--font-mono);background:var(--bg-purp);color:var(--t-purp);padding:3px 10px;border-radius:8px}

  .tile-click{cursor:pointer;transition:border-color .12s}.tile-click:hover{border-color:var(--border-s)}
  .callout-click{cursor:pointer}.callout-click:hover{background:var(--bg-secondary);border-radius:8px;margin:0 -8px;padding:11px 8px}
  .owner-tag{font-size:9px;padding:1px 6px;border-radius:6px;font-weight:500;flex-shrink:0}
  .owner-eff{background:var(--bg-purp);color:var(--t-purp)}.owner-aws{background:var(--bg-info);color:var(--t-info)}.owner-client{background:var(--bg-secondary);color:var(--text-secondary)}.owner-unknown{background:var(--bg-secondary);color:var(--text-tertiary)}
  .wmd-type-workstream{background:var(--bg-info);color:var(--t-info)}.wmd-type-milestone{background:var(--bg-warn);color:var(--t-warn)}.wmd-type-deliverable{background:var(--bg-purp);color:var(--t-purp)}.wmd-type-unknown{background:var(--bg-secondary);color:var(--text-tertiary)}
  .wmd-risk{background:var(--bg-bad);color:var(--t-bad)}.wmd-ontrack{background:var(--bg-secondary);color:var(--text-secondary)}.wmd-ac-yes{background:var(--bg-ok);color:var(--t-ok)}.wmd-ac-no{background:var(--bg-secondary);color:var(--text-tertiary)}
  .risk-item.eff-owned{border-left:3px solid var(--t-purp);padding-left:12px}
  .risk-due{font-size:11px;color:var(--text-tertiary);margin-top:3px}
  .wow-delta{font-family:var(--font-mono);font-size:12px;display:inline-flex;align-items:center;gap:3px}
  .wow-delta.up{color:var(--t-bad)}.wow-delta.down{color:var(--t-ok)}.wow-delta.flat{color:var(--text-tertiary)}
  .pf-card-v2{padding:0;overflow:hidden;border-left-width:1px}
  .pf-card-v2 .pfc-header{padding:10px 16px;display:flex;justify-content:space-between;align-items:center}
  .pf-card-v2 .pfc-header.s-red{background:rgba(220,38,38,0.12)}.pf-card-v2 .pfc-header.s-amber{background:rgba(217,119,6,0.12)}.pf-card-v2 .pfc-header.s-green{background:rgba(26,155,90,0.12)}.pf-card-v2 .pfc-header.s-na{background:var(--bg-secondary)}
  .pfc-status-badge{font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}
  .pfc-status-badge.s-red{background:#DC2626;color:#fff}.pfc-status-badge.s-amber{background:#D97706;color:#fff}.pfc-status-badge.s-green{background:#1A9B5A;color:#fff}.pfc-status-badge.s-na{background:var(--border-s);color:var(--text-tertiary)}
  .pfc-body{padding:12px 16px 14px}
  .pfc-hero{font-size:22px;font-weight:500;font-family:var(--font-mono);color:var(--text-primary);margin:6px 0 2px}
  .pfc-hero-label{font-size:11px;color:var(--text-tertiary)}
  .sb-acct-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-left:3px solid transparent}
  .sb-acct-toggle:hover{background:rgba(255,255,255,0.05)}
  .sb-acct-toggle.active{background:rgba(70,52,144,0.4);border-left-color:#463490}
  .sb-acct-toggle .toggle-arrow{font-size:12px;color:rgba(255,255,255,0.3);transition:transform .15s}
  .sb-acct-toggle.open .toggle-arrow{transform:rotate(90deg)}
  .sb-acct-projs{overflow:hidden;transition:max-height .2s ease}
  .sb-acct-projs.collapsed{max-height:0!important}
  .pf-acct-toggle{cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 0;margin-bottom:10px}
  .pf-acct-toggle:hover .pf-acct-name{color:var(--text-primary)}
  .pf-acct-name{font-size:15px;font-weight:500;color:var(--text-secondary);transition:color .1s}
  .pf-acct-arrow{font-size:14px;color:var(--text-tertiary);transition:transform .15s}
  .pf-acct-toggle.open .pf-acct-arrow{transform:rotate(90deg)}

  .pfc-recent{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:9px;background:var(--bg-warn);color:var(--t-warn);cursor:help;margin-left:6px;white-space:nowrap}
  .pfc-recent i{font-size:12px}

  /* ============================================================
     ATLAS APP SHELL  (persistent rail + launchpad + admin)
     ============================================================ */
