.pm-shell,
.pm-map-page {
	--pm-border: #d9dee3;
	--pm-ink: #15212d;
	--pm-muted: #5f6b77;
	--pm-soft: #f6f8fa;
	--pm-good: #0f766e;
	--pm-moderate: #a16207;
	--pm-elevated: #b45309;
	--pm-high: #b91c1c;
	--pm-very-high: #7f1d1d;
	color: var(--pm-ink);
}

.pm-ecdc-dashboard {
	padding-bottom: 28px;
}

.pm-ecdc-controls {
	align-items: center;
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(170, 184, 199, 0.42);
	border-radius: 8px;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 18px;
	padding: 14px 16px;
}

.pm-ecdc-controls form {
	align-items: center;
	display: flex;
	gap: 10px;
	margin: 0;
}

.pm-ecdc-controls label {
	color: var(--pm-muted);
	font-size: 0.86rem;
	font-weight: 700;
}

.pm-ecdc-controls select {
	background: #fff;
	border: 1px solid rgba(170, 184, 199, 0.72);
	border-radius: 8px;
	color: var(--pm-ink);
	font: inherit;
	min-height: 40px;
	min-width: 220px;
	padding: 0 34px 0 12px;
}

.pm-ecdc-country-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pm-ecdc-country-links a {
	background: #fff;
	border: 1px solid rgba(170, 184, 199, 0.58);
	border-radius: 999px;
	color: var(--pm-ink);
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1;
	padding: 10px 13px;
	text-decoration: none;
}

.pm-ecdc-country-links a.is-current {
	background: #0f8fa3;
	border-color: #0f8fa3;
	color: #fff;
}

.pm-ecdc-warning {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 8px;
	color: #7c2d12;
	margin-bottom: 18px;
	padding: 16px 18px;
}

.pm-ecdc-warning h2 {
	font-size: 1rem;
	margin-bottom: 6px;
}

.pm-ecdc-warning p {
	margin: 0;
}

.pm-ecdc-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pm-ecdc-chart-card {
	min-width: 0;
}

.pm-ecdc-chart {
	margin-top: 16px;
}

.pm-ecdc-chart svg {
	background: linear-gradient(180deg, rgba(245, 250, 252, 0.72), rgba(255, 255, 255, 0));
	border: 1px solid rgba(170, 184, 199, 0.28);
	border-radius: 8px;
	display: block;
	height: auto;
	width: 100%;
}

.pm-ecdc-chart line {
	stroke: rgba(100, 116, 139, 0.42);
	stroke-width: 1;
}

.pm-ecdc-chart polyline {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 3;
}

.pm-ecdc-chart text {
	fill: var(--pm-muted);
	font-size: 12px;
}

.pm-ecdc-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 10px;
}

.pm-ecdc-legend span {
	align-items: center;
	color: var(--pm-muted);
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 700;
	gap: 7px;
}

.pm-ecdc-legend i {
	border-radius: 999px;
	display: inline-block;
	height: 9px;
	width: 9px;
}

.pm-ecdc-compare {
	grid-column: 1 / -1;
	overflow-x: auto;
}

.pm-ecdc-table {
	min-width: 720px;
}

.pm-ecdc-source-grid {
	grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.7fr);
}

@media (max-width: 760px) {
	.pm-ecdc-controls {
		align-items: stretch;
		flex-direction: column;
	}

	.pm-ecdc-controls form {
		align-items: stretch;
		flex-direction: column;
	}

	.pm-ecdc-controls select {
		min-width: 0;
		width: 100%;
	}

	.pm-ecdc-grid,
	.pm-ecdc-source-grid {
		grid-template-columns: 1fr;
	}
}

.pm-shell,
.pm-map-page,
.pm-map-shell,
.pm-archive-notice,
.pm-archive-placeholder,
.pm-legacy-data {
	box-sizing: border-box;
	margin-left: calc(50% - min(590px, calc(50vw - 16px)));
	margin-right: auto;
	max-width: none;
	width: min(1180px, calc(100vw - 32px));
}

.pm-shell :where(h1, h2, h3, p) {
	margin-top: 0;
}

.pm-hero {
	align-items: stretch;
	background: #f6f8fa;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	display: grid;
	gap: clamp(24px, 4vw, 48px);
	grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
	margin-bottom: 24px;
	padding: clamp(24px, 5vw, 56px);
}

.pm-hero h1 {
	font-size: clamp(2.1rem, 5vw, 4.25rem);
	line-height: 0.98;
	margin-bottom: 18px;
	max-width: 980px;
}

.pm-hero p {
	color: var(--pm-muted);
	font-size: 1.05rem;
	line-height: 1.6;
	max-width: 760px;
}

.pm-kicker {
	color: #0f766e !important;
	font-size: 0.78rem !important;
	font-weight: 700;
	letter-spacing: 0;
	margin-bottom: 10px !important;
	text-transform: uppercase;
}

.pm-hero__status {
	align-self: end;
	background: #fff;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	display: flex;
	gap: 10px;
	line-height: 1.45;
	padding: 16px;
}

.pm-live-dot {
	background: #16a34a;
	border-radius: 999px;
	box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.14);
	display: inline-block;
	flex: 0 0 auto;
	height: 10px;
	margin-top: 6px;
	width: 10px;
}

.pm-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 24px;
}

