/* Isolated product styles. The parent website's styles and globals are untouched. */
:root {
  color-scheme:light;
  --ink:#1c3029;
  --muted:#6e7c74;
  --green:#22654b;
  --green-dark:#143e2e;
  --mint:#dff0e6;
  --canvas:#f6f7f3;
  --border:#e2e7e0;
  --surface:#fff;
  --sidebar:#142c27;
  --amber:#9b641f;
  --radius:12px;
  font-family:Inter,"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Bengali",Arial,sans-serif;
  font-size:14px;
  color:var(--ink);
  background:var(--canvas);
  font-synthesis:none
}

* {
  box-sizing:border-box
}

body {
  margin:0
}

button,input,select {
  font:inherit
}

button,a,select {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

a {
  color:inherit;
  text-decoration:none
}

button {
  color:inherit
}

svg {
  flex-shrink:0;
  vertical-align:middle
}

h1,h2,h3,p {
  margin:0
}

button,input,select,a {
  touch-action:manipulation
}

button:disabled {
  cursor:default
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #46a181;
  outline-offset:4px
}

main:focus,h1:focus {
  outline:none
}

button {
  border:0;
  background:none
}

p {
  line-height:1.65
}

h1,h2,h3 {
  font-weight:600;
  letter-spacing:-.035em
}

h1 {
  font-size:32px;
  line-height:1.25
}

h2 {
  font-size:16px;
  line-height:1.4
}

h3 {
  font-size:14px;
  line-height:1.5
}

small {
  line-height:1.5
}

code {
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:11px
}

select {
  cursor:pointer
}

button:focus:not(:focus-visible) {
  outline:none
}

.muted {
  color:var(--muted);
  font-size:12px
}

.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
}

.skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  background:var(--green-dark);
  color:white;
  padding:12px 18px;
  z-index:100
}

.skip-link:focus {
  top:12px
}

.boot-state {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:24px;
  text-align:center
}

.eyebrow {
  font-size:10px;
  font-weight:650;
  letter-spacing:.13em;
  line-height:1.6;
  color:var(--green);
  display:flex;
  align-items:center;
  gap:8px
}

.status-dot {
  width:6px;
  height:6px;
  display:inline-block;
  border-radius:50%;
  background:currentColor;
  flex-shrink:0
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 15px;
  border-radius:7px;
  font-size:12px;
  font-weight:550;
  line-height:1.5;
  white-space:nowrap;
  border:1px solid transparent
}

.button.primary {
  background:var(--green-dark);
  color:#fff
}

.button.primary:hover {
  background:#205e44
}

.button.secondary {
  border-color:var(--border);
  background:#fff
}

.button.secondary:hover {
  background:#f0f5ef
}

.button.large {
  padding:14px 20px;
  font-size:13px
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--green);
  font-size:11px;
  font-weight:550;
  padding:0
}

.text-link:hover {
  text-decoration:underline;
  text-underline-offset:3px
}

.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  border-radius:6px
}

.icon-button:hover {
  background:#e9eee8
}

.badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  padding:3px 7px;
  border-radius:4px;
  font-size:9px;
  line-height:1.4;
  font-weight:550
}

.demo-badge,.quality-demo {
  color:var(--amber);
  background:#fbf2e3;
  border:1px solid #f2e4c9
}

.quality-incomplete {
  background:#f1f1eb;
  color:#6c6f52;
  border:1px solid #e4e4d9
}

.brand {
  display:flex;
  align-items:center;
  gap:10px
}

.brand-mark {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:8px;
  background:var(--green);
  color:#d7f2df
}

.brand>span:last-child {
  display:flex;
  flex-direction:column;
  gap:3px
}

.brand strong {
  font-size:11px;
  letter-spacing:.09em;
  font-weight:650;
  white-space:nowrap
}

.brand small {
  font-size:9px;
  letter-spacing:.2em;
  font-weight:450
}

.user-avatar {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:31px;
  height:31px;
  border-radius:50%;
  background:#e5ebe2;
  color:#476246;
  font-size:11px;
  font-weight:600
}

/* Navigation and context */
.dashboard-shell {
  display:flex;
  min-height:100vh
}

.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:238px;
  background:var(--sidebar);
  color:#d5e4dc;
  display:flex;
  flex-direction:column;
  z-index:30
}

.sidebar-brand {
  padding:27px 22px 23px
}

.sidebar .brand-mark {
  background:#315448;
  color:#c3e7d3
}

.workspace-label {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 17px 13px;
  padding:11px 9px;
  border:1px solid #355046;
  border-radius:7px
}

.workspace-avatar {
  display:flex;
  align-items:center;
  justify-content:center;
  width:29px;
  height:29px;
  background:#32483f;
  border-radius:6px;
  font-size:12px;
  color:#c5d5c9
}

.workspace-label strong {
  font-size:11px;
  font-weight:500;
  display:block
}

.workspace-label small {
  font-size:9px;
  color:#91aaa0;
  display:block;
  margin-top:3px
}

.workspace-lock {
  margin-left:auto;
  color:#819c8e
}

.sidebar nav {
  flex:1;
  overflow-y:auto;
  padding:0 12px 12px;
  scrollbar-width:thin;
  scrollbar-color:#4b665b transparent
}

.nav-group {
  font-size:9px;
  letter-spacing:.13em;
  color:#7f9d90;
  margin:17px 13px 7px;
  font-weight:550
}

.nav-link {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:6px;
  font-size:11px;
  color:#b4c8bd;
  min-height:37px;
  margin-bottom:2px
}

.nav-link>span {
  flex:1
}

.nav-link>small {
  font-size:8px;
  color:#779084;
  border:1px solid #3a5247;
  padding:1px 3px;
  border-radius:3px
}

.nav-link:hover {
  background:#203d32;
  color:#fff
}

