/* Reporting follows the existing dark operations workspace. Scope, sample age,
   coverage, pending authorization, and recovery controls stay visible together. */
.perf-command-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;background:linear-gradient(110deg,#123039,#151d38)}
.perf-command-bar h3{font-size:19px;margin:3px 0 6px}.perf-command-bar p{margin:0;color:var(--muted);font-size:12px}
.perf-group-label{display:flex;align-items:center;gap:10px;font-size:11px;color:#9bb5ca}.perf-group-label select{width:auto;max-width:370px;padding:9px 12px;font-size:12px}
.perf-sample{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:6px 2px 17px;color:#8ba4bd;font-size:11px}.perf-sample.is-stale{color:#dcb781}
.perf-trends{display:grid;grid-template-columns:1fr;gap:12px;min-height:0}.perf-spark{min-width:0;--plot-color:#64dacc}.perf-spark.is-violet{--plot-color:#a49af8}
.perf-spark-heading{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.perf-spark-heading strong{font-weight:500;color:var(--plot-color)}
.perf-spark svg{display:block;width:100%;max-height:155px;overflow:visible}.perf-gridline{stroke:#24354a;stroke-dasharray:4 5;stroke-width:1}.perf-line{stroke:var(--plot-color);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.perf-point{fill:var(--plot-color);stroke:#152438;stroke-width:2}
.perf-chart-dates{display:flex;justify-content:space-between;color:#7289a3;font-size:10px}.perf-chart-note{font-size:10px;color:#7089a6;margin:10px 0 0}
.perf-details{border-top:1px solid #26384d;padding:12px 0;font-size:12px;margin-top:10px}.perf-details>summary{cursor:pointer;color:#a7bed5;line-height:1.8}.perf-details>summary:hover{color:var(--cyan)}
.perf-json{font-size:11px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;padding:12px;border:1px solid #263c53;border-radius:8px;background:#071322;color:#90aac6}
.perf-section-link{border-top:1px solid #24354c;margin-top:18px;padding-top:14px;font-size:12px}.perf-wrap{white-space:normal;max-width:430px;display:block;min-width:220px}
.perf-task-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:14px}.perf-task-kpis>div{border-left:2px solid #2c7775;padding-left:12px}.perf-task-kpis>div:nth-child(2){border-color:#8279c7}.perf-task-kpis small{display:block;color:#8da5bc;font-size:10px}.perf-task-kpis b{font-size:26px;line-height:1.7;font-weight:550;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.perf-schedule{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #263c51;margin-top:20px;padding-top:17px}.perf-schedule strong{font-weight:500;font-size:12px}.perf-schedule p{font-size:11px;color:#8ba2bc;margin:5px 0 0;line-height:1.8}.perf-schedule .actions{flex-shrink:0;max-width:200px;justify-content:flex-end}
.perf-denominator{font-size:.47em;color:#6d8aa4;letter-spacing:0}.perf-wallboard .perf-group-label{font-size:0}.perf-wallboard .perf-group-label select{max-width:330px}.perf-wallboard .metric-value{overflow-wrap:anywhere;font-size:clamp(30px,3vw,65px)}.perf-wallboard .metric-note{line-height:1.7}.perf-wallboard .perf-wall-trend{display:flex!important;flex-direction:column;gap:8px}.perf-wallboard .perf-wall-trend>.panel-head{margin-bottom:0}.perf-wallboard .perf-wall-trend .perf-trends{flex:1;min-height:0}.perf-wallboard .perf-spark{display:flex;flex-direction:column;min-height:0}.perf-wallboard .perf-spark svg{flex:1;min-height:30px;max-height:130px}.perf-wallboard .perf-chart-note{flex-shrink:0}.perf-wallboard .status-row .actions{flex-shrink:0}
@media(min-width:1300px) and (min-height:760px){.perf-wallboard .perf-spark-heading,.perf-wallboard .perf-chart-dates{font-size:clamp(10px,1.03vh,21px)}.perf-wallboard .perf-chart-note{font-size:clamp(10px,1vh,20px)}.perf-wallboard .metric-value{font-size:clamp(32px,4.2vh,90px)}.perf-wallboard .perf-spark svg{max-height:15vh}.perf-wallboard .perf-group-label select{max-width:clamp(320px,24vw,650px);font-size:clamp(11px,1.05vh,22px)}}
@media(max-width:850px){.perf-command-bar{align-items:flex-start;flex-direction:column}.perf-group-label{width:100%;align-items:flex-start;flex-direction:column;gap:6px}.perf-group-label select{width:100%;max-width:none}.perf-schedule{align-items:flex-start;flex-direction:column}.perf-schedule .actions{max-width:none;justify-content:flex-start}.perf-wallboard .perf-group-label{width:auto}.perf-wallboard .wall-toolbar{flex-wrap:wrap}.perf-task-kpis{gap:10px}.perf-task-kpis b{font-size:23px}}
@media(max-width:560px){.perf-task-kpis{grid-template-columns:1fr}.perf-task-kpis>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.perf-task-kpis b{font-size:24px}.perf-wallboard .wall-toolbar>.actions{width:100%;justify-content:flex-start}.perf-wallboard .perf-group-label{width:100%}.perf-wallboard .perf-group-label select{max-width:none;width:100%;font-size:11px}.perf-metrics .metric-value{font-size:27px}}

.perf-owner{color:#d9b67e!important;font-size:11px!important;line-height:1.8;margin:8px 0!important}

/* Read-only reporting of existing ads. */
.observed-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:20px 0}.observed-metrics .metric-card{display:flex;flex-direction:column;gap:20px;padding:26px;min-width:0}.observed-value{display:block;font-size:32px}.observed-metrics small{color:var(--text-muted,#8d9caf)}.observed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}.observed-ad{min-width:0}.observed-ad .panel-head{flex-wrap:wrap;gap:12px}.observed-ad p{overflow-wrap:anywhere}.observed-pairs .data-pair{gap:14px}.observed-pairs .data-pair>span:last-child{text-align:right}.observed-grid+.panel summary{cursor:pointer}.perf-wallboard:has(.observed-grid){display:block;overflow:auto;height:auto;min-height:100vh}
@media(max-width:1100px){.observed-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.observed-grid{grid-template-columns:1fr}}
@media(max-width:600px){.observed-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.observed-metrics .metric-card{padding:16px}.observed-value{font-size:26px}.observed-grid{gap:12px}.perf-wallboard:has(.observed-grid) .wall-title h1{font-size:18px}.perf-wallboard:has(.observed-grid) .wall-header{flex-wrap:wrap;gap:16px}.perf-wallboard:has(.observed-grid) .wall-title{position:static;transform:none}.perf-wallboard:has(.observed-grid) .wall-toolbar{flex-wrap:wrap;gap:12px}}
