:root {
  --bg: #020617;
  --panel: rgba(15, 23, 42, 0.88);
  --panel-strong: rgba(15, 23, 42, 0.96);
  --line: rgba(148, 163, 184, 0.24);
  --text: #f8fafc;
  --soft: #cbd5e1;
  --muted: #94a3b8;
  --green: #22c55e;
  --green-dark: #15803d;
  --pink: #ec4899;
  --blue: #38bdf8;
  --amber: #f59e0b;
  --danger: #ef4444;
}
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; font-family: Montserrat, Arial, sans-serif; background: var(--bg); color: var(--text); overflow: hidden; }
button, input { font-family: inherit; }
#map { position: absolute; inset: 0; z-index: 1; }
.hidden { display: none !important; }
.panel { background: linear-gradient(180deg, var(--panel), rgba(15, 23, 42, 0.74)); border: 1px solid var(--line); box-shadow: 0 18px 45px rgba(0,0,0,.42); backdrop-filter: blur(12px); }
.screen { position: absolute; inset: 0; z-index: 1000; display: grid; place-items: center; background: rgba(2, 6, 23, 0.64); }
.auth-card, .workspace-card { width: min(540px, calc(100vw - 32px)); border-radius: 22px; padding: 28px; }
.auth-card h1, .workspace-card h1 { margin: 8px 0 8px; letter-spacing: 1px; }
.eyebrow { color: var(--green); text-transform: uppercase; letter-spacing: 1.4px; font-size: 11px; font-weight: 900; }
.muted { color: var(--soft); line-height: 1.45; }
.small-muted { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 6px 0 10px; }
.message { min-height: 22px; color: var(--soft); font-size: 13px; }
.message.error { color: #fecaca; }
.auth-grid { display: grid; gap: 12px; margin: 18px 0; }
label { color: var(--soft); font-size: 12px; font-weight: 800; display: grid; gap: 6px; }
input { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: rgba(15,23,42,.72); color: var(--text); padding: 12px 13px; outline: none; }
input[type=file] { padding: 10px; font-size: 11px; }
input:focus { border-color: rgba(34,197,94,.65); }
.auth-details { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
.auth-details summary { cursor: pointer; color: var(--soft); font-weight: 800; margin-bottom: 12px; }
.app { position: absolute; inset: 0; z-index: 10; pointer-events: none; }
.app * { pointer-events: auto; }
.sidebar { position: absolute; left: 10px; top: 10px; bottom: 10px; width: 330px; border-radius: 18px; overflow-y: auto; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; padding: 16px; border-bottom: 1px solid var(--line); }
.brand-mark { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(180deg, var(--green), var(--green-dark)); font-weight: 900; }
.brand-title { font-size: 18px; font-weight: 900; letter-spacing: 2.2px; }
.brand-subtitle { font-size: 11px; color: var(--muted); margin-top: 4px; }
.section { padding: 14px; border-bottom: 1px solid var(--line); }
.section-heading { text-transform: uppercase; letter-spacing: 1.2px; color: var(--soft); font-size: 11px; font-weight: 900; margin-bottom: 10px; }
.btn, .tab, .module, .icon-btn, .pill { border: 1px solid var(--line); border-radius: 11px; background: rgba(15,23,42,.78); color: var(--text); font-weight: 800; cursor: pointer; }
.btn { width: 100%; min-height: 40px; padding: 10px 12px; margin-top: 8px; }
.btn:hover, .tab:hover, .module:hover, .pill:hover { border-color: rgba(34,197,94,.48); }
.btn.primary, .tab.active, .pill.active { background: linear-gradient(180deg, rgba(34,197,94,.92), rgba(21,128,61,.92)); border-color: rgba(74,222,128,.55); }
.btn.ghost { background: rgba(15,23,42,.42); color: var(--soft); }
.btn.danger { border-color: rgba(239,68,68,.55); color: #fecaca; }
.btn.small { width: auto; min-height: 34px; margin: 0; padding: 8px 14px; }
.button-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.module { width: 100%; padding: 12px; text-align: left; margin: 6px 0; }
.wizard-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.pill { padding: 9px 10px; font-size: 12px; }
.mode-panel { border: 1px solid rgba(148,163,184,.14); border-radius: 12px; padding: 10px; background: rgba(2,6,23,.18); }
.info-list { display: grid; gap: 8px; }
.info-list div { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--muted); }
.info-list strong { color: var(--text); text-align: right; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar { position: absolute; left: 350px; top: 10px; right: 390px; min-height: 64px; border-radius: 18px; display: grid; grid-template-columns: repeat(4,minmax(110px,1fr)) auto; gap: 10px; align-items: center; padding: 10px; z-index: 20; }
.kpi { border: 1px solid rgba(148,163,184,.15); border-radius: 14px; padding: 9px 12px; background: rgba(15,23,42,.48); }
.kpi span { display: block; color: var(--muted); font-size: 10px; margin-bottom: 4px; }
.kpi strong { font-size: 16px; }
.basemap-tabs { position: absolute; left: 350px; top: 88px; border-radius: 14px; padding: 7px; display: flex; gap: 7px; z-index: 20; }
.tab { padding: 9px 16px; color: var(--soft); }
.right-panel { position: absolute; right: 10px; top: 10px; bottom: 10px; width: 360px; border-radius: 18px; z-index: 20; display: flex; flex-direction: column; }
.panel-header { display: flex; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 1px solid var(--line); text-transform: uppercase; letter-spacing: 1.2px; font-size: 12px; color: var(--soft); }
.icon-btn { width: 32px; height: 32px; }
.action-list { padding: 14px; overflow-y: auto; }
.action-list.empty { color: var(--muted); font-size: 13px; line-height: 1.45; }
.action-card { border: 1px solid var(--line); border-radius: 12px; padding: 12px; margin-bottom: 10px; background: rgba(30,41,59,.65); }
.action-card strong { display: block; margin-bottom: 5px; }
.action-card span { color: var(--muted); font-size: 12px; display: block; margin-top: 4px; }
.workspace-list { display: grid; gap: 8px; margin: 18px 0; max-height: 320px; overflow-y: auto; }
.workspace-item { text-align: left; width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 12px; background: rgba(15,23,42,.72); color: var(--text); cursor: pointer; }
.workspace-item span { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.toast { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 2000; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 14px; padding: 12px 16px; color: var(--text); box-shadow: 0 12px 32px rgba(0,0,0,.45); }
.maplibregl-popup-content { background: var(--panel-strong); color: var(--text); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; font-family: Montserrat, Arial, sans-serif; }
.maplibregl-popup-tip { border-top-color: var(--panel-strong) !important; }
.maplibregl-ctrl-group { background: var(--panel-strong) !important; border: 1px solid var(--line) !important; }
@media (max-width: 1250px) { .right-panel { display: none; } .topbar { right: 10px; grid-template-columns: repeat(2,minmax(120px,1fr)); } }

/* V6 boundary editing and layer panel */
.layer-toggle {
  display: flex;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  margin: 8px 0 4px;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 11px;
  background: rgba(15,23,42,.55);
  cursor: pointer;
  color: var(--text);
  font-weight: 800;
}
.layer-toggle input {
  width: auto;
  accent-color: var(--green);
}
.cp-vertex-marker {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  border: 3px solid rgba(15, 23, 42, 0.85);
  box-shadow: 0 2px 10px rgba(0,0,0,.45);
  cursor: grab;
}
.cp-vertex-marker:active { cursor: grabbing; }
.cp-midpoint-marker {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #38bdf8;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 9px rgba(0,0,0,.45);
  cursor: copy;
}
.cp-midpoint-marker:hover {
  transform: scale(1.25);
}

/* V7 bottom-right map layers panel */
.layers-panel {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 300px;
  max-height: min(78vh, 760px);
  border-radius: 16px;
  padding: 0;
  z-index: 30;
  overflow: hidden;
}
.layers-panel.dragging {
  user-select: none;
}
.layers-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px 8px;
  border-bottom: 1px solid var(--line);
  cursor: move;
}
.layers-panel-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.layers-panel-body {
  padding: 12px 14px 14px;
  max-height: calc(min(78vh, 760px) - 44px);
  overflow-y: auto;
}
.layers-panel.minimised {
  width: 210px;
}
.layers-panel.minimised .layers-panel-body {
  display: none;
}
.panel-mini-btn {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(15, 23, 42, 0.72);
  color: var(--text);
  font-weight: 900;
  cursor: pointer;
}
.panel-mini-btn:hover {
  border-color: rgba(34,197,94,.55);
}
.layers-title {
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--soft);
  font-size: 11px;
  font-weight: 900;
  margin-bottom: 8px;
}
.layer-toggle.compact {
  margin: 0;
  padding: 9px 10px;
  background: rgba(15,23,42,.72);
}
.layer-note {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  margin-top: 8px;
}
.cp-midpoint-marker {
  cursor: grab;
  opacity: 0.9;
}
.cp-midpoint-marker:active,
.cp-midpoint-marker.active {
  cursor: grabbing;
  transform: scale(1.25);
}
@media (max-width: 900px) {
  .layers-panel { right: 12px; bottom: 12px; width: 250px; max-height: 70vh; }
}

/* V8 project setup workflow */
.section-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 0 0 10px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-size: 11px;
  font-weight: 900;
}
.section-toggle strong {
  color: var(--muted);
  font-size: 10px;
  max-width: 92px;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.project-setup.collapsed .project-setup-body { display: none; }
.project-name-label { margin-bottom: 10px; }
.tool-group { margin-top: 8px; }
.file-button {
  width: 100%;
  min-height: 40px;
  padding: 10px 12px;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(15,23,42,.78);
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
  display: grid;
  place-items: center;
  text-align: center;
}
.file-button:hover { border-color: rgba(34,197,94,.48); }
.file-button input { display: none; }
.mode-card {
  border: 1px solid rgba(56,189,248,.45);
  border-radius: 13px;
  background: rgba(8,47,73,.44);
  padding: 12px;
}
.mode-card strong { display: block; margin-bottom: 6px; }
.mode-card p { color: var(--soft); font-size: 12px; line-height: 1.45; margin: 0 0 8px; }
.project-kpi strong { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.layers-subtitle {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1.1px;
}
.layer-toggle.disabled { opacity: 0.48; cursor: not-allowed; }
#top-save-status.saved { color: #86efac; }
#top-save-status.unsaved { color: #fbbf24; }

/* V9.2 Land Cover layer and summary */
.land-cover-legend {
  margin-top: 8px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 12px;
  background: rgba(2,6,23,.25);
  padding: 9px 10px;
}
.legend-title {
  color: var(--soft);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.legend-row {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 8px;
  align-items: center;
  color: var(--soft);
  font-size: 11px;
  margin: 5px 0;
}
.legend-swatch {
  width: 13px;
  height: 13px;
  border-radius: 3px;
  display: inline-block;
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 1px 4px rgba(0,0,0,.32);
}
.land-cover-summary {
  border-top: 1px solid var(--line);
  padding: 14px;
  overflow-y: auto;
  max-height: 48%;
}
.summary-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 8px;
}
.summary-header strong {
  text-transform: uppercase;
  letter-spacing: 1.1px;
  font-size: 12px;
}
.summary-header span,
.summary-total {
  color: var(--muted);
  font-size: 11px;
}
.summary-total {
  margin-bottom: 10px;
}
.summary-total strong { color: var(--text); }
.summary-note {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  margin: -4px 0 10px;
}

.summary-table {
  display: grid;
  gap: 5px;
}
.summary-row {
  display: grid;
  grid-template-columns: 16px 1fr auto auto;
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid rgba(148,163,184,.14);
  border-radius: 10px;
  background: rgba(15,23,42,.42);
  font-size: 11px;
}
.summary-name { color: var(--soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.summary-area { color: var(--text); font-weight: 800; }
.summary-percent { color: var(--green); font-weight: 900; min-width: 44px; text-align: right; }

/* V9.8 diagnostic rows for national layer analysis */
.summary-debug {
  margin-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 8px;
}
.summary-row.debug-row {
  grid-template-columns: 1.2fr 2fr;
  font-size: 11px;
  opacity: 0.9;
}
.summary-row.debug-row .summary-area {
  text-align: right;
  word-break: break-word;
}


/* V11 land-cover intelligence */
.summary-export {
  margin-top: 10px;
}
.land-cover-summary:not(.hidden) {
  display: block;
}
.legend-row span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
}


/* V12 land-cover summary chart and warnings */
.summary-bar {
  display: flex;
  width: 100%;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  margin: 10px 0 8px;
  border: 1px solid rgba(255,255,255,0.1);
}
.summary-bar-segment {
  display: block;
  height: 100%;
  min-width: 1px;
}
.summary-warning {
  border: 1px solid rgba(250, 204, 21, 0.35);
  background: rgba(250, 204, 21, 0.09);
  color: #fde68a;
  border-radius: 8px;
  padding: 8px 9px;
  font-size: 11px;
  line-height: 1.4;
  margin: 8px 0;
}


/* V13 evidence layer visualisation */
.summary-note + .summary-table {
  margin-top: 8px;
}
.evidence-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.08);
  color: #bfdbfe;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}


/* V14 smoother evidence overlay */
.summary-debug { margin-top: 10px; }


/* V15 boundary focus and PostGIS-ready analysis */
.summary-method-badge {
  display: inline-flex;
  border: 1px solid rgba(34,197,94,0.35);
  background: rgba(34,197,94,0.08);
  color: #bbf7d0;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 10px;
}


/* V16 layer control: context layers plus mutually exclusive polygon evidence layers */
.layers-subtitle {
  margin-top: 12px;
}
.layer-toggle input[type="radio"] {
  width: auto;
  margin-right: 8px;
  accent-color: var(--green);
}
.layer-toggle input[type="checkbox"] {
  accent-color: var(--green);
}
.layer-toggle.disabled {
  opacity: 0.42;
}


/* V17 waterways analysis */
.summary-subheading {
  margin: 12px 0 6px;
  color: var(--soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
#waterways-summary {
  margin-top: 10px;
}


/* V20 catchment report */
.report-main-btn {
  font-size: 14px;
  padding: 13px 14px;
}
.report-screen {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(2, 6, 23, 0.72);
  backdrop-filter: blur(10px);
  padding: 24px;
  overflow: auto;
}
.report-shell {
  max-width: 1180px;
  margin: 0 auto;
  background: #f8fafc;
  color: #0f172a;
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(0,0,0,.42);
  overflow: hidden;
}
.report-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 22px 26px;
  border-bottom: 1px solid #e2e8f0;
  background: #ffffff;
}
.report-toolbar h1 {
  margin: 4px 0 0;
  font-size: 26px;
  letter-spacing: -0.03em;
}
.report-toolbar .eyebrow { color: #64748b; }
.report-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.report-content {
  padding: 24px 26px 30px;
}
.report-loading,
.report-error {
  padding: 34px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  display: grid;
  gap: 8px;
}
.report-hero {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 20px;
  align-items: stretch;
  margin-bottom: 18px;
}
.report-hero > div:first-child {
  background: linear-gradient(135deg, #0f172a, #064e3b);
  color: #fff;
  border-radius: 20px;
  padding: 24px;
}
.report-hero h2 {
  margin: 6px 0 10px;
  font-size: 30px;
  letter-spacing: -0.04em;
}
.report-hero p {
  color: #d1fae5;
  line-height: 1.45;
  max-width: 720px;
}
.report-map-card {
  border-radius: 20px;
  overflow: hidden;
  background: #0f172a;
  min-height: 230px;
  border: 1px solid #cbd5e1;
}
.report-map-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.report-map-fallback {
  height: 100%;
  min-height: 230px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #e2e8f0;
}
.report-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}
.report-kpis div,
.report-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 18px;
}
.report-kpis span,
.report-metric-list span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.report-kpis strong {
  display: block;
  margin-top: 6px;
  font-size: 22px;
}
.report-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.report-card-wide {
  grid-column: 1 / -1;
}
.report-card h3 {
  margin: 0 0 14px;
  font-size: 19px;
}
.report-card h4 {
  margin: 16px 0 8px;
  color: #334155;
}
.report-card-intro {
  color: #475569;
  margin-top: -5px;
  line-height: 1.45;
}
.report-chart-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 18px;
  align-items: start;
}
.report-pie {
  width: 170px;
  height: 170px;
  border-radius: 50%;
  border: 10px solid #f1f5f9;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.1);
}
.report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.report-table th {
  text-align: left;
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-bottom: 1px solid #e2e8f0;
  padding: 8px;
}
.report-table td {
  border-bottom: 1px solid #f1f5f9;
  padding: 9px 8px;
}
.report-table td:nth-child(2),
.report-table td:nth-child(3) {
  text-align: right;
  font-weight: 800;
}
.report-swatch {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 3px;
  margin-right: 8px;
  vertical-align: middle;
}
.report-metric-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.report-metric-list div {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 12px;
}
.report-metric-list strong {
  display: block;
  margin-top: 5px;
  font-size: 18px;
}
.report-bars {
  display: grid;
  gap: 8px;
}
.report-bar-row {
  display: grid;
  grid-template-columns: 70px 1fr 70px;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
.report-bar-row strong { text-align: right; }
.report-bar-track {
  height: 11px;
  background: #e2e8f0;
  border-radius: 999px;
  overflow: hidden;
}
.report-bar-track i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #0284c7, #22c55e);
  border-radius: 999px;
}
.report-notes {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.report-notes p {
  margin: 0;
  color: #334155;
  background: #f8fafc;
  border-left: 4px solid #22c55e;
  padding: 10px 12px;
  border-radius: 10px;
}
@media (max-width: 900px) {
  .report-hero,
  .report-grid,
  .report-chart-row {
    grid-template-columns: 1fr;
  }
  .report-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print {
  body > *:not(#catchment-report-screen) { display: none !important; }
  .report-screen {
    position: static;
    padding: 0;
    background: #fff;
    overflow: visible;
  }
  .report-shell {
    box-shadow: none;
    border-radius: 0;
  }
  .report-actions { display: none; }
}


/* V32.15 floating active landscape-characteristics key.
   Default is in the map canvas, immediately right of the left sidebar. */
.active-layer-key-panel {
  position: absolute;
  left: 358px;
  right: auto;
  top: 230px;
  width: 300px;
  max-height: 420px;
  overflow: hidden;
  border-radius: 16px;
  z-index: 34;
  pointer-events: auto;
}

.active-key-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 11px;
}

.active-layer-key-body {
  padding: 10px 12px 12px;
  max-height: 360px;
  overflow: auto;
}

.active-layer-key-body .legend-title {
  font-size: 11px;
  color: var(--soft);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 900;
  margin-bottom: 8px;
}

.active-layer-key-body .legend-row {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  font-size: 11px;
  color: var(--soft);
}

.active-layer-key-body .legend-row small {
  color: var(--muted);
  font-size: 10px;
  text-align: right;
}

.active-layer-key-body .legend-swatch {
  width: 13px;
  height: 13px;
  border-radius: 3px;
  border: 1px solid rgba(255,255,255,.28);
}

.layers-panel .land-cover-legend,
.layers-panel #sediment-risk-legend {
  display: none !important;
}

.report-status-note {
  border: 1px solid rgba(245,158,11,.35);
  background: rgba(245,158,11,.08);
  border-radius: 12px;
  padding: 10px 12px;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.45;
}

.report-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.report-mini-grid div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(15, 23, 42, 0.45);
}

.report-mini-grid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-bottom: 4px;
}

.report-mini-grid strong {
  display: block;
  color: var(--text);
  font-size: 16px;
}


/* V26 sediment raster and report additions */
.active-layer-key-panel {
  position: absolute;
  right: 410px;
  top: 385px;
  width: 260px;
  max-height: 420px;
  overflow: hidden;
  border-radius: 16px;
  z-index: 35;
  pointer-events: auto;
}
.active-key-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 11px;
}
.active-layer-key-body {
  padding: 10px 12px 12px;
  max-height: 360px;
  overflow: auto;
}
.active-layer-key-body .legend-title {
  font-size: 11px;
  color: var(--soft);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 900;
  margin-bottom: 8px;
}
.active-layer-key-body .legend-row {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  font-size: 11px;
  color: var(--soft);
}
.active-layer-key-body .legend-row small {
  color: var(--muted);
  font-size: 10px;
  text-align: right;
}
.active-layer-key-body .legend-swatch {
  width: 13px;
  height: 13px;
  border-radius: 3px;
  border: 1px solid rgba(255,255,255,.28);
}
.layers-panel .land-cover-legend,
.layers-panel #sediment-risk-legend {
  display: none !important;
}
.report-status-note {
  border: 1px solid rgba(245,158,11,.35);
  background: rgba(245,158,11,.08);
  border-radius: 12px;
  padding: 10px 12px;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.45;
}
.report-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.report-mini-grid div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(15, 23, 42, 0.45);
}
.report-mini-grid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-bottom: 4px;
}
.report-mini-grid strong {
  display: block;
  color: var(--text);
  font-size: 16px;
}
.report-opportunity-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.report-opportunity-list li {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(15, 23, 42, 0.42);
  color: var(--soft);
  font-size: 12px;
  line-height: 1.45;
}

/* V26.3 Land Planner tidy */
.layer-toggle {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
}
.layer-status {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.65);
  background: rgba(15, 23, 42, 0.92);
  box-shadow: inset 0 0 0 2px rgba(2, 6, 23, 0.55);
}
.layer-toggle input:checked ~ .layer-status,
.layer-toggle.active .layer-status {
  background: var(--green);
  border-color: rgba(134, 239, 172, 0.95);
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.16), 0 0 10px rgba(34, 197, 94, 0.65);
}
.layer-toggle.disabled .layer-status {
  opacity: 0.4;
}
.layers-subtitle {
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 1.1px;
  font-size: 10px;
  font-weight: 900;
  margin: 14px 0 6px;
}
.active-key-header {
  cursor: move;
}
.active-layer-key-panel.dragging,
.layers-panel.dragging {
  user-select: none;
  opacity: 0.96;
}
.active-layer-key-panel.minimised {
  width: 230px;
}
.active-layer-key-panel.minimised .active-layer-key-body {
  display: none;
}
.brand-title {
  letter-spacing: 2px;
}

.legend-units {
  color: rgba(226, 232, 240, 0.82);
  font-size: 10px;
  font-weight: 700;
  margin: -2px 0 8px;
}

/* V26.5 evidence layer buttons */
.evidence-layer-button {
  min-height: 36px;
  margin: 6px 0;
  padding: 0 12px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 10px;
  background: rgba(15,23,42,.72);
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.evidence-layer-button input { display: none; }
.evidence-layer-button::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.42);
  background: transparent;
}
.evidence-layer-button:hover {
  border-color: rgba(34,197,94,.48);
  background: rgba(15,23,42,.88);
}
.evidence-layer-button.active {
  border-color: rgba(34,197,94,.88);
  background: linear-gradient(90deg, rgba(34,197,94,.22), rgba(15,23,42,.86));
  box-shadow: inset 0 0 0 1px rgba(34,197,94,.22), 0 0 14px rgba(34,197,94,.12);
}
.evidence-layer-button.active::after {
  background: #22c55e;
  border-color: rgba(187,247,208,.9);
  box-shadow: 0 0 10px rgba(34,197,94,.85);
}
.evidence-layer-button.disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.evidence-layer-button.disabled::after {
  background: rgba(148,163,184,.4);
  box-shadow: none;
}