.pm-card,
.pm-panel {
	background: #fff;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}

.pm-card {
	display: flex;
	flex-direction: column;
	min-height: 184px;
	padding: 18px;
}

.pm-card__top {
	align-items: flex-start;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin-bottom: 18px;
}

.pm-card h2 {
	font-size: 1.05rem;
	line-height: 1.25;
	margin-bottom: 0;
}

.pm-card p {
	color: var(--pm-ink);
	font-size: 0.96rem;
	line-height: 1.55;
	margin-bottom: auto;
}

.pm-card footer {
	color: var(--pm-muted);
	font-size: 0.82rem;
	margin-top: 18px;
}

.pm-pill {
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1.2;
	max-width: 150px;
	padding: 7px 9px;
	text-align: center;
	white-space: normal;
}

.pm-tone-good .pm-pill,
.pm-meter__bar.pm-tone-good {
	background: rgba(15, 118, 110, 0.13);
	color: var(--pm-good);
}

.pm-tone-moderate .pm-pill,
.pm-meter__bar.pm-tone-moderate {
	background: rgba(161, 98, 7, 0.13);
	color: var(--pm-moderate);
}

.pm-tone-elevated .pm-pill,
.pm-meter__bar.pm-tone-elevated {
	background: rgba(180, 83, 9, 0.13);
	color: var(--pm-elevated);
}

.pm-tone-high .pm-pill,
.pm-meter__bar.pm-tone-high {
	background: rgba(185, 28, 28, 0.13);
	color: var(--pm-high);
}

.pm-tone-very-high .pm-pill,
.pm-meter__bar.pm-tone-very-high {
	background: rgba(127, 29, 29, 0.14);
	color: var(--pm-very-high);
}

.pm-tone-neutral .pm-pill,
.pm-meter__bar.pm-tone-neutral {
	background: #eef2f6;
	color: #475569;
}

.pm-layout {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
	margin-bottom: 24px;
}

.pm-panel {
	padding: clamp(18px, 3vw, 28px);
}

.pm-panel--wide {
	min-height: 360px;
}

.pm-section-heading {
	border-bottom: 1px solid var(--pm-border);
	margin-bottom: 20px;
	padding-bottom: 16px;
}

.pm-section-heading h2 {
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	line-height: 1.15;
	margin: 0;
}

.pm-meter-list {
	display: grid;
	gap: 18px;
}

.pm-meter__label {
	align-items: baseline;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 8px;
}

.pm-meter__label span {
	color: var(--pm-muted);
}

.pm-meter__label strong {
	font-size: 1rem;
}

.pm-meter__track {
	background: #edf1f5;
	border-radius: 999px;
	height: 12px;
	overflow: hidden;
}

.pm-meter__bar {
	border-radius: inherit;
	display: block;
	height: 100%;
}

.pm-meter__bar.pm-tone-good {
	background: var(--pm-good);
}

.pm-meter__bar.pm-tone-moderate {
	background: #d97706;
}

.pm-meter__bar.pm-tone-elevated {
	background: var(--pm-elevated);
}

.pm-meter__bar.pm-tone-high {
	background: var(--pm-high);
}

.pm-meter__bar.pm-tone-very-high {
	background: var(--pm-very-high);
}

.pm-meter__bar.pm-tone-neutral {
	background: #94a3b8;
}

.pm-source-list,
.pm-news-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pm-source-list li {
	align-items: center;
	border-bottom: 1px solid var(--pm-border);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 13px 0;
}

.pm-source-list li:first-child {
	padding-top: 0;
}

.pm-source-list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.pm-source-list span {
	color: var(--pm-muted);
}

.pm-source-list strong {
	font-size: 0.92rem;
	text-align: right;
}

.pm-news-list li {
	border-bottom: 1px solid var(--pm-border);
	display: grid;
	gap: 6px;
	padding: 14px 0;
}

.pm-news-list li:first-child {
	padding-top: 0;
}

.pm-news-list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.pm-news-list a {
	font-weight: 700;
	text-decoration-thickness: 1px;
}

.pm-news-list span,
.pm-muted {
	color: var(--pm-muted);
}

.pm-home-dashboard {
	margin-left: calc(50% - min(660px, calc(50vw - 20px)));
	max-width: none !important;
	padding-bottom: 28px;
	width: min(1320px, calc(100vw - 40px));
}

body:has(.pm-home-dashboard) .wp-block-post-content,
.wp-block-post-content:has(.pm-home-dashboard) {
	max-width: none !important;
	width: 100% !important;
}

body:has(.pm-home-dashboard) .wp-block-post-content > *,
.wp-block-post-content:has(.pm-home-dashboard) > * {
	max-width: none !important;
}

.pm-home-dashboard > .alignwide {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body:has(.pm-home-dashboard) .wp-block-post-title {
	display: none;
}

.pm-home-hero {
	margin-bottom: 18px;
	padding-top: 0;
}

.pm-home-topline,
.pm-home-watch-grid,
.pm-home-mini-grid,
.pm-home-wastewater-grid,
.pm-home-map-grid {
	display: grid;
	gap: 12px;
}

.pm-home-topline {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 16px;
}

.pm-home-stat,
.pm-home-watch,
.pm-home-panel,
.pm-home-metric-tile,
.pm-home-wastewater-item,
.pm-home-map-link {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(28, 45, 74, 0.05);
}

.pm-home-stat,
.pm-home-watch-item,
.pm-home-metric-tile,
.pm-home-map-link {
	color: #0b1635;
	text-decoration: none;
}

.pm-home-stat {
	display: grid;
	gap: 8px;
	min-height: 156px;
	padding: 16px;
}

.pm-home-stat__icon {
	align-items: center;
	background: #e8f8fa;
	border-radius: 999px;
	color: #0a8fa0;
	display: inline-flex;
	font-size: 22px;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.pm-home-stat__icon::before {
	font-size: 22px;
	height: 22px;
	line-height: 1;
	width: 22px;
}

.pm-home-stat > span:not(.pm-home-stat__icon),
.pm-home-metric-tile span,
.pm-home-wastewater-item span {
	color: #667384;
	font-size: 0.82rem;
	font-weight: 900;
	text-transform: uppercase;
}

.pm-home-stat strong {
	font-size: clamp(1.25rem, 2.2vw, 1.72rem);
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.pm-home-stat small,
.pm-home-metric-tile small,
.pm-home-wastewater-item small,
.pm-home-map-link small {
	color: #667384;
	font-size: 0.84rem;
	line-height: 1.35;
}

.pm-home-watch {
	margin-bottom: 16px;
	padding: clamp(18px, 3vw, 24px);
}

.pm-home-watch .pm-section-heading {
	margin-bottom: 16px;
}

.pm-home-watch-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-home-watch-item {
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 10px;
	display: grid;
	gap: 12px;
	min-height: 116px;
	padding: 16px;
}

.pm-home-watch-item strong {
	font-size: 0.95rem;
	line-height: 1.4;
}

.pm-home-main {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
}

.pm-home-main__primary,
.pm-home-main__side {
	display: grid;
	gap: 16px;
	min-width: 0;
}

.pm-home-main__side {
	align-content: start;
}

.pm-home-panel {
	padding: clamp(18px, 3vw, 24px);
}

.pm-home-panel .pm-section-heading {
	margin-bottom: 16px;
}

.pm-home-mini-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 14px;
}

.pm-home-metric-tile {
	display: grid;
	gap: 8px;
	min-height: 116px;
	padding: 14px;
}

.pm-home-metric-tile strong {
	color: #0b1635;
	font-size: 1.55rem;
	line-height: 1;
}

.pm-home-wastewater-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-home-wastewater-item {
	display: grid;
	gap: 8px;
	min-height: 132px;
	padding: 14px;
}

.pm-home-wastewater-item strong {
	color: #0b7f90;
	font-size: 1.08rem;
	line-height: 1.25;
}

.pm-home-map-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pm-home-map-link {
	display: grid;
	gap: 10px;
	min-height: 142px;
	padding: 14px;
}

.pm-home-map-link strong {
	font-size: 1.05rem;
	line-height: 1.2;
}

.pm-home-notice {
	background: #fffbeb;
	border-color: #fde68a;
}

.pm-home-notice h2 {
	font-size: 1.05rem;
	margin-bottom: 8px;
}

.pm-home-notice p {
	color: #5f4b16;
	line-height: 1.5;
	margin: 0;
}

.pm-map-page {
	margin-bottom: 18px;
}

body:has(.pm-map-page) .wp-block-post-title {
	display: none;
}

body:has(.pm-nngyk-dashboard) .wp-block-post-title {
	display: none;
}

body:has(.pm-nngyk-metric-page) .wp-block-post-title {
	display: none;
}

body:has(.pm-who-page) .wp-block-post-title {
	display: none;
}

body:has(.pm-ecdc-dashboard) .wp-block-post-title {
	display: none;
}

body:has(.pm-who-flu-dashboard) .wp-block-post-title {
	display: none;
}

body:has(.pm-map-page) .wp-block-post-content {
	margin-block-start: 0;
	padding-top: 0;
}

body:has(.pm-nngyk-dashboard) .wp-block-post-content {
	margin-block-start: 0;
	padding-top: 0;
}

body:has(.pm-nngyk-metric-page) .wp-block-post-content {
	margin-block-start: 0;
	padding-top: 0;
}

body:has(.pm-who-page) .wp-block-post-content {
	margin-block-start: 0;
	padding-top: 0;
}

body:has(.pm-ecdc-dashboard) .wp-block-post-content {
	margin-block-start: 0;
	padding-top: 0;
}

body:has(.pm-who-flu-dashboard) .wp-block-post-content {
	margin-block-start: 0;
	padding-top: 0;
}

body:has(.pm-map-page) #wp--skip-link--target {
	margin-top: 0 !important;
}

body:has(.pm-nngyk-dashboard) #wp--skip-link--target {
	margin-top: 0 !important;
}

body:has(.pm-nngyk-metric-page) #wp--skip-link--target {
	margin-top: 0 !important;
}

body:has(.pm-who-page) #wp--skip-link--target {
	margin-top: 0 !important;
}

body:has(.pm-ecdc-dashboard) #wp--skip-link--target {
	margin-top: 0 !important;
}

body:has(.pm-who-flu-dashboard) #wp--skip-link--target {
	margin-top: 0 !important;
}

