@font-face {
  font-family:Battuta;
  src:url('/assets/fonts/NotoSansArabic.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap
}
:root {
  --ink:#1a3034;
  --muted:#697b7f;
  --quiet:#8c9b9e;
  --accent:#187f77;
  --accent-dark:#13665f;
  --accent-soft:#eaf5f2;
  --canvas:#f6f8f9;
  --line:#e8edef;
  --white:#fff;
  --nav:#152c30;
  --warning:#a57231;
  --warning-soft:#fbf3e8;
  --radius:14px;
  --curve:cubic-bezier(.2,.8,.2,1);
  --shadow:0 8px 30px #183a3810
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:Battuta,Tahoma,sans-serif;
  font-size:14px;
  line-height:1.7;
  font-weight:450;
  -webkit-font-smoothing:antialiased
}
button,input,select,textarea {
  font:inherit
}
button,a,select {
  touch-action:manipulation
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:wait;
  opacity:.55
}
a {
  color:inherit;
  text-decoration:none
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:28px;
  font-weight:750;
  line-height:1.5
}
h2 {
  font-size:16px;
  font-weight:700
}
h3 {
  font-size:14px;
  font-weight:650
}
p {
  color:var(--muted);
  text-wrap:pretty
}
strong {
  font-weight:650
}
small {
  font-size:12px
}
.icon {
  width:19px;
  height:19px;
  flex-shrink:0;
  fill:currentColor;
  vertical-align:middle;
  display:inline-block
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #42a399;
  outline-offset:3px
}
button,a {
  transition:background .18s var(--curve),color .18s var(--curve),box-shadow .18s var(--curve),transform .18s var(--curve)
}
button:active,.button:active {
  transform:translateY(1px)
}
.skip-link {
  position:fixed;
  top:-80px;
  right:20px;
  background:var(--accent);
  color:white;
  z-index:70;
  padding:10px 18px;
  border-radius:7px
}
.skip-link:focus {
  top:12px
}
.sidebar {
  position:fixed;
  right:0;
  inset-block:0;
  width:210px;
  background:var(--nav);
  color:#c2d1d3;
  padding:30px 18px 18px;
  display:flex;
  flex-direction:column;
  z-index:30
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  color:#f5faf9;
  font-size:23px;
  line-height:1.2;
  padding:0 10px
}
.brand-mark {
  color:#72c3b2;
  display:grid;
  place-items:center;
  width:38px;
  height:42px
}
.brand-mark .icon {
  width:42px;
  height:42px
}
.brand small {
  display:block;
  font-family:Battuta,sans-serif;
  letter-spacing:3.2px;
  font-size:10px;
  color:#91abad;
  margin-top:9px;
  font-weight:500
}
.workspace-selector {
  display:flex;
  gap:9px;
  align-items:center;
  border:1px solid #ffffff12;
  border-radius:10px;
  margin:32px 0 26px;
  padding:11px;
  font-size:13px;
  line-height:1.6
}
.workspace-selector>span:nth-child(2) {
  flex:1
}
.workspace-selector small {
  display:block;
  color:#91a9ad;
  font-size:10px;
  margin-top:3px
}
.workspace-selector .icon {
  width:13px;
  height:13px;
  color:#92abad
}
.workspace-avatar,.owner-avatar,.profile-mini {
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#ffffff0d;
  color:#c9dad7;
  font-size:16px;
  width:31px;
  height:34px;
  flex-shrink:0
}
.nav-caption {
  font-size:11px;
  color:#7c969c;
  padding:0 13px 10px
}
nav {
  display:grid;
  gap:5px
}
nav button {
  position:relative;
  display:flex;
  gap:12px;
  align-items:center;
  width:100%;
  padding:11px 13px;
  border:0;
  background:transparent;
  color:#adbec2;
  text-align:right;
  border-radius:8px;
  font-size:14px;
  font-weight:500;
  min-height:44px
}
nav button.active {
  background:#244549;
  color:#f3faf8
}
nav button.active:before {
  content:'';
  position:absolute;
  right:0;
  height:18px;
  width:3px;
  background:#73c5af;
  border-radius:2px
}
nav button.active>.icon {
  color:#8bcebd
}
nav button:hover {
  background:#244145;
  color:#f5faf9
}
.nav-count {
  margin-right:auto;
  background:#ffffff0c;
  color:#b8cccb;
  padding:0 6px;
  border-radius:5px;
  font-size:11px
}
.nav-indicator {
  display:none
}
.sidebar-bottom {
  margin-top:auto;
  padding-top:40px
}
.pilot-note {
  background:#ffffff05;
  border:1px solid #ffffff08;
  border-radius:10px;
  padding:17px 13px;
  margin:0 0 24px
}
.pilot-note>.icon {
  width:22px;
  height:22px;
  color:#759b92;
  margin-bottom:13px
}
.pilot-note strong {
  display:block;
  color:#cddcd8;
  font-size:13px
}
.pilot-note p {
  font-size:11px;
  color:#78989c;
  margin:6px 0 15px;
  line-height:1.9
}
.pilot-note button {
  background:transparent;
  border:0;
  padding:0;
  font-size:11px;
  color:#9bc4b9;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%
}
.pilot-note button .icon {
  width:13px;
  height:13px
}
.owner-profile {
  display:flex;
  gap:9px;
  align-items:center;
  border-top:1px solid #ffffff0a;
  padding-top:18px;
  font-size:13px
}
.owner-profile small {
  display:block;
  color:#78949a;
  font-size:10px
}
.owner-avatar {
  background:#b6c6aa;
  color:#263f38;
  font-weight:700
}
.local-badge {
  margin-right:auto;
  border:1px solid #ffffff16;
  border-radius:4px;
  color:#a3b8b9;
  font-size:10px;
  padding:0 5px
}
.app-shell {
  margin-right:210px
}
.topbar {
  height:70px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 32px;
  gap:15px
}
.breadcrumb {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:12px;
  color:var(--quiet)
}
.breadcrumb>.icon:first-child {
  color:#526d70
}
.breadcrumb>.icon:nth-of-type(2) {
  width:11px;
  height:11px
}
.breadcrumb strong {
  color:#4f6367;
  font-weight:550
}
.topbar-tools {
  display:flex;
  align-items:center;
  gap:20px
}
.shortcut {
  display:flex;
  align-items:center;
  gap:9px;
  border:0;
  background:transparent;
  color:#829295;
  font-size:12px;
  padding:7px 0
}
.shortcut>.icon {
  width:15px;
  height:15px
}
.shortcut kbd {
  font-family:inherit;
  direction:ltr;
  font-size:11px;
  padding:0 5px;
  border:1px solid var(--line);
  border-radius:4px;
  color:#98a4a6
}
.topbar-divider {
  width:1px;
  height:20px;
  background:var(--line)
}
.connection {
  display:flex;
  gap:6px;
  align-items:center;
  font-size:11px;
  color:#7d8d8d;
  white-space:nowrap
}
.connection i {
  width:5px;
  height:5px;
  background:#889d9e;
  border-radius:50%
}
.connection.connected i {
  background:#409d83
}
.connection.failed i {
  background:#b07843
}
.profile-mini {
  background:#eef2ec;
  color:#697d61;
  border:2px solid #fff;
  box-shadow:0 0 0 1px #e7ece5;
  width:29px;
  height:29px;
  font-size:14px;
  border-radius:50%
}
main {
  padding:30px 32px 15px;
  max-width:1720px;
  margin:0 auto;
  outline:0!important
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:24px
}
.eyebrow {
  font-size:11px;
  letter-spacing:.15px;
  color:#819395;
  margin-bottom:3px
}
.heading-dot {
  color:var(--accent)
}
.page-heading p {
  font-size:12px;
  color:#687f7d;
  margin-top:3px
}
.page-actions,.header-actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 14px;
  min-height:38px;
  border-radius:7px;
  font-size:12px;
  font-weight:600;
  border:1px solid transparent;
  white-space:nowrap
}
.button .icon {
  width:15px;
  height:15px
}
.primary {
  background:var(--accent);
  color:#fff;
  box-shadow:0 2px 3px #1d635512
}
.primary:hover {
  background:var(--accent-dark);
  box-shadow:0 4px 12px #20645820
}
.secondary {
  background:#fff;
  color:#50686b;
  border-color:#e2e9e9
}
.secondary:hover {
  background:#edf4f2;
  border-color:#d3e1de
}
.text-button {
  background:transparent;
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:var(--accent);
  font-size:12px;
  font-weight:600;
  padding:5px 0
}
.text-button .icon {
  width:14px;
  height:14px
}
.text-button:hover {
  color:var(--accent-dark)
}
input,select,textarea {
  border:1px solid #dfe6e7;
  background:#fff;
  border-radius:7px;
  padding:9px 11px;
  color:var(--ink);
  max-width:100%;
  min-width:0;
  font-size:14px
}
select {
  cursor:pointer
}
.dataset-field {
  display:flex;
  gap:4px;
  align-items:center;
  border:1px solid #e1e8e9;
  background:#fff;
  border-radius:7px;
  padding-right:10px;
  color:#75868a;
  height:38px
}
.dataset-field .icon {
  width:14px;
  height:14px
}
.dataset-field select {
  border:0;
  background:transparent;
  font-size:12px;
  padding:6px 8px;
  max-width:140px
}
.demo-banner {
  display:flex;
  align-items:center;
  gap:9px;
  color:#8c774b;
  background:#fcf8ee;
  border:1px solid #f1e9d5;
  border-radius:8px;
  padding:9px 13px;
  font-size:12px;
  margin-bottom:20px
}
.demo-banner>.icon {
  width:16px;
  height:16px
}
.demo-banner strong {
  font-weight:600
}
.demo-description {
  color:#9d8e6c
}
.demo-banner button {
  margin-right:auto;
  background:none;
  border:0;
  color:#8c774b;
  font-size:11px;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:6px
}
.demo-banner button .icon {
  width:13px;
  height:13px
}
.stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-bottom:26px;
  padding:21px 2px
}
.stat {
  padding:0 23px;
  border-left:1px solid #edf0f1;
  min-height:87px
}
.stat:last-child {
  border:0
}
.stat-top {
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between
}
.stat-label {
  font-size:12px;
  color:#738689
}
.stat-icon {
  width:27px;
  height:27px;
  border-radius:7px;
  display:grid;
  place-items:center;
  background:#f2f6f5;
  color:#78908e
}
.stat-icon .icon {
  width:16px;
  height:16px
}
.stat-value-row {
  display:flex;
  align-items:baseline;
  gap:7px;
  margin-top:7px
}
.stat-number {
  font-variant-numeric:tabular-nums;
  font-size:28px;
  line-height:1.2;
  font-weight:650;
  color:#263f43;
  letter-spacing:-.7px
}
.stat-unit {
  font-size:12px;
  color:#8b9a9c
}
.stat-note {
  font-size:10px;
  color:#667c7d;
  margin-top:9px
}
.stat-note .tiny-dot {
  display:inline-block;
  background:#77a894;
  width:4px;
  height:4px;
  border-radius:50%;
  margin-left:4px
}
.section-line {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-bottom:13px
}
.section-line>div {
  display:flex;
  align-items:center;
  gap:12px
}
.section-line h2 {
  font-size:15px
}
.section-sub {
  font-size:11px;
  color:#708280
}
.tracking-workspace {
  display:grid;
  grid-template-columns:284px minmax(0,1fr);
  min-height:430px;
  max-height:510px;
  border:1px solid #e0e7e7;
  border-radius:14px;
  overflow:hidden;
  background:white;
  box-shadow:0 3px 14px #253f3504
}
.fleet-panel {
  background:#fff;
  display:flex;
  flex-direction:column;
  min-height:0;
  border-left:1px solid #e1e8e5;
  z-index:2
}
.fleet-panel-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:17px 16px 13px
}
.fleet-panel h3 {
  font-size:13px;
  display:flex;
  gap:8px;
  align-items:center
}
.count-badge {
  border-radius:4px;
  background:#f0f4f4;
  color:#7b8d8e;
  padding:0 5px;
  font-size:11px
}
.small {
  font-size:12px
}
.muted {
  color:var(--muted)
}
.fleet-panel-header .small {
  font-size:10px;
  color:#6a7d7f
}
.search-field {
  display:flex;
  gap:8px;
  align-items:center;
  background:#f7f9fa;
  border:1px solid #e9edef;
  border-radius:7px;
  padding:0 10px;
  min-width:0
}
.search-field>.icon {
  width:15px;
  height:15px;
  color:#9ba9ab
}
.search-field input {
  padding:9px 0;
  background:none;
  border:0;
  outline:0;
  width:100%;
  font-size:11px;
  min-height:35px
}
.search-field:focus-within {
  border-color:#87b8ad;
  box-shadow:0 0 0 2px #b2d5ca30
}
.search-field input:focus-visible {
  outline:0
}
.search-field input::placeholder {
  color:#788987
}
.fleet-panel>.search-field {
  margin:0 15px 13px
}
.filter-tabs {
  display:flex;
  gap:4px;
  border-bottom:1px solid var(--line);
  padding:0 15px 12px
}
.filter-tabs button {
  background:none;
  border:0;
  border-radius:5px;
  font-size:11px;
  padding:5px 9px;
  color:#647c7b;
  white-space:nowrap
}
.filter-tabs button.active {
  background:#edf4f1;
  color:var(--accent);
  font-weight:600
}
.filter-tabs button:hover {
  background:#f0f5f4
}
.asset-list {
  overflow:auto;
  flex:1;
  min-height:194px
}
.asset-row {
  display:block;
  position:relative;
  width:100%;
  background:#fff;
  border:0;
  border-bottom:1px solid #eef2f2;
  padding:15px 16px;
  text-align:right;
  color:var(--ink)
}
.asset-row:hover {
  background:#f8fbfa
}
.asset-row.selected {
  background:#f0f7f5
}
.asset-row.selected:before {
  content:'';
  position:absolute;
  right:0;
  top:15px;
  bottom:15px;
  width:3px;
  border-radius:2px;
  background:#3b9a88
}
.asset-top {
  display:flex;
  gap:9px;
  align-items:center
}
.asset-illustration {
  width:38px;
  height:38px;
  border-radius:8px;
  background:#f1f4f4;
  display:grid;
  place-items:center;
  color:#6a8484;
  flex-shrink:0
}
.selected .asset-illustration {
  background:#e0eee8;
  color:#46786b
}
.asset-illustration .icon {
  width:24px;
  height:24px
}
.asset-name {
  font-weight:600;
  font-size:13px;
  overflow-wrap:anywhere
}
.asset-id {
  font-size:10px;
  color:#748683;
  direction:ltr;
  text-align:right;
  font-variant-numeric:tabular-nums
}
.asset-top .asset-state-dot {
  margin-right:auto;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#63a787;
  box-shadow:0 0 0 4px #63a7870d;
  flex-shrink:0
}
.asset-state-dot.stale {
  background:#c9984e;
  box-shadow:0 0 0 4px #c9984e0d
}
.asset-state-dot.missing {
  background:#acb5b7;
  box-shadow:none
}
.asset-site {
  margin:11px 0 8px;
  display:flex;
  gap:5px;
  align-items:center;
  font-size:10px;
  color:#667e76
}
.asset-site .icon {
  width:12px;
  height:12px
}
.asset-meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:6px;
  font-size:10px;
  color:#6d817a
}
.asset-hours {
  display:flex;
  align-items:center;
  gap:4px;
  color:#687e79;
  font-size:11px
}
.asset-hours .icon {
  width:12px;
  height:12px
}
.fleet-panel-foot {
  display:flex;
  gap:6px;
  padding:10px 14px;
  border-top:1px solid #edf1f0;
  color:#71827d;
  font-size:10px;
  margin-top:auto;
  align-items:center
}
.fleet-panel-foot .icon {
  width:11px;
  height:11px
}
.map-pane {
  position:relative;
  background:#edf2ee;
  min-height:430px;
  overflow:hidden
}
.map-pane #map {
  position:absolute;
  inset:0;
  isolation:isolate
}
.coordinate-map {
  width:100%;
  height:100%;
  display:block;
  background:#edf2ee
}
.coordinate-map text {
  font-family:Battuta,sans-serif;
  direction:rtl;
  fill:#7b9386;
  font-size:14px
}
.coordinate-map .farm-label {
  font-weight:550;
  font-size:14px;
  paint-order:stroke;
  stroke:#eef3eb;
  stroke-width:4px;
  stroke-linejoin:round
}
.coordinate-map .asset-map-label {
  fill:#2c4d45;
  font-size:13px;
  font-weight:650;
  paint-order:stroke;
  stroke:white;
  stroke-width:6px;
  stroke-linejoin:round
}
.coordinate-map .axis-label {
  fill:#a1b1a5;
  direction:ltr;
  font-size:10px;
  font-family:monospace
}
.map-heading {
  position:absolute;
  top:15px;
  right:17px;
  display:flex;
  gap:7px;
  z-index:3
}
.map-mode,.map-button {
  display:inline-flex;
  gap:7px;
  align-items:center;
  background:#ffffffed;
  color:#667d76;
  border:1px solid #e6ece5;
  padding:6px 9px;
  border-radius:6px;
  box-shadow:0 2px 5px #40544605;
  font-size:11px;
  min-height:31px
}
.map-mode .icon,.map-button .icon {
  width:14px;
  height:14px
}
.map-button[aria-pressed=true] {
  background:#f4faf6;
  color:#217b69;
  border-color:#d8e9dc
}
.map-top-actions {
  position:absolute;
  top:15px;
  left:15px;
  display:grid;
  justify-items:center;
  gap:18px
}
.icon-button {
  border:1px solid var(--line);
  background:#fff;
  border-radius:7px;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#7a8b8e;
  padding:0
}
.icon-button:hover {
  background:#eff5f2
}
.icon-button .icon {
  width:16px;
  height:16px
}
.north-marker {
  font-size:10px;
  color:#7b9287;
  display:grid;
  justify-items:center;
  line-height:1
}
.north-marker span {
  font-size:21px;
  margin-top:4px
}
.map-controls {
  position:absolute;
  bottom:56px;
  left:15px;
  display:grid;
  background:#fff;
  border:1px solid #e4eae4;
  border-radius:7px;
  box-shadow:0 4px 12px #3c594017;
  overflow:hidden
}
.map-controls button {
  border:0;
  background:#fff;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:#6c827b;
  border-bottom:1px solid #edf0eb
}
.map-controls button:last-child {
  border-bottom:0
}
.map-controls button .icon {
  width:16px;
  height:16px
}
.map-controls button:hover {
  background:#eef5f0
}
.map-footer {
  position:absolute;
  bottom:0;
  inset-inline:0;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 14px;
  font-size:10px;
  color:#87998c;
  background:#f5f8f2e8;
  backdrop-filter:blur(8px);
  border-top:1px solid #e1e9de;
  z-index:3
}
.map-footer span:first-child {
  max-width:78%
}
.map-footer span:last-child {
  white-space:nowrap
}
.map-empty {
  height:100%;
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#96a99b;
  text-align:center;
  gap:13px;
  padding:50px 40px;
  background-image:linear-gradient(#c9d9ce22 1px,transparent 1px),linear-gradient(90deg,#c9d9ce22 1px,transparent 1px);
  background-size:35px 35px
}
.map-empty>.icon {
  width:48px;
  height:48px;
  color:#aac0ac
}
.map-empty strong {
  font-size:15px;
  color:#6f8b76
}
.map-empty p {
  font-size:12px;
  color:#8fa08f;
  max-width:220px
}
.tracking-workspace.expanded {
  position:fixed;
  inset:22px;
  z-index:50;
  max-height:none;
  box-shadow:0 0 0 100vmax #172b3466
}
.tracking-workspace.expanded .map-pane {
  min-height:0
}
.inspector {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:17px 20px;
  margin:13px 0 25px;
  display:grid;
  grid-template-columns:minmax(195px,1.45fr) 1fr 1fr minmax(160px,1.1fr);
  gap:18px;
  align-items:center
}
.inspector-identity {
  display:flex;
  gap:12px;
  align-items:center;
  min-width:0
}
.inspector-art {
  background:#f3f6f3;
  color:#708e7f;
  border-radius:10px;
  display:grid;
  place-items:center;
  width:55px;
  height:56px;
  flex-shrink:0
}
.inspector-art>.icon {
  width:37px;
  height:37px
}
.detail-name {
  font-size:14px;
  font-weight:650;
  overflow-wrap:anywhere
}
.detail-sub {
  color:#738579;
  font-size:10px;
  margin-top:4px
}
.inspector-metric {
  border-right:1px solid #eaf0ec;
  padding-right:20px;
  min-width:0
}
.inspector-metric span {
  display:block;
  color:#657d71;
  font-size:10px
}
.inspector-metric strong {
  font-size:22px;
  line-height:1.8;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  color:#37554d
}
.inspector-metric strong.unknown-value {
  font-size:14px
}
.inspector-metric small {
  font-size:11px;
  color:#90a198;
  margin-right:5px
}
.inspector-location .pill {
  margin-bottom:6px
}
.inspector-location time {
  font-size:10px;
  color:#6e8274;
  display:block
}
.inspector-location .text-button {
  font-size:10px;
  padding:0
}
.detail-quality {
  grid-column:1/-1;
  display:flex;
  gap:5px;
  align-items:center;
  font-size:10px;
  color:#846f41;
  border-top:1px solid #f0f2ed;
  padding-top:9px;
  margin-top:-6px
}
.detail-quality .icon {
  width:12px;
  height:12px
}
.overview-bottom {
  display:grid;
  grid-template-columns:minmax(0,1.75fr) minmax(245px,1fr);
  gap:18px
}
.surface {
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden
}
.card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:19px 20px 17px
}
.card-head h2 {
  font-size:14px
}
.card-head p {
  font-size:10px;
  margin-top:4px;
  color:#6e8082
}
.card-head>.icon {
  color:#92a39d;
  width:17px;
  height:17px
}
.table-wrap {
  overflow-x:auto
}
table {
  border-collapse:collapse;
  width:100%;
  white-space:nowrap;
  text-align:right;
  font-size:12px
}
th {
  background:#fafbfb;
  color:#647d7d;
  font-size:10px;
  font-weight:500;
  padding:11px 17px;
  border-block:1px solid #eef2f2
}
td {
  padding:13px 17px;
  border-bottom:1px solid #eef2f2;
  color:#60797b;
  font-size:11px;
  font-variant-numeric:tabular-nums
}
tr:last-child td {
  border-bottom:0
}
tbody tr:hover {
  background:#fafcfb
}
.name-cell strong {
  display:block;
  font-size:12px;
  color:#385055
}
.name-cell small {
  display:block;
  font-size:10px;
  color:#708282
}
.row-select {
  border:0;
  background:none;
  padding:0;
  color:var(--ink);
  text-align:right
}
.pill {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 6px;
  border-radius:4px;
  font-size:10px;
  white-space:nowrap;
  font-weight:500
}
.pill:before {
  content:'';
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  opacity:.7
}
.pill.green {
  background:#edf7f0;
  color:#447654
}
.pill.amber {
  background:#fcf5e9;
  color:#946d32
}
.pill.neutral {
  background:#f1f4f4;
  color:#6b807c
}
.allocation-body {
  padding:0 20px 20px
}
.allocation-total {
  display:flex;
  align-items:baseline;
  gap:7px;
  margin:0 0 14px
}
.allocation-total strong {
  font-size:27px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  color:#38584f
}
.allocation-total span {
  font-size:11px;
  color:#748272
}
.allocation-bar {
  display:flex;
  gap:3px;
  direction:rtl;
  height:7px;
  border-radius:3px;
  overflow:hidden;
  margin-bottom:20px;
  background:#f1f4f1
}
.allocation-bar span {
  height:100%;
  min-width:0
}
.allocation-row {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  margin-top:10px;
  color:#6f8272
}
.allocation-row i {
  width:6px;
  height:6px;
  border-radius:2px;
  flex-shrink:0
}
.allocation-row strong {
  margin-right:auto;
  color:#5d786c;
  font-size:12px;
  font-weight:550;
  font-variant-numeric:tabular-nums
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:6px 0 20px
}
.section-heading h2 {
  font-size:18px
}
.section-heading p {
  font-size:13px;
  margin-top:5px
}
.list-toolbar {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:17px 20px;
  align-items:center
}
.list-toolbar .search-field {
  width:300px;
  max-width:70%
}
.list-toolbar input {
  font-size:12px
}
.inventory-kind {
  display:flex;
  align-items:center;
  gap:10px
}
.inventory-kind .asset-illustration {
  width:33px;
  height:33px
}
.inventory-kind .asset-illustration .icon {
  width:20px;
  height:20px
}
.farm-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.farm-card {
  overflow:hidden
}
.farm-preview {
  height:140px;
  background:#eef4ef;
  border-bottom:1px solid #e7efe8;
  position:relative;
  display:grid;
  place-items:center
}
.farm-preview svg {
  width:100%;
  height:100%;
  display:block
}
.farm-preview .farm-preview-label {
  position:absolute;
  top:15px;
  right:16px;
  font-size:10px;
  letter-spacing:.8px;
  color:#91a594;
  direction:ltr
}
.farm-content {
  padding:21px
}
.farm-card h3 {
  font-size:17px
}
.farm-card .farm-id {
  font-size:11px;
  color:#a0ada7;
  direction:ltr;
  text-align:right
}
.farm-stats {
  display:flex;
  gap:22px;
  margin:17px 0 20px
}
.farm-stats span {
  color:#99a69e;
  font-size:11px;
  display:block
}
.farm-stats strong {
  font-size:20px;
  color:#486557;
  font-weight:600
}
.farm-card-foot {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #edf2ed;
  padding-top:12px
}
.report-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px
}
.report-summary .summary-item {
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:17px 20px;
  display:flex;
  align-items:center;
  gap:14px
}
.report-summary .summary-item>.icon {
  color:#71a18b;
  width:26px;
  height:26px
}
.summary-item span {
  font-size:12px;
  color:#6a8270;
  display:block
}
.summary-item strong {
  font-size:22px;
  color:#466657;
  display:block;
  font-weight:600
}
.date-field {
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:7px;
  padding:0 9px;
  gap:5px;
  color:#6e8575
}
.date-field .icon {
  width:15px;
  height:15px
}
.date-field input {
  border:0;
  background:transparent;
  font-size:12px;
  padding:7px 3px
}
.quiet-note {
  display:flex;
  align-items:flex-start;
  gap:7px;
  font-size:12px;
  color:#748474;
  padding:16px 1px;
  line-height:1.9
}
.quiet-note .icon {
  width:14px;
  height:14px;
  margin-top:2px;
  flex-shrink:0
}
.integration-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:20px
}
.padded {
  padding:25px
}
.padded h2 {
  font-size:17px;
  margin:14px 0 6px
}
.padded p {
  font-size:13px;
  color:#698473;
  line-height:2
}
.section-icon {
  width:38px;
  height:38px;
  background:#eef6f1;
  color:#77a18d;
  display:grid;
  place-items:center;
  border-radius:9px
}
.section-icon .icon {
  width:21px;
  height:21px
}
.upload {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  background:#f8fbf8;
  border:1px dashed #c6dacf;
  border-radius:10px;
  padding:28px 20px;
  cursor:pointer;
  margin:23px 0 18px;
  color:#51836c;
  transition:background .18s var(--curve)
}
.upload:hover {
  background:#f0f7f1
}
.upload>.icon {
  width:28px;
  height:28px;
  margin-bottom:8px;
  color:#83a992
}
.upload strong {
  font-size:14px
}
.upload span {
  font-size:11px;
  color:#a0b1a4
}
.padded summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#738c7c;
  font-size:12px;
  cursor:pointer
}
.padded summary .icon {
  width:12px;
  height:12px
}
.padded pre {
  font-size:12px;
  overflow:auto;
  background:#f4f7f4;
  padding:14px;
  border-radius:6px;
  margin:14px 0
}
.padded details p {
  font-size:12px
}
.readiness-list {
  list-style:none;
  padding:0;
  margin:22px 0 0
}
.readiness-list li {
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:17px 0;
  border-top:1px solid #edf1ec
}
.readiness-list li:first-child {
  border-top:0;
  padding-top:0
}
.step-number {
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border:1px solid #dfebe1;
  background:#f7faf7;
  border-radius:50%;
  font-size:12px;
  color:#8aab93;
  flex-shrink:0
}
.readiness-list li>div {
  flex:1
}
.readiness-list strong {
  font-size:13px;
  font-weight:600;
  color:#587662
}
.readiness-list p {
  font-size:11px;
  margin-top:4px
}
.readiness-list .pill {
  font-size:9px
}
.notice {
  border:1px solid #e6eade;
  background:#f4f7ee;
  color:#7c8968;
  border-radius:8px;
  padding:12px 16px;
  font-size:13px;
  margin-bottom:18px
}
.notice.error {
  background:#fff5f1;
  border-color:#f2d8cf;
  color:#a45f4c
}
.empty {
  padding:34px 22px;
  text-align:center;
  color:#a0aaa9
}
.empty>.icon {
  width:32px;
  height:32px;
  color:#a5bcaf;
  margin-bottom:14px
}
.empty h3 {
  font-size:14px;
  color:#718981;
  margin-bottom:8px;
  font-weight:550
}
.empty p {
  font-size:12px;
  color:#99a8a2;
  max-width:320px;
  margin:auto
}
.empty .button {
  margin-top:17px
}
.asset-list .empty {
  padding:30px 22px
}
.asset-list .empty h3 {
  font-size:13px
}
.asset-list .empty p {
  font-size:11px
}
.inspector>.empty {
  grid-column:1/-1;
  padding:12px
}
.inspector>.empty .icon {
  display:none
}
.inspector>.empty h3 {
  font-size:13px;
  display:inline;
  margin-left:12px
}
.inspector>.empty p {
  font-size:11px;
  display:inline
}
.allocation-summary .empty {
  padding:15px 20px 26px
}
.allocation-summary .empty>.icon {
  display:none
}
footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#a3b0ad;
  font-size:10px;
  padding:22px 0 6px;
  margin-top:10px
}
footer>span:first-child {
  display:flex;
  align-items:center;
  gap:6px
}
.footer-mark .icon {
  width:13px;
  height:13px;
  color:#98aba2
}
.footer-separator {
  color:#ced6d0;
  padding:0 5px
}
dialog {
  width:640px;
  max-width:calc(100vw - 24px);
  padding:0;
  border:1px solid #dfe8e4;
  border-radius:15px;
  box-shadow:0 30px 100px #152c3033;
  color:var(--ink);
  max-height:90dvh
}
dialog::backdrop {
  background:#142e376b;
  backdrop-filter:blur(3px)
}
.dialog-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 25px;
  border-bottom:1px solid var(--line);
  background:#fafcfb
}
.dialog-head h2 {
  font-size:21px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  padding:24px 25px 0
}
.form-grid label {
  display:grid;
  gap:7px;
  font-size:12px;
  color:#678073
}
.form-grid label.full {
  grid-column:1/-1
}
.form-grid input,.form-grid select,.form-grid textarea {
  font-size:14px;
  border-color:#e0e9e2;
  color:#375445;
  min-height:40px
}
.form-grid input[readonly] {
  background:#f4f7f4;
  color:#9daaa0
}
.form-grid textarea {
  resize:vertical;
  min-height:80px
}
.form-grid label.check {
  display:flex;
  align-items:center;
  gap:8px
}
.form-grid input[type=checkbox] {
  width:16px;
  height:16px;
  min-height:16px;
  accent-color:var(--accent)
}
.form-grid small {
  font-size:11px;
  color:#94a698;
  line-height:1.9
}
.form-actions {
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  background:#fafcfb;
  border-top:1px solid var(--line);
  padding:16px 25px;
  margin-top:20px
}
.form-actions>.small {
  margin-left:auto;
  font-size:10px;
  color:#9aaba0
}
.error-text {
  font-size:12px;
  color:#b06750;
  padding:12px 25px 0
}
.error-text:empty {
  display:none
}
#toast {
  position:fixed;
  bottom:24px;
  left:30px;
  z-index:70;
  max-width:calc(100vw - 40px);
  padding:13px 20px;
  background:#244b40;
  color:#f0faf2;
  border:1px solid #517e6233;
  border-radius:9px;
  box-shadow:0 8px 35px #29462d25;
  font-size:13px;
  display:flex;
  gap:9px;
  align-items:center
}
.loading-bar {
  position:fixed;
  top:0;
  inset-inline:0;
  height:2px;
  z-index:80;
  background:linear-gradient(90deg,transparent,#55a990,transparent);
  animation:load-slide 1.4s var(--curve) infinite
}
.skeleton {
  background:linear-gradient(100deg,#fff,#f3f6f5,#fff);
  background-size:200% 100%;
  animation:skeleton 1.4s var(--curve) infinite
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
[hidden] {
  display:none!important
}
@keyframes load-slide {
  0% {
    transform:translateX(100%)
  }
  100% {
    transform:translateX(-100%)
  }
}
@keyframes skeleton {
  to {
    background-position:-200% 0
  }
}
@keyframes fade-in {
  from {
    opacity:0;
    transform:translateY(4px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
.view:not([hidden]) {
  animation:fade-in .25s var(--curve)
}
@media(min-width:1550px) {
  .tracking-workspace {
    grid-template-columns:310px minmax(0,1fr);
    min-height:495px
  }
  .map-pane {
    min-height:495px
  }
  main {
    padding:34px 42px
  }
  .topbar {
    padding-inline:42px
  }
  .stat {
    padding-inline:28px
  }
  .stat-number {
    font-size:32px
  }
}
@media(max-width:1200px) {
  .sidebar {
    width:186px;
    padding-inline:12px
  }
  .brand {
    font-size:21px;
    padding-inline:8px
  }
  .brand-mark .icon {
    width:35px;
    height:35px
  }
  .app-shell {
    margin-right:186px
  }
  main {
    padding:25px 22px
  }
  .topbar {
    padding-inline:22px
  }
  .tracking-workspace {
    grid-template-columns:252px minmax(0,1fr)
  }
  .stat {
    padding-inline:16px
  }
  .stat-label {
    font-size:11px
  }
  .stat-number {
    font-size:26px
  }
  .stat-icon {
    width:23px;
    height:23px
  }
  .inspector {
    grid-template-columns:1.2fr 1fr 1fr;
    gap:15px
  }
  .inspector-location {
    grid-column:1/-1;
    display:flex;
    gap:12px;
    align-items:center;
    border-top:1px solid var(--line);
    padding-top:10px
  }
  .inspector-location .pill {
    margin:0
  }
  .inspector-location .text-button {
    margin-right:auto
  }
  .overview-bottom {
    grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)
  }
  .shortcut span:not(.icon) {
    display:none
  }
  .topbar-tools {
    gap:13px
  }
  .section-sub {
    display:none
  }
  .page-heading h1 {
    font-size:25px
  }
  .page-actions {
    gap:6px
  }
  .button {
    padding:8px 10px
  }
  .integration-grid {
    grid-template-columns:1fr
  }
  .farm-grid {
    gap:15px
  }
}
@media(max-width:960px) {
  .sidebar {
    width:76px;
    padding:23px 12px 15px
  }
  .brand {
    padding:0;
    justify-content:center
  }
  .brand>span:last-child,.workspace-selector,.nav-caption,.pilot-note,.owner-profile>div,.owner-profile>.local-badge {
    display:none
  }
  .brand-mark {
    width:42px
  }
  .sidebar nav {
    margin-top:40px;
    gap:14px
  }
  nav button {
    padding:0;
    width:48px;
    height:48px;
    justify-content:center
  }
  nav button>span:not([data-icon]) {
    display:none
  }
  nav button>.icon {
    width:23px;
    height:23px
  }
  nav button.active:before {
    display:none
  }
  .owner-profile {
    justify-content:center
  }
  .owner-avatar {
    width:34px;
    height:34px
  }
  .app-shell {
    margin-right:76px
  }
  .tracking-workspace {
    grid-template-columns:244px minmax(0,1fr)
  }
  .overview-bottom {
    grid-template-columns:1fr
  }
  .allocation-body {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 30px
  }
  .allocation-total,.allocation-bar {
    grid-column:1/-1
  }
  .allocation-bar {
    margin-bottom:5px
  }
  .allocation-row {
    margin-top:8px
  }
  .page-heading {
    align-items:flex-start
  }
  .page-actions {
    max-width:245px;
    justify-content:flex-end
  }
  .page-heading h1 {
    font-size:25px
  }
  .page-actions>.button.primary {
    display:none
  }
  .stat-note {
    font-size:9px
  }
  .stat {
    padding-inline:12px
  }
  .stats {
    padding-block:16px
  }
  .stat-icon {
    display:none
  }
  .report-summary {
    gap:10px
  }
  .report-summary .summary-item {
    padding:14px;
    gap:9px
  }
  .summary-item strong {
    font-size:20px
  }
  .report-summary .summary-item>.icon {
    width:20px;
    height:20px
  }
  .topbar {
    height:63px
  }
}
@media(max-width:700px) {
  .sidebar {
    top:auto;
    bottom:0;
    width:100%;
    height:66px;
    padding:5px 9px calc(5px + env(safe-area-inset-bottom));
    background:#fff;
    border-top:1px solid #e3ece7;
    box-shadow:0 -4px 25px #29423908
  }
  .sidebar>.brand,.sidebar-bottom {
    display:none
  }
  .sidebar nav {
    display:flex;
    justify-content:space-around;
    margin:0;
    gap:0
  }
  nav button {
    display:flex;
    flex-direction:column;
    width:61px;
    height:54px;
    gap:4px;
    padding:5px 2px;
    background:transparent;
    color:#a0b1a8;
    border-radius:8px
  }
  nav button.active {
    background:#eff7f2;
    color:#477a66
  }
  nav button.active>.icon {
    color:#39816a
  }
  nav button>.icon {
    width:20px;
    height:20px
  }
  nav button>span:not([data-icon]) {
    display:block;
    font-size:10px;
    white-space:nowrap
  }
  nav button>.nav-count,nav button>.nav-indicator {
    display:none!important
  }
  .app-shell {
    margin:0
  }
  .topbar {
    height:56px;
    padding:0 17px
  }
  .breadcrumb {
    font-size:10px;
    gap:7px
  }
  .breadcrumb>.icon:first-child {
    width:17px;
    height:17px
  }
  .topbar-tools {
    gap:12px
  }
  .topbar-divider,.shortcut,.connection {
    display:none
  }
  .profile-mini {
    width:26px;
    height:26px;
    font-size:12px
  }
  main {
    padding:21px 16px 80px
  }
  .page-heading {
    display:block;
    margin-bottom:19px
  }
  .page-heading h1 {
    font-size:27px
  }
  .page-heading .eyebrow {
    font-size:11px
  }
  .page-heading p {
    font-size:12px
  }
  .page-actions {
    max-width:none;
    margin-top:17px;
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:7px;
    justify-content:normal
  }
  .page-actions>.button.primary {
    display:inline-flex
  }
  .dataset-field {
    height:37px;
    min-width:0
  }
  .dataset-field select {
    width:100%;
    font-size:12px;
    max-width:none
  }
  .button {
    min-height:37px;
    font-size:12px;
    padding:8px 10px
  }
  .button .icon {
    width:15px;
    height:15px
  }
  .demo-banner {
    font-size:11px;
    line-height:1.8;
    align-items:flex-start;
    padding:10px;
    margin-bottom:19px
  }
  .demo-banner>.icon {
    margin-top:2px;
    flex-shrink:0
  }
  .demo-description {
    display:none
  }
  .demo-banner button {
    font-size:10px;
    gap:4px;
    margin-top:2px
  }
  .demo-banner button .icon {
    width:11px
  }
  .stats {
    grid-template-columns:1fr 1fr;
    padding:0;
    gap:0;
    overflow:hidden;
    margin-bottom:22px
  }
  .stat {
    padding:16px 18px;
    min-height:118px;
    border-bottom:1px solid var(--line)
  }
  .stat:nth-child(2) {
    border-left:0
  }
  .stat:nth-child(3) {
    border-bottom:0
  }
  .stat:last-child {
    border:0
  }
  .stat-icon {
    display:grid;
    width:24px;
    height:24px
  }
  .stat-label {
    font-size:11px
  }
  .stat-number {
    font-size:28px
  }
  .stat-note {
    font-size:9px;
    margin-top:9px
  }
  .stat-top {
    gap:4px
  }
  .stat-unit {
    font-size:10px
  }
  .stat-value-row {
    margin-top:7px
  }
  .section-line h2 {
    font-size:15px
  }
  .section-line .text-button {
    font-size:11px
  }
  .tracking-workspace {
    display:flex;
    flex-direction:column;
    max-height:none;
    min-height:0;
    border-radius:12px
  }
  .map-pane {
    order:-1;
    height:310px;
    min-height:310px;
    border-bottom:1px solid #dfe7df
  }
  .fleet-panel {
    border-left:0
  }
  .fleet-panel-header {
    padding:14px 15px 10px
  }
  .fleet-panel>.search-field {
    margin-bottom:10px
  }
  .filter-tabs {
    padding-bottom:10px
  }
  .asset-list {
    min-height:0;
    max-height:270px;
    display:flex;
    flex-direction:column
  }
  .asset-row {
    padding:14px 16px
  }
  .asset-top {
    gap:10px
  }
  .asset-illustration {
    width:34px;
    height:34px
  }
  .asset-illustration .icon {
    width:22px;
    height:22px
  }
  .asset-name {
    font-size:13px
  }
  .asset-site {
    margin:7px 44px 5px 0;
    font-size:11px
  }
  .asset-meta {
    margin-right:44px
  }
  .fleet-panel-foot {
    font-size:10px
  }
  .map-heading {
    top:12px;
    right:12px;
    gap:5px
  }
  .map-mode,.map-button {
    font-size:10px;
    padding:5px 7px;
    min-height:29px
  }
  .map-top-actions {
    top:12px;
    left:12px
  }
  .map-footer {
    font-size:9px;
    line-height:1.7;
    padding:7px 10px;
    align-items:flex-end
  }
  .map-footer span:last-child {
    display:none
  }
  .map-footer span:first-child {
    max-width:100%
  }
  .map-controls {
    left:12px;
    bottom:44px
  }
  .map-controls button {
    width:30px;
    height:30px
  }
  .north-marker {
    font-size:9px
  }
  .north-marker span {
    font-size:17px
  }
  .tracking-workspace.expanded {
    inset:9px 9px 76px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:1fr;
    max-height:none
  }
  .tracking-workspace.expanded .fleet-panel {
    display:none
  }
  .tracking-workspace.expanded .map-pane {
    height:100%;
    min-height:0;
    order:0
  }
  .inspector {
    grid-template-columns:1fr 1fr;
    padding:16px;
    gap:17px;
    margin-bottom:21px
  }
  .inspector-identity {
    grid-column:1/-1;
    gap:10px
  }
  .inspector-art {
    width:45px;
    height:45px
  }
  .inspector-art .icon {
    width:31px;
    height:31px
  }
  .detail-name {
    font-size:14px
  }
  .detail-sub {
    font-size:11px
  }
  .inspector-metric {
    padding-right:0;
    border:0;
    border-top:1px solid #edf2ed;
    padding-top:11px
  }
  .inspector-metric span {
    font-size:11px
  }
  .inspector-metric strong {
    font-size:26px
  }
  .inspector-metric small {
    font-size:11px
  }
  .inspector-location {
    padding-top:10px;
    gap:9px;
    flex-wrap:wrap
  }
  .inspector-location time {
    font-size:10px
  }
  .detail-quality {
    font-size:10px;
    align-items:flex-start;
    line-height:1.9;
    margin-top:-6px
  }
  .detail-quality .icon {
    margin-top:2px
  }
  .overview-bottom {
    gap:17px
  }
  .card-head {
    padding:17px 16px
  }
  .card-head h2 {
    font-size:14px
  }
  .card-head p {
    font-size:10px
  }
  .card-head .text-button {
    font-size:11px
  }
  .allocation-body {
    padding-inline:17px;
    display:block
  }
  .allocation-total strong {
    font-size:30px
  }
  .allocation-bar {
    margin-bottom:18px
  }
  .allocation-row {
    font-size:12px;
    margin-top:12px
  }
  .allocation-row strong {
    font-size:13px
  }
  table {
    font-size:12px
  }
  th {
    font-size:10px;
    padding:11px 14px
  }
  td {
    padding:13px 14px;
    font-size:11px
  }
  .name-cell strong {
    font-size:12px
  }
  .pill {
    font-size:10px
  }
  .section-heading {
    align-items:flex-start;
    flex-wrap:wrap;
    margin-bottom:17px;
    gap:15px
  }
  .section-heading h2 {
    font-size:20px
  }
  .section-heading p {
    font-size:13px
  }
  .section-heading .header-actions {
    width:100%;
    justify-content:space-between
  }
  .section-heading>.button {
    margin-right:auto
  }
  .list-toolbar {
    padding:14px;
    gap:12px
  }
  .list-toolbar .search-field {
    max-width:75%
  }
  .list-toolbar .small {
    font-size:10px
  }
  .farm-grid {
    grid-template-columns:1fr
  }
  .farm-preview {
    height:150px
  }
  .farm-content {
    padding:20px
  }
  .farm-card h3 {
    font-size:18px
  }
  .report-summary {
    grid-template-columns:1fr;
    gap:9px
  }
  .report-summary .summary-item {
    padding:14px 17px;
    gap:12px
  }
  .report-summary .summary-item>div {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex:1
  }
  .summary-item strong {
    font-size:24px
  }
  .summary-item span {
    font-size:12px
  }
  .quiet-note {
    font-size:11px;
    padding-block:14px
  }
  .integration-grid {
    grid-template-columns:1fr;
    gap:17px
  }
  .padded {
    padding:20px
  }
  .padded h2 {
    font-size:19px
  }
  .readiness-list li {
    gap:9px
  }
  .readiness-list p {
    font-size:11px
  }
  .readiness-list strong {
    font-size:13px
  }
  .readiness-list .pill {
    font-size:9px
  }
  .form-grid {
    grid-template-columns:1fr;
    padding:20px;
    gap:16px
  }
  .form-grid label.full {
    grid-column:auto
  }
  .dialog-head {
    padding:20px
  }
  .dialog-head h2 {
    font-size:20px
  }
  .form-grid input,.form-grid select,.form-grid textarea {
    font-size:16px
  }
  .form-actions {
    padding:15px 20px
  }
  .form-actions>.small {
    display:none
  }
  .form-grid label {
    font-size:13px
  }
  .form-grid small {
    font-size:11px
  }
  .form-grid input[type=checkbox] {
    width:17px;
    min-width:17px
  }
  .error-text {
    padding-inline:20px
  }
  footer {
    align-items:flex-start;
    flex-direction:column;
    font-size:10px;
    gap:6px;
    padding-top:19px
  }
  #toast {
    left:16px;
    right:16px;
    bottom:80px;
    max-width:none;
    justify-content:center;
    font-size:12px
  }
  .empty {
    padding:28px 20px
  }
  .inspector>.empty h3,.inspector>.empty p {
    display:block;
    margin:4px auto
  }
  .map-empty {
    padding:48px 35px;
    min-height:0
  }
  .map-empty strong {
    font-size:14px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}

/* Shared hosting sign-in; the data API enforces the same gate server-side. */
.auth-screen { min-height:100dvh; display:grid; place-items:center; padding:24px; background:#f4f7f6; }
.auth-screen[hidden] { display:none; }
.auth-card { width:min(100%,440px); padding:36px; background:white; border:1px solid #e1e8e5; border-radius:20px; box-shadow:0 12px 48px #142a2d0d; }
.auth-card .brand-mark { display:block; color:#178579; margin-bottom:28px; width:46px; height:46px; }
.auth-card h1 { font-size:26px; margin:12px 0; }
.auth-card p { line-height:1.9; }
.auth-card label { display:grid; gap:8px; margin:20px 0; }
.auth-card label[hidden] { display:none; }
.auth-card input { width:100%; padding:12px; border:1px solid #cedad5; border-radius:8px; font:inherit; }
.auth-card .button { width:100%; justify-content:center; }
.auth-locked > .sidebar,.auth-locked > .app-shell,.auth-locked > .skip-link,.auth-locked > dialog,.auth-locked > #toast { display:none!important; }
@media(max-width:480px) { .auth-screen{padding:16px}.auth-card{padding:26px}.auth-card h1{font-size:24px} }

/* The public trial uses this browser only; workspace controls remain behind auth. */
.public-demo .dataset-field { display:none; }
.public-demo #logout, #auth-form[hidden], #reset-demo[hidden], #workspace-link[hidden] { display:none; }
.demo-storage-note { color:#50655c; font-size:13px; line-height:1.9; margin:0 0 10px; }
.public-demo .demo-banner { flex-wrap:wrap; }
.public-demo .demo-banner button { margin-inline-start:0; }
.public-demo .demo-banner > span:nth-child(2) { flex:1 1 280px; }
.public-demo #workspace-link { font-size:12px; white-space:nowrap; }
@media(max-width:480px) { .public-demo .topbar-tools { gap:8px; }.public-demo #connection-status { display:none; }.public-demo .demo-banner button { flex:1 1 130px; }.public-demo .demo-description { display:inline; } }