/* V27 planning actions */
.planning-tool-options select, .action-filters select, .action-form-card select, .action-form-card textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 10px; background: rgba(15,23,42,.72); color: var(--text); padding: 10px 11px; font-family: inherit; font-size: 12px;
}
.planning-tool-options label, .action-form-card label { margin-top: 10px; }
.action-form-card h3 { margin: 0 0 10px; }
.form2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 6px 0 10px; }
.check-row { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 7px; border: 1px solid rgba(148,163,184,.18); border-radius: 8px; padding: 7px; background: rgba(2,6,23,.2); }
.check-row input { width: auto; accent-color: var(--green); }
.calc-preview { margin-top: 10px; padding: 10px; border-radius: 10px; background: rgba(34,197,94,.09); border: 1px solid rgba(34,197,94,.22); color: var(--soft); font-size: 12px; line-height: 1.45; }
.action-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.action-row.selected { border-color: rgba(56,189,248,.75); box-shadow: 0 0 0 1px rgba(56,189,248,.22); }
.action-dot { display: inline-block; width: 12px; height: 12px; border-radius: 999px; margin-right: 8px; vertical-align: -1px; border: 1px solid rgba(255,255,255,.45); }
.report-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 12px; margin-bottom: 18px; }
.report-card { border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: rgba(15,23,42,.55); }
.report-card strong { display: block; color: var(--soft); font-size: 12px; text-transform: uppercase; letter-spacing: .8px; }
.report-card span { display: block; font-size: 24px; font-weight: 900; margin-top: 8px; }
.report-two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.report-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.report-table th, .report-table td { border-bottom: 1px solid var(--line); padding: 8px; text-align: left; vertical-align: top; }
.report-table th { color: var(--soft); text-transform: uppercase; font-size: 10px; letter-spacing: .7px; }
@media print { #planning-report-screen { position: static; display: block !important; } #app, #map, #layers-panel, #active-layer-key-panel, #toast, #catchment-report-screen.hidden { display: none !important; } }
@media (max-width: 1250px) { .report-grid, .report-two { grid-template-columns: 1fr; } }

/* V27.1 layout tidy */
body.auth-mode #layers-panel,
body.auth-mode #active-layer-key-panel,
body.workspace-mode #layers-panel,
body.workspace-mode #active-layer-key-panel { display: none !important; }
.auth-card { width: min(560px, calc(100vw - 32px)); }
.social-login-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
.btn.social { background: rgba(248,250,252,.92); color: #0f172a; }
.auth0-mock { margin-top: 12px; border: 1px dashed rgba(148,163,184,.45); border-radius: 12px; padding: 10px 12px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.auth-secondary-row { margin-top: 8px; }
.project-name-strip strong { display: block; font-size: 16px; line-height: 1.3; color: var(--text); }
.project-actions-section { position: relative; }
.change-project-popout { position: absolute; left: 318px; top: 10px; width: 320px; max-height: calc(100vh - 36px); overflow: auto; border-radius: 16px; background: var(--panel-strong); border: 1px solid var(--line); box-shadow: 0 18px 45px rgba(0,0,0,.46); z-index: 45; }
.panel-header.compact { padding: 10px 12px; }
.popout-body { padding: 12px; }
.file-button { display: grid; place-items: center; min-height: 40px; margin-top: 8px; border: 1px solid var(--line); border-radius: 11px; background: rgba(15,23,42,.78); cursor: pointer; }
.file-button input { display: none; }
.sidebar { width: 280px; }
.topbar { left: 300px; right: 390px; grid-template-columns: repeat(4,minmax(105px,1fr)) auto; }
.basemap-tabs { left: 300px; }
.right-panel { right: 10px; top: 10px; bottom: auto; max-height: calc(100vh - 20px); width: 370px; overflow: hidden; }
.right-panel.minimised { height: 52px; }
.right-panel.minimised .right-planning-tools,
.right-panel.minimised .action-list,
.right-panel.minimised #land-cover-summary,
.right-panel.minimised #waterways-summary { display: none !important; }
.right-planning-tools { padding: 14px; border-bottom: 1px solid var(--line); }
.right-planning-tools .module { margin: 5px 0; }
.planning-tool-options { border: 1px solid rgba(148,163,184,.2); border-radius: 12px; padding: 10px; margin-top: 10px; background: rgba(2,6,23,.24); }
.planning-tool-options label { margin-top: 8px; }
.planning-tool-options select, .action-filters select, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: rgba(15,23,42,.72); color: var(--text); padding: 10px 12px; outline: none; }
.action-list { max-height: calc(100vh - 390px); }
.action-form-card { border-left: 4px solid var(--green); }
.active-layer-key-panel { right: 390px !important; top: 486px !important; }
.layers-panel:not(.minimised) + .active-layer-key-panel,
.active-layer-key-panel { width: 270px; }
.report-actions { flex-wrap: wrap; }
@media (max-width: 1250px) { .right-panel { display: flex; } .topbar { right: 10px; } }

/* V27.2 report and action UI refinements */
.report-grid {
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}
.report-card {
  overflow: hidden;
  page-break-inside: avoid;
}
.report-chart-row {
  grid-template-columns: minmax(160px, 230px) minmax(360px, 1fr) !important;
  gap: 26px !important;
  align-items: start !important;
}
.report-table {
  table-layout: auto;
}
.report-map-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.report-map-card {
  min-height: 260px;
}
.module-block {
  display: grid;
  gap: 8px;
  margin-bottom: 8px;
}
.module.active,
.module:hover,
.btn.draw-btn:hover,
.btn.draw-btn:focus {
  border-color: rgba(34,197,94,.85) !important;
  background: linear-gradient(135deg, rgba(22,163,74,.95), rgba(34,197,94,.78)) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(34,197,94,.22), 0 8px 20px rgba(22,163,74,.22);
}
.module-options {
  border: 1px solid rgba(34,197,94,.55);
  background: rgba(15, 23, 42, .72);
  border-radius: 14px;
  padding: 12px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.planning-empty-note {
  padding: 10px 2px;
}
.action-row {
  cursor: pointer;
}
.action-row.selected,
.action-row:hover {
  border-color: rgba(34,197,94,.7) !important;
  box-shadow: 0 0 0 1px rgba(34,197,94,.18);
}
.active-key-header {
  cursor: move;
  touch-action: none;
  user-select: none;
}
.active-layer-key-panel {
  resize: both;
  min-width: 230px;
  min-height: 120px;
}
@media (max-width: 900px) {
  .report-chart-row {
    grid-template-columns: 1fr !important;
  }
}

/* V27.3 catchment context report mock-up layout */
.report-project-line {
  font-size: 20px;
  font-weight: 900;
  color: #0f172a;
  margin: -8px 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #0f766e;
  text-transform: uppercase;
}
.report-context-top {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 14px;
  margin-bottom: 14px;
}
.report-title-card {
  background: linear-gradient(135deg, #063f35, #0f172a);
  color: #fff;
  border-radius: 16px;
  padding: 24px;
  min-height: 195px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.report-title-card h2 {
  margin: 6px 0 12px;
  font-size: 28px;
  letter-spacing: -0.04em;
}
.report-title-card p:not(.eyebrow) {
  margin: 0;
  color: #ecfeff;
  line-height: 1.5;
  max-width: 680px;
}
.report-map-card-labelled {
  position: relative;
  min-height: 230px;
  border: 8px solid #064e3b;
  border-radius: 16px;
  box-shadow: inset 0 0 40px rgba(6,78,59,.45);
}
.report-map-card-labelled h3 {
  position: absolute;
  top: 12px;
  left: 16px;
  z-index: 2;
  color: #fff;
  font-size: 19px;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0;
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
}
.report-context-summary {
  background: #063f35 !important;
  color: #fff;
  padding: 18px !important;
  margin-bottom: 14px;
}
.report-context-summary h3 {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.report-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.report-kpi-strip div {
  background: #fff;
  color: #0f172a;
  border-radius: 4px;
  padding: 10px;
  min-height: 76px;
}
.report-kpi-strip span {
  display: block;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  color: #64748b;
  letter-spacing: .06em;
}
.report-kpi-strip strong {
  display: block;
  margin-top: 5px;
  font-size: 16px;
}
.report-kpi-strip small {
  display: block;
  margin-top: 10px;
  font-size: 10px;
  color: #334155;
}
.report-section-landcover,
.report-section-waterways,
.report-risk-section,
.report-opportunity-card {
  background: #7d8795 !important;
  border: 0 !important;
  color: #fff;
  margin-bottom: 14px;
  padding: 18px !important;
}
.report-section-landcover h3,
.report-section-waterways h3,
.report-risk-section h3,
.report-opportunity-card h3 {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 14px;
}
.report-landcover-layout {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 24px;
  align-items: center;
}
.report-pie-large {
  width: 190px !important;
  height: 190px !important;
  border: 9px solid #f1f5f9 !important;
  flex: 0 0 auto;
}
.report-legend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 8px 16px;
}
.report-legend-item {
  display: grid;
  grid-template-columns: 16px 1fr auto;
  gap: 8px;
  align-items: center;
  color: #f8fafc;
  font-size: 11px;
}
.report-legend-item strong { color: #fff; font-size: 11px; }
.report-waterways-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 32px;
  align-items: start;
}
.report-metric-list-white div {
  background: #fff !important;
  color: #0f172a;
  border: 0 !important;
  min-height: 72px;
}
.report-metric-list-white span { color: #334155 !important; }
.report-bars-large { gap: 12px; margin-top: 6px; }
.report-bar-row-large {
  grid-template-columns: 130px 1fr 70px !important;
  color: #fff;
  text-transform: uppercase;
  font-weight: 800;
}
.report-bar-row-large .report-bar-track {
  height: 18px;
  border: 2px solid #fff;
  background: rgba(255,255,255,.48);
}
.report-risk-layout {
  display: grid;
  grid-template-columns: 205px minmax(280px, 1fr) minmax(320px, .9fr);
  gap: 28px;
  align-items: center;
}
.report-risk-table th,
.report-risk-table td {
  color: #fff;
  border-bottom-color: rgba(255,255,255,.22) !important;
}
.report-risk-table th { color: #dbeafe !important; }
.report-overlap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, 1fr));
  gap: 12px;
}
.report-overlap-grid div {
  background: #fff;
  border-radius: 12px;
  color: #0f172a;
  padding: 16px;
  min-height: 92px;
}
.report-overlap-grid span {
  display: block;
  color: #334155;
  font-size: 11px;
  line-height: 1.25;
}
.report-overlap-grid strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  margin-top: 12px;
}
.report-pending {
  display: inline !important;
  color: #64748b !important;
  font-size: 12px !important;
  text-transform: none;
}
.report-risk-section .report-status-note,
.report-opportunity-card .report-card-intro {
  margin-top: 14px;
  color: #f8fafc;
  background: rgba(15,23,42,.28);
  border-color: rgba(255,255,255,.2);
}
.report-opportunity-card .report-notes p {
  background: rgba(255,255,255,.92);
  color: #0f172a;
}
@media print {
  .report-shell { max-width: none; }
  .report-content { padding: 18px; }
  .report-section-landcover,
  .report-section-waterways,
  .report-risk-section,
  .report-opportunity-card,
  .report-context-summary { page-break-inside: avoid; }
}
@media (max-width: 1000px) {
  .report-context-top,
  .report-landcover-layout,
  .report-waterways-layout,
  .report-risk-layout { grid-template-columns: 1fr; }
  .report-legend-grid { grid-template-columns: 1fr 1fr; }
  .report-kpi-strip { grid-template-columns: 1fr 1fr; }
}

/* V27.4 report polish: standardised typography, cleaner report blocks, map panel */
.report-shell {
  max-width: 1160px;
}
.report-toolbar h1 {
  font-size: 24px;
  line-height: 1.15;
}
.report-project-line {
  font-size: 19px;
  line-height: 1.15;
  letter-spacing: .02em;
}
.report-context-top {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
}
.report-title-card,
.report-map-card-labelled {
  min-height: 245px;
  margin: 0;
}
.report-title-card h2 {
  font-size: 27px;
  line-height: 1.1;
}
.report-map-card-labelled {
  border: 6px solid #064e3b;
  background: #0f172a;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.report-map-card-labelled h3 {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 16px;
  margin: 0;
  color: #ffffff;
  text-shadow: 0 2px 8px rgba(0,0,0,.65);
  font-size: 16px;
  letter-spacing: .03em;
}
.report-map-card-labelled img {
  width: 100%;
  height: 100%;
  min-height: 245px;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.04) brightness(.9);
}
.report-map-card-labelled::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(2,6,23,.45), transparent 35%, rgba(2,6,23,.12));
}
.report-card {
  border: 0;
  border-radius: 14px;
  background: #7b8490;
  color: #fff;
  padding: 18px;
  margin-bottom: 14px;
}
.report-card h3 {
  color: #fff;
  text-transform: none;
  letter-spacing: .02em;
  font-size: 21px;
  line-height: 1.1;
  margin-bottom: 14px;
}
.report-context-summary {
  background: #064e3b;
}
.report-kpi-strip,
.report-kpi-strip-six,
.report-kpi-strip-five {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.report-kpi-strip-five { grid-template-columns: repeat(5, 1fr); }
.report-kpi-strip div {
  background: #fff;
  color: #0f172a;
  border-radius: 8px;
  padding: 13px 14px;
  min-height: 74px;
}
.report-kpi-strip span,
.report-metric-list-white span,
.report-overlap-grid span {
  display: block;
  color: #64748b;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .07em;
  font-weight: 900;
  line-height: 1.25;
}
.report-kpi-strip strong {
  color: #0f172a;
  display: block;
  margin-top: 6px;
  font-size: 20px;
  line-height: 1.1;
}
.report-kpi-strip small { display: none; }
.report-landcover-layout {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 26px;
  align-items: center;
}
.report-pie-large {
  width: 174px;
  height: 174px;
  border: 9px solid #eef2f7;
  flex: 0 0 auto;
}
.report-legend-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 26px;
  row-gap: 8px;
}
.report-lc-row {
  display: grid;
  grid-template-columns: 14px minmax(0,1fr) 78px 54px;
  gap: 9px;
  align-items: center;
  color: #fff;
  font-weight: 800;
  line-height: 1.2;
  font-size: 14px;
}
.report-lc-row strong,
.report-lc-row em {
  color: #fff;
  text-align: right;
  font-size: 13px;
  font-style: normal;
  white-space: nowrap;
}
.report-waterways-layout {
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 28px;
  align-items: center;
}
.report-metric-list-white {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.report-metric-list-white div {
  background: #fff;
  color: #0f172a;
  border-radius: 10px;
  padding: 14px;
  min-height: 88px;
}
.report-metric-list-white strong {
  color: #2563eb;
  display: block;
  margin-top: 9px;
  font-size: 18px;
  line-height: 1.15;
}
.report-bars-large {
  gap: 14px;
}
.report-bar-row-large {
  grid-template-columns: 150px minmax(180px, 1fr) 82px;
  color: #fff;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .02em;
}
.report-bar-track {
  height: 15px;
  border: 2px solid rgba(255,255,255,.9);
  background: rgba(255,255,255,.35);
}
.report-risk-layout {
  display: grid;
  grid-template-columns: 180px 1fr 390px;
  gap: 26px;
  align-items: center;
}
.report-risk-table {
  color: #fff;
}
.report-risk-table th {
  color: rgba(255,255,255,.78);
  border-bottom-color: rgba(255,255,255,.25);
}
.report-risk-table td {
  border-bottom-color: rgba(255,255,255,.18);
}
.report-overlap-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.report-overlap-grid div {
  background: #fff;
  color: #0f172a;
  border-radius: 10px;
  padding: 14px 16px;
  min-height: 82px;
}
.report-overlap-grid strong {
  color: #0f172a;
  display: block;
  margin-top: 10px;
  font-size: 22px;
  line-height: 1.1;
}
.report-pending {
  display: inline !important;
  color: #2563eb !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.report-status-note,
.report-card-intro {
  background: rgba(15,23,42,.22);
  color: #eef2ff;
  border-radius: 8px;
  padding: 11px 13px;
  margin: 14px 0 0;
  line-height: 1.45;
  font-size: 13px;
}
.report-notes p {
  background: #fff;
  color: #0f172a;
  border-left: 0;
}
.report-opportunity-card strong {
  color: #22c55e;
  display: inline;
  font-size: inherit;
}
@media (max-width: 980px) {
  .report-context-top,
  .report-landcover-layout,
  .report-waterways-layout,
  .report-risk-layout,
  .report-kpi-strip,
  .report-kpi-strip-six,
  .report-kpi-strip-five,
  .report-legend-grid {
    grid-template-columns: 1fr;
  }
  .report-risk-layout { align-items: start; }
  .report-overlap-grid { grid-template-columns: 1fr; }
}
@media print {
  .report-card { break-inside: avoid; page-break-inside: avoid; }
  .report-context-top { break-inside: avoid; page-break-inside: avoid; }
}


/* V27.5 report typography tidy and complete land-cover table */
.report-card h3 {
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}
.report-landcover-layout {
  grid-template-columns: 190px 1fr !important;
  gap: 22px !important;
  align-items: center !important;
}
.report-landcover-table {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 18px;
  row-gap: 0;
  background: rgba(255,255,255,.95);
  border-radius: 10px;
  padding: 12px 14px;
  color: #0f172a;
}
.report-lc-header,
.report-lc-row {
  display: grid !important;
  grid-template-columns: 14px minmax(0,1fr) 72px 48px !important;
  gap: 7px !important;
  align-items: center !important;
  min-height: 24px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  color: #0f172a !important;
}
.report-lc-header {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0,1fr) 72px 48px !important;
  min-height: 22px !important;
  padding-bottom: 5px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(15,23,42,.14);
  color: #334155 !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 800 !important;
}
.report-lc-header span { grid-column: 1; }
.report-lc-header strong,
.report-lc-header em {
  font-size: 11px !important;
  color: #334155 !important;
  font-style: normal !important;
  text-align: right;
}
.report-lc-row span:nth-child(2) {
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.report-lc-row strong,
.report-lc-row em {
  color: #0f172a !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-align: right !important;
  white-space: nowrap !important;
}
.report-swatch {
  width: 10px !important;
  height: 10px !important;
  border-radius: 3px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}
.report-bar-row-large {
  grid-template-columns: 118px minmax(180px, 1fr) 70px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.report-bar-row-large span,
.report-bar-row-large strong {
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}
.report-metric-list-white strong,
.report-overlap-grid strong,
.report-kpi-strip strong {
  font-size: 17px !important;
}
.report-metric-list-white span,
.report-overlap-grid span,
.report-kpi-strip span {
  font-size: 10.5px !important;
  line-height: 1.25 !important;
}
@media (max-width: 980px) {
  .report-landcover-table { grid-template-columns: 1fr; }
}
@media print {
  .report-landcover-table {
    grid-template-columns: 1fr 1fr !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* V27.6 planning workflow polish */
.brand-mark.image-mark { background: transparent; border: 0; box-shadow: none; padding: 0; overflow: hidden; }
.brand-mark.image-mark img { width: 38px; height: 38px; object-fit: cover; border-radius: 10px; display: block; }
.layers-panel { top: 100px !important; right: 390px !important; bottom: auto !important; left: auto; max-height: calc(100vh - 120px); }
.right-panel { right: 10px !important; top: 10px !important; }
.active-layer-key-panel { right: auto !important; left: auto; top: auto !important; }
.floating-popout { position: fixed !important; left: 300px !important; top: 130px !important; right: auto !important; width: 340px; resize: both; min-width: 285px; min-height: 80px; max-height: calc(100vh - 24px); z-index: 80; }
.floating-popout.minimised { height: 48px; min-height: 48px; overflow: hidden; resize: none; }
.floating-popout.minimised .popout-body { display: none; }
.movable-handle { cursor: move; }
.action-sort-row { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 10px; }
.action-sort-row select { width: 100%; }
.action-form-card { margin-bottom: 10px; }
.plant-mix-table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 11px; }
.plant-mix-table th, .plant-mix-table td { padding: 5px 4px; border-bottom: 1px solid rgba(148,163,184,.18); text-align: left; vertical-align: middle; }
.plant-mix-table th { color: var(--soft); text-transform: uppercase; letter-spacing: .5px; font-size: 9px; }
.plant-mix-table input { width: 74px; padding: 6px 7px; font-size: 11px; }
.plant-mix-summary { margin-top: 8px; padding: 8px; border-radius: 10px; background: rgba(15,23,42,.55); color: var(--soft); font-size: 12px; line-height: 1.4; }
.module.active, .draw-btn.active { border-color: rgba(34,197,94,.75); box-shadow: 0 0 0 1px rgba(34,197,94,.22); background: linear-gradient(180deg, rgba(34,197,94,.35), rgba(15,23,42,.75)); }
@media (max-width: 1250px) { .layers-panel { right: 390px !important; top: 100px !important; } }

/* V27.7 separate Planning Tools and Actions panels */
.planning-tools-panel {
  right: 10px !important;
  top: 10px !important;
  bottom: auto !important;
  width: 370px;
  max-height: 405px;
  overflow: hidden;
  z-index: 32;
}
.actions-panel {
  position: absolute;
  right: 10px;
  top: 430px;
  bottom: auto;
  width: 370px;
  max-height: calc(100vh - 445px);
  min-height: 155px;
  border-radius: 18px;
  z-index: 31;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.actions-panel.minimised,
.planning-tools-panel.minimised {
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  overflow: hidden !important;
  resize: none;
}
.planning-tools-panel.minimised .right-planning-tools,
.planning-tools-panel.minimised #land-cover-summary,
.planning-tools-panel.minimised #waterways-summary,
.actions-panel.minimised .action-list {
  display: none !important;
}
.actions-panel .panel-header,
.planning-tools-panel .panel-header {
  cursor: move;
  user-select: none;
  flex: 0 0 auto;
}
.actions-panel .action-list {
  padding: 12px;
  max-height: none;
  overflow: auto;
  flex: 1 1 auto;
}
.action-sort-row {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(15,23,42,.96);
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 12px;
  padding: 8px;
  margin-bottom: 10px;
}
.action-button-row {
  padding: 0;
  overflow: hidden;
  background: rgba(15,23,42,.74);
  border-color: rgba(148,163,184,.22);
  transition: border-color .12s ease, background .12s ease, transform .12s ease;
}
.action-button-row:hover {
  border-color: rgba(34,197,94,.5);
  background: rgba(30,41,59,.88);
}
.action-row-main {
  padding: 10px 12px;
  cursor: pointer;
}
.action-row-main strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
  margin: 0 0 3px;
}
.action-row-main span,
.action-row-main em {
  display: block;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  font-style: normal;
  margin-top: 2px;
}
.action-row.selected {
  border-color: rgba(34,197,94,.82);
  box-shadow: 0 0 0 1px rgba(34,197,94,.24);
}
.action-form-card {
  margin: 0 10px 10px;
  padding: 12px;
  border: 1px solid rgba(34,197,94,.22);
  border-left: 4px solid var(--green);
  border-radius: 12px;
  background: rgba(2,6,23,.45);
}
.action-form-card h3 {
  font-size: 14px;
  margin-bottom: 8px;
}
.actions-empty-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  padding: 10px 2px;
}
.layers-panel {
  right: 390px !important;
  top: 10px !important;
  bottom: auto !important;
  max-height: calc(100vh - 24px);
  z-index: 30;
}
.topbar { right: 790px; }
@media (max-width: 1500px) {
  .topbar { right: 390px; }
  .layers-panel { top: 420px !important; right: 390px !important; max-height: calc(100vh - 435px); }
}
@media (max-width: 1250px) {
  .planning-tools-panel,
  .actions-panel { display: flex; }
  .layers-panel { right: 390px !important; }
}


/* V27.8 panel workflow fixes */
.planning-tools-panel {
  width: 390px;
  max-height: min(82vh, 760px) !important;
  overflow: auto !important;
  resize: vertical;
}
.planning-tools-panel:not(.minimised) {
  min-height: 620px;
}
.planning-tools-panel .right-planning-tools {
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 18px;
}
.planning-tools-panel .module-block,
.planning-tools-panel .planning-tool-options {
  overflow: visible !important;
}
.actions-panel { max-height: calc(100vh - 150px); }
.modify-boundary-btn {
  border-color: rgba(59,130,246,.45) !important;
  color: #dbeafe !important;
}
.layers-panel {
  left: 14px !important;
  bottom: 14px !important;
  right: auto !important;
  top: auto !important;
  max-height: min(70vh, 560px) !important;
  z-index: 30;
}
.layers-panel.dragging {
  cursor: grabbing;
}
@media (max-width: 1500px) {
  .layers-panel { left: 14px !important; bottom: 14px !important; right: auto !important; top: auto !important; }
}
@media (max-width: 1250px) {
  .layers-panel { left: 14px !important; bottom: 14px !important; right: auto !important; top: auto !important; }
}


/* V27.9 action editing refinements */
.action-form-card .button-row {
  gap: 8px;
  flex-wrap: wrap;
}
.geometry-edit-toolbar {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  width: min(520px, calc(100vw - 48px));
  z-index: 80;
  padding: 12px 14px;
  border: 1px solid rgba(245, 158, 11, .55);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
}
.geometry-edit-toolbar strong {
  display: block;
  color: #fed7aa;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
  margin-bottom: 3px;
}
.geometry-edit-toolbar span {
  display: block;
  color: var(--soft);
  font-size: 13px;
  margin-bottom: 10px;
}
.action-card .action-form-card {
  cursor: default;
}


/* V27.10 panel and geometry editing refinements */
.layers-panel {
  left: 14px !important;
  bottom: 14px !important;
  right: auto !important;
  top: auto !important;
}
.action-row-main {
  position: relative;
  padding-right: 36px;
}
.action-mini-dash {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 26px;
  height: 18px;
  border-radius: 8px;
  border: 1px solid rgba(148,163,184,.3);
  background: rgba(15,23,42,.85);
  color: #e5e7eb;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}
.action-mini-dash:hover {
  border-color: rgba(34,197,94,.75);
  color: #ffffff;
}


/* V27.11 viewport stability and layer startup fixes */
#map,
#map .maplibregl-map,
#map .maplibregl-canvas-container,
#map canvas.maplibregl-canvas {
  width: 100vw !important;
  height: 100vh !important;
}
#map canvas.maplibregl-canvas {
  left: 0 !important;
  top: 0 !important;
}
.layers-panel {
  left: 14px !important;
  bottom: 14px !important;
  right: auto !important;
  top: auto !important;
}
.geometry-edit-toolbar {
  bottom: 78px;
}


/* V27.13 project and panel workflow fixes */
.change-project-popout {
  position: static !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-height: none !important;
  margin-top: 10px !important;
  overflow: visible !important;
  box-shadow: none !important;
  z-index: auto !important;
}
.change-project-popout.hidden { display: none !important; }
.change-project-popout .popout-body {
  display: grid;
  gap: 10px;
}
.change-project-popout .button-row,
.change-project-popout .popout-body .button-row {
  grid-template-columns: 1fr !important;
}
.sidebar { overflow-y: auto; overflow-x: hidden; }
.layers-panel {
  left: 14px !important;
  bottom: 14px !important;
  right: auto !important;
  top: auto !important;
}
.layers-panel.dragging {
  bottom: auto !important;
}

/* V27.14 action photos and hover labels */
.action-photo-block {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 12px;
  background: rgba(15,23,42,.38);
}
.action-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  gap: 8px;
  margin: 8px 0;
}
.action-photo-thumb {
  position: relative;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.26);
  background: rgba(2,6,23,.55);
}
.action-photo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.action-photo-thumb button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(15,23,42,.9);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  line-height: 1;
}
.photo-upload-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 12px;
  border: 1px dashed rgba(34,197,94,.58);
  border-radius: 10px;
  color: #dcfce7;
  background: rgba(34,197,94,.08);
  cursor: pointer;
  font-weight: 800;
  text-align: center;
}
.photo-upload-btn input { display: none; }
.photo-help { margin-top: 6px; line-height: 1.35; }
.action-hover-popup .maplibregl-popup-content {
  padding: 0;
  overflow: hidden;
  max-width: 260px;
}
.action-hover-card {
  min-width: 210px;
  background: rgba(15,23,42,.96);
  border: 1px solid rgba(34,197,94,.35);
  border-radius: 12px;
  overflow: hidden;
  color: var(--text);
}
.action-hover-card strong,
.action-hover-card span,
.action-hover-card em {
  display: block;
  padding: 0 12px;
}
.action-hover-card strong {
  padding-top: 10px;
  font-size: 13px;
  line-height: 1.25;
}
.action-hover-card span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  margin-top: 3px;
}
.action-hover-card em {
  color: #bbf7d0;
  font-size: 11px;
  font-style: normal;
  padding-top: 6px;
  padding-bottom: 10px;
}
.action-hover-photo {
  width: 100%;
  height: 130px;
  object-fit: cover;
  display: block;
  border-bottom: 1px solid rgba(148,163,184,.22);
}

/* V27.15 project actions report */
.actions-report-config {
  display: grid;
  grid-template-columns: 1.1fr .9fr 1.2fr 1.1fr auto;
  gap: 12px;
  align-items: end;
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #0f172a;
}
.actions-report-config label,
.actions-report-config strong {
  display: block;
  font-size: 11px;
  font-weight: 900;
  color: #334155;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.actions-report-config select,
.actions-report-config input[type="number"] {
  width: 100%;
  margin-top: 5px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  padding: 8px 10px;
  color: #0f172a;
  background: #fff;
  font-family: inherit;
}
.report-year-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.report-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 8px; margin-top: 6px; }
.report-check-grid label,
.report-toggle-row label {
  text-transform: none;
  letter-spacing: 0;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}
