/* PM Hub Design System v1 — executive workspace foundation */
:root{
  --pmh-navy-950:#071426;
  --pmh-navy-900:#0b1f36;
  --pmh-navy-800:#123050;
  --pmh-gold-500:#caa35d;
  --pmh-gold-300:#e1c58e;
  --pmh-ink:#152033;
  --pmh-muted:#66758a;
  --pmh-line:#dfe5ec;
  --pmh-surface:#ffffff;
  --pmh-canvas:#f4f6f9;
  --pmh-shadow:0 12px 30px rgba(7,20,38,.055);
  --pmh-radius:14px;
}

/* Workspace canvas */
.risk-workspace-page .stakeholder-suite-section{background:var(--pmh-canvas);padding-top:1.4rem;padding-bottom:4rem}
.risk-workspace-page .stakeholder-suite-section>.container{max-width:1320px}
.risk-workspace-page .stakeholder-toolbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border:1px solid var(--pmh-line);border-radius:14px;box-shadow:var(--pmh-shadow);padding:.75rem 1rem;gap:.65rem}
.risk-workspace-page .stakeholder-toolbar .button{min-height:42px;padding:.72rem .9rem;white-space:nowrap}
.risk-workspace-page .stakeholder-project-panel{border:1px solid var(--pmh-line);border-radius:14px;background:#fff;box-shadow:none}
.risk-workspace-page .stakeholder-workspace{min-width:0}
.risk-workspace-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.5rem;align-items:start}
.risk-workspace-shell>div{min-width:0}