.nav-link.active {
  background:#ddefdd;
  color:#224333;
  font-weight:600
}

.nav-link.active svg {
  color:#1f6145
}

.sidebar-bottom {
  padding:14px 18px 0;
  border-top:1px solid #2e493e
}

.foundation-card {
  padding:11px 12px;
  background:#1c372d;
  border:1px solid #315142;
  border-radius:7px
}

.foundation-card>span {
  font-size:11px;
  color:#d1e9d8;
  display:flex;
  align-items:center;
  gap:7px
}

.foundation-card p {
  font-size:10px;
  line-height:1.6;
  color:#8eaa9a;
  margin:7px 0
}

.foundation-card a {
  font-size:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#a6d7b9
}

.sidebar-home {
  display:flex;
  align-items:center;
  gap:8px;
  padding:17px 0
}

.sidebar-home strong {
  display:block;
  font-size:10px;
  font-weight:500
}

.sidebar-home small {
  font-size:8px;
  color:#89a596
}

.sidebar-home>svg {
  margin-left:auto;
  color:#779c88
}

.sidebar-home .user-avatar {
  color:#bcd4c2;
  background:#314b3d
}

.workspace {
  margin-left:238px;
  width:calc(100% - 238px);
  min-width:0
}

.topbar {
  height:66px;
  background:#fff;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 30px;
  gap:16px
}

.breadcrumbs {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:11px;
  color:#7b857d
}

.breadcrumbs strong {
  color:var(--ink);
  font-weight:500
}

.breadcrumbs>svg {
  color:#a8b3a8
}

.topbar-actions {
  display:flex;
  gap:19px;
  align-items:center
}

.public-status {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  color:#567764
}

.language-switch {
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 0;
  font-size:11px
}

.mobile-menu {
  display:none
}

.nav-overlay {
  display:none
}

.demo-banner {
  min-height:38px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 30px;
  background:#f4f3e9;
  border-bottom:1px solid #e9e7d9;
  font-size:10px;
  color:#787151
}

.demo-banner .badge {
  background:#f1e8d2;
  color:#8b661f;
  border-color:#e7dbbc
}

.demo-banner>a {
  display:flex;
  align-items:center;
  gap:5px;
  margin-left:auto;
  white-space:nowrap;
  font-size:10px;
  color:#827047
}

.global-filters {
  display:flex;
  align-items:center;
  gap:0;
  padding:18px 30px;
  background:#fff;
  border-bottom:1px solid var(--border)
}

.global-filters>label {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:0 26px;
  border-right:1px solid var(--border);
  min-width:0
}

.global-filters>label:first-child {
  padding-left:0
}

.global-filters label>span:first-child {
  font-size:8px;
  letter-spacing:.12em;
  color:#8a938b;
  font-weight:600
}

.fixed-city {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:550;
  white-space:nowrap
}

.fixed-city svg {
  color:#789683
}

.global-filters select {
  border:0;
  background:transparent;
  font-size:11px;
  font-weight:550;
  color:var(--ink);
  padding:0 15px 0 0;
  max-width:190px;
  height:19px
}

.filter-note {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px;
  padding-left:18px;
  color:#8c978e;
  font-size:9px;
  white-space:nowrap
}

.filter-note strong {
  display:block;
  font-size:10px;
  font-weight:450;
  color:#7e8980;
  margin-top:4px
}

.reset-filters {
  font-size:10px;
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:15px;
  color:var(--green)
}

/* Shared workspace panels */
.main-content {
  padding:28px 30px 24px;
  max-width:1680px;
  margin:auto
}

.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:25px
}

.page-heading .eyebrow {
  font-size:9px;
  margin-bottom:8px
}

.page-heading h1 {
  font-size:29px;
  letter-spacing:-.04em
}

.page-description {
  font-size:11px;
  color:var(--muted);
  margin-top:8px;
  max-width:710px
}

.metric-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:23px
}

.metric-card {
  padding:19px 19px 15px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  display:flex;
  flex-direction:column;
  min-width:0
}

.metric-top {
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:11px;
  color:#5d6b61
}

.metric-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  color:#92a293;
  background:#f4f6ef;
  border-radius:5px;
  width:27px;
  height:27px
}

.metric-value {
  font-size:32px;
  font-weight:550;
  letter-spacing:-.055em;
  line-height:1.25;
  margin:13px 0 3px;
  font-variant-numeric:tabular-nums
}

.metric-value .unit {
  font-size:22px;
  margin-left:2px;
  font-weight:400
}

.metric-context {
  color:#8d958b;
  font-size:9px;
  margin-bottom:15px
}

.metric-footer {
  display:flex;
  justify-content:space-between;
  gap:5px;
  padding-top:12px;
  border-top:1px solid #edf0ea;
  margin-top:auto;
  align-items:center
}

.source-button {
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#8a968a;
  font-size:9px;
  line-height:1.5;
  text-align:left
}

.source-button:hover {
  color:var(--green);
  text-decoration:underline
}

.metric-warning {
  font-size:9px;
  color:#8b8167;
  margin-top:9px;
  line-height:1.5
}

.metric-card.featured {
  background:#eaf3e9;
  border-color:#d7e4d3
}

.featured .metric-value {
  color:#214e32
}

.featured .metric-icon {
  background:#d6e5d2;
  color:#5d825e
}

.featured .metric-footer {
  border-color:#d6e3d1
}

.overview-grid {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:19px;
  margin-bottom:20px;
  align-items:stretch
}

.panel {
  border:1px solid var(--border);
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  min-width:0
}

.panel-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:19px 20px 17px;
  border-bottom:1px solid #ecf0e8
}

.panel-header h2 {
  font-size:13px;
  letter-spacing:-.015em
}