.report-toggle-row { display: grid; gap: 5px; }
.report-toggle-row input,
.report-check-grid input { accent-color: #16a34a; }
.actions-report-page h4 { margin: 0 0 10px; color: #fff; font-size: 15px; }
.actions-report-top .report-map-card img { object-fit: cover; }
.actions-kpi-strip { grid-template-columns: repeat(4, 1fr); }
.actions-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.actions-report-bars { display: grid; gap: 10px; }
.actions-report-bar { display: grid; grid-template-columns: 145px 1fr 42px; gap: 10px; align-items: center; color: #fff; font-size: 12px; }
.actions-report-bar i { height: 15px; border: 2px solid rgba(255,255,255,.85); border-radius: 99px; background: rgba(255,255,255,.45); overflow: hidden; }
.actions-report-bar i b { display: block; height: 100%; border-radius: 99px; }
.actions-report-bar strong { text-align: right; }
.gantt { display: grid; gap: 9px; }
.gantt-scale { margin-left: 210px; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; color: #e2e8f0; font-size: 10px; text-transform: uppercase; }
.gantt-row { display: grid; grid-template-columns: 200px 1fr 145px; gap: 10px; align-items: center; color: #fff; font-size: 12px; }
.gantt-row > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gantt-track { position: relative; height: 18px; border: 2px solid rgba(255,255,255,.8); border-radius: 99px; background: rgba(255,255,255,.36); }
.gantt-track i { position: absolute; top: 0; bottom: 0; border-radius: 99px; }
.actions-detail-table strong { color: #0f172a; }
.actions-plant-summary .report-mini-grid { margin-bottom: 12px; }
.action-detail-section { page-break-before: auto; }
.action-detail-card {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  margin: 0 0 14px;
  padding: 16px;
  border-radius: 14px;
  background: rgba(15,23,42,.42);
  border: 1px solid rgba(255,255,255,.16);
  page-break-inside: avoid;
}
.action-detail-card h4 { font-size: 18px; }
.action-detail-card p { color: #f8fafc; margin: 0 0 12px; }
.action-report-notes { margin-top: 12px !important; padding: 10px; border-radius: 10px; background: rgba(255,255,255,.12); }
.action-report-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.action-report-photos figure { margin: 0; background: rgba(255,255,255,.12); border-radius: 12px; overflow: hidden; }
.action-report-photos img { width: 100%; height: 135px; object-fit: cover; display: block; }
.action-report-photos figcaption { padding: 6px 8px; color: #e2e8f0; font-size: 10px; }
.action-species-table { margin-top: 12px; }
@media print {
  .no-print { display: none !important; }
  .actions-report-page .report-section-waterways,
  .actions-report-page .report-context-summary { page-break-inside: avoid; }
  .action-detail-card { break-inside: avoid; }
}
@media (max-width: 1200px) {
  .actions-report-config,
  .actions-summary-grid,
  .action-detail-card { grid-template-columns: 1fr; }
  .gantt-row { grid-template-columns: 1fr; }
  .gantt-scale { margin-left: 0; }
}

/* V27.16 report setup tidy */
.actions-report-config {
  display: block !important;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #0f172a;
}
.report-config-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: baseline;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
}
.report-config-header strong {
  font-size: 12px;
  font-weight: 900;
  color: #0f172a;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.report-config-header span {
  font-size: 12px;
  color: #64748b;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 700;
}
.report-config-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.25fr 1fr;
  gap: 12px 14px;
  align-items: start;
}
.report-config-field {
  display: grid;
  gap: 6px;
  align-content: start;
}
.report-config-field > label,
.report-config-field > strong,
.actions-report-config label,
.actions-report-config strong {
  font-size: 11px;
  font-weight: 900;
  color: #334155;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.report-config-field select,
.report-config-field input[type="number"],
.actions-report-config select,
.actions-report-config input[type="number"] {
  width: 100%;
  margin-top: 0;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  padding: 8px 10px;
  color: #0f172a;
  background: #fff;
  font-family: inherit;
  min-height: 36px;
}
.report-year-row {
  display: grid !important;
  grid-template-columns: 72px 1fr 72px 1fr;
  gap: 6px 8px;
  align-items: center;
}
.report-year-row label { margin: 0; }
.report-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 10px;
  margin-top: 0;
}
.report-check-grid label,
.report-toggle-row label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center;
  gap: 7px;
  color: #1e293b !important;
}
.report-toggle-row { display: grid !important; gap: 7px; }
.report-config-action {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  min-height: 100%;
}
.report-config-action .btn { min-width: 140px; }
@media (max-width: 1200px) {
  .report-config-grid { grid-template-columns: 1fr; }
  .report-year-row { grid-template-columns: 80px 1fr 80px 1fr; }
  .report-config-action { justify-content: flex-start; }
}

/* V27.17 report controls: proper table-style alignment and reliable rebuilt controls */
.actions-report-config .report-config-grid { display: none !important; }
.report-config-table {
  display: grid;
  gap: 14px;
}
.report-config-row {
  display: grid;
  gap: 14px;
  align-items: start;
}
.report-config-row-top {
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.18fr) minmax(260px, .95fr);
}
.report-config-row-filters {
  grid-template-columns: minmax(340px, 1.3fr) minmax(300px, 1fr) minmax(260px, .9fr);
  border-top: 1px solid #e2e8f0;
  padding-top: 14px;
}
.report-config-cell {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 7px;
  min-width: 0;
}
.report-config-cell > label,
.report-config-cell > strong {
  min-height: 18px;
  line-height: 18px;
}
.report-detail-cell select { min-width: 0; }
.report-year-cell { align-self: stretch; }
.report-year-inputs {
  display: grid;
  grid-template-columns: 72px minmax(70px, 1fr) 72px minmax(70px, 1fr);
  gap: 8px;
  align-items: center;
}
.report-year-inputs span {
  font-size: 11px;
  font-weight: 900;
  color: #334155;
  text-transform: uppercase;
  letter-spacing: .04em;
  line-height: 1.1;
}
.report-check-grid {
  align-content: start;
}
.report-check-grid-modules {
  grid-template-columns: repeat(2, minmax(140px, 1fr)) !important;
  gap: 9px 18px !important;
}
.report-check-grid-status {
  grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  gap: 9px 18px !important;
}
.report-check-grid label,
.report-toggle-row label {
  display: grid !important;
  grid-template-columns: 18px 1fr;
  gap: 8px !important;
  align-items: start !important;
  line-height: 1.15;
}
.report-check-grid input,
.report-toggle-row input {
  margin: 1px 0 0 !important;
  width: 14px;
  height: 14px;
}
.report-toggle-row {
  align-content: start;
  gap: 9px !important;
}
.report-config-row-actions {
  display: flex;
  justify-content: flex-start;
  border-top: 1px solid #e2e8f0;
  padding-top: 14px;
}
.report-config-row-actions .btn { min-width: 150px; }
@media (max-width: 1200px) {
  .report-config-row-top,
  .report-config-row-filters { grid-template-columns: 1fr; }
  .report-year-inputs { grid-template-columns: 80px 1fr 80px 1fr; }
}

/* V27.26 catchment report thematic map cards */
.report-context-maps {
  background: #f8fafc !important;
  color: #0f172a !important;
  margin-bottom: 14px;
}
.report-context-maps h3 {
  color: #0f172a !important;
  margin-bottom: 6px;
}
.report-context-maps .report-card-intro {
  color: #475569;
  margin: 0 0 14px;
  line-height: 1.45;
}
.report-context-map-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.report-context-map-card {
  background: #ffffff;
  border: 1px solid #dbe4ee;
  border-radius: 14px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.report-context-map-card h4 {
  margin: 0;
  font-size: 15px;
  color: #0f172a;
  line-height: 1.15;
}
.report-context-map-frame {
  border-radius: 12px;
  overflow: hidden;
  background: #0f172a;
  border: 1px solid #cbd5e1;
  aspect-ratio: 1.08 / 1;
}
.report-context-map-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.report-map-stat-list {
  display: grid;
  gap: 6px;
}
.report-map-stat-list div {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border-radius: 8px;
  background: #f1f5f9;
}
.report-map-stat-list span {
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #64748b;
}
.report-map-stat-list strong {
  font-size: 12px;
  color: #0f172a;
  line-height: 1.2;
}
.report-map-mini-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  color: #475569;
  font-size: 10px;
  line-height: 1.15;
}
.report-map-mini-legend span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.report-map-mini-legend i {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  border: 1px solid rgba(15,23,42,.18);
  display: inline-block;
  flex: 0 0 auto;
}

@media (max-width: 1050px) {
  .report-context-map-grid { grid-template-columns: 1fr; }
}

@media print {
  .report-context-maps { break-inside: avoid; page-break-inside: avoid; }
  .report-context-map-grid { grid-template-columns: repeat(3, 1fr); }
}

/* V27.27 report map-card refinements */
.report-context-summary .report-kpi-strip-six {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.report-context-map-frame {
  position: relative;
  aspect-ratio: 1.16 / 1;
  min-height: 245px;
  background: #e2e8f0;
}
.report-context-map-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  background: #e2e8f0;
}
.report-map-mini-legend-overlay {
  position: absolute;
  left: 8px;
  bottom: 8px;
  right: auto;
  max-width: calc(100% - 16px);
  display: flex;
  flex-wrap: wrap;
  gap: 2px 5px;
  padding: 5px 6px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.72);
  color: #ffffff;
  font-size: 6.8px;
  font-weight: 600;
  line-height: 1.1;
  box-shadow: 0 6px 18px rgba(15,23,42,.22);
  backdrop-filter: blur(2px);
}
.report-map-mini-legend-overlay span {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 112px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.report-map-mini-legend-overlay i {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.7);
  display: inline-block;
  flex: 0 0 auto;
}
.report-map-stat-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.report-map-stat-list div {
  min-height: 42px;
  padding: 7px 8px;
}
.report-map-stat-list span { font-size: 8.5px; }
.report-map-stat-list strong { font-size: 11px; }
@media (max-width: 1050px) {
  .report-context-summary .report-kpi-strip-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print {
  .report-context-map-frame { min-height: 210px; }
  .report-map-mini-legend-overlay { font-size: 7.5px; padding: 5px 6px; }
}

/* V27.28: smaller embedded map legends and contain-fit thematic map images to avoid cropped catchment boundaries. */


/* V27.29: restore filled map frames, increase thematic map fit padding in JS, and force compact in-map legends. */
.report-context-map-frame {
  aspect-ratio: 1.16 / 1;
  min-height: 245px;
  background: #e2e8f0;
}
.report-context-map-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}
.report-map-mini-legend-overlay {
  left: 8px !important;
  bottom: 8px !important;
  max-width: calc(100% - 16px) !important;
  gap: 3px 6px !important;
  padding: 5px 6px !important;
  border-radius: 8px !important;
  background: rgba(15, 23, 42, 0.74) !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}
.report-map-mini-legend-overlay span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  max-width: 92px !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.report-map-mini-legend-overlay i {
  width: 6px !important;
  height: 6px !important;
  border-radius: 2px !important;
  flex: 0 0 6px !important;
}
@media print {
  .report-map-mini-legend-overlay,
  .report-map-mini-legend-overlay span {
    font-size: 7px !important;
  }
}

/* V27.41 layer panel and Natural Habitat refinements */
.layers-panel {
  max-height: calc(100vh - 28px) !important;
  width: 320px !important;
}
.layers-panel .layers-panel-body {
  max-height: calc(100vh - 92px) !important;
  overflow-y: auto !important;
  padding-bottom: 20px !important;
  scrollbar-width: thin;
}
.layers-panel .layers-panel-body::-webkit-scrollbar { width: 8px; }
.layers-panel .layers-panel-body::-webkit-scrollbar-thumb {
  background: rgba(148,163,184,.35);
  border-radius: 999px;
}
.report-section-natural-habitat .report-swatch {
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: 0 0 0 1px rgba(15,23,42,.10);
}


/* V27.45 stability and UX polish */
.layers-panel .layers-panel-body { max-height: calc(100vh - 92px) !important; overflow-y: auto !important; }
.active-layer-key-panel .legend-row, .layers-panel .legend-row { font-size: 11px; line-height: 1.25; }
.active-layer-key-panel { max-height: calc(100vh - 135px); overflow-y: auto; }
.maplibregl-popup-content { font-size: 12px; line-height: 1.35; border-radius: 10px; }
.report-map-mini-legend-overlay span { font-size: 7px !important; line-height: 1.15 !important; }
.report-context-map-card { page-break-inside: avoid; break-inside: avoid; }

/* V28 Project Report polish */
.report-property-section .report-kpi-strip-six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (max-width: 1100px) {
  .report-property-section .report-kpi-strip-six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .report-property-section .report-kpi-strip-six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* V28.6 Explorer UI redesign */
body.ui-explorer-ready .sidebar,
.sidebar {
  left: 0;
  top: 0;
  bottom: 28px;
  width: 310px;
  border-radius: 0;
  border-left: 0;
  border-top: 0;
  border-bottom: 0;
  box-shadow: 10px 0 32px rgba(0,0,0,.30);
}
.explorer-brand { padding: 14px 16px; }
.explorer-section { padding: 12px 14px; }
.explorer-project-card { border: 1px solid rgba(148,163,184,.22); border-radius: 12px; padding: 10px; background: rgba(15,23,42,.45); }
.explorer-row { display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--muted); font-size:12px; margin:7px 0; }
.explorer-row strong { color:var(--text); text-align:right; }
.saved-pill { color:#86efac !important; }
.explorer-mini-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.explorer-mini-actions .btn { margin:0; }
.explorer-basemap .basemap-tabs { position: static; display:grid; grid-template-columns:1fr; padding:0; background:transparent; border:0; box-shadow:none; }
.explorer-basemap .tab { width:100%; text-align:left; margin:0; border-radius:10px; }
.explorer-context-wrap { display:grid; gap:8px; }
.explorer-group { border:1px solid rgba(148,163,184,.18); border-radius:12px; background:rgba(15,23,42,.44); overflow:hidden; }
.explorer-group summary { cursor:pointer; padding:10px 12px; list-style:none; font-weight:900; color:#f8fafc; display:flex; justify-content:space-between; }
.explorer-group summary::after { content:'⌄'; color:var(--muted); }
.explorer-group[open] summary::after { content:'⌃'; }
.explorer-group-body { display:grid; gap:6px; padding:0 8px 9px; }
.explorer-group-body .layer-toggle,
.explorer-group-body .evidence-layer-button,
.none-context-control { margin:0; min-height:36px; }
.none-context-control { margin-bottom:8px !important; }
.explorer-report-buttons .btn,
.explorer-workflow .btn { margin-top:7px; }
.explorer-consumed { display:none !important; }

.topbar.compact-topbar {
  left: 326px;
  right: 12px;
  top: 10px;
  min-height: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) 120px 100px minmax(260px, 2fr) auto auto;
  gap: 10px;
  padding: 7px 10px;
  align-items: center;
}
.compact-title { display:flex; flex-direction:column; line-height:1.1; }
.compact-title strong { letter-spacing:1px; text-transform:uppercase; font-size:12px; color:#dbeafe; }
.compact-title span, .compact-area span { font-size:10px; color:var(--muted); }
.compact-title b, .compact-area strong { display:block; color:var(--text); font-size:14px; margin-top:3px; }
.compact-save { color:#86efac; font-weight:900; }
.compact-search { display:grid; grid-template-columns:1fr 36px; gap:6px; }
.compact-search input { height:38px; padding:8px 12px; border-radius:12px; }
.compact-search .icon-btn { height:38px; width:38px; }

.basemap-tabs { z-index:21; }
.right-panel.workflow-hidden,
.actions-panel.workflow-hidden { display:none !important; }
.right-panel.workflow-active,
.actions-panel.workflow-active { display:flex !important; right:14px; top:76px; bottom:44px; width:min(360px, calc(100vw - 660px)); min-width:320px; }
.planning-tools-panel, .actions-panel { transition: opacity .18s ease, transform .18s ease; }
.actions-panel { position:absolute; right:10px; top:10px; bottom:10px; width:360px; border-radius:18px; z-index:20; display:flex; flex-direction:column; }

.bottom-status-bar {
  position:absolute;
  left:310px;
  right:0;
  bottom:0;
  height:28px;
  z-index:25;
  border-radius:0;
  border-left:0;
  border-right:0;
  border-bottom:0;
  display:flex;
  align-items:center;
  gap:0;
  padding:0 12px;
  font-size:12px;
  color:var(--soft);
}
.bottom-status-bar span { padding:0 14px; border-right:1px solid rgba(148,163,184,.18); white-space:nowrap; }
.bottom-status-bar span:first-child { padding-left:0; }
.bottom-status-bar span:last-child { border-right:0; margin-left:auto; }

.context-inspector {
  position:absolute;
  right:18px;
  bottom:46px;
  width:280px;
  border-radius:16px;
  z-index:35;
  padding:12px;
  pointer-events:none;
}
.inspector-title { text-transform:uppercase; letter-spacing:1.4px; color:var(--green); font-size:11px; font-weight:900; margin-bottom:8px; }
.inspector-section { border-top:1px solid rgba(148,163,184,.18); padding:8px 0 4px; display:grid; gap:2px; }
.inspector-section span { color:var(--muted); font-size:11px; }
.inspector-section strong { color:var(--text); font-size:14px; line-height:1.2; }
.inspector-section em { color:var(--soft); font-size:12px; font-style:normal; }

.layer-toggle, .evidence-layer-button, .btn, .tab { transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.layer-toggle:hover, .evidence-layer-button:hover, .btn:hover, .tab:hover { transform: translateY(-1px); }
.evidence-layer-button.active, .layer-toggle:has(input:checked) { border-color:rgba(74,222,128,.75); background:rgba(34,197,94,.18); }

@media (max-width: 1180px){
  .sidebar { width:270px; }
  .topbar.compact-topbar { left:286px; grid-template-columns: 1fr 100px 90px 1.4fr auto; }
  .topbar.compact-topbar .btn.primary { display:none; }
  .bottom-status-bar { left:270px; }
}
@media (max-width: 860px){
  .sidebar { width:240px; }
  .topbar.compact-topbar { left:250px; grid-template-columns: 1fr; height:auto; min-height:52px; }
  .compact-area,.compact-save,.compact-search,.topbar.compact-topbar .btn { display:none; }
  .bottom-status-bar { left:240px; overflow:hidden; }
}


/* V28.7 Explorer layout refinement: fixed Planning/Actions, simplified layer groups, map key placement */
body.ui-explorer-ready .sidebar,
.sidebar {
  width: 318px;
  background: #142131;
}
.topbar.compact-topbar {
  left: 334px;
  right: 12px;
  grid-template-columns: minmax(160px, 1fr) 120px 100px minmax(300px, 1.8fr) auto auto;
}
.bottom-status-bar { left: 318px; }

/* Keep Planning Tools and Actions visible, fixed into the right frame. */
#planning-tools-panel.planning-tools-panel,
#actions-list-panel.actions-panel {
  position: fixed !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  bottom: auto !important;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(32,48,68,.96), rgba(25,38,55,.94)) !important;
  border: 1px solid rgba(125,155,190,.30) !important;
  box-shadow: 0 20px 42px rgba(0,0,0,.34) !important;
  z-index: 38 !important;
  resize: vertical;
}
#planning-tools-panel.planning-tools-panel {
  top: 76px !important;
  right: 18px !important;
  width: 360px !important;
  max-height: calc(100vh - 112px) !important;
  min-height: 360px !important;
}
#actions-list-panel.actions-panel {
  top: 76px;
  right: auto;
  left: 360px;
  width: 430px;
  max-height: calc(100vh - 118px);
  min-height: 250px;
}
#planning-tools-panel.workflow-hidden,
#actions-list-panel.workflow-hidden {
  display: flex !important;
}
#planning-tools-panel .panel-header,
#actions-list-panel .panel-header {
  cursor: default !important;
  background: rgba(51,71,95,.42);
  border-bottom: 1px solid rgba(148,163,184,.20);
}
#planning-tools-panel .panel-header strong,
#actions-list-panel .panel-header strong {
  color: #dbeafe;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
#planning-tools-panel .module,
#planning-tools-panel .module-block,
#planning-tools-panel .planning-tool-options,
#actions-list-panel .action-sort-row {
  background: rgba(15,28,45,.72) !important;
  border-color: rgba(140,170,205,.24) !important;
}

/* Simplified Explorer groups. */
.explorer-context-wrap .explorer-group summary {
  background: rgba(24,38,56,.58);
  border-bottom: 1px solid rgba(148,163,184,.12);
}
.explorer-context-wrap .explorer-group-body {
  padding-top: 9px;
}
.explorer-context-wrap .evidence-layer-button,
.explorer-context-wrap .layer-toggle {
  min-height: 38px;
}

/* Put each map key out on the map, beside the Explorer panel, and let it stay there until closed. */
.active-layer-key-panel {
  position: fixed !important;
  left: 338px !important;
  top: 96px !important;
  right: auto !important;
  width: 300px !important;
  max-height: calc(100vh - 122px) !important;
  z-index: 42 !important;
  border-radius: 18px;
  box-shadow: 0 22px 44px rgba(0,0,0,.34) !important;
}
.active-layer-key-panel.dragging {
  z-index: 90 !important;
}
.active-layer-key-panel .active-key-header {
  cursor: move;
}

@media (max-width: 1500px) {
  #planning-tools-panel.planning-tools-panel { right: 18px !important; }
  .active-layer-key-panel { left: 336px !important; top: 92px !important; }
}
@media (max-width: 1100px) {
  #planning-tools-panel.planning-tools-panel { width: 320px !important; }
  .topbar.compact-topbar { right: 12px; }
}


/* V28.9 Interface polish: full minimisation, remove basemap box, red-grey map key */
.basemap-options-removed,
.basemap-tabs,
.explorer-basemap,
.explorer-section:has(.explorer-basemap) {
  display: none !important;
}

/* Planning/Actions panels should collapse to header-only, with no residual grey body. */
#planning-tools-panel.planning-tools-panel.minimised,
#actions-list-panel.actions-panel.minimised {
  min-height: 0 !important;
  height: 46px !important;
  max-height: 46px !important;
  overflow: hidden !important;
  resize: none !important;
  padding-bottom: 0 !important;
  background: linear-gradient(180deg, rgba(34,48,66,.98), rgba(31,45,62,.98)) !important;
}
#planning-tools-panel.minimised > :not(.panel-header),
#actions-list-panel.minimised > :not(.panel-header) {
  display: none !important;
}
#planning-tools-panel.minimised .panel-header,
#actions-list-panel.minimised .panel-header {
  height: 46px !important;
  min-height: 46px !important;
  border-bottom: 0 !important;
  border-radius: 18px !important;
  margin: 0 !important;
}

/* Move active layer key further into the map and tint it red-grey so it reads as separate from Explorer. */
.active-layer-key-panel {
  left: 390px !important;
  top: 96px !important;
  background: linear-gradient(180deg, rgba(48,42,48,.97), rgba(38,35,42,.95)) !important;
  border: 1px solid rgba(191,139,149,.34) !important;
  box-shadow: 0 20px 46px rgba(0,0,0,.36) !important;
}
.active-layer-key-panel .active-key-header {
  background: rgba(76,58,66,.46) !important;
  border-bottom: 1px solid rgba(191,139,149,.26) !important;
}
.active-layer-key-panel .legend-title {
  color: #f1d8dc !important;
}
.active-layer-key-panel .legend-row {
  border-color: rgba(191,139,149,.14) !important;
}
@media (max-width: 1500px) {
  .active-layer-key-panel { left: 372px !important; top: 92px !important; }
}

/* V28.11: lower default key placement and functional search feedback */
.active-layer-key-panel {
  left: 390px !important;
  top: min(520px, calc(100vh - 360px)) !important;
}
.active-layer-key-panel[style*="left"] {
  /* Inline dragged/saved positions still win because layer-key.js writes inline !important values. */
}
.compact-search input.search-loading {
  background-image: linear-gradient(90deg, rgba(74,222,128,.10), rgba(255,255,255,.04), rgba(74,222,128,.10));
  background-size: 220% 100%;
  animation: lp-search-pulse 1.2s linear infinite;
}
@keyframes lp-search-pulse { from { background-position: 0% 50%; } to { background-position: 220% 50%; } }
@media (max-width: 1500px) {
  .active-layer-key-panel { left: 372px !important; top: min(460px, calc(100vh - 340px)) !important; }
}

/* V28.12 branding update: combined Land Planner logo replaces separate icon + title */
.brand.brand-combined {
  align-items: flex-start;
  gap: 8px;
  padding: 14px 14px 12px;
}
.brand-logo-combined {
  width: 238px;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  object-fit: contain;
}
.brand-project-subtitle {
  margin-top: 2px;
  padding-left: 2px;
  font-size: 11px;
}
.auth-brand-logo {
  width: 310px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 6px 0 18px;
  border-radius: 10px;
}


/* V28.13 branding refresh: use supplied cropped blue Land Planner logo as sole brand element */
.brand.brand-combined,
.explorer-brand.brand-combined {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 12px 14px 10px;
}
.brand-logo-combined {
  width: 205px;
  max-width: calc(100% - 4px);
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 6px;
  background: #ffffff;
}
.brand-project-subtitle {
  margin-top: 2px;
  padding-left: 2px;
  font-size: 11px;
  line-height: 1.2;
  color: var(--muted);
}
.auth-brand-logo {
  width: 360px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 6px 0 18px;
  border-radius: 8px;
  background: #ffffff;
}


/* V28.14 branding refresh: dark-blue Land Planner logo supplied for tool UI */
.brand-logo-combined {
  width: 205px;
  max-width: calc(100% - 4px);
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 4px;
  background: transparent !important;
}
.auth-brand-logo {
  width: 360px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 6px 0 18px;
  border-radius: 4px;
  background: transparent !important;
}

/* V28.19 action form refinements */
.form-stack { display: grid; grid-template-columns: 1fr; gap: 8px; }
.date-stack label { margin-top: 8px; }
.plant-mix-toggle-row { margin-top: 10px; }
.plant-mix-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plant-mix-body.hidden { display: none; }
.plant-mix-table { table-layout: fixed; }
.plant-mix-table th:nth-child(1), .plant-mix-table td:nth-child(1) { width: 42%; }
.plant-mix-table th:nth-child(2), .plant-mix-table td:nth-child(2) { width: 38px; }
.plant-mix-table th:nth-child(3), .plant-mix-table td:nth-child(3) { width: 68px; }
.plant-mix-table th:nth-child(4), .plant-mix-table td:nth-child(4) { width: 54px; }
.plant-mix-table th:nth-child(5), .plant-mix-table td:nth-child(5) { width: 58px; }
.plant-mix-table td:nth-child(2) input { width: 38px; min-width: 38px; padding-left: 4px; padding-right: 4px; }
.plant-mix-table td:nth-child(1) input { width: 100%; min-width: 0; }

