/* Public observation: a compact introduction followed by counts and evidence. */
body.observation-page { --observation-teal:var(--teal); --observation-ink:var(--ink); --observation-muted:var(--muted); }
.observation-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.observation-page .section.compact { padding:24px 0 10px; }
.observation-page .observation-filters { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.observation-page .observation-main-controls { display:contents; }
.observation-page .observation-main-controls label { display:block; position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.observation-page .observation-main-controls label[for=analysisProvince] { position:static; width:auto; height:auto; clip:auto; font-size:0; }
.observation-page .observation-main-controls input,.observation-page .observation-main-controls select { font-size:16px; line-height:1.4; min-height:48px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; color:var(--observation-ink); padding:8px 12px; }
.observation-page #analysisProvince,.observation-page #analysisPeriod { width:180px; }
.observation-page .observation-range { font-size:16px; white-space:nowrap; }
.observation-page .observation-report { margin-left:auto; display:inline-flex; align-items:center; justify-content:center; gap:12px; color:var(--teal); background:#fff; border:1px solid var(--teal); border-radius:var(--radius-sm); padding:7px 18px; min-height:48px; white-space:nowrap; font-size:16px; font-weight:650; text-decoration:none; }
.observation-page .observation-report[aria-disabled=true] { opacity:.5; cursor:default; }
.observation-page .observation-advanced { margin:0; border:0; padding:0; }
.observation-page .observation-advanced[open] { flex:1 0 100%; }
.observation-page .observation-advanced>summary { display:inline-block; color:var(--teal); cursor:pointer; font-size:16px; padding:3px 0; list-style:revert; }
.observation-page .observation-advanced-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:16px 0; }
.observation-page .observation-advanced-grid label { display:block; font-size:15px; }
.observation-page .observation-advanced-grid input,.observation-page .observation-advanced-grid select { width:100%; min-width:0; margin-top:5px; min-height:44px; padding:7px 10px; border:1px solid var(--line); border-radius:10px; background:white; font:inherit; }
.observation-page #analysisTags:empty { display:none; }
.observation-page #analysisTags { margin-top:10px; }
.observation-page .observation-region-status { color:var(--observation-muted); font-size:14px; }
.observation-page #analysisStatus { font-size:15px; color:var(--observation-muted); }
.observation-page #analysisStatus p { margin:4px 0; }
.observation-page .observation-content { padding-top:22px; padding-bottom:28px; }
.observation-page .observation-content[hidden] { display:none; }
.observation-page .observation-narrative { font-size:26px; font-weight:650; margin:0 0 4px; line-height:1.5; }
.observation-page .observation-narrative strong { color:var(--observation-teal); font-size:1.15em; }
.observation-page .observation-context { margin:0; color:var(--observation-muted); font-size:18px; }
.observation-page .observation-other { color:var(--observation-muted); font-size:14px; margin:0 0 12px; }
.observation-page .observation-outcomes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; padding:0; margin:18px 0 20px; }
.observation-page .observation-outcomes li { border:1px solid var(--line); border-radius:var(--radius); padding:18px 22px; background:var(--surface); display:flex; flex-direction:column; gap:6px; }
.observation-page .observation-outcomes li>span { font-size:16px; color:var(--muted); }
.observation-page .observation-outcomes strong { font-size:40px; line-height:1.2; color:var(--observation-teal); font-variant-numeric:tabular-nums; }
.observation-page .observation-outcomes a { color:inherit; text-decoration:none; }
.observation-page .outcome-unqualified strong,.observation-page strong.outcome-unqualified { color:var(--red); }
.observation-page .outcome-unknown strong,.observation-page .outcome-other strong { color:#708092; }
.observation-page .observation-charts { display:grid; grid-template-columns:3fr 2fr; gap:20px; }
.observation-page .observation-charts > * { min-width:0; }
.observation-page .observation-charts > :is(article,section) { padding:22px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.observation-page .observation-charts h2 { font-size:21px; line-height:1.4; margin:0 0 4px; }
.observation-page .observation-charts p { margin:0 0 12px; }
.observation-page .observation-charts .muted { color:var(--observation-muted); font-size:16px; }
.observation-page .observation-month-scroll { max-width:100%; overflow-x:auto; }
.observation-page .observation-months { list-style:none; padding:0; margin:18px 0 0; display:flex; gap:10px; min-width:550px; height:238px; }
.observation-page .observation-months>li { flex:1; min-width:0; text-align:center; position:relative; }
.observation-page .month-column { height:178px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; border-bottom:1px solid #b9cbd1; background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#eaf0f2 44px,#eaf0f2 45px); }
.observation-page .month-column strong { font-size:13px; line-height:20px; z-index:1; }
.observation-page .month-bar { display:block; background:var(--teal); width:82%; max-width:44px; min-height:0; border-radius:3px 3px 0 0; flex-shrink:1; }
.observation-page .month-label { display:block; padding-top:6px; font-size:14px; line-height:1.4; }
.observation-page .month-label a { text-decoration:none; color:var(--observation-ink); }
.observation-page .month-label small { display:block; font-size:12px; color:var(--observation-muted); }
.observation-page .observation-bars { list-style:none; padding:0; margin:16px 0; display:grid; gap:18px; }
.observation-page .observation-bars li { display:grid; grid-template-columns:88px minmax(40px,1fr) 85px; align-items:center; gap:12px; font-size:17px; }
.observation-page .observation-bars a { color:inherit; text-decoration:none; }
.observation-page .observation-bars strong { text-align:right; font-size:17px; white-space:nowrap; }
.observation-page .observation-track { display:block; height:16px; background:#e8eef0; border-radius:4px; overflow:hidden; }
.observation-page .observation-track>span { display:block; height:100%; background:var(--observation-teal); border-radius:4px; }
.observation-page .outcome-unqualified .observation-track>span { background:var(--red); }
.observation-page .outcome-unknown .observation-track>span,.observation-page .outcome-other .observation-track>span { background:#98a6b4; }
.observation-page .observation-ratio { background:var(--surface-2); padding:12px 16px; border-radius:var(--radius-sm); font-size:16px; }
.observation-page .observation-ratio>strong { color:var(--red); font-size:23px; white-space:nowrap; }
.observation-page .observation-ratio small { display:block; color:var(--observation-muted); font-size:14px; margin-top:3px; }
.observation-page .observation-categories { grid-column:1/-1; }
.observation-page .observation-category-heading { display:flex; align-items:center; gap:24px; }
.observation-page .observation-category-heading h2 { flex:1; }
.observation-page .observation-category-heading>a { font-size:16px; color:var(--teal); white-space:nowrap; }
.observation-page .observation-category-bars { list-style:none; display:grid; grid-template-columns:1fr 1fr; grid-auto-flow:column; grid-template-rows:repeat(2,auto); gap:10px 60px; padding:0; margin:12px 0 0; }
.observation-page .observation-category-bars li { display:grid; grid-template-columns:120px 1fr 52px; align-items:center; gap:10px; font-size:16px; }
.observation-page .observation-category-bars a { color:inherit; text-decoration:none; }
.observation-page .observation-category-bars .observation-track { height:11px; }
.observation-page .observation-disclosure { border:0; border-top:1px solid #d3e0e3; border-radius:0; padding:12px 0; margin:0; background:transparent; }
.observation-page .observation-disclosure>summary { cursor:pointer; color:#007f83; font-weight:550; font-size:16px; }
.observation-page .observation-disclosure[open]>summary { margin-bottom:14px; }
.observation-page .observation-chart-details { grid-column:1/-1; }
.observation-page .observation-summary-list { padding-left:24px; margin:12px 0; }
.observation-page .observation-summary-list li { padding:7px 0; }
.observation-page .observation-summary-list a { color:inherit; }
.observation-page .observation-summary-list strong { float:right; padding-left:12px; font-variant-numeric:tabular-nums; }
.observation-page .observation-methodology { grid-column:1/-1; border-top:1px solid #d3e0e3; padding-top:16px; }
.observation-detail .observation-intro nav { margin-bottom:12px; }
.observation-detail #analysisGroups,.observation-detail #analysisComparison,.observation-detail #analysisCoverage { margin:24px 0; }
.observation-detail #analysisCharts>article,.observation-detail :is(#analysisGroups,#analysisComparison,#analysisCoverage):not(:empty) { padding:22px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.observation-detail #analysisCharts h2 { font-size:21px; line-height:1.4; }
.observation-detail .analysis-version { overflow-wrap:anywhere; }
.observation-page a:hover { text-decoration:underline; }
.observation-page :focus-visible { outline:3px solid #008f91; outline-offset:3px; }
@media (max-width:1000px) {
  .observation-page .observation-filters { display:flex; flex-wrap:wrap; }
  .observation-page .observation-main-controls { display:flex; align-items:center; flex:1 1 100%; flex-wrap:wrap; gap:12px; }
  .observation-page .observation-advanced { flex:1 1 100%; }
  .observation-page .observation-main-controls .observation-report { margin-left:0; }
  .observation-page .observation-advanced-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .observation-page .observation-charts { grid-template-columns:1fr; }
  .observation-page .observation-category-heading { flex-wrap:wrap; gap:8px 20px; }
  .observation-page .observation-category-heading h2 { flex-basis:100%; }
}
@media (max-width:600px) {
  .observation-page .observation-subtitle { font-size:18px; }
  .observation-page .observation-range { order:3; flex-basis:100%; font-size:16px; }
  .observation-page #analysisPeriod,.observation-page #analysisProvince { width:100%; font-size:16px; }
  .observation-page .observation-main-controls>div,.observation-page .observation-main-controls>label { flex:1 1 40%; }
  .observation-page .observation-advanced-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .observation-page .observation-narrative { font-size:21px; }
  .observation-page .observation-context { font-size:16px; }
  .observation-page .observation-outcomes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .observation-page .observation-outcomes li { padding:16px; }
  .observation-page .observation-outcomes li>span { font-size:14px; }
  .observation-page .observation-outcomes strong { font-size:27px; }
  .observation-page .observation-category-bars { display:flex; flex-direction:column; gap:12px; }
  .observation-page .observation-category-bars li { grid-template-columns:106px 1fr 42px; }
}
