/* XRVE Studio explanatory charts v2. Existing brand, one implementation per module. */
.xrve-explain-heading{display:grid;gap:4px}
.xrve-explain-heading h3{font-size:17px;color:#173c54;margin:0}
.xrve-explain-heading p,.xrve-explain-note{color:#557588;font-size:12px;line-height:1.6;margin:8px 0}
.xrve-explain-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0 15px}
.xrve-explain-controls select{min-width:min(100%,240px);max-width:360px}
.xrve-explain-controls strong{font-size:12px;color:#244d65}
.xrve-pareto-plot{display:grid;gap:9px}
.xrve-pareto-row{display:grid;grid-template-columns:minmax(100px,1.25fr) minmax(80px,2.5fr) minmax(55px,.7fr) minmax(95px,1fr) auto;align-items:center;gap:10px;font-size:12px}
.xrve-pareto-label{font-weight:700;color:#254e66;overflow-wrap:anywhere}
.xrve-pareto-track{height:18px;border-radius:5px;background:#deebf2;overflow:hidden}
.xrve-pareto-bar{height:100%;display:block;background:#247ba3;border-radius:5px}
.xrve-pareto-cumulative{font-variant-numeric:tabular-nums;color:#52768a;font-size:11px}
.xrve-pareto-row strong{font-variant-numeric:tabular-nums;color:#173f59;text-align:right}
.xrve-explain-table{width:100%}
.xrve-explain-table[hidden]{display:none}
.xrve-pf-budget-track{display:flex;width:100%;min-height:25px;border:1px solid #c4d8e4;background:#e7eff3;overflow:hidden;border-radius:5px;margin:18px 0 9px}
.xrve-pf-budget-track span{min-height:25px;display:block}
.xrve-pf-budget-inspection{background:#247ea6}
.xrve-pf-budget-response{background:#de8b46}
.xrve-pf-budget-buffer{background:#b7a66a}
.xrve-pf-budget-remaining{background:#dceae4}
.xrve-pf-budget-ref{border-right:3px solid #39536a;position:relative;height:12px;margin-top:-9px}
.xrve-pf-budget-ref span{position:absolute;right:0;top:8px;white-space:nowrap;font-size:10px;font-weight:750;color:#345d73;background:#fff;padding:2px 4px}
.xrve-pf-budget-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin:25px 0 11px}
.xrve-pf-budget-legend>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e0e9ee;padding:5px 0}
.xrve-pf-budget-legend dt,.xrve-pf-budget-legend dd{font-size:11px;color:#385e76;margin:0}
.xrve-pf-budget-legend dd{font-weight:750;font-variant-numeric:tabular-nums}
.xrve-pf-legend-inspection,.xrve-pf-legend-response,.xrve-pf-legend-buffer,.xrve-pf-legend-remaining{border-left:4px solid transparent;padding-left:7px}
.xrve-pf-legend-inspection{border-color:#247ea6}
.xrve-pf-legend-response{border-color:#de8b46}
.xrve-pf-legend-buffer{border-color:#b7a66a}
.xrve-pf-legend-remaining{border-color:#a8c5b8}
.xrve-schedule-explanatory{margin:23px 0 12px;border-top:1px solid #dde7eb;padding-top:20px}
.xrve-schedule-explanatory h3{font-size:16px;color:#173f59;margin:0 0 7px}
.xrve-heatmap-scroll{max-width:100%;overflow-x:auto}
.xrve-schedule-heatmap{border-collapse:separate;border-spacing:3px;width:100%;min-width:790px;font-size:11px}
.xrve-schedule-heatmap th{font-weight:800;background:#e9f2f7;color:#214e69;text-align:center;padding:9px 5px;border-radius:4px}
.xrve-schedule-heatmap th:first-child{text-align:left;min-width:135px}
.xrve-schedule-heatmap td{background:#edf3f6;color:#3a5767;border-radius:5px;text-align:center;padding:12px 4px;min-width:66px;font-variant-numeric:tabular-nums}
.xrve-schedule-heatmap td[data-state=scoped]{background:#d9e9f0;color:#245a74}
.xrve-schedule-heatmap td[data-state=review]{background:#fff0d5;color:#7b5422}
.xrve-schedule-heatmap td[data-state=blocked]{background:#fbe1d2;color:#8b4729}
.xrve-schedule-heatmap td[data-state=over]{background:repeating-linear-gradient(135deg,#f6d3bc,#f6d3bc 6px,#ffe5d7 6px,#ffe5d7 12px);color:#7f3b23}
.xrve-schedule-heatmap .xrve-heatmap-total{font-weight:750;background:#e9f2f7}
.xrve-schedule-heatmap small{display:block;font-size:10px;font-weight:500;margin-top:6px}
.xrve-schedule-heatmap [title]{cursor:help}
@media(max-width:850px){
  .xrve-pareto-row{grid-template-columns:minmax(90px,1fr) minmax(75px,2fr) 60px;gap:7px}
  .xrve-pareto-cumulative{grid-column:2/-1;margin-top:-6px}
  .xrve-pareto-row .xrve-viz-button{grid-column:1/-1;justify-self:start}
  .xrve-pf-budget-legend{grid-template-columns:1fr}
}
@media print{
  .xrve-explain-controls select,.xrve-pareto-row .xrve-viz-button{display:none!important}
  .xrve-explain-table[hidden]{display:table!important}
  .xrve-pareto-row,.xrve-schedule-explanatory,.pf-explain-budget{break-inside:avoid}
  .xrve-heatmap-scroll{overflow:visible}
}
/* On phones the seven-day heatmap is wider than its viewport by design.
   Say so instead of letting remaining days look absent. */
.xrve-heatmap-swipe-hint{display:none}
.xrve-heatmap-scroll:focus-visible{outline:3px solid #267fa8;outline-offset:3px}
@media(max-width:850px){
 .xrve-heatmap-swipe-hint{display:block;margin:8px 0;color:#365e77;font-size:13px;line-height:1.5;font-weight:650}
}
@media print{.xrve-heatmap-swipe-hint{display:none!important}}