/* V29 professional Project Context PDF download */
.lp-pdf-render-host {
  position: fixed;
  left: -10000px;
  top: 0;
  width: 794px;
  background: #ffffff;
  z-index: -1;
}
.lp-pdf-document, .lp-pdf-document * { box-sizing: border-box; font-family: Inter, "Source Sans 3", "Segoe UI", Arial, sans-serif; }
.lp-pdf-page {
  position: relative;
  width: 794px;
  height: 1123px;
  overflow: hidden;
  background: #ffffff;
  padding: 54px 56px 58px;
  color: #0f172a;
}
.lp-pdf-page h1, .lp-pdf-page h2, .lp-pdf-page h3, .lp-pdf-page p { margin: 0; color: inherit; }
.lp-pdf-cover-head { display: grid; grid-template-columns: 170px 1fr; gap: 20px; align-items: center; margin-bottom: 28px; }
.lp-pdf-cover-head img { width: 170px; height: auto; max-height: 70px; object-fit: contain; border-radius: 0; }
.lp-pdf-cover-head p, .lp-pdf-section-title p { color: #15803d; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; font-weight: 850; }
.lp-pdf-cover-head h1 { color: #0b1f3a; font-size: 34px; line-height: 1.08; letter-spacing: -.035em; font-weight: 900; margin-top: 5px; }
.lp-pdf-cover-map { height: 500px; border-radius: 20px; overflow: hidden; background: #e2e8f0; border: 1px solid #dbe3ee; box-shadow: 0 18px 42px rgba(15, 23, 42, .12); }
.lp-pdf-cover-map img, .lp-pdf-map-large img, .lp-pdf-map-panel img { width: 100%; height: 100%; object-fit: contain; display: block; background: #f8fafc; }
.lp-pdf-cover-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 22px; }
.lp-pdf-kpi { border-top: 2px solid #16a34a; background: #f8fafc; border-radius: 12px; padding: 11px 12px; min-height: 62px; }
.lp-pdf-kpi span { display: block; color: #64748b; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; font-weight: 850; line-height: 1.25; }
.lp-pdf-kpi strong { display: block; color: #0b1f3a; font-size: 16px; line-height: 1.15; margin-top: 7px; font-weight: 850; }
.lp-pdf-summary { margin-top: 24px; max-width: 630px; }
.lp-pdf-summary h2, .lp-pdf-summary-block h3, .lp-pdf-disclaimer h3 { color: #0b1f3a; font-size: 20px; letter-spacing: -.02em; margin-bottom: 8px; }
.lp-pdf-summary p, .lp-pdf-summary-block p, .lp-pdf-data-sources, .lp-pdf-disclaimer p { color: #334155; font-size: 12px; line-height: 1.55; }
.lp-pdf-footer { position: absolute; left: 56px; right: 56px; bottom: 22px; display: flex; justify-content: space-between; color: #94a3b8; border-top: 1px solid #e2e8f0; padding-top: 9px; font-size: 8px; letter-spacing: .04em; text-transform: uppercase; font-weight: 800; }
.lp-pdf-section-title { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: end; padding-bottom: 13px; border-bottom: 1px solid #dbe3ee; margin-bottom: 22px; }
.lp-pdf-section-title h2 { color: #0b1f3a; font-size: 27px; line-height: 1.08; letter-spacing: -.035em; font-weight: 900; }
.lp-pdf-two-col { display: grid; grid-template-columns: 1.16fr .84fr; gap: 18px; align-items: start; }
.lp-pdf-mt { margin-top: 16px; }
.lp-pdf-map-large, .lp-pdf-map-panel { height: 560px; border-radius: 16px; overflow: hidden; background: #f8fafc; border: 1px solid #dbe3ee; }
.lp-pdf-map-panel { height: 490px; }
.lp-pdf-map-panel h3 { height: 38px; padding: 11px 13px; background: #fff; border-bottom: 1px solid #e2e8f0; color: #0b1f3a; font-size: 13px; }
.lp-pdf-map-panel img { height: calc(100% - 38px); }
.lp-pdf-panel { background: #ffffff; border: 1px solid #dbe3ee; border-radius: 16px; padding: 16px; box-shadow: 0 8px 20px rgba(15,23,42,.05); }
.lp-pdf-panel h3, .lp-pdf-notes h3 { color: #0b1f3a; font-size: 15px; letter-spacing: -.01em; margin-bottom: 12px; }
.lp-pdf-subhead { margin-top: 18px; }
.lp-pdf-kpi-stack { display: grid; gap: 9px; }
.lp-pdf-kpi-stack.compact { grid-template-columns: 1fr; margin-top: 14px; }
.lp-pdf-kpi-stack .lp-pdf-kpi { min-height: 54px; padding: 10px 11px; border-top-width: 2px; }
.lp-pdf-kpi-stack .lp-pdf-kpi strong { font-size: 15px; }
.lp-pdf-notes { margin-top: 18px; background: #f8fafc; border-left: 4px solid #16a34a; border-radius: 14px; padding: 16px 18px; }
.lp-pdf-notes ul { margin: 0; padding-left: 18px; color: #334155; font-size: 12px; line-height: 1.55; }
.lp-pdf-table { width: 100%; border-collapse: collapse; font-size: 10.5px; color: #334155; }
.lp-pdf-table th { text-align: left; color: #64748b; text-transform: uppercase; letter-spacing: .08em; font-size: 8px; border-bottom: 1px solid #dbe3ee; padding: 0 0 7px; }
.lp-pdf-table td { border-bottom: 1px solid #eef2f7; padding: 8px 0; vertical-align: middle; }
.lp-pdf-table td:nth-child(2), .lp-pdf-table td:nth-child(3), .lp-pdf-table th:nth-child(2), .lp-pdf-table th:nth-child(3) { text-align: right; white-space: nowrap; }
.lp-pdf-table i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; margin-right: 7px; border: 1px solid rgba(15,23,42,.12); }
.lp-pdf-bar { display: grid; grid-template-columns: 118px 1fr 66px; gap: 9px; align-items: center; margin: 9px 0; color: #334155; font-size: 10.5px; }
.lp-pdf-bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-pdf-bar b { height: 9px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.lp-pdf-bar b i { display: block; height: 100%; border-radius: 999px; background: #16a34a; }
.lp-pdf-bar strong { text-align: right; color: #0f172a; font-size: 10.5px; }
.lp-pdf-muted { color: #64748b; font-size: 12px; line-height: 1.5; }
.lp-pdf-muted.strong-note { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px; color: #334155; }
.lp-pdf-data-sources, .lp-pdf-disclaimer { margin-top: 18px; padding: 14px 16px; border-radius: 14px; background: #f8fafc; border: 1px solid #e2e8f0; }
.lp-pdf-data-sources ul { margin: 8px 0 0; padding-left: 17px; }
.lp-pdf-data-sources li { margin: 5px 0; }
.lp-pdf-summary-block { margin-top: 0; padding: 20px; border-radius: 18px; background: linear-gradient(135deg, #f0fdf4, #f8fafc); border: 1px solid #bbf7d0; }
@media print {
  .lp-pdf-render-host { position: static; left: auto; width: auto; }
  .lp-pdf-page { page-break-after: always; }
}


/* V29.3 Online report PDF export
   The browser print/PDF output now uses the existing online report layout as the source of truth. */
@media print {
  @page { size: A4 landscape; margin: 8mm; }
  html, body {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body > *:not(#catchment-report-screen) { display: none !important; }
  #catchment-report-screen,
  #catchment-report-screen.report-screen {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
    backdrop-filter: none !important;
  }
  #catchment-report-screen.hidden { display: block !important; }
  .report-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .report-toolbar {
    position: static !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #ffffff !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
  .report-actions { display: none !important; }
  .report-toolbar h1 { font-size: 20px !important; line-height: 1.12 !important; }
  .report-toolbar .eyebrow { font-size: 9px !important; letter-spacing: .12em !important; }
  .report-content {
    width: 100% !important;
    max-width: none !important;
    padding: 12px 14px 16px !important;
    overflow: visible !important;
    background: #f8fafc !important;
  }
  .report-content * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .report-project-line { font-size: 17px !important; margin-bottom: 10px !important; }
  .report-title-card,
  .report-map-card-labelled,
  .report-context-map-card,
  .report-context-summary,
  .report-property-section,
  .report-section-landcover,
  .report-section-natural-habitat,
  .report-section-waterways,
  .report-risk-section,
  .report-soils-section,
  .report-luc-section,
  .report-card,
  .report-kpi-strip,
  .report-map-stat-list,
  .report-overlap-grid {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .report-context-top,
  .report-landcover-layout,
  .report-waterways-layout,
  .report-risk-layout {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .report-context-map-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .report-kpi-strip,
  .report-property-section .report-kpi-strip-six,
  .report-context-summary .report-kpi-strip-six {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .report-card,
  .report-kpis div,
  .report-kpi-strip > div,
  .report-metric-list div,
  .report-map-stat-list div {
    box-shadow: none !important;
  }
  .report-title-card h2 { font-size: 23px !important; }
  .report-title-card p { font-size: 13px !important; line-height: 1.42 !important; }
  .report-context-summary h2,
  .report-property-section h2,
  .report-section-landcover h2,
  .report-section-natural-habitat h2,
  .report-section-waterways h2,
  .report-risk-section h2,
  .report-soils-section h2,
  .report-luc-section h2 {
    font-size: 20px !important;
    line-height: 1.15 !important;
    margin-bottom: 10px !important;
  }
  .report-kpi-strip strong,
  .report-metric-list strong,
  .report-overlap-grid strong { font-size: 14px !important; }
  .report-kpi-strip span,
  .report-metric-list span,
  .report-overlap-grid span { font-size: 8.5px !important; }
  .report-table { font-size: 10px !important; }
  .report-table th { font-size: 8px !important; }
  .report-table td { padding: 5px 6px !important; }
  .report-map-card,
  .report-map-card-labelled,
  .report-context-map-frame {
    overflow: hidden !important;
  }
  .report-map-card img,
  .report-map-card-labelled img,
  .report-context-map-frame img,
  .report-map-img,
  .report-card img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }
  .report-context-map-frame img,
  .report-map-card img,
  .report-map-card-labelled img {
    width: 100% !important;
    height: 100% !important;
  }
  .report-context-map-frame { min-height: 185px !important; aspect-ratio: 1.16 / 1 !important; }
  .report-title-card,
  .report-map-card-labelled { min-height: 210px !important; }
  .report-section-landcover,
  .report-section-natural-habitat,
  .report-section-waterways,
  .report-risk-section,
  .report-soils-section,
  .report-luc-section {
    margin-top: 14px !important;
  }
  .report-map-mini-legend-overlay,
  .report-map-mini-legend-overlay span { font-size: 6.5px !important; }
}

/* V29.4 print/PDF layout stability fixes
   Keeps the online report as the source of truth, but uses a stricter print flow to prevent page overlaps,
   awkward section splits, stretched maps and cramped tables. */
@media print {
  @page { size: A4 landscape; margin: 7mm; }

  #catchment-report-screen,
  #catchment-report-screen.report-screen,
  .report-shell,
  .report-content {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  .report-content {
    padding: 10px 12px 12px !important;
  }

  .report-card,
  .report-context-top,
  .report-property-section,
  .report-context-summary,
  .report-section-landcover,
  .report-section-natural-habitat,
  .report-section-waterways,
  .report-risk-section,
  .report-soils-section,
  .report-luc-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 14px 16px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  /* Put major report blocks onto clean pages instead of allowing headings, notes or cards to collide. */
  .report-context-top { break-after: page !important; page-break-after: always !important; }
  .report-context-maps,
  .report-context-summary,
  .report-property-section,
  .report-section-landcover,
  .report-section-natural-habitat,
  .report-section-waterways,
  .report-risk-section,
  .report-soils-section,
  .report-luc-section {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Compact typography for PDF without changing the screen design. */
  .report-card h3,
  .report-context-summary h3,
  .report-property-section h3,
  .report-section-landcover h3,
  .report-section-natural-habitat h3,
  .report-section-waterways h3,
  .report-risk-section h3,
  .report-soils-section h3,
  .report-luc-section h3 {
    font-size: 18px !important;
    line-height: 1.15 !important;
    margin: 0 0 10px !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  .report-title-card,
  .report-map-card-labelled {
    min-height: 245px !important;
    height: 245px !important;
  }
  .report-title-card { padding: 28px 28px !important; }
  .report-title-card h2 { font-size: 22px !important; line-height: 1.15 !important; }
  .report-title-card p { font-size: 12px !important; line-height: 1.35 !important; }
  .report-map-card-labelled h3 { font-size: 16px !important; }

  /* Maps and context cards: preserve image aspect ratio and align stats underneath. */
  .report-context-map-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: start !important;
  }
  .report-context-map-card {
    height: auto !important;
    min-height: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .report-context-map-card h4 {
    font-size: 12px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
  .report-context-map-frame {
    height: 170px !important;
    min-height: 170px !important;
    max-height: 170px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    border-radius: 9px !important;
  }
  .report-map-card img,
  .report-map-card-labelled img,
  .report-context-map-frame img,
  .report-map-img,
  .report-card img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    display: block !important;
  }
  .report-context-map-card .report-map-stat-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 0 !important;
  }
  .report-context-map-card .report-map-stat-list div {
    min-height: 42px !important;
    padding: 7px 8px !important;
  }

  /* KPI rows: remove wrapping collisions and keep six cards aligned. */
  .report-kpi-strip,
  .report-kpi-strip-six,
  .report-property-section .report-kpi-strip-six,
  .report-context-summary .report-kpi-strip-six {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .report-context-summary .report-kpi-strip-six { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .report-kpi-strip > div,
  .report-metric-list div,
  .report-overlap-grid div,
  .report-map-stat-list div {
    min-height: 54px !important;
    padding: 9px 10px !important;
    overflow: hidden !important;
  }
  .report-kpi-strip span,
  .report-metric-list span,
  .report-overlap-grid span,
  .report-map-stat-list span {
    display: block !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
    letter-spacing: .05em !important;
    white-space: normal !important;
  }
  .report-kpi-strip strong,
  .report-metric-list strong,
  .report-overlap-grid strong,
  .report-map-stat-list strong {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.12 !important;
    margin-top: 5px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Land cover: prevent the two-column class list from collapsing into narrow vertical text. */
  .report-landcover-layout {
    display: grid !important;
    grid-template-columns: 190px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }
  .report-section-landcover .report-pie-large { width: 168px !important; height: 168px !important; }
  .report-landcover-table {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 14px !important;
    padding: 10px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .report-lc-header,
  .report-lc-row {
    display: grid !important;
    grid-template-columns: 11px minmax(96px, 1fr) 64px 38px !important;
    gap: 5px !important;
    min-width: 0 !important;
    min-height: 18px !important;
    font-size: 9px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow: hidden !important;
  }
  .report-lc-header { grid-template-columns: minmax(0, 1fr) 64px 38px !important; font-size: 8px !important; }
  .report-lc-row span:nth-child(2) {
    font-size: 9px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .report-lc-row strong,
  .report-lc-row em { font-size: 9px !important; line-height: 1.12 !important; }

  /* Risk, soils, LUC and habitat sections: compact three-column dashboard that fits on one page. */
  .report-risk-layout,
  .report-waterways-layout {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) 300px !important;
    gap: 14px !important;
    align-items: start !important;
  }
  .report-waterways-layout { grid-template-columns: 430px minmax(0, 1fr) !important; }
  .report-pie-large {
    width: 175px !important;
    height: 175px !important;
    min-width: 175px !important;
    min-height: 175px !important;
    margin: 0 auto !important;
  }
  .report-table {
    width: 100% !important;
    table-layout: fixed !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
  }
  .report-table th { font-size: 7.5px !important; padding: 0 4px 5px !important; }
  .report-table td { padding: 5px 4px !important; white-space: normal !important; overflow-wrap: normal !important; word-break: normal !important; }
  .report-table td:nth-child(1) { width: auto !important; }
  .report-table td:nth-child(2), .report-table td:nth-child(3) { width: 82px !important; white-space: nowrap !important; }
  .report-overlap-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    align-self: start !important;
  }
  .report-notes,
  .report-status-note {
    margin-top: 10px !important;
    padding: 10px 12px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .report-bar-row-large {
    grid-template-columns: 115px minmax(160px, 1fr) 65px !important;
    gap: 8px !important;
    font-size: 11px !important;
  }
  .report-bar-row-large span,
  .report-bar-row-large strong { font-size: 11px !important; }
}

/* V29.5 print/PDF fix: include maps in each analysis section and stabilise spacing. */
.report-section-map-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.35fr);
  gap: 18px;
  align-items: start;
}
.report-section-map-card {
  background: #ffffff;
  color: #0f172a;
  border-radius: 14px;
  border: 1px solid #dbe4ee;
  padding: 12px;
  min-width: 0;
}
.report-section-map-card h4 {
  margin: 0 0 9px;
  font-size: 14px;
  line-height: 1.15;
  color: #0f172a;
}
.report-section-map-frame {
  position: relative;
  overflow: hidden;
  border-radius: 11px;
  background: #e2e8f0;
  border: 1px solid #cbd5e1;
  aspect-ratio: 1.42 / 1;
}
.report-section-map-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.report-landcover-print-layout .report-landcover-layout {
  grid-template-columns: 150px minmax(0,1fr) !important;
}
@media print {
  @page { size: A4 landscape; margin: 7mm; }

  /* Remove over-aggressive page forcing from V29.4; keep sections intact but allow natural flow. */
  .report-context-maps,
  .report-context-summary,
  .report-property-section,
  .report-section-landcover,
  .report-section-natural-habitat,
  .report-section-waterways,
  .report-risk-section,
  .report-soils-section,
  .report-luc-section {
    break-before: auto !important;
    page-break-before: auto !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 10px !important;
  }
  .report-context-top {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  .report-section-map-layout {
    display: grid !important;
    grid-template-columns: 360px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .report-section-map-card {
    padding: 9px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .report-section-map-card h4 {
    font-size: 11px !important;
    margin: 0 0 6px !important;
  }
  .report-section-map-frame {
    height: 215px !important;
    min-height: 215px !important;
    max-height: 215px !important;
    aspect-ratio: auto !important;
  }
  .report-section-map-frame img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Keep analysis content next to section maps. */
  .report-section-map-layout > .report-risk-layout,
  .report-section-map-layout > .report-waterways-layout,
  .report-section-map-layout > .report-landcover-layout {
    min-width: 0 !important;
    width: 100% !important;
  }
  .report-section-map-layout .report-risk-layout {
    grid-template-columns: 150px minmax(0, 1fr) 230px !important;
    gap: 10px !important;
  }
  .report-section-map-layout .report-waterways-layout {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .report-landcover-print-layout .report-landcover-layout {
    grid-template-columns: 135px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .report-landcover-print-layout .report-pie-large,
  .report-section-map-layout .report-pie-large {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
  }

  /* Fix compressed/vertical land-cover and waterways text. */
  .report-landcover-table {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .report-lc-header,
  .report-lc-row {
    grid-template-columns: 10px minmax(170px, 1fr) 58px 36px !important;
    font-size: 8.2px !important;
    line-height: 1.08 !important;
    min-height: 15px !important;
    overflow: visible !important;
  }
  .report-lc-header { grid-template-columns: minmax(180px, 1fr) 58px 36px !important; }
  .report-lc-row span:nth-child(2) {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .report-metric-list-white {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .report-bars-large { gap: 8px !important; }
  .report-bar-row-large {
    grid-template-columns: 92px minmax(140px, 1fr) 60px !important;
    gap: 6px !important;
  }
  .report-bar-row-large span,
  .report-bar-row-large strong {
    font-size: 9px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .report-table { font-size: 8.5px !important; }
  .report-table th { font-size: 7px !important; }
  .report-table td { padding: 4px 4px !important; }
  .report-overlap-grid { gap: 6px !important; }
  .report-overlap-grid div { min-height: 46px !important; padding: 7px 8px !important; }
  .report-overlap-grid strong { font-size: 12px !important; margin-top: 4px !important; }

  .report-card,
  .report-context-summary,
  .report-property-section,
  .report-section-landcover,
  .report-section-natural-habitat,
  .report-section-waterways,
  .report-risk-section,
  .report-soils-section,
  .report-luc-section {
    padding: 12px 14px !important;
    overflow: visible !important;
  }

  /* Leave a little breathing room while avoiding the huge blank pages seen in V29.4. */
  .report-content { padding-bottom: 8px !important; }
}

/* V29.6 report refinements: front summary, maps on soils/LUC, data sources footer. */
.report-front-summary {
  background: #eef7f2;
  border: 1px solid #bfdfcf;
}
.report-front-summary h3,
.report-data-source-section h3 { color: #0f172a; }
.report-data-source-section {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #dbe4ee;
}
.report-data-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.report-data-source-grid div {
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.report-data-source-grid strong {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #64748b;
}
.report-data-source-grid span {
  display: block;
  font-size: 13px;
  line-height: 1.4;
  color: #334155;
}

@media print {
  .report-front-summary {
    margin-top: 12px !important;
    margin-bottom: 10px !important;
    padding: 12px 14px !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .report-front-summary h3,
  .report-data-source-section h3 {
    font-size: 17px !important;
    margin: 0 0 10px !important;
  }
  .report-front-summary .report-kpi-strip-six {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .report-front-summary .report-kpi-strip > div {
    min-height: 48px !important;
    padding: 8px 9px !important;
  }
  .report-data-source-section {
    margin-top: 12px !important;
    padding: 14px 16px !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .report-data-source-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }
  .report-data-source-grid div {
    padding: 8px 9px !important;
    min-height: 60px !important;
  }
  .report-data-source-grid strong {
    font-size: 7.6px !important;
    margin-bottom: 3px !important;
  }
  .report-data-source-grid span {
    font-size: 8.3px !important;
    line-height: 1.28 !important;
  }
  .report-data-source-section .report-status-note {
    font-size: 8.8px !important;
    line-height: 1.32 !important;
    margin-top: 8px !important;
  }
  .report-soils-section .report-section-map-layout,
  .report-luc-section .report-section-map-layout {
    grid-template-columns: 330px minmax(0, 1fr) !important;
  }
  .report-soils-section .report-section-map-frame,
  .report-luc-section .report-section-map-frame {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
  }
  .report-soils-section .report-risk-layout,
  .report-luc-section .report-risk-layout {
    grid-template-columns: 120px minmax(0, 1fr) 210px !important;
    gap: 8px !important;
  }
}

/* V29.7 online report alignment and typography polish.
   Aim: fixed, predictable report grids with maps/charts/tables/cards fitting neatly inside each category. */
:root {
  --lp-report-body-font: 12px;
  --lp-report-small-font: 10.5px;
  --lp-report-value-font: 15px;
}
#catchment-report-content,
#catchment-report-content p,
#catchment-report-content td,
#catchment-report-content th,
#catchment-report-content span,
#catchment-report-content strong,
#catchment-report-content em,
#catchment-report-content div {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
#catchment-report-content .report-card {
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 16px !important;
}
#catchment-report-content .report-card h3 {
  font-size: 20px !important;
  line-height: 1.12 !important;
  margin: 0 0 14px !important;
}
#catchment-report-content .report-card h4,
#catchment-report-content .report-section-map-card h4 {
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.2 !important;
}
#catchment-report-content .report-section-map-layout {
  display: grid !important;
  grid-template-columns: minmax(340px, 390px) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#catchment-report-content .report-section-map-card {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 10px !important;
}
#catchment-report-content .report-section-map-frame {
  height: 248px !important;
  min-height: 248px !important;
  max-height: 248px !important;
  aspect-ratio: auto !important;
}
#catchment-report-content .report-section-map-frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
#catchment-report-content .report-risk-layout {
  display: grid !important;
  grid-template-columns: 130px minmax(230px, 1fr) minmax(190px, 230px) !important;
  gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#catchment-report-content .report-landcover-layout {
  display: grid !important;
  grid-template-columns: 120px minmax(420px, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  min-width: 0 !important;
  width: 100% !important;
}
#catchment-report-content .report-waterways-layout {
  display: grid !important;
  grid-template-columns: minmax(230px, 280px) minmax(260px, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  min-width: 0 !important;
  width: 100% !important;
}
#catchment-report-content .report-pie-large {
  width: 126px !important;
  height: 126px !important;
  min-width: 126px !important;
  min-height: 126px !important;
  border-width: 8px !important;
  margin: 0 auto !important;
  align-self: center !important;
}
#catchment-report-content .report-table,
#catchment-report-content .report-risk-table {
  width: 100% !important;
  table-layout: fixed !important;
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.18 !important;
  border-collapse: collapse !important;
}
#catchment-report-content .report-table th,
#catchment-report-content .report-risk-table th {
  font-size: var(--lp-report-small-font) !important;
  line-height: 1.15 !important;
  padding: 0 6px 7px !important;
}
#catchment-report-content .report-table td,
#catchment-report-content .report-risk-table td {
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.18 !important;
  padding: 7px 6px !important;
  vertical-align: middle !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
#catchment-report-content .report-table td:nth-child(2),
#catchment-report-content .report-table td:nth-child(3) {
  text-align: right !important;
  white-space: nowrap !important;
  width: 70px !important;
}
#catchment-report-content .report-overlap-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#catchment-report-content .report-overlap-grid div,
#catchment-report-content .report-metric-list-white div,
#catchment-report-content .report-kpi-strip div {
  min-height: 64px !important;
  padding: 11px 12px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
#catchment-report-content .report-overlap-grid span,
#catchment-report-content .report-metric-list-white span,
#catchment-report-content .report-kpi-strip span {
  font-size: var(--lp-report-small-font) !important;
  line-height: 1.18 !important;
  letter-spacing: .055em !important;
}
#catchment-report-content .report-overlap-grid strong,
#catchment-report-content .report-metric-list-white strong,
#catchment-report-content .report-kpi-strip strong {
  font-size: var(--lp-report-value-font) !important;
  line-height: 1.15 !important;
  margin-top: 6px !important;
  white-space: normal !important;
}
#catchment-report-content .report-landcover-table {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: 13px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#catchment-report-content .report-lc-header,
#catchment-report-content .report-lc-row {
  grid-template-columns: 12px minmax(0,1fr) 70px 44px !important;
  gap: 7px !important;
  min-height: 21px !important;
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.15 !important;
  align-items: center !important;
}
#catchment-report-content .report-lc-header {
  grid-template-columns: minmax(0,1fr) 70px 44px !important;
  font-size: var(--lp-report-small-font) !important;
  min-height: 20px !important;
}
#catchment-report-content .report-lc-row span:nth-child(2),
#catchment-report-content .report-lc-row strong,
#catchment-report-content .report-lc-row em {
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.15 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
#catchment-report-content .report-lc-row strong,
#catchment-report-content .report-lc-row em {
  text-align: right !important;
  white-space: nowrap !important;
}
#catchment-report-content .report-metric-list-white {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}
#catchment-report-content .report-bars-large {
  display: grid !important;
  gap: 10px !important;
  align-content: start !important;
}
#catchment-report-content .report-bar-row-large {
  grid-template-columns: 95px minmax(130px, 1fr) 58px !important;
  gap: 8px !important;
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}
#catchment-report-content .report-bar-row-large span,
#catchment-report-content .report-bar-row-large strong {
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.15 !important;
}
#catchment-report-content .report-status-note,
#catchment-report-content .report-notes p {
  font-size: var(--lp-report-body-font) !important;
  line-height: 1.32 !important;
  margin-top: 12px !important;
  padding: 10px 12px !important;
}
#catchment-report-content .report-notes {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  margin-top: 12px !important;
}
#catchment-report-content .report-notes p { margin: 0 !important; }
#catchment-report-content .report-data-source-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
#catchment-report-content .report-data-source-grid > div {
  min-width: 0 !important;
  overflow: hidden !important;
}
@media (min-width: 1200px) {
  #catchment-report-content .report-section-map-layout {
    grid-template-columns: 420px minmax(0, 1fr) !important;
  }
  #catchment-report-content .report-section-map-frame {
    height: 270px !important;
    min-height: 270px !important;
    max-height: 270px !important;
  }
}
@media (max-width: 1100px) {
  #catchment-report-content .report-section-map-layout,
  #catchment-report-content .report-risk-layout,
  #catchment-report-content .report-landcover-layout,
  #catchment-report-content .report-waterways-layout {
    grid-template-columns: 1fr !important;
  }
  #catchment-report-content .report-overlap-grid,
  #catchment-report-content .report-metric-list-white,
  #catchment-report-content .report-data-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media print {
  #catchment-report-content { font-size: 8.8px !important; }
  #catchment-report-content .report-card { padding: 10px !important; margin-bottom: 8px !important; overflow: hidden !important; }
  #catchment-report-content .report-card h3 { font-size: 15px !important; margin-bottom: 8px !important; }
  #catchment-report-content .report-section-map-layout { grid-template-columns: 300px minmax(0,1fr) !important; gap: 8px !important; }
  #catchment-report-content .report-section-map-frame { height: 170px !important; min-height:170px !important; max-height:170px !important; }
  #catchment-report-content .report-risk-layout { grid-template-columns: 105px minmax(190px,1fr) 185px !important; gap: 7px !important; }
  #catchment-report-content .report-landcover-layout { grid-template-columns: 95px minmax(360px,1fr) !important; gap: 7px !important; }
  #catchment-report-content .report-waterways-layout { grid-template-columns: 210px minmax(220px,1fr) !important; gap: 8px !important; }
  #catchment-report-content .report-pie-large { width: 94px !important; height: 94px !important; min-width:94px !important; min-height:94px !important; border-width:6px !important; }
  #catchment-report-content .report-table, #catchment-report-content .report-risk-table { font-size: 7.8px !important; line-height: 1.12 !important; }
  #catchment-report-content .report-table th, #catchment-report-content .report-risk-table th { font-size: 6.8px !important; padding: 0 3px 4px !important; }
  #catchment-report-content .report-table td, #catchment-report-content .report-risk-table td { font-size: 7.8px !important; padding: 3px !important; }
  #catchment-report-content .report-overlap-grid { gap: 5px !important; }
  #catchment-report-content .report-overlap-grid div,
  #catchment-report-content .report-metric-list-white div,
  #catchment-report-content .report-kpi-strip div { min-height: 45px !important; padding: 7px !important; border-radius: 6px !important; }
  #catchment-report-content .report-overlap-grid span,
  #catchment-report-content .report-metric-list-white span,
  #catchment-report-content .report-kpi-strip span { font-size: 6.8px !important; line-height: 1.1 !important; }
  #catchment-report-content .report-overlap-grid strong,
  #catchment-report-content .report-metric-list-white strong,
  #catchment-report-content .report-kpi-strip strong { font-size: 9.2px !important; line-height: 1.12 !important; margin-top: 3px !important; }
  #catchment-report-content .report-lc-header,
  #catchment-report-content .report-lc-row { grid-template-columns: 8px minmax(0,1fr) 43px 28px !important; gap: 4px !important; min-height: 12px !important; font-size: 6.8px !important; line-height: 1.05 !important; }
  #catchment-report-content .report-lc-header { grid-template-columns: minmax(0,1fr) 43px 28px !important; font-size: 6.5px !important; }
  #catchment-report-content .report-lc-row span:nth-child(2),
  #catchment-report-content .report-lc-row strong,
  #catchment-report-content .report-lc-row em { font-size: 6.8px !important; line-height: 1.05 !important; }
  #catchment-report-content .report-swatch { width: 7px !important; height: 7px !important; }
  #catchment-report-content .report-bar-row-large { grid-template-columns: 70px minmax(110px,1fr) 42px !important; gap: 4px !important; font-size: 7.8px !important; }
  #catchment-report-content .report-bar-row-large span, #catchment-report-content .report-bar-row-large strong { font-size: 7.8px !important; }
  #catchment-report-content .report-status-note, #catchment-report-content .report-notes p { font-size: 7.8px !important; line-height: 1.2 !important; margin-top: 7px !important; padding: 7px !important; }
  #catchment-report-content .report-data-source-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}


/* V30.4 Monitoring Module */
.monitoring-screen{position:fixed;inset:22px;z-index:80;background:rgba(15,23,42,.28);backdrop-filter:blur(2px);display:flex;align-items:stretch;justify-content:center}.monitoring-screen.hidden,.monitoring-modal.hidden{display:none}.monitoring-shell{width:min(1320px,96vw);height:calc(100vh - 44px);overflow:auto;background:#f8fafc;border-radius:18px;padding:18px}.monitoring-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.monitoring-toolbar h1,.monitoring-toolbar h2{margin:0;color:#0f172a}.monitoring-layout{display:grid;grid-template-columns:300px 1fr;gap:16px}.monitoring-sidebar,.monitoring-main{display:flex;flex-direction:column;gap:14px}.monitoring-card,.monitoring-detail{background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:14px}.monitoring-detail.empty{color:#64748b}.monitoring-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.monitoring-kpis div{background:#f1f5f9;border-radius:10px;padding:10px}.monitoring-kpis span,.monitoring-chart small{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.monitoring-kpis strong{font-size:18px;color:#0f172a}.monitoring-site-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.monitoring-site-btn{border:1px solid #dbe3ef;background:#f8fafc;border-radius:10px;padding:10px;text-align:left;cursor:pointer}.monitoring-site-btn.active{border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.15)}.monitoring-site-btn span{display:block;color:#64748b;font-size:12px;margin-top:3px}.monitoring-site-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.monitoring-site-header h2{margin:0;color:#0f172a}.monitoring-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0}.monitoring-chart{border:1px solid #dbe3ef;border-radius:12px;padding:12px;background:#f8fafc}.sparkbars{height:82px;display:flex;gap:4px;align-items:flex-end;border-bottom:1px solid #cbd5e1;margin:10px 0}.sparkbars span{flex:1;display:block;background:linear-gradient(180deg,#22c55e,#0ea5e9);border-radius:4px 4px 0 0;min-height:4px}.monitoring-chart-foot{display:flex;justify-content:space-between;gap:8px;color:#64748b}.monitoring-table{width:100%;border-collapse:collapse;background:#fff}.monitoring-table th,.monitoring-table td{font-size:13px;padding:8px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.monitoring-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.monitoring-modal{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center}.monitoring-modal-card{width:min(1100px,94vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:20px}.monitoring-import-grid,.monitoring-param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}.monitoring-import-grid label,.monitoring-param-grid label{font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em}.monitoring-import-grid select,.monitoring-param-grid select{width:100%;margin-top:4px}.monitoring-preview-table{overflow:auto;margin:14px 0}.monitoring-preview-table table{width:100%;border-collapse:collapse}.monitoring-preview-table th,.monitoring-preview-table td{padding:7px;border:1px solid #e2e8f0;font-size:12px}.report-section{margin:18px 0;padding:16px;border:1px solid #dbe3ef;border-radius:14px;background:#fff}@media print{.monitoring-screen,.monitoring-modal{position:static;inset:auto;background:#fff;display:block}.monitoring-shell{height:auto;overflow:visible;box-shadow:none}.monitoring-toolbar .report-actions{display:none}}


/* V30.4 Monitoring visibility/polish */
#monitoring-open-btn{background:#10b981;color:#fff;border-color:#10b981;}
.monitoring-toolbar .report-actions{display:flex;gap:8px;flex-wrap:wrap;}
.monitoring-layout{min-height:620px;}
.monitoring-card strong{color:#0f172a;}
.monitoring-detail h3{margin-top:18px;}
@media (max-width:900px){.monitoring-layout{grid-template-columns:1fr}.monitoring-shell{height:calc(100vh - 20px);width:calc(100vw - 20px)}}

/* V30.5 Monitoring visibility and toolbar fixes */
.monitoring-sidebar-section .btn,
.monitoring-sidebar-section .file-button { width:100%; margin-top:8px; }
.monitoring-dock{position:absolute;left:360px;right:430px;top:72px;z-index:22;border-radius:16px;padding:12px;background:rgba(15,23,42,.82);backdrop-filter:blur(6px);box-shadow:0 10px 32px rgba(0,0,0,.22);color:#fff;display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(92px,.55fr)) auto;gap:10px;align-items:center;}
.monitoring-dock.hidden{display:none!important;}
.monitoring-dock-title{font-weight:900;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#cbd5e1;}
.monitoring-dock-title strong{display:block;font-size:18px;letter-spacing:0;text-transform:none;color:#fff;margin-top:2px;}
.monitoring-dock-kpi{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:8px 10px;min-height:56px;}
.monitoring-dock-kpi span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;color:#cbd5e1;}
.monitoring-dock-kpi strong{display:block;font-size:18px;color:#fff;margin-top:3px;}
.monitoring-dock-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.monitoring-dock-actions .btn{white-space:nowrap;}
.monitoring-open-top{background:#10b981!important;color:#fff!important;border-color:#10b981!important;}
.monitoring-screen{z-index:120!important;}
.monitoring-shell{border:1px solid #dbe3ef;box-shadow:0 22px 70px rgba(15,23,42,.35);}
.monitoring-empty-cta{border:1px dashed #94a3b8;border-radius:12px;padding:14px;background:#f8fafc;color:#334155;margin-top:10px;}
@media (max-width:1400px){.monitoring-dock{left:310px;right:390px;grid-template-columns:1fr auto;}.monitoring-dock-kpi{display:none;}}
@media (max-width:1100px){.monitoring-dock{left:20px;right:20px;top:90px;}}


/* V30.6 monitoring panel: actions/planning style */
.monitoring-right-panel{
  position:absolute;
  top:86px;
  right:760px;
  width:360px;
  max-height:calc(100vh - 126px);
  overflow:hidden;
  z-index:25;
  background:rgba(15,32,54,.94);
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  color:#f8fafc;
}
.monitoring-right-panel.minimised{height:48px;}
.monitoring-right-panel.minimised .monitoring-right-body{display:none;}
.monitoring-right-body{padding:12px;display:flex;flex-direction:column;gap:10px;}
.monitoring-control-label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;}
.monitoring-control-label select{width:100%;height:38px;background:#0b1728;color:#fff;border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:0 10px;font-weight:800;}
.monitoring-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.monitoring-actions-row .btn{width:100%;}
.monitoring-right-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px;}
.monitoring-right-summary div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:10px;padding:8px;}
.monitoring-right-summary span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;}
.monitoring-right-summary strong{display:block;margin-top:2px;font-size:17px;color:#fff;}
.monitoring-right-list{display:flex;flex-direction:column;gap:8px;max-height:42vh;overflow:auto;padding-right:2px;}
.monitoring-right-list .monitoring-site-btn{background:#101f34;border-color:rgba(148,163,184,.22);color:#fff;}
.monitoring-site-btn em{display:block;font-style:normal;font-size:11px;color:#93c5fd;margin-top:5px;}
.monitoring-list-photo{width:100%;height:76px;object-fit:cover;border-radius:8px;margin-top:8px;border:1px solid rgba(255,255,255,.15);}
.monitoring-empty-small{font-size:12px;color:#cbd5e1;background:rgba(255,255,255,.06);border-radius:10px;padding:10px;}
.monitoring-site-photo{width:100%;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid #dbe3ef;margin:8px 0 12px;}
.file-inline{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;}
.file-inline input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.monitoring-hover-popup .maplibregl-popup-content{padding:0;border-radius:12px;overflow:hidden;background:#0f172a;color:#fff;box-shadow:0 12px 32px rgba(0,0,0,.34);}
.monitoring-hover-card{min-width:210px;max-width:280px;padding:10px;font-size:12px;line-height:1.35;}
.monitoring-hover-card img{width:100%;height:110px;object-fit:cover;border-radius:8px;margin-bottom:8px;}
.monitoring-hover-card strong{display:block;font-size:14px;margin-bottom:3px;}
.monitoring-hover-card span{display:block;color:#cbd5e1;margin-bottom:6px;}
.monitoring-hover-card div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid rgba(255,255,255,.10);padding-top:5px;margin-top:5px;}
.monitoring-hover-card small{color:#94a3b8;}
@media (max-width:1300px){.monitoring-right-panel{right:420px;width:330px;}}
@media (max-width:1000px){.monitoring-right-panel{left:16px;right:auto;top:92px;width:calc(100vw - 32px);}}
@media print{.monitoring-right-panel{display:none!important;}}

/* V30.7 monitoring site placement and editor polish */
.monitoring-drop-status{border:1px solid rgba(16,185,129,.45);background:rgba(16,185,129,.14);color:#d1fae5;border-radius:10px;padding:9px 10px;font-size:12px;font-weight:800;line-height:1.35;}
.monitoring-drop-status.hidden{display:none!important;}
.monitoring-editor-panel{position:absolute;right:430px;top:128px;z-index:35;width:360px;max-height:calc(100vh - 170px);overflow:hidden;background:#122238;color:#fff;border:1px solid rgba(148,163,184,.25);border-radius:16px;box-shadow:0 18px 46px rgba(0,0,0,.32);}
.monitoring-editor-panel.hidden{display:none!important;}
.monitoring-editor-panel.minimised{height:48px;}
.monitoring-editor-panel.minimised .monitoring-editor-body{display:none;}
.monitoring-editor-body{padding:12px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 222px);overflow:auto;}
.monitoring-editor-body label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;}
.monitoring-editor-body input,.monitoring-editor-body select,.monitoring-editor-body textarea{width:100%;background:#0b1728;color:#fff;border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:9px 10px;font-weight:700;text-transform:none;letter-spacing:0;box-sizing:border-box;}
.monitoring-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.monitoring-editor-summary{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;align-items:center;gap:5px 7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:10px;padding:9px;}
.monitoring-editor-summary strong{font-size:16px;color:#fff;}
.monitoring-editor-summary span{font-size:10px;color:#cbd5e1;text-transform:uppercase;font-weight:900;letter-spacing:.05em;}
.monitoring-editor-results{display:flex;flex-direction:column;gap:6px;}
.monitoring-editor-results div{display:grid;grid-template-columns:1fr auto;gap:3px 8px;background:rgba(255,255,255,.06);border-radius:8px;padding:8px;}
.monitoring-editor-results small{grid-column:1 / -1;color:#94a3b8;}
.monitoring-editor-results span{font-weight:900;color:#dbeafe;}
.monitoring-editor-panel .monitoring-site-photo{max-height:150px;border-color:rgba(255,255,255,.18);}
.monitoring-editor-panel .button-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.monitoring-editor-panel .button-row .btn{width:100%;}
@media (max-width:1300px){.monitoring-editor-panel{right:380px;width:340px;}}
@media (max-width:1000px){.monitoring-editor-panel{left:16px;right:auto;width:calc(100vw - 32px);top:145px;}}

/* V30.8 monitoring workflow refinements */
#monitoring-sidebar-section .section-heading{color:#cbd5e1;}
.monitoring-right-panel{z-index:46!important;}
.actions-panel{z-index:44!important;display:block!important;visibility:visible!important;}
.planning-tools-panel{z-index:43!important;display:block!important;visibility:visible!important;}
.monitoring-right-panel .panel-header{cursor:move;}
.monitoring-right-summary.monitoring-sites-only{grid-template-columns:1fr;}
.monitoring-right-summary.monitoring-sites-only div{display:flex;justify-content:space-between;align-items:center;}
.monitoring-site-btn{width:100%;}
.monitoring-editor-panel{width:620px!important;right:420px!important;z-index:55!important;}
.monitoring-editor-panel .panel-header .panel-mini-btn:first-child{display:none!important;}
.monitoring-sample-table-wrap{overflow:auto;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.18);border-radius:10px;}
.monitoring-sample-table{width:100%;border-collapse:collapse;table-layout:fixed;}
.monitoring-sample-table th,.monitoring-sample-table td{border-bottom:1px solid rgba(148,163,184,.18);padding:6px;vertical-align:middle;}
.monitoring-sample-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;text-align:left;}
.monitoring-sample-table input,.monitoring-sample-table select{height:32px!important;padding:5px 7px!important;font-size:12px!important;border-radius:7px!important;}
.monitoring-sample-table th:nth-child(1){width:118px;}
.monitoring-sample-table th:nth-child(2){width:120px;}
.monitoring-sample-table th:nth-child(3){width:130px;}
.monitoring-sample-table th:nth-child(4){width:80px;}
.monitoring-sample-table th:nth-child(5){width:70px;}
.monitoring-sample-table th:nth-child(6){width:120px;}
.monitoring-sample-table th:nth-child(7){width:38px;}
.trash-btn{background:#7f1d1d;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:7px;width:30px;height:30px;cursor:pointer;}
.monitoring-line-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-top:12px;}
.monitoring-line-card{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:10px;}
.monitoring-line-card svg{width:100%;height:170px;display:block;}
.monitoring-report-site{break-inside:avoid;page-break-inside:avoid;}
.context-summary-grid.compact{grid-template-columns:repeat(4,1fr);gap:8px;}
@media (max-width:1300px){.monitoring-editor-panel{right:370px!important;width:560px!important;}}
@media (max-width:1000px){.monitoring-editor-panel{left:16px!important;right:auto!important;width:calc(100vw - 32px)!important;}}


/* V30.9 monitoring site details tidy-up */
#monitoring-site-editor-panel.monitoring-editor-panel{
  width: min(520px, 92vw) !important;
  right: 430px;
  max-height: calc(100vh - 95px) !important;
}
#monitoring-site-editor-panel .panel-header strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase;}
#monitoring-site-editor-panel .monitoring-editor-body{max-height:calc(100vh - 150px);overflow:auto;padding:14px 16px;}
#monitoring-site-editor-panel label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#cbd5e1;font-weight:900;}
#monitoring-site-editor-panel input,
#monitoring-site-editor-panel select,
#monitoring-site-editor-panel textarea{font-size:13px;min-height:34px;padding:8px 10px;}
#monitoring-site-editor-panel .monitoring-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#monitoring-site-editor-panel .monitoring-site-photo{width:100%;max-height:120px;object-fit:cover;border-radius:12px;margin:8px 0;}
#monitoring-site-editor-panel .monitoring-editor-summary{display:grid;grid-template-columns:repeat(3,auto 1fr);align-items:center;gap:4px 8px;padding:8px 10px;}
#monitoring-site-editor-panel .button-row{grid-template-columns:1fr 1fr 1fr;gap:8px;margin:10px 0;}
.monitoring-sample-table-wrap{max-height:230px;overflow:auto;border:1px solid rgba(148,163,184,.25);border-radius:10px;}
.monitoring-sample-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;}
.monitoring-sample-table th,.monitoring-sample-table td{padding:5px 6px;vertical-align:middle;}
.monitoring-sample-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;text-align:left;}
.monitoring-sample-table td:nth-child(1){width:120px}.monitoring-sample-table td:nth-child(2){width:130px}.monitoring-sample-table td:nth-child(3){width:155px}.monitoring-sample-table td:nth-child(4){width:90px}.monitoring-sample-table td:nth-child(5){width:95px}.monitoring-sample-table td:nth-child(6){width:130px}.monitoring-sample-table td:nth-child(7){width:44px;text-align:center;}
.monitoring-sample-table input,.monitoring-sample-table select{width:100%;box-sizing:border-box;font-size:12px!important;min-height:32px!important;padding:6px 8px!important;}
.monitoring-parameter-select{font-weight:800;}
#monitoring-drop-status{font-size:12px;color:#d1fae5;border:1px solid rgba(34,197,94,.35);background:rgba(20,83,45,.35);border-radius:10px;padding:8px;margin:8px 0;}
/* Keep core planning panels above monitoring and analytical map layers */
#planning-tools-panel.planning-tools-panel,
#actions-list-panel.actions-panel{z-index:95!important;visibility:visible!important;opacity:1!important;}
#monitoring-list-panel.monitoring-right-panel{z-index:55!important;}
#monitoring-site-editor-panel.monitoring-editor-panel{z-index:90!important;}
@media (max-width:1300px){#monitoring-site-editor-panel.monitoring-editor-panel{right:360px;width:min(500px,92vw)!important;}}

/* V30.10 monitoring workflow tidy and visibility fixes */
#monitoring-list-panel .panel-header,
#monitoring-site-editor-panel .panel-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
#monitoring-list-panel.minimised,
#monitoring-site-editor-panel.minimised{
  height:48px!important;
  overflow:hidden!important;
}
#monitoring-list-panel.minimised #monitoring-right-body,
#monitoring-site-editor-panel.minimised .monitoring-editor-body{
  display:none!important;
}
#monitoring-site-editor-panel.monitoring-editor-panel{
  width:min(640px,94vw)!important;
  background:#7d8490!important;
  border:1px solid rgba(234,179,8,.50)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.45)!important;
}
#monitoring-site-editor-panel .panel-header{
  background:#6f7783!important;
  border-bottom:1px solid rgba(234,179,8,.35)!important;
}
#monitoring-site-editor-panel .monitoring-editor-body{
  background:#7d8490!important;
}
#monitoring-site-editor-panel input,
#monitoring-site-editor-panel select,
#monitoring-site-editor-panel textarea{
  background:#101b2c!important;
  color:#fff!important;
}
#monitoring-site-editor-panel .file-button,
#monitoring-site-editor-panel .monitoring-sample-table-wrap{
  background:rgba(15,23,42,.18)!important;
}
#monitoring-site-editor-panel .monitoring-editor-summary{
  background:rgba(15,23,42,.20)!important;
}
#monitoring-site-editor-panel .panel-mini-btn:first-child{
  display:inline-flex!important;
}
#monitoring-report-btn,
button[onclick="CP.monitoring.openMonitoringReport()"]{
  background:linear-gradient(180deg,#17263d,#101b2d)!important;
  color:#fff!important;
  border:1px solid rgba(148,163,184,.30)!important;
}
#actions-list-panel.actions-panel,
#planning-tools-panel.planning-tools-panel{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#actions-list-panel.actions-panel{z-index:120!important;}
#planning-tools-panel.planning-tools-panel{z-index:119!important;}
#monitoring-list-panel.monitoring-right-panel{z-index:80!important;}
#monitoring-site-editor-panel.monitoring-editor-panel{z-index:130!important;}
.monitoring-sample-table tbody tr:first-child{
  box-shadow: inset 3px 0 0 rgba(34,197,94,.75);
}
.monitoring-sample-table-wrap{
  scroll-behavior:auto!important;
}
@media (max-width:1300px){#monitoring-site-editor-panel.monitoring-editor-panel{right:340px!important;width:min(610px,94vw)!important;}}

/* V30.12 monitoring site workflow and panel alignment */
#monitoring-list-panel.monitoring-right-panel{
  top:76px!important;
  width:360px!important;
  background:linear-gradient(180deg, rgba(32,48,68,.96), rgba(25,38,55,.94))!important;
  border:1px solid rgba(125,155,190,.30)!important;
  box-shadow:0 20px 42px rgba(0,0,0,.34)!important;
  border-radius:18px!important;
  z-index:118!important;
}
#monitoring-list-panel .panel-header{
  height:52px!important;
  background:rgba(51,71,95,.42)!important;
  border-bottom:1px solid rgba(148,163,184,.20)!important;
  cursor:default!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
#monitoring-list-panel .panel-header strong{
  color:#dbeafe!important;
  letter-spacing:1.6px!important;
  text-transform:uppercase!important;
  line-height:1!important;
}
#monitoring-list-panel.minimised{
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  overflow:hidden!important;
}
#monitoring-list-panel.minimised .panel-header{
  justify-content:center!important;
  text-align:center!important;
  position:relative!important;
}
#monitoring-list-panel.minimised .panel-header .icon-btn{
  position:absolute!important;
  right:10px!important;
}
#monitoring-list-panel .monitoring-right-body{
  padding:12px!important;
  background:transparent!important;
}
.monitoring-filter-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  background:rgba(15,28,45,.72)!important;
  border:1px solid rgba(140,170,205,.24)!important;
  border-radius:14px!important;
  padding:10px!important;
}
.monitoring-filter-row select,
#monitoring-list-panel select{
  width:100%!important;
  height:38px!important;
  background:#0f1d31!important;
  color:#fff!important;
  border:1px solid rgba(148,163,184,.30)!important;
  border-radius:10px!important;
  padding:0 12px!important;
  font-weight:800!important;
}
#monitoring-list-panel .monitoring-actions-row{
  grid-template-columns:1fr 1fr!important;
}
#monitoring-list-panel .monitoring-right-list{
  max-height:calc(100vh - 335px)!important;
}
#monitoring-site-editor-panel .monitoring-sample-table-wrap{
  max-height:min(56vh,620px)!important;
  overflow:auto!important;
}
#monitoring-site-editor-panel .monitoring-sample-table{
  min-width:790px!important;
}
.monitoring-table-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:6px!important;
}
.monitoring-table-toolbar h4{margin:0!important;color:#fff!important;}
.monitoring-table-toolbar select{
  max-width:220px!important;
  min-height:34px!important;
}
#mon-save-site-btn.save-waiting{
  background:#475569!important;
  border-color:rgba(148,163,184,.45)!important;
  color:#fff!important;
}
#mon-save-site-btn.saved{
  background:#16a34a!important;
  border-color:#22c55e!important;
  color:#fff!important;
}
#actions-list-panel.actions-panel{
  z-index:125!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#planning-tools-panel.planning-tools-panel{
  z-index:124!important;
}

/* V30.13 monitoring site list visibility and compact mode */
#monitoring-list-panel .monitoring-right-list{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-height:80px!important;
  max-height:calc(100vh - 345px)!important;
  overflow:auto!important;
  padding-right:4px!important;
}
#monitoring-list-panel .monitoring-site-btn{
  display:block!important;
  width:100%!important;
  text-align:left!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#101f34!important;
  border:1px solid rgba(148,163,184,.26)!important;
  color:#fff!important;
  cursor:pointer!important;
}
#monitoring-list-panel .monitoring-site-btn strong{
  display:block!important;
  font-size:13px!important;
  line-height:1.25!important;
  color:#fff!important;
}
#monitoring-list-panel .monitoring-site-btn span,
#monitoring-list-panel .monitoring-site-btn em{
  display:block!important;
}
#monitoring-list-panel .monitoring-site-btn.active{
  border-color:#22c55e!important;
  box-shadow:0 0 0 2px rgba(34,197,94,.20)!important;
}
#monitoring-list-panel.sites-compact .monitoring-site-btn{
  min-height:38px!important;
  padding:10px 12px!important;
}
#monitoring-list-panel.sites-compact .monitoring-site-btn span,
#monitoring-list-panel.sites-compact .monitoring-site-btn em,
#monitoring-list-panel.sites-compact .monitoring-site-btn img{
  display:none!important;
}
#monitoring-list-panel.sites-compact .monitoring-site-btn strong{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#monitoring-list-panel .monitoring-actions-row-three{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
}
#monitoring-list-panel .monitoring-actions-row-three .btn{
  min-width:0!important;
  width:100%!important;
  padding:8px 8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* V31.2 LAWA national monitoring reference */
.lawa-reference-section{margin-top:10px;padding-top:8px;border-top:1px solid rgba(148,163,184,.28)}
.lawa-subtitle{color:#36e38a!important;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900;margin:8px 0}
.lawa-display-label{display:block;margin:8px 0 8px;color:#cbd5e1;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.lawa-display-label select{display:block;width:100%;margin-top:6px;background:#0f1b2d;color:#fff;border:1px solid #334155;border-radius:10px;padding:10px 12px;font-weight:800}
.lawa-reference-status{color:#94a3b8;font-size:12px;line-height:1.45;margin:8px 2px 4px}
.lawa-popup{font-family:Inter,Arial,sans-serif;color:#0f172a;min-width:280px}.lawa-popup h3{margin:0 0 2px;font-size:16px}.lawa-popup p{margin:0 0 8px;color:#64748b;font-size:12px}.lawa-popup table{width:100%;border-collapse:collapse;font-size:12px}.lawa-popup th,.lawa-popup td{border-bottom:1px solid #e2e8f0;padding:4px;text-align:left}.lawa-pill{display:inline-block;border-radius:999px;padding:2px 7px;font-weight:800;font-size:11px;background:#e5e7eb;color:#334155}.lawa-pill.excellent{background:#dbeafe;color:#0369a1}.lawa-pill.good{background:#dcfce7;color:#166534}.lawa-pill.fair{background:#fef3c7;color:#92400e}.lawa-pill.poor{background:#fee2e2;color:#991b1b}.lawa-mini{margin-top:8px}.lawa-mini strong{font-size:11px;color:#334155}.lawa-mini svg{display:block;width:100%;height:70px;background:#f8fafc;border-radius:8px;margin-top:3px}

/* V31.3 LAWA display bands, dark popup and multi-parameter WQ marker */
.lawa-quadrant-marker{
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  position:relative;
  padding:0;
  margin:0;
  background:transparent;
  box-shadow:none;
  transform:translate3d(0,0,0);
  overflow:visible;
}
.lawa-quadrant-marker .lawa-quadrant-svg{
  display:block;
  width:48px;
  height:48px;
  overflow:visible;
  pointer-events:none;
}
.lawa-dark-popup .maplibregl-popup-content{background:rgba(15,23,42,.95)!important;color:#fff!important;border:1px solid rgba(148,163,184,.38);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.38);padding:12px}
.lawa-dark-popup .maplibregl-popup-tip{border-top-color:rgba(15,23,42,.95)!important;border-bottom-color:rgba(15,23,42,.95)!important}
.lawa-dark-popup .maplibregl-popup-close-button{color:#fff!important;font-size:16px;padding:4px 8px}
.lawa-popup{font-family:Inter,Arial,sans-serif;color:#fff;min-width:310px}.lawa-popup h3{margin:0 0 4px;font-size:17px;color:#fff;font-weight:900}.lawa-popup p{margin:0 0 10px;color:#cbd5e1;font-size:12px}.lawa-popup table{width:100%;border-collapse:collapse;font-size:12px;color:#fff}.lawa-popup th,.lawa-popup td{border-bottom:1px solid rgba(255,255,255,.55);padding:5px 4px;text-align:left;color:#fff}.lawa-popup th{color:#dbeafe;font-weight:900}.lawa-pill{display:inline-block;border-radius:999px;padding:2px 8px;font-weight:900;font-size:11px;background:#64748b;color:#fff}.lawa-pill.excellent{background:#0ea5e9;color:#fff}.lawa-pill.good{background:#22c55e;color:#052e16}.lawa-pill.fair{background:#f59e0b;color:#111827}.lawa-pill.poor{background:#dc2626;color:#fff}.lawa-mini{margin-top:10px}.lawa-mini strong{font-size:11px;color:#fff}.lawa-mini svg{display:block;width:100%;height:82px;background:#f8fafc;border-radius:8px;margin-top:4px}

/* V32.9 community monitoring popup close/button usability */
.maplibregl-popup-close-button{z-index:30!important;pointer-events:auto!important;cursor:pointer!important;font-size:18px!important;line-height:18px!important;color:#ffffff!important;background:transparent!important;border:0!important;padding:8px!important;}
.maplibregl-popup-close-button:hover{color:#dbeafe!important;background:rgba(255,255,255,.08)!important;border-radius:999px!important;}
.community-monitoring-popup .maplibregl-popup-content{pointer-events:auto!important;}

/* V32.10 community monitoring final tidy + eDNA TICI gauge */
.tici-gauge-card{background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;padding:10px;margin:10px 0;color:#263849;break-inside:avoid;page-break-inside:avoid;}
.tici-gauge-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:4px;}
.tici-gauge-card svg{width:100%;height:auto;display:block;max-height:210px;}
.tici-axis{font-size:9px;fill:#94a3b8;font-weight:800;}
.tici-sub{font-size:10px;fill:#64748b;font-weight:700;}
.tici-rating{font-size:20px;fill:#263849;font-weight:500;}
.tici-score{font-size:24px;fill:#111827;font-weight:700;}
.tici-gauge-card.empty{font-size:12px;color:#64748b;}
.lawa-popup .tici-gauge-card{background:#f8fafc;color:#263849;margin-top:10px;}
.monitoring-tici-report{background:#ffffff;border:1px solid #dbe3ef;border-radius:14px;padding:14px;margin:12px 0;break-inside:avoid;page-break-inside:avoid;}
.monitoring-tici-report h3{margin:0 0 6px;color:#172033;font-size:15px;}
.tici-report-note{font-size:12px;color:#334155;margin-top:6px;}
.lawa-pill.very-poor{background:#7f1d1d;color:#fff}.lawa-pill.average{background:#fbbf24;color:#111827}.lawa-pill.pristine{background:#65a30d;color:#052e16}

/* V32.12 Community Monitoring Report professional layout */
#monitoring-report-screen .report-shell{max-width:1400px;background:#f8fafc;}
#monitoring-report-screen .report-content{padding:22px 24px 28px;}
.cm-report{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#102033;}
.cm-report-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-bottom:1px solid #cbd8e7;padding:0 0 16px;margin-bottom:16px;}
.cm-brand-lockup{display:flex;align-items:center;gap:22px;}
.cm-report-logo{width:190px;max-height:80px;object-fit:contain;object-position:left center;}
.cm-report-header h1{font-size:30px;line-height:1.05;margin:0;color:#0f253d;letter-spacing:-.03em;}
.cm-report-header p{font-size:21px;line-height:1.2;margin:6px 0 0;color:#6b7c91;}
.cm-report-meta{display:grid;grid-template-columns:auto auto;gap:6px 16px;font-size:12px;min-width:260px;}
.cm-report-meta span{font-weight:800;color:#334155;}
.cm-report-meta strong{font-weight:700;color:#0f253d;}
.cm-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 16px;}
.cm-overview-card{background:#fff;border:1px solid #dbe5f0;border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px rgba(15,35,61,.04);}
.cm-overview-card span{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900;color:#66788f;}
.cm-overview-card strong{display:block;font-size:21px;margin-top:5px;color:#0f253d;}
.cm-summary-card{background:#fff;border:1px solid #dbe5f0;border-radius:14px;padding:14px 16px;margin:0 0 16px;break-inside:avoid;page-break-inside:avoid;}
.cm-summary-card h2{font-size:18px;margin:0 0 10px;color:#0f253d;}
.cm-report-table{width:100%;border-collapse:collapse;font-size:12px;}
.cm-report-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#66788f;text-align:left;border-bottom:1px solid #dbe5f0;padding:8px 7px;}
.cm-report-table td{border-bottom:1px solid #edf2f7;padding:8px 7px;color:#172033;vertical-align:top;}
.cm-status{display:inline-flex;align-items:center;justify-content:center;min-width:54px;border-radius:999px;padding:3px 9px;background:#e2e8f0;color:#334155;font-size:11px;font-weight:900;}
.cm-status-good{background:#dcfce7;color:#166534;}.cm-status-fair{background:#fef3c7;color:#92400e;}.cm-status-poor{background:#fee2e2;color:#991b1b;}.cm-status-no-data{background:#e5e7eb;color:#475569;}
.cm-site-section{display:grid;grid-template-columns:300px 1fr;gap:16px;margin:0 0 18px;break-inside:avoid;page-break-inside:avoid;}
.cm-site-left{display:grid;gap:14px;align-content:start;}
.cm-site-profile{background:linear-gradient(155deg,#082139 0%,#0f2c49 55%,#123a58 100%);border-radius:14px;padding:18px;color:#fff;box-shadow:0 2px 10px rgba(15,35,61,.12);break-inside:avoid;page-break-inside:avoid;}
.cm-site-profile h2{font-size:18px;line-height:1.15;margin:0 0 14px;color:#fff;}
.cm-site-metrics{display:grid;gap:10px;font-size:13px;margin-bottom:16px;}
.cm-site-metrics div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;}
.cm-site-metrics span{color:#d7e2ef;}.cm-site-metrics strong{color:#fff;}
.cm-site-detail-card{background:#fff;border:1px solid #dbe5f0;border-radius:14px;padding:16px;break-inside:avoid;page-break-inside:avoid;}
.cm-site-detail-card h3{margin:0 0 12px;font-size:16px;color:#0f253d;}
.cm-detail-row{display:grid;grid-template-columns:108px 1fr;gap:10px;border-top:1px solid #edf2f7;padding:10px 0;font-size:12px;}
.cm-detail-row:first-of-type{border-top:0;}
.cm-detail-row span{color:#64748b;font-weight:800;}.cm-detail-row strong{font-weight:600;color:#102033;}
.cm-site-main{background:#fff;border:1px solid #dbe5f0;border-radius:14px;padding:14px;break-inside:avoid;page-break-inside:avoid;}
.cm-card-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 10px;}
.cm-card-heading h2{font-size:18px;margin:0;color:#0f253d;}
.cm-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#334155;align-items:center;}
.cm-legend span{display:inline-flex;align-items:center;gap:6px;}.cm-line-swatch{width:28px;border-top:2px solid #1559b7;display:inline-block;}.cm-dot-swatch{width:8px;height:8px;background:#1559b7;border-radius:50%;display:inline-block;}.cm-guide-swatch{width:28px;border-top:2px dashed #ef4444;display:inline-block;}
.cm-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;}
.cm-chart-card{background:#fff;border:1px solid #dbe5f0;border-radius:10px;padding:10px 10px 8px;box-shadow:0 1px 2px rgba(15,35,61,.035);break-inside:avoid;page-break-inside:avoid;}
.cm-chart-card.empty{color:#64748b;font-size:13px;padding:24px;}
.cm-chart-title{font-size:13px;font-weight:900;color:#0f253d;margin:0 0 4px;}.cm-chart-title span{font-weight:800;color:#334155;}
.cm-chart-card svg{display:block;width:100%;height:150px;}
.cm-axis-text{font-size:9px;fill:#64748b;font-weight:600;}.cm-axis-label{font-size:9px;fill:#64748b;font-weight:800;letter-spacing:.02em;}
.cm-chart-key{display:flex;flex-wrap:wrap;gap:8px 12px;border-top:1px solid #edf2f7;margin-top:4px;padding-top:7px;font-size:10.5px;color:#334155;}
.cm-chart-key span{display:inline-flex;align-items:center;gap:5px;}.cm-chart-key i{width:18px;border-top:2px dashed #64748b;display:inline-block;}.cm-key-dot{width:7px!important;height:7px;border-radius:50%;background:#1559b7;display:inline-block;border:0!important;}
.cm-tici-panel{border-top:1px solid rgba(255,255,255,.35);padding-top:14px;margin-top:14px;}.cm-tici-panel h3{font-size:13px;margin:0 0 8px;color:#fff;}.cm-site-profile .tici-gauge-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#fff;}.cm-site-profile .tici-gauge-title{color:#cfe0f2;}.cm-site-profile .tici-sub{fill:#dbeafe;}.cm-site-profile .tici-rating,.cm-site-profile .tici-score{fill:#fff;}.cm-tici-note{font-size:12px;line-height:1.45;color:#e2e8f0;margin-top:8px;}
.cm-report-footer{font-size:11px;color:#64748b;font-style:italic;margin:12px 0 0;}
@media(max-width:1100px){.cm-site-section{grid-template-columns:1fr;}.cm-chart-grid{grid-template-columns:repeat(2,1fr);}.cm-overview-grid{grid-template-columns:repeat(2,1fr);}.cm-report-header{flex-direction:column;}.cm-report-meta{grid-template-columns:auto auto;}}
@media print{
  body > *:not(#monitoring-report-screen):not(#catchment-report-screen){display:none!important;}
  #monitoring-report-screen{display:block!important;position:static!important;inset:auto!important;background:#fff!important;padding:0!important;overflow:visible!important;}
  #monitoring-report-screen.hidden{display:block!important;}
  #monitoring-report-screen .report-shell{box-shadow:none!important;border-radius:0!important;max-width:none!important;overflow:visible!important;}
  #monitoring-report-screen .report-toolbar{display:none!important;}
  #monitoring-report-screen .report-content{padding:8mm!important;}
  .cm-site-section,.cm-summary-card,.cm-chart-card,.cm-site-profile,.cm-site-detail-card{break-inside:avoid!important;page-break-inside:avoid!important;}
  .cm-chart-grid{grid-template-columns:repeat(3,1fr)!important;gap:7px!important;}
  .cm-site-section{grid-template-columns:260px 1fr!important;gap:10px!important;}
  .cm-report-logo{width:150px!important;}.cm-report-header h1{font-size:24px!important;}.cm-report-header p{font-size:17px!important;}
}


/* V32.13 Community Monitoring PDF / print export refinements */
@media print {
  @page { size: A4 landscape; margin: 10mm; }
  body.lp-print-community-monitoring {
    background: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.lp-print-community-monitoring > *:not(#monitoring-report-screen) {
    display: none !important;
  }
  body.lp-print-community-monitoring #monitoring-report-screen {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: #ffffff !important;
    padding: 0 !important;
  }
  body.lp-print-community-monitoring #monitoring-report-screen.hidden {
    display: block !important;
  }
  body.lp-print-community-monitoring #monitoring-report-screen .report-shell {
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    max-width: none !important;
    width: auto !important;
    min-height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    background: #ffffff !important;
  }
  body.lp-print-community-monitoring #monitoring-report-screen .report-toolbar,
  body.lp-print-community-monitoring .report-actions,
  body.lp-print-community-monitoring .no-print {
    display: none !important;
  }
  body.lp-print-community-monitoring #monitoring-report-screen .report-content {
    padding: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
  }
  body.lp-print-community-monitoring .cm-report {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #102033 !important;
  }
  body.lp-print-community-monitoring .cm-report-header,
  body.lp-print-community-monitoring .cm-overview-grid,
  body.lp-print-community-monitoring .cm-summary-card,
  body.lp-print-community-monitoring .cm-site-section,
  body.lp-print-community-monitoring .cm-site-profile,
  body.lp-print-community-monitoring .cm-site-detail-card,
  body.lp-print-community-monitoring .cm-site-main,
  body.lp-print-community-monitoring .cm-chart-card,
  body.lp-print-community-monitoring .cm-tici-panel,
  body.lp-print-community-monitoring .tici-gauge-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  body.lp-print-community-monitoring .cm-report-header {
    margin-bottom: 7mm !important;
    padding-bottom: 5mm !important;
  }
  body.lp-print-community-monitoring .cm-overview-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 5mm !important;
    margin-bottom: 5mm !important;
  }
  body.lp-print-community-monitoring .cm-summary-card {
    margin-bottom: 6mm !important;
    padding: 4mm !important;
  }
  body.lp-print-community-monitoring .cm-summary-card + .cm-site-section,
  body.lp-print-community-monitoring .cm-site-section + .cm-site-section {
    break-before: page !important;
    page-break-before: always !important;
  }
  body.lp-print-community-monitoring .cm-site-section {
    display: grid !important;
    grid-template-columns: 74mm 1fr !important;
    gap: 5mm !important;
    margin: 0 !important;
    min-height: auto !important;
  }
  body.lp-print-community-monitoring .cm-site-left {
    gap: 4mm !important;
  }
  body.lp-print-community-monitoring .cm-site-profile,
  body.lp-print-community-monitoring .cm-site-detail-card,
  body.lp-print-community-monitoring .cm-site-main {
    padding: 4mm !important;
    border-radius: 4mm !important;
    box-shadow: none !important;
  }
  body.lp-print-community-monitoring .cm-site-profile h2,
  body.lp-print-community-monitoring .cm-card-heading h2 {
    font-size: 15px !important;
  }
  body.lp-print-community-monitoring .cm-site-metrics,
  body.lp-print-community-monitoring .cm-detail-row,
  body.lp-print-community-monitoring .cm-tici-note,
  body.lp-print-community-monitoring .cm-chart-key {
    font-size: 9.5px !important;
  }
  body.lp-print-community-monitoring .cm-chart-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3mm !important;
  }
  body.lp-print-community-monitoring .cm-chart-card {
    padding: 2.8mm !important;
    border-radius: 3mm !important;
  }
  body.lp-print-community-monitoring .cm-chart-title {
    font-size: 10.5px !important;
    margin-bottom: 1mm !important;
  }
  body.lp-print-community-monitoring .cm-chart-card svg {
    height: 28mm !important;
  }
  body.lp-print-community-monitoring .cm-card-heading {
    margin-bottom: 2mm !important;
  }
  body.lp-print-community-monitoring .cm-legend {
    font-size: 9px !important;
    gap: 8px !important;
  }
  body.lp-print-community-monitoring .cm-report-logo {
    width: 40mm !important;
  }
  body.lp-print-community-monitoring .cm-report-header h1 {
    font-size: 22px !important;
  }
  body.lp-print-community-monitoring .cm-report-header p {
    font-size: 15px !important;
  }
  body.lp-print-community-monitoring .cm-report-footer {
    break-before: avoid !important;
    page-break-before: avoid !important;
    font-size: 9px !important;
  }
}


/* V32.14 sidebar tidy: uniform collapsible headings and cleaner reference layer controls */
body.ui-explorer-ready .explorer-section,
.sidebar .explorer-group {
  margin: 8px 0;
}

.sidebar .explorer-group,
.explorer-group {
  border: 1px solid rgba(115,147,179,.45);
  border-radius: 12px;
  background: #142131;
  overflow: hidden;
}

.sidebar .explorer-group > summary,
.explorer-group > summary {
  background: #142131;
  color: #ffffff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1.1px;
  font-size: 12px;
  padding: 10px 12px;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
}

.sidebar .explorer-group > summary::-webkit-details-marker,
.explorer-group > summary::-webkit-details-marker {
  display: none;
}

.sidebar .explorer-group > summary::after,
.explorer-group > summary::after {
  content: '⌄';
  color: #ffffff;
  opacity: .9;
  font-size: 12px;
}

.sidebar .explorer-group[open] > summary::after,
.explorer-group[open] > summary::after {
  content: '⌃';
}

.sidebar .explorer-group-body {
  padding: 9px 8px 10px;
}

/* Hide the old left checkboxes/radios in the Explorer while preserving label click behaviour */
.sidebar .explorer-group-body .layer-toggle {
  grid-template-columns: 1fr auto !important;
  padding-left: 12px;
}

.sidebar .explorer-group-body .layer-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
}

.sidebar .explorer-group-body .layer-toggle span:not(.layer-status) {
  min-width: 0;
}

.sidebar .explorer-group-body .layer-status {
  justify-self: end;
}

/* Save feedback reused across sidebar and topbar save controls */
.save-feedback-btn.save-working,
button.save-working {
  background: linear-gradient(180deg, rgba(100,116,139,.96), rgba(71,85,105,.96)) !important;
  border-color: rgba(148,163,184,.75) !important;
  color: #ffffff !important;
}

.save-feedback-btn.save-complete,
button.save-complete {
  background: linear-gradient(180deg, rgba(34,197,94,.95), rgba(21,128,61,.95)) !important;
  border-color: rgba(134,239,172,.85) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.12), 0 8px 22px rgba(22,163,74,.18);
}


/* V32.15 active layer key refinements */
.active-layer-key-panel {
  max-width: min(320px, calc(100vw - 380px));
  box-shadow: 0 18px 45px rgba(0,0,0,0.32);
}
.active-layer-key-panel.minimised {
  max-height: 48px;
}
.active-layer-key-panel.minimised .active-layer-key-body {
  display: none;
}
@media (max-width: 820px) {
  .active-layer-key-panel {
    left: 16px !important;
    top: 150px !important;
    max-width: calc(100vw - 32px);
  }
}

/* V32.16 Landscape Characteristics fixed floating legend refinement */
.active-layer-key-panel {
  left: 330px !important;
  right: auto !important;
  top: 160px;
  width: 300px;
  max-width: calc(100vw - 24px);
  z-index: 45;
  transition: left 160ms ease, top 160ms ease, transform 160ms ease, opacity 160ms ease;
}
.active-layer-key-panel.lp-key-slide-in:not(.dragging) {
  transform: translateX(0);
}
.active-layer-key-panel.hidden {
  display: none !important;
}
.active-layer-key-panel.dragging {
  transition: none !important;
}


/* V32.17: workflow panels load minimised and use centred header titles */
#monitoring-list-panel .panel-header,
#planning-tools-panel .panel-header,
#actions-list-panel .panel-header{
  position:relative!important;
  justify-content:center!important;
  text-align:center!important;
  padding-left:54px!important;
  padding-right:54px!important;
}
#monitoring-list-panel .panel-header strong,
#planning-tools-panel .panel-header strong,
#actions-list-panel .panel-header strong{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}
#monitoring-list-panel .panel-header .icon-btn,
#planning-tools-panel .panel-header .icon-btn,
#actions-list-panel .panel-header .icon-btn{
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}
#monitoring-list-panel.monitoring-right-panel.minimised,
#planning-tools-panel.planning-tools-panel.minimised,
#actions-list-panel.actions-panel.minimised{
  min-height:0!important;
  height:52px!important;
  max-height:52px!important;
  overflow:hidden!important;
  resize:none!important;
}
#planning-tools-panel.minimised > :not(.panel-header),
#actions-list-panel.minimised > :not(.panel-header),
#monitoring-list-panel.minimised > :not(.panel-header){
  display:none!important;
}

/* V32.18 map-first action planning workflow */
#planning-tools-panel.workflow-hidden { display: none !important; visibility: hidden !important; pointer-events: none !important; }
#actions-list-panel.actions-panel { left: 360px; right: auto; top: 76px; bottom: auto; width: min(430px, calc(100vw - 760px)); max-height: calc(100vh - 118px); display: flex; flex-direction: column; z-index: 126; }
#actions-list-panel.actions-panel.minimised { width: 320px; height: 52px; bottom: auto; overflow: hidden; }
#actions-list-panel .action-list { max-height: none !important; flex: 1 1 auto; padding: 14px; overflow-y: auto; }
.action-toolbar { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; }
.action-toolbar .add-action-btn { flex: 1; font-weight: 800; }
.action-sort-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.action-sort-row select:nth-child(3), .action-sort-row select:nth-child(4) { grid-column: span 1; }
.action-group { margin: 10px 0; border: 1px solid rgba(148,163,184,.18); border-radius: 14px; overflow: hidden; background: rgba(15,23,42,.42); }
.action-group-head { width: 100%; border: 0; background: rgba(2,6,23,.42); color: var(--text); padding: 10px 12px; text-align: left; font-weight: 800; cursor: pointer; }
.action-group-body { padding: 8px; }
.action-card.action-row { border-left: 5px solid var(--action-colour, #22c55e); background: rgba(15,23,42,.72); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.action-card.action-row.selected { box-shadow: 0 0 0 2px rgba(255,255,255,.2), 0 0 0 5px color-mix(in srgb, var(--action-colour, #22c55e) 30%, transparent); }
.action-card.action-row:hover { transform: translateY(-1px); border-color: var(--action-colour, #22c55e); }
.action-card.compact .action-row-main span { display: block; opacity: .8; }
.action-card.compact .action-row-main em { display: block; font-size: 12px; margin-top: 4px; color: var(--muted); }
.action-card.detailed .action-row-main { display: grid; gap: 5px; }
.action-row-main strong { font-size: 15px; line-height: 1.25; }
.action-dot { box-shadow: 0 0 0 2px rgba(255,255,255,.18); }
.friendly-empty { text-align: center; padding: 28px 16px; }
.friendly-empty .btn { margin-top: 12px; }
.action-picker-popout { position: fixed; left: 452px; top: 96px; width: 330px; z-index: 180; padding: 0; overflow: hidden; border-radius: 18px; }
.action-picker-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); background: rgba(2,6,23,.68); }
#action-picker-body { padding: 14px; }
.action-type-grid, .draw-choice-grid { display: grid; gap: 10px; }
.action-type-btn { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px; border-radius: 14px; border: 1px solid color-mix(in srgb, var(--action-colour, #22c55e) 50%, rgba(148,163,184,.25)); background: rgba(15,23,42,.72); color: var(--text); cursor: pointer; text-align: left; }
.action-type-btn span { width: 30px; height: 30px; border-radius: 999px; display: grid; place-items: center; background: var(--action-colour, #22c55e); color: #06110a; }
.action-type-btn:hover { background: color-mix(in srgb, var(--action-colour, #22c55e) 18%, rgba(15,23,42,.85)); }
body.drawing-action-active #layers-panel, body.drawing-action-active #active-layer-key-panel, body.drawing-action-active .basemap-tabs { opacity: .18; pointer-events: none; }
.pulse-card { animation: lpActionPulse .8s ease; }
@keyframes lpActionPulse { 0% { transform: scale(1); } 35% { transform: scale(1.018); } 100% { transform: scale(1); } }
button.disabled, button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 880px) { #actions-list-panel.actions-panel { left: 10px !important; top: 76px !important; width: calc(100vw - 20px) !important; } .action-picker-popout { left: 18px; right: 18px; width: auto; top: 150px; } }

/* V32.19 action/monitoring popout refinements */
#actions-list-panel.actions-panel{
  left: 360px;
  right: auto;
  top: 76px;
  bottom: auto;
  width: min(430px, calc(100vw - 760px));
  max-height: calc(100vh - 118px);
  display: flex;
  flex-direction: column;
  z-index: 126;
}
#actions-list-panel.actions-panel.minimised{
  width: 320px;
  height: 52px;
  max-height: 52px;
  bottom: auto;
  overflow: hidden;
}
#actions-list-panel.dragging,
#monitoring-list-panel.dragging{transition:none!important;}
#actions-list-panel .panel-header,
#monitoring-list-panel .panel-header{
  min-height:52px;
  background:rgba(37,58,82,.95);
  border-bottom:1px solid rgba(148,163,184,.22);
}
.action-card.compact{padding:10px 12px;}
.action-card.compact .action-row-main span,
.action-card.compact .action-row-main em{display:none!important;}
.action-card.compact .action-row-main strong{font-size:14px;margin-bottom:0;}
.monitoring-toolbar-row.action-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px;}
.monitoring-toolbar-row .add-action-btn{flex:1;font-weight:800;}
.monitoring-right-panel .monitoring-right-body{padding:14px;}
.monitoring-right-panel .monitoring-control-label{display:none;}
.monitoring-right-panel .monitoring-right-body > select,
.monitoring-right-panel select{
  width:100%;
  height:42px;
  background:#0b1728;
  color:#fff;
  border:1px solid rgba(148,163,184,.25);
  border-radius:12px;
  padding:0 12px;
  font-weight:800;
}
.monitoring-right-panel .monitoring-right-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.monitoring-right-panel .monitoring-toolbar-row,
.monitoring-right-panel #monitoring-drop-status,
.monitoring-right-panel #monitoring-right-summary,
.monitoring-right-panel #monitoring-right-list{grid-column:1 / -1;}
.monitoring-right-panel .monitoring-right-summary{display:none!important;}
.monitoring-right-panel{
  background:rgba(15,32,54,.94);
  border-radius:18px;
  z-index:125;
}
@media (max-width: 1200px){
  #actions-list-panel.actions-panel{left:260px;width:380px;}
}
@media (max-width: 880px){
  #actions-list-panel.actions-panel{left:10px!important;top:76px!important;width:calc(100vw - 20px)!important;}
}
.monitoring-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-column:1 / -1;}
.monitoring-filter-row select:nth-child(3){grid-column:1 / -1;}

/* V32.20 action popout and map-first panel alignment refinements */
#actions-list-panel.actions-panel,
#monitoring-list-panel.monitoring-right-panel{
  top:76px!important;
  bottom:auto!important;
  width:320px!important;
  border-radius:18px!important;
  background:rgba(15,32,54,.94)!important;
  border:1px solid rgba(148,163,184,.20)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.34)!important;
}
#actions-list-panel.actions-panel{left:246px;right:auto!important;z-index:126!important;}
#monitoring-list-panel.monitoring-right-panel{left:584px;right:auto!important;z-index:125!important;}
#actions-list-panel.actions-panel.minimised,
#monitoring-list-panel.monitoring-right-panel.minimised{
  width:320px!important;
  height:52px!important;
  max-height:52px!important;
  overflow:hidden!important;
}
#actions-list-panel .panel-header,
#monitoring-list-panel .panel-header{
  height:52px!important;
  min-height:52px!important;
  border-radius:18px!important;
  background:rgba(37,58,82,.96)!important;
  border:1px solid rgba(148,163,184,.14)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.25)!important;
}
#actions-list-panel .panel-header strong,
#monitoring-list-panel .panel-header strong{
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
#actions-list-panel .panel-header .icon-btn,
#monitoring-list-panel .panel-header .icon-btn{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  background:#111c31!important;
  color:#fff!important;
}
#actions-list-panel.dragging{transition:none!important;}
#action-editor-panel.action-editor-panel{
  position:fixed!important;
  left:calc(100vw - 430px)!important;
  right:auto!important;
  top:84px!important;
  width:400px!important;
  max-height:calc(100vh - 110px)!important;
  overflow:hidden!important;
  z-index:180!important;
  border-radius:18px!important;
  background:rgba(8,18,32,.96)!important;
}
#action-editor-panel .panel-header{
  height:52px!important;
  min-height:52px!important;
  background:rgba(37,58,82,.96)!important;
  border-bottom:1px solid rgba(148,163,184,.2)!important;
}
#action-editor-panel .panel-header strong{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}
#action-editor-panel .action-editor-body{
  max-height:calc(100vh - 170px)!important;
  overflow:auto!important;
  padding:14px!important;
}
#action-editor-panel.minimised{height:52px!important;max-height:52px!important;overflow:hidden!important;}
#action-editor-panel.minimised .action-editor-body{display:none!important;}
#action-editor-panel .action-form{
  margin:0!important;
  border:1px solid rgba(148,163,184,.2)!important;
  background:rgba(2,6,23,.45)!important;
  border-radius:14px!important;
}
#action-editor-panel .action-form h4{margin-top:0!important;}
#action-editor-panel .button-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.action-card.action-row.selected{outline:2px solid var(--action-colour,#22c55e)!important;outline-offset:2px!important;}
@media(max-width:1000px){
  #actions-list-panel.actions-panel{left:12px;width:320px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:350px;width:320px!important;}
  #action-editor-panel.action-editor-panel{left:12px!important;top:140px!important;width:calc(100vw - 24px)!important;}
}

/* V32.21 action detail popout styling and starting positions */
#monitoring-list-panel.monitoring-right-panel{
  left:565px!important;
  right:auto!important;
  top:76px!important;
}
#actions-list-panel.actions-panel{
  left:790px!important;
  right:auto!important;
  top:76px!important;
}
#action-editor-panel.action-editor-panel{
  width:min(640px,94vw)!important;
  left:32px!important;
  right:auto!important;
  top:84px!important;
  max-height:calc(100vh - 95px)!important;
  background:#7d8490!important;
  border:1px solid rgba(234,179,8,.50)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.45)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
#action-editor-panel .panel-header{
  height:58px!important;
  min-height:58px!important;
  background:#6f7783!important;
  border-bottom:1px solid rgba(234,179,8,.35)!important;
  border-radius:18px 18px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:0 16px!important;
}
#action-editor-panel .panel-header strong{
  text-align:left!important;
  width:auto!important;
  font-size:14px!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  color:#f8fafc!important;
}
#action-editor-panel .panel-mini-btn{
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  background:#243044!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#action-editor-panel .action-editor-body{
  background:#7d8490!important;
  max-height:calc(100vh - 153px)!important;
  overflow:auto!important;
  padding:16px!important;
}
#action-editor-panel .action-form-card,
#action-editor-panel .action-form{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
}
#action-editor-panel .action-form-card h3{
  display:none!important;
}
#action-editor-panel label{
  display:block!important;
  margin:8px 0!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#dbe4f0!important;
  font-weight:900!important;
}
#action-editor-panel input,
#action-editor-panel select,
#action-editor-panel textarea{
  width:100%!important;
  min-height:36px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  background:#101b2c!important;
  color:#fff!important;
  border:1px solid rgba(148,163,184,.22)!important;
  box-sizing:border-box!important;
  font-size:13px!important;
}
#action-editor-panel textarea{min-height:72px!important;}
#action-editor-panel .form2,
#action-editor-panel .form-stack.date-stack{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
#action-editor-panel .button-row{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:8px!important;
  margin:12px 0!important;
}
#action-editor-panel .button-row .btn{
  min-height:42px!important;
  border-radius:10px!important;
  font-weight:900!important;
}
#action-editor-panel .plant-mix-block,
#action-editor-panel .action-photo-block,
#action-editor-panel .calc-preview{
  background:rgba(15,23,42,.18)!important;
  border:1px solid rgba(148,163,184,.20)!important;
  border-radius:12px!important;
  padding:10px!important;
  margin:10px 0!important;
}
#action-editor-panel .plant-mix-table{
  width:100%!important;
  min-width:560px!important;
  border-collapse:collapse!important;
}
#action-editor-panel .plant-mix-body{overflow:auto!important;}
#action-editor-panel .plant-mix-table th{
  font-size:10px!important;
  color:#dbe4f0!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
#action-editor-panel .plant-mix-table td{padding:4px!important;}
#action-editor-panel .action-photo-thumb img{border-radius:8px!important;}
#monitoring-list-panel .monitoring-toolbar-row.action-toolbar{
  grid-row:1!important;
  margin-bottom:0!important;
}
#monitoring-list-panel .monitoring-filter-row{
  grid-row:2!important;
}
@media(max-width:1200px){
  #monitoring-list-panel.monitoring-right-panel{left:350px!important;}
  #actions-list-panel.actions-panel{left:685px!important;}
}
@media(max-width:920px){
  #monitoring-list-panel.monitoring-right-panel{left:12px!important;}
  #actions-list-panel.actions-panel{left:12px!important;top:140px!important;}
  #action-editor-panel.action-editor-panel{left:12px!important;width:calc(100vw - 24px)!important;}
}

/* V32.22 panel layout rationalisation */
#actions-list-panel.actions-panel,
#monitoring-list-panel.monitoring-right-panel{
  top:76px!important;
  width:320px!important;
  max-height:calc(100vh - 118px)!important;
  bottom:auto!important;
  border-radius:18px!important;
}
#actions-list-panel.actions-panel{
  left:246px!important;
  right:auto!important;
  z-index:126!important;
}
#monitoring-list-panel.monitoring-right-panel{
  left:584px!important;
  right:auto!important;
  z-index:125!important;
}
#actions-list-panel.actions-panel.minimised,
#monitoring-list-panel.monitoring-right-panel.minimised{
  width:320px!important;
  height:52px!important;
  max-height:52px!important;
}
#action-editor-panel.action-editor-panel,
#monitoring-site-editor-panel.monitoring-editor-panel{
  position:fixed!important;
  left:246px!important;
  right:auto!important;
  top:146px!important;
  width:min(640px, calc(100vw - 270px))!important;
  max-height:calc(100vh - 166px)!important;
  z-index:135!important;
}
#action-editor-panel .action-editor-body,
#monitoring-site-editor-panel .monitoring-editor-body{
  max-height:calc(100vh - 224px)!important;
}
#action-editor-panel.dragging,
#monitoring-site-editor-panel.dragging,
#actions-list-panel.dragging,
#monitoring-list-panel.dragging{transition:none!important;}
#action-editor-panel .plant-mix-block.collapsed{
  padding:8px 10px!important;
}
#action-editor-panel .plant-mix-block.collapsed .plant-mix-toggle-row{
  margin:0!important;
}
@media(max-width:1200px){
  #actions-list-panel.actions-panel{left:246px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:584px!important;}
  #action-editor-panel.action-editor-panel,
  #monitoring-site-editor-panel.monitoring-editor-panel{left:246px!important;width:min(640px, calc(100vw - 270px))!important;}
}
@media(max-width:920px){
  #actions-list-panel.actions-panel{left:12px!important;top:76px!important;width:320px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:12px!important;top:140px!important;width:320px!important;}
  #action-editor-panel.action-editor-panel,
  #monitoring-site-editor-panel.monitoring-editor-panel{left:12px!important;top:204px!important;width:calc(100vw - 24px)!important;}
}

/* V32.23 panel alignment and planting mix controls */
#actions-list-panel.actions-panel{
  left:246px!important;
  top:76px!important;
  right:auto!important;
  bottom:auto!important;
}
#monitoring-list-panel.monitoring-right-panel{
  left:584px!important;
  top:76px!important;
  right:auto!important;
  bottom:auto!important;
}
#actions-list-panel.actions-panel.minimised,
#monitoring-list-panel.monitoring-right-panel.minimised{
  top:76px!important;
}
.plant-mix-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.plant-mix-actions .btn{flex:1;}
.plant-mix-table th:nth-child(6), .plant-mix-table td:nth-child(6){width:28px;text-align:center;}
.plant-row-remove{
  width:24px;height:24px;border-radius:8px;border:1px solid rgba(239,68,68,.55);
  background:rgba(127,29,29,.32);color:#fecaca;font-weight:900;cursor:pointer;
}
.plant-mix-table td:nth-child(3) input{width:60px;min-width:60px;}
@media (max-width: 980px){
  #actions-list-panel.actions-panel{left:10px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:348px!important;}
}

/* V32.24 fixed map-workspace panel start positions */
#actions-list-panel.actions-panel{
  left:calc(318px + 8px)!important;
  top:76px!important;
  right:auto!important;
  bottom:auto!important;
}
#monitoring-list-panel.monitoring-right-panel{
  left:calc(318px + 8px + 320px + 18px)!important;
  top:76px!important;
  right:auto!important;
  bottom:auto!important;
}
@media (max-width:1180px){
  #actions-list-panel.actions-panel{left:278px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:616px!important;}
}
@media (max-width:860px){
  #actions-list-panel.actions-panel{left:248px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:586px!important;}
}
@media (max-width:680px){
  #actions-list-panel.actions-panel{left:12px!important;top:76px!important;width:320px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:12px!important;top:140px!important;width:320px!important;}
}

/* V32.25: final fixed map-workspace panel start positions.
   Use the visible sidebar edge rather than previous centre-map offsets. */
#actions-list-panel.actions-panel{
  left:314px!important;
  top:76px!important;
  right:auto!important;
  bottom:auto!important;
}
#monitoring-list-panel.monitoring-right-panel{
  left:652px!important;
  top:76px!important;
  right:auto!important;
  bottom:auto!important;
}
@media (max-width:1180px){
  #actions-list-panel.actions-panel{left:314px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:652px!important;}
}
@media (max-width:680px){
  #actions-list-panel.actions-panel{left:12px!important;top:76px!important;width:320px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:12px!important;top:140px!important;width:320px!important;}
}


/* V32.26: start Actions / Monitoring group at the far right of the map workspace */
#actions-list-panel.actions-panel{
  left:calc(100vw - 676px)!important;
  right:auto!important;
  top:76px!important;
  bottom:auto!important;
}
#monitoring-list-panel.monitoring-right-panel{
  left:calc(100vw - 338px)!important;
  right:auto!important;
  top:76px!important;
  bottom:auto!important;
}
@media (max-width:760px){
  #actions-list-panel.actions-panel{left:12px!important;top:76px!important;width:320px!important;}
  #monitoring-list-panel.monitoring-right-panel{left:12px!important;top:140px!important;width:320px!important;}
}

/* V32.27: side-by-side detail inspectors and mutually exclusive workflow panels */
#action-editor-panel.action-editor-panel,
#monitoring-site-editor-panel.monitoring-editor-panel{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  width:min(640px, calc(100vw - 380px))!important;
  max-height:calc(100vh - 96px)!important;
  z-index:170!important;
}
#actions-list-panel.actions-panel,
#monitoring-list-panel.monitoring-right-panel{
  z-index:150!important;
}
#action-editor-panel .action-editor-body,
#monitoring-site-editor-panel .monitoring-editor-body{
  max-height:calc(100vh - 154px)!important;
}
@media(max-width:980px){
  #action-editor-panel.action-editor-panel,
  #monitoring-site-editor-panel.monitoring-editor-panel{
    left:12px!important;
    top:140px!important;
    width:calc(100vw - 24px)!important;
  }
}

/* V32.30 Commercial UI polish and clutter reduction */
html, body {
  overflow: hidden !important;
}
#map {
  overflow: hidden !important;
}
body.v32-30-polished .sidebar,
.sidebar {
  width: 286px !important;
  bottom: 34px !important;
  box-shadow: 12px 0 36px rgba(0,0,0,.38) !important;
}
body.v32-30-polished .brand-logo-combined,
.brand-logo-combined {
  width: 188px !important;
}
body.v32-30-polished .brand.brand-combined,
.brand.brand-combined {
  padding: 10px 12px 8px !important;
}
body.v32-30-polished .section,
.section {
  padding: 10px 10px !important;
}
body.v32-30-polished .topbar.compact-topbar,
.topbar.compact-topbar {
  left: 300px !important;
  right: 10px !important;
  top: 8px !important;
  height: 46px !important;
  min-height: 46px !important;
  border-radius: 14px !important;
  padding: 5px 8px !important;
  grid-template-columns: minmax(150px, 1fr) 96px 84px minmax(300px, 1.8fr) auto auto !important;
  background: rgba(13,24,38,.88) !important;
  backdrop-filter: blur(8px) saturate(135%);
}
.compact-title strong { font-size: 10px !important; letter-spacing: 1.3px !important; }
.compact-title span, .compact-area span { font-size: 9px !important; }
.compact-title b, .compact-area strong { font-size: 12px !important; margin-top: 1px !important; }
.compact-save { font-size: 13px !important; }
.compact-search input { height: 32px !important; border-radius: 10px !important; font-size: 12px !important; }
.compact-search .icon-btn { height: 32px !important; width: 32px !important; }
.topbar.compact-topbar .btn { height: 32px !important; min-height: 32px !important; padding: 0 12px !important; }

#actions-list-panel.actions-panel,
#monitoring-list-panel.monitoring-right-panel {
  top: 64px !important;
  width: 320px !important;
  border-radius: 18px !important;
  backdrop-filter: blur(10px) saturate(140%) !important;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease, height .18s ease, max-height .18s ease !important;
}
#actions-list-panel.actions-panel {
  left: calc(100vw - 666px) !important;
  z-index: 152 !important;
  background: linear-gradient(180deg, rgba(30,50,72,.98), rgba(13,28,45,.96)) !important;
  box-shadow: 0 22px 52px rgba(0,0,0,.40) !important;
}
#monitoring-list-panel.monitoring-right-panel {
  left: calc(100vw - 334px) !important;
  z-index: 150 !important;
  background: linear-gradient(180deg, rgba(26,43,64,.96), rgba(12,25,41,.94)) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.34) !important;
}
#actions-list-panel.minimised,
#monitoring-list-panel.minimised {
  height: 46px !important;
  max-height: 46px !important;
  opacity: .96;
}
#actions-list-panel .panel-header,
#monitoring-list-panel .panel-header {
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 14px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(48,71,96,.78), rgba(39,59,82,.72)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
#actions-list-panel .panel-header strong,
#monitoring-list-panel .panel-header strong {
  font-size: 11px !important;
  letter-spacing: 2px !important;
  color: #e2e8f0 !important;
}
#actions-list-panel .action-list,
#monitoring-list-panel .monitoring-list-body {
  padding: 12px 14px 14px !important;
}