body:has(.pm-map-page) #wp--skip-link--target > .wp-block-group.alignfull {
	padding-top: 0 !important;
}

body:has(.pm-nngyk-dashboard) #wp--skip-link--target > .wp-block-group.alignfull {
	padding-top: 0 !important;
}

body:has(.pm-nngyk-metric-page) #wp--skip-link--target > .wp-block-group.alignfull {
	padding-top: 0 !important;
}

body:has(.pm-who-page) #wp--skip-link--target > .wp-block-group.alignfull {
	padding-top: 0 !important;
}

body:has(.pm-ecdc-dashboard) #wp--skip-link--target > .wp-block-group.alignfull {
	padding-top: 0 !important;
}

body:has(.pm-who-flu-dashboard) #wp--skip-link--target > .wp-block-group.alignfull {
	padding-top: 0 !important;
}

.wp-site-blocks > main:has(.pm-map-page),
.wp-site-blocks > .wp-block-group:has(.pm-map-page),
.wp-site-blocks > main:has(.pm-nngyk-dashboard),
.wp-site-blocks > .wp-block-group:has(.pm-nngyk-dashboard),
.wp-site-blocks > main:has(.pm-nngyk-metric-page),
.wp-site-blocks > .wp-block-group:has(.pm-nngyk-metric-page),
.wp-site-blocks > main:has(.pm-who-page),
.wp-site-blocks > .wp-block-group:has(.pm-who-page),
.wp-site-blocks > main:has(.pm-ecdc-dashboard),
.wp-site-blocks > .wp-block-group:has(.pm-ecdc-dashboard),
.wp-site-blocks > main:has(.pm-who-flu-dashboard),
.wp-site-blocks > .wp-block-group:has(.pm-who-flu-dashboard) {
	margin-block-start: 0;
	padding-top: 0;
}

.pm-map-page .pm-map-shell {
	margin-left: 0;
	width: 100%;
}

.pm-map-hero {
	margin-bottom: 18px;
	padding-top: 0;
}

.pm-map-hero h1 {
	color: #0b1635;
	font-size: clamp(2.45rem, 5.2vw, 4.65rem);
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0 0 12px;
	max-width: 900px;
}

.pm-map-hero p:not(.pm-kicker) {
	color: #344256;
	font-size: 1.05rem;
	line-height: 1.55;
	margin: 0;
	max-width: 840px;
}

.pm-nngyk-trends {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pm-nngyk-trends article {
	background: #f6f8fa;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	display: grid;
	gap: 8px;
	padding: 16px;
}

.pm-nngyk-trends h3 {
	font-size: 1rem;
	line-height: 1.25;
	margin: 0;
}

.pm-nngyk-trends strong {
	color: #0f766e;
	font-size: 1.05rem;
}

.pm-nngyk-trends p {
	color: var(--pm-muted);
	font-size: 0.92rem;
	line-height: 1.5;
	margin: 0;
}

.pm-nngyk-dashboard {
	margin-left: calc(50% - min(640px, calc(50vw - 16px))) !important;
	margin-right: auto !important;
	max-width: none !important;
	padding-top: clamp(18px, 2.4vw, 34px);
	width: min(1280px, calc(100vw - 32px)) !important;
}

.pm-nngyk-dashboard .alignwide {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
}

.pm-nngyk-metric-page {
	margin-left: calc(50% - min(640px, calc(50vw - 50px))) !important;
	margin-right: auto !important;
	max-width: none !important;
	padding-top: clamp(26px, 3.4vw, 48px);
	width: min(1280px, calc(100vw - 100px)) !important;
}

.pm-breadcrumbs {
	align-items: center;
	color: #5f6b77;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.86rem;
	font-weight: 800;
	gap: 9px;
	margin-bottom: clamp(30px, 4.2vw, 58px);
}

.pm-breadcrumbs a {
	color: #007f90;
	text-decoration: none;
}

.pm-breadcrumbs strong {
	color: #344256;
}

.pm-metric-hero {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) 220px;
	margin-bottom: 26px;
}

.pm-metric-hero h1 {
	color: #0b1635;
	font-size: clamp(2.35rem, 4.8vw, 4.25rem);
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 14px;
	max-width: 820px;
	overflow-wrap: anywhere;
}

.pm-metric-hero p:not(.pm-kicker) {
	color: #344256;
	font-size: 1.05rem;
	line-height: 1.62;
	margin: 0;
	max-width: 760px;
	overflow-wrap: anywhere;
}

.pm-metric-hero__copy {
	min-width: 0;
}

.pm-metric-hero__icon {
	align-items: center;
	background: radial-gradient(circle, rgba(10, 143, 160, 0.16), rgba(10, 143, 160, 0.06));
	border-radius: 999px;
	color: #0a8fa0;
	display: flex;
	height: 168px;
	justify-content: center;
	justify-self: center;
	width: 168px;
}

.pm-metric-hero__icon .dashicons {
	font-size: 78px;
	height: 78px;
	line-height: 1;
	width: 78px;
}

.pm-metric-layout {
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
}

.pm-metric-main,
.pm-metric-sidebar {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.pm-metric-sidebar {
	align-content: start;
}

.pm-metric-current,
.pm-metric-card,
.pm-metric-stat-row article,
.pm-metric-info-band {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(28, 45, 74, 0.055);
}

.pm-metric-current {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.78fr);
	min-height: 250px;
	padding: 30px;
}

.pm-metric-current__value {
	border-right: 1px solid rgba(170, 184, 199, 0.48);
	display: grid;
	gap: 9px;
	padding-right: 30px;
}

.pm-metric-current__value > span,
.pm-metric-current__trend > span,
.pm-metric-stat-row small {
	color: #5f6b77;
	font-size: 0.88rem;
	font-weight: 850;
}

.pm-metric-current__value strong {
	color: #0b1635;
	font-size: clamp(3.2rem, 6vw, 5.1rem);
	letter-spacing: 0;
	line-height: 0.92;
}

.pm-metric-current__value small {
	color: #263245;
	font-size: 1.02rem;
	font-weight: 850;
}

.pm-metric-current__value em {
	align-items: center;
	background: #f1f7f8;
	border-radius: 999px;
	color: #263245;
	display: inline-flex;
	font-size: 0.86rem;
	font-style: normal;
	font-weight: 850;
	justify-self: start;
	padding: 8px 12px;
}

.pm-metric-change {
	align-items: center;
	display: flex;
	font-size: 0.92rem;
	font-weight: 900;
	gap: 8px;
	margin: 10px 0 0;
}

