/* Private listing reports reuse OA's typography and theme tokens. */
.pa-shell { padding-top: 36px; padding-bottom: 72px; }
.pa-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,240px); gap:24px; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--bg-2); }
.pa-controls label { display:grid; gap:10px; font-size:13px; font-weight:600; color:var(--mut); }
.pa-controls select { width:100%; min-width:0; padding:12px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:15px; color:var(--ink); background:var(--bg); }
.pa-listing-heading { margin:36px 0 22px; }
.pa-listing-heading h2 { margin:8px 0; font-size:clamp(24px,3vw,34px); overflow-wrap:anywhere; }
.pa-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:26px; }
.pa-metric { padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--bg-2); }
.pa-metric p { margin:0 0 12px; font-size:14px; color:var(--mut); }
.pa-metric strong { display:block; font-family:var(--font-sans); font-size:clamp(25px,3vw,36px); color:var(--ink); letter-spacing:-1px; }
.pa-metric span { display:block; margin-top:12px; font-size:12px; color:var(--mut); }
.pa-columns { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px; }
.pa-panel { padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--bg-2); }
.pa-panel h3 { margin:0 0 8px; }
.pa-panel .v3-mut { font-size:13px; }
.pa-chart { height:180px; display:flex; align-items:flex-end; gap:4px; margin-top:32px; border-bottom:1px solid var(--line); }
.pa-bar { flex:1; height:var(--height); background:var(--brand); border-radius:3px 3px 0 0; min-width:0; }
.pa-chart-labels,.pa-country-label { display:flex; justify-content:space-between; gap:16px; }
.pa-chart-labels { font-size:12px; color:var(--mut); margin-top:12px; }
.pa-countries { list-style:none; padding:0; margin:24px 0; max-height:330px; overflow:auto; }
.pa-countries li { margin:0 0 20px; }
.pa-country-label { font-size:14px; }
.pa-country-meter { height:5px; background:var(--line-soft); margin-top:9px; border-radius:6px; }
.pa-country-meter span { display:block; height:100%; background:var(--brand); border-radius:6px; }
.pa-footnote { font-size:12px; line-height:1.6; color:var(--mut); margin-top:20px; }
.pa-definition,.pa-daily { margin-top:24px; font-size:14px; }
.pa-definition summary,.pa-daily summary { cursor:pointer; padding:10px 0; font-weight:600; }
.pa-definition p { line-height:1.7; color:var(--mut); }
/* Match OA prose: align both edges, with a natural final line. */
.pa-definition p,.pa-panel > p,.pa-footnote { text-align:justify; text-align-last:left; }
.pa-daily table { width:100%; }
@media(max-width:900px) { .pa-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .pa-columns { grid-template-columns:1fr; } }
@media(max-width:540px) { .pa-controls { grid-template-columns:1fr; gap:18px; padding:18px; } .pa-metric { padding:18px; } .pa-panel { padding:20px; } .pa-chart { gap:3px; } }

.pa-universities { margin-top:24px; }
.pa-table-scroll { overflow-x:auto; margin-top:22px; }
.pa-universities table { width:100%; min-width:520px; font-size:14px; }
.pa-universities th,.pa-universities td { padding:14px 12px; text-align:left; }
.pa-private-note { align-self:center; color:var(--mut); font-size:14px; }
.pa-clicks { margin-bottom:24px; }
.pa-click-table { width:100%; min-width:590px; border-collapse:collapse; font-size:14px; }
.pa-click-table th,.pa-click-table td { padding:14px 10px; border-bottom:1px solid var(--line); text-align:left; overflow-wrap:anywhere; }
.pa-click-table thead th { font-size:12px; color:var(--mut); }
.pa-click-table tbody th { width:32%; font-weight:500; }
.pa-click-table td { width:17%; font-variant-numeric:tabular-nums; }
.pa-click-meter { display:block; margin-top:8px; height:5px; background:var(--line-soft); border-radius:5px; }
.pa-click-meter::before { content:''; display:block; width:var(--share); height:100%; background:var(--brand); border-radius:5px; }

@media(max-width:700px) {
  .pa-click-table { min-width:0; }
  .pa-click-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .pa-click-table tbody { display:block; }
  .pa-click-table tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px 0; border-bottom:1px solid var(--line); }
  .pa-click-table tbody th { grid-column:1 / -1; width:auto; font-weight:600; }
  .pa-click-table tbody th,.pa-click-table td { display:block; width:auto; border:0; padding:8px 6px; }
  .pa-click-table td::before { content:attr(data-label); display:block; font-size:11px; color:var(--mut); margin-bottom:6px; }
}