.action-toolbar,
.monitoring-toolbar {
  display: grid !important;
  grid-template-columns: 1.15fr .85fr !important;
  gap: 9px !important;
  margin-bottom: 11px !important;
}
.action-toolbar .btn,
.monitoring-toolbar .btn {
  min-height: 40px !important;
  border-radius: 12px !important;
}
.action-sort-row,
.monitoring-filter-row {
  background: rgba(7,18,32,.45) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: 16px !important;
  padding: 9px !important;
  gap: 8px !important;
}
.action-sort-row select,
.monitoring-filter-row select,
#action-editor-panel select,
#action-editor-panel input,
#action-editor-panel textarea,
#monitoring-site-editor-panel select,
#monitoring-site-editor-panel input,
#monitoring-site-editor-panel textarea {
  border-radius: 10px !important;
  background: rgba(7,18,32,.92) !important;
  border: 1px solid rgba(203,213,225,.23) !important;
}

.action-card.action-button-row,
.monitoring-site-btn {
  border-radius: 14px !important;
  padding: 12px 13px !important;
  background: rgba(15,31,51,.72) !important;
  border-color: rgba(148,163,184,.22) !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
.action-card.action-button-row:hover,
.monitoring-site-btn:hover {
  transform: translateY(-1px);
  background: rgba(20,39,63,.86) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.action-card.selected,
.monitoring-site-btn.active {
  border-color: var(--action-colour, #22c55e) !important;
  box-shadow: 0 0 0 2px rgba(163,230,53,.25), 0 10px 28px rgba(0,0,0,.32) !important;
}
.action-row-main strong,
.monitoring-site-btn strong {
  font-size: 13px !important;
  line-height: 1.15 !important;
  color: #f8fafc !important;
}
.action-row-main span,
.monitoring-site-btn span {
  color: #9ca3af !important;
  font-size: 11px !important;
  margin-top: 5px !important;
}
.action-row-main em,
.monitoring-site-btn em {
  color: #93c5fd !important;
  font-size: 11px !important;
  margin-top: 3px !important;
}
.action-row.compact .action-row-main span,
.action-row.compact .action-row-main em { display: none !important; }
.action-group-head { padding: 7px 3px !important; }
.action-group-head span { font-size: 12px !important; color: #e5e7eb !important; }

#action-editor-panel.action-editor-panel,
#monitoring-site-editor-panel.monitoring-editor-panel {
  background: linear-gradient(180deg, rgba(137,147,158,.96), rgba(112,124,139,.94)) !important;
  border: 1px solid rgba(222,226,232,.35) !important;
  box-shadow: 0 28px 72px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.06) inset !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  resize: both;
}
#action-editor-panel .panel-header,
#monitoring-site-editor-panel .panel-header {
  height: 50px !important;
  min-height: 50px !important;
  padding: 8px 16px !important;
  background: rgba(120,132,146,.72) !important;
  border-bottom: 1px solid rgba(255,255,255,.13) !important;
  color: #f8fafc !important;
}
#action-editor-panel .panel-header strong,
#monitoring-site-editor-panel .panel-header strong {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  align-items: flex-start !important;
  line-height: 1.08 !important;
  color: #f8fafc !important;
  max-width: calc(100% - 80px);
}
.editor-title-main { font-size: 12px !important; letter-spacing: 1.1px !important; text-transform: uppercase !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
#action-editor-panel .panel-header small,
#monitoring-site-editor-panel .panel-header small { font-size: 10px !important; color: #dbeafe !important; letter-spacing: .6px !important; text-transform: none !important; opacity: .92; }
#action-editor-panel .action-editor-body,
#monitoring-site-editor-panel .monitoring-editor-body {
  padding: 16px 18px 18px !important;
  max-height: calc(100vh - 132px) !important;
}
.action-form-card,
#monitoring-site-editor-panel .monitoring-editor-body {
  background: transparent !important;
}
.action-form-card h3 { display: none !important; }
#action-editor-panel label,
#monitoring-site-editor-panel label {
  color: #e5e7eb !important;
  font-size: 10px !important;
  letter-spacing: 1.1px !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
  margin-top: 11px !important;
}
#action-editor-panel input,
#action-editor-panel select,
#action-editor-panel textarea,
#monitoring-site-editor-panel input,
#monitoring-site-editor-panel select,
#monitoring-site-editor-panel textarea {
  min-height: 36px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  color: #f8fafc !important;
}
#action-editor-panel .button-row,
#monitoring-site-editor-panel .button-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-top: 14px !important;
}
#action-editor-panel .button-row .btn,
#monitoring-site-editor-panel .button-row .btn {
  min-height: 42px !important;
  border-radius: 11px !important;
}
.calc-preview,
.monitoring-editor-summary {
  border-radius: 12px !important;
  background: rgba(241,245,249,.13) !important;
  color: #f8fafc !important;
  padding: 9px 12px !important;
}
.plant-mix-toggle,
.plant-mix-block,
.photo-upload-box,
.monitoring-sample-table-wrap {
  border-radius: 13px !important;
  background: rgba(15,23,42,.22) !important;
  border-color: rgba(255,255,255,.12) !important;
}

