.air-release-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  margin-bottom: 18px;
  border: 1px solid #cfe4d5;
  border-radius: 14px;
  background: #edf8f0;
  color: #123f2a;
}

.air-verified {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #1e6a3d;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.air-verified::before { content: "✓"; }

.air-public-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.air-public-filters label {
  margin-bottom: 5px;
  color: #49665a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.air-public-filters select { margin-bottom: 0; }
.air-public-filters .air-actions { padding-bottom: 1px; }

.air-empty-state {
  padding: 38px 24px;
  border: 1px dashed #b9d2c0;
  border-radius: 16px;
  background: #f7fbf8;
  text-align: center;
}

.air-empty-state h3 { color: #123f2a; }

.air-programme-bars { display: grid; gap: 14px; }
.air-programme-bar { display: grid; gap: 7px; }
.air-programme-bar__label { display: flex; justify-content: space-between; gap: 16px; }
.air-programme-bar__track { height: 12px; overflow: hidden; border-radius: 999px; background: #e3efe6; }
.air-programme-bar__fill { height: 100%; min-width: 3px; border-radius: inherit; background: linear-gradient(90deg, #123f2a, #2f7d49, #9bdc3f); }

.air-district-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.air-district-item {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #edf8f0;
}

.air-published-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.air-published-card { margin: 0; }
.air-published-card__meta { color: #607468; font-size: 13px; }
.air-published-card__metrics { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.air-published-card__metrics span { padding: 7px 10px; border-radius: 999px; background: #edf8f0; color: #1e6a3d; font-size: 12px; font-weight: 800; }

.air-map-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 0;
}

.air-map-legend { display: flex; flex-wrap: wrap; gap: 8px 12px; color: #607468; font-size: 11px; font-weight: 700; }
.air-map-legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 3px; background: var(--air-map-colour); }
.air-map-reset { padding: 7px 10px !important; font-size: 12px; }
.air-map-selection { min-height: 74px; padding: 12px 14px; border-radius: 12px; background: #f7fbf8; color: #49665a; font-size: 12px; }
.air-map-selection strong { display: block; margin-bottom: 4px; color: #123f2a; font-size: 15px; }

.air-malawi-districts path[data-level="0"] { fill: #edf8f0; }
.air-malawi-districts path[data-level="1"] { fill: #cfe8d6; }
.air-malawi-districts path[data-level="2"] { fill: #8cc9a2; }
.air-malawi-districts path[data-level="3"] { fill: #2f7d49; }
.air-malawi-districts path[data-level="4"] { fill: #123f2a; }
.air-malawi-districts path.is-selected { stroke: #9bdc3f; stroke-width: 3; filter: drop-shadow(0 3px 5px rgba(18,63,42,.32)); }

.air-demo-badge,
.air-demo {
  border-color: #cfe4d5 !important;
  background: #edf8f0 !important;
  color: #123f2a !important;
}

.air-preview-hero { background: linear-gradient(135deg, #123f2a, #1e6a3d 62%, #2f7d49) !important; }
.air-fill { background: linear-gradient(90deg, #2f7d49, #9bdc3f) !important; }

@media (max-width: 760px) {
  .air-public-filters,
  .air-published-grid,
  .air-district-list { grid-template-columns: 1fr; }
  .air-release-note { align-items: flex-start; flex-direction: column; }
}

@media print {
  .air-public-filters,
  .air-hub-tabs,
  .air-map-reset { display: none !important; }
  .air-card,
  .air-analytics-kpi,
  .air-chart-card { box-shadow: none !important; break-inside: avoid; }
}
