#arb-field-launch {
  position: fixed;
  right: 18px;
  bottom: 82px;
  z-index: 2147482000;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: linear-gradient(135deg, #047aa5, #10b9ad);
  color: #fff;
  font:
    700 14px/1 system-ui,
    -apple-system,
    Segoe UI,
    sans-serif;
  box-shadow: 0 12px 35px #082c3b55;
  cursor: pointer;
  display: none;
}
#arb-field-launch[data-ready="1"] {
  display: flex;
  gap: 8px;
  align-items: center;
}
#arb-field-launch .fo-dot {
  width: 9px;
  height: 9px;
  background: #65f3c7;
  border-radius: 50%;
  box-shadow: 0 0 0 3px #65f3c733;
}
#arb-field-launch.offline .fo-dot {
  background: #ffb44a;
  box-shadow: 0 0 0 3px #ffb44a33;
}
#arb-fieldops {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  background: #edf3f6;
  color: #132b3a;
  font:
    14px/1.4 system-ui,
    -apple-system,
    Segoe UI,
    sans-serif;
  display: none;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}
#arb-fieldops.open {
  display: flex;
  visibility: visible;
  pointer-events: auto;
  flex-direction: column;
}
#arb-fieldops * {
  box-sizing: border-box;
}
.fo-head {
  height: 66px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 10px 18px;
  background: #0c2b42;
  color: #fff;
  box-shadow: 0 4px 16px #07223633;
}
.fo-head img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.fo-title {
  font-size: 18px;
  font-weight: 800;
}
.fo-sub {
  font-size: 11px;
  color: #9fd8e8;
}
.fo-net {
  margin-left: auto;
  border-radius: 99px;
  padding: 5px 10px;
  background: #17617b;
  font-weight: 700;
  font-size: 11px;
}
.fo-net.offline {
  background: #905c12;
}
.fo-close {
  border: 0;
  background: #ffffff18;
  color: #fff;
  border-radius: 10px;
  width: 38px;
  height: 38px;
  font-size: 22px;
  cursor: pointer;
}
/* Light-neumorphic shell header. Scoped to the Field Operations overlay so it
   remains correct even if the portal body theme class changes during routing. */