.bottom-status-bar {
  left: 286px !important;
  height: 34px !important;
  padding: 0 14px !important;
  background: rgba(9,18,30,.92) !important;
  border-top: 1px solid rgba(148,163,184,.20) !important;
  backdrop-filter: blur(8px);
  color: #cbd5e1 !important;
  font-size: 11px !important;
  letter-spacing: .02em;
}
.bottom-status-bar span {
  padding: 0 13px !important;
  line-height: 34px !important;
}
.bottom-status-bar span::first-letter { text-transform: uppercase; }

.context-inspector {
  right: 18px !important;
  bottom: 52px !important;
  width: 260px !important;
  opacity: .94;
}
.project-summary-glance {
  position: fixed;
  left: 308px;
  bottom: 52px;
  z-index: 34;
  width: 278px;
  padding: 13px 14px;
  border-radius: 18px;
  background: rgba(13,24,38,.82);
  backdrop-filter: blur(10px) saturate(140%);
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 18px 44px rgba(0,0,0,.32);
  transition: opacity .2s ease, transform .2s ease;
  pointer-events: none;
}
.project-summary-glance.soft-hidden { opacity: 0; transform: translateY(8px); }
.glance-head { color: #86efac; text-transform: uppercase; letter-spacing: 1.4px; font-size: 10px; font-weight: 900; margin-bottom: 9px; }
.glance-grid { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; align-items: center; }
.glance-grid span { color: #94a3b8; font-size: 11px; }
.glance-grid strong { color: #f8fafc; font-size: 13px; text-align: right; }

@keyframes lp-card-pulse { 0% { box-shadow: 0 0 0 0 rgba(132,204,22,.55); } 100% { box-shadow: 0 0 0 10px rgba(132,204,22,0); } }
.pulse-card { animation: lp-card-pulse .8s ease-out; }
.action-hover-popup .maplibregl-popup-content { border-radius: 14px !important; }

@media (max-width: 1180px) {
  body.v32-30-polished .sidebar, .sidebar { width: 250px !important; }
  .topbar.compact-topbar { left: 260px !important; grid-template-columns: 1fr 82px 72px 1.4fr auto !important; }
  .bottom-status-bar { left: 250px !important; }
  .project-summary-glance { left: 272px !important; }
}
@media (max-width: 820px) {
  .topbar.compact-topbar { left: 10px !important; right: 10px !important; }
  .sidebar { display: none !important; }
  .bottom-status-bar { left: 0 !important; }
  #actions-list-panel.actions-panel, #monitoring-list-panel.monitoring-right-panel { left: 12px !important; width: calc(100vw - 24px) !important; }
  #monitoring-list-panel.monitoring-right-panel { top: 118px !important; }
  #action-editor-panel.action-editor-panel, #monitoring-site-editor-panel.monitoring-editor-panel { left: 12px !important; width: calc(100vw - 24px) !important; }
}

/* V33 Premium UI Refresh */
:root {
  --lp-radius-button: 10px;
  --lp-radius-card: 14px;
  --lp-radius-panel: 18px;
  --lp-radius-editor: 20px;
  --lp-shadow-panel: 0 18px 48px rgba(0,0,0,.34);
  --lp-shadow-editor: 0 30px 86px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.05) inset;
  --lp-panel-blue: rgba(22, 38, 58, .94);
  --lp-panel-blue-2: rgba(16, 31, 50, .94);
  --lp-editor-bg: rgba(132, 143, 156, .96);
  --lp-editor-bg-2: rgba(111, 123, 137, .96);
  --lp-meta: #9aa7b7;
  --lp-subtle: #c8d2df;
}
body.v33-premium { background:#06111e; }
body.v33-premium .panel {
  border-radius: var(--lp-radius-panel) !important;
  box-shadow: var(--lp-shadow-panel) !important;
  border-color: rgba(166,180,200,.20) !important;
}
body.v33-premium .sidebar {
  width: 270px !important;
  left: 8px !important;
  top: 8px !important;
  bottom: 34px !important;
  border-radius: 0 18px 18px 0 !important;
  background: #142131;
}
body.v33-premium .brand-logo-combined,
body.v33-premium .auth-brand-logo {
  width: 178px !important;
  max-height: 84px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.18));
}
body.v33-premium .brand.brand-combined { padding: 8px 10px 6px !important; }
body.v33-premium .section { padding: 9px 9px !important; }
body.v33-premium .section-toggle,
body.v33-premium .layer-toggle,
body.v33-premium .btn,
body.v33-premium select,
body.v33-premium input,
body.v33-premium textarea {
  border-radius: var(--lp-radius-button) !important;
}
body.v33-premium .section-toggle {
  min-height: 38px !important;
  background: rgba(128,166,201,.88) !important;
  letter-spacing: 1.1px !important;
}
body.v33-premium .section-toggle:hover { filter: brightness(1.05); }
body.v33-premium .topbar.compact-topbar {
  left: 286px !important;
  top: 8px !important;
  height: 44px !important;
  min-height: 44px !important;
  right: 8px !important;
  border-radius: 12px !important;
  background: rgba(13,25,41,.91) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.26) !important;
  grid-template-columns: minmax(140px, 1fr) 90px 78px minmax(280px, 1.8fr) auto auto !important;
}
body.v33-premium .compact-title strong,
body.v33-premium .compact-area span { color: var(--lp-meta) !important; }
body.v33-premium .compact-title b,
body.v33-premium .compact-area strong { color: #f8fafc !important; }
body.v33-premium #actions-list-panel.actions-panel,
body.v33-premium #monitoring-list-panel.monitoring-right-panel {
  top: 62px !important;
  width: 316px !important;
  border-radius: var(--lp-radius-panel) !important;
  background: linear-gradient(180deg, var(--lp-panel-blue), var(--lp-panel-blue-2)) !important;
  box-shadow: var(--lp-shadow-panel) !important;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease, width .18s ease, height .18s ease !important;
}
body.v33-premium #actions-list-panel.actions-panel { left: calc(100vw - 654px) !important; }
body.v33-premium #monitoring-list-panel.monitoring-right-panel { left: calc(100vw - 326px) !important; }
body.v33-premium #actions-list-panel .panel-header,
body.v33-premium #monitoring-list-panel .panel-header {
  height: 46px !important;
  min-height: 46px !important;
  border-radius: var(--lp-radius-panel) !important;
  background: linear-gradient(180deg, rgba(51,74,101,.86), rgba(41,62,86,.78)) !important;
}
body.v33-premium #actions-list-panel .panel-header strong,
body.v33-premium #monitoring-list-panel .panel-header strong {
  font-size: 11px !important;
  letter-spacing: 2.2px !important;
}
body.v33-premium .icon-btn,
body.v33-premium .panel-mini-btn { border-radius: 10px !important; }
body.v33-premium .btn {
  min-height: 44px !important;
  font-size: 13px !important;
  box-shadow: none !important;
}
body.v33-premium .btn.primary {
  background: linear-gradient(180deg, #22c55e, #159447) !important;
  border-color: rgba(116,242,157,.46) !important;
}
body.v33-premium .action-toolbar,
body.v33-premium .monitoring-toolbar { gap: 10px !important; margin-bottom: 12px !important; }
body.v33-premium .action-sort-row,
body.v33-premium .monitoring-filter-row {
  border-radius: 16px !important;
  background: rgba(5,15,28,.36) !important;
  border-color: rgba(166,180,200,.16) !important;
  padding: 10px !important;
}
body.v33-premium select,
body.v33-premium input,
body.v33-premium textarea {
  border-color: rgba(190,204,222,.18) !important;
  background: rgba(7,18,32,.88) !important;
}
body.v33-premium select:hover,
body.v33-premium input:hover,
body.v33-premium textarea:hover { border-color: rgba(190,204,222,.32) !important; }
body.v33-premium select:focus,
body.v33-premium input:focus,
body.v33-premium textarea:focus { border-color: rgba(52,211,153,.72) !important; box-shadow: 0 0 0 3px rgba(16,185,129,.14); }
body.v33-premium .action-card.action-button-row,
body.v33-premium .monitoring-site-btn {
  min-height: 72px !important;
  border-radius: var(--lp-radius-card) !important;
  padding: 13px 14px !important;
  background: rgba(12,28,47,.70) !important;
  border-color: rgba(163,177,197,.17) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.14) !important;
}
body.v33-premium .action-card.action-button-row:hover,
body.v33-premium .monitoring-site-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 13px 28px rgba(0,0,0,.26) !important;
  background: rgba(18,38,62,.84) !important;
}
body.v33-premium .action-card.selected,
body.v33-premium .monitoring-site-btn.active {
  border-color: var(--action-colour, #22c55e) !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.10), 0 0 0 5px color-mix(in srgb, var(--action-colour,#22c55e) 22%, transparent), 0 15px 30px rgba(0,0,0,.34) !important;
}
body.v33-premium .action-row-main strong,
body.v33-premium .monitoring-site-btn strong {
  font-size: 14px !important;
  color: #f8fafc !important;
  letter-spacing: -.01em !important;
}
body.v33-premium .action-row-main span,
body.v33-premium .monitoring-site-btn span {
  color: var(--lp-meta) !important;
  font-size: 11px !important;
}
body.v33-premium .action-row-main em,
body.v33-premium .monitoring-site-btn em {
  color: #9dccff !important;
  font-size: 11px !important;
  font-style: normal !important;
}
body.v33-premium .actions-empty-note,
body.v33-premium .monitoring-empty-small,
body.v33-premium .friendly-empty {
  border: 1px dashed rgba(203,213,225,.24) !important;
  border-radius: 18px !important;
  padding: 28px 18px !important;
  color: #b7c3d2 !important;
  background: rgba(7,18,32,.32) !important;
}
body.v33-premium .friendly-empty strong::before { content: '🌿\A'; white-space: pre; display: block; font-size: 22px; margin-bottom: 6px; }
body.v33-premium #action-editor-panel.action-editor-panel,
body.v33-premium #monitoring-site-editor-panel.monitoring-editor-panel {
  border-radius: var(--lp-radius-editor) !important;
  background: linear-gradient(180deg, var(--lp-editor-bg), var(--lp-editor-bg-2)) !important;
  box-shadow: var(--lp-shadow-editor) !important;
  border-color: rgba(241,245,249,.32) !important;
  overflow: hidden !important;
}
body.v33-premium #action-editor-panel .panel-header,
body.v33-premium #monitoring-site-editor-panel .panel-header {
  min-height: 54px !important;
  height: 54px !important;
  padding: 10px 18px !important;
  background: rgba(116,128,143,.68) !important;
}
body.v33-premium #action-editor-panel .action-editor-body,
body.v33-premium #monitoring-site-editor-panel .monitoring-editor-body {
  padding: 18px 20px 20px !important;
  display: block !important;
}
body.v33-premium #action-editor-panel label,
body.v33-premium #monitoring-site-editor-panel label {
  margin-top: 14px !important;
  margin-bottom: 4px !important;
  color: #e7edf5 !important;
  letter-spacing: 1.25px !important;
}
body.v33-premium #action-editor-panel input,
body.v33-premium #action-editor-panel select,
body.v33-premium #action-editor-panel textarea,
body.v33-premium #monitoring-site-editor-panel input,
body.v33-premium #monitoring-site-editor-panel select,
body.v33-premium #monitoring-site-editor-panel textarea {
  min-height: 40px !important;
  border-radius: 11px !important;
  font-size: 13px !important;
}
body.v33-premium #action-editor-panel textarea,
body.v33-premium #monitoring-site-editor-panel textarea { min-height: 82px !important; }
body.v33-premium .action-form-card,
body.v33-premium #action-editor-panel .action-form,
body.v33-premium .monitoring-sample-table-wrap,
body.v33-premium .plant-mix-block,
body.v33-premium .action-photo-block,
body.v33-premium .calc-preview,
body.v33-premium .monitoring-editor-summary {
  border-radius: 16px !important;
  background: rgba(15,23,42,.18) !important;
  border-color: rgba(255,255,255,.12) !important;
}
body.v33-premium .plant-mix-table th,
body.v33-premium .monitoring-sample-table th {
  color: #d9e5f3 !important;
  font-size: 9px !important;
  letter-spacing: .8px !important;
}
body.v33-premium .bottom-status-bar {
  left: 270px !important;
  height: 36px !important;
  background: rgba(7,15,26,.94) !important;
  display: flex !important;
  gap: 0 !important;
  align-items: center !important;
  box-shadow: 0 -10px 28px rgba(0,0,0,.22) !important;
}
body.v33-premium .bottom-status-bar span {
  line-height: 36px !important;
  padding: 0 16px !important;
  border-right: 1px solid rgba(148,163,184,.18) !important;
  color: #d0dae7 !important;
}
body.v33-premium .context-inspector,
body.v33-premium .project-summary-glance {
  border-radius: 18px !important;
  background: rgba(13,25,41,.84) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.30) !important;
}
body.v33-premium .project-summary-glance { left: 292px !important; bottom: 56px !important; }
body.v33-premium .maplibregl-popup-content { border-radius: 15px !important; }
body.v33-premium .action-picker-popout {
  border-radius: 20px !important;
  box-shadow: var(--lp-shadow-editor) !important;
}
body.v33-premium .action-picker-card { border-radius: 16px !important; }
body.v33-premium .action-pulse-selected { animation: v33-feature-pulse 1s ease-out; }
@keyframes v33-feature-pulse { 0% { filter: brightness(1.5); } 100% { filter: brightness(1); } }
@media (max-width: 1180px) {
  body.v33-premium .sidebar { width: 246px !important; }
  body.v33-premium .topbar.compact-topbar { left: 258px !important; }
  body.v33-premium .bottom-status-bar { left: 246px !important; }
}
@media (max-width: 820px) {
  body.v33-premium .topbar.compact-topbar { left: 8px !important; right:8px !important; }
  body.v33-premium .bottom-status-bar { left: 0 !important; }
}