/* Sidebar — no icons, no button boxes */
.risk-sidebar{position:sticky;top:92px;background:var(--pmh-navy-950);border-radius:14px;padding:1rem .85rem;box-shadow:0 16px 34px rgba(7,20,38,.16)}
.risk-sidebar-label{margin:.15rem .85rem .9rem;color:#aeb9c9;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.risk-sidebar [role=tablist]{display:grid;gap:.15rem}
.risk-sidebar [data-risk-tab]{appearance:none;position:relative;width:100%;border:0!important;border-radius:0!important;background:transparent!important;color:#cbd5e1!important;text-align:left;padding:.82rem .8rem .82rem 1.1rem!important;font:inherit;font-size:.86rem!important;font-weight:650;line-height:1.25;box-shadow:none!important;cursor:pointer}
.risk-sidebar [data-risk-tab]::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:4px;background:transparent}
.risk-sidebar [data-risk-tab]:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.risk-sidebar [data-risk-tab][aria-selected="true"],
.risk-sidebar [data-risk-tab].is-active{background:rgba(202,163,93,.12)!important;color:#fff!important}
.risk-sidebar [data-risk-tab][aria-selected="true"]::before,
.risk-sidebar [data-risk-tab].is-active::before{background:var(--pmh-gold-500)}
.risk-sidebar-footer{margin-top:1rem;padding:1rem .8rem .2rem;border-top:1px solid rgba(255,255,255,.12)}
.risk-sidebar-footer .text-button{color:#efb8b8;font-size:.74rem;text-decoration:none}

/* Panels and headings */
.risk-workspace-page .stakeholder-panel{min-width:0;border:1px solid var(--pmh-line);border-radius:var(--pmh-radius);background:var(--pmh-surface);box-shadow:var(--pmh-shadow);padding:1.45rem}
.risk-workspace-page .stakeholder-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;padding-bottom:1.05rem;border-bottom:1px solid #e9edf2}
.risk-workspace-page .stakeholder-panel-heading h2{margin:.18rem 0 0;font-size:clamp(2rem,3vw,3.15rem);line-height:1;letter-spacing:-.04em;color:var(--pmh-ink)}
.risk-workspace-page .stakeholder-panel-heading p:not(.eyebrow){max-width:720px;margin:.55rem 0 0;color:var(--pmh-muted)}

/* Buttons */
.risk-workspace-page .button{border-radius:0;border:1px solid transparent;font-weight:800;letter-spacing:.035em}
.risk-workspace-page .button-primary{background:var(--pmh-gold-500);color:var(--pmh-navy-950)}
.risk-workspace-page .button-primary:hover{background:#b99049}
.risk-workspace-page .button-secondary{background:#fff;border-color:#cfd7e2;color:var(--pmh-ink)}

/* Filters */
.risk-workspace-page .stakeholder-filter-bar{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(130px,.65fr));gap:.75rem;align-items:end;margin-bottom:1rem;padding:1rem;border:1px solid var(--pmh-line);border-radius:12px;background:#f8fafc}
.risk-workspace-page .stakeholder-filter-bar label{display:grid;gap:.35rem;color:#475569;font-size:.73rem;font-weight:750}
.risk-workspace-page .stakeholder-filter-bar input,
.risk-workspace-page .stakeholder-filter-bar select{width:100%;min-height:42px;border:1px solid #cfd7e2;border-radius:8px;background:#fff;padding:.65rem .72rem;color:var(--pmh-ink)}

/* Tables */
.risk-workspace-page .table-scroll{max-width:100%;overflow:auto;border:1px solid var(--pmh-line);border-radius:10px;background:#fff}
.risk-workspace-page .stakeholder-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;font-size:.82rem}
.risk-workspace-page .stakeholder-table thead th{position:sticky;top:0;z-index:2;background:var(--pmh-navy-800);color:#fff;border:0;border-bottom:1px solid #294969;padding:.78rem .72rem;white-space:nowrap;text-align:left}
.risk-workspace-page .stakeholder-table tbody td{padding:.78rem .72rem;border:0;border-bottom:1px solid #e8edf2;vertical-align:middle;color:#243146}
.risk-workspace-page .stakeholder-table tbody tr:nth-child(even){background:#fafbfd}
.risk-workspace-page .stakeholder-table tbody tr:hover{background:#f1f5f9}
.risk-workspace-page .stakeholder-name-link{line-height:1.25}
.risk-workspace-page .stakeholder-name-link strong{color:#17446f}

/* Heatmap */
.risk-workspace-page [data-risk-panel="heatmap"]{overflow:hidden}
.risk-workspace-page .risk-heatmap{max-width:860px;margin:1.2rem auto 0;padding:2.3rem 1rem 2rem 4.2rem}
.risk-workspace-page .risk-grid{grid-template-columns:repeat(5,minmax(88px,1fr));gap:.55rem}
.risk-workspace-page .risk-cell{min-height:104px;border:1px solid rgba(7,20,38,.11);border-radius:10px;padding:.7rem;box-shadow:0 2px 7px rgba(7,20,38,.035)}
.risk-workspace-page .risk-cell:hover{outline:2px solid var(--pmh-navy-800);outline-offset:1px;transform:translateY(-1px)}
.risk-workspace-page .risk-axis-label{color:#314158}
.risk-workspace-page .risk-y-label{left:.6rem;color:#314158}

/* Financial and KPI areas */
.risk-workspace-page .stakeholder-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.8rem;margin-bottom:1.2rem}
.risk-workspace-page .stakeholder-kpi{min-height:104px;border:1px solid var(--pmh-line);border-top:3px solid var(--pmh-gold-500);border-radius:11px;background:#fff;padding:1rem;box-shadow:0 6px 16px rgba(7,20,38,.035)}
.risk-workspace-page .stakeholder-kpi span{display:block;color:var(--pmh-muted);font-size:.72rem;font-weight:750}
.risk-workspace-page .stakeholder-kpi strong{display:block;margin-top:.35rem;color:var(--pmh-ink);font-size:1.7rem;line-height:1.1}

/* Dashboard cards */
.risk-dashboard-primary,.risk-dashboard-secondary{gap:1rem}
.risk-dashboard-primary .stakeholder-card,.risk-dashboard-secondary .stakeholder-card,.risk-coach-card{border:1px solid var(--pmh-line);border-radius:12px;box-shadow:none}
.risk-top-row{grid-template-columns:46px minmax(0,1fr) auto}
.risk-top-copy strong{font-size:.9rem}

/* Footer should never cover workspace content */
.risk-workspace-page .site-footer{position:static;margin-top:0}

@media(max-width:1100px){
  .risk-workspace-shell{grid-template-columns:185px minmax(0,1fr);gap:1rem}
  .risk-workspace-page .stakeholder-filter-bar{grid-template-columns:1fr 1fr}
  .risk-workspace-page .stakeholder-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .risk-workspace-shell{display:block}
  .risk-sidebar{position:static;margin-bottom:1rem;padding:.55rem}
  .risk-sidebar-label{display:none}
  .risk-sidebar [role=tablist]{display:flex;overflow:auto;gap:.1rem}
  .risk-sidebar [data-risk-tab]{width:auto;white-space:nowrap;padding:.75rem .85rem!important}
  .risk-sidebar [data-risk-tab]::before{left:18%;right:18%;top:auto;bottom:0;width:auto;height:3px}
  .risk-sidebar-footer{display:none}
  .risk-workspace-page .stakeholder-filter-bar{grid-template-columns:1fr}
  .risk-workspace-page .stakeholder-panel{padding:1rem}
  .risk-workspace-page .risk-heatmap{padding-left:2.3rem;overflow:auto}
}
@media(max-width:560px){
  .risk-workspace-page .stakeholder-kpis{grid-template-columns:1fr}
  .risk-workspace-page .risk-grid{grid-template-columns:repeat(5,minmax(62px,1fr));gap:.3rem}
  .risk-workspace-page .risk-cell{min-height:76px;padding:.4rem}
}


/* pmhub-36 targeted UX corrections */
.risk-sidebar [data-risk-tab]{display:block}
.risk-sidebar [data-risk-tab][aria-current="page"]{background:rgba(202,163,93,.16)!important;color:#fff!important}
.risk-sidebar [data-risk-tab][aria-current="page"]::before{background:var(--pmh-gold-500)!important}
.risk-dashboard-panel .risk-dashboard-primary{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);align-items:start}
.risk-dashboard-panel .risk-dashboard-secondary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start}
.risk-dashboard-panel .risk-dashboard-secondary>article:nth-child(n+3){grid-column:span 1}
.risk-dashboard-panel .risk-heatmap-card{overflow:hidden}
.risk-dashboard-panel .risk-heatmap-compact{max-width:720px;margin:.75rem auto 0;padding:1.7rem .5rem 1.4rem 3.6rem}
.risk-dashboard-panel .risk-heatmap-compact .risk-grid{grid-template-columns:repeat(5,minmax(66px,1fr));gap:.42rem}
.risk-dashboard-panel .risk-heatmap-compact .risk-cell{min-height:78px;padding:.5rem}
.risk-dashboard-panel .risk-coach-card{min-height:100%;max-height:620px;overflow:auto}
.risk-workspace-page [data-risk-panel="heatmap"] .risk-heatmap{max-width:760px;padding:1.8rem .75rem 1.5rem 3.6rem}
.risk-workspace-page [data-risk-panel="heatmap"] .risk-grid{grid-template-columns:repeat(5,minmax(76px,1fr));gap:.48rem}
.risk-workspace-page [data-risk-panel="heatmap"] .risk-cell{min-height:86px}
.risk-workspace-page [data-risk-panel="quality"] [data-risk-quality]{display:grid;gap:1rem}
.risk-workspace-page .quality-summary{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
.risk-workspace-page .quality-score-card{border:1px solid var(--pmh-line);border-radius:12px;padding:1.25rem;background:linear-gradient(135deg,#fff,#f7f9fc)}
.risk-workspace-page .quality-score-card strong{display:block;font-size:2.3rem;color:var(--pmh-ink)}
.risk-workspace-page .quality-score-card span{color:var(--pmh-muted);font-size:.78rem;font-weight:700}
.risk-workspace-page .quality-issues-table{width:100%;border-collapse:collapse;font-size:.84rem}
.risk-workspace-page .quality-issues-table th{background:#f3f6f9;color:#42516a;text-align:left;padding:.72rem;border-bottom:1px solid var(--pmh-line)}
.risk-workspace-page .quality-issues-table td{padding:.78rem .72rem;border-bottom:1px solid #e8edf2;vertical-align:top}
.risk-workspace-page .quality-issues-table tr:last-child td{border-bottom:0}
.risk-workspace-page .quality-status{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#9f1d1d}
@media(max-width:1100px){.risk-dashboard-panel .risk-dashboard-primary,.risk-dashboard-panel .risk-dashboard-secondary,.risk-workspace-page .quality-summary{grid-template-columns:1fr}}

/* pmhub-36 heatmap correction */
.risk-workspace-page [data-risk-panel="heatmap"]{overflow:visible}
.risk-workspace-page .risk-heatmap{max-width:780px;margin:1.25rem auto 0;padding:0!important;overflow:visible!important}
.risk-matrix-shell{width:100%;min-width:0}
.risk-matrix-impact-title{text-align:center;color:#334155;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem 3.4rem}
.risk-matrix-body{display:grid;grid-template-columns:28px 24px minmax(0,1fr);gap:.55rem;align-items:stretch}
.risk-matrix-probability-title{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);color:#334155;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.risk-matrix-yaxis{display:grid;grid-template-rows:repeat(5,1fr);align-items:center;text-align:center;color:#475569;font-size:.78rem;font-weight:800}
.risk-workspace-page .risk-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:repeat(5,1fr);gap:.55rem!important;aspect-ratio:1/1;width:100%}
.risk-workspace-page .risk-cell{min-height:0!important;height:auto;aspect-ratio:1/1;border:1px solid rgba(15,23,42,.1);border-radius:10px;padding:.55rem;display:flex;align-items:flex-start;justify-content:space-between;flex-direction:column;text-align:left;overflow:hidden;box-shadow:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.risk-workspace-page .risk-cell:hover,.risk-workspace-page .risk-cell:focus-visible{outline:none;transform:translateY(-2px);border-color:#27496d;box-shadow:0 8px 18px rgba(7,20,38,.1)}
.risk-cell-coordinate{font-size:.72rem;font-weight:800;color:#334155}
.risk-workspace-page .risk-cell strong{font-size:1.55rem;line-height:1;color:#0f172a}
.risk-workspace-page .risk-cell small{display:block!important;font-size:.68rem;color:#475569;text-transform:uppercase;letter-spacing:.04em}
.risk-matrix-xaxis{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem;margin:.45rem 0 0 3.95rem;text-align:center;color:#475569;font-size:.78rem;font-weight:800}
.risk-matrix-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.2rem;margin:1rem 0 0 3.95rem;padding:.7rem .9rem;border-radius:9px;background:#f7f9fc;color:#475569;font-size:.72rem}
.risk-matrix-legend span{display:inline-flex;align-items:center;gap:.38rem}
.risk-matrix-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.risk-matrix-legend i.low{background:#b8dfbf}.risk-matrix-legend i.medium{background:#f1d76f}.risk-matrix-legend i.high{background:#f1ad68}.risk-matrix-legend i.critical{background:#e98787}
.risk-dashboard-panel .risk-heatmap-compact{max-width:620px!important;margin:.75rem auto 0!important;padding:0!important}
.risk-dashboard-panel .risk-heatmap-compact .risk-matrix-impact-title{margin-left:3rem}
.risk-dashboard-panel .risk-heatmap-compact .risk-matrix-body{grid-template-columns:24px 20px minmax(0,1fr);gap:.4rem}
.risk-dashboard-panel .risk-heatmap-compact .risk-grid{gap:.38rem!important}
.risk-dashboard-panel .risk-heatmap-compact .risk-cell{padding:.42rem;border-radius:8px}
.risk-dashboard-panel .risk-heatmap-compact .risk-cell strong{font-size:1.25rem}
.risk-dashboard-panel .risk-heatmap-compact .risk-cell small{display:none!important}
.risk-dashboard-panel .risk-heatmap-compact .risk-matrix-xaxis,.risk-dashboard-panel .risk-heatmap-compact .risk-matrix-legend{margin-left:3rem}
.risk-dashboard-panel .risk-heatmap-compact .risk-matrix-legend{margin-top:.7rem;padding:.55rem .7rem;gap:.45rem .8rem}
@media(max-width:700px){
 .risk-matrix-body{grid-template-columns:22px 18px minmax(420px,1fr)}
 .risk-matrix-shell{overflow-x:auto;padding-bottom:.35rem}
 .risk-matrix-impact-title{min-width:460px;margin-left:2.8rem}
 .risk-matrix-xaxis,.risk-matrix-legend{min-width:420px;margin-left:3.2rem}
 .risk-workspace-page .risk-grid{min-width:420px}
}

/* pmhub-36 rebuilt risk heatmap component */
.risk-workspace-page .risk-heatmap{max-width:none;margin:0;padding:0!important;overflow:visible!important}
.risk-heatmap-component{--heat-cell:clamp(56px,6.1vw,82px);width:max-content;max-width:100%;margin:1rem auto 0}
.risk-heatmap-impact-label{text-align:center;margin:0 0 .5rem 58px;color:#334155;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.risk-heatmap-layout{display:flex;align-items:center;gap:.65rem}
.risk-heatmap-probability-label{writing-mode:vertical-rl;transform:rotate(180deg);color:#334155;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.risk-heatmap-matrix{display:flex;flex-direction:column;gap:.42rem}
.risk-heatmap-row{display:grid;grid-template-columns:28px repeat(5,var(--heat-cell));gap:.42rem;align-items:center}
.risk-heatmap-axis-number{text-align:center;color:#475569;font-size:.78rem;font-weight:800}
.risk-heatmap-cell{width:var(--heat-cell);height:var(--heat-cell);border:1px solid rgba(15,23,42,.12);border-radius:10px;padding:.46rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;cursor:pointer;box-shadow:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.risk-heatmap-cell:hover,.risk-heatmap-cell:focus-visible{outline:none;transform:translateY(-2px);border-color:#27496d;box-shadow:0 8px 18px rgba(7,20,38,.1)}
.risk-heatmap-cell.low{background:#e8f4ea}.risk-heatmap-cell.medium{background:#fff4cc}.risk-heatmap-cell.high{background:#ffe2bf}.risk-heatmap-cell.critical{background:#f9c7c7}
.risk-heatmap-score{font-size:.68rem;font-weight:800;color:#475569}
.risk-heatmap-cell strong{font-size:1.45rem;line-height:1;color:#0f172a}
.risk-heatmap-cell small{font-size:.64rem;color:#475569;text-transform:uppercase;letter-spacing:.05em}
.risk-heatmap-xaxis{display:grid;grid-template-columns:28px repeat(5,var(--heat-cell));gap:.42rem;margin-top:.05rem}
.risk-heatmap-xaxis span{text-align:center;color:#475569;font-size:.78rem;font-weight:800}
.risk-heatmap-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.1rem;margin:1rem 0 0 58px;padding:.68rem .85rem;border-radius:9px;background:#f7f9fc;color:#475569;font-size:.72rem}
.risk-heatmap-legend span{display:inline-flex;align-items:center;gap:.35rem}.risk-heatmap-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.risk-heatmap-legend i.low{background:#b8dfbf}.risk-heatmap-legend i.medium{background:#f1d76f}.risk-heatmap-legend i.high{background:#f1ad68}.risk-heatmap-legend i.critical{background:#e98787}
.risk-dashboard-panel .risk-heatmap-compact .risk-heatmap-component{--heat-cell:clamp(48px,4.8vw,66px);margin-top:.65rem}
.risk-dashboard-panel .risk-heatmap-compact .risk-heatmap-cell{border-radius:8px;padding:.34rem}.risk-dashboard-panel .risk-heatmap-compact .risk-heatmap-cell strong{font-size:1.15rem}.risk-dashboard-panel .risk-heatmap-compact .risk-heatmap-cell small{display:none}.risk-dashboard-panel .risk-heatmap-compact .risk-heatmap-legend{margin-top:.65rem}
@media(max-width:720px){.risk-heatmap{overflow-x:auto!important;padding-bottom:.4rem!important}.risk-heatmap-component{--heat-cell:58px;min-width:max-content;margin-left:0}.risk-heatmap-legend{justify-content:flex-start}}

/* pmhub-36 final heatmap layout correction */
.risk-workspace-page [data-risk-panel="heatmap"]{
  overflow:visible!important;
  min-height:auto!important;
  height:auto!important;
  padding-bottom:2rem!important;
}
.risk-workspace-page .risk-heatmap{
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.risk-workspace-page [data-risk-panel="heatmap"] .risk-heatmap-component{
  --heat-cell:clamp(72px,7vw,96px);
  width:fit-content;
  max-width:100%;
  margin:1.25rem auto 0;
}
.risk-workspace-page [data-risk-panel="heatmap"] .risk-heatmap-layout{
  align-items:center;
}
.risk-workspace-page [data-risk-panel="heatmap"] .risk-heatmap-legend{
  margin-bottom:.5rem;
}
.risk-dashboard-panel .risk-heatmap-compact{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.risk-dashboard-panel .risk-heatmap-compact .risk-heatmap-component{
  --heat-cell:clamp(52px,4.4vw,68px);
  width:fit-content;
  max-width:100%;
  margin:.75rem auto 0;
}
.risk-workspace-page .stakeholder-suite-section,
.risk-workspace-page .stakeholder-panels,
.risk-workspace-page .stakeholder-panel{
  height:auto!important;
  max-height:none!important;
}
.risk-workspace-page .site-footer{
  position:relative!important;
  z-index:1;
  clear:both;
}
@media(max-width:900px){
  .risk-workspace-page [data-risk-panel="heatmap"] .risk-heatmap{
    overflow-x:auto!important;
    padding-bottom:.75rem!important;
  }
  .risk-workspace-page [data-risk-panel="heatmap"] .risk-heatmap-component{
    --heat-cell:72px;
    min-width:max-content;
    margin-left:0;
  }
}
