/* Output-only rules. Reuse the existing application tokens and print shell. */
.v2.ph-app .ph-outputs{margin-bottom:28px}
.v2.ph-app .ph-output-controls{margin-top:16px}
.v2.ph-app .ph-output-controls fieldset{border:1px solid var(--v2-border);border-radius:8px;padding:16px;margin:16px 0;min-width:0}
.v2.ph-app .ph-output-controls legend{font-size:14px;padding:0 6px}
.v2.ph-app .ph-output-columns{padding:0;list-style:none;display:grid;gap:8px}
.v2.ph-app .ph-output-columns li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.v2.ph-app .ph-output-columns input{margin-bottom:0}
.v2.ph-app .ph-output-columns .ph-actions{margin:0;gap:4px}
.v2.ph-app .ph-message-preview{min-height:230px;white-space:pre-wrap}
.v2.ph-app .ph-output-status{font-size:13px;overflow-wrap:anywhere}
.v2.ph-app .ph-report-heading{border-bottom:2px solid var(--v2-border);padding-bottom:14px;margin-bottom:18px}
.v2.ph-app .ph-council-report section{margin-top:28px}
.v2.ph-app .ph-council-report caption{text-align:left;padding:10px 12px;color:var(--v2-muted);font-size:12px}
.v2.ph-app .ph-council-report table{min-width:640px}
.v2.ph-app .ph-report-method{font-size:14px}
.v2.ph-app .ph-report-footer{border-top:1px solid var(--v2-border);margin-top:28px;padding-top:16px;font-size:12px}
@media(max-width:700px){.v2.ph-app .ph-output-columns li{grid-template-columns:minmax(0,1fr)}.v2.ph-app .ph-output-columns .ph-actions{justify-content:flex-end}}
/* Council summary uses the current theme; detail tables stay in the annex. */
.v2.ph-app .ph-report-summary{max-width:920px;margin:0 auto;padding:24px;border:1px solid var(--v2-border);border-radius:8px;background:var(--v2-surface);box-sizing:border-box;overflow-wrap:anywhere}
.v2.ph-app .ph-council-report .ph-report-summary{margin-top:20px}
.v2.ph-app .ph-report-summary .ph-report-heading{margin-bottom:14px;padding-bottom:12px}
.v2.ph-app .ph-report-summary h2{font-size:26px;margin:4px 0 8px}
.v2.ph-app .ph-report-summary p{margin:8px 0;font-size:13px;line-height:1.5}
.v2.ph-app .ph-report-summary .ph-report-answer{font-size:18px;line-height:1.45}
.v2.ph-app .ph-report-summary .ph-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 10px;gap:8px}
.v2.ph-app .ph-report-summary .ph-stat{padding:12px 10px;background:transparent}
.v2.ph-app .ph-report-summary .ph-stat strong{font-size:clamp(15px,2vw,23px);line-height:1.3}
.v2.ph-app .ph-report-bar{height:12px;display:flex;border:1px solid var(--v2-control);border-radius:3px;overflow:hidden;background:repeating-linear-gradient(135deg,transparent,transparent 3px,var(--v2-border) 3px,var(--v2-border) 5px)}
.v2.ph-app .ph-report-bar-assigned{display:block;height:100%;background:var(--v2-action);border-right:1px solid var(--v2-control)}
.v2.ph-app .ph-report-summary .ph-report-bar-key,.v2.ph-app .ph-report-summary .ph-report-note{font-size:12px;color:var(--v2-muted)}
.v2.ph-app .ph-report-summary section{margin-top:18px}
.v2.ph-app .ph-report-summary h3{font-size:16px;margin:0 0 6px}
.v2.ph-app .ph-report-summary ol{padding-left:22px;margin:8px 0}
.v2.ph-app .ph-report-summary li{padding-left:3px;font-size:13px;line-height:1.45;margin:5px 0}
.v2.ph-app .ph-report-pending li{border-bottom:1px solid var(--v2-border);padding-bottom:6px}
.v2.ph-app .ph-report-pending li>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.v2.ph-app .ph-report-pending li p{margin:2px 0}
.v2.ph-app .ph-report-summary .ph-report-alert{border-left:3px solid var(--v2-control);padding-left:8px}
.v2.ph-app .ph-report-change dl{grid-template-columns:140px minmax(0,1fr)}
.v2.ph-app .ph-report-summary-footer{border-top:1px solid var(--v2-border);padding-top:10px;margin-top:18px}
.v2.ph-app .ph-report-summary-footer p{font-size:12px}
.v2.ph-app .ph-report-annex{margin-top:36px;overflow-wrap:anywhere}
.v2.ph-app .ph-report-hashes code{font-size:12px;overflow-wrap:anywhere;white-space:normal}
@media screen and (max-width:700px){
  .v2.ph-app .ph-report-summary{padding:14px}
  .v2.ph-app .ph-report-summary .ph-stats{grid-template-columns:1fr}
  .v2.ph-app .ph-report-summary .ph-stat{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .v2.ph-app .ph-report-summary .ph-stat strong{font-size:18px;text-align:right}
  .v2.ph-app .ph-report-change dl{grid-template-columns:1fr;gap:2px}
  .v2.ph-app .ph-report-change dd{margin-bottom:6px}
}
@media print{
  @page{size:A4 portrait;margin:14mm}
  body.v2.ph-app:has(.ph-council-report){padding-bottom:0!important}
  .v2.ph-app #ph-panel-report>:not(#ph-council-preview),.v2.ph-app:has(.ph-council-report) .ph-footer{display:none!important}
  .v2.ph-app .ph-council-report{font-size:10pt;line-height:1.35;color:#111;background:#fff}
  .v2.ph-app .ph-council-report *{color:#111!important;background-color:transparent!important;box-shadow:none!important}
  /* Keep both closing sections side by side, with room for the visible limit below. */
  .v2.ph-app .ph-council-report .ph-report-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14pt;align-content:start;min-height:268mm;max-width:182mm;border:0;border-radius:0;padding:0;margin:0;break-inside:avoid}
  .v2.ph-app .ph-report-summary>*{grid-column:1/-1;min-width:0}
  .v2.ph-app .ph-report-summary .ph-report-change{grid-column:1}
  .v2.ph-app .ph-report-summary .ph-report-verify{grid-column:2}
  .v2.ph-app .ph-report-summary .ph-report-heading{padding-bottom:6pt;margin-bottom:5pt}
  .v2.ph-app .ph-council-report .ph-report-summary h2{font-size:20pt;margin:2pt 0 5pt}
  .v2.ph-app .ph-report-summary p{font-size:9pt;line-height:1.25;margin:3pt 0}
  .v2.ph-app .ph-report-summary .ph-report-answer{font-size:12pt;line-height:1.35}
  .v2.ph-app .ph-report-summary .ph-stats{margin:5pt 0;gap:6pt}
  .v2.ph-app .ph-report-summary .ph-stat{padding:4pt 6pt;display:block}
  .v2.ph-app .ph-report-summary .ph-stat strong{font-size:14pt;margin:3pt 0}
  .v2.ph-app .ph-report-summary .ph-stat span{font-size:8pt}
  .v2.ph-app .ph-report-bar{height:8pt;background:#fff!important;border-color:#555}
  .v2.ph-app .ph-report-bar-assigned{background:repeating-linear-gradient(135deg,#bbb,#bbb 1px,#fff 1px,#fff 4px)!important;border-color:#555;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .v2.ph-app .ph-report-summary section{margin-top:9pt;break-inside:avoid}
  .v2.ph-app .ph-report-summary h3{font-size:11pt;margin:0 0 4pt}
  .v2.ph-app .ph-report-summary ol{margin:4pt 0;padding-left:16pt}
  .v2.ph-app .ph-report-summary li{font-size:9pt;line-height:1.25;margin:3pt 0;padding-left:2pt}
  .v2.ph-app .ph-report-pending li{padding-bottom:3pt}
  .v2.ph-app .ph-report-summary .ph-report-note,.v2.ph-app .ph-report-summary .ph-report-bar-key{font-size:8pt}
  .v2.ph-app .ph-report-change dl{font-size:9pt;gap:3pt;grid-template-columns:78pt minmax(0,1fr)}
  /* The site-wide print rule hides all footers; the report limit must print. */
  .v2.ph-app .ph-report-summary-footer{display:block!important;margin-top:9pt;padding:6pt 0 0;break-inside:avoid}
  .v2.ph-app .ph-report-summary-footer p{font-size:8pt}
  .v2.ph-app .ph-report-annex{break-before:page;page-break-before:always;margin-top:0}
  .v2.ph-app .ph-report-annex section{margin-top:14pt}
  .v2.ph-app .ph-council-report caption{font-size:8pt;padding:5pt 0}
  .v2.ph-app .ph-council-report th,.v2.ph-app .ph-council-report td{overflow-wrap:anywhere}
  .v2.ph-app .ph-council-report thead{display:table-header-group}
  .v2.ph-app .ph-council-report tr{break-inside:avoid}
  .v2.ph-app .ph-report-hashes code{font-size:8pt}
  .v2.ph-app .ph-report-footer{font-size:9pt}
}