.panel-header p {
  font-size:10px;
  color:#8a948a;
  margin-top:5px
}

.panel-header>.text-link {
  font-size:10px;
  white-space:nowrap
}

.right-column {
  display:flex;
  flex-direction:column;
  gap:18px
}

.right-column>.panel {
  flex:1
}

.chart-body {
  padding:16px 20px 0
}

.bar-chart {
  display:flex;
  flex-direction:column;
  gap:4px
}

.bar-row {
  display:grid;
  grid-template-columns:88px minmax(0,1fr) 45px;
  align-items:center;
  gap:10px;
  min-height:25px;
  padding:4px 0;
  text-align:left;
  width:100%;
  font-size:10px
}

.bar-label {
  color:#6d7c70;
  white-space:nowrap
}

.bar-track {
  width:100%;
  height:8px;
  background:#f4f6f0;
  border-radius:2px;
  overflow:hidden
}

.bar-fill {
  height:100%;
  display:block;
  background:#91b49a;
  border-radius:2px
}

.bar-row:nth-child(2) .bar-fill {
  background:#709e80
}

.bar-row:nth-child(3) .bar-fill {
  background:#547f63
}

.bar-row:nth-child(4) .bar-fill {
  background:#adc5af
}

.bar-row:nth-child(5) .bar-fill {
  background:#5e936e
}

.bar-row:nth-child(6) .bar-fill {
  background:#bad2bb
}

.bar-row .bar-fill.selected {
  background:#255d41
}

.bar-value {
  text-align:right;
  font-size:10px;
  color:#4c6853;
  font-variant-numeric:tabular-nums
}

.bar-row:hover {
  background:#f8faf5
}

.chart-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 0;
  margin-top:6px;
  border-top:1px solid #edf0e9
}

.chart-footer .text-link {
  font-size:10px
}

.quality-body {
  padding:16px 20px
}

.quality-lead {
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:14px
}

.quality-symbol {
  width:37px;
  height:37px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eff5ed;
  color:#719275;
  border-radius:8px
}

.quality-lead strong {
  font-size:11px;
  font-weight:550
}

.quality-lead p {
  font-size:9px;
  color:#939b8e;
  margin-top:4px
}

.stat-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  font-size:10px;
  padding:8px 0;
  border-bottom:1px solid #f0f2eb
}

.stat-row>span {
  color:#8a9389
}

.stat-row>strong {
  font-weight:500;
  text-align:right
}

.quality-body>.text-link {
  margin-top:17px;
  font-size:10px
}

.bottom-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:19px
}

.snapshot-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:22px 17px;
  gap:13px
}

.snapshot-stat {
  min-width:0
}

.snapshot-stat>span:first-child {
  font-size:9px;
  color:#828f81;
  display:block;
  line-height:1.5;
  min-height:28px
}

.snapshot-stat>strong {
  display:block;
  font-size:22px;
  letter-spacing:-.05em;
  font-weight:550;
  margin-bottom:12px;
  font-variant-numeric:tabular-nums
}

.snapshot-stat .badge {
  font-size:8px;
  padding:2px 4px
}

.snapshot-stat>small {
  display:block;
  font-size:8px;
  color:#92876a;
  margin-top:5px
}

.snapshot-stat>.source-button {
  font-size:8px;
  margin-top:10px
}

.research-notes {
  padding:17px 20px
}

.research-notes article {
  display:flex;
  gap:10px;
  margin-bottom:15px
}

.note-number {
  font-size:9px;
  color:#7e9d7e;
  background:#eff5ec;
  border-radius:5px;
  padding:5px;
  height:23px;
  line-height:13px
}

.research-notes h3 {
  font-size:10px;
  letter-spacing:0;
  font-weight:550
}

.research-notes p {
  font-size:9px;
  color:#8c9688;
  margin-top:4px;
  line-height:1.6
}

.research-notes>.text-link {
  font-size:10px
}

.workspace-footnote {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:9px;
  color:#9ca494;
  padding:22px 0 0;
  text-align:center
}

/* Deliberately schematic; never represented as GIS. */
.map-panel {
  display:flex;
  flex-direction:column
}

.ward-diagram {
  display:flex;
  flex-direction:column;
  background:#f1f5ee;
  position:relative;
  flex:1;
  min-height:0
}

.map-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:15px 18px 5px;
  z-index:1
}

.map-caption {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  color:#78907c
}

.map-layer {
  background:#fff;
  border:1px solid #dce4d7;
  border-radius:5px;
  color:#657d62;
  font-size:9px;
  padding:6px 9px;
  max-width:180px
}

.diagram-svg {
  display:block;
  width:100%;
  min-height:290px;
  flex:1;
  max-height:400px;
  overflow:visible
}

.diagram-ward {
  cursor:pointer;
  transition:opacity .15s
}

.diagram-ward.dimmed {
  opacity:.45
}

.diagram-ward:hover {
  opacity:1
}

.diagram-ward:hover polygon,.diagram-ward:focus polygon {
  stroke:#345f44;
  stroke-width:3
}

.diagram-ward:focus {
  outline:none
}

.diagram-ward.selected polygon {
  stroke:#b7d6bf;
  stroke-width:4
}

.map-legend {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:10px 18px 15px;
  font-size:9px;
  color:#748771
}

.map-legend>span:first-child {
  margin-right:6px
}

.map-legend>span:nth-last-child(2) {
  margin-left:6px
}

.legend-swatch {
  display:block;
  width:22px;
  height:7px;
  border-radius:1px
}

.map-legend>.badge {
  margin-left:auto;
  font-size:8px
}

.map-disclaimer {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:#eaf0e4;
  padding:10px;
  font-size:9px;
  color:#819277;
  border-top:1px solid #e0e7da
}

/* Catalogs and honest future-module states */
.table-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:17px 20px
}

