/* Pacing simulator (admin-pacingsim.js, docs/PACING_SIMULATOR.md). */
#psSetup, #psScenarios, .ps-results > .card, #psRecent .card { margin-bottom: 18px; }
.ps-results { display: flex; flex-direction: column; }
.ps-now { margin: 14px 0 0; }
.ps-partial { color: var(--warn-text); font-weight: 700; }
.ps-hours { display: flex; gap: 8px; align-items: center; }
.ps-hours select { min-width: 0; flex: 1; }
.ps-weekdays { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.ps-weekdays label.check { margin: 0; display: inline-flex; gap: 6px; align-items: center; font-weight: 700; }
.ps-weekdays input { width: auto; }

.ps-scen { border: 1px solid var(--border); border-radius: var(--radius-md); padding: 12px 14px; margin: 12px 0; background: var(--panel-2); }
.ps-scen .form { margin-top: 6px; }
.ps-scen-head { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.ps-scen-name { font-weight: 800; max-width: 260px; }
.ps-base p { margin: 4px 0 0; }
.ps-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.ps-progress { display: flex; gap: 10px; align-items: center; flex: 1; min-width: 220px; flex-wrap: wrap; }
.ps-bar { flex: 1; min-width: 120px; height: 10px; border-radius: 6px; background: var(--panel-2); border: 1px solid var(--border); overflow: hidden; }
.ps-bar i { display: block; height: 100%; background: var(--accent); transition: width .4s; }

.ps-head { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; flex-wrap: wrap; }
.ps-head h2 { margin: 0; }
.ps-verdict { margin: 12px 0 6px; padding-left: 20px; }
.ps-verdict li { margin: 4px 0; }
.ps-lines { margin: 6px 0 0; padding-left: 20px; color: var(--muted); }
.ps-lines li { margin: 3px 0; }
.ps-reasons { margin: 12px 0 0; padding-left: 20px; color: var(--muted); font-size: 13.5px; }
td.ps-warn { color: var(--bad-text); font-weight: 800; }
.ps-range { display: block; font-size: 12px; color: var(--muted); font-weight: 600; }
tr.ps-actual td { background: var(--panel-2); }
.ps-grid { margin-top: 14px; }
.ps-results .tiles { margin-top: 12px; }

.ps-chart { width: 100%; height: auto; max-height: 260px; display: block; margin: 4px 0 6px; }
.ps-chart .ps-grid { stroke: var(--border); stroke-width: 1; }
.ps-chart .ps-axis { fill: var(--muted); font-size: 11px; font-family: var(--mono, monospace); }
.ps-chart .ps-target { stroke: var(--bad); stroke-width: 1.5; stroke-dasharray: 5 4; }
.ps-line { fill: none; stroke-width: 2.5; stroke-linejoin: round; }
.ps-dot { stroke: var(--panel); stroke-width: 1.5; }
/* Series: actual (dashed grey), then the scenarios. */
.ps-line.ps-c-act { stroke: var(--muted); stroke-dasharray: 4 4; }
.ps-dot.ps-c-act, .ps-sw.ps-c-act { fill: var(--muted); background: var(--muted); }
.ps-line.ps-c0 { stroke: var(--accent); }   .ps-dot.ps-c0, .ps-sw.ps-c0 { fill: var(--accent); background: var(--accent); }
.ps-line.ps-c1 { stroke: #C2410C; }         .ps-dot.ps-c1, .ps-sw.ps-c1 { fill: #C2410C; background: #C2410C; }
.ps-line.ps-c2 { stroke: #6D28D9; }         .ps-dot.ps-c2, .ps-sw.ps-c2 { fill: #6D28D9; background: #6D28D9; }
.ps-line.ps-c3 { stroke: #B45309; }         .ps-dot.ps-c3, .ps-sw.ps-c3 { fill: #B45309; background: #B45309; }
.ps-legend { margin-bottom: 10px; }
.ps-scn-tabs { margin-top: 8px; }

.ps-apply-dlg { max-width: 560px; }
.ps-review { width: 100%; margin: 10px 0; }
.ps-review td, .ps-review th { padding: 6px 10px; }

@media (max-width: 640px) {
  .ps-scen-name { max-width: none; flex: 1; }
  .ps-actions button { flex: 1; }
  .ps-progress { min-width: 100%; }
}
