:root {
  --page-bg:#f6f7f7;
  --card:#fff;
  --text:#171717;
  --muted:#666;
  --border:#d9dddd;
  --soft:#eef1f1;
  --accent:#087f7b;
  --accent-soft:#e9f5f4;
  --good:#137333;
  --good-bg:#edf7ef;
  --warn:#9a6700;
  --warn-bg:#fff7df;
  --bad:#b42318;
  --bad-bg:#fff0ee;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--page-bg)}
button,input{font:inherit} button{cursor:pointer}
.page-shell{width:min(1460px,calc(100vw - 30px));margin:0 auto;padding:10px 0 22px}
.page-header{position:sticky;top:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:8px 0 10px;background:var(--page-bg);border-bottom:1px solid var(--border)}
.site-logo{width:52px;height:auto}.header-right{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px}.header-council-picker{display:grid;gap:5px;min-width:320px}.header-picker-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-select-label{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.header-help-link{padding:0;border:0;background:transparent;color:#075f5c;font-size:.72rem;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.header-help-link:hover{color:#033f3d}.header-help-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.header-council-select{width:100%;padding:9px 10px;border:1px solid #bfc5c5;background:#fff;outline:none}.header-council-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(8,127,123,.12)}
.header-help-button{padding:9px 12px;border:1px solid #bfc5c5;background:#fff;color:#333;font-size:.78rem;font-weight:700;cursor:pointer}
.header-help-button:hover{background:#f6f8f8;border-color:#9fa6a6}
.header-help-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0} h1{margin-bottom:0;font-family:inherit,serif;font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.05} h2{margin-bottom:0;font-size:1.55rem} h3{margin-bottom:10px;font-size:1rem}
.app-grid{display:block;margin-top:14px}
.card{background:var(--card);border:1px solid var(--border)}
.sidebar{position:sticky;top:78px;height:calc(100vh - 94px);display:flex;flex-direction:column;overflow:visible;min-width:0}
.sidebar-toggle{position:absolute;top:12px;right:-14px;z-index:5;width:28px;height:28px;padding:0;border:1px solid #bfc5c5;border-radius:999px;background:#fff;color:#555;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.sidebar-toggle:hover{background:#f7f9f9;color:#111;border-color:#9fa6a6}
.sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sidebar-top{flex:0 0 auto;padding:14px;border-bottom:1px solid var(--border)}
.app-grid.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
.app-grid.sidebar-collapsed .sidebar{width:0;border:0;background:transparent}
.app-grid.sidebar-collapsed .sidebar-top,
.app-grid.sidebar-collapsed .council-list{display:none}
.app-grid.sidebar-collapsed .sidebar-toggle{right:-14px}
.field-label{display:block;margin-bottom:6px;font-size:.78rem;font-weight:700}.search-input{width:100%;padding:9px 10px;border:1px solid #bfc5c5;background:#fff;outline:none}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(8,127,123,.12)}
.filter-row{display:flex;margin-top:10px;border:1px solid var(--border)}.filter-button{flex:1;padding:7px 8px;border:0;background:#fff;color:#555;font-size:.78rem}.filter-button+.filter-button{border-left:1px solid var(--border)}.filter-button.is-active{background:var(--accent-soft);color:#075f5c;font-weight:700}
.council-list{flex:1;min-height:0;overflow:auto;padding:5px}.council-button{display:block;width:100%;padding:9px 10px;border:0;border-left:3px solid transparent;background:transparent;text-align:left}.council-button:hover{background:#f7f9f9}.council-button.is-active{border-left-color:var(--accent);background:var(--accent-soft)}.council-name{display:block;font-size:.86rem;font-weight:700}.council-meta{display:block;margin-top:2px;color:var(--muted);font-size:.7rem}
.workspace{min-width:0}.council-header-card{padding:10px 14px}.council-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.status-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-top:16px}.status-item{padding:9px 10px;background:#fafafa;border:1px solid var(--soft)}.status-label{display:block;color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.status-value{display:block;margin-top:3px;font-size:.88rem;font-weight:700}.council-comment{margin:13px 0 0;padding-top:12px;border-top:1px solid var(--soft);color:#4f4f4f;font-size:.86rem;line-height:1.4}
.tabs{display:flex;margin-top:12px;border:1px solid var(--border);background:#fff}.tab-button{padding:10px 15px;border:0;border-bottom:3px solid transparent;background:#fff;color:#555;font-size:.84rem;font-weight:700}.tab-button.is-active{color:#111;border-bottom-color:var(--accent)}.tab-panel{display:none;margin-top:12px}.tab-panel.is-active{display:block}
.section-card{margin-bottom:12px;padding:15px 16px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.section-subtitle{margin:2px 0 0;color:var(--muted);font-size:.78rem}.metric-line{display:flex;gap:12px;flex-wrap:wrap}.metric{font-size:.76rem;color:var(--muted)}.metric strong{color:#222}
.table-wrap{overflow-x:auto}.rep-table{width:100%;border-collapse:collapse;font-size:.82rem}.rep-table th,.rep-table td{padding:8px 8px;border-bottom:1px solid #e8ebeb;text-align:right;vertical-align:middle}.rep-table th:first-child,.rep-table td:first-child{text-align:left}.rep-table thead th{background:#fafafa;color:#555;font-size:.72rem;white-space:nowrap}.rep-table tfoot th,.rep-table tfoot td{font-weight:700;border-top:1px solid #c9cece}.deviation-bad{color:var(--bad);font-weight:700}.deviation-good{color:var(--good)}
.empty-card{padding:24px;color:var(--muted);text-align:center}.notes-card{padding:18px}.notes-card li{margin:7px 0;line-height:1.4}.muted{color:var(--muted)}
.scenario-main{padding:15px 16px}.action-button{padding:8px 11px;border:1px solid #aaa;background:#fff;font-weight:700;font-size:.8rem}.action-button:hover{filter:brightness(.98)}
.member-stepper{display:inline-flex;align-items:center;border:1px solid #cfd3d3}.member-stepper button{width:28px;height:28px;border:0;background:#f7f8f8}.member-stepper span{min-width:32px;text-align:center;font-weight:700}.small{font-size:.74rem}.source-footer{margin-top:12px;color:var(--muted);font-size:.7rem;text-align:right}
@media(max-width:1000px){.status-grid{grid-template-columns:repeat(2,1fr)}.header-right{align-items:stretch}.header-council-picker{min-width:250px}}
@media(max-width:620px){.page-shell{width:calc(100vw - 18px)}.page-header,.header-right{display:block}.header-council-picker{min-width:0;width:100%;margin-top:10px}.site-logo{margin-top:10px}.status-grid{grid-template-columns:1fr}.council-heading-row{display:block}.tabs{overflow:auto}.tab-button{white-space:nowrap}.rep-table{min-width:650px}}

/* Scenario modeller: retained Māori representation is modelled as a separate population/member group. */
.scenario-heading{margin-bottom:16px}
.scenario-group+.scenario-group{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}

/* Māori/general statutory member calculator */
.member-mix-calculator{margin:-1px -1px 20px;padding:16px;border:1px solid var(--border);background:#fafcfc}
.member-mix-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.member-mix-head h3{margin-bottom:5px}
.member-mix-total{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.member-mix-label{color:var(--muted);font-size:.74rem;font-weight:700}
.member-mix-stepper button{background:#fff}
.member-mix-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.member-mix-result{padding:12px 14px;border:1px solid var(--border);background:#fff}
.member-mix-result-label{display:block;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.member-mix-result strong{display:block;margin-top:3px;font-size:1.45rem;line-height:1.1}
.member-mix-raw{display:block;margin-top:4px;color:var(--muted);font-size:.72rem}
.member-mix-formula{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px;color:#505050;font-size:.75rem}
.member-mix-current{margin:10px 0 0;color:var(--muted);font-size:.76rem}
.scenario-heading-after-mix{margin-top:0}
@media(max-width:720px){.member-mix-head{display:block}.member-mix-total{margin-top:12px;justify-content:space-between}.member-mix-results{grid-template-columns:1fr}.member-mix-formula{display:block}.member-mix-formula span{display:block;margin-top:5px}}


/* LGC notes */
.lgc-card {
  padding: 22px;
}

.lgc-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}

.lgc-head h3 {
  margin: 3px 0 0;
  font-size: 1.2rem;
}

.lgc-date {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.lgc-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 9px 13px;
  border: 1px solid var(--border-strong, #b9c2c8);
  border-radius: 4px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.88rem;
}

.lgc-link-button:hover {
  background: #f5f7f7;
}

.lgc-context {
  margin-top: 18px;
  padding: 12px 14px;
  background: #f7f8f8;
  border-left: 3px solid #8d999f;
  line-height: 1.45;
}

.lgc-summary {
  margin-top: 20px;
}

.lgc-summary h4 {
  margin: 0 0 10px;
  font-size: 1rem;
}

.lgc-summary ul {
  margin: 0;
  padding-left: 21px;
}

.lgc-summary li {
  margin: 0 0 9px;
  line-height: 1.45;
}

.lgc-summary li:last-child {
  margin-bottom: 0;
}

.lgc-source-note {
  margin: 20px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.lgc-empty h3 { margin-top: 0; }
.lgc-empty p:last-child { margin-bottom: 0; }

@media (max-width: 700px) {
  .lgc-head { flex-direction: column; }
  .lgc-link-button { width: 100%; }
}

/* Map tab */
.map-card{padding:15px 16px}
.map-toolbar{margin-bottom:10px}
.map-toolbar h3{margin-bottom:4px}
.map-heading{max-width:920px}
.map-control-stack{margin:0 0 10px;border:1px solid var(--border);background:#fff}
.map-control-row{display:flex;align-items:center;gap:18px;padding:8px 10px}
.map-control-row+.map-control-row{border-top:1px solid var(--soft)}
.map-control-row-secondary{justify-content:flex-start;flex-wrap:wrap}
.map-control-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.map-actions-group{margin-left:auto;justify-content:flex-end}
.map-control-label{margin-right:2px;color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.map-mode-switch,.map-layer-switch{display:inline-flex;border:1px solid var(--border);flex:0 0 auto}
.map-mode-button,.map-layer-button,.map-mesh-button{padding:7px 12px;border:0;background:#fff;color:#555;font-size:.78rem;font-weight:700}
.map-mesh-button{border:1px solid var(--border)}
.map-mesh-button.is-active{background:var(--accent-soft);color:#075f5c}
.map-mesh-button.is-loading{cursor:wait;color:#777;background:#f7f7f7}
.map-mode-button+.map-mode-button,.map-layer-button+.map-layer-button{border-left:1px solid var(--border)}
.map-mode-button.is-active,.map-layer-button.is-active{background:var(--accent-soft);color:#075f5c}
.map-mode-button:disabled,.map-layer-button:disabled{cursor:not-allowed;color:#aaa;background:#f7f7f7}
.map-data-status{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:0 0 10px;background:#fafafa;border:1px solid var(--soft);font-size:.75rem;color:var(--muted)}
.map-data-status span{padding:7px 10px}
.map-data-status span+span{border-left:1px solid #e2e6e6}
.map-data-status strong{color:#222}
.map-status-good{color:var(--good);font-weight:700}
.map-status-bad{color:var(--bad);font-weight:700}
.map-status-warn{color:var(--warn);font-weight:700}
.map-frame{position:relative;border:1px solid var(--border);background:#eef1f1}
#repMap{height:min(66vh,650px);min-height:470px;width:100%;background:#eef1f1}
.map-legend{position:absolute;right:10px;bottom:10px;z-index:500;display:flex;gap:10px;flex-wrap:wrap;padding:7px 9px;background:rgba(255,255,255,.94);border:1px solid #cfd4d4;font-size:.7rem;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.map-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.map-swatch{display:inline-block;width:12px;height:12px;border:2px solid}
.map-swatch-good{border-color:#137333;background:#dff1e3}
.map-swatch-bad{border-color:#b42318;background:#f7d9d5}
.map-swatch-neutral{border-color:#087f7b;background:#dceeee}
.map-swatch-mesh{border-color:#5f6b70;background:repeating-linear-gradient(45deg,#fff,#fff 2px,#d7dcde 2px,#d7dcde 4px)}
.map-boundary-note{margin:10px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}
.map-popup{display:grid;gap:4px;min-width:180px;font-size:.78rem}
.map-popup strong{font-size:.9rem;margin-bottom:2px}
.map-popup span{display:flex;justify-content:space-between;gap:12px}
.popup-good{color:#137333}.popup-bad{color:#b42318}
.leaflet-tooltip{font-family:Arial,Helvetica,sans-serif;font-size:.76rem;font-weight:700}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:2px}

/* Boundary modeller */
.map-boundary-edit-button{padding:7px 12px;border:1px solid var(--border);background:#fff;color:#555;font-size:.78rem;font-weight:700}
.map-boundary-edit-button.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}
.map-boundary-edit-button.is-loading{cursor:wait}
.map-boundary-edit-button:disabled,.map-mesh-button:disabled{cursor:not-allowed;color:#aaa;background:#f7f7f7}
.map-export-button{padding:7px 11px;border:1px solid #aaa;background:#fff;font-weight:700;font-size:.78rem}
.map-export-button:hover{background:#f7f9f9}.map-export-button:disabled{opacity:.6;cursor:wait}.map-import-button{border-style:dashed}
.boundary-editor-panel{margin:0 0 10px;padding:10px 11px;border:1px solid #bfd7d6;background:#f8fbfb}
.boundary-editor-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.boundary-editor-head>div:first-child{display:grid;gap:2px}
.boundary-editor-head strong{font-size:.84rem}
.boundary-editor-head span{font-size:.72rem;color:var(--muted);line-height:1.35}
.boundary-editor-stats{display:flex;gap:0;flex-wrap:wrap;justify-content:flex-end;white-space:nowrap;border:1px solid #dbe5e4;background:#fff}
.boundary-editor-stats span{padding:5px 8px;font-size:.69rem;color:var(--muted)}
.boundary-editor-stats span+span{border-left:1px solid #e5e9e9}
.boundary-editor-stats b{color:#222}
.boundary-editor-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}
.boundary-editor-actions label{font-size:.73rem;font-weight:700}
.boundary-target-select{min-width:210px;padding:7px 9px;border:1px solid #bfc5c5;background:#fff;font-size:.78rem}
.boundary-primary{border-color:#6da9a6;background:var(--accent-soft);color:#075f5c}
.boundary-editor-actions .action-button:disabled{cursor:not-allowed;opacity:.45}
.boundary-editor-more{margin-top:8px;border-top:1px solid #dbe7e6}
.boundary-editor-more summary{display:inline-block;padding-top:7px;color:#365f61;font-size:.7rem;font-weight:700;cursor:pointer}
.boundary-editor-more summary::-webkit-details-marker{display:none}
.boundary-editor-more summary::before{content:'▸ ';color:#617576}.boundary-editor-more[open] summary::before{content:'▾ '}
.boundary-editor-more-body{padding-top:2px}
.boundary-editor-note{margin:7px 0 0;color:var(--muted);font-size:.68rem;line-height:1.35}
.boundary-editor-map-tip{margin:7px 0 0;padding:6px 8px;border-left:3px solid #006d77;background:#edf8f7;color:#365255;font-size:.69rem;line-height:1.4}
.boundary-editor-map-tip strong{color:#075f5c}
.boundary-editor-warning{margin:7px 0 0;padding:7px 9px;border:1px solid #e7c56f;background:#fff9e8;color:#6b5315;font-size:.68rem;line-height:1.4}
.map-swatch-moved{border-color:#6f42c1;background:#e9ddfa}.map-swatch-selected{border-color:#111;background:#f2c94c}
.mesh-reference-note{display:block;margin-top:8px;padding-top:7px;border-top:1px solid var(--soft);color:var(--muted);font-size:.72rem;font-weight:600;line-height:1.35}.map-data-status em{font-style:normal;color:var(--muted);font-size:.7rem;font-weight:500}

/* Scenario export */
.scenario-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.export-scenario-button{border-color:#8aa7a5}.import-scenario-button{border-style:dashed}.export-scenario-button:disabled,.import-scenario-button:disabled{opacity:.6;cursor:wait}

/* Ward/constituency structure tools */
.boundary-structure-disclosure{margin-top:8px;border-top:1px solid #dbe7e6}
.boundary-structure-disclosure>summary{display:flex;align-items:center;gap:8px;padding-top:7px;list-style:none;cursor:pointer;color:#333}
.boundary-structure-disclosure>summary::-webkit-details-marker{display:none}
.boundary-structure-disclosure>summary::before{content:'▸';color:#617576;font-size:.7rem}
.boundary-structure-disclosure[open]>summary::before{content:'▾'}
.boundary-structure-disclosure>summary strong{font-size:.72rem}
.boundary-structure-disclosure>summary span{color:var(--muted);font-size:.68rem}
.boundary-structure-disclosure>summary em{margin-left:auto;color:#075f5c;font-size:.67rem;font-style:normal;font-weight:700}
.boundary-structure-tools{margin-top:7px;padding:8px 0 0;border-top:1px solid #e5eceb}
.boundary-structure-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.boundary-structure-head span{font-size:.68rem;color:var(--muted);line-height:1.35}
.boundary-structure-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.boundary-structure-buttons .action-button{padding:6px 9px;font-size:.72rem}
.boundary-structure-buttons .action-button.is-active{background:#e9f5f4;border-color:#8fc2c0;color:#075f5c}
.boundary-structure-buttons .action-button:disabled{opacity:.4;cursor:not-allowed}
.structure-action-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:8px;padding:8px 9px;border:1px solid #dbe5e4;background:#fff}
.structure-action-panel>div:first-child{display:grid;gap:2px;min-width:160px}.structure-action-panel strong{font-size:.73rem}.structure-action-panel span{font-size:.66rem;color:var(--muted);line-height:1.35}
.structure-form{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.structure-form input[type=text],.structure-form select{min-width:190px;padding:6px 8px;border:1px solid #bfc5c5;background:#fff;font-size:.72rem}.structure-form label{display:flex;align-items:center;gap:5px;color:#555;font-size:.68rem;font-weight:700}.structure-form input[type=number]{width:62px;padding:6px 5px;border:1px solid #bfc5c5}.structure-form .action-button{padding:6px 9px;font-size:.72rem}.structure-form-wide select{min-width:160px}.boundary-danger{border-color:#d6a7a3;background:#fff5f3;color:#8c2017}
.structure-changed-badge{padding:4px 7px;border:1px solid #9fcfcd;background:#edf8f7;color:#075f5c;font-size:.65rem!important;font-weight:700;white-space:nowrap}

@media(max-width:900px){.map-control-row-secondary{align-items:flex-start;flex-direction:column}.map-actions-group{margin-left:0;justify-content:flex-start}.boundary-editor-head{display:block}.boundary-editor-stats{margin-top:7px;justify-content:flex-start;width:max-content;max-width:100%}}
@media(max-width:700px){.map-control-row{display:block}.map-control-group{margin-top:6px}.map-control-label{display:block;width:100%;margin-bottom:3px}.map-mode-button,.map-layer-button,.map-mesh-button{flex:1}.map-mode-switch,.map-layer-switch{display:flex;width:100%}.map-actions-group{display:grid;grid-template-columns:1fr 1fr;width:100%}.map-actions-group .map-control-label{grid-column:1/-1}.map-boundary-edit-button,.map-export-button{width:100%}#repMap{min-height:420px;height:58vh}.map-legend{left:8px;right:8px;bottom:8px}.map-data-status span+span{border-left:0}.map-data-status span{padding:5px 8px}.boundary-editor-actions{display:grid;grid-template-columns:1fr 1fr}.boundary-editor-actions label{grid-column:1/-1}.boundary-target-select{grid-column:1/-1;width:100%;min-width:0}.structure-action-panel{display:block}.structure-form{justify-content:flex-start;margin-top:8px}.structure-form input[type=text],.structure-form select{min-width:0;width:100%}}

/* Scenario modelling clarifications */
.boundary-editor-warning{margin:8px 0 0;padding:8px 10px;border:1px solid #e7c56f;background:#fff9e8;color:#6b5315;font-size:.69rem;line-height:1.4}
.scenario-at-large-note{margin:10px 0 4px;padding:9px 11px;border:1px solid var(--border);background:#fafafa;color:var(--muted);font-size:.75rem;line-height:1.45}
.scenario-at-large-note strong{color:#222}


/* Boundary modeller map labels */
.map-area-label-icon{background:transparent!important;border:0!important}
.map-area-label{transform:translate(-50%,-50%);display:inline-flex;flex-direction:column;align-items:center;gap:1px;max-width:170px;padding:5px 8px;background:rgba(255,255,255,.94);border:1.5px solid #425156;border-radius:3px;color:#1d2a2d;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;line-height:1.1;text-align:center;white-space:normal;box-shadow:0 1px 4px rgba(0,0,0,.24);cursor:pointer;pointer-events:auto}
.map-area-label strong{font-size:.75rem;font-weight:800}
.map-area-label:hover{border-color:#006d77;background:#f2fbfa;box-shadow:0 2px 7px rgba(0,0,0,.28)}
.map-area-label.is-target{background:#006d77;color:#fff;border-color:#004f56;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 2px 8px rgba(0,0,0,.32)}
.map-area-label-kicker{font-size:.55rem;letter-spacing:.08em;font-weight:900;opacity:.9}
.boundary-editor-map-tip{margin:8px 0 0;padding:7px 9px;border-left:3px solid #006d77;background:#edf8f7;color:#365255;font-size:.7rem;line-height:1.4}
.boundary-editor-map-tip strong{color:#075f5c}
@media(max-width:700px){.map-area-label{max-width:120px;padding:4px 6px;font-size:.64rem}.map-area-label strong{font-size:.67rem}}

/* Retained-Maori boundary planning */
.population-uncertainty{display:block;margin-top:2px;color:#8a5b00;font-size:.64rem;line-height:1.25}.metric-warning{color:#8a5b00!important}.metric-warning strong{color:#8a5b00!important}

.map-status-warn{color:#8a5b00;font-weight:700}

/* Community / local boards and subdivisions */
.community-board-section{margin-top:18px}
.community-board-section .section-subtitle,.community-subdivision-group .section-subtitle{max-width:760px}
.community-board-table .community-derived-members{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.2}
.community-outside-row{background:#f5f7f7;color:#687377}
.community-outside-row td:first-child{font-style:italic}
.community-scenario-card{margin-top:18px}
.community-planning-note,.community-unassigned-warning{margin:12px 0;padding:10px 12px;border:1px solid #d9dfdf;background:#f7f9f9;font-size:13px;line-height:1.45;color:#485356}
.community-unassigned-warning{border-color:#e4c36d;background:#fff8e4;color:#5d4a17}
.community-subdivision-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin:24px 0 8px}
.community-subdivision-heading h3{margin:0}
.community-subdivision-heading p{margin:4px 0 0}
.community-subdivision-group{margin:14px 0 22px;padding-top:2px}
.community-subdivision-group+.community-subdivision-group{border-top:1px solid var(--border);padding-top:20px}
.subdivision-board-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.subdivision-board-picker span{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}
.subdivision-board-picker select{min-width:190px;max-width:340px;padding:7px 9px;border:1px solid var(--border);background:#fff;color:var(--text);font:inherit;font-size:.78rem}
.metric-warning{border-color:#e4c36d!important;background:#fff8e4!important;color:#6a5111!important}

@media (max-width:720px){
  .community-subdivision-heading{align-items:stretch}
  .subdivision-board-picker{width:100%}
  .subdivision-board-picker select{min-width:0;width:100%}
}

/* Empty scenario areas */
.scenario-empty-area{background:#fff8e4}
.scenario-empty-note{display:block;margin-top:2px;color:#8a5b00;font-size:.66rem;font-weight:600;line-height:1.25}


/* Help panel */
.help-dialog{width:min(760px,calc(100vw - 30px));max-height:min(82vh,760px);padding:0;border:1px solid #aeb5b5;background:#fff;color:var(--text);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.help-dialog::backdrop{background:rgba(24,31,31,.28)}
.help-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px 14px;border-bottom:1px solid var(--border);background:#fff}
.help-dialog-head h2{font-size:1.35rem}
.help-close{width:32px;height:32px;padding:0;border:1px solid #bfc5c5;background:#fff;color:#444;font-size:1.35rem;line-height:1;cursor:pointer}
.help-close:hover{background:#f6f8f8}
.help-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.help-dialog-body{padding:4px 18px 18px;overflow:auto}
.help-section{padding:13px 0;border-bottom:1px solid #e5e9e9}
.help-section:last-child{border-bottom:0}
.help-section h3{margin:0 0 5px;font-size:.92rem}
.help-section p{margin:0;color:#444;font-size:.8rem;line-height:1.5}
@media(max-width:620px){.help-dialog{width:calc(100vw - 16px);max-height:88vh}.help-dialog-head{padding:13px 14px 11px}.help-dialog-body{padding:3px 14px 14px}}

@media(max-width:620px){.header-right{display:grid;grid-template-columns:auto 1fr auto;align-items:end}.header-help-button{width:auto}.header-council-picker{margin-top:0}}

/* Basemap selector */
.map-basemap-group{flex:0 0 auto}
.map-basemap-select{min-width:150px;padding:7px 28px 7px 9px;border:1px solid var(--border);background:#fff;color:#444;font-size:.78rem;font-weight:700}
.map-basemap-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(8,127,123,.12)}
@media(max-width:700px){.map-basemap-group{width:100%}.map-basemap-select{width:100%;min-width:0}}