.search-field {
  display:flex;
  align-items:center;
  gap:9px;
  color:#9aa697;
  border:1px solid var(--border);
  border-radius:6px;
  padding:9px 12px;
  min-width:280px
}

.search-field input {
  border:0;
  outline:none;
  background:none;
  color:var(--ink);
  width:100%;
  font-size:11px
}

.search-field:focus-within {
  outline:2px solid var(--green);
  outline-offset:2px
}

.table-scroll {
  overflow-x:auto
}

table {
  border-collapse:collapse;
  width:100%;
  font-size:11px
}

th {
  text-align:left;
  padding:13px 17px;
  background:#f8faf5;
  color:#798675;
  font-size:9px;
  font-weight:550;
  white-space:nowrap;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border)
}

td {
  padding:15px 17px;
  border-bottom:1px solid #edf0e8;
  white-space:nowrap
}

tbody tr:last-child td {
  border-bottom:0
}

tbody tr:hover {
  background:#fafcf8
}

.numeric {
  text-align:right;
  font-variant-numeric:tabular-nums
}

.ward-link {
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  padding:0;
  font-size:11px;
  color:#3a6041
}

.ward-link small {
  display:block;
  font-size:9px;
  color:#94a08e;
  margin-top:4px
}

.ward-id {
  display:flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  background:#eef4e9;
  color:#8b9c7a;
  border:1px solid #dfe7d7;
  border-radius:6px;
  font-size:10px
}

.ward-link:hover>span:last-child {
  text-decoration:underline
}

.notice {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:15px 18px;
  background:#f0f2e7;
  border:1px solid #e2e7d5;
  border-radius:8px;
  color:#7d876e;
  font-size:11px;
  line-height:1.65;
  margin:20px 0
}

.notice svg {
  margin-top:2px
}

.ward-profile {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  background:#e9f2e3;
  border:1px solid #dce7d3;
  padding:22px 25px;
  border-radius:var(--radius);
  margin-bottom:20px
}

.ward-profile h2 {
  font-size:25px;
  margin:8px 0
}

.ward-profile p {
  font-size:11px
}

.profile-stats {
  min-width:200px
}

.profile-stats .badge {
  margin-top:12px
}

.source-summary {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-bottom:24px
}

.source-summary>div {
  display:grid;
  grid-template-columns:30px 1fr;
  column-gap:12px;
  background:#eaf1e5;
  border:1px solid #dce5d5;
  padding:20px;
  border-radius:10px
}

.source-summary svg {
  grid-row:span 2;
  color:#7a9670
}

.source-summary strong {
  font-size:12px;
  font-weight:550
}

.source-summary span {
  font-size:10px;
  color:#809071;
  margin-top:6px
}

.source-cards {
  display:flex;
  flex-direction:column;
  gap:18px
}

.source-record {
  padding:24px
}

.source-record-heading {
  display:flex;
  align-items:center;
  gap:12px
}

.source-record-heading>.badge {
  margin-left:auto
}

.source-record-heading h2 {
  font-size:15px;
  margin-top:5px
}

.source-record-icon {
  width:38px;
  height:38px;
  background:#f0f5ed;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#86a179
}

.source-record .eyebrow {
  font-size:8px;
  letter-spacing:.08em
}

.source-metadata {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 30px;
  margin:17px 0
}

.source-record>p {
  font-size:11px;
  color:#7e8c75
}

.source-record .source-limitation {
  color:#908468;
  margin:8px 0 15px
}

.source-limitation strong {
  font-weight:550
}

.registry-list {
  padding:0 24px
}

.registry-item {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  padding:22px 0;
  border-bottom:1px solid var(--border)
}

.registry-item:last-child {
  border:0
}

.registry-item h3 {
  font-size:13px;
  margin-bottom:4px
}

.registry-item code {
  color:#8aa078;
  font-size:9px
}

.registry-item p {
  font-size:11px;
  color:#8a9680;
  margin-top:10px
}

.registry-item small {
  display:block;
  color:#8c9983;
  font-size:10px;
  margin:12px 0
}

.formula {
  display:block;
  padding:12px 14px;
  background:#f3f6ee;
  border:1px solid #e7ece0;
  border-radius:6px;
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:10px;
  line-height:1.6;
  color:#618452;
  overflow-wrap:anywhere
}

.empty-state {
  max-width:630px;
  margin:30px auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:45px 30px;
  gap:19px
}

.empty-icon {
  width:65px;
  height:65px;
  border-radius:15px;
  background:#e8f0e2;
  color:#76906b;
  display:flex;
  align-items:center;
  justify-content:center
}

.empty-state h2 {
  font-size:24px;
  line-height:1.3
}

.empty-state p {
  font-size:13px;
  color:#85917c;
  max-width:510px;
  line-height:1.8
}

.empty-state .button {
  margin-top:8px
}

.roadmap-strip {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin:30px 0;
  gap:13px
}

.roadmap-strip>div {
  padding:20px 15px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:10px;
  color:#9caa91
}

.roadmap-strip>div.current {
  background:#eaf2e5;
  border-color:#cfdfc6;
  color:#588246
}

.roadmap-strip>div>span {
  font-size:20px;
  font-weight:500
}

.roadmap-strip strong {
  font-size:11px;
  font-weight:500;
  line-height:1.5
}

.roadmap-strip small {
  font-size:9px
}

.source-dialog {
  padding:28px;
  border:1px solid var(--border);
  border-radius:16px;
  width:min(560px,calc(100vw - 32px));
  max-height:85vh;
  color:var(--ink);
  background:#fff;
  box-shadow:0 20px 100px #10291a33;
  overflow:auto
}

.source-dialog::backdrop {
  background:#10291a70;
  backdrop-filter:blur(3px)
}