.pm-metric-change .dashicons {
	align-items: center;
	background: #dcfce7;
	border-radius: 999px;
	display: inline-flex;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.pm-tone-good,
.pm-tone-good .dashicons {
	color: #0f766e;
}

.pm-tone-moderate,
.pm-tone-moderate .dashicons {
	color: #d97706;
}

.pm-tone-neutral,
.pm-tone-neutral .dashicons {
	color: #64748b;
}

.pm-metric-current__trend {
	display: grid;
	gap: 7px;
	padding-left: 30px;
}

.pm-metric-current__trend > strong {
	font-size: 1.08rem;
	line-height: 1.2;
}

.pm-metric-current__trend > small {
	color: #667384;
	font-size: 0.84rem;
}

.pm-metric-current__trend ul {
	border-top: 1px solid rgba(170, 184, 199, 0.48);
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 22px 0 0;
	padding: 20px 0 0;
}

.pm-metric-current__trend li {
	display: grid;
	gap: 5px;
}

.pm-metric-current__trend li span {
	color: #667384;
	font-size: 0.86rem;
}

.pm-metric-current__trend li strong {
	color: #0b1635;
	font-size: 0.94rem;
}

.pm-metric-stat-row {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pm-metric-stat-row article {
	display: grid;
	gap: 7px;
	min-height: 118px;
	padding: 16px;
}

.pm-metric-stat-row .dashicons {
	align-items: center;
	background: #e8f8fa;
	border-radius: 999px;
	color: #0a8fa0;
	display: inline-flex;
	font-size: 19px;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.pm-metric-stat-row strong {
	color: #0b1635;
	font-size: 1.24rem;
	line-height: 1.05;
}

.pm-metric-stat-row em {
	color: #667384;
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 800;
}

.pm-metric-card {
	padding: 22px;
}

.pm-metric-card h2,
.pm-metric-info-band h2 {
	color: #0b1635;
	font-size: 1.05rem;
	line-height: 1.25;
	margin: 0 0 8px;
}

.pm-metric-card p,
.pm-metric-info-band p {
	color: #344256;
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0 0 14px;
}

.pm-metric-card__head {
	align-items: start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 8px;
}

.pm-metric-card__head span {
	background: #fff;
	border: 1px solid rgba(170, 184, 199, 0.72);
	border-radius: 8px;
	color: #263245;
	font-size: 0.9rem;
	font-weight: 900;
	padding: 8px 12px;
	white-space: nowrap;
}

.pm-metric-card--chart .pm-nngyk-chart {
	gap: 8px;
}

.pm-metric-card--chart .pm-nngyk-chart svg {
	background: transparent;
	border: 0;
}

.pm-metric-card--chart .pm-nngyk-recent {
	display: none;
}

.pm-metric-lower-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.pm-metric-table {
	border-collapse: collapse;
	font-size: 0.9rem;
	width: 100%;
}

.pm-metric-table th,
.pm-metric-table td {
	border-bottom: 1px solid rgba(170, 184, 199, 0.42);
	padding: 12px 8px;
	text-align: left;
}

.pm-metric-table th {
	color: #334155;
	font-size: 0.78rem;
	font-weight: 900;
}

.pm-metric-table td {
	color: #0b1635;
	font-weight: 800;
}

.pm-metric-explain {
	display: grid;
	gap: 16px;
}

.pm-metric-explain p {
	display: grid;
	gap: 5px 12px;
	grid-template-columns: 38px minmax(0, 1fr);
	margin: 0;
}

.pm-metric-explain .dashicons {
	align-items: center;
	background: #e8f8fa;
	border-radius: 999px;
	color: #0a8fa0;
	display: inline-flex;
	font-size: 18px;
	grid-row: span 2;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.pm-metric-explain strong {
	color: #0b1635;
}

.pm-metric-info-band {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	overflow: hidden;
	padding: 0;
}

.pm-metric-info-band article {
	padding: 22px;
}

.pm-metric-info-band article + article {
	border-left: 1px solid rgba(170, 184, 199, 0.42);
}

.pm-metric-info-band a {
	color: #007f90;
	font-size: 0.9rem;
	font-weight: 900;
	text-decoration: none;
}

.pm-metric-prevnext {
	display: grid;
	gap: 10px;
}

.pm-metric-prevnext a {
	align-items: center;
	color: #263245;
	display: flex;
	font-weight: 850;
	justify-content: space-between;
	text-decoration: none;
}

.pm-report-related--icons a {
	display: grid;
	gap: 1px 12px;
	grid-template-columns: 34px minmax(0, 1fr);
}

.pm-report-related--icons .dashicons {
	align-items: center;
	background: #e8f8fa;
	border-radius: 999px;
	color: #0a8fa0;
	display: inline-flex;
	font-size: 17px;
	grid-row: span 2;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.pm-report-related--icons strong {
	color: #007f90;
	font-size: 0.9rem;
	line-height: 1.25;
}

.pm-report-related--icons small {
	color: #667384;
	font-size: 0.76rem;
	line-height: 1.25;
}

.pm-metric-warning {
	background: #fffbeb;
	border-color: #fde68a;
}

.pm-who-page {
	margin-left: calc(50% - min(640px, calc(50vw - 50px))) !important;
	margin-right: auto !important;
	max-width: none !important;
	padding-top: clamp(26px, 3.4vw, 48px);
	width: min(1280px, calc(100vw - 100px)) !important;
}

.pm-who-hero {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) 220px;
	margin-bottom: 22px;
}

.pm-who-hero h1 {
	color: #0b1635;
	font-size: clamp(2.35rem, 4.8vw, 4.25rem);
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 14px;
	overflow-wrap: anywhere;
}

.pm-who-hero p:not(.pm-kicker) {
	color: #344256;
	font-size: 1.05rem;
	line-height: 1.62;
	margin: 0;
	max-width: 860px;
}

.pm-who-hero__badge,
.pm-who-stat-row article,
.pm-who-card {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(28, 45, 74, 0.055);
}

.pm-who-hero__badge {
	align-items: center;
	display: grid;
	gap: 7px;
	justify-items: center;
	min-height: 150px;
	padding: 24px;
	text-align: center;
}

.pm-who-hero__badge .dashicons {
	align-items: center;
	background: #e8f8fa;
	border-radius: 999px;
	color: #0a8fa0;
	display: inline-flex;
	font-size: 28px;
	height: 54px;
	justify-content: center;
	width: 54px;
}

.pm-who-hero__badge strong {
	color: #0b1635;
	font-size: 2.15rem;
	line-height: 1;
}

.pm-who-hero__badge small {
	color: #667384;
	font-weight: 850;
}

.pm-who-stat-row {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 22px;
}

.pm-who-stat-row article {
	display: grid;
	gap: 7px;
	min-height: 112px;
	padding: 16px;
}

.pm-who-stat-row .dashicons {
	align-items: center;
	background: #eff8ff;
	border-radius: 999px;
	color: #0ea5e9;
	display: inline-flex;
	font-size: 19px;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.pm-who-stat-row small {
	color: #5f6b77;
	font-size: 0.86rem;
	font-weight: 850;
}

.pm-who-stat-row strong {
	color: #0b1635;
	font-size: 1.12rem;
	line-height: 1.2;
}

.pm-who-layout {
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
}

.pm-who-list,
.pm-who-sidebar {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.pm-who-sidebar {
	align-content: start;
}

.pm-who-card {
	display: grid;
	gap: 12px;
	padding: 22px;
}

.pm-who-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pm-who-card__meta span,
.pm-who-card__meta strong {
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 900;
	padding: 7px 10px;
}

.pm-who-card__meta span {
	background: #eef9ff;
	color: #0369a1;
}

.pm-who-card__meta strong {
	background: #f1f7f8;
	color: #0f766e;
}

.pm-who-card h2 {
	color: #0b1635;
	font-size: clamp(1.25rem, 2.1vw, 1.75rem);
	line-height: 1.16;
	margin: 0;
}

.pm-who-card p {
	color: #344256;
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0;
}

.pm-who-card__assessment,
.pm-who-card__advice {
	background: #f6f8fa;
	border: 1px solid rgba(170, 184, 199, 0.44);
	border-radius: 8px;
	display: grid;
	gap: 6px;
	padding: 14px;
}

.pm-who-card__assessment span,
.pm-who-card__advice span {
	color: #007f90;
	font-size: 0.78rem;
	font-weight: 950;
	text-transform: uppercase;
}

.pm-who-card__advice {
	background: #fffbeb;
	border-color: #fde68a;
}

.pm-report-hero {
	margin-bottom: 18px;
	padding-top: 0;
}

.pm-report-hero h1 {
	color: #0b1635;
	font-size: clamp(2.35rem, 4.8vw, 4.25rem);
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 12px;
	max-width: 980px;
}

.pm-report-hero p:not(.pm-kicker) {
	color: #344256;
	font-size: 1.05rem;
	line-height: 1.55;
	margin: 0;
	max-width: 840px;
}

.pm-report-meta,
.pm-report-stat-grid,
.pm-report-grid {
	display: grid;
	gap: 10px;
}

.pm-report-meta {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 18px;
	max-width: 900px;
}

.pm-report-meta div,
.pm-report-stat,
.pm-report-card,
.pm-report-side-card,
.pm-report-summary {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(28, 45, 74, 0.05);
}

.pm-report-meta div {
	align-items: center;
	display: flex;
	gap: 10px;
	min-height: 44px;
	padding: 10px 14px;
}

.pm-report-meta span {
	color: #5f6b77;
	font-size: 0.84rem;
	font-weight: 800;
}

.pm-report-meta strong {
	color: #0b1635;
	font-size: 0.9rem;
	margin-left: auto;
	text-align: right;
}

.pm-report-layout {
	display: grid;
	gap: 26px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
}

.pm-report-main,
.pm-report-sidebar {
	display: grid;
	gap: 16px;
	min-width: 0;
}

.pm-report-sidebar {
	align-content: start;
}

.pm-report-stat-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.pm-report-stat {
	display: grid;
	gap: 8px;
	min-height: 150px;
	padding: 16px;
}

.pm-report-stat__icon,
.pm-report-summary__icon {
	align-items: center;
	background: #e8f8fa;
	border-radius: 999px;
	color: #0a8fa0;
	display: inline-flex;
	font-size: 22px;
	justify-content: center;
	height: 42px;
	position: relative;
	width: 42px;
}

.pm-report-stat__icon::after,
.pm-report-summary__icon::after {
	content: none;
}

.pm-report-stat__icon::before,
.pm-report-summary__icon::before {
	font-size: 22px;
	height: 22px;
	line-height: 1;
	width: 22px;
}

.pm-report-stat--thermometer .pm-report-stat__icon {
	background: #fff7ed;
	color: #f97316;
}

.pm-report-stat--tube .pm-report-stat__icon,
.pm-report-stat--hospital .pm-report-stat__icon {
	background: #eef9ff;
	color: #0ea5e9;
}

.pm-report-stat--virus .pm-report-stat__icon {
	background: #eff6ff;
	color: #2563eb;
}

.pm-report-stat--water .pm-report-stat__icon {
	background: #ecfeff;
	color: #0891b2;
}

.pm-report-stat h2 {
	color: #0b1635;
	font-size: 0.9rem;
	line-height: 1.25;
	margin: 0;
	min-height: 2.25em;
}

.pm-report-stat strong {
	color: #0b1635;
	font-size: 1.45rem;
	line-height: 1.05;
}

.pm-report-stat small {
	color: #667384;
	font-size: 0.78rem;
	line-height: 1.3;
}

.pm-report-stat__trend {
	color: #008da0;
	font-size: 0.85rem;
	font-weight: 900;
}

.pm-tone-moderate .pm-report-stat__trend {
	color: #d97706;
}

.pm-report-summary {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: 64px minmax(0, 1fr);
	padding: 18px 22px;
}

.pm-report-summary h2,
.pm-report-card h2,
.pm-report-side-card h2 {
	color: #0b1635;
	font-size: 1.05rem;
	line-height: 1.25;
	margin: 0;
}

.pm-report-summary ul {
	color: #0b1635;
	margin: 0;
	padding-left: 18px;
}

.pm-report-summary li {
	line-height: 1.45;
	margin: 2px 0;
}

.pm-report-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pm-report-card,
.pm-report-side-card {
	padding: 18px;
}

.pm-report-card p,
.pm-report-side-card p {
	color: #344256;
	font-size: 0.92rem;
	line-height: 1.5;
	margin: 6px 0 14px;
}

.pm-report-card--compact {
	min-height: 118px;
}

.pm-report-card .pm-nngyk-chart {
	gap: 10px;
	margin-top: 10px;
}

.pm-report-card .pm-nngyk-chart svg {
	background: transparent;
	border: 0;
	border-radius: 0;
}

.pm-report-card .pm-nngyk-recent {
	display: none;
}

.pm-report-lab-table {
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.88rem;
	margin-top: 12px;
	overflow: hidden;
	width: 100%;
}

.pm-report-lab-table th,
.pm-report-lab-table td {
	border-bottom: 1px solid rgba(170, 184, 199, 0.42);
	padding: 10px 8px;
	text-align: left;
}

.pm-report-lab-table th {
	background: #f6f8fa;
	color: #0b1635;
	font-size: 0.78rem;
	font-weight: 900;
}

.pm-report-hospital,
.pm-report-wastewater {
	display: grid;
	gap: 6px;
	margin-top: 10px;
}

.pm-report-hospital strong,
.pm-report-wastewater strong {
	color: #0b7f90;
	font-size: 1.65rem;
	line-height: 1;
}

.pm-report-hospital span,
.pm-report-wastewater span,
.pm-report-hospital small {
	color: #667384;
}

.pm-report-link,
.pm-report-primary,
.pm-report-related a {
	text-decoration: none;
}

.pm-report-link {
	color: #007f90;
	font-size: 0.9rem;
	font-weight: 900;
}

.pm-report-primary {
	align-items: center;
	background: #008da0;
	border-radius: 8px;
	color: #fff;
	display: flex;
	font-weight: 900;
	justify-content: center;
	margin-top: 18px;
	min-height: 44px;
	padding: 0 14px;
}

.pm-report-status {
	align-items: center;
	color: #0f766e !important;
	display: inline-flex;
	gap: 7px;
}

.pm-report-status i {
	background: #10b981;
	border-radius: 999px;
	display: inline-block;
	height: 8px;
	width: 8px;
}

.pm-report-related {
	display: grid;
	gap: 0;
}

.pm-report-related a {
	border-bottom: 1px solid rgba(170, 184, 199, 0.42);
	color: #263245;
	font-weight: 800;
	padding: 13px 0;
}

.pm-report-related a:last-child {
	border-bottom: 0;
}

.pm-source-link {
	margin: 18px 0 0;
}

.pm-nngyk-detail .pm-hero h1 {
	font-size: clamp(2rem, 4vw, 3.7rem);
}

.pm-nngyk-chart-stats {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-nngyk-chart {
	display: grid;
	gap: 18px;
}

.pm-nngyk-chart svg {
	background: #f6f8fa;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	display: block;
	height: auto;
	width: 100%;
}

.pm-nngyk-chart text {
	fill: var(--pm-muted);
	font-size: 13px;
	font-weight: 800;
}

.pm-chart-axis {
	stroke: #8a96a3;
	stroke-width: 1.5;
}

.pm-chart-grid {
	stroke: #d9dee3;
	stroke-dasharray: 5 5;
	stroke-width: 1;
}

.pm-chart-line {
	fill: none;
	stroke: #0f766e;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 4;
}

.pm-chart-points circle {
	fill: #fff;
	stroke: #0f766e;
	stroke-width: 3;
}

.pm-chart-week--end {
	text-anchor: end;
}

.pm-nngyk-recent {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-nngyk-recent div {
	background: #fff;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	display: grid;
	gap: 5px;
	padding: 12px;
}

.pm-nngyk-recent span,
.pm-nngyk-explain {
	color: var(--pm-muted);
}

.pm-nngyk-recent strong {
	font-size: 1.12rem;
}

.pm-map-shell {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--pm-ink);
	display: grid;
	gap: 0;
	margin-bottom: 18px;
	overflow: visible;
	position: relative;
}

.pm-map-link-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-bottom: 18px;
}

.pm-map-link-grid a {
	background: #fff;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	color: var(--pm-ink);
	display: grid;
	font-weight: 800;
	line-height: 1.25;
	min-height: 58px;
	padding: 12px;
	text-decoration: none;
}

.pm-map-stat-row {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 12px;
}

.pm-map-stat-card {
	align-items: center;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 9px;
	box-shadow: 0 8px 24px rgba(28, 45, 74, 0.06);
	display: flex;
	gap: 10px;
	min-height: 48px;
	padding: 10px 14px;
}

.pm-map-stat-card::before {
	background: #e8f8fa;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px rgba(0, 146, 164, 0.18);
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.pm-map-stat-card--time::before {
	background:
		radial-gradient(circle at center, transparent 0 5px, #fff 5px 6px, transparent 6px),
		conic-gradient(from 0deg, #0ea5b7 0 25%, transparent 25% 100%),
		#e8f8fa;
	border: 2px solid #0ea5b7;
}

.pm-map-stat-card--points::before {
	background:
		radial-gradient(circle at 4px 4px, #0ea5b7 0 2px, transparent 2px),
		radial-gradient(circle at 12px 4px, #0ea5b7 0 2px, transparent 2px),
		radial-gradient(circle at 4px 12px, #0ea5b7 0 2px, transparent 2px),
		radial-gradient(circle at 12px 12px, #0ea5b7 0 2px, transparent 2px),
		#e8f8fa;
}

.pm-map-stat-card--max::before {
	background:
		linear-gradient(135deg, transparent 45%, #0ea5b7 46% 56%, transparent 57%),
		linear-gradient(45deg, transparent 52%, #0ea5b7 53% 63%, transparent 64%),
		#e8f8fa;
	border-radius: 6px;
}

.pm-map-stat-card--avg::before {
	background:
		linear-gradient(to top, #0ea5b7 0 35%, transparent 35%),
		linear-gradient(to top, transparent 0 20%, #63cdda 20% 58%, transparent 58%),
		linear-gradient(to top, transparent 0 42%, #0b7f90 42% 78%, transparent 78%),
		#e8f8fa;
	background-size: 5px 100%, 5px 100%, 5px 100%, auto;
	background-position: 4px 0, 9px 0, 14px 0, 0 0;
	background-repeat: no-repeat;
	border-radius: 5px;
}

.pm-map-stat-row span {
	color: #5f6b77;
	font-size: 0.86rem;
	font-weight: 800;
}

.pm-map-stat-row strong {
	color: #0b1635;
	font-size: 0.98rem;
	font-weight: 900;
	margin-left: auto;
	text-align: right;
}

.pm-map-stage {
	border: 1px solid rgba(217, 222, 227, 0.9);
	border-radius: 14px;
	box-shadow: 0 22px 72px rgba(28, 45, 74, 0.11);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.pm-alert-map-shell {
	background: #fff;
	border: 1px solid rgba(217, 222, 227, 0.9);
	border-radius: 14px;
	box-shadow: 0 22px 72px rgba(28, 45, 74, 0.11);
	margin-bottom: 18px;
	overflow: hidden;
}

.pm-alert-map-shell .pm-map-toolbar {
	background: #fff;
	border-bottom: 1px solid var(--pm-border);
	justify-content: flex-end;
	left: auto;
	padding: 16px 18px;
	position: relative;
	top: auto;
}

.pm-alert-map-shell .pm-map-panel {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	right: 14px;
	top: 88px;
	width: min(360px, calc(100% - 28px));
}

.pm-alert-map-shell .pm-map-panel div {
	display: grid;
	gap: 4px;
	justify-content: stretch;
	padding: 12px;
}

.pm-alert-map-shell .pm-map-panel strong {
	font-size: 1.25rem;
	text-align: left;
}

.pm-map-link-grid a:hover {
	background: #f6f8fa;
	border-color: #aeb8c2;
}

.pm-map-toolbar {
	align-items: center;
	background: transparent;
	border-bottom: 0;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	left: 16px;
	padding: 0;
	position: absolute;
	top: 16px;
	z-index: 5;
}

.pm-map-toolbar h2 {
	font-size: clamp(1.2rem, 2vw, 1.65rem);
	line-height: 1.15;
	margin: 0;
}

.pm-map-lead {
	color: var(--pm-muted);
	font-size: 0.95rem;
	line-height: 1.45;
	margin: 8px 0 0;
	max-width: 680px;
}

.pm-map-controls {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.pm-map-metric {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(170, 184, 199, 0.66);
	border-radius: 8px;
	box-shadow: 0 10px 26px rgba(28, 45, 74, 0.11);
	color: var(--pm-ink);
	font: inherit;
	font-weight: 850;
	min-height: 42px;
	min-width: 245px;
	padding: 0 14px;
}

.pm-map-mode {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(170, 184, 199, 0.66);
	border-radius: 9px;
	box-shadow: 0 10px 26px rgba(28, 45, 74, 0.11);
	display: flex;
	gap: 3px;
	padding: 3px;
}

.pm-map-mode button {
	background: transparent;
	border: 0;
	border-radius: 7px;
	color: #263245;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 800;
	min-height: 36px;
	padding: 0 16px;
}

.pm-map-mode button.is-active {
	background: #0596a8;
	color: #fff;
}

.pm-map-canvas {
	height: var(--pm-map-height, 620px);
	min-height: 420px;
	position: relative;
	width: 100%;
}

.pm-map-surface {
	inset: 0;
	mix-blend-mode: multiply;
	opacity: 0.86;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.pm-map-panel {
	background: rgba(255, 255, 255, 0.97);
	border: 1px solid rgba(217, 222, 227, 0.95);
	border-radius: 12px;
	box-shadow: 0 18px 48px rgba(28, 45, 74, 0.16);
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
	overflow: hidden;
	position: absolute;
	right: 22px;
	top: 22px;
	width: min(230px, calc(100% - 44px));
	z-index: 4;
}

.pm-map-panel div {
	background: #fff;
	border-bottom: 1px solid rgba(217, 222, 227, 0.9);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 14px 16px;
}

.pm-map-panel div:last-child {
	border-bottom: 0;
}

.pm-map-panel span,
.pm-map-legend small {
	color: var(--pm-muted);
	font-size: 0.78rem;
	font-weight: 800;
}

.pm-map-panel strong {
	font-size: 1rem;
	line-height: 1.1;
	text-align: right;
}

.pm-map-legend {
	background: rgba(255, 255, 255, 0.97);
	border: 1px solid rgba(217, 222, 227, 0.95);
	border-radius: 12px;
	bottom: 22px;
	box-shadow: 0 18px 48px rgba(28, 45, 74, 0.16);
	display: grid;
	gap: 7px;
	left: 22px;
	padding: 14px 16px;
	position: absolute;
	width: min(360px, calc(100% - 44px));
	z-index: 4;
}

.pm-map-legend > span {
	font-size: 0.88rem;
	font-weight: 900;
}

.pm-map-legend-scale {
	border: 1px solid rgba(15, 23, 42, 0.14);
	border-radius: 999px;
	height: 15px;
}

.pm-map-legend-values {
	color: var(--pm-muted);
	display: flex;
	font-size: 0.76rem;
	font-weight: 800;
	justify-content: space-between;
	line-height: 1.1;
}

.pm-map-limit {
	background: #f8fafc;
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 8px;
	color: #334155;
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1.2;
	padding: 6px 8px;
}

.pm-map-info-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 10px;
}

.pm-map-info-card {
	align-items: flex-start;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 12px;
	box-shadow: 0 12px 34px rgba(28, 45, 74, 0.065);
	display: grid;
	gap: 16px;
	grid-template-columns: 58px minmax(0, 1fr);
	min-height: 136px;
	padding: 20px;
}

.pm-map-info-icon {
	background: var(--pm-info-bg, #eefafa);
	border-radius: 999px;
	display: block;
	height: 56px;
	position: relative;
	width: 56px;
}

.pm-map-info-icon::after {
	background: var(--pm-info-accent, #0596a8);
	border-radius: 999px;
	content: "";
	height: 20px;
	left: 18px;
	position: absolute;
	top: 18px;
	width: 20px;
}

.pm-map-info-card--sun {
	--pm-info-accent: #f59e0b;
	--pm-info-bg: #fff7ed;
}

.pm-map-info-card--pollen {
	--pm-info-accent: #22c55e;
	--pm-info-bg: #effdf4;
}

.pm-map-info-card--air {
	--pm-info-accent: #38bdf8;
	--pm-info-bg: #eff8ff;
}

.pm-map-info-card--method {
	--pm-info-accent: #0891b2;
	--pm-info-bg: #ecfeff;
}

.pm-map-info-card--notice {
	--pm-info-accent: #7c3aed;
	--pm-info-bg: #f3e8ff;
}

.pm-map-info-card--sun .pm-map-info-icon::before,
.pm-map-info-card--pollen .pm-map-info-icon::before,
.pm-map-info-card--air .pm-map-info-icon::before,
.pm-map-info-card--method .pm-map-info-icon::before,
.pm-map-info-card--notice .pm-map-info-icon::before {
	border: 2px solid var(--pm-info-accent, #0596a8);
	border-radius: 999px;
	content: "";
	inset: 13px;
	position: absolute;
}

.pm-map-info-card--method .pm-map-info-icon::after {
	border-radius: 5px;
}

.pm-map-info-card--notice .pm-map-info-icon::after {
	border-radius: 7px;
}

.pm-map-info-card h2 {
	color: #0b1635;
	font-size: 1.02rem;
	line-height: 1.25;
	margin: 0 0 6px;
}

.pm-map-info-card p {
	color: #344256;
	font-size: 0.92rem;
	line-height: 1.5;
	margin: 0;
}

.pm-map-info-card a {
	color: #007f90;
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 900;
	margin-top: 10px;
	text-decoration: none;
}

.pm-related-map-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 10px 0 26px;
}

.pm-related-map-grid h2 {
	color: #0b1635;
	font-size: 1rem;
	grid-column: 1 / -1;
	line-height: 1.25;
	margin: 0;
}

.pm-related-map-grid a {
	align-items: center;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(170, 184, 199, 0.52);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(28, 45, 74, 0.05);
	color: #0b1635;
	display: grid;
	gap: 3px 14px;
	grid-template-columns: 42px minmax(0, 1fr);
	min-height: 70px;
	padding: 14px 42px 14px 16px;
	position: relative;
	text-decoration: none;
}

.pm-related-map-grid a::after {
	color: #0b1635;
	content: "\203A";
	font-size: 1.45rem;
	position: absolute;
	right: 16px;
	top: 18px;
}

.pm-related-map-grid i {
	background: var(--pm-related-bg, #e8f8fa);
	border-radius: 999px;
	display: block;
	grid-row: 1 / span 2;
	height: 42px;
	position: relative;
	width: 42px;
}

.pm-related-map-grid i::after {
	background: var(--pm-related-accent, #0596a8);
	border-radius: 999px;
	content: "";
	height: 16px;
	left: 13px;
	position: absolute;
	top: 13px;
	width: 16px;
}

.pm-related-map-card--sun {
	--pm-related-accent: #f59e0b;
	--pm-related-bg: #fff7ed;
}

.pm-related-map-card--pollen {
	--pm-related-accent: #22c55e;
	--pm-related-bg: #effdf4;
}

.pm-related-map-card--air {
	--pm-related-accent: #38bdf8;
	--pm-related-bg: #eff8ff;
}

.pm-related-map-card--pm {
	--pm-related-accent: #ef4444;
	--pm-related-bg: #fff1f2;
}

.pm-related-map-card--alert {
	--pm-related-accent: #f97316;
	--pm-related-bg: #fff7ed;
}

.pm-related-map-grid span {
	color: #007f90;
	grid-column: 2;
	font-weight: 900;
}

.pm-related-map-grid small {
	color: #667384;
	font-size: 0.84rem;
	grid-column: 2;
	line-height: 1.35;
	min-width: 0;
}

.pm-map-shell .maplibregl-popup {
	z-index: 8;
}

.pm-map-shell .maplibregl-popup-content {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.14);
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.22);
	color: var(--pm-ink);
	max-width: min(300px, calc(100vw - 40px));
	padding: 12px 14px;
}

.pm-map-shell .maplibregl-popup-tip {
	border-top-color: #fff;
}

.pm-map-shell .maplibregl-popup-close-button {
	color: #334155;
	font-size: 18px;
	height: 24px;
	line-height: 24px;
	width: 24px;
}

.pm-map-popup h3 {
	font-size: 1rem;
	margin: 0 0 6px;
}

.pm-map-popup strong {
	display: block;
	font-size: 1.45rem;
	line-height: 1;
	margin-bottom: 10px;
}

.pm-map-popup dl {
	display: grid;
	gap: 4px 10px;
	grid-template-columns: auto 1fr;
	margin: 0;
}

.pm-map-popup dt {
	color: #64748b;
	font-weight: 700;
}

.pm-map-popup dd {
	font-weight: 700;
	margin: 0;
	text-align: right;
}

.pm-map-popup dd.is-over-limit {
	color: #b91c1c;
}

.pm-alert-map-shell .pm-map-canvas {
	background: #fff7ed;
}

.pm-alert-map-shell .pm-map-metric,
.pm-alert-map-shell .pm-alert-day {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 7px;
	color: var(--pm-ink);
	font: inherit;
	font-weight: 800;
	min-height: 38px;
	padding: 0 10px;
}

.pm-alert-map-shell .pm-map-mode {
	background: #fff7ed;
	border-color: #fed7aa;
}

.pm-alert-map-shell .pm-map-mode button.is-active {
	background: #c2410c;
}

.pm-alert-scale {
	display: grid;
	gap: 6px;
}

.pm-alert-scale span {
	align-items: center;
	color: #334155;
	display: flex;
	font-size: 0.82rem;
	font-weight: 850;
	gap: 8px;
}

.pm-alert-swatch {
	border: 1px solid rgba(15, 23, 42, 0.16);
	border-radius: 5px;
	display: inline-block;
	height: 16px;
	width: 16px;
}

.pm-alert-level-1 {
	background: #facc15;
}

.pm-alert-level-2 {
	background: #f97316;
}

.pm-alert-level-3 {
	background: #dc2626;
}

.pm-alert-popup h3 {
	font-size: 1rem;
	margin: 0 0 8px;
}

.pm-alert-badge {
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 8px;
	padding: 6px 8px;
}

.pm-alert-badge-1 {
	background: #facc15;
	color: #422006;
}

.pm-alert-badge-2 {
	background: #f97316;
	color: #fff;
}

.pm-alert-badge-3 {
	background: #dc2626;
	color: #fff;
}

.pm-alert-popup__item {
	border-top: 1px solid #e2e8f0;
	display: grid;
	gap: 4px;
	padding-top: 8px;
}

.pm-alert-popup__item + .pm-alert-popup__item {
	margin-top: 8px;
}

.pm-alert-popup__item strong {
	font-size: 0.92rem;
}

.pm-alert-popup__item small {
	color: #64748b;
	font-weight: 800;
}

.pm-alert-popup__item p {
	color: #334155;
	font-size: 0.84rem;
	line-height: 1.4;
	margin: 0;
}

.pm-archive-notice {
	background: #fff8e6;
	border: 1px solid #f0d28a;
	border-radius: 8px;
	color: var(--pm-ink);
	margin-bottom: 28px;
	padding: clamp(18px, 3vw, 28px);
}

.pm-archive-notice h2 {
	font-size: clamp(1.25rem, 2vw, 1.7rem);
	line-height: 1.2;
	margin-bottom: 12px;
}

.pm-archive-notice p:not(.pm-kicker) {
	color: #4f4a3d;
	line-height: 1.6;
	margin-bottom: 16px;
}

.pm-archive-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pm-archive-actions a {
	background: #15212d;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 700;
	padding: 10px 13px;
	text-decoration: none;
}

.pm-archive-actions a + a {
	background: transparent;
	box-shadow: inset 0 0 0 1px #8f6f12;
	color: #4f3f14;
}

.pm-archive-placeholder {
	background: #f6f8fa;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	margin-bottom: 28px;
	padding: 18px;
}

.pm-archive-placeholder p {
	color: var(--pm-muted);
	line-height: 1.6;
	margin: 0;
}

.pm-legacy-data {
	background: #fff;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	color: var(--pm-ink);
	margin-bottom: 28px;
	padding: clamp(18px, 3vw, 28px);
}

.pm-legacy-data h2 {
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	line-height: 1.18;
	margin-bottom: 12px;
}

.pm-legacy-data h3 {
	border-top: 1px solid var(--pm-border);
	font-size: 1.12rem;
	line-height: 1.25;
	margin: 24px 0 12px;
	padding-top: 20px;
}

.pm-legacy-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 20px 0 6px;
}

.pm-legacy-card {
	background: #f6f8fa;
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	display: grid;
	gap: 7px;
	min-height: 118px;
	padding: 15px;
}

.pm-legacy-card span,
.pm-legacy-card small,
.pm-legacy-source {
	color: var(--pm-muted);
}

.pm-legacy-card span {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
}

.pm-legacy-card strong {
	font-size: clamp(1.15rem, 2vw, 1.55rem);
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.pm-legacy-card small {
	font-size: 0.82rem;
	line-height: 1.35;
}

.pm-legacy-table-wrap {
	overflow-x: auto;
}

.pm-legacy-table {
	border-collapse: collapse;
	font-size: 0.94rem;
	width: 100%;
}

.pm-legacy-table th,
.pm-legacy-table td {
	border-bottom: 1px solid var(--pm-border);
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.pm-legacy-table th {
	background: #f6f8fa;
	font-size: 0.78rem;
	text-transform: uppercase;
}

.pm-legacy-events-table {
	min-width: 760px;
}

.pm-legacy-events-table th:first-child,
.pm-legacy-events-table td:first-child {
	width: 112px;
	white-space: nowrap;
}

.pm-legacy-events-table th:nth-child(2),
.pm-legacy-events-table td:nth-child(2) {
	width: 92px;
}

.pm-legacy-events-table th:last-child,
.pm-legacy-events-table td:last-child {
	width: 150px;
}

.pm-legacy-events-table td:nth-child(3) {
	line-height: 1.45;
}

.pm-legacy-events {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pm-legacy-events li {
	border: 1px solid var(--pm-border);
	border-radius: 8px;
	display: grid;
	gap: 6px;
	padding: 14px;
}

.pm-legacy-events strong {
	font-size: 0.86rem;
}

.pm-legacy-events span {
	line-height: 1.5;
}

.pm-legacy-events small {
	color: var(--pm-muted);
}

.pm-legacy-source {
	font-size: 0.86rem;
	line-height: 1.5;
	margin: 18px 0 0;
}

@media (max-width: 980px) {
	.pm-nngyk-metric-page {
		margin-left: calc(50% - min(640px, calc(50vw - 30px))) !important;
		width: min(1280px, calc(100vw - 60px)) !important;
	}

	.pm-who-page {
		margin-left: calc(50% - min(640px, calc(50vw - 30px))) !important;
		width: min(1280px, calc(100vw - 60px)) !important;
	}

	.pm-hero,
	.pm-layout,
	.pm-home-main,
	.pm-report-layout,
	.pm-metric-layout,
	.pm-metric-hero,
	.pm-metric-current,
	.pm-who-hero,
	.pm-who-layout {
		grid-template-columns: 1fr;
	}

	.pm-metric-hero__icon {
		justify-self: start;
	}

	.pm-metric-current__value {
		border-right: 0;
		border-bottom: 1px solid rgba(170, 184, 199, 0.48);
		padding: 0 0 24px;
	}

	.pm-metric-current__trend {
		padding: 24px 0 0;
	}

	.pm-grid,
	.pm-map-link-grid,
	.pm-legacy-grid,
	.pm-nngyk-trends,
	.pm-nngyk-chart-stats,
	.pm-nngyk-recent,
	.pm-map-stat-row,
	.pm-map-info-grid,
	.pm-related-map-grid,
	.pm-report-meta,
	.pm-report-grid,
	.pm-home-topline,
	.pm-home-watch-grid,
	.pm-home-mini-grid,
	.pm-home-wastewater-grid,
	.pm-home-map-grid,
	.pm-metric-stat-row,
	.pm-metric-lower-grid,
	.pm-metric-info-band {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pm-who-stat-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pm-report-stat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.pm-hero {
		padding: 22px;
	}

	.pm-map-toolbar {
		align-items: stretch;
		flex-direction: column;
		left: 10px;
		right: 10px;
		top: 10px;
	}

	.pm-map-controls {
		justify-content: flex-start;
	}

	.pm-map-metric,
	.pm-map-mode {
		width: 100%;
	}

	.pm-map-mode button {
		flex: 1;
	}

	.pm-map-canvas {
		height: min(680px, 76vh);
		min-height: 520px;
	}

	.pm-map-panel {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		left: 10px;
		right: 10px;
		top: auto;
		bottom: 86px;
		width: auto;
	}

	.pm-map-panel div {
		padding: 9px;
	}

	.pm-map-panel strong {
		font-size: 1rem;
	}

	.pm-map-legend {
		bottom: 10px;
		left: 10px;
		width: calc(100% - 20px);
	}

	.pm-grid,
	.pm-map-link-grid,
	.pm-legacy-grid,
	.pm-nngyk-trends,
	.pm-nngyk-chart-stats,
	.pm-nngyk-recent,
	.pm-map-stat-row,
	.pm-map-info-grid,
	.pm-related-map-grid,
	.pm-report-meta,
	.pm-report-stat-grid,
	.pm-report-grid,
	.pm-home-topline,
	.pm-home-watch-grid,
	.pm-home-mini-grid,
	.pm-home-wastewater-grid,
	.pm-home-map-grid,
	.pm-metric-stat-row,
	.pm-metric-lower-grid,
	.pm-metric-info-band {
		grid-template-columns: 1fr;
	}

	.pm-map-hero h1,
	.pm-report-hero h1,
	.pm-metric-hero h1 {
		font-size: clamp(2.05rem, 12vw, 3rem);
	}

	.pm-nngyk-metric-page {
		padding-top: 22px;
	}

	.pm-who-page {
		padding-top: 22px;
	}

	.pm-breadcrumbs {
		margin-bottom: 28px;
	}

	.pm-metric-hero__icon {
		display: none;
	}

	.pm-who-hero__badge {
		justify-items: start;
		min-height: auto;
		text-align: left;
	}

	.pm-metric-current {
		padding: 20px;
	}

	.pm-metric-current__value strong {
		font-size: clamp(2.75rem, 18vw, 4rem);
	}

	.pm-metric-card__head {
		display: grid;
	}

	.pm-metric-info-band article + article {
		border-left: 0;
		border-top: 1px solid rgba(170, 184, 199, 0.42);
	}

	.pm-who-stat-row {
		grid-template-columns: 1fr;
	}

	.pm-report-summary {
		align-items: flex-start;
		grid-template-columns: 44px minmax(0, 1fr);
		padding: 16px;
	}

	.pm-map-info-card {
		grid-template-columns: 44px minmax(0, 1fr);
	}

	.pm-map-info-icon {
		height: 44px;
		width: 44px;
	}

	.pm-map-info-icon::after {
		height: 16px;
		left: 14px;
		top: 14px;
		width: 16px;
	}

	.pm-card__top,
	.pm-source-list li {
		align-items: flex-start;
		flex-direction: column;
	}

	.pm-pill,
	.pm-source-list strong {
		max-width: none;
		text-align: left;
	}

	.pm-alert-map-shell .pm-map-toolbar {
		left: auto;
		right: auto;
		top: auto;
	}

	.pm-alert-map-shell .pm-map-panel {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
