:root {
  --bg: #07100d;
  --panel: #0c1713;
  --panel-soft: #12201a;
  --line: rgba(201, 231, 216, 0.14);
  --text: #f4faf6;
  --muted: #9eb0a6;
  --lime: #4fd39a;
  --green: #16875a;
  --yellow: #f3cc64;
  --red: #f17873;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { font-family: "Manrope", system-ui, sans-serif; color: var(--text); background: var(--bg); }
[hidden] { display: none !important; }
button, input { font: inherit; }
button { cursor: pointer; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.parcel-app { min-height: 100vh; display: flex; flex-direction: column; }
.parcel-header {
  height: 72px; flex: 0 0 72px; padding: 0 24px; display: flex; align-items: center; gap: 28px;
  border-bottom: 1px solid var(--line); background: rgba(7, 16, 13, 0.96); position: relative; z-index: 1000;
}
.brand { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 11px; background: #fff; box-shadow: 0 6px 20px rgba(0, 76, 45, 0.2); }
.brand img { display: block; width: 148px; max-height: 38px; object-fit: contain; }
.parcel-header nav { display: flex; gap: 8px; }
.parcel-header nav a {
  color: var(--muted); text-decoration: none; font-size: 0.82rem; font-weight: 700; padding: 9px 12px; border-radius: 10px;
}
.parcel-header nav a:hover, .parcel-header nav a.active { color: var(--text); background: var(--panel-soft); }
.country-picker { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.country-picker a { padding: 6px 9px; border-radius: 7px; color: var(--muted); font-size: 0.65rem; font-weight: 800; text-decoration: none; }
.country-picker a.active { color: #132017; background: var(--lime); }
.country-cz .price-only { display: none !important; }
.header-action {
  border: 1px solid rgba(79, 211, 154, 0.4); color: var(--lime); background: transparent;
  border-radius: 10px; padding: 9px 14px; font-size: 0.8rem; font-weight: 800;
}
.language-picker { margin-left: auto; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 0.62rem; font-weight: 800; }
.language-picker span { text-transform: uppercase; letter-spacing: 0.08em; }
.language-picker select { padding: 8px 26px 8px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: var(--panel-soft); font-size: 0.67rem; font-weight: 800; cursor: pointer; }
.language-flag { width: 22px; height: 15px; flex: 0 0 22px; border-radius: 3px; border: 1px solid rgba(16, 26, 22, 0.22); box-shadow: 0 1px 0 rgba(255,255,255,0.28) inset; overflow: hidden; }
.flag-pl { background: linear-gradient(#fff 0 50%, #dc143c 50%); }
.flag-de { background: linear-gradient(#000 0 33.33%, #dd0000 33.33% 66.66%, #ffce00 66.66%); }
.flag-fr { background: linear-gradient(90deg, #0055a4 0 33.33%, #fff 33.33% 66.66%, #ef4135 66.66%); }
.flag-es { background: linear-gradient(#aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75%); }
.flag-pt { background: linear-gradient(90deg, #006600 0 40%, #ff0000 40%); }
.flag-uk { background: linear-gradient(#0057b7 0 50%, #ffd700 50%); }
.flag-ru { background: linear-gradient(#fff 0 33.33%, #0039a6 33.33% 66.66%, #d52b1e 66.66%); }
.flag-en {
  background:
    linear-gradient(33deg, transparent 0 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58%),
    linear-gradient(147deg, transparent 0 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58%),
    linear-gradient(90deg, transparent 0 42%, #fff 42% 58%, transparent 58%),
    linear-gradient(0deg, transparent 0 36%, #fff 36% 64%, transparent 64%),
    linear-gradient(90deg, transparent 0 46%, #c8102e 46% 54%, transparent 54%),
    linear-gradient(0deg, transparent 0 42%, #c8102e 42% 58%, transparent 58%),
    #012169;
}

.parcel-layout { min-height: calc(100vh - 72px); display: grid; grid-template-columns: minmax(0, 1fr) clamp(520px, 38vw, 680px); transition: grid-template-columns 0.28s ease; }
.parcel-layout.is-analysis-expanded { grid-template-columns: minmax(260px, 25vw) minmax(0, 75vw); }
.parcel-layout.is-analysis-hidden { grid-template-columns: minmax(0, 1fr) 0; }
.parcel-layout.is-analysis-hidden .analysis-panel { display: none; }
.map-column { min-width: 0; display: flex; flex-direction: column; background: #dce5df; }
.map-intro-strip {
  min-height: 108px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #163226;
  background: #f6faf7;
  border-bottom: 1px solid #cdd8d1;
}
.map-intro-strip > div { max-width: 980px; }
.map-intro-strip .eyebrow { margin: 0 0 6px; color: #16875a; }
.map-intro-strip h1 {
  margin: 0;
  color: #0d1d16;
  font-size: clamp(1.35rem, 2.4vw, 2.05rem);
  line-height: 1.1;
  letter-spacing: 0;
}
.map-intro-strip p:not(.eyebrow) {
  max-width: 960px;
  margin: 8px 0 0;
  color: #50665b;
  font-size: 0.78rem;
  line-height: 1.55;
}
.map-toolbar {
  min-height: 72px; padding: 12px 18px; display: flex; align-items: center; gap: 16px;
  background: #f6faf7; border-bottom: 1px solid #cdd8d1;
}
.place-search {
  width: min(520px, 65%); height: 46px; display: flex; border: 1px solid #c7d3cb; border-radius: 12px;
  background: #fff; overflow: hidden; box-shadow: 0 8px 24px rgba(22, 55, 39, 0.08);
}
.place-search input { flex: 1; min-width: 0; padding: 0 14px; border: 0; outline: 0; color: #142119; }
.place-search button { border: 0; padding: 0 18px; background: #173d2c; color: #fff; font-weight: 800; }
.parcel-number-search-toggle,
.map-layer-toggle,
.parcel-sketch-toggle {
  height: 46px; flex: 0 0 auto; border: 1px solid #a9c2b4; border-radius: 12px; padding: 0 15px;
  color: #173d2c; background: #fff; font-size: 0.72rem; font-weight: 800; box-shadow: 0 8px 24px rgba(22, 55, 39, 0.06);
}
.parcel-number-search-toggle:hover, .parcel-number-search-toggle.active,
.map-layer-toggle:hover, .map-layer-toggle.active,
.parcel-sketch-toggle:not(:disabled):hover, .parcel-sketch-toggle.active { color: #fff; background: #173d2c; }
.parcel-sketch-toggle:disabled { opacity: 0.52; cursor: not-allowed; }
.location-tools { display: flex; align-items: stretch; gap: 7px; flex: 0 0 auto; }
.location-button {
  min-height: 46px; border: 1px solid #74ad91; border-radius: 12px; padding: 0 14px; color: #0c4b32; background: #edf8f1;
  box-shadow: 0 8px 24px rgba(22, 55, 39, 0.06); font-size: 0.72rem; font-weight: 900;
}
.location-button:hover, .location-button:focus-visible { color: #fff; background: #173d2c; }
.location-button:disabled { opacity: .65; cursor: wait; }
.location-radius { display: grid; align-content: center; gap: 2px; min-width: 78px; color: #50665b; font-size: .52rem; font-weight: 800; }
.location-radius select { min-height: 29px; border: 1px solid #bfd0c6; border-radius: 7px; padding: 0 6px; color: #173d2c; background: #fff; font-size: .62rem; font-weight: 800; }
.parcel-number-search-panel {
  padding: 14px 18px; color: #173025; background: #eef5f1; border-bottom: 1px solid #c7d6ce;
  box-shadow: inset 0 -8px 20px rgba(22, 55, 39, 0.03);
}
.parcel-number-search-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.parcel-number-search-head strong, .parcel-number-search-head span { display: block; }
.parcel-number-search-head strong { font-size: 0.82rem; }
.parcel-number-search-head span { margin-top: 3px; color: #65786d; font-size: 0.61rem; }
.parcel-number-search-head button {
  border: 0; padding: 5px 7px; color: #63776b; background: transparent; font-size: 0.62rem; font-weight: 800;
}
.parcel-number-search-panel form {
  margin-top: 11px; display: grid; grid-template-columns: 1.5fr auto repeat(4, minmax(125px, 1fr)) auto; align-items: end; gap: 8px;
}
.parcel-number-search-panel label { min-width: 0; color: #334b3e; font-size: 0.58rem; font-weight: 800; }
.parcel-number-search-panel label span { display: block; margin: 2px 0 5px; color: #829289; font-size: 0.48rem; font-weight: 600; }
.parcel-number-search-panel input, .parcel-number-search-panel select {
  width: 100%; height: 38px; border: 1px solid #bfd0c6; border-radius: 8px; padding: 0 9px; outline: 0;
  color: #173025; background: #fff; font-size: 0.65rem;
}
.parcel-number-search-panel input:focus, .parcel-number-search-panel select:focus { border-color: #16875a; box-shadow: 0 0 0 3px rgba(22, 135, 90, 0.1); }
.parcel-number-search-panel form>button {
  height: 38px; border: 0; border-radius: 8px; padding: 0 13px; color: #fff; background: #16875a; font-size: 0.64rem; font-weight: 800;
}
.parcel-search-or { align-self: center; padding-top: 16px; color: #8b9b92; font-size: 0.54rem; font-weight: 800; text-transform: uppercase; }
.parcel-number-search-results { margin-top: 9px; display: grid; gap: 5px; }
.parcel-number-search-results>p { margin: 0; padding: 7px 9px; color: #63776b; background: rgba(255,255,255,.55); border-radius: 7px; font-size: 0.6rem; }
.parcel-search-result {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #c6d7cd; border-radius: 8px;
  padding: 8px 10px; color: #173025; background: #fff; text-align: left;
}
.parcel-search-result:hover { border-color: #16875a; background: #f8fcfa; }
.parcel-search-result strong, .parcel-search-result span { display: block; }
.parcel-search-result strong { font-size: 0.68rem; }.parcel-search-result span { margin-top: 2px; color: #708278; font-size: 0.55rem; }
.parcel-search-result b { flex: 0 0 auto; color: #16875a; font-size: 0.58rem; }
.map-hint { color: #42544a; font-size: 0.8rem; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.map-hint span { width: 8px; height: 8px; border-radius: 50%; background: #2ec77c; box-shadow: 0 0 0 5px rgba(46, 199, 124, 0.14); }
.map-3d-open {
  margin-left: auto; border: 1px solid #9ebcab; border-radius: 10px; padding: 10px 14px; color: #173d2c; background: #fff;
  box-shadow: 0 6px 18px rgba(22, 55, 39, 0.08); font-size: 0.72rem; font-weight: 800;
}
.map-3d-open:hover { color: #fff; background: #173d2c; }

.map-stage { flex: 1; min-height: 560px; position: relative; }
#parcelMap { position: absolute; inset: 0; background: #dce5df; cursor: crosshair; }
.map-fullscreen-toggle {
  position: absolute; left: 16px; bottom: 72px; z-index: 650; min-height: 40px; padding: 0 14px;
  border: 1px solid rgba(23, 61, 44, 0.28); border-radius: 10px; color: #173d2c; background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 30px rgba(15, 37, 27, 0.16); font-size: .66rem; font-weight: 900;
}
.map-fullscreen-toggle:hover { color: #fff; background: #173d2c; }
.map-stage.is-map-fullscreen,
.map-stage:fullscreen {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  background: #dce5df;
}
.map-stage.is-map-fullscreen #parcelMap,
.map-stage:fullscreen #parcelMap { position: absolute; inset: 0; }
.parcel-3d-view { position: absolute; inset: 0; z-index: 750; overflow: hidden; background: #dce5df; }
.parcel-3d-map { position: absolute; inset: 0; }
.parcel-3d-head {
  position: absolute; top: 16px; left: 16px; z-index: 3; width: min(350px, calc(100% - 32px)); padding: 13px;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border: 1px solid rgba(201, 231, 216, 0.25);
  border-radius: 13px; color: var(--text); background: rgba(7, 16, 13, 0.9); box-shadow: 0 12px 34px rgba(0, 0, 0, 0.25); backdrop-filter: blur(10px);
}
.parcel-3d-head div { min-width: 0; }
.parcel-3d-head span, .parcel-3d-head small { display: block; color: var(--muted); font-size: 0.57rem; line-height: 1.45; }
.parcel-3d-head span { margin-bottom: 4px; color: var(--lime); font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.parcel-3d-head strong { display: block; overflow: hidden; font-size: 0.85rem; text-overflow: ellipsis; white-space: nowrap; }
.parcel-3d-head small { margin-top: 4px; }
.parcel-3d-head button, .parcel-3d-actions button {
  border: 1px solid rgba(79, 211, 154, 0.35); border-radius: 9px; padding: 8px 10px; color: var(--lime); background: rgba(18, 32, 26, 0.92);
  font-size: 0.62rem; font-weight: 800;
}
.parcel-3d-actions { position: absolute; right: 16px; bottom: 28px; z-index: 3; }
.parcel-3d-actions button { padding: 10px 14px; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.28); }
.map-crosshair {
  pointer-events: none; position: absolute; inset: 50% auto auto 50%; width: 12px; height: 12px; z-index: 500;
  border: 2px solid rgba(13, 61, 41, 0.55); border-radius: 50%; transform: translate(-50%, -50%);
}
.layer-panel {
  position: absolute; top: 16px; left: 16px; z-index: 600; width: 260px; max-height: calc(100% - 32px); overflow-y: auto; padding: 13px;
  color: #1a2d23; background: rgba(255, 255, 255, 0.94); border: 1px solid #cedbd3; border-radius: 14px;
  box-shadow: 0 12px 34px rgba(20, 55, 38, 0.15); backdrop-filter: blur(8px);
}
.layer-panel[hidden] { display: none !important; }
.layer-panel p { margin: 0 0 9px; font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 800; color: #607268; }
.layer-panel label { display: flex; align-items: center; gap: 8px; padding: 7px 2px; font-size: 0.75rem; font-weight: 700; }
.layer-panel label.is-waiting { color: #718078; }
.layer-panel label.is-waiting::after {
  content: "przybliż";
  margin-left: auto;
  padding: 3px 5px;
  border-radius: 5px;
  background: #fff3c4;
  color: #8a5a00;
  font-size: 0.52rem;
  font-weight: 900;
  text-transform: uppercase;
}
.layer-panel input { accent-color: #246b49; }
.layer-panel label.is-future { opacity: 0.52; }
.layer-panel b { margin-left: auto; font-size: 0.55rem; text-transform: uppercase; padding: 3px 5px; border-radius: 5px; background: #dfe9e3; }
.layer-panel .layer-scale-hint {
  margin: -2px 0 5px 25px; padding: 4px 7px; border-radius: 6px; color: #6a776f; background: #eef3f0;
  font-size: 0.55rem; font-weight: 700; line-height: 1.35; letter-spacing: 0; text-transform: none;
}
.parcel-sketch-panel {
  position: absolute; top: 16px; right: 16px; z-index: 715; width: min(360px, calc(100% - 32px)); max-height: calc(100% - 32px); overflow-y: auto;
  padding: 13px; border: 1px solid rgba(18, 42, 29, 0.14); border-radius: 13px; color: #14271d; background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 45px rgba(16, 31, 24, 0.20); backdrop-filter: blur(8px);
}
.parcel-sketch-panel[hidden] { display: none !important; }
.parcel-sketch-reopen {
  position: absolute; right: 18px; top: 18px; z-index: 714; min-height: 44px; padding: 0 15px;
  border: 1px solid rgba(15, 107, 74, .34); border-radius: 12px; color: #fff; background: rgba(15, 107, 74, .94);
  box-shadow: 0 16px 38px rgba(15, 37, 27, .24); font-size: .72rem; font-weight: 900;
}
.parcel-sketch-reopen[hidden] { display: none !important; }
.parcel-sketch-reopen:hover { background: #0a4f38; }
.parcel-sketch-modal,
.parcel-change-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(7, 16, 13, .48);
}
.parcel-sketch-modal[hidden],
.parcel-change-modal[hidden] { display: none !important; }
.parcel-sketch-modal section,
.parcel-change-modal section {
  width: min(460px, 100%);
  padding: 20px;
  border: 1px solid rgba(201, 231, 216, .28);
  border-radius: 16px;
  color: #14271d;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}
.parcel-sketch-modal h2,
.parcel-change-modal h2 { margin: 0; font-size: 1.15rem; }
.parcel-sketch-modal p,
.parcel-change-modal p { margin: 10px 0 0; color: #526a5e; font-size: .88rem; line-height: 1.55; }
.parcel-sketch-modal div,
.parcel-change-modal div { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.parcel-sketch-modal button,
.parcel-change-modal button {
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid #cbdad2;
  border-radius: 10px;
  color: #173d2c;
  background: #fff;
  font-size: .78rem;
  font-weight: 900;
}
.parcel-sketch-modal [data-sketch-modal-confirm],
.parcel-change-modal [data-parcel-change-confirm] {
  color: #fff;
  border-color: #0f6b4a;
  background: #0f6b4a;
}
.parcel-sketch-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.parcel-sketch-head strong, .parcel-sketch-head span { display: block; }
.parcel-sketch-head strong { font-size: 0.78rem; }
.parcel-sketch-head span { margin-top: 4px; color: #62766b; font-size: 0.58rem; line-height: 1.45; }
.parcel-sketch-head button {
  flex: 0 0 auto; padding: 6px 8px; border: 1px solid #d5e0db; border-radius: 8px; color: #314b3e; background: #f5faf7; font-size: 0.58rem; font-weight: 900;
}
.parcel-sketch-modes { margin-top: 11px; display: grid; grid-template-columns: 1fr 1fr 0.75fr; gap: 6px; }
.parcel-sketch-modes button, .parcel-sketch-calculate {
  min-height: 38px; padding: 7px 8px; border: 1px solid #d5e0db; border-radius: 9px; color: #263d32; background: #f8fbf9; font-size: 0.58rem; font-weight: 900;
}
.parcel-sketch-modes button:hover, .parcel-sketch-modes button.active { border-color: #8db9a4; background: #e9f4ee; }
.parcel-sketch-road-mode::before {
  content: ""; width: 18px; height: 12px; display: inline-block; margin-right: 6px;
  border-top: 4px solid currentColor; border-bottom: 4px solid currentColor; opacity: .78;
  transform: skewX(-14deg); vertical-align: -2px;
}
.parcel-sketch-calculate { width: 100%; margin-top: 9px; color: #06120d; background: #67bd92; border-color: #55aa82; font-size: 0.64rem; }
.parcel-sketch-calculate:disabled { opacity: 0.52; cursor: not-allowed; }
.parcel-sketch-export {
  width: 100%; min-height: 38px; margin-top: 7px; padding: 7px 8px; border: 1px solid #c9d8d0; border-radius: 9px;
  color: #173d2c; background: #fff; font-size: 0.6rem; font-weight: 900;
}
.parcel-sketch-export:disabled { opacity: 0.52; cursor: not-allowed; }
.parcel-sketch-scale-tools {
  margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; align-items: end;
}
.parcel-sketch-scale-tools label, .parcel-sketch-calculator label {
  display: grid; gap: 4px; color: #526a5e; font-size: 0.55rem; font-weight: 800;
}
.parcel-sketch-scale-tools select, .parcel-sketch-calculator input {
  width: 100%; min-height: 34px; border: 1px solid #d5e0db; border-radius: 8px; padding: 6px 8px; color: #14271d; background: #fff;
  font-size: 0.62rem; font-weight: 850;
}
.parcel-sketch-check {
  grid-column: 1 / -1; display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 7px; padding: 7px 8px;
  border: 1px solid #dce7e1; border-radius: 9px; background: #f7fbf9;
}
.parcel-sketch-check input { width: 16px; height: 16px; accent-color: #237e58; }
.parcel-sketch-road-tools {
  margin-top: 10px; padding: 10px; display: grid; gap: 9px; border: 1px solid #d8e5de; border-radius: 10px; background: #f7fbf9;
}
.parcel-sketch-road-tools[hidden] { display: none !important; }
.parcel-sketch-road-tools strong { color: #173d2c; font-size: .66rem; }
.parcel-sketch-road-tools p, .parcel-sketch-road-tools small { margin: 0; color: #62766b; font-size: .53rem; line-height: 1.45; }
.parcel-road-width-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) 62px 34px; gap: 6px; align-items: end; }
.parcel-road-width-row button, .parcel-road-presets button {
  min-height: 34px; border: 1px solid #cbdad2; border-radius: 8px; color: #173d2c; background: #fff; font-size: .58rem; font-weight: 900;
}
.parcel-road-width-row label, .parcel-sketch-road-tools label { min-width: 0; display: grid; gap: 4px; color: #526a5e; font-size: .55rem; font-weight: 800; }
.parcel-road-width-row input, .parcel-road-width-row select, .parcel-sketch-road-tools select {
  width: 100%; min-height: 34px; border: 1px solid #d5e0db; border-radius: 8px; padding: 6px 8px; color: #14271d; background: #fff; font-size: .62rem; font-weight: 850;
}
.parcel-road-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.parcel-sketch-measurements { margin-top: 10px; display: grid; gap: 7px; }
.parcel-sketch-measurement-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px; color: #12271d; font-size: 0.58rem; font-weight: 900;
}
.parcel-sketch-measurement-head span { color: #6f7f77; font-size: 0.5rem; }
.parcel-sketch-measurements article {
  padding: 9px; border: 1px solid #d8e5de; border-radius: 10px; background: #f7fbf9;
}
.parcel-sketch-measurements article strong, .parcel-sketch-measurements article span { display: block; }
.parcel-sketch-measurements article strong { color: #12271d; font-size: 0.62rem; }
.parcel-sketch-measurements article > span { margin-top: 3px; color: #526a5e; font-size: 0.53rem; }
.parcel-sketch-measurements ul { margin: 7px 0 0; padding: 0; list-style: none; display: grid; gap: 5px; }
.parcel-sketch-measurements li { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #314b3e; font-size: 0.55rem; }
.parcel-sketch-measurements li button {
  flex: 0 0 auto; min-height: 28px; padding: 4px 7px; border: 1px solid #cbdad2; border-radius: 7px; color: #173d2c; background: #fff; font-size: 0.52rem; font-weight: 900;
}
.parcel-sketch-total { border-color: rgba(35, 126, 88, 0.28) !important; background: #edf8f2 !important; }
.parcel-sketch-calculator {
  margin-top: 10px; padding: 9px; border: 1px solid #d8e5de; border-radius: 10px; background: #fbfdfb;
}
.parcel-sketch-calculator strong { display: block; color: #173d2c; font-size: 0.62rem; }
.parcel-sketch-calculator > div { margin-top: 7px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.parcel-sketch-calculator small { display: block; margin-top: 7px; color: #6f7f77; font-size: 0.5rem; line-height: 1.45; }
.parcel-sketch-point-editor {
  margin-top: 10px; padding: 9px; border: 1px solid rgba(35, 126, 88, 0.24); border-radius: 10px; background: #edf8f2;
}
.parcel-sketch-point-editor[hidden] { display: none !important; }
.parcel-sketch-point-editor strong { display: block; color: #173d2c; font-size: 0.62rem; }
.parcel-sketch-point-editor > div { margin-top: 7px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.parcel-sketch-point-editor label { display: grid; gap: 4px; color: #526a5e; font-size: 0.55rem; font-weight: 800; }
.parcel-sketch-point-editor select, .parcel-sketch-point-editor input {
  width: 100%; min-height: 34px; border: 1px solid #cbdad2; border-radius: 8px; padding: 6px 8px; color: #14271d; background: #fff;
  font-size: 0.62rem; font-weight: 850;
}
.parcel-sketch-point-editor button {
  width: 100%; min-height: 34px; margin-top: 7px; border: 1px solid #55aa82; border-radius: 8px; color: #06120d; background: #67bd92;
  font-size: 0.6rem; font-weight: 900;
}
.parcel-point-step-row { margin-top: 7px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.parcel-point-step-row button {
  width: auto; min-height: 30px; margin: 0; border-color: #cbdad2; color: #173d2c; background: #fff; font-size: .52rem;
}
#parcelSketchRestorePoint { border-color: #cbdad2; color: #173d2c; background: #fff; }
.parcel-sketch-point-editor small { display: block; margin-top: 7px; color: #526a5e; font-size: 0.5rem; line-height: 1.45; }
.parcel-sketch-status {
  margin-top: 9px; padding: 9px 10px; border: 1px solid #dce7e1; border-radius: 9px; color: #566d61; background: #f7fbf9; font-size: 0.59rem; line-height: 1.45;
}
.parcel-sketch-status.error { border-color: rgba(220, 95, 90, 0.35); color: #7d2d2a; background: #fff1f0; }
.parcel-sketch-status.ok { border-color: rgba(63, 156, 114, 0.32); color: #245a43; background: #edf8f2; }
.parcel-sketch-result { margin-top: 10px; display: grid; gap: 7px; }
.parcel-sketch-result article { padding: 10px; border: 1px solid #d8e5de; border-radius: 10px; background: #f7fbf9; }
.parcel-sketch-result article strong, .parcel-sketch-result article span { display: block; }
.parcel-sketch-result article strong { color: #12271d; font-size: 0.66rem; }
.parcel-sketch-result article span { margin-top: 4px; color: #526a5e; font-size: 0.58rem; line-height: 1.45; }
.parcel-sketch-result article.is-road { border-color: #2f3431; background: #f1f3f2; }
.parcel-sketch-result article.is-warning { border-color: #e2c16f; background: #fff8df; }
.parcel-sketch-road-label span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  padding: 5px 9px;
  border: 1px solid rgba(47, 52, 49, .22);
  border-radius: 999px;
  color: #25302b;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 8px 22px rgba(20, 34, 27, .12);
  font-size: .58rem;
  font-weight: 800;
  white-space: nowrap;
}
.parcel-sketch-disclaimer { margin: 10px 0 0; color: #6f7f77; font-size: 0.53rem; line-height: 1.45; }
.parcel-sketch-label {
  padding: 5px 7px; border: 1px solid rgba(18, 42, 29, 0.18); border-radius: 8px; color: #10271b; background: rgba(255,255,255,.92);
  box-shadow: 0 8px 18px rgba(16, 31, 24, .16); font-size: 0.58rem; font-weight: 900; text-align: center;
}
.parcel-sketch-label span { display: block; margin-top: 2px; color: #526a5e; font-size: 0.5rem; font-weight: 800; white-space: nowrap; }
.parcel-sketch-length-label button {
  display: block; min-width: 58px; padding: 4px 7px; border: 1px solid rgba(16, 63, 45, .22); border-radius: 999px; color: #103f2d;
  background: rgba(255,255,255,.9); box-shadow: 0 6px 16px rgba(16, 31, 24, .16); font-size: 0.55rem; font-weight: 900; line-height: 1; white-space: nowrap;
  user-select: none;
}
.parcel-sketch-boundary-hint span, .parcel-sketch-live-label span {
  display: block; padding: 5px 8px; border: 1px solid rgba(16, 63, 45, .22); border-radius: 9px; color: #103f2d;
  background: rgba(255,255,255,.94); box-shadow: 0 8px 20px rgba(16, 31, 24, .18); font-size: 0.55rem; font-weight: 900;
  line-height: 1.25; text-align: center; user-select: none;
}
.parcel-sketch-live-label span { min-width: 160px; color: #123f2d; background: rgba(237,248,242,.96); }
.parcel-sketch-corner-label span {
  display: grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; color: #fff; background: #0f6b4a;
  border: 2px solid #fff; box-shadow: 0 8px 20px rgba(16, 63, 45, .28); font-size: 0.62rem; font-weight: 950;
}
.parcel-sketch-point span {
  display: grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; color: #fff; background: #103f2d; border: 2px solid #fff; box-shadow: 0 8px 20px rgba(16, 63, 45, 0.28); font-size: 0.58rem; font-weight: 900;
}
.parcel-sketch-snap-marker { pointer-events: none; }
.show-analysis-panel {
  position: absolute; right: 16px; bottom: 16px; z-index: 660; min-height: 40px; padding: 0 14px;
  border: 1px solid rgba(23, 61, 44, 0.28); border-radius: 10px; color: #fff; background: rgba(23, 61, 44, 0.94);
  box-shadow: 0 12px 30px rgba(15, 37, 27, 0.22); font-size: 0.66rem; font-weight: 900;
}
.show-analysis-panel:hover { background: #102b1f; }
.ortho-map-control {
  position: absolute; top: 16px; right: 16px; z-index: 610; width: 248px; padding: 11px;
  color: #173025; background: rgba(255, 255, 255, 0.96); border: 1px solid #c9d7cf; border-radius: 8px;
  box-shadow: 0 12px 30px rgba(20, 55, 38, 0.16); backdrop-filter: blur(8px);
}
.ortho-map-head, .ortho-control-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ortho-map-head > strong { font-size: 0.72rem; }
.ortho-switch { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.ortho-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ortho-switch span {
  position: relative; width: 32px; height: 18px; flex: 0 0 auto; border: 1px solid #aebdb5; border-radius: 9px; background: #dbe3de;
  transition: background 160ms ease, border-color 160ms ease;
}
.ortho-switch span::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 4px rgba(17, 47, 32, 0.22); transition: transform 160ms ease;
}
.ortho-switch input:checked + span { border-color: #16875a; background: #16875a; }
.ortho-switch input:checked + span::after { transform: translateX(14px); }
.ortho-switch input:focus-visible + span { outline: 3px solid rgba(22, 135, 90, 0.2); outline-offset: 2px; }
.ortho-switch b { min-width: 50px; color: #64766c; font-size: 0.54rem; text-align: right; }
.ortho-map-controls { margin-top: 10px; padding-top: 9px; display: grid; gap: 6px; border-top: 1px solid #dbe4df; }
.ortho-map-controls[aria-disabled="true"] { display: none; }
.ortho-control-label label { color: #5f7267; font-size: 0.55rem; font-weight: 700; }
.ortho-control-label strong { color: #176442; font-size: 0.58rem; }
.ortho-map-controls input[type="range"] { width: 100%; margin: 0; accent-color: #16875a; cursor: pointer; }
.layer-swatch { width: 16px; height: 3px; border-radius: 4px; background: #556; }
.layer-swatch.parcels { background: #e53535; }
.layer-swatch.parcel-numbers { position: relative; width: 18px; height: 12px; background: transparent; }
.layer-swatch.parcel-numbers::after { content: "123"; position: absolute; inset: 0; color: #173d2c; font-size: 8px; font-weight: 900; line-height: 12px; text-align: center; background: rgba(255,255,255,.86); border-radius: 3px; }
.layer-swatch.mpzp { background: #8655d8; }
.layer-swatch.terrain { height: 9px; background: linear-gradient(135deg, #f3f0df 0 32%, #8e9b7d 33% 65%, #455347 66%); }
.layer-swatch.water-risk { height: 9px; background: linear-gradient(90deg, #7dd3fc, #2584f3, #1d4ed8); }
.layer-swatch.groundwater-risk { height: 9px; background: repeating-linear-gradient(135deg, #67e8f9 0 3px, #0e7490 3px 6px); }
.layer-swatch.landslide-risk { height: 9px; background: repeating-linear-gradient(135deg, #ffb09b 0 3px, #d94d2c 3px 6px); }
.layer-swatch.mining-risk { height: 9px; background: linear-gradient(90deg, #d6b4f2, #8955b8); }
.layer-swatch.utilities { height: 9px; background: linear-gradient(90deg, #2563eb 0 17%, #7c351c 17% 34%, #b7a800 34% 51%, #ef4444 51% 68%, #f59e0b 68% 84%, #d946ef 84%); }
.layer-swatch.roads { height: 9px; background: repeating-linear-gradient(90deg, #374151 0 5px, #f8fafc 5px 8px); border: 1px solid #9ca3af; }
.layer-swatch.environment { height: 9px; background: linear-gradient(90deg, #22c55e, #a3e635, #facc15); }
.layer-swatch.forest { height: 9px; background: repeating-linear-gradient(135deg, #166534 0 4px, #4d7c0f 4px 8px); }
.layer-swatch.heritage { height: 9px; background: linear-gradient(90deg, #7c3aed, #c084fc); }
.layer-swatch.archaeology { height: 9px; background: repeating-linear-gradient(135deg, #b45309 0 4px, #f59e0b 4px 8px); }
.layer-swatch.nuisance { width: 9px; height: 9px; border-radius: 50%; background: #ef8354; box-shadow: 0 0 0 2px rgba(239, 131, 84, 0.2); }
.layer-swatch.current-ortho { height: 9px; background: linear-gradient(90deg, #5f8760, #d5c596, #7692a5); }
.layer-swatch.archive-ortho { height: 9px; background: linear-gradient(90deg, #6f6652, #c1b08b, #797164); filter: sepia(0.45); }
.layer-swatch.transactions { width: 9px; height: 9px; border-radius: 50%; background: #2584f3; }
.layer-swatch.potential { height: 9px; background: linear-gradient(90deg, var(--green), var(--yellow), var(--red)); }
.map-status {
  position: absolute; left: 50%; bottom: 20px; z-index: 600; transform: translateX(-50%); max-width: calc(100% - 40px);
  padding: 9px 14px; border-radius: 999px; color: #f4fff8; background: rgba(10, 37, 25, 0.88);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); font-size: 0.72rem; font-weight: 700; text-align: center;
}
.location-privacy-note {
  position: absolute; left: 16px; top: 16px; z-index: 605; width: min(310px, calc(100% - 32px)); display: grid; gap: 3px;
  padding: 9px 11px; border: 1px solid rgba(35, 126, 88, .22); border-radius: 10px; color: #173d2c;
  background: rgba(248, 253, 249, .95); box-shadow: 0 10px 25px rgba(15, 37, 27, .12); font-size: .59rem; line-height: 1.4;
}
.location-privacy-note[hidden], .nearby-parcels-sheet[hidden] { display: none !important; }
.location-privacy-note strong { font-size: .64rem; }
.location-privacy-note span { color: #5d7468; }
.nearby-parcels-sheet {
  position: absolute; right: 16px; bottom: 16px; z-index: 680; width: min(380px, calc(100% - 32px)); max-height: min(490px, calc(100% - 32px)); overflow: hidden;
  border: 1px solid #c8dbcf; border-radius: 14px; color: #173025; background: rgba(255, 255, 255, .97); box-shadow: 0 18px 45px rgba(16, 31, 24, .2); backdrop-filter: blur(8px);
}
.nearby-parcels-sheet header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 12px 13px 9px; border-bottom: 1px solid #e0ebe4; }
.nearby-parcels-sheet header div { min-width: 0; }
.nearby-parcels-sheet header strong, .nearby-parcels-sheet header span { display: block; }
.nearby-parcels-sheet header strong { font-size: .74rem; line-height: 1.3; }
.nearby-parcels-sheet header span { margin-top: 3px; color: #668073; font-size: .59rem; }
.nearby-parcels-sheet header button { min-height: 36px; flex: 0 0 auto; border: 1px solid #cfddd5; border-radius: 8px; padding: 0 9px; color: #315744; background: #f7fbf8; font-size: .59rem; font-weight: 900; }
.nearby-parcels-status { margin: 0; padding: 8px 13px 0; color: #5d7468; font-size: .59rem; line-height: 1.45; }
.nearby-parcels-list { max-height: 375px; overflow-y: auto; display: grid; gap: 6px; padding: 9px 10px 11px; }
.nearby-parcel-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 9px; border: 1px solid #d9e6de; border-radius: 9px; background: #fbfdfb; }
.nearby-parcel-item strong, .nearby-parcel-item span { display: block; }
.nearby-parcel-item strong { color: #173d2c; font-size: .68rem; }
.nearby-parcel-item span { margin-top: 3px; color: #647a6e; font-size: .56rem; line-height: 1.4; }
.nearby-parcel-item button { min-width: 44px; min-height: 44px; border: 1px solid #5eae83; border-radius: 8px; padding: 0 9px; color: #073b25; background: #eaf7ef; font-size: .58rem; font-weight: 900; }
.nearby-parcel-item button:hover, .nearby-parcel-item button:focus-visible { color: #fff; background: #0f6b4a; }
.nearby-parcel-label { padding: 4px 6px; border: 1px solid rgba(16, 63, 45, .24); border-radius: 7px; color: #103f2d; background: rgba(255,255,255,.92); box-shadow: 0 6px 16px rgba(16,31,24,.14); font-size: .55rem; font-weight: 900; white-space: nowrap; }
.mobile-analysis-status { display: none; }

.legend { padding: 12px 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; background: #f6faf7; border-top: 1px solid #cdd8d1; }
.legend div { min-width: 0; display: grid; grid-template-columns: 10px 1fr; column-gap: 7px; align-items: center; color: #20342a; }
.legend strong { font-size: 0.66rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.legend small { grid-column: 2; color: #76877e; font-size: 0.55rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; }
.legend-dot.high { background: var(--green); }.legend-dot.review { background: var(--yellow); }
.legend-dot.unknown { background: #9ca3af; }.legend-dot.low { background: var(--red); }

.analysis-panel { overflow-y: auto; max-height: calc(100vh - 72px); border-left: 1px solid var(--line); background: #fff; }
.analysis-panel-top {
  position: sticky; top: 0; z-index: 20; padding: 14px 28px 0; display: flex; gap: 8px; flex-wrap: wrap;
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.96) 76%, rgba(255, 255, 255, 0));
}
.choose-another-parcel,
.hide-analysis-panel {
  min-height: 44px; padding: 0 16px; border: 1px solid #b8d9c7; border-radius: 8px;
  color: #063620; background: #edf6f0; font-size: 0.94rem; font-weight: 900; cursor: pointer;
}
.choose-another-parcel:hover,
.hide-analysis-panel:hover { color: #fff; background: #085838; }
.hide-analysis-panel { color: #063620; border-color: #cbdcd3; background: #fff; }
.empty-state, .loading-state, .result-state { padding: 32px 28px 40px; }
.analysis-panel-top:not([hidden]) + .loading-state,
.analysis-panel-top:not([hidden]) + .empty-state,
.analysis-panel-top:not([hidden]) + .empty-state + .loading-state,
.analysis-panel-top:not([hidden]) + .empty-state + .loading-state + .result-state { padding-top: 22px; }
.empty-state { min-height: 100%; display: flex; flex-direction: column; justify-content: center; }
.empty-icon {
  width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 24px; border: 1px solid rgba(79, 211, 154, 0.35);
  border-radius: 18px; color: var(--lime); background: rgba(79, 211, 154, 0.08); font-size: 2rem; font-weight: 300;
}
.eyebrow { margin: 0 0 8px; color: var(--lime); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.65rem; font-weight: 800; }
.empty-state h2, .result-head h2 { margin: 0; font-size: clamp(1.6rem, 2.5vw, 2.2rem); line-height: 1.08; letter-spacing: 0; }
.empty-state > p:not(.eyebrow) { margin: 14px 0 0; color: var(--muted); font-size: 0.85rem; line-height: 1.7; }
.empty-state ol { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.empty-state li { display: flex; align-items: center; gap: 12px; color: #d9e5dd; font-size: 0.78rem; font-weight: 700; }
.empty-state li span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--panel-soft); color: var(--lime); font-size: 0.67rem; }
.notice { margin-top: 28px; padding: 13px; border-left: 2px solid var(--yellow); background: rgba(243, 204, 100, 0.07); color: var(--muted); font-size: 0.67rem; line-height: 1.6; }
.notice strong { color: var(--yellow); }

.loading-state { min-height: 100%; display: grid; place-content: center; text-align: center; }
.loader { width: 42px; height: 42px; margin: 0 auto 18px; border: 3px solid rgba(79, 211, 154, 0.15); border-top-color: var(--lime); border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.loading-state h2 { margin: 0; font-size: 1rem; }.loading-state p { max-width: 28ch; color: var(--muted); font-size: 0.75rem; line-height: 1.6; }

.result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.result-head h2 { font-size: 1.7rem; }
#parcelLocation { margin: 7px 0 0; color: var(--muted); font-size: 0.72rem; line-height: 1.5; }
.parcel-location-focus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 18px;
}
.parcel-location-focus article {
  min-width: 0;
  padding: 14px 13px 13px;
  border: 1px solid rgba(79, 211, 154, 0.28);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(79, 211, 154, 0.12), rgba(79, 211, 154, 0.045));
}
.parcel-location-focus span {
  display: block;
  color: #4f6258;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.parcel-location-focus strong {
  display: block;
  margin-top: 8px;
  color: #063620;
  font-size: clamp(1.06rem, 1.2vw, 1.18rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.potential-badge { flex: 0 0 auto; max-width: 125px; padding: 7px 9px; border-radius: 8px; font-size: 0.58rem; font-weight: 800; text-align: center; line-height: 1.35; }
.potential-badge.high { color: #9ef1bd; background: rgba(66, 211, 139, 0.12); border: 1px solid rgba(66, 211, 139, 0.3); }
.potential-badge.review { color: #ffe092; background: rgba(243, 204, 100, 0.1); border: 1px solid rgba(243, 204, 100, 0.28); }
.potential-badge.low { color: #ffaaa5; background: rgba(241, 120, 115, 0.1); border: 1px solid rgba(241, 120, 115, 0.28); }
.potential-badge.unknown { color: #d0d5d2; background: rgba(156, 163, 175, 0.1); border: 1px solid rgba(156, 163, 175, 0.24); }
.metric-grid { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.metric-grid article { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.metric-grid span { display: block; color: var(--muted); font-size: 0.56rem; }.metric-grid strong { display: block; margin-top: 5px; overflow-wrap: anywhere; font-size: 0.77rem; }
.buildability-card {
  margin-top: 18px; padding: 15px; display: grid; grid-template-columns: 1fr auto; gap: 8px 12px;
  border: 1px solid rgba(156, 163, 175, 0.25); border-radius: 12px; background: rgba(156, 163, 175, 0.07);
}
.buildability-card.yes { border-color: rgba(66, 211, 139, 0.4); background: rgba(66, 211, 139, 0.09); }
.buildability-card.no { border-color: rgba(241, 120, 115, 0.4); background: rgba(241, 120, 115, 0.08); }
.buildability-card.review { border-color: rgba(243, 204, 100, 0.4); background: rgba(243, 204, 100, 0.08); }
.buildability-kicker { display: block; margin-bottom: 5px; color: var(--muted); font-size: 0.56rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.buildability-card strong { display: block; font-size: 0.85rem; line-height: 1.35; }
.buildability-card p { grid-column: 1 / -1; margin: 2px 0 0; color: #c3d1c9; font-size: 0.65rem; line-height: 1.55; }
.buildability-card small { grid-column: 1 / -1; color: #74867c; font-size: 0.53rem; line-height: 1.5; }
.buildability-badge { align-self: start; padding: 6px 8px; border-radius: 7px; color: #d0d5d2; background: rgba(156, 163, 175, 0.12); font-size: 0.55rem; font-weight: 800; text-align: center; }
.buildability-card.yes .buildability-badge { color: #9ef1bd; background: rgba(66, 211, 139, 0.16); }
.buildability-card.no .buildability-badge { color: #ffaaa5; background: rgba(241, 120, 115, 0.14); }
.buildability-card.review .buildability-badge { color: #ffe092; background: rgba(243, 204, 100, 0.14); }
.gunb-card {
  margin: 14px 0 18px; padding: 14px 16px; border: 1px solid rgba(79, 211, 154, 0.22);
  border-radius: 12px; background: rgba(255, 255, 255, 0.04);
}
.gunb-card.found { border-color: rgba(79, 211, 154, 0.4); background: rgba(79, 211, 154, 0.07); }
.gunb-card.no_results { border-color: rgba(243, 204, 100, 0.35); background: rgba(243, 204, 100, 0.06); }
.gunb-card.source_unavailable, .gunb-card.failed { border-color: rgba(241, 120, 115, 0.34); background: rgba(241, 120, 115, 0.06); }
.gunb-card.not_run { border-color: rgba(79, 211, 154, 0.28); background: rgba(79, 211, 154, 0.055); }
.gunb-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.gunb-card-head span { display: block; color: var(--lime); font-size: 0.58rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.gunb-card-head strong { display: block; margin-top: 5px; color: #f3fbf6; font-size: 0.9rem; line-height: 1.35; }
.gunb-card-head b {
  flex: 0 0 auto; padding: 6px 8px; border-radius: 7px; color: #0b1712; background: var(--lime);
  font-size: 0.56rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase;
}
.gunb-card > p { margin: 10px 0 0; color: var(--muted); font-size: 0.66rem; line-height: 1.55; }
.gunb-metrics { margin-top: 13px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.gunb-metrics[hidden], .gunb-recent-list[hidden] { display: none; }
.gunb-metrics article { min-width: 0; padding: 10px; border: 1px solid rgba(255,255,255,.06); border-radius: 9px; background: rgba(255,255,255,.045); }
.gunb-metrics span { display: block; color: #82958a; font-size: 0.52rem; line-height: 1.35; }
.gunb-metrics strong { display: block; margin-top: 5px; overflow-wrap: anywhere; color: #edf5f0; font-size: 0.78rem; font-weight: 900; line-height: 1.35; }
.gunb-recent-list { margin-top: 12px; display: grid; gap: 7px; }
.gunb-recent-list article { padding: 10px 11px; border-left: 2px solid rgba(79, 211, 154, 0.58); border-radius: 0 8px 8px 0; background: rgba(255,255,255,.04); }
.gunb-recent-list strong, .gunb-recent-list span { display: block; }
.gunb-recent-list strong { color: #eaf6ef; font-size: 0.66rem; line-height: 1.4; }
.gunb-recent-list span { margin-top: 4px; color: #90a399; font-size: 0.56rem; line-height: 1.45; }
.result-section { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.section-title { display: flex; align-items: center; gap: 9px; }.section-title span { color: var(--lime); font-size: 0.56rem; font-weight: 800; }
.section-title h2 { margin: 0; font-size: 0.83rem; letter-spacing: -0.01em; }
.result-section > p { margin: 10px 0 0; color: var(--muted); font-size: 0.68rem; line-height: 1.65; }
.result-section .section-note { margin-top: 10px; color: #74867c; font-size: 0.57rem; line-height: 1.55; }
.water-risk-head {
  margin-top: 11px; padding: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
  border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035);
}
.water-risk-head div { min-width: 0; }
.water-risk-head strong, .water-risk-head span { display: block; }
.water-risk-head strong { font-size: 0.76rem; line-height: 1.4; }
.water-risk-head span { margin-top: 5px; color: var(--muted); font-size: 0.59rem; line-height: 1.55; }
.water-risk-head b { flex: 0 0 auto; padding: 5px 7px; border-radius: 7px; color: #d0d5d2; background: rgba(156, 163, 175, 0.12); font-size: 0.52rem; }
.water-risk-head.low { border-color: rgba(66, 211, 139, 0.35); background: rgba(66, 211, 139, 0.07); }
.water-risk-head.low b { color: #9ef1bd; background: rgba(66, 211, 139, 0.15); }
.water-risk-head.moderate { border-color: rgba(243, 204, 100, 0.38); background: rgba(243, 204, 100, 0.07); }
.water-risk-head.moderate b { color: #ffe092; background: rgba(243, 204, 100, 0.14); }
.water-risk-head.elevated, .water-risk-head.high { border-color: rgba(241, 120, 115, 0.42); background: rgba(241, 120, 115, 0.08); }
.water-risk-head.elevated b, .water-risk-head.high b { color: #ffaaa5; background: rgba(241, 120, 115, 0.15); }
.water-risk-metrics { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.water-risk-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.water-risk-metrics span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.water-risk-metrics strong { display: block; margin-top: 4px; color: #9fd7ff; font-size: 0.72rem; overflow-wrap: anywhere; }
.water-risk-scenarios { margin-top: 11px; display: grid; gap: 7px; }
.water-risk-scenarios article { display: grid; grid-template-columns: minmax(0, 1fr) 82px 42px; align-items: center; gap: 7px; }
.water-risk-scenarios span, .water-risk-scenarios strong { font-size: 0.51rem; }
.water-risk-scenarios span { color: var(--muted); }
.water-risk-scenarios strong { color: #dce9e1; text-align: right; }
.water-risk-bar { height: 6px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, 0.06); }
.water-risk-bar i { display: block; height: 100%; border-radius: inherit; background: #2584f3; }
.geology-risk-head { margin-top: 11px; padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.geology-risk-head div { min-width: 0; }
.geology-risk-head strong, .geology-risk-head span { display: block; }
.geology-risk-head strong { color: #edf7f1; font-size: 0.76rem; line-height: 1.4; }
.geology-risk-head span { margin-top: 5px; color: var(--muted); font-size: 0.58rem; line-height: 1.5; }
.geology-risk-head b { align-self: start; padding: 5px 7px; border-radius: 7px; color: var(--muted); background: rgba(255, 255, 255, 0.06); font-size: 0.5rem; }
.geology-risk-head.low { border-color: rgba(66, 211, 139, 0.32); background: rgba(66, 211, 139, 0.07); }
.geology-risk-head.low b { color: #9ef1bd; background: rgba(66, 211, 139, 0.14); }
.geology-risk-head.moderate { border-color: rgba(243, 204, 100, 0.32); background: rgba(243, 204, 100, 0.07); }
.geology-risk-head.moderate b { color: var(--yellow); background: rgba(243, 204, 100, 0.14); }
.geology-risk-head.elevated, .geology-risk-head.high { border-color: rgba(241, 120, 115, 0.36); background: rgba(241, 120, 115, 0.08); }
.geology-risk-head.elevated b, .geology-risk-head.high b { color: #ffaaa5; background: rgba(241, 120, 115, 0.14); }
.geology-risk-metrics { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.geology-risk-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.geology-risk-metrics span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.geology-risk-metrics strong { display: block; margin-top: 4px; color: #d6b4f2; font-size: 0.72rem; overflow-wrap: anywhere; }
.geology-risk-details { margin-top: 11px; display: grid; gap: 7px; }
.geology-risk-details article { padding: 9px 10px; border-left: 2px solid #a879d8; border-radius: 0 8px 8px 0; background: rgba(168, 121, 216, 0.07); }
.geology-risk-details strong, .geology-risk-details span { display: block; }
.geology-risk-details strong { color: #e9d9f7; font-size: 0.64rem; }
.geology-risk-details span { margin-top: 3px; color: var(--muted); font-size: 0.54rem; line-height: 1.45; }
.utilities-head { margin-top: 11px; padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.utilities-head div { min-width: 0; }
.utilities-head strong, .utilities-head span { display: block; }
.utilities-head strong { color: #edf7f1; font-size: 0.76rem; line-height: 1.4; }
.utilities-head span { margin-top: 5px; color: var(--muted); font-size: 0.58rem; line-height: 1.5; }
.utilities-head b { align-self: start; padding: 5px 7px; border-radius: 7px; color: var(--muted); background: rgba(255, 255, 255, 0.06); font-size: 0.5rem; }
.utilities-head.full { border-color: rgba(66, 211, 139, 0.32); background: rgba(66, 211, 139, 0.07); }
.utilities-head.full b { color: #9ef1bd; background: rgba(66, 211, 139, 0.14); }
.utilities-head.partial { border-color: rgba(243, 204, 100, 0.32); background: rgba(243, 204, 100, 0.07); }
.utilities-head.partial b { color: var(--yellow); background: rgba(243, 204, 100, 0.14); }
.utilities-head.limited { border-color: rgba(241, 156, 89, 0.36); background: rgba(241, 156, 89, 0.08); }
.utilities-head.limited b { color: #ffc48f; background: rgba(241, 156, 89, 0.14); }
.utilities-summary-metrics { margin-top: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.utilities-summary-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.utilities-summary-metrics span { display: block; min-height: 2.8em; color: var(--muted); font-size: 0.51rem; line-height: 1.4; }
.utilities-summary-metrics strong { display: block; margin-top: 4px; color: #a7d9ff; font-size: 0.78rem; overflow-wrap: anywhere; }
.utilities-networks { margin-top: 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.utilities-networks article { min-width: 0; padding: 9px 10px; border-left: 2px solid #82918a; border-radius: 0 8px 8px 0; background: rgba(255, 255, 255, 0.035); }
.utilities-networks strong, .utilities-networks span { display: block; }
.utilities-networks strong { color: #e6f0ea; font-size: 0.59rem; line-height: 1.4; }
.utilities-networks span { margin-top: 4px; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.utilities-networks .water { border-left-color: #3b82f6; }
.utilities-networks .sewer { border-left-color: #9a5b3c; }
.utilities-networks .gas { border-left-color: #d4bf29; }
.utilities-networks .electricity { border-left-color: #ef4444; }
.utilities-networks .telecom { border-left-color: #f59e0b; }
.utilities-networks .heating { border-left-color: #d946ef; }
.utilities-networks article.is-visible, .utilities-networks article.is-intersecting { background: rgba(66, 211, 139, 0.055); }
.utilities-networks article.is-intersecting span { color: #9ef1bd; font-weight: 800; }
.utilities-networks article.is-missing, .utilities-networks article.is-unavailable { opacity: 0.55; }
.road-access-head { margin-top: 11px; padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.road-access-head div { min-width: 0; }
.road-access-head strong, .road-access-head span { display: block; }
.road-access-head strong { color: #edf7f1; font-size: 0.76rem; line-height: 1.4; }
.road-access-head span { margin-top: 5px; color: var(--muted); font-size: 0.58rem; line-height: 1.5; }
.road-access-head b { align-self: start; padding: 5px 7px; border-radius: 7px; color: var(--muted); background: rgba(255, 255, 255, 0.06); font-size: 0.5rem; }
.road-access-head.direct { border-color: rgba(66, 211, 139, 0.32); background: rgba(66, 211, 139, 0.07); }
.road-access-head.direct b { color: #9ef1bd; background: rgba(66, 211, 139, 0.14); }
.road-access-head.very-near { border-color: rgba(75, 153, 224, 0.34); background: rgba(75, 153, 224, 0.08); }
.road-access-head.very-near b { color: #a8d3ff; background: rgba(75, 153, 224, 0.14); }
.road-access-head.nearby { border-color: rgba(243, 204, 100, 0.32); background: rgba(243, 204, 100, 0.07); }
.road-access-head.nearby b { color: var(--yellow); background: rgba(243, 204, 100, 0.14); }
.road-access-head.review, .road-access-head.remote { border-color: rgba(241, 120, 115, 0.36); background: rgba(241, 120, 115, 0.08); }
.road-access-head.review b, .road-access-head.remote b { color: #ffaaa5; background: rgba(241, 120, 115, 0.14); }
.road-access-metrics { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.road-access-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.road-access-metrics span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.road-access-metrics strong { display: block; margin-top: 4px; color: #d7e3db; font-size: 0.69rem; overflow-wrap: anywhere; }
.nearby-roads { margin-top: 11px; display: grid; gap: 7px; }
.nearby-roads article { padding: 9px 10px; border-left: 2px solid #7f8c85; border-radius: 0 8px 8px 0; background: rgba(255, 255, 255, 0.035); }
.nearby-roads article.is-direct { border-left-color: var(--green); background: rgba(66, 211, 139, 0.055); }
.nearby-roads strong, .nearby-roads span { display: block; }
.nearby-roads strong { color: #e6f0ea; font-size: 0.62rem; line-height: 1.4; }
.nearby-roads span { margin-top: 3px; color: var(--muted); font-size: 0.53rem; line-height: 1.45; }
.environment-head { margin-top: 11px; padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.environment-head div { min-width: 0; }
.environment-head strong, .environment-head span { display: block; }
.environment-head strong { color: #edf7f1; font-size: 0.76rem; line-height: 1.4; }
.environment-head span { margin-top: 5px; color: var(--muted); font-size: 0.58rem; line-height: 1.5; }
.environment-head b { align-self: start; padding: 5px 7px; border-radius: 7px; color: var(--muted); background: rgba(255, 255, 255, 0.06); font-size: 0.5rem; }
.environment-head.low { border-color: rgba(66, 211, 139, 0.32); background: rgba(66, 211, 139, 0.07); }
.environment-head.low b { color: #9ef1bd; background: rgba(66, 211, 139, 0.14); }
.environment-head.moderate { border-color: rgba(243, 204, 100, 0.32); background: rgba(243, 204, 100, 0.07); }
.environment-head.moderate b { color: var(--yellow); background: rgba(243, 204, 100, 0.14); }
.environment-head.elevated, .environment-head.high { border-color: rgba(241, 120, 115, 0.36); background: rgba(241, 120, 115, 0.08); }
.environment-head.elevated b, .environment-head.high b { color: #ffaaa5; background: rgba(241, 120, 115, 0.14); }
.environment-metrics { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.environment-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.environment-metrics span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.environment-metrics strong { display: block; margin-top: 4px; color: #b7e7a8; font-size: 0.69rem; overflow-wrap: anywhere; }
.protected-forms { margin-top: 11px; display: grid; gap: 7px; }
.protected-forms article { min-width: 0; padding: 9px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; border-left: 2px solid #65a84e; border-radius: 0 8px 8px 0; background: rgba(66, 211, 139, 0.045); }
.protected-forms article.is-intersecting { border-left-color: var(--red); background: rgba(241, 120, 115, 0.07); }
.protected-forms strong { min-width: 0; color: #e6f0ea; font-size: 0.6rem; line-height: 1.4; }
.protected-forms span { grid-column: 1 / -1; color: var(--muted); font-size: 0.52rem; line-height: 1.4; }
.protected-forms em { grid-column: 2; grid-row: 1; color: #9ef1bd; font-size: 0.53rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.protected-forms article.is-intersecting em { color: #ffaaa5; }
.result-section .environment-forest-note { margin-top: 10px; padding: 8px 9px; border-left: 2px solid #65a84e; border-radius: 0 7px 7px 0; color: #9db5a7; background: rgba(66, 211, 139, 0.05); font-size: 0.56rem; line-height: 1.5; }
.heritage-head { margin-top: 11px; padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.heritage-head div { min-width: 0; }
.heritage-head strong, .heritage-head span { display: block; }
.heritage-head strong { color: #edf7f1; font-size: 0.76rem; line-height: 1.4; }
.heritage-head span { margin-top: 5px; color: var(--muted); font-size: 0.58rem; line-height: 1.5; }
.heritage-head b { align-self: start; padding: 5px 7px; border-radius: 7px; color: var(--muted); background: rgba(255, 255, 255, 0.06); font-size: 0.5rem; }
.heritage-head.low { border-color: rgba(66, 211, 139, 0.32); background: rgba(66, 211, 139, 0.07); }
.heritage-head.low b { color: #9ef1bd; background: rgba(66, 211, 139, 0.14); }
.heritage-head.moderate { border-color: rgba(243, 204, 100, 0.32); background: rgba(243, 204, 100, 0.07); }
.heritage-head.moderate b { color: var(--yellow); background: rgba(243, 204, 100, 0.14); }
.heritage-head.high { border-color: rgba(241, 120, 115, 0.36); background: rgba(241, 120, 115, 0.08); }
.heritage-head.high b { color: #ffaaa5; background: rgba(241, 120, 115, 0.14); }
.heritage-metrics { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.heritage-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.heritage-metrics span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.heritage-metrics strong { display: block; margin-top: 4px; color: #d7b8f5; font-size: 0.68rem; overflow-wrap: anywhere; }
.heritage-layers { margin-top: 11px; display: grid; gap: 7px; }
.heritage-layers article { min-width: 0; padding: 9px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; border-left: 2px solid #8b5ab4; border-radius: 0 8px 8px 0; background: rgba(139, 90, 180, 0.06); }
.heritage-layers article.is-intersecting { border-left-color: var(--red); background: rgba(241, 120, 115, 0.07); }
.heritage-layers article.is-missing, .heritage-layers article.is-unavailable { opacity: 0.55; }
.heritage-layers strong { color: #eee4f7; font-size: 0.6rem; line-height: 1.4; }
.heritage-layers span { grid-column: 1 / -1; color: var(--muted); font-size: 0.52rem; line-height: 1.4; }
.heritage-layers em { grid-column: 2; grid-row: 1; color: #d7b8f5; font-size: 0.53rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.heritage-layers article.is-intersecting em { color: #ffaaa5; }
.nuisance-head { margin-top: 11px; padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.nuisance-head div { min-width: 0; }
.nuisance-head strong, .nuisance-head span { display: block; }
.nuisance-head strong { color: #edf7f1; font-size: 0.76rem; line-height: 1.4; }
.nuisance-head span { margin-top: 5px; color: var(--muted); font-size: 0.58rem; line-height: 1.5; }
.nuisance-head b { align-self: start; padding: 5px 7px; border-radius: 7px; color: var(--muted); background: rgba(255, 255, 255, 0.06); font-size: 0.5rem; }
.nuisance-head.low { border-color: rgba(66, 211, 139, 0.32); background: rgba(66, 211, 139, 0.07); }
.nuisance-head.low b { color: #9ef1bd; background: rgba(66, 211, 139, 0.14); }
.nuisance-head.moderate { border-color: rgba(243, 204, 100, 0.32); background: rgba(243, 204, 100, 0.07); }
.nuisance-head.moderate b { color: var(--yellow); background: rgba(243, 204, 100, 0.14); }
.nuisance-head.high { border-color: rgba(241, 120, 115, 0.36); background: rgba(241, 120, 115, 0.08); }
.nuisance-head.high b { color: #ffaaa5; background: rgba(241, 120, 115, 0.14); }
.nuisance-metrics { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.nuisance-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.nuisance-metrics span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.nuisance-metrics strong { display: block; margin-top: 4px; color: #f2b19a; font-size: 0.68rem; overflow-wrap: anywhere; }
.nuisance-items { margin-top: 11px; display: grid; gap: 7px; }
.nuisance-items article { min-width: 0; padding: 9px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; border-left: 2px solid #ef8354; border-radius: 0 8px 8px 0; background: rgba(239, 131, 84, 0.06); }
.nuisance-items article.is-close { border-left-color: var(--red); background: rgba(241, 120, 115, 0.08); }
.nuisance-items.business-items article { border-left-color: #44d1a6; background: rgba(68, 209, 166, 0.06); }
.nuisance-items.business-items article.is-close { border-left-color: var(--yellow); background: rgba(243, 204, 100, 0.08); }
.nuisance-items strong { color: #f7e9e3; font-size: 0.6rem; line-height: 1.4; }
.nuisance-items span { grid-column: 1 / -1; color: var(--muted); font-size: 0.52rem; line-height: 1.4; }
.nuisance-items em { grid-column: 2; grid-row: 1; color: #f2b19a; font-size: 0.53rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.nuisance-items article.is-close em { color: #ffaaa5; }
.result-section .nuisance-map-note { margin-top: 10px; padding: 8px 9px; border-left: 2px solid #ef8354; border-radius: 0 7px 7px 0; color: #c3aaa1; background: rgba(239, 131, 84, 0.05); font-size: 0.56rem; line-height: 1.5; }
.imagery-history-head { margin-top: 11px; padding: 12px; border: 1px solid rgba(86, 164, 205, 0.3); border-radius: 10px; background: rgba(86, 164, 205, 0.07); }
.imagery-history-head strong, .imagery-history-head span { display: block; }
.imagery-history-head strong { color: #dceef8; font-size: 0.75rem; line-height: 1.4; }
.imagery-history-head span { margin-top: 5px; color: var(--muted); font-size: 0.58rem; line-height: 1.5; }
.imagery-year-display { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.imagery-year-display span { color: var(--muted); font-size: 0.58rem; }
.imagery-year-display strong { color: #8dd5fa; font-size: 1rem; }
.imagery-range { width: 100%; margin-top: 9px; accent-color: #56a4cd; }
.imagery-year-buttons { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 5px; }
.imagery-year-buttons button { padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: rgba(255, 255, 255, 0.035); font: inherit; font-size: 0.52rem; font-weight: 800; cursor: pointer; }
.imagery-year-buttons button.is-active { border-color: rgba(86, 164, 205, 0.6); color: #bce8ff; background: rgba(86, 164, 205, 0.16); }
.imagery-compare-control { margin-top: 12px; padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) 100px 34px; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.imagery-compare-control label { color: var(--muted); font-size: 0.54rem; line-height: 1.4; }
.imagery-compare-control input { width: 100%; accent-color: #56a4cd; }
.imagery-compare-control strong { color: #8dd5fa; font-size: 0.58rem; text-align: right; }
.imagery-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.imagery-actions .section-action.secondary { border-color: rgba(241, 120, 115, 0.34); color: #ffaaa5; background: rgba(241, 120, 115, 0.08); }
.imagery-actions .section-action.secondary:hover { color: #241515; background: #ffaaa5; }
.imagery-actions .section-action[hidden] { display: none; }
.terrain-head { margin-top: 11px; padding: 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid rgba(79, 211, 154, 0.25); border-radius: 9px; background: rgba(79, 211, 154, 0.06); }
.terrain-head strong { font-size: 0.75rem; }
.terrain-head span { flex: 0 0 auto; padding: 4px 6px; border-radius: 6px; color: var(--lime); background: rgba(79, 211, 154, 0.11); font-size: 0.49rem; font-weight: 800; }
.terrain-head.is-unavailable { border-color: var(--line); background: rgba(255, 255, 255, 0.025); }
.terrain-head.is-unavailable span { color: var(--muted); background: rgba(255, 255, 255, 0.06); }
.terrain-metrics { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.terrain-metrics article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.terrain-metrics span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.terrain-metrics strong { display: block; margin-top: 4px; color: var(--lime); font-size: 0.72rem; overflow-wrap: anywhere; }
.terrain-distribution { margin-top: 11px; display: grid; gap: 7px; }
.terrain-distribution article { display: grid; grid-template-columns: 92px minmax(0, 1fr) 38px; align-items: center; gap: 7px; }
.terrain-distribution span, .terrain-distribution strong { font-size: 0.51rem; }
.terrain-distribution span { color: var(--muted); }
.terrain-distribution strong { color: #dce9e1; text-align: right; }
.terrain-bar { height: 6px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, 0.06); }
.terrain-bar i { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.terrain-distribution article:nth-child(2) .terrain-bar i { background: #9fdb67; }
.terrain-distribution article:nth-child(3) .terrain-bar i { background: var(--yellow); }
.terrain-distribution article:nth-child(4) .terrain-bar i { background: #ed9c59; }
.terrain-distribution article:nth-child(5) .terrain-bar i { background: var(--red); }
.building-neighborhood { margin-top: 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.building-neighborhood article { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.building-neighborhood span { display: block; color: var(--muted); font-size: 0.53rem; line-height: 1.4; }
.building-neighborhood strong { display: block; margin-top: 4px; color: var(--lime); font-size: 0.72rem; overflow-wrap: anywhere; }
.section-action {
  width: 100%; margin-top: 10px; padding: 9px 11px; border: 1px solid rgba(79, 211, 154, 0.32); border-radius: 9px;
  color: var(--lime); background: rgba(79, 211, 154, 0.07); font-size: 0.62rem; font-weight: 800;
}
.planning-download-link { display: block; text-align: center; text-decoration: none; }
.planning-download-link[hidden] { display: none; }
.section-action:hover { color: #132017; background: var(--lime); }
.planning-details { margin-top: 11px; display: grid; gap: 7px; }
.planning-details article { padding: 10px; border-radius: 9px; background: rgba(255, 255, 255, 0.035); }
.planning-details strong { color: var(--lime); font-size: 0.72rem; }.planning-details p { margin: 4px 0 0; color: var(--muted); font-size: 0.63rem; line-height: 1.5; }
.mpzp-document-preview { margin-top: 8px; padding: 10px; border: 1px solid rgba(102, 211, 161, .28); border-radius: 9px; background: rgba(66, 211, 139, .06); }
.mpzp-document-preview > strong { display: block; color: #b8f0d0; font-size: .68rem; }
.mpzp-document-value { margin-top: 7px; padding: 7px 8px; border-radius: 7px; background: rgba(255,255,255,.04); }
.mpzp-document-value strong { color: #d8f5e4; font-size: .62rem; }
.mpzp-document-value p { margin: 3px 0 0; color: #effaf3; font-size: .62rem; }
.mpzp-document-value small, .mpzp-document-message { display: block; margin: 5px 0 0; color: var(--muted); font-size: .55rem; line-height: 1.45; }
.parcel-estimate { margin-top: 11px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.parcel-estimate.has-value { border-color: rgba(79, 211, 154, 0.32); background: rgba(79, 211, 154, 0.07); }
.parcel-estimate span { display: block; color: var(--muted); font-size: 0.56rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.parcel-estimate strong { display: block; margin-top: 5px; color: var(--lime); font-size: 1.05rem; }
.parcel-estimate p { margin: 6px 0 0; color: var(--muted); font-size: 0.59rem; line-height: 1.55; }
.price-radii { margin-top: 11px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.price-radii article { padding: 10px 7px; text-align: center; border: 1px solid var(--line); border-radius: 9px; }
.price-radii span, .price-radii small { display: block; color: var(--muted); font-size: 0.54rem; }.price-radii strong { display: block; margin: 5px 0 3px; color: var(--lime); font-size: 0.72rem; }
.price-radii article.is-reference { border-color: rgba(243, 204, 100, 0.25); }
.price-radii article.is-reference strong { color: var(--yellow); }
.transaction-table-wrap { margin-top: 11px; overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.025); }
.transaction-table { width: 100%; min-width: 590px; border-collapse: collapse; font-size: 0.58rem; }
.transaction-table th { padding: 9px 8px; color: var(--muted); background: rgba(255, 255, 255, 0.035); font-size: 0.51rem; font-weight: 800; text-align: left; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }
.transaction-table td { padding: 9px 8px; border-top: 1px solid var(--line); color: #d8e6de; vertical-align: middle; white-space: nowrap; }
.transaction-table td:first-child { white-space: normal; min-width: 116px; }
.transaction-table td strong, .transaction-table td span, .transaction-table td em { display: block; }
.transaction-table td strong { color: #edf7f1; font-size: 0.61rem; }
.transaction-table td span, .transaction-table td em { margin-top: 2px; color: var(--muted); font-size: 0.51rem; font-style: normal; }
.transaction-table td b { color: var(--lime); }
.transaction-purpose { display: inline-block !important; padding: 4px 6px; border-radius: 6px; color: #d0d5d2 !important; background: rgba(156, 163, 175, 0.12); font-size: 0.48rem !important; font-weight: 800; line-height: 1.25; white-space: nowrap; }
.transaction-purpose.yes { color: #9ef1bd !important; background: rgba(66, 211, 139, 0.15); }
.transaction-purpose.no { color: #ffaaa5 !important; background: rgba(241, 120, 115, 0.14); }
.transaction-table button { border: 1px solid rgba(79, 211, 154, 0.32); border-radius: 7px; padding: 6px 8px; color: var(--lime); background: rgba(79, 211, 154, 0.07); font-size: 0.53rem; font-weight: 800; }
.transaction-table button:hover { color: #132017; background: var(--lime); }
.transaction-table tr.is-old { opacity: 0.62; }
.transaction-table tr.is-old td:first-child strong::after { content: " > 5 lat"; margin-left: 4px; color: var(--yellow); font-size: 0.45rem; font-weight: 800; }
.transaction-table tr.is-empty td { padding: 14px; color: var(--muted); text-align: center; }
.nearby-places { margin-top: 11px; display: grid; gap: 7px; }
.nearby-places article {
  min-width: 0; padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px;
  border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, 0.035);
}
.nearby-places span { grid-column: 1 / -1; color: var(--muted); font-size: 0.54rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.nearby-places strong { min-width: 0; overflow: hidden; color: #e8f3ec; font-size: 0.67rem; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.nearby-places em { align-self: center; color: var(--lime); font-size: 0.65rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.nearby-places article.is-missing { opacity: 0.55; }
.nearby-places article.is-missing em { color: var(--muted); }
.nearby-status { margin: 0; padding: 10px; color: var(--muted); background: rgba(255, 255, 255, 0.035); border-radius: 9px; font-size: 0.63rem; line-height: 1.5; }
.check-list { margin: 11px 0 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.check-list li { color: var(--muted); font-size: 0.65rem; line-height: 1.45; }.check-list li::before { content: "✓"; margin-right: 7px; color: var(--lime); font-weight: 800; }
.report-actions-inline { margin: 14px 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
#pdf-report { scroll-margin-top: 88px; }
.report-button { width: 100%; min-height: 46px; padding: 12px; border: 0; border-radius: 10px; color: #fff; background: #085838; font-size: 1rem; font-weight: 800; opacity: 0.62; cursor: not-allowed; text-align: center; text-decoration: none; }
.report-button.secondary { color: #063620; background: #edf6f0; border: 1px solid #b8d9c7; }
.report-button.is-ready { opacity: 1; cursor: pointer; }
.report-button.is-ready:hover { filter: brightness(1.06); }
.report-button.is-disabled { opacity: .68; cursor: not-allowed; pointer-events: none; }
.report-button span { font-size: 0.88rem; }
.report-offer-card { padding: 15px; border: 1px solid rgba(35, 126, 88, .2); border-radius: 12px; background: #f8fbf9; box-shadow: 0 10px 24px rgba(10, 54, 34, .08); }
.report-offer-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.report-offer-head h3 { margin: 2px 0 5px; color: #10281d; font-size: 1.05rem; line-height: 1.25; }
.report-offer-head p { margin: 0; color: #52675d; font-size: .8rem; line-height: 1.45; }
.report-offer-head strong { flex: 0 0 auto; color: #075836; font-size: 1.7rem; line-height: 1; white-space: nowrap; }
.report-offer-kicker { color: #075836 !important; font-size: .68rem !important; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.report-offer-modules { margin: 13px 0 0; color: #33473d; font-size: .86rem; line-height: 1.55; }
.report-offer-status { margin: 12px 0 0; padding: 10px 11px; border: 1px solid #e5c48a; border-radius: 8px; color: #604513; background: #fff8e8; font-size: .82rem; font-weight: 800; line-height: 1.45; }
.report-offer-actions, .report-secondary-actions { margin-top: 12px; display: grid; grid-template-columns: 1fr; gap: 8px; }
.report-paid-button { display: inline-flex; align-items: center; justify-content: center; background: #085838; }
.report-legal-note { margin: 0; color: #4f6258; font-size: .88rem; line-height: 1.5; }
.report-legal-note a { color: #087344; font-weight: 800; }
.fast-preview-notice[hidden], .fast-preview-summaries[hidden], .fast-preview-modules[hidden] { display: none; }
.fast-preview-notice { margin: 4px 0 16px; padding: 14px 16px; border: 1px solid #b8d9c7; border-radius: 10px; background: #edf6f0; }
.fast-preview-notice strong { display: block; color: #063620; font-size: 1rem; }
.fast-preview-notice p { margin: 5px 0 0; color: #344a3f; font-size: 0.95rem; line-height: 1.6; }
.fast-preview-summaries { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.preview-summary-grid { margin-top: 14px; display: grid; grid-template-columns: 1fr; gap: 12px; }
.preview-summary-card { min-width: 0; padding: 16px; border: 1px solid #d8e5dd; border-radius: 12px; background: #f7faf8; }
.preview-summary-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.preview-summary-card header strong { color: #063620; font-size: 1.06rem; line-height: 1.35; }
.preview-summary-card header span { flex: 0 0 auto; padding: 5px 8px; border-radius: 6px; color: #344a3f; background: #e8efeb; font-size: 0.88rem; font-weight: 900; text-transform: uppercase; }
.preview-summary-card > p { margin: 9px 0 13px; color: #344a3f; font-size: 0.95rem; line-height: 1.6; }
.preview-summary-card dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; }
.preview-summary-card dl div { min-width: 0; padding: 11px 10px; border: 1px solid #d8e5dd; border-radius: 9px; background: #fff; }
.preview-summary-card dt { color: #4f6258; font-size: 0.88rem; line-height: 1.35; }
.preview-summary-card dd { margin: 5px 0 0; overflow-wrap: anywhere; color: #13231c; font-size: 1rem; font-weight: 900; line-height: 1.35; }
.preview-summary-card > small { display: block; margin-top: 11px; color: #4f6258; font-size: 0.88rem; line-height: 1.55; }
.preview-slope-distribution { margin-top: 13px; display: grid; gap: 8px; }
.preview-slope-distribution > div { display: grid; grid-template-columns: minmax(125px, 1fr) minmax(90px, 1.3fr) 38px; gap: 9px; align-items: center; }
.preview-slope-distribution span { color: #344a3f; font-size: 0.9rem; line-height: 1.35; }
.preview-slope-distribution i { height: 8px; overflow: hidden; border-radius: 999px; background: #dce8e1; }
.preview-slope-distribution i b { display: block; width: 0; height: 100%; border-radius: inherit; background: #085838; transition: width 0.35s ease; }
.preview-slope-distribution strong { color: #13231c; font-size: 0.9rem; text-align: right; }
.preview-summary-card.is-ready { border-color: #b8d9c7; }
.preview-summary-card.is-ready header span { color: #07502f; background: #dff2e8; }
.preview-summary-card.is-unavailable { opacity: 0.78; }
.preview-summary-card.is-unavailable header span { color: #4f6258; }
.preview-summary-card.is-loading header span::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 4px; border: 1px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: spin 0.8s linear infinite; }
.preview-summary-note { margin: 10px 0 0; color: #4f6258; font-size: 0.88rem; line-height: 1.55; }
.preview-pdf-only-card { display: flex; flex-direction: column; min-height: 0; }
.preview-pdf-only-card header span { color: #07502f; background: #dff2e8; }
.preview-pdf-only-card > p { margin-bottom: 10px; }
.preview-pdf-only-note { margin-top: auto !important; color: #4f6258; font-size: 0.9rem; line-height: 1.5; }
.preview-pdf-cta { align-self: flex-start; margin-top: 4px; padding: 10px 13px; border: 1px solid #b8d9c7; border-radius: 9px; color: #063620; background: #edf6f0; font: inherit; font-size: 0.92rem; font-weight: 800; cursor: pointer; }
.preview-pdf-cta:hover, .preview-pdf-cta:focus-visible { color: #fff; background: #085838; border-color: #085838; }
.preview-pdf-cta:focus-visible { outline: 3px solid rgba(8, 88, 56, 0.28); outline-offset: 2px; }
.fast-preview-modules { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.fast-preview-grid { margin-top: 11px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.fast-preview-grid article { min-width: 0; padding: 11px; border: 1px solid #d8e5dd; border-radius: 9px; background: #fff; }
.fast-preview-grid strong, .fast-preview-grid span { display: block; }
.fast-preview-grid strong { color: #063620; font-size: 0.96rem; }
.fast-preview-grid span { margin-top: 4px; color: #344a3f; font-size: 0.88rem; line-height: 1.5; }
.result-state.is-fast-preview .full-analysis-section { display: none; }
.disclaimer { margin: 12px 0 0; color: #4f6258; font-size: 0.88rem; line-height: 1.55; }
.pdf-download-modal[hidden] { display: none; }
.pdf-download-modal { position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; padding: 24px; background: rgba(4, 10, 8, 0.62); backdrop-filter: blur(8px); }
.pdf-download-dialog { width: min(390px, 100%); padding: 28px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 18px; color: #f4fff8; background: #08130f; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38); text-align: center; }
.pdf-download-dialog strong { display: block; margin-top: 14px; font-size: 1.02rem; }
.pdf-download-dialog p { margin: 8px 0 0; color: #91a29a; font-size: 0.76rem; line-height: 1.55; }
.pdf-download-dialog .pdf-download-wait-note { margin-top: 16px; padding: 10px 12px; border: 1px solid rgba(198, 217, 208, 0.24); border-radius: 10px; color: #f1faf5; background: rgba(255, 255, 255, 0.08); font-size: 0.84rem; line-height: 1.45; }
.pdf-spinner { width: 44px; height: 44px; margin: 0 auto; border: 4px solid rgba(255, 255, 255, 0.18); border-top-color: var(--lime); border-radius: 50%; animation: pdf-spin .8s linear infinite; }
@keyframes pdf-spin { to { transform: rotate(360deg); } }
.transaction-marker { background: #2584f3; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); }
.transaction-marker.is-group { display: grid; place-items: center; border-width: 2px; color: #fff; }
.transaction-marker.is-group span { font-size: 0.55rem; font-weight: 800; line-height: 1; }
.parcel-seo-content { padding: 48px max(20px, calc((100vw - 1180px) / 2)); border-top: 1px solid #d8e5dd; color: #13231c; background: #fff; }
.parcel-seo-content>p { max-width: 900px; color: #344a3f; font-size: 1rem; line-height: 1.75; }
.parcel-seo-content h2 { margin: 7px 0 12px; color: #063620; font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.18; }
.parcel-seo-content .eyebrow { margin: 0; color: #085838; font-size: .88rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.parcel-seo-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.parcel-seo-grid article { padding: 18px; border: 1px solid #d8e5dd; border-radius: 13px; background: #f7faf8; }
.parcel-seo-grid h3 { margin: 0 0 8px; color: #063620; font-size: 1.18rem; line-height: 1.35; }
.parcel-seo-grid p { margin: 0; color: #344a3f; font-size: 1rem; line-height: 1.65; }
.parcel-seo-grid a { display: inline-block; margin-top: 12px; color: #085838; font-size: .96rem; font-weight: 800; text-decoration: none; }
.parcel-seo-block { margin-top: 24px; padding: 22px; border: 1px solid #d8e5dd; border-radius: 13px; background: #f4f8f5; }
.parcel-seo-block h2 { margin: 0 0 13px; font-size: clamp(1.45rem, 2vw, 1.9rem); }
.parcel-seo-block ol { margin: 0; padding-left: 21px; color: #344a3f; font-size: 1rem; line-height: 1.85; }
.parcel-seo-block p { color: #344a3f; font-size: 1rem; line-height: 1.75; }
.parcel-report-teaser { display: grid; gap: 18px; }
.parcel-report-preview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.parcel-report-preview-grid figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8e5dd;
  border-radius: 12px;
  background: #fff;
}
.parcel-report-preview-grid img { display: block; width: 100%; height: auto; aspect-ratio: 620 / 877; object-fit: cover; }
.parcel-report-preview-grid figcaption { padding: 10px; color: #344a3f; font-size: .9rem; font-weight: 800; line-height: 1.4; }
.parcel-seo-actions { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 9px; }
.parcel-seo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #085838;
  border-radius: 9px;
  color: #fff;
  background: #085838;
  font-size: .96rem;
  font-weight: 900;
  text-decoration: none;
}
.parcel-seo-button.secondary { color: #085838; background: #fff; }
.parcel-price-grid { margin-top: 16px; }
.parcel-seo-grid article > span {
  display: block;
  margin-bottom: 7px;
  color: #085838;
  font-size: .88rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.parcel-seo-faq { display: grid; gap: 10px; }
.parcel-seo-faq details { padding: 14px 16px; border: 1px solid #d8e5dd; border-radius: 10px; background: #fff; }
.parcel-seo-faq summary { cursor: pointer; color: #063620; font-size: 1rem; font-weight: 800; }
.parcel-seo-faq p { margin: 9px 0 0; color: #344a3f; font-size: 1rem; line-height: 1.7; }
.parcel-seo-links { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.parcel-seo-links a { padding: 9px 11px; border: 1px solid #b8d9c7; border-radius: 8px; color: #085838; background: #fff; font-size: .96rem; font-weight: 800; text-decoration: none; }
.performance-debug-panel {
  position: fixed; right: 14px; bottom: 14px; z-index: 7000; width: min(720px, calc(100vw - 28px)); max-height: min(360px, 70vh);
  display: grid; grid-template-rows: auto minmax(0, 1fr); border: 1px solid rgba(79, 211, 154, 0.34); border-radius: 12px;
  color: #edf8f1; background: rgba(7, 16, 13, 0.96); box-shadow: 0 22px 60px rgba(0, 0, 0, 0.34); overflow: hidden;
}
.performance-debug-panel header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; border-bottom: 1px solid rgba(201, 231, 216, 0.14); }
.performance-debug-panel header strong { font-size: .72rem; }.performance-debug-panel header span { color: var(--muted); font-size: .58rem; text-align: right; }
.performance-debug-table-wrap { overflow: auto; }
.performance-debug-panel table { width: 100%; border-collapse: collapse; font-size: .58rem; }
.performance-debug-panel th, .performance-debug-panel td { padding: 7px 8px; border-bottom: 1px solid rgba(201, 231, 216, 0.09); text-align: right; white-space: nowrap; }
.performance-debug-panel th:first-child, .performance-debug-panel td:first-child { text-align: left; }
.performance-debug-panel tr.error td, .performance-debug-panel tr.aborted td, .performance-debug-panel tr.partial_error td { color: #ffb1ad; }

.page-mode-division .parcel-layout {
  min-height: calc(100vh - 78px);
  grid-template-columns: minmax(0, 1fr);
}
.page-mode-division .map-column { min-height: calc(100vh - 78px); }
.page-mode-division .map-intro-strip {
  min-height: 112px;
  border-bottom-color: rgba(35, 126, 88, .18);
  background: linear-gradient(180deg, #f8fbf8 0%, #eef7f1 100%);
}
.page-mode-division .map-intro-strip h1 { max-width: 880px; font-size: clamp(1.55rem, 3vw, 2.4rem); }
.page-mode-division .map-intro-strip p:not(.eyebrow) { max-width: 920px; }
.page-mode-division .map-toolbar {
  padding: 14px 16px;
  gap: 10px;
  background: rgba(246, 250, 247, .98);
}
.page-mode-division .place-search { height: 54px; flex: 1 1 520px; }
.page-mode-division .place-search input { font-size: .88rem; }
.page-mode-division .place-search button,
.page-mode-division .parcel-number-search-toggle,
.page-mode-division .map-layer-toggle,
.page-mode-division .parcel-sketch-toggle {
  min-height: 50px;
  font-size: .78rem;
}
.division-intro-card {
  margin: 10px 16px 0;
  padding: 12px 14px;
  border: 1px solid rgba(35, 126, 88, .18);
  border-radius: 12px;
  color: #26372f;
  background: #f7fbf8;
}
.division-intro-card strong { display: block; font-size: .76rem; }
.division-intro-card p { margin: 5px 0 0; color: #65756d; font-size: .66rem; line-height: 1.5; }
.page-mode-division .map-stage {
  width: 100%;
  min-height: 640px;
  height: max(640px, calc(100dvh - 250px));
}
.page-mode-division .parcel-sketch-panel {
  top: 20px;
  right: 20px;
  width: min(430px, calc(100% - 40px));
  max-height: calc(100% - 40px);
  padding: 18px;
}
.page-mode-division .ortho-map-control {
  top: 84px;
  right: auto;
  left: 16px;
  width: 248px;
  z-index: 610;
}
.page-mode-division .layer-panel {
  top: 84px;
  left: 280px;
}
.page-mode-division .leaflet-top.leaflet-left {
  margin-top: 12px;
}
.page-mode-division .parcel-sketch-head strong { font-size: .92rem; }
.page-mode-division .parcel-sketch-head span { font-size: .68rem; line-height: 1.45; }
.page-mode-division .parcel-sketch-modes { gap: 10px; }
.page-mode-division .parcel-sketch-modes button,
.page-mode-division .parcel-sketch-calculate {
  min-height: 52px;
  border-radius: 11px;
  font-size: .72rem;
}
.page-mode-division .parcel-sketch-status { font-size: .68rem; line-height: 1.5; }
.page-mode-division .parcel-sketch-result article { padding: 12px; }
.page-mode-division .analysis-panel { display: none; }
.page-mode-division .legend { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.parcel-part-sketches {
  grid-column: 1 / -1;
  width: min(1180px, calc(100% - 32px));
  margin: 18px auto 30px;
  padding: 18px;
  border: 1px solid #d4e4db;
  border-radius: 18px;
  color: #13251c;
  background: #f8fbf9;
  box-shadow: 0 18px 48px rgba(19, 54, 36, .08);
}
.parcel-part-sketches-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 16px;
}
.parcel-part-sketches-head .eyebrow {
  margin: 0 0 5px;
  color: #16875a;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.parcel-part-sketches h2 {
  margin: 0;
  color: #0d2118;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.12;
}
.parcel-part-sketches-head p {
  margin: 8px 0 0;
  color: #5d7167;
  font-size: .86rem;
  line-height: 1.55;
}
.parcel-part-scale-toggle {
  flex: 0 0 220px;
  display: grid;
  gap: 6px;
  color: #455b50;
  font-size: .67rem;
  font-weight: 900;
}
.parcel-part-scale-toggle select {
  width: 100%;
  height: 42px;
  border: 1px solid #bdd4c8;
  border-radius: 11px;
  padding: 0 10px;
  color: #153a28;
  background: #fff;
  font-weight: 800;
}
.parcel-part-sketches-warning {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid #e2c16f;
  border-radius: 11px;
  color: #6e4d00;
  background: #fff8df;
  font-size: .78rem;
  font-weight: 800;
}
.parcel-part-sketches-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.parcel-part-card {
  border: 1px solid #d7e5dd;
  border-top: 5px solid var(--part-color, #16875a);
  border-radius: 15px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(23, 61, 44, .06);
  break-inside: avoid;
}
.parcel-part-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.parcel-part-card h3 {
  margin: 0;
  color: #0e2419;
  font-size: 1rem;
}
.parcel-part-card header span {
  color: var(--part-color, #16875a);
  font-size: .88rem;
  font-weight: 900;
  white-space: nowrap;
}
.parcel-part-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.parcel-part-metrics div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e1ebe5;
  border-radius: 10px;
  background: #f8fbf9;
}
.parcel-part-metrics dt {
  margin: 0 0 3px;
  color: #6b7e74;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.parcel-part-metrics dd {
  margin: 0;
  color: #14271d;
  font-size: .78rem;
  font-weight: 900;
}
.parcel-part-svg-wrap {
  margin: 10px 0;
}
.parcel-part-svg-wrap svg {
  width: 100%;
  aspect-ratio: 4 / 3;
  max-height: 360px;
  border: 1px solid #d5e3db;
  border-radius: 12px;
  background:
    linear-gradient(#eef4f0 1px, transparent 1px),
    linear-gradient(90deg, #eef4f0 1px, transparent 1px),
    #fbfdfb;
  background-size: 44px 44px;
}
.parcel-part-svg-wrap small {
  display: block;
  margin-top: 6px;
  color: #6d7f76;
  font-size: .64rem;
}
.parcel-part-svg-wrap .part-fill {
  fill: var(--part-color, #16875a);
  fill-opacity: .13;
  stroke: none;
}
.parcel-part-svg-wrap .is-source {
  fill: none;
  stroke: #65746c;
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.parcel-part-svg-wrap .is-division {
  fill: none;
  stroke: #0f6b4a;
  stroke-width: 2.2;
  stroke-dasharray: 6 4;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.parcel-part-svg-wrap .part-side-label {
  font-size: 4px;
  font-weight: 900;
  fill: #103f2d;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 1.25;
  stroke-linejoin: round;
}
.parcel-part-svg-wrap .part-center-label {
  font-size: 13px;
  font-weight: 900;
  fill: var(--part-color, #16875a);
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 2.4;
  stroke-linejoin: round;
}
.parcel-part-svg-wrap .part-north path { fill: #103f2d; }
.parcel-part-svg-wrap .part-north text {
  fill: #103f2d;
  font-size: 4px;
  font-weight: 900;
  text-anchor: middle;
}
.parcel-part-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 8px 0 12px;
  color: #53685d;
  font-size: .68rem;
  font-weight: 800;
}
.parcel-part-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.parcel-part-legend i {
  width: 28px;
  height: 0;
  border-top: 3px solid #65746c;
}
.parcel-part-legend i.division {
  border-top-color: #0f6b4a;
  border-top-style: dashed;
}
.parcel-part-card table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 10px;
  font-size: .7rem;
}
.parcel-part-side-details {
  margin-top: 4px;
}
.parcel-part-side-details summary {
  cursor: pointer;
  padding: 10px 11px;
  border: 1px solid #cfe0d7;
  border-radius: 10px;
  color: #123f2d;
  background: #f5faf7;
  font-size: .72rem;
  font-weight: 900;
}
.parcel-part-side-details[open] summary {
  margin-bottom: 8px;
}
.parcel-part-card th,
.parcel-part-card td {
  padding: 8px 9px;
  border-bottom: 1px solid #e2ebe6;
  text-align: left;
  vertical-align: top;
}
.parcel-part-card th {
  color: #60736a;
  background: #f4f8f6;
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.parcel-part-card td:last-child,
.parcel-part-card th:last-child {
  text-align: right;
  white-space: nowrap;
}
.parcel-part-sketches-note {
  margin: 14px 0 0;
  color: #6f8278;
  font-size: .78rem;
  line-height: 1.55;
}
.report-button.secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid rgba(35, 126, 88, .24);
  border-radius: 12px;
  color: #123f2d;
  background: #f5faf6;
  font-weight: 900;
  text-decoration: none;
}
.division-seo-content { background: #07100d; }
.parcel-seo-toc {
  margin: 20px 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.parcel-seo-toc a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(79, 211, 154, .24);
  border-radius: 999px;
  color: #dff8ea;
  background: rgba(79, 211, 154, .08);
  font-size: .72rem;
  font-weight: 800;
  text-decoration: none;
}
.parcel-seo-block ul {
  margin: 12px 0 0;
  padding-left: 20px;
  color: #a4b7ac;
  font-size: .82rem;
  line-height: 1.75;
}
.parcel-seo-block li {
  margin: 6px 0;
}

@media (max-width: 980px) {
  .parcel-header { height: auto; flex-basis: auto; flex-wrap: wrap; padding-bottom: 9px; }
  .parcel-header nav {
    order: 3; width: 100%; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .parcel-header nav::-webkit-scrollbar { display: none; }
  .parcel-header nav a { flex: 0 0 auto; white-space: nowrap; }
  .parcel-layout, .parcel-layout.is-analysis-expanded { display: block; }.map-column { min-height: calc(100vh - 116px); height: auto; }.analysis-panel { max-height: none; border-left: 0; }
  .analysis-panel-top { padding: 12px 18px 0; }
  .parcel-location-focus { grid-template-columns: 1fr; }
  .legend { grid-template-columns: 1fr 1fr; }
  .parcel-number-search-panel form { grid-template-columns: repeat(3, 1fr); }
  .parcel-search-or { display: none; }.parcel-number-search-panel form>button { align-self: end; }
  .page-mode-division .parcel-layout { display: block; }
  .page-mode-division .analysis-panel { display: none; }
  .page-mode-division .map-stage { min-height: 68vh; height: 72vh; }
  .page-mode-division .ortho-map-control { top: 76px; left: 12px; width: 238px; }
  .page-mode-division .layer-panel { top: 76px; left: 262px; width: min(250px, calc(100% - 274px)); }
  .parcel-part-sketches { width: calc(100% - 24px); margin-top: 14px; padding: 14px; }
  .parcel-part-sketches-head { display: grid; }
  .parcel-part-scale-toggle { width: min(100%, 260px); }
  .parcel-part-sketches-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .preview-summary-grid, .fast-preview-grid { grid-template-columns: 1fr; }
  .gunb-metrics { grid-template-columns: 1fr; }
  .preview-summary-card { padding: 15px; }
  .preview-summary-card dl { gap: 7px; }
  .preview-summary-card dl div { padding: 10px 8px; }
  .preview-slope-distribution > div { grid-template-columns: minmax(112px, 1.1fr) minmax(70px, 1fr) 34px; gap: 7px; }
}
@media (max-width: 620px) {
  .parcel-header { padding: 8px 12px; gap: 8px 12px; }.brand img { width: 120px; }.header-action { padding: 8px 10px; font-size: 0.68rem; }
  .country-picker, .language-picker { display: none; }
  .header-action { margin-left: auto; }
  .parcel-header nav a { padding: 7px 10px; font-size: 0.68rem; }
  .map-column { min-height: calc(100vh - 108px); height: auto; }.map-intro-strip { min-height: 76px; padding: 10px 12px; }.map-intro-strip h1 { font-size: 1.16rem; }.map-intro-strip p:not(.eyebrow) { display: none; }.map-toolbar { padding: 8px; gap: 8px; flex-wrap: wrap; }.place-search { width: 100%; height: 42px; }.place-search button { padding: 0 14px; }.parcel-number-search-toggle, .map-layer-toggle, .parcel-sketch-toggle { height: 42px; flex: 1 1 calc(50% - 5px); padding: 0 6px; }.location-tools { flex: 1 1 100%; display: grid; grid-template-columns: minmax(0, 1fr) 92px; }.location-button { min-height: 44px; width: 100%; }.location-radius { min-width: 0; }.location-radius select { min-height: 36px; }.map-hint { display: none; }
  .parcel-number-search-panel { padding: 11px; max-height: 54vh; overflow-y: auto; }.parcel-number-search-panel form { grid-template-columns: 1fr 1fr; }.parcel-id-field { grid-column: 1 / -1; }
  .map-3d-open { width: 100%; margin-left: 0; padding: 8px; }
  .layer-panel { top: 10px; left: 10px; width: min(250px, calc(100% - 20px)); max-height: calc(100% - 20px); }.parcel-sketch-panel { top: auto; right: 10px; bottom: 10px; left: 10px; width: auto; max-height: 42vh; padding: 10px; overflow: auto; }.parcel-sketch-modes { grid-template-columns: 1fr 1fr; }.parcel-sketch-modes button, .parcel-sketch-calculate, .parcel-sketch-export { min-height: 42px; }.parcel-sketch-scale-tools, .parcel-sketch-calculator > div, .parcel-sketch-point-editor > div { grid-template-columns: 1fr; }.ortho-map-control { top: 10px; right: 10px; width: 210px; padding: 9px; }.location-privacy-note { top: 10px; left: 10px; width: min(280px, calc(100% - 20px)); }.nearby-parcels-sheet { right: 8px; bottom: 8px; left: 8px; width: auto; max-height: min(52vh, 440px); border-radius: 16px 16px 10px 10px; }.nearby-parcels-list { max-height: 32vh; }.legend { display: none; }.map-stage { min-height: 58vh; }
  .page-mode-division .map-intro-strip { min-height: 94px; }
  .page-mode-division .map-toolbar { padding: 10px; }
  .page-mode-division .place-search { height: 46px; }
  .page-mode-division .division-intro-card { margin: 8px 10px 0; }
  .page-mode-division .map-stage { min-height: 66vh; height: 66vh; }
  .page-mode-division .ortho-map-control { top: 10px; left: 10px; right: auto; width: min(220px, calc(100% - 20px)); }
  .page-mode-division .layer-panel { top: 76px; left: 10px; width: min(250px, calc(100% - 20px)); }
  .page-mode-division .parcel-sketch-panel {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    max-height: 52vh;
    padding: 14px;
    border-radius: 18px 18px 0 0;
  }
  .parcel-sketch-reopen {
    top: auto;
    right: 10px;
    bottom: 14px;
    min-height: 42px;
  }
  .map-fullscreen-toggle { left: 10px; right: auto; bottom: 64px; min-height: 38px; }
  .page-mode-division .parcel-sketch-modes button,
  .page-mode-division .parcel-sketch-calculate,
  .page-mode-division .parcel-sketch-export { min-height: 48px; }
  .parcel-part-sketches { width: calc(100% - 16px); margin: 10px auto 22px; padding: 12px; border-radius: 14px; }
  .parcel-part-sketches-head p { font-size: .76rem; }
  .parcel-part-metrics { grid-template-columns: 1fr; }
  .parcel-part-card table { font-size: .64rem; }
  .parcel-part-card th, .parcel-part-card td { padding: 7px 6px; }
  .parcel-3d-head { top: 10px; left: 10px; width: calc(100% - 20px); }
  .parcel-3d-actions { right: 10px; bottom: 36px; }
  .report-actions-inline { grid-template-columns: 1fr; }
  .parcel-seo-grid, .parcel-report-preview-grid { grid-template-columns: 1fr; }
  .mobile-analysis-status:not([hidden]) {
    position: fixed; left: 12px; right: 12px; bottom: max(14px, env(safe-area-inset-bottom)); z-index: 5000;
    display: flex; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid rgba(79, 211, 154, 0.34);
    border-radius: 12px; color: #effaf3; background: rgba(8, 24, 17, 0.96); box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
  }
  .mobile-analysis-status div { min-width: 0; }
  .mobile-analysis-status strong, .mobile-analysis-status small { display: block; }
  .mobile-analysis-status strong { font-size: 0.76rem; line-height: 1.35; }
  .mobile-analysis-status small { margin-top: 3px; color: #9eb1a7; font-size: 0.6rem; line-height: 1.4; }
  .mobile-analysis-spinner { flex: 0 0 auto; width: 28px; height: 28px; border: 3px solid rgba(255, 255, 255, 0.18); border-top-color: var(--lime); border-radius: 50%; animation: spin 0.8s linear infinite; }
  .mobile-analysis-status.is-ready { border-color: rgba(79, 211, 154, 0.5); background: rgba(13, 61, 41, 0.97); }
  .mobile-analysis-status.is-ready .mobile-analysis-spinner { border: 0; animation: none; display: grid; place-items: center; background: var(--lime); }
  .mobile-analysis-status.is-ready .mobile-analysis-spinner::after { content: "✓"; color: #102019; font-size: 0.9rem; font-weight: 900; }
  .mobile-analysis-status.is-error { border-color: rgba(241, 120, 115, 0.55); background: rgba(74, 24, 22, 0.97); }
  .mobile-analysis-status.is-error .mobile-analysis-spinner { border: 0; animation: none; }
  .mobile-analysis-status.is-error .mobile-analysis-spinner::after { content: "!"; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #4a1816; background: #ffaaa5; font-weight: 900; }
}