#arb-fieldops .fo-head {
  background: linear-gradient(145deg, #f5fbff, #dceaf3) !important;
  color: #17313f !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.78);
  box-shadow:
    0 9px 22px rgba(132, 159, 177, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}
#arb-fieldops .fo-title {
  color: #17313f !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#arb-fieldops .fo-sub {
  color: #4b6574 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#arb-fieldops .fo-head > div {
  flex: 1 1 auto;
  min-width: 0;
}
#arb-fieldops .fo-head > img {
  flex: 0 0 42px;
}
#arb-fieldops .fo-net {
  flex: 0 0 auto;
  color: #176b4a !important;
  background: linear-gradient(145deg, #f1f9fd, #dceaf2) !important;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    4px 4px 10px rgba(139, 165, 182, 0.3),
    -4px -4px 10px rgba(255, 255, 255, 0.88) !important;
}
#arb-fieldops .fo-net.offline {
  color: #8a5b0a !important;
}
#arb-fieldops .fo-close {
  flex: 0 0 38px;
  min-width: 38px;
  padding: 0;
  color: #17313f !important;
  background: linear-gradient(145deg, #f7fcff, #d9e8f1) !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  font-weight: 850;
  line-height: 1;
  box-shadow:
    5px 5px 12px rgba(132, 158, 176, 0.34),
    -5px -5px 12px rgba(255, 255, 255, 0.92) !important;
}
#arb-fieldops .fo-close:hover {
  color: #0e5f7e !important;
  background: #edf7fc !important;
}
#arb-fieldops .fo-close:active {
  box-shadow:
    inset 3px 3px 7px rgba(132, 158, 176, 0.34),
    inset -3px -3px 7px rgba(255, 255, 255, 0.92) !important;
}
.fo-tabs {
  display: flex;
  gap: 6px;
  padding: 10px 14px 0;
  background: #edf3f6;
  overflow-x: auto;
}
.fo-tab {
  border: 1px solid #c7d8df;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  padding: 10px 14px;
  background: #f7fafb;
  color: #31505e;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.fo-tab.active {
  background: #fff;
  color: #057ca4;
}
.fo-main {
  flex: 1;
  overflow: auto;
  background: #fff;
  padding: 18px;
  box-shadow: inset 0 1px #dce7eb;
}
.fo-panel {
  display: none;
  max-width: 1120px;
  margin: 0 auto;
}
.fo-panel.active {
  display: block;
}
.fo-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}
.fo-card {
  grid-column: span 12;
  background: #f8fbfc;
  border: 1px solid #d8e5ea;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 5px 14px #1638470b;
}
.fo-card.half {
  grid-column: span 6;
}
.fo-card.third {
  grid-column: span 4;
}
.fo-card h2,
.fo-card h3 {
  margin: 0 0 9px;
  color: #12384d;
}
.fo-card h2 {
  font-size: 19px;
}
.fo-card h3 {
  font-size: 15px;
}
.fo-muted {
  color: #667d88;
  font-size: 12px;
}
.fo-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.fo-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.fo-field.wide {
  grid-column: 1/-1;
}
.fo-field label {
  font-weight: 750;
  color: #1a3f52;
  font-size: 12px;
}
.fo-required {
  color: #c13b45;
}
.fo-field input,
.fo-field select,
.fo-field textarea,
.fo-builder input,
.fo-builder select {
  width: 100%;
  border: 1px solid #bfd1d9;
  border-radius: 9px;
  background: #fff;
  color: #132b3a;
  padding: 10px;
  font: inherit;
  outline: none;
}
.fo-field textarea {
  min-height: 90px;
  resize: vertical;
}
.fo-field input:focus,
.fo-field select:focus,
.fo-field textarea:focus {
  border-color: #0b98b9;
  box-shadow: 0 0 0 3px #0b98b91c;
}
.fo-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 13px;
}
.fo-btn {
  border: 0;
  border-radius: 9px;
  padding: 10px 13px;
  background: #0a85aa;
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}
.fo-btn.secondary {
  background: #e4eef2;
  color: #16475d;
  border: 1px solid #c5d8df;
}
.fo-btn.warn {
  background: linear-gradient(135deg, #d97706, #f59e0b);
}
.fo-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.fo-status {
  border-radius: 99px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 800;
  background: #e5eef2;
  color: #34505d;
}
.fo-status.submitted,
.fo-status.accepted {
  background: #d8f5e9;
  color: #08704e;
}
.fo-status.pending {
  background: #fff0ca;
  color: #7b5700;
}
.fo-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fo-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid #d8e5ea;
  background: #fff;
  border-radius: 11px;
  padding: 10px;
}
.fo-row-main {
  min-width: 0;
  flex: 1;
}
.fo-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.fo-record-flags {
  display: flex;
  gap: 6px;
  margin-top: 7px;
}
.fo-fence {
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.04em;
  background: #e8eef1;
  color: #60747e;
}
.fo-fence.inside {
  background: #d5f6e6;
  color: #08704e;
}
.fo-fence.outside {
  background: #ffe2e2;
  color: #a5232f;
  box-shadow: 0 0 0 2px #ef44441f;
}
.fo-fence.unavailable {
  background: #fff0ca;
  color: #7b5700;
}
.fo-row-title {
  font-weight: 800;
  color: #173c4f;
}
.fo-row-meta {
  color: #6a7f89;
  font-size: 11px;
  margin-top: 2px;
}
.fo-empty {
  text-align: center;
  color: #718893;
  padding: 28px;
  border: 1px dashed #bfd2da;
  border-radius: 12px;
}
.fo-evidence {
  border: 1px dashed #9fbcc8;
  border-radius: 10px;
  padding: 10px;
  background: #f2f8fa;
}
.fo-evidence input {
  border: 0;
  padding: 4px;
  background: transparent;
}
.fo-sign {
  border: 1px solid #bfd1d9;
  border-radius: 10px;
  background: #fff;
  touch-action: none;
  width: 100%;
  height: 150px;
}
.fo-sign-tools {
  display: flex;
  justify-content: flex-end;
  margin-top: 5px;
}
.fo-map {
  height: 480px;
  border: 1px solid #b8d3dc;
  border-radius: 22px;
  background: #eef8fa;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  box-shadow:
    inset 5px 5px 14px #b6cbd252,
    inset -5px -5px 14px #ffffff,
    0 14px 34px #335d6b1c;
}
.fo-map.is-user-resized {
  justify-self: start;
  align-self: start;
  max-width: none;
}
.fo-map.is-resizing {
  user-select: none;
}
.fo-map-resize-handle {
  position: absolute;
  z-index: 1200;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  touch-action: none;
}
.fo-map-resize-handle::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-color: #087f9d;
  border-style: solid;
  opacity: .42;
  transition: opacity .15s ease, transform .15s ease;
}
.fo-map-resize-handle:hover::after,
.fo-map-resize-handle:focus-visible::after {
  opacity: 1;
  transform: scale(1.18);
}
.fo-map-resize-handle:focus-visible {
  outline: 2px solid #0a91ad;
  outline-offset: -4px;
  border-radius: 7px;
}
.fo-map-resize-handle.nw { top: 0; left: 0; cursor: nwse-resize; }
.fo-map-resize-handle.ne { top: 0; right: 0; cursor: nesw-resize; }
.fo-map-resize-handle.sw { bottom: 0; left: 0; cursor: nesw-resize; }
.fo-map-resize-handle.se { right: 0; bottom: 0; cursor: nwse-resize; }
.fo-map-resize-handle.nw::after { top: 5px; left: 5px; border-width: 2px 0 0 2px; }
.fo-map-resize-handle.ne::after { top: 5px; right: 5px; border-width: 2px 2px 0 0; }
.fo-map-resize-handle.sw::after { bottom: 5px; left: 5px; border-width: 0 0 2px 2px; }
.fo-map-resize-handle.se::after { right: 5px; bottom: 5px; border-width: 0 2px 2px 0; }
.fo-map-resizing,
.fo-map-resizing * {
  cursor: var(--fo-map-resize-cursor, nwse-resize) !important;
}
.fo-gis-workspace {
  display: grid;
  grid-template-columns: 218px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}