.dialog-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:17px
}

.dialog-heading h2 {
  font-size:23px;
  margin-top:7px
}

.dialog-definition {
  font-size:12px;
  color:#74846a;
  margin:15px 0
}

.source-dialog .formula {
  margin-bottom:12px
}

.dialog-source {
  border-top:1px solid var(--border);
  padding-top:16px;
  margin-top:16px
}

.dialog-source h3 {
  font-size:12px
}

.dialog-source p {
  font-size:11px;
  color:#87947e;
  margin-top:8px
}

.source-dialog>.muted {
  margin-top:20px;
  font-size:10px
}

.access-page {
  max-width:1000px;
  margin:auto;
  padding:35px
}

.access-page main {
  margin:65px auto
}

.access-page>.text-link {
  display:flex;
  justify-content:center
}

/* Product introduction */
.landing {
  background:#f6f7f1
}

.landing-nav {
  max-width:1320px;
  margin:auto;
  padding:26px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #e0e6d9;
  gap:30px
}

.landing-nav nav {
  display:flex;
  align-items:center;
  gap:28px;
  font-size:11px;
  color:#75866a
}

.landing-hero {
  max-width:1320px;
  display:grid;
  grid-template-columns:1fr 1.04fr;
  gap:65px;
  margin:auto;
  padding:75px 48px 65px;
  align-items:center
}

.hero-copy>.eyebrow {
  font-size:9px;
  color:#7f976f;
  margin-bottom:27px;
  letter-spacing:.11em
}

.hero-copy h1 {
  font-size:clamp(42px,4.3vw,66px);
  font-weight:500;
  line-height:1.07;
  letter-spacing:-.065em
}

.hero-copy h1 span {
  color:#688963
}

.hero-description {
  font-size:14px;
  line-height:1.85;
  color:#89977d;
  max-width:420px;
  margin-top:25px
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:31px
}

.hero-actions>.text-link {
  font-size:10px
}

.hero-trust {
  display:flex;
  flex-wrap:wrap;
  gap:17px;
  margin-top:28px;
  color:#819576;
  font-size:9px
}

.hero-trust>span {
  display:flex;
  align-items:center;
  gap:5px
}

.product-preview {
  background:#fff;
  border:1px solid #dce5d3;
  border-radius:13px;
  box-shadow:0 14px 40px #3e5d3612;
  overflow:hidden;
  transform:rotate(-1deg)
}

.preview-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#213f2b;
  color:#e1f0d7;
  padding:13px 18px;
  font-size:10px
}

.preview-top>div {
  display:flex;
  align-items:center;
  gap:7px
}

.preview-top .status-dot {
  color:#a6c790
}

.preview-top .badge {
  color:#d7c89d;
  background:#3b4c31;
  border-color:#516345
}

.preview-title {
  padding:19px 23px 15px
}

.preview-title h2 {
  font-size:20px;
  font-weight:550
}

.preview-title p {
  font-size:9px;
  color:#94a487;
  margin-top:5px
}

.preview-metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:0 23px 17px;
  gap:12px
}

.preview-metrics>div {
  padding:7px 10px 7px 0;
  border-right:1px solid #e7eddf
}

.preview-metrics>div:last-child {
  border:0
}

.preview-metrics small {
  font-size:8px;
  color:#8b9f7b;
  display:block
}

.preview-metrics strong {
  font-size:21px;
  letter-spacing:-.035em;
  font-weight:550;
  display:block;
  margin:6px 0
}

.product-preview .ward-diagram {
  border-top:1px solid #e4ecdc
}

.product-preview .diagram-svg {
  height:235px;
  min-height:0;
  max-height:235px
}

.product-preview .map-toolbar {
  padding:10px 16px 0
}

.product-preview .map-legend {
  padding:6px 17px 9px
}

.product-preview .map-caption,.product-preview .map-layer {
  font-size:8px
}

.product-preview .map-disclaimer {
  font-size:8px;
  padding:8px
}

.landing-section {
  max-width:1320px;
  margin:0 auto;
  padding:55px 48px 70px
}

.section-intro {
  margin-bottom:30px
}

.section-intro h2 {
  font-size:31px;
  font-weight:500;
  margin-top:9px;
  letter-spacing:-.045em
}

.section-intro>p:last-child {
  font-size:12px;
  color:#8b9a7f;
  margin-top:12px
}

.capability-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px
}

.capability-card {
  display:flex;
  flex-direction:column;
  padding:26px;
  background:#fff;
  border:1px solid #e0e8d8;
  border-radius:9px;
  transition:border-color .15s
}

.capability-card:hover {
  border-color:#8fae7b
}

.capability-icon {
  display:block;
  color:#78976a;
  margin-bottom:18px
}

.capability-card h3 {
  font-size:16px;
  font-weight:550
}

.capability-card p {
  font-size:11px;
  color:#8a9a7d;
  line-height:1.8;
  margin-top:10px;
  margin-bottom:23px
}

.capability-card .text-link {
  margin-top:auto;
  font-size:10px;
  justify-content:space-between
}

.process-section {
  max-width:1224px;
  margin:0 auto 50px;
  padding:44px 40px;
  border-radius:12px;
  background:#e9f0e1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px
}

.process-section h2 {
  font-size:29px;
  line-height:1.3;
  margin-top:11px;
  max-width:360px;
  font-weight:500
}

.process-section p {
  font-size:12px;
  color:#8c9d7b;
  margin-top:17px;
  max-width:360px
}

.process-section ol {
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:22px
}

.process-section li {
  display:flex;
  gap:18px;
  align-items:center;
  font-size:12px;
  color:#6f865f;
  line-height:1.7
}

.process-section li>span {
  font-size:12px;
  min-width:35px;
  height:35px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c6d8b8;
  border-radius:50%;
  color:#80a069
}