/* V35 sidebar accent redesign: Option 3 left-accent dropdown styling */
body.v35-sidebar-accents .sidebar {
  background: #142131 !important;
  border-right: 1px solid rgba(148, 163, 184, .16) !important;
  box-shadow: 14px 0 42px rgba(0,0,0,.34) !important;
}
body.v35-sidebar-accents .explorer-brand {
  border-bottom: 1px solid rgba(148, 163, 184, .16) !important;
}
body.v35-sidebar-accents .explorer-group {
  --accent: #a855f7;
  --accent-rgb: 168, 85, 247;
  margin: 10px 8px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(116, 139, 166, .28) !important;
  background: rgba(13, 25, 41, .86) !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
}
body.v35-sidebar-accents .explorer-group.sidebar-project { --accent: #ef4444; --accent-rgb: 239, 68, 68; }
body.v35-sidebar-accents .explorer-group.sidebar-landscape { --accent: #22c55e; --accent-rgb: 34, 197, 94; }
body.v35-sidebar-accents .explorer-group.sidebar-reference { --accent: #38bdf8; --accent-rgb: 56, 189, 248; }
body.v35-sidebar-accents .explorer-group.sidebar-reports { --accent: #a855f7; --accent-rgb: 168, 85, 247; }

body.v35-sidebar-accents .explorer-group > summary {
  position: relative !important;
  min-height: 48px !important;
  padding: 13px 16px 13px 22px !important;
  background: linear-gradient(180deg, rgba(18, 32, 50, .96), rgba(13, 25, 41, .96)) !important;
  border-bottom: 1px solid rgba(148, 163, 184, .10) !important;
  color: #f8fafc !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  letter-spacing: 1.05px !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
body.v35-sidebar-accents .explorer-group > summary::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 9px !important;
  bottom: 9px !important;
  width: 4px !important;
  border-radius: 0 999px 999px 0 !important;
  background: var(--accent) !important;
  opacity: .42 !important;
  box-shadow: 0 0 18px rgba(var(--accent-rgb), .20) !important;
  transition: opacity .16s ease, box-shadow .16s ease !important;
}
body.v35-sidebar-accents .explorer-group[open] > summary,
body.v35-sidebar-accents .explorer-group > summary:hover {
  background: linear-gradient(180deg, rgba(var(--accent-rgb), .13), rgba(13, 25, 41, .96)) !important;
  border-color: rgba(var(--accent-rgb), .38) !important;
}
body.v35-sidebar-accents .explorer-group[open] > summary::before,
body.v35-sidebar-accents .explorer-group > summary:hover::before {
  opacity: 1 !important;
  box-shadow: 0 0 18px rgba(var(--accent-rgb), .52) !important;
}
body.v35-sidebar-accents .explorer-group > summary::after {
  color: #dbe7f4 !important;
  font-size: 13px !important;
  opacity: .95 !important;
  transform: translateY(-1px) !important;
}
body.v35-sidebar-accents .explorer-group-body {
  padding: 10px 9px 12px !important;
  background: linear-gradient(180deg, rgba(10, 20, 34, .54), rgba(10, 20, 34, .28)) !important;
  display: grid !important;
  gap: 8px !important;
}

body.v35-sidebar-accents .explorer-project-card {
  border: 1px solid rgba(var(--accent-rgb), .24) !important;
  border-left: 4px solid rgba(var(--accent-rgb), .75) !important;
  border-radius: 12px !important;
  background: rgba(11, 22, 37, .70) !important;
  padding: 12px !important;
}
body.v35-sidebar-accents .explorer-row {
  font-size: 12px !important;
  margin: 8px 0 !important;
}
body.v35-sidebar-accents .explorer-row span { color: #9fb0c3 !important; }
body.v35-sidebar-accents .explorer-row strong { color: #f8fafc !important; }
body.v35-sidebar-accents .saved-pill { color: #86efac !important; }

body.v35-sidebar-accents .explorer-group-body .layer-toggle,
body.v35-sidebar-accents .explorer-group-body .evidence-layer-button,
body.v35-sidebar-accents .explorer-report-buttons .btn,
body.v35-sidebar-accents .explorer-mini-actions .btn,
body.v35-sidebar-accents .change-project-popout .btn,
body.v35-sidebar-accents .change-project-popout .file-button,
body.v35-sidebar-accents .change-project-popout input,
body.v35-sidebar-accents .change-project-popout textarea,
body.v35-sidebar-accents .change-project-popout select {
  position: relative !important;
  min-height: 42px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(121, 146, 173, .24) !important;
  background: rgba(12, 23, 38, .86) !important;
  color: #f8fafc !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.018) !important;
  transition: background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease !important;
}
body.v35-sidebar-accents .explorer-group-body .layer-toggle,
body.v35-sidebar-accents .explorer-group-body .evidence-layer-button,
body.v35-sidebar-accents .explorer-report-buttons .btn,
body.v35-sidebar-accents .explorer-mini-actions .btn,
body.v35-sidebar-accents .change-project-popout .btn,
body.v35-sidebar-accents .change-project-popout .file-button {
  border-left: 4px solid rgba(var(--accent-rgb), .22) !important;
  padding-left: 13px !important;
}
body.v35-sidebar-accents .explorer-group-body .layer-toggle:hover,
body.v35-sidebar-accents .explorer-group-body .evidence-layer-button:hover,
body.v35-sidebar-accents .explorer-report-buttons .btn:hover,
body.v35-sidebar-accents .explorer-mini-actions .btn:hover,
body.v35-sidebar-accents .change-project-popout .btn:hover,
body.v35-sidebar-accents .change-project-popout .file-button:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(var(--accent-rgb), .58) !important;
  border-left-color: rgba(var(--accent-rgb), .90) !important;
  background: rgba(var(--accent-rgb), .10) !important;
}
body.v35-sidebar-accents .explorer-group-body .evidence-layer-button.active,
body.v35-sidebar-accents .explorer-group-body .layer-toggle:has(input:checked) {
  border-color: rgba(var(--accent-rgb), .80) !important;
  border-left-color: var(--accent) !important;
  background: linear-gradient(90deg, rgba(var(--accent-rgb), .22), rgba(12, 23, 38, .82)) !important;
  box-shadow: inset 4px 0 0 var(--accent), 0 0 0 1px rgba(var(--accent-rgb), .12), 0 8px 22px rgba(0,0,0,.18) !important;
}
body.v35-sidebar-accents .explorer-group-body .layer-status,
body.v35-sidebar-accents .explorer-group-body .evidence-layer-button::after {
  border-color: rgba(185, 199, 216, .50) !important;
}
body.v35-sidebar-accents .explorer-group-body .layer-toggle input:checked ~ .layer-status,
body.v35-sidebar-accents .explorer-group-body .layer-toggle.active .layer-status,
body.v35-sidebar-accents .explorer-group-body .evidence-layer-button.active::after {
  background: var(--accent) !important;
  border-color: rgba(255,255,255,.70) !important;
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .20), 0 0 12px rgba(var(--accent-rgb), .68) !important;
}

body.v35-sidebar-accents .sidebar .btn.primary,
body.v35-sidebar-accents .change-project-popout .btn.primary {
  background: linear-gradient(180deg, #22c55e, #16a34a) !important;
  border-color: rgba(134,239,172,.72) !important;
  border-left-color: #22c55e !important;
  color: #ffffff !important;
}
body.v35-sidebar-accents .change-project-popout .btn.danger,
body.v35-sidebar-accents .change-project-popout .btn[onclick*="replaceBoundary"] {
  border-color: rgba(239, 68, 68, .72) !important;
  border-left-color: #ef4444 !important;
  color: #fecaca !important;
  background: rgba(28, 13, 23, .72) !important;
}

body.v35-sidebar-accents .change-project-popout {
  --accent: #ef4444;
  --accent-rgb: 239, 68, 68;
  background: #142131 !important;
  border: 1px solid rgba(239,68,68,.28) !important;
  border-left: 4px solid rgba(239,68,68,.85) !important;
  border-radius: 14px !important;
  box-shadow: 16px 0 40px rgba(0,0,0,.34), 0 0 22px rgba(239,68,68,.08) !important;
}
body.v35-sidebar-accents .change-project-popout .panel-header {
  background: linear-gradient(180deg, rgba(239,68,68,.16), rgba(18,32,50,.94)) !important;
  border-bottom: 1px solid rgba(239,68,68,.24) !important;
  color: #f8fafc !important;
  min-height: 46px !important;
}
body.v35-sidebar-accents .change-project-popout .popout-body {
  display: grid !important;
  gap: 9px !important;
  background: linear-gradient(180deg, rgba(10,20,34,.34), rgba(10,20,34,.10)) !important;
}
body.v35-sidebar-accents .change-project-popout label {
  color: #dbe7f4 !important;
  letter-spacing: .3px !important;
}
body.v35-sidebar-accents .panel-mini-btn {
  border-radius: 10px !important;
  background: rgba(12,23,38,.86) !important;
}

/* Remove older strong green universal selected state inside the sidebar so section accents remain distinct. */
body.v35-sidebar-accents .sidebar .evidence-layer-button.active,
body.v35-sidebar-accents .sidebar .layer-toggle:has(input:checked) {
  color: #f8fafc !important;
}

/* V35.1 sidebar typography, compact project controls and reference default polish */
body.v35-sidebar-accents,
body.v35-sidebar-accents button,
body.v35-sidebar-accents input,
body.v35-sidebar-accents select,
body.v35-sidebar-accents textarea {
  font-family: Montserrat, Arial, sans-serif !important;
}
body.v35-sidebar-accents .sidebar,
body.v35-sidebar-accents .sidebar *,
body.v35-sidebar-accents .change-project-popout,
body.v35-sidebar-accents .change-project-popout * {
  font-weight: 500 !important;
}
body.v35-sidebar-accents .explorer-group > summary,
body.v35-sidebar-accents .change-project-popout .panel-header,
body.v35-sidebar-accents .explorer-group-body .layer-toggle,
body.v35-sidebar-accents .explorer-group-body .evidence-layer-button,
body.v35-sidebar-accents .explorer-report-buttons .btn,
body.v35-sidebar-accents .explorer-mini-actions .btn,
body.v35-sidebar-accents .change-project-popout .btn,
body.v35-sidebar-accents .change-project-popout .file-button {
  font-size: 13px !important;
  line-height: 1.22 !important;
}
body.v35-sidebar-accents .explorer-group > summary,
body.v35-sidebar-accents .change-project-popout .panel-header {
  letter-spacing: .9px !important;
}
body.v35-sidebar-accents .explorer-row,
body.v35-sidebar-accents .explorer-row span,
body.v35-sidebar-accents .explorer-row strong,
body.v35-sidebar-accents .saved-pill,
body.v35-sidebar-accents .change-project-popout label {
  font-size: 12px !important;
  font-weight: 500 !important;
}
body.v35-sidebar-accents .explorer-row strong,
body.v35-sidebar-accents .saved-pill {
  font-weight: 500 !important;
}
body.v35-sidebar-accents .change-project-popout .panel-header .layers-panel-actions .panel-mini-btn:first-child:not(:last-child) {
  display: none !important;
}
body.v35-sidebar-accents .change-project-popout .popout-body {
  gap: 7px !important;
  padding: 10px 10px 12px !important;
}
body.v35-sidebar-accents .change-project-popout .btn,
body.v35-sidebar-accents .change-project-popout .file-button {
  min-height: 42px !important;
  padding: 8px 13px !important;
  margin-top: 0 !important;
  border-radius: 12px !important;
}
body.v35-sidebar-accents .change-project-popout input,
body.v35-sidebar-accents .change-project-popout textarea,
body.v35-sidebar-accents .change-project-popout select {
  min-height: 40px !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
}
body.v35-sidebar-accents .explorer-mini-actions {
  gap: 8px !important;
}
body.v35-sidebar-accents .explorer-mini-actions .btn {
  min-height: 40px !important;
  padding: 8px 12px !important;
}
/* Keep unselected reference layers visually inactive at startup. */
body.v35-sidebar-accents .sidebar-reference .layer-toggle:not(:has(input:checked)) {
  background: rgba(12, 23, 38, .86) !important;
  border-color: rgba(121, 146, 173, .24) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.018) !important;
}

/* V35.2 sidebar typography, compact modify-project controls, responsive panel clamping */
body.v35-2-menu-panel-fixes.v35-sidebar-accents .explorer-group > summary,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .panel-header {
  font-size: 13px !important;
  line-height: 1.22 !important;
  letter-spacing: .85px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .explorer-group > summary {
  min-height: 44px !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .sidebar,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .sidebar *,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout * {
  font-family: Montserrat, Arial, sans-serif !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 10px 8px !important;
  box-sizing: border-box !important;
  max-height: none !important;
  overflow: hidden !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .panel-header {
  min-height: 40px !important;
  height: 40px !important;
  padding: 8px 12px !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .popout-body {
  padding: 9px 9px 10px !important;
  gap: 6px !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout label {
  margin: 0 0 3px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .btn,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .file-button {
  min-height: 36px !important;
  height: auto !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout input,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout textarea,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout select {
  min-height: 36px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .panel-mini-btn {
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  font-size: 13px !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .explorer-mini-actions .btn,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .explorer-report-buttons .btn,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .explorer-group-body .layer-toggle,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .explorer-group-body .evidence-layer-button {
  font-weight: 500 !important;
}
/* Keep workflow palettes from disappearing off-screen after a browser resize. */
body.v35-2-menu-panel-fixes #actions-list-panel.actions-panel,
body.v35-2-menu-panel-fixes #monitoring-list-panel.monitoring-right-panel,
body.v35-2-menu-panel-fixes #action-editor-panel.action-editor-panel,
body.v35-2-menu-panel-fixes #monitoring-site-editor-panel.monitoring-editor-panel,
body.v35-2-menu-panel-fixes .action-picker-popout {
  max-width: calc(100vw - 16px) !important;
}
/* Regions are now visibly cyan when enabled rather than being a transparent hit layer only. */
body.v35-2-menu-panel-fixes .sidebar-reference .layer-toggle:has(#layer-regions-toggle:checked) {
  border-color: rgba(56,189,248,.80) !important;
  border-left-color: #38bdf8 !important;
  background: linear-gradient(90deg, rgba(56,189,248,.22), rgba(12, 23, 38, .82)) !important;
}

/* V35.3 modify-project sidebar width alignment
   Keep the Modify Project panel inside the same left/right inset as the other sidebar menu items. */
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout {
  width: calc(100% - 32px) !important;
  max-width: calc(100% - 32px) !important;
  min-width: 0 !important;
  margin: 10px 16px 12px 16px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .panel-header,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .popout-body {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .popout-body {
  padding: 9px 9px 10px 9px !important;
  gap: 6px !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .btn,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .file-button,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout input,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout textarea,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .btn,
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .file-button {
  min-height: 34px !important;
  padding: 7px 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
}
body.v35-2-menu-panel-fixes.v35-sidebar-accents .change-project-popout .file-button span {
  display: block !important;
  width: 100% !important;
}

/* V35.4 action form, planting mix and planning report refinements */
#action-editor-panel .plant-mix-table th:nth-child(1),
#action-editor-panel .plant-mix-table td:nth-child(1),
.plant-mix-table th:nth-child(1),
.plant-mix-table td:nth-child(1){width:34%!important;}
#action-editor-panel .plant-mix-table th:nth-child(2),
#action-editor-panel .plant-mix-table td:nth-child(2),
.plant-mix-table th:nth-child(2),
.plant-mix-table td:nth-child(2){width:64px!important;min-width:64px!important;}
#action-editor-panel .plant-mix-table td:nth-child(2) input,
.plant-mix-table td:nth-child(2) input,
#action-editor-panel input.plant-percent,
input.plant-percent{width:58px!important;min-width:58px!important;max-width:58px!important;text-align:right!important;padding-left:6px!important;padding-right:6px!important;}
#action-editor-panel .plant-mix-table td:nth-child(1) input,
.plant-mix-table td:nth-child(1) input{width:100%!important;min-width:0!important;}
#action-editor-panel .plant-mix-table th:nth-child(3),
#action-editor-panel .plant-mix-table td:nth-child(3){width:72px!important;}
#action-editor-panel .plant-mix-table th:nth-child(4),
#action-editor-panel .plant-mix-table td:nth-child(4){width:58px!important;}
#action-editor-panel .plant-mix-table th:nth-child(5),
#action-editor-panel .plant-mix-table td:nth-child(5){width:68px!important;}
#action-editor-panel input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(2)!important;opacity:.95!important;cursor:pointer;}
#action-editor-panel input[type="date"]{color-scheme:dark!important;}
.action-photo-grid{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:flex-start!important;min-height:54px!important;}
.action-photo-thumb{display:inline-flex!important;width:64px!important;height:54px!important;position:relative!important;border-radius:10px!important;overflow:hidden!important;border:1px solid rgba(148,163,184,.35)!important;background:#0f172a!important;}
.action-photo-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.action-photo-thumb button{position:absolute!important;right:3px!important;top:3px!important;width:18px!important;height:18px!important;border-radius:50%!important;padding:0!important;line-height:16px!important;background:rgba(15,23,42,.85)!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;}
.actions-report-config label,
.actions-report-config .report-config-field label,
.actions-report-config .report-year-inputs span,
.actions-report-config strong,
.actions-report-config span{color:#fff!important;}
.actions-report-config input,
.actions-report-config select{color:#fff!important;background:#0f1b2d!important;border-color:rgba(255,255,255,.22)!important;}
.actions-year-summary td{vertical-align:top!important;}

/* V35.5 planning report legibility and table alignment */
/* Report setup sits on a light background: all descriptive text must be dark. */
#planning-report-content .actions-report-config,
#planning-report-content .actions-report-config .report-config-header,
#planning-report-content .actions-report-config .report-config-header strong,
#planning-report-content .actions-report-config .report-config-header span,
#planning-report-content .actions-report-config .report-config-cell > label,
#planning-report-content .actions-report-config .report-config-cell > strong,
#planning-report-content .actions-report-config .report-year-inputs span,
#planning-report-content .actions-report-config .report-check-grid label,
#planning-report-content .actions-report-config .report-check-grid label span,
#planning-report-content .actions-report-config .report-toggle-row label,
#planning-report-content .actions-report-config .report-toggle-row label span {
  color: #0f172a !important;
}

/* Keep form values legible against the dark input backgrounds. */
#planning-report-content .actions-report-config select,
#planning-report-content .actions-report-config input[type="number"] {
  color: #ffffff !important;
  background: #0f1b2d !important;
}

/* Section 5 uses a dark report panel, so every table label and value is white. */
#planning-report-content .actions-detail-table,
#planning-report-content .actions-detail-table th,
#planning-report-content .actions-detail-table td,
#planning-report-content .actions-detail-table td strong {
  color: #ffffff !important;
}

/* Default table alignment: headings follow their data columns. */
#planning-report-content .report-table th,
#planning-report-content .report-table td {
  text-align: left;
}

/* Detailed actions: descriptive fields left, measurements and totals right. */
#planning-report-content .actions-detail-table th:nth-child(-n+6),
#planning-report-content .actions-detail-table td:nth-child(-n+6) {
  text-align: left !important;
}
#planning-report-content .actions-detail-table th:nth-child(n+7),
#planning-report-content .actions-detail-table td:nth-child(n+7) {
  text-align: right !important;
}

/* Year summary: year and action types left; counts and costs right. */
#planning-report-content .actions-year-summary th:nth-child(1),
#planning-report-content .actions-year-summary td:nth-child(1),
#planning-report-content .actions-year-summary th:nth-child(3),
#planning-report-content .actions-year-summary td:nth-child(3) {
  text-align: left !important;
}
#planning-report-content .actions-year-summary th:nth-child(2),
#planning-report-content .actions-year-summary td:nth-child(2),
#planning-report-content .actions-year-summary th:nth-child(4),
#planning-report-content .actions-year-summary td:nth-child(4) {
  text-align: right !important;
}

/* Planting and species tables: names left; quantities and costs right. */
#planning-report-content .actions-plant-summary .report-table th:first-child,
#planning-report-content .actions-plant-summary .report-table td:first-child,
#planning-report-content .action-species-table th:first-child,
#planning-report-content .action-species-table td:first-child {
  text-align: left !important;
}
#planning-report-content .actions-plant-summary .report-table th:nth-child(n+2),
#planning-report-content .actions-plant-summary .report-table td:nth-child(n+2),
#planning-report-content .action-species-table th:nth-child(n+2),
#planning-report-content .action-species-table td:nth-child(n+2) {
  text-align: right !important;
}

/* V36.1 Project Objects sidebar — mirrors existing cards without moving original panels */
.v36-project-objects{margin:8px 0 10px;padding:0 10px;}
.v36-project-objects-divider{height:1px;background:rgba(255,255,255,.16);margin:8px 0 12px;}
.v36-project-objects-heading{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#aebdce;margin:0 2px 8px;}
.v36-project-object-block{margin-bottom:7px;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:rgba(7,17,29,.24);}
.v36-project-object-toggle{width:100%;display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:7px;border:0;background:#17283c;color:#eef5fb;padding:10px 11px;text-align:left;cursor:pointer;font:inherit;font-size:13px;font-weight:500;}
.v36-project-object-toggle:hover{background:#1d3148;}
.v36-project-object-toggle[aria-expanded="true"]{background:#20364f;box-shadow:inset 3px 0 0 #26b563;}
.v36-chevron{font-size:9px;color:#b8c5d3;}
.v36-count{min-width:24px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.1);color:#dce7f2;text-align:center;font-size:11px;}
.v36-project-object-body{padding:8px;background:#101f31;}
.v36-project-object-body.hidden{display:none!important;}
.v36-object-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.v36-object-toolbar .btn{min-height:30px;padding:5px 8px;font-size:11px;}
.v36-mirror-list{max-height:330px;overflow:auto;padding-right:2px;}
.v36-mirror-list .action-card,.v36-mirror-list .monitoring-site-btn{width:100%;margin:0 0 7px;box-sizing:border-box;}
.v36-mirror-list .action-card{position:relative!important;left:auto!important;right:auto!important;top:auto!important;}
.v36-mirror-list .monitoring-site-btn{text-align:left;}
.v36-mirror-list .muted{font-size:12px;margin:8px 2px;}

/* V37 — primary sidebar workspaces. Presentation-only; authentication and startup untouched. */
.sidebar > .explorer-group{margin:0 8px 10px!important;}
.sidebar .explorer-group > summary{position:relative;display:flex!important;align-items:center;gap:8px;min-height:46px;padding:10px 14px 10px 20px!important;box-sizing:border-box;}
.sidebar .explorer-group > summary::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--v371-accent,#64748b);}
.sidebar .explorer-group[open] > summary{background:color-mix(in srgb,var(--v371-accent,#64748b) 10%,#142131)!important;border-bottom-color:color-mix(in srgb,var(--v371-accent,#64748b) 65%,transparent)!important;}
.v371-project-group{--v371-accent:#ef4444;}
.v371-actions-group{--v371-accent:#84cc16;}
.v371-monitoring-group{--v371-accent:#22d3ee;}
.v371-landscape-group{--v371-accent:#22c55e;}
.v371-reference-group{--v371-accent:#38bdf8;}
.v371-reports-group{--v371-accent:#a855f7;}
.v371-workspace-group > summary{justify-content:flex-start;}
.v371-workspace-group > summary::after{margin-left:0!important;}
.v371-summary-title{flex:1;min-width:0;}
.v371-summary-count{order:2;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--v371-accent) 25%,#17283c);border:1px solid color-mix(in srgb,var(--v371-accent) 55%,transparent);color:#fff;font-size:11px;line-height:1;}
.v371-workspace-body{padding:8px 12px 11px!important;background:rgba(5,15,28,.35)!important;}
.v371-workspace-hint{margin:0;color:#9fb0c2;font-size:11px;line-height:1.35;}
.v371-sidebar-workspace-panel{border-radius:14px!important;box-shadow:0 18px 52px rgba(0,0,0,.38)!important;overflow:hidden!important;}
.v371-sidebar-workspace-panel.v371-workspace-closed{display:none!important;}
.v371-sidebar-workspace-panel:not(.v371-workspace-closed){display:flex!important;flex-direction:column!important;}
.v371-sidebar-workspace-panel .panel-header{flex:0 0 auto;cursor:default!important;}
.v371-sidebar-workspace-panel #action-list,
.v371-sidebar-workspace-panel .monitoring-right-body{overflow:auto!important;max-height:calc(100vh - 150px)!important;}
@media (max-width:900px){
  .v371-sidebar-workspace-panel{width:min(340px,calc(100vw - 286px))!important;}
}


/* V39.3 Basemap selector */
.explorer-basemap-selector {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.explorer-subheading {
  margin: 0 0 8px;
  color: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.explorer-basemap-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
}
.basemap-choice {
  width: 100%;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: #f4f7fb;
  text-align: left;
  cursor: pointer;
  transition: background .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.basemap-choice:hover {
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.22);
}
.basemap-choice.active {
  background: rgba(79,156,255,.16);
  border-color: rgba(103,174,255,.78);
  box-shadow: inset 3px 0 0 #67aeff;
}
.basemap-choice-title,
.basemap-choice-note { display: block; }
.basemap-choice-title { font-size: 13px; line-height: 1.2; }
.basemap-choice-note { margin-top: 2px; color: rgba(255,255,255,.57); font-size: 10.5px; line-height: 1.25; }
.basemap-choice.active .basemap-choice-note { color: rgba(255,255,255,.76); }