.fo-layer-panel {
  min-width: 0;
  border: 1px solid #c3d9e1;
  border-radius: 18px;
  padding: 13px;
  background: linear-gradient(145deg, #f9fdff, #e8f2f5);
  box-shadow: inset 1px 1px 0 #fff, 6px 6px 16px #9eb5be35, -5px -5px 14px #fff;
  color: #173d4f;
}
.fo-layer-title {
  padding: 2px 2px 11px;
  border-bottom: 1px solid #cbdde3;
}
.fo-layer-title span,
.fo-layer-heading {
  display: block;
  color: #718892;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .13em;
}
.fo-layer-title b {
  display: block;
  margin-top: 3px;
  color: #12384d;
  font-size: 15px;
}
.fo-layer-section {
  padding: 12px 1px 0;
}
.fo-layer-section label {
  display: grid;
  grid-template-columns: 17px 12px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  margin-top: 9px;
  color: #234b5d;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.fo-layer-section label input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: #0788a7;
}
.fo-layer-section label em {
  min-width: 20px;
  border-radius: 999px;
  padding: 2px 5px;
  background: #deebef;
  color: #55727e;
  font-size: 8px;
  font-style: normal;
  text-align: center;
}
.fo-layer-swatch {
  width: 11px;
  height: 11px;
  border: 2px solid;
  border-radius: 3px;
}
.fo-layer-swatch.parcels { border-color: #4f46e5; background: #818cf84a; }
.fo-layer-swatch.geofences { border-color: #d97706; background: #fbbf2440; border-style: dashed; }
.fo-layer-swatch.routes { border-color: #0e7490; height: 3px; border-width: 2px 0 0; border-radius: 0; }
.fo-layer-swatch.assets { border-color: #fff; background: #0891b2; border-radius: 50%; box-shadow: 0 0 0 1px #0891b2; }
.fo-basemap-picker {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 8px;
}
.fo-basemap-picker button {
  border: 1px solid #c8dce3;
  border-radius: 9px;
  padding: 7px 5px;
  background: #f7fbfc;
  color: #4d6b78;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 2px 2px 6px #a8bbc23d, -2px -2px 5px #fff;
}
.fo-basemap-picker button.active {
  border-color: #0792af;
  background: linear-gradient(135deg, #0a89a8, #17abc0);
  color: #fff;
  box-shadow: inset 2px 2px 5px #075d744d, 0 5px 12px #0b81952e;
}
.fo-layer-classification {
  margin-top: 15px;
  border: 1px solid #efd08c;
  border-radius: 11px;
  padding: 9px;
  background: linear-gradient(145deg, #fffaf0, #fff2cb);
}
.fo-layer-classification b {
  display: block;
  color: #8a5a08;
  font-size: 8px;
  letter-spacing: .08em;
}
.fo-layer-classification span {
  display: block;
  margin-top: 4px;
  color: #765d2d;
  font-size: 8.5px;
  font-weight: 700;
  line-height: 1.4;
}
.fo-3d-disclosure {
  margin-top: 9px;
  border: 1px solid #b9c5f2;
  border-radius: 11px;
  padding: 9px;
  background: linear-gradient(145deg, #f5f6ff, #e8ebff);
}
.fo-3d-disclosure b {
  display: block;
  color: #4338ca;
  font-size: 8px;
  letter-spacing: .08em;
}
.fo-3d-disclosure span {
  display: block;
  margin-top: 4px;
  color: #555b83;
  font-size: 8.5px;
  font-weight: 700;
  line-height: 1.4;
}
.fo-map-fallback,
.fo-live-map,
.fo-3d-map {
  position: absolute;
  inset: 0;
}
#arb-fieldops .fo-3d-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.fo-map-fallback { z-index: 0; }
.fo-live-map,
.fo-3d-map {
  z-index: 1;
  background: #edf4f6;
  font-family: inherit;
}
.fo-3d-map[hidden],
.fo-live-map[hidden] { display: none !important; }
.fo-map.is-3d {
  border-color: #8e9ce7;
  box-shadow: inset 0 0 0 1px #ffffff44, 0 18px 38px #2738752b;
}
.fo-map.is-3d .fo-map-live-dot {
  background: #6366f1;
  box-shadow: 0 0 0 4px #6366f126;
}
.fo-3d-map .maplibregl-canvas { outline: none; }
#arb-fieldops .maplibregl-ctrl-group {
  border: 1px solid #b9cbd3;
  border-radius: 10px;
  background: #fffffff2;
  box-shadow: 0 5px 15px #1d46552e;
  overflow: hidden;
}
#arb-fieldops .maplibregl-ctrl button { width: 31px; height: 31px; }
#arb-fieldops .maplibregl-ctrl-attrib {
  max-width: 72%;
  color: #4b6570;
  font-size: 8px;
  line-height: 1.25;
  background: #ffffffcf;
}
#arb-fieldops .maplibregl-ctrl-scale {
  border-color: #355e6f;
  background: #ffffffc9;
  color: #244b5d;
  font-size: 8px;
}
#arb-fieldops .maplibregl-popup-content {
  border-radius: 13px;
  box-shadow: 0 12px 30px #102f3c42;
  padding: 13px 15px;
}
.fo-map.basemap-offline .fo-live-map {
  background: rgba(237, 244, 246, .84);
}
.fo-map-hud { z-index: 900 !important; }
.fo-map-home {
  position: absolute;
  z-index: 900;
  top: 48px;
  left: 12px;
  width: 31px;
  height: 31px;
  border: 1px solid #bdcfd6;
  border-radius: 8px;
  background: #fffffff2;
  color: #17475a;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 12px #315a6828;
}
.fo-map-coordinates {
  position: absolute;
  z-index: 900;
  right: 12px;
  top: 12px;
  display: flex;
  gap: 7px;
  align-items: center;
  border: 1px solid #c6d9e0;
  border-radius: 999px;
  padding: 6px 9px;
  background: #fffffff0;
  color: #496875;
  font-size: 8px;
  box-shadow: 0 4px 12px #315a6820;
  backdrop-filter: blur(7px);
}
.fo-map-coordinates span { color: #0788a7; font-weight: 900; letter-spacing: .08em; }
.fo-map-coordinates b { font-weight: 800; }
.fo-map-popup { display: grid; gap: 3px; min-width: 180px; color: #173d4f; }
.fo-map-popup b { font-size: 12px; }
.fo-map-popup span { color: #4f6d79; font-size: 10px; font-weight: 700; }
.fo-map-popup em { color: #8a5a08; font-size: 9px; font-style: normal; font-weight: 800; }
.fo-campus-label {
  border: 1px solid #7ba6b7 !important;
  border-radius: 999px !important;
  padding: 3px 7px !important;
  background: #ffffffe8 !important;
  color: #153f52 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 8px #294f6030 !important;
}
.fo-campus-label:before { display: none !important; }
#arb-fieldops .leaflet-control-zoom a {
  color: #16475d;
  background: #fffffff2;
}
#arb-fieldops .leaflet-control-attribution {
  max-width: 72%;
  color: #4b6570;
  font-size: 8px;
  line-height: 1.25;
  white-space: normal;
}
#arb-fieldops .leaflet-control-scale-line {
  border-color: #355e6f;
  background: #ffffffc9;
  color: #244b5d;
  font-size: 8px;
}
.fo-map-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, #76d9e833, transparent 32%),
    radial-gradient(circle at 4% 100%, #6ee7b722, transparent 28%),
    linear-gradient(135deg, #fbfeff 0%, #eaf7fb 54%, #f3fbf8 100%);
  color: #12384d;
  border: 1px solid #c7dde5;
  border-top: 4px solid #10a9be;
  box-shadow:
    10px 10px 24px #9fb5bf45,
    -8px -8px 20px #ffffff,
    inset 0 1px 0 #ffffff;
}
#arb-fieldops .fo-map-hero h2 {
  color: #103247;
  font-size: 21px;
  letter-spacing: -0.015em;
}
#arb-fieldops .fo-map-hero .fo-muted {
  color: #3f5f6d;
  opacity: 1;
  font-size: 13px;
  line-height: 1.55;
  max-width: 820px;
}
#arb-fieldops .fo-map-hero .fo-actions {
  padding: 11px;
  border: 1px solid #cce1e8;
  border-radius: 13px;
  background: #f7fcfed9;
  box-shadow:
    inset 2px 2px 5px #bed1d952,
    inset -2px -2px 5px #ffffff;
}
#arb-fieldops .fo-map-hero .fo-btn:not(.secondary):not(.warn) {
  background: linear-gradient(135deg, #087fa2, #0796a9);
  color: #fff;
  box-shadow: 0 6px 14px #087fa22e;
}
#arb-fieldops .fo-map-hero .fo-btn.secondary {
  background: linear-gradient(145deg, #f9fcfd, #e4eef2);
  color: #173f52;
  border-color: #bdd3dc;
  box-shadow:
    4px 4px 9px #adbec64a,
    -3px -3px 8px #ffffff;
}
#arb-fieldops .fo-map-hero .fo-btn.warn {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  color: #4a2b00;
  box-shadow: 0 6px 14px #d9770633;
}
.fo-import {
  position: relative;
  overflow: hidden;
}
.fo-import input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.fo-geo-editor {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1.2fr 1fr 160px auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid #c5dce5;
  border-radius: 12px;
  background: linear-gradient(145deg, #edf7fa, #f9fcfd);
  color: #173f52;
  box-shadow:
    inset 3px 3px 7px #b9cdd552,
    inset -3px -3px 7px #ffffff;
}
.fo-geo-editor[hidden] {
  display: none;
}
#arb-fieldops .fo-geo-editor label {
  color: #173f52;
  font-weight: 800;
}
.fo-geo-editor .fo-actions {
  margin-top: 0;
}
.fo-team-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(340px, 1.1fr);
  gap: 14px;
}
.fo-eyebrow {
  color: #0a8aa9;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  margin-bottom: 5px;
}
.fo-people {
  display: grid;
  gap: 7px;
  max-height: 520px;
  overflow: auto;
}
.fo-person {
  width: 100%;
  border: 1px solid #d7e4e9;
  border-radius: 12px;
  background: #fff;
  color: #173c4f;
  padding: 9px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 10px;
  align-items: center;
  text-align: left;
  cursor: pointer;
  transition: 0.18s ease;
}
.fo-person:hover,
.fo-person.selected {
  border-color: #0b96b4;
  transform: translateY(-1px);
  box-shadow: 0 7px 18px #0b607314;
}
.fo-person-avatar {
  width: 40px;
  height: 40px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  position: relative;
  background: linear-gradient(135deg, #d6edf3, #eef8fa);
  color: #0a6077;
  font-weight: 900;
}
.fo-presence {
  position: absolute;
  width: 12px;
  height: 12px;
  right: -2px;
  bottom: -2px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #94a3b8;
}
.fo-presence.online {
  background: #22c55e;
}
.fo-presence.away {
  background: #f59e0b;
}
.fo-person small {
  display: block;
  color: #6a7f89;
  margin-top: 2px;
}
.fo-person em {
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  color: #718893;
}
.fo-compose textarea {
  width: 100%;
  min-height: 190px;
  resize: vertical;
  border: 1px solid #bfd1d9;
  border-radius: 12px;
  padding: 12px;
  font: inherit;
  color: #132b3a;
  background: #fff;
  margin: 8px 0 12px;
}
.fo-context {
  padding: 10px;
  border-radius: 10px;
  background: #eaf5f7;
  color: #245569;
  font-weight: 700;
}
.fo-map-fallback > svg {
  width: 100%;
  height: 100%;
  display: block;
}
.fo-map-panel {
  padding: 16px !important;
}
.fo-map-panel-head,
.fo-map-assets-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 13px;
}
.fo-map-head-controls {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.fo-dimension-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 108px;
  padding: 3px;
  border: 1px solid #c5dae2;
  border-radius: 13px;
  background: #e7f0f3;
  box-shadow: inset 3px 3px 7px #b8c9cf66, inset -3px -3px 7px #fff;
}
.fo-dimension-toggle button {
  border: 0;
  border-radius: 9px;
  padding: 8px 10px;
  background: transparent;
  color: #55717d;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.fo-dimension-toggle button.active {
  background: linear-gradient(135deg, #0a8dac, #18b2c6);
  color: #fff;
  box-shadow: 0 5px 12px #0b81953a, inset 0 1px #ffffff55;
}
#arb-fieldops .fo-map-panel-head h3,
#arb-fieldops .fo-map-assets-head h3 {
  margin: 0;
  color: #12384d;
  font-size: 17px;
}
.fo-map-panel-head p {
  margin: 4px 0 0;
  color: #57717d;
  font-size: 11px;
}
.fo-map-stats {
  display: flex;
  align-items: stretch;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.fo-map-stats span {
  min-width: 72px;
  padding: 7px 9px;
  border: 1px solid #cadfe6;
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #eaf3f6);
  color: #526e7a;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
  box-shadow: 3px 3px 8px #afc0c64d, -3px -3px 8px #fff;
}
.fo-map-stats b {
  display: block;
  color: #0b7896;
  font-size: 16px;
  line-height: 1.1;
}
.fo-map-hud {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border: 1px solid #c6dce4;
  border-radius: 999px;
  background: #ffffffeb;
  color: #275264;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.08em;
  box-shadow: 0 5px 14px #315a681f;
  backdrop-filter: blur(8px);
}
.fo-map-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 4px #10b98120;
}
.fo-map .fo-map-label {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 10px;
  z-index: 2;
  background: #fffffff0;
  border: 1px solid #c8dce4;
  border-radius: 11px;
  padding: 7px 10px;
  font-size: 10px;
  font-weight: 800;
  color: #294f60;
  box-shadow: 0 5px 14px #315a681f;
  backdrop-filter: blur(8px);
}
.fo-map-feature {
  cursor: pointer;
  transition: opacity 0.18s ease;
}
.fo-map-feature path,
.fo-map-feature circle {
  transition: 0.2s ease;
}
.fo-map-feature:hover path,
.fo-map-feature.is-selected path {
  stroke-width: 6;
  filter: url(#fo-map-shadow) brightness(1.04);
}
.fo-map-feature:hover circle,
.fo-map-feature.is-selected circle {
  r: 13px;
}
.fo-map-feature-label {
  pointer-events: none;
  filter: drop-shadow(0 4px 5px #244b5a24);
}
.fo-map-legend {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
  padding: 11px 3px 0;
  color: #4d6975;
  font-size: 10px;
  font-weight: 800;
}
.fo-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.fo-map-legend i {
  width: 10px;
  height: 10px;
  border: 2px solid transparent;
  border-radius: 3px;
  display: inline-block;
}
.fo-map-legend i.nlh { background: #38bdf84a; border-color: #0284c7; }
.fo-map-legend i.nab { background: #818cf84a; border-color: #4f46e5; }
.fo-map-legend i.nah { background: #34d3994a; border-color: #059669; }
.fo-map-legend i.fence { background: #fbbf2440; border-color: #d97706; }
.fo-map-reference-note {
  margin-left: auto;
  color: #8a5a08;
  background: #fff6d9;
  border: 1px solid #f1d48e;
  border-radius: 999px;
  padding: 4px 8px;
}
.fo-map-assets {
  border-top: 4px solid #6d7ee8 !important;
}
.fo-map-count {
  display: grid;
  place-items: center;
  min-width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(145deg, #eef2ff, #dfe6ff);
  color: #4338ca;
  font-size: 16px;
  font-weight: 900;
  box-shadow: inset 2px 2px 5px #b9c3ee66, inset -2px -2px 5px #fff;
}
.fo-map-row {
  width: 100%;
  appearance: none;
  text-align: left;
  position: relative;
  align-items: center;
  overflow: hidden;
  padding: 12px 11px 12px 15px;
  color: #173c4f;
  cursor: pointer;
  transition: 0.18s ease;
  box-shadow: 3px 3px 9px #aebdc343, -3px -3px 9px #fff;
}
.fo-map-row:hover,
.fo-map-row:focus-visible,
.fo-map-row.is-selected {
  border-color: var(--fo-map-accent);
  transform: translateY(-1px);
  box-shadow: 0 9px 20px #355d6b1f, 0 0 0 3px color-mix(in srgb, var(--fo-map-accent) 16%, transparent);
  outline: none;
}
.fo-map-row-mark {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--fo-map-accent);
}
.fo-map-row-side {
  display: flex;
  align-items: center;
  gap: 8px;
}
.fo-map-row .fo-row-title,
.fo-map-row .fo-row-meta {
  display: block;
}
.fo-map-row .fo-row-meta {
  margin-top: 3px;
}
.fo-map-quality {
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.fo-map-quality.reference {
  color: #85540a;
  background: #fff3ce;
  border: 1px solid #efd188;
}
.fo-map-quality.operational {
  color: #08704e;
  background: #ddf8eb;
  border: 1px solid #a9e3ca;
}
.fo-map-row-arrow {
  color: var(--fo-map-accent);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

#arb-fieldops [data-panel="map"] .fo-card:not(.fo-map-hero) {
  background: linear-gradient(145deg, #fbfdfe, #f0f6f8);
  border-color: #cfdee4;
  box-shadow:
    7px 7px 17px #b7c6cc42,
    -6px -6px 16px #ffffff;
}
#arb-fieldops [data-panel="map"] .fo-card h3,
#arb-fieldops [data-panel="map"] .fo-row-title {
  color: #173f52;
}
#arb-fieldops [data-panel="map"] .fo-row-meta,
#arb-fieldops [data-panel="map"] .fo-empty {
  color: #496875;
}
.fo-builder-row {
  display: grid;
  grid-template-columns: 1fr 1fr 130px 95px 1.2fr 42px;
  gap: 7px;
  align-items: center;
  margin: 7px 0;
}
.fo-builder-row button {
  height: 38px;
  border: 0;
  border-radius: 8px;
  background: #f7dedf;
  color: #942a36;
  cursor: pointer;
}
.fo-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.fo-kpi {
  background: #fff;
  border: 1px solid #d8e5ea;
  border-radius: 11px;
  padding: 11px;
}
.fo-kpi b {
  font-size: 22px;
  display: block;
  color: #087da5;
}
.fo-toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2147483600;
  max-width: 360px;
  background: #12384d;
  color: #fff;
  padding: 11px 14px;
  border-radius: 10px;
  box-shadow: 0 12px 35px #0005;
  display: none;
}
.fo-toast.show {
  display: block;
}
.fo-media-preview {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 7px;
}
.fo-chip {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  border-radius: 99px;
  background: #e6f1f4;
  color: #285061;
  padding: 4px 8px;
  font-size: 11px;
}
.fo-scanner {
  position: fixed;
  inset: 0;
  z-index: 2147483700;
  background: #000e;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.fo-scanner video {
  max-width: 700px;
  width: 100%;
  border-radius: 14px;
}
.fo-scanner .fo-btn {
  margin-top: 10px;
}
.fo-hide {
  display: none !important;
}
@media (max-width: 700px) {
  #arb-field-launch {
    right: 12px;
    bottom: 70px;
    padding: 11px 14px;
  }
  .fo-head {
    padding: 9px 11px;
  }
  .fo-main {
    padding: 12px;
  }
  .fo-card.half,
  .fo-card.third {
    grid-column: span 12;
  }
  .fo-form-grid {
    grid-template-columns: 1fr;
  }
  .fo-builder-row {
    grid-template-columns: 1fr 1fr;
  }
  .fo-builder-row .fo-builder-options {
    grid-column: 1/-1;
  }
  .fo-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .fo-map {
    height: 410px;
    border-radius: 17px;
  }
  .fo-map.is-user-resized {
    width: 100% !important;
    height: 410px !important;
    margin: 0 !important;
  }
  .fo-map-resize-handle { display: none; }
  .fo-gis-workspace {
    grid-template-columns: 1fr;
  }
  .fo-layer-panel {
    padding: 10px;
    border-radius: 14px;
  }
  .fo-layer-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 8px;
  }
  .fo-layer-title b { margin: 0; font-size: 13px; }
  .fo-layer-section:nth-of-type(3) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 13px;
  }
  .fo-layer-section:nth-of-type(3) .fo-layer-heading { grid-column: 1/-1; }
  .fo-layer-classification { margin-top: 10px; }
  .fo-3d-disclosure { margin-top: 8px; }
  .fo-map-coordinates { display: none; }
  #arb-fieldops .leaflet-control-attribution { max-width: 78%; font-size: 6.5px; }
  #arb-fieldops .maplibregl-ctrl-attrib { max-width: 78%; font-size: 6.5px; }
  .fo-map-panel {
    padding: 10px !important;
  }
  .fo-map-panel-head,
  .fo-map-assets-head {
    gap: 10px;
  }
  .fo-map-panel-head {
    display: block;
  }
  .fo-map-head-controls {
    justify-content: flex-start;
    margin-top: 10px;
  }
  .fo-dimension-toggle { width: 116px; }
  .fo-map-stats {
    justify-content: flex-start;
    margin-top: 10px;
  }
  .fo-map-stats span {
    min-width: 65px;
    flex: 1;
  }
  .fo-map .fo-map-label {
    font-size: 8.5px;
    line-height: 1.35;
  }
  .fo-map-hud {
    font-size: 8px;
  }
  .fo-map-legend {
    gap: 8px;
  }
  .fo-map-reference-note {
    width: 100%;
    margin-left: 0;
    justify-content: center;
  }
  .fo-map-quality {
    display: none;
  }
  .fo-team-grid {
    grid-template-columns: 1fr;
  }
  .fo-geo-editor {
    grid-template-columns: 1fr;
  }
  .fo-row-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .fo-tabs {
    padding-left: 8px;
  }
  .fo-tab {
    padding: 9px 11px;
  }
}