.landing-cta {
  max-width:1224px;
  margin:40px auto 55px;
  padding:36px 40px;
  border:1px solid #dce6d3;
  background:#f0f4e9;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}

.landing-cta h2 {
  font-size:28px;
  margin:8px 0;
  font-weight:500
}

.landing-cta p {
  font-size:12px;
  color:#8a9e78
}

.landing-footer {
  max-width:1320px;
  margin:auto;
  padding:30px 48px;
  border-top:1px solid #dfe7d6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px
}

.landing-footer p {
  font-size:9px;
  color:#95a685
}

.landing-footer>a:last-child {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  color:#769662
}

@media(min-width:1600px) {
  .main-content {
    padding:34px 42px
  }

  .overview-grid {
    grid-template-columns:1.5fr 1fr
  }

  .diagram-svg {
    max-height:455px
  }

  .metric-value {
    font-size:38px
  }

  .metric-card {
    padding:23px
  }

  .page-heading h1 {
    font-size:33px
  }

  .panel-header h2 {
    font-size:15px
  }

  .panel-header p,.bar-row,.stat-row {
    font-size:11px
  }

  .bar-row {
    min-height:29px;
    grid-template-columns:100px minmax(0,1fr) 50px
  }

}

@media(max-width:1200px) {
  .sidebar {
    width:219px
  }

  .sidebar-brand {
    padding-left:18px
  }

  .workspace {
    margin-left:219px;
    width:calc(100% - 219px)
  }

  .main-content {
    padding:24px 22px
  }

  .topbar {
    padding:0 23px
  }

  .global-filters {
    padding:17px 23px
  }

  .global-filters>label {
    padding:0 17px
  }

  .demo-banner {
    padding:8px 23px
  }

  .filter-note {
    display:none
  }

  .overview-grid {
    grid-template-columns:1.2fr 1fr;
    gap:15px
  }

  .metric-card {
    padding:15px
  }

  .metric-top {
    font-size:10px
  }

  .metric-value {
    font-size:29px
  }

  .metric-icon {
    width:23px;
    height:23px
  }

  .metric-icon svg {
    width:15px
  }

  .metric-footer {
    flex-wrap:wrap;
    row-gap:7px
  }

  .bottom-grid {
    grid-template-columns:1fr
  }

  .snapshot-grid {
    padding:20px;
    gap:30px
  }

  .snapshot-stat>span:first-child {
    min-height:0
  }

  .bar-row {
    grid-template-columns:76px minmax(0,1fr) 42px;
    gap:6px;
    font-size:9px
  }

  .panel-header {
    padding:17px
  }

  .chart-body,.quality-body {
    padding-left:17px;
    padding-right:17px
  }

  .page-heading h1 {
    font-size:26px
  }

  .page-heading>.button {
    font-size:10px;
    padding:9px 11px
  }

  .landing-hero {
    gap:35px;
    padding-top:55px
  }

  .process-section,.landing-cta {
    margin-left:48px;
    margin-right:48px
  }

  .hero-actions {
    gap:18px
  }

  .hero-actions>.text-link {
    font-size:9px
  }

}

@media(max-width:1000px) {
  .sidebar {
    transform:translateX(-100%);
    width:238px
  }

  .workspace {
    margin-left:0;
    width:100%
  }

  .mobile-menu {
    display:inline-flex
  }

  .nav-open .sidebar {
    transform:translateX(0)
  }

  .nav-open .nav-overlay {
    display:block;
    position:fixed;
    inset:0;
    background:#162c2477;
    z-index:25
  }

  .main-content {
    max-width:920px;
    margin:auto
  }

  .global-filters {
    justify-content:flex-start
  }

  .filter-note {
    display:flex;
    margin-left:auto
  }

  .landing-nav,.landing-hero,.landing-section,.landing-footer {
    padding-left:32px;
    padding-right:32px
  }

  .landing-nav nav {
    gap:17px
  }

  .landing-hero {
    gap:25px
  }

  .hero-copy h1 {
    font-size:49px
  }

  .hero-actions {
    align-items:flex-start;
    flex-direction:column;
    gap:15px
  }

  .hero-trust {
    gap:10px
  }

  .hero-description {
    font-size:12px
  }

  .hero-copy>.eyebrow {
    font-size:8px;
    line-height:1.8
  }

  .preview-metrics {
    gap:5px;
    padding-left:17px;
    padding-right:17px
  }

  .preview-metrics strong {
    font-size:18px
  }

  .capability-card {
    padding:22px
  }

  .process-section {
    gap:45px;
    margin-left:32px;
    margin-right:32px;
    padding:30px
  }

  .landing-cta {
    margin-left:32px;
    margin-right:32px;
    padding:30px
  }

  .landing-footer p {
    display:none
  }

}

@media(max-width:700px) {
  .topbar {
    height:58px;
    padding:0 17px
  }

  .topbar-actions {
    gap:13px
  }

  .public-status {
    display:none
  }

  .breadcrumbs {
    gap:10px
  }

  .demo-banner {
    padding:9px 18px;
    font-size:9px;
    line-height:1.6;
    align-items:flex-start
  }

  .demo-banner>.badge {
    margin-top:1px;
    flex-shrink:0
  }

  .demo-banner>a {
    display:none
  }

  .global-filters {
    padding:15px 18px;
    flex-wrap:wrap;
    row-gap:16px;
    column-gap:0
  }

  .global-filters>.filter-city {
    width:100%;
    border:0;
    padding:0
  }

  .global-filters label:nth-child(2) {
    padding-left:0;
    min-width:47%
  }

  .global-filters>label:nth-child(3) {
    border:0;
    padding-right:0
  }

  .global-filters .filter-note {
    display:none
  }

  .reset-filters {
    margin-left:auto
  }

  .main-content {
    padding:23px 18px
  }

  .page-heading {
    align-items:flex-start;
    gap:16px;
    margin-bottom:20px
  }

  .page-heading h1 {
    font-size:26px;
    max-width:350px
  }

  .page-heading .eyebrow {
    font-size:8px
  }

  .page-description {
    font-size:10px
  }

  .page-heading>.button {
    display:none
  }

  .metric-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-bottom:18px
  }

  .metric-card {
    padding:15px
  }

  .metric-value {
    font-size:30px
  }

  .metric-footer {
    flex-wrap:nowrap
  }

  .metric-warning {
    font-size:8px
  }

  .metric-context {
    font-size:8px
  }

  .overview-grid {
    grid-template-columns:1fr;
    gap:18px
  }

  .right-column {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px
  }

  .panel-header {
    padding:16px
  }

  .panel-header h2 {
    font-size:12px
  }

  .panel-header p {
    font-size:9px
  }

  .bar-row {
    grid-template-columns:70px minmax(0,1fr) 37px;
    gap:5px
  }

  .bar-label,.bar-value {
    font-size:8px
  }

  .quality-lead {
    gap:7px
  }

  .quality-symbol {
    width:28px;
    height:28px
  }

  .quality-symbol svg {
    width:19px
  }

  .quality-lead strong {
    font-size:9px
  }

  .quality-lead p {
    font-size:8px
  }

  .stat-row {
    font-size:9px
  }

  .chart-body,.quality-body {
    padding-left:14px;
    padding-right:14px
  }

  .chart-footer {
    gap:8px;
    flex-wrap:wrap
  }

  .snapshot-grid {
    gap:13px;
    padding:20px 17px
  }

  .snapshot-stat>span:first-child {
    font-size:8px
  }

  .snapshot-stat>strong {
    font-size:22px
  }

  .map-legend>.badge {
    margin-left:15px
  }

  .diagram-svg {
    min-height:260px;
    max-height:360px
  }

  .workspace-footnote {
    font-size:8px;
    line-height:1.6
  }

  .source-summary {
    gap:10px
  }

  .source-summary>div {
    padding:15px;
    grid-template-columns:1fr;
    gap:7px
  }

  .source-summary strong {
    font-size:11px
  }

  .source-summary span {
    font-size:9px
  }

  .source-record {
    padding:18px
  }

  .source-record-heading {
    align-items:flex-start;
    gap:9px
  }

  .source-record-heading h2 {
    font-size:13px
  }

  .source-record-heading>.badge {
    font-size:8px;
    white-space:normal
  }

  .source-record-icon {
    display:none
  }

  .source-metadata {
    grid-template-columns:1fr;
    gap:0
  }

  .registry-item {
    grid-template-columns:1fr;
    gap:15px
  }

  .registry-list {
    padding:0 18px
  }

  .roadmap-strip {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .roadmap-strip>div {
    padding:15px
  }

  .empty-state {
    margin:10px auto;
    padding:30px 10px
  }

  .empty-state h2 {
    font-size:22px
  }

  .empty-state p {
    font-size:12px
  }

  .ward-profile {
    flex-direction:column;
    align-items:stretch;
    padding:20px
  }

  .ward-profile h2 {
    font-size:23px
  }

  .table-toolbar {
    padding:15px;
    flex-wrap:wrap;
    gap:12px
  }

  .search-field {
    width:100%;
    min-width:0
  }

  .table-toolbar .muted {
    font-size:10px
  }

  .landing-nav {
    padding:20px 22px
  }

  .landing-nav nav>a:not(.button) {
    display:none
  }

  .landing-nav nav {
    gap:0
  }

  .landing-nav .button {
    font-size:10px;
    padding:9px 12px
  }

  .landing-nav .brand strong {
    font-size:9px
  }

  .landing-nav .brand small {
    font-size:8px
  }

  .landing-nav .brand-mark {
    width:31px;
    height:31px
  }

  .landing-hero {
    grid-template-columns:1fr;
    gap:37px;
    padding:48px 24px
  }

  .hero-copy h1 {
    font-size:56px
  }

  .hero-copy>.eyebrow {
    font-size:8px;
    margin-bottom:20px
  }

  .hero-description {
    font-size:13px;
    max-width:480px
  }

  .hero-actions {
    flex-direction:row;
    align-items:center;
    gap:23px
  }

  .hero-trust {
    font-size:9px;
    gap:15px
  }

  .product-preview {
    transform:none;
    max-width:500px;
    width:100%;
    margin:auto
  }

  .preview-metrics {
    padding-left:22px;
    padding-right:22px
  }

  .preview-metrics strong {
    font-size:25px
  }

  .preview-metrics small {
    font-size:9px
  }

  .product-preview .diagram-svg {
    height:255px;
    max-height:255px
  }

  .landing-section {
    padding:22px 24px 40px
  }

  .section-intro h2 {
    font-size:28px
  }

  .section-intro>p:last-child {
    font-size:11px
  }

  .capability-grid {
    grid-template-columns:1fr 1fr;
    gap:13px
  }

  .capability-card {
    padding:20px
  }

  .capability-card h3 {
    font-size:14px
  }

  .capability-card p {
    font-size:10px
  }

  .capability-card .text-link {
    font-size:9px
  }

  .process-section {
    grid-template-columns:1fr;
    gap:25px;
    margin:0 24px 35px;
    padding:25px
  }

  .process-section h2 {
    font-size:27px
  }

  .process-section p {
    font-size:11px;
    max-width:none
  }

  .process-section li {
    font-size:11px
  }

  .landing-cta {
    flex-direction:column;
    align-items:flex-start;
    padding:26px;
    margin:25px 24px 35px;
    gap:20px
  }

  .landing-cta h2 {
    font-size:26px
  }

  .landing-cta p {
    font-size:11px
  }

  .landing-footer {
    padding:25px 24px;
    flex-wrap:wrap;
    gap:20px
  }

  .landing-footer .brand strong {
    font-size:9px
  }

  .landing-footer .brand small {
    font-size:8px
  }

  .access-page {
    padding:23px
  }

  .access-page main {
    margin:40px auto
  }

}

@media(max-width:420px) {
  .metric-card {
    padding:12px
  }

  .metric-top {
    font-size:9px
  }

  .metric-value {
    font-size:27px
  }

  .metric-footer {
    flex-wrap:wrap
  }

  .metric-footer .badge {
    font-size:8px
  }

  .metric-icon {
    width:20px;
    height:20px
  }

  .right-column {
    grid-template-columns:1fr
  }

  .bar-row {
    grid-template-columns:83px minmax(0,1fr) 43px;
    gap:10px;
    font-size:10px
  }

  .bar-label,.bar-value {
    font-size:10px
  }

  .snapshot-grid {
    grid-template-columns:repeat(2,1fr);
    row-gap:22px
  }

  .snapshot-stat>span:first-child {
    font-size:9px
  }

  .global-filters select {
    max-width:159px;
    font-size:10px
  }

  .global-filters label:nth-child(2) {
    min-width:44%
  }

  .global-filters>label {
    padding:0 14px
  }

  .hero-copy h1 {
    font-size:49px
  }

  .hero-actions {
    gap:16px
  }

  .hero-actions .button {
    padding:12px 15px;
    font-size:11px
  }

  .hero-trust {
    font-size:8px;
    gap:12px
  }

  .landing-nav {
    gap:12px
  }

  .landing-nav .brand {
    gap:7px
  }

  .landing-nav .brand strong {
    font-size:8px
  }

  .landing-nav .brand small {
    font-size:7px
  }

  .landing-nav .button {
    font-size:9px;
    padding:9px
  }

  .preview-metrics strong {
    font-size:21px
  }

  .capability-grid {
    grid-template-columns:1fr
  }

  .capability-card {
    padding:23px
  }

  .capability-card h3 {
    font-size:17px
  }

  .capability-card p {
    font-size:12px
  }

  .capability-card .text-link {
    font-size:11px
  }

  .capability-icon {
    margin-bottom:13px
  }

  .map-toolbar {
    padding-left:12px;
    padding-right:12px
  }

  .map-layer {
    font-size:8px;
    max-width:145px
  }

  .source-summary {
    grid-template-columns:1fr
  }

  .page-heading h1 {
    font-size:24px
  }

}

/* Keep evidence labels readable against the light analytical surfaces. */
.imported-badge {background:#e0f0ef;color:#1d615a;border:1px solid #b8d9d5}
.import-downloads,.import-actions {display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.import-picker {display:flex;flex-direction:column;gap:12px;padding:20px;border:1px dashed #96b6a2;border-radius:9px;background:#f1f7f0;margin:20px 0}
.import-picker input {max-width:100%;font-size:12px}
.import-status {font-size:12px;line-height:1.6;margin:15px 0;overflow-wrap:anywhere}
.import-error {color:#9a3b29;background:#fff1eb;padding:12px;border-radius:7px}
.geographic-map {background:#f3f6ef;min-width:0}
.geographic-canvas {height:420px;position:relative;margin-top:10px}
.map-status {font-size:10px;color:#56715a;padding:10px 16px;border-top:1px solid #dde7d9}
.map-ward-list {display:flex;flex-wrap:wrap;gap:7px;padding:15px;max-height:135px;overflow:auto}
.map-ward-chip {padding:6px 9px;border:1px solid #d2e0cf;border-radius:5px;background:white;font-size:10px;color:#4c6b49}
.map-ward-chip.selected {background:#21583c;color:#fff}
.ward-map-marker {background:#246d4b;color:white;border:2px solid white;border-radius:50%;width:32px;height:32px;font-size:10px}
.maplibregl-ctrl-attrib a {text-decoration:underline}
@media(max-width:700px){.geographic-canvas{height:330px}.import-trigger{font-size:10px;padding:8px}.topbar-actions{gap:10px}.map-ward-chip{padding:9px}.global-filters #city-filter{max-width:100%}}
.metric-context,.metric-top,.panel-header p,.quality-lead p,.stat-row>span,.snapshot-stat>span:first-child,.research-notes p,.workspace-footnote,.source-button,.map-caption,.map-disclaimer,.map-legend,.source-record>p,.registry-item p,.registry-item code,.registry-item small,.empty-state p,.table-toolbar .muted,.ward-link small {
  color:#63735d
}

.global-filters label>span:first-child,.filter-note,.filter-note strong,.preview-title p,.preview-metrics small,.hero-description,.hero-trust,.hero-copy>.eyebrow,.section-intro>p:last-child,.capability-card p,.process-section p,.process-section li,.landing-cta p,.landing-footer p,.landing-nav nav {
  color:#627458
}

.metric-warning,.snapshot-stat>small,.source-record .source-limitation {
  color:#7d6948
}

@media(max-width:700px) {
  .page-description,.panel-header p,.metric-top,.metric-context,.source-button,.map-caption,.map-disclaimer,.map-legend,.snapshot-stat>span:first-child,.research-notes p,.research-notes h3,.quality-lead strong,.quality-lead p,.stat-row,.metric-warning,.workspace-footnote {
    font-size:10px
  }

  .global-filters select,.fixed-city {
    font-size:12px
  }

  .snapshot-stat>.source-button {
    font-size:10px
  }

  .diagram-svg text {
    font-size:14px
  }

  .map-layer {
    font-size:10px
  }

  .bar-label,.bar-value {
    font-size:10px
  }

}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important
  }

}
