/* Operational workspace. Keep essential actions visible; reveal secondary detail
   on demand. Map-canvas geometry is owned by field-console.css. */
body.field-console {
  --font-ui:
    ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  --font-display: var(--font-ui);
  --text: #20342c;
  --text-muted: #53665c;
  --line: #dce5de;
  --line-strong: #bdccc1;
  --bg-soft: #f7f9f6;
  --bg-muted: #f1f5f0;
  font-family: var(--font-ui);
}
body.field-console button,
body.field-console input,
body.field-console select,
body.field-console textarea {
  font-family: inherit;
}
body.field-console input::placeholder,
body.field-console textarea::placeholder {
  color: #68796f;
  opacity: 1;
}
body.field-console input:not([type="checkbox"]):not([type="radio"]),
body.field-console select {
  min-height: 44px;
}
body.field-console input,
body.field-console select,
body.field-console textarea {
  font-size: 14px;
  font-weight: 400;
}
body.field-console
  :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #087f68;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px #fff;
}
body.field-console .app-nav__brand {
  letter-spacing: -0.7px;
}
body.field-console .app-nav__search {
  width: 248px;
}
body.field-console .app-nav__search input {
  min-height: 38px;
}
body.field-console .app-nav__link {
  font-size: 12px;
}
body.field-console .app-nav__signals button {
  min-height: 40px;
}
body.field-console .app-main {
  padding-top: 24px;
}
body.field-console .app__header {
  margin-bottom: 24px;
  align-items: center;
}
body.field-console .app__header .eyebrow {
  display: none;
}
body.field-console #app-header-title {
  font-size: 30px;
  margin: 0 0 6px;
  letter-spacing: -0.9px;
}
body.field-console .subhead {
  font-size: 14px;
  line-height: 1.5;
}
body.field-console .workspace-mode-warning {
  margin-bottom: 20px;
  padding: 0 12px;
  background: #fff8e7;
}
body.field-console .workspace-mode-warning summary {
  min-height: 36px;
  align-content: center;
  font-size: 12px;
}
body.field-console .workspace-mode-warning[open] {
  padding-bottom: 10px;
}
body.field-console .workspace-mode-warning span {
  max-width: 72ch;
}
body.field-console .card {
  padding: 20px;
}
body.field-console .card :is(h2, h3) {
  letter-spacing: -0.3px;
  line-height: 1.35;
}
body.field-console .card h2 {
  font-size: 20px;
}
body.field-console .card h3 {
  font-size: 17px;
}
body.field-console .card-kicker {
  font-size: 10px;
  letter-spacing: 1px;
}
body.field-console
  .page-panel:not([data-page-panel="assets"])
  > .card
  > .card-kicker,
body.field-console
  .page-panel:not([data-page-panel="assets"])
  .card-header-stack
  > .card-kicker {
  display: none;
}
body.field-console .muted,
body.field-console .card-note {
  font-size: 13px;
  line-height: 1.5;
}
body.field-console .field-hint {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
}
body.field-console .page-panel :is(label, h4, .workorder-title) {
  color: var(--text);
}
body.field-console .form label {
  align-content: start;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
}
body.field-console .form label > :is(input, select) {
  height: 44px;
  padding: 9px 12px;
  margin: 0;
}
body.field-console .form label > textarea {
  padding: 10px 12px;
}
body.field-console .card-empty-copy {
  border: 0;
  background: #f5f8f3;
  color: var(--text-muted);
  border-radius: 8px;
  padding: 16px;
}
body.field-console .card-empty-copy::before {
  content: attr(data-empty-title);
  color: var(--text);
  font-size: 14px;
}
body.field-console .card-empty-copy::after {
  display: none;
}
body.field-console .card-empty-copy [data-empty-eyebrow] {
  display: none;
}
body.field-console :is(.info-tile, .card-list li) {
  background: #f8faf7;
  border-color: var(--line);
  box-shadow: none;
  border-radius: 8px;
  padding: 14px;
}
body.field-console .status-badge {
  font-size: 10px;
  letter-spacing: 0.02em;
  font-weight: 650;
  padding: 4px 7px;
  border-radius: 5px;
}
body.field-console .stats {
  gap: 12px;
  margin-top: 0;
}
body.field-console .stats li {
  min-height: 0;
  padding: 16px;
  border: 1px solid var(--line);
  box-shadow: none;
  background: #fff;
  border-radius: 10px;
}
body.field-console .stats strong {
  font-size: 30px;
  line-height: 1.1;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.7px;
}
body.field-console .stats span {
  font-size: 12px;
  line-height: 1.4;
}
body.field-console .card-title-row {
  align-items: center;
}

/* Today: compact overview, then the actionable queue above the fold. */
body.field-console[data-active-page="dashboard"]
  .page-panel[data-page-panel="dashboard"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-areas: "summary summary summary" "queue queue user-assigned" "assigned overdue failed" "activity sync sync" "shortcuts shortcuts shortcuts";
  gap: 18px;
}
body.field-console .dashboard-card--summary {
  gap: 16px;
}
body.field-console .dashboard-card--summary > .muted {
  display: none;
}
body.field-console .dashboard-card--summary .stats {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}
body.field-console .dashboard-card--summary .stats li {
  padding: 4px 20px;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
  min-height: 70px;
  background: none;
  gap: 8px;
}
body.field-console .dashboard-card--summary .stats li:first-child {
  padding-left: 0;
  border-left: 0;
}
body.field-console .dashboard-card--summary .stats li:nth-child(4) strong,
body.field-console .dashboard-card--summary .stats li:nth-child(5) strong {
  color: #a84921;
}
body.field-console .dashboard-section-note {
  margin: 0;
}
body.field-console .dashboard-queue-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
body.field-console[data-active-page="dashboard"] .dashboard-queue-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 16px;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
  box-shadow: none;
}
body.field-console .dashboard-queue-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
body.field-console .dashboard-queue-item__header {
  grid-column: 1;
  gap: 8px;
  align-items: baseline;
}
body.field-console .dashboard-queue-item__header strong {
  font-size: 14px;
  line-height: 1.5;
}
body.field-console .dashboard-queue-meta {
  grid-column: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
}
body.field-console[data-active-page="dashboard"] .dashboard-queue-meta span {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  min-width: 0;
  font-size: 12px;
}
body.field-console .dashboard-queue-meta strong {
  font-size: 12px;
  font-weight: 500;
}
body.field-console .dashboard-queue-item > button {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  min-height: 40px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid var(--line-strong);
  color: var(--accent);
  font-size: 12px;
  white-space: nowrap;
}
body.field-console .dashboard-queue-item > button:hover {
  background: var(--bg-muted);
  color: var(--accent-strong);
}
body.field-console .dashboard-list {
  gap: 10px;
}
body.field-console .dashboard-list > li {
  padding: 12px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: none;
}
body.field-console .dashboard-shortcuts {
  gap: 12px;
}
body.field-console .dashboard-shortcut {
  background: #f7faf5;
  border-color: var(--line);
  border-radius: 8px;
}

/* Work: controls and cards, rather than instructions competing with tasks. */
body.field-console .workorders-board-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  border: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
}
body.field-console .workorders-board-filters > label {
  flex: 1 1 180px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
}
body.field-console .workorders-board-filters select {
  width: 100%;
  height: 44px;
  padding: 8px 12px;
}
body.field-console .workorders-board-filters > .checkbox-label {
  flex: 0 0 auto;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 8px;
  font-size: 13px;
}
body.field-console .workorders-board-filters input[type="checkbox"] {
  width: 18px;
  height: 18px;
}
body.field-console .wo-board {
  gap: 16px;
}
body.field-console .wo-column {
  padding: 14px;
  background: #f5f7f3;
}
body.field-console .wo-column__header {
  padding-bottom: 12px;
  gap: 6px;
}
body.field-console .wo-column__header h4 {
  font-size: 15px;
}
body.field-console .wo-column__header > span:not(.wo-column__count) {
  display: none;
}
body.field-console .wo-column__count {
  background: #fff;
  border-color: var(--line);
  color: var(--text-muted);
  font-size: 10px;
  padding: 4px 7px;
}
body.field-console .wo-column .workorder-item {
  padding: 14px;
  border: 1px solid var(--line);
  border-top: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  gap: 10px;
}
body.field-console .workorder-title {
  font-size: 14px;
  line-height: 1.45;
  font-weight: 650;
}
body.field-console .workorder-meta {
  font-size: 12px;
  line-height: 1.6;
}
body.field-console .workorder-actions {
  gap: 6px;
}
body.field-console .workorder-actions button {
  min-height: 40px;
  font-size: 12px;
  padding: 8px 10px;
}
body.field-console .workorder-actions .secondary {
  background: #fff;
  color: var(--accent);
  border-color: var(--line-strong);
}
body.field-console .workorder-actions .secondary:hover {
  background: #eef5ef;
}
body.field-console .wo-column__empty-note {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-muted);
}

/* Inspection: consistent controls and short, contextual help. */
body.field-console .inspection-form__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
body.field-console .inspection-form__grid label {
  display: grid;
  grid-template-rows: auto 44px;
  align-content: start;
}
body.field-console .inspection-form__grid label:has(#inspection-severity) {
  grid-template-rows: auto 44px;
}
body.field-console .inspection-template-description {
  padding: 0;
  background: none;
  border: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
}
body.field-console .inspection-workflow-context {
  background: #f7f9f5;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
}
body.field-console .inspection-workflow-context > .card-kicker {
  display: none;
}
body.field-console .inspection-workflow-steps {
  gap: 6px;
}
body.field-console .inspection-workflow-steps li {
  min-height: 36px;
  padding: 6px 10px;
  border-radius: 6px;
  box-shadow: none;
  font-size: 11px;
}
body.field-console .inspection-form__notes,
body.field-console .inspection-form__checklist-panel {
  padding: 16px;
  background: #fff;
  border-color: var(--line);
  border-radius: 8px;
}
body.field-console .inspection-form__notes textarea {
  min-height: 110px;
}
body.field-console .inspection-fail-guidance {
  border-color: #e7bc90;
  background: #fff7ea;
}
body.field-console .inspection-fail-guidance ul {
  font-size: 13px;
  line-height: 1.6;
}
body.field-console .inspection-checklist {
  gap: 8px;
}

/* Reports use the same visual language as the operational pages. */
body.field-console .analytics-card--summary {
  gap: 18px;
}
body.field-console #analytics-filter-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body.field-console .analytics-card--summary .stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.field-console .analytics-export-panel {
  padding: 12px;
  background: #f7f9f5;
  border-color: var(--line);
  border-radius: 8px;
}
body.field-console .analytics-export-panel .muted {
  max-width: 65ch;
}
body.field-console .analytics-export-actions button {
  font-size: 12px;
}

@media (max-width: 1100px) and (min-width: 769px) {
  body.field-console .dashboard-card--summary .stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 20px;
  }
  body.field-console .dashboard-card--summary .stats li:nth-child(4) {
    border-left: 0;
    padding-left: 0;
  }
  body.field-console .app-nav {
    gap: 16px;
    padding-inline: 20px;
  }
  body.field-console .workspace-identity {
    display: none;
  }
}
@media (max-width: 768px) {
  body.field-console .app-main {
    padding: 14px 12px calc(84px + env(safe-area-inset-bottom, 0px));
  }
  body.field-console .page-panel:not([data-page-panel="assets"]) {
    padding: 0;
    gap: 14px;
  }
  body.field-console .card {
    padding: 16px;
  }
  body.field-console .workspace-mode-warning {
    margin-bottom: 14px;
  }
  body.field-console .app__header {
    margin-bottom: 16px;
  }
  body.field-console .form :is(input, select, textarea) {
    font-size: 16px;
  }
  body.field-console .field-hint {
    font-size: 12px;
  }
  body.field-console[data-active-page="dashboard"]
    .page-panel[data-page-panel="dashboard"] {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  body.field-console .page-panel > .card {
    width: 100%;
    min-width: 0;
  }
  body.field-console .dashboard-card--summary {
    gap: 16px;
  }
  body.field-console .dashboard-card--summary h2 {
    font-size: 16px;
  }
  body.field-console .dashboard-card--summary .stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 18px;
  }
  body.field-console .dashboard-card--summary .stats li {
    padding: 0 10px;
    min-height: 60px;
  }
  body.field-console .dashboard-card--summary .stats li:nth-child(4) {
    border-left: 0;
    padding-left: 0;
  }
  body.field-console .dashboard-card--summary .stats strong {
    font-size: 26px;
  }
  body.field-console .dashboard-card--summary .stats span {
    font-size: 11px;
  }
  body.field-console .dashboard-queue-item__header {
    flex-wrap: wrap;
  }
  body.field-console .dashboard-queue-item__header strong {
    font-size: 13px;
  }
  body.field-console .dashboard-queue-meta {
    gap: 6px 10px;
  }
  body.field-console .dashboard-queue-meta span {
    font-size: 10px;
  }
  body.field-console .dashboard-queue-item > button {
    min-height: 44px;
    font-size: 11px;
    padding: 8px 10px;
  }
  body.field-console .dashboard-card--priority-queue {
    order: 1;
  }
  body.field-console .dashboard-card--user-assigned {
    order: 2;
  }
  body.field-console
    .dashboard-card:not(.dashboard-card--summary):not(
      .dashboard-card--priority-queue
    ):not(.dashboard-card--user-assigned) {
    order: 3;
  }
  body.field-console .workorders-board-filters {
    gap: 10px;
    padding-bottom: 12px;
  }
  body.field-console .workorders-board-filters > label {
    flex-basis: calc(50% - 10px);
    min-width: 0;
  }
  body.field-console .workorders-board-filters > .checkbox-label {
    flex-basis: 100%;
    padding: 0;
  }
  body.field-console .workorders-board-filters select {
    font-size: 14px;
    padding-inline: 8px;
  }
  body.field-console .wo-column {
    padding: 12px;
  }
  body.field-console .wo-column .workorder-item {
    padding: 12px;
  }
  body.field-console .inspection-form__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  body.field-console .inspection-form__body {
    grid-template-columns: minmax(0, 1fr);
  }
  body.field-console .inspection-workflow-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.field-console #analytics-filter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.field-console .analytics-card--summary .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.field-console .analytics-export-panel {
    display: block;
  }
  body.field-console .analytics-export-actions {
    margin-top: 12px;
    justify-content: start;
  }
}
@media (prefers-reduced-motion: reduce) {
  html,
  body {
    scroll-behavior: auto;
  }
  body.field-console *,
  body.field-console *::before,
  body.field-console *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Help and advanced controls retain a clear, keyboard-operable entry point. */
body.field-console details.workspace-disclosure {
  display: block;
  min-width: 0;
  max-width: 100%;
}
body.field-console .workspace-disclosure > summary {
  min-height: 44px;
  padding: 10px 0;
  cursor: pointer;
  color: var(--accent);
  font-size: 13px;
  font-weight: 600;
}
body.field-console .workspace-disclosure__body {
  min-width: 0;
  max-width: 100%;
  padding-top: 12px;
}
body.field-console .workspace-disclosure[open] > summary {
  border-bottom: 1px solid var(--line);
}
body.field-console .workspace-filter-count {
  margin-left: 8px;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 400;
}
body.field-console #analytics-filter-clear {
  width: max-content;
}
body.field-console .analytics-card--summary > h3 {
  display: none;
}
body.field-console .analytics-card--summary .stats {
  order: -1;
}
body.field-console #analytics-filter-help {
  font-size: 12px;
}
body.field-console .inspection-checklist li {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  background: #fff;
}
body.field-console .inspection-checklist li label {
  min-height: 44px;
}
body.field-console .inspection-checklist li label span {
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
}
body.field-console .inspection-checklist li:has(input:checked) {
  border-color: #9fc3ac;
  background: #f1f8f0;
}
body.field-console .inspection-checklist input {
  accent-color: var(--accent);
}
body.field-console .inspection-score-guide {
  gap: 12px;
}
body.field-console .inspection-score-guide article {
  background: #f7faf5;
  border-color: var(--line);
  border-radius: 8px;
}
body.field-console .inspection-score-guide :is(strong, span) {
  color: var(--text);
}
body.field-console .dashboard-queue-item__header {
  display: flex;
  flex-direction: row;
}
body.field-console .dashboard-queue-item__header > span {
  flex: none;
  font-size: 9px;
  padding: 3px 6px;
  background: #f0f5ee;
  color: #48634e;
  border: 0;
  border-radius: 4px;
}
body.field-console .dashboard-queue-meta span {
  display: flex;
  gap: 4px;
}
body.field-console .dashboard-queue-meta strong {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body.field-console .dashboard-queue-meta em {
  font-style: normal;
  font-size: 12px;
  font-weight: 400;
  color: var(--text-muted);
}
body.field-console
  .dashboard-queue-item[data-priority="high"]
  .dashboard-queue-meta
  span:first-child
  em,
body.field-console
  .dashboard-queue-item[data-priority="critical"]
  .dashboard-queue-meta
  span:first-child
  em {
  color: #97401c;
  font-weight: 600;
}

/* The work inspector uses native modal behavior for focus, Escape, and inertness. */
body.field-console dialog#workorder-detail-panel:not([open]) {
  display: none;
}
body.field-console dialog#workorder-detail-panel[open] {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  width: min(640px, 100vw);
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 24px;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  color: var(--text);
  display: grid;
  align-content: start;
  gap: 20px;
  box-shadow: -12px 0 48px #173a2e26;
}
body.field-console #workorder-detail-panel::backdrop {
  background: #132d2566;
}
body.field-console .workspace-dialog-close {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  min-width: 44px;
  padding: 8px 12px;
  background: #f1f5ef;
  color: var(--text);
}
body.field-console .workspace-dialog-close span {
  font-size: 23px;
  line-height: 1;
  font-weight: 400;
}
body.field-console .workorder-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.field-console .workorder-detail-grid > div {
  padding: 12px;
  background: #f6f8f3;
  border: 1px solid var(--line);
  border-radius: 8px;
}
body.field-console .workorder-detail-grid dt {
  color: var(--text-muted);
  font-size: 11px;
}
body.field-console .workorder-detail-grid dd {
  color: var(--text);
  font-size: 14px;
}
body.field-console #workorder-detail-panel :is(p, label, h4) {
  color: var(--text);
}
body.field-console .workorder-detail-section {
  padding: 14px;
  background: #fff;
  border-color: var(--line);
  border-radius: 8px;
}
body.field-console .workorder-detail-actions {
  position: sticky;
  bottom: -24px;
  margin: 0 -24px -24px;
  padding: 16px 24px max(16px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: #fff;
}
body.field-console #workorder-detail-title {
  scroll-margin-top: 20px;
}

/* Settings are a small, navigable set of panels, not a long wall of text. */
body.field-console[data-active-page="admin"]
  .page-panel[data-page-panel="admin"] {
  grid-template-columns: 220px minmax(0, 1fr);
  align-items: start;
  gap: 20px;
}
body.field-console[data-active-page="admin"]
  .page-panel
  > .admin-card--overview {
  grid-column: 1;
  padding: 8px;
  background: transparent;
  border: 0;
}
body.field-console[data-active-page="admin"]
  .page-panel
  > .admin-card[role="tabpanel"] {
  grid-column: 2;
  grid-row: 1;
}
body.field-console .admin-card--overview > :is(h3, p) {
  display: none;
}
body.field-console .admin-section-grid {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body.field-console .admin-section-grid [role="tab"] {
  min-height: 44px;
  padding: 10px 12px;
  text-align: left;
  font-size: 13px;
  color: var(--text-muted);
  background: transparent;
  border: 1px solid transparent;
  font-weight: 500;
}
body.field-console .admin-section-grid [role="tab"]:hover {
  background: #eaf0e6;
}
body.field-console .admin-section-grid [aria-selected="true"] {
  background: #e3eddd;
  border-color: #ccdcc6;
  color: #254e34;
  font-weight: 650;
}
body.field-console .admin-role-descriptions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.field-console .admin-role-descriptions article {
  padding: 14px;
  background: #f7f9f5;
  border-color: var(--line);
  border-radius: 8px;
}
body.field-console .admin-role-descriptions span {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
body.field-console .admin-current-user {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.field-console .admin-current-user > div:last-child {
  grid-column: 1 / -1;
}
body.field-console .admin-current-user > div {
  border-color: var(--line);
  border-radius: 8px;
  background: #f8faf7;
}
body.field-console .admin-table {
  font-size: 13px;
}
body.field-console .admin-table th {
  color: var(--text-muted);
  font-size: 11px;
}
body.field-console .admin-table td {
  color: var(--text);
}
body.field-console [role="tabpanel"] {
  scroll-margin-top: calc(var(--field-top) + 20px);
}
@layer field {
  body.field-console #app-header-eyebrow,
  body.field-console #demo-banner {
    display: none !important;
  }
}
@media (max-width: 768px) {
  body.field-console[data-active-page="admin"]
    .page-panel[data-page-panel="admin"] {
    display: flex;
    flex-direction: column;
  }
  body.field-console .admin-section-grid {
    flex-direction: row;
    overflow-x: auto;
    padding: 4px 2px 8px;
    width: 100%;
  }
  body.field-console .admin-section-grid [role="tab"] {
    flex: none;
    white-space: nowrap;
  }
  body.field-console .admin-card--overview {
    min-width: 0;
    width: 100%;
  }
  body.field-console .admin-role-descriptions {
    grid-template-columns: minmax(0, 1fr);
  }
  body.field-console .workorder-actions button {
    flex: 1 1 calc(50% - 6px);
    width: auto;
  }
  body.field-console .dashboard-card--summary {
    padding: 16px;
  }
  body.field-console dialog#workorder-detail-panel[open] {
    padding: 18px;
  }
  body.field-console .workorder-detail-actions {
    bottom: -18px;
    margin: 0 -18px -18px;
    padding: 14px 18px max(14px, env(safe-area-inset-bottom));
  }
}

/* Color alone must never carry status, and small text needs full contrast. */
body.field-console .base-layer-toggle__option {
  color: #405d47;
}
body.field-console .maplibregl-ctrl-attrib a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.field-console .inspection-workflow-steps li.is-complete,
body.field-console .inspection-workflow-steps li.is-complete::before,
body.field-console .admin-access--yes {
  color: #17634c;
}
body.field-console .admin-current-user > div > span {
  color: #53665c;
}
body.field-console .admin-access--no {
  color: #ad291e;
}
body.field-console .traffic-sign-swatch {
  color: #202e29;
  font-weight: 650;
}
body.field-console .mobile-bottom-nav__label {
  color: #52644e;
}
body.field-console
  .mobile-bottom-nav__button.is-active
  .mobile-bottom-nav__label {
  color: #245535;
  font-weight: 650;
}
body.field-console .admin-section-grid [role="tab"] {
  text-align: left;
  justify-content: flex-start;
}
body.field-console .admin-section-grid [aria-selected="true"] {
  box-shadow: inset 3px 0 #196b52;
  background: #e3eddd;
}
body.field-console .admin-section-grid [aria-selected="false"] {
  background: transparent;
  border-color: transparent;
}
body.field-console .admin-section-grid [aria-selected="false"]:hover {
  background: #edf2e9;
}
body.field-console .workorders-board-filters > .work-search-label {
  flex: 2 1 240px;
}
body.field-console .workorders-board-filters input[type="search"] {
  height: 44px;
  padding: 8px 12px;
}
body.field-console .wo-board {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  align-items: start;
}
@media (max-width: 768px) {
  body.field-console .workorders-board-filters > .work-search-label {
    flex-basis: 100%;
  }
  body.field-console .wo-board {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Map controls occupy separate hit areas; native attribution stays reachable. */
body.field-console .maplibregl-ctrl-bottom-left .maplibregl-ctrl-group {
  position: fixed;
  left: auto;
  right: 20px;
  top: calc(var(--field-top) + 145px);
  margin: 0;
}
@media (max-width: 768px) {
  body.field-console .page-panel:not([data-page-panel="assets"]) {
    margin: 0;
  }
}
@media (max-width: 720px) {
  body.field-console .maplibregl-ctrl-bottom-left .maplibregl-ctrl-group {
    top: calc(var(--field-top) + 74px);
    right: 12px;
  }
  body.field-console .mobile-map-summary {
    bottom: 144px;
  }
  body.field-console .mobile-map-summary__actions {
    position: fixed;
    right: 12px;
    bottom: calc(104px + env(safe-area-inset-bottom, 0px));
    gap: 8px;
  }
  body.field-console #field-add {
    bottom: calc(208px + env(safe-area-inset-bottom, 0px));
  }
  body.field-console[data-active-page="assets"] .workspace-mode-warning {
    bottom: calc(146px + env(safe-area-inset-bottom, 0px));
    margin: 0;
  }
  body.field-console .map-legend--mobile {
    bottom: 40px;
    width: 138px;
    max-width: calc(100% - 80px);
  }
  body.field-console .map-legend--mobile:not([open]) {
    max-height: none;
  }
  body.field-console .map-legend--mobile summary {
    min-height: 40px;
  }
  body.field-console .map-legend--mobile[open] {
    width: calc(100% - 80px);
    max-height: calc(100dvh - 240px);
    overflow-y: auto;
  }
  body.field-console .maplibregl-ctrl-attrib {
    margin-bottom: 4px;
  }
}
body.field-console:has(#layers-drawer[open]) .maplibregl-ctrl-group,
body.field-console[data-field-panel]:not([data-field-panel=""])
  .maplibregl-ctrl-group {
  visibility: hidden;
}
body.field-console .report-export-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
body.field-console #analytics-filter-error {
  grid-column: 1 / -1;
}
body.field-console #analytics-filter-error:empty {
  display: none;
}
body.field-console [aria-invalid="true"] {
  border-color: #af3328;
}
body.field-console .base-layer-toggle__option {
  opacity: 1;
}
/* A work title is the details action; avoid a repeated Details button per row. */
body.field-console .workorder-title--action {
  display: block;
  width: 100%;
  min-height: 44px;
  height: auto;
  padding: 4px 0 8px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  text-align: left;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 650;
  box-shadow: none;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
body.field-console .workorder-title--action:hover {
  color: #126c53;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.field-console .workorder-actions {
  display: flex;
  gap: 8px;
}
body.field-console .workorder-actions button {
  flex: 1 1 0;
  width: auto;
}
body.field-console .workspace-profile {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin: 8px 0 20px;
}
body.field-console .workspace-profile > div {
  display: grid;
  gap: 6px;
}
body.field-console .workspace-profile dt {
  font-size: 12px;
  color: var(--text-muted);
}
body.field-console .workspace-profile dd {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
body.field-console .field > span:first-child {
  color: var(--text-muted);
}
body.field-console .workorder-asset-preview dt {
  color: var(--text-muted);
}
@media (max-width: 720px) {
  body.field-console[data-auth-state="signed-in"][data-active-page="workorders"]
    .app__header,
  body.field-console[data-auth-state="signed-in"][data-active-page="traffic-plans"]
    .app__header {
    align-items: stretch;
    margin-bottom: 12px;
  }
  body.field-console[data-active-page="workorders"] .app__header-copy,
  body.field-console[data-active-page="traffic-plans"] .app__header-copy {
    display: none;
  }
  body.field-console .app__header .header__rail {
    width: 100%;
  }
  body.field-console .app__header .header__actions {
    display: flex;
    justify-content: flex-end;
  }
  body.field-console #app-primary-action {
    min-height: 44px;
    width: auto;
  }
}
body.field-console .inspection-workflow-context {
  padding: 10px 14px;
}
body.field-console #inspection-context-summary {
  margin: 0;
  font-size: 13px;
}
body.field-console .inspection-readiness > summary {
  min-height: 36px;
  padding: 6px 0;
  font-size: 12px;
}
body.field-console .inspection-form__body {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}
body.field-console .inspection-submit-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
body.field-console .inspection-submit-footer #inspection-submit-status {
  margin: 0;
}
@media (max-width: 768px) {
  body.field-console .inspection-form__body {
    grid-template-columns: minmax(0, 1fr);
  }
  body.field-console input:not([type="checkbox"]):not([type="radio"]),
  body.field-console .workorders-board-filters select,
  body.field-console .form select,
  body.field-console textarea {
    font-size: 16px;
  }
  body.field-console .inspection-submit-footer {
    align-items: stretch;
  }
  body.field-console .inspection-submit-footer #save-inspection {
    width: 100%;
  }
}
/* Traffic planning is grouped by the operator's task, with reference material on demand. */
body.field-console .traffic-plan-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 12px 0;
  border-block: 1px solid var(--line);
}
body.field-console .traffic-plan-stats > div {
  padding: 4px 16px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
body.field-console .traffic-plan-stats > div:last-child {
  border-right: 0;
}
body.field-console .traffic-plan-stats strong {
  font-size: 24px;
  color: var(--text);
}
body.field-console .traffic-plan-stats span {
  font-size: 11px;
  font-weight: 500;
  text-transform: none;
}
body.field-console .traffic-plans-card--form {
  grid-column: 1 / -1;
}
body.field-console details.traffic-plans-card:not([open]) {
  min-height: 0;
}
/* The legacy desktop grid pins these spans with !important. Keep the editor
   full width rather than reserving a tall blank column beside a closed card. */
@layer field {
  @media (min-width: 961px) {
    body.field-console[data-active-page="traffic-plans"]
      [data-page-panel="traffic-plans"]
      > .traffic-plans-card--form,
    body.field-console[data-active-page="traffic-plans"]
      [data-page-panel="traffic-plans"]
      > .traffic-plans-card--templates {
      grid-column: 1 / -1 !important;
    }
    body.field-console[data-active-page="traffic-plans"]
      [data-page-panel="traffic-plans"]
      > .traffic-plans-card--materials,
    body.field-console[data-active-page="traffic-plans"]
      [data-page-panel="traffic-plans"]
      > .traffic-plans-card--print {
      grid-column: span 6 !important;
    }
  }
}
body.field-console .traffic-plan-form__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.field-console .traffic-form-section-title {
  grid-column: 1 / -1;
  font-size: 14px;
  margin: 6px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
body.field-console
  .traffic-plan-form__grid:first-child
  .traffic-form-section-title {
  border: 0;
  padding-top: 0;
}
body.field-console .traffic-plan-template-description {
  background: none;
  border: 0;
  padding: 0;
  font-size: 12px;
  font-weight: 400;
  color: var(--text-muted);
}
body.field-console .traffic-stage {
  border-top: 1px solid var(--line);
}
body.field-console .traffic-stage > summary {
  font-size: 14px;
}
body.field-console .traffic-stage fieldset {
  border: 0;
  padding: 10px 0;
  margin: 0;
  background: transparent;
}
body.field-console .traffic-stage legend {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
body.field-console .traffic-stage label {
  min-height: 44px;
}
@media (max-width: 768px) {
  body.field-console .traffic-plan-stats > div {
    padding: 4px 8px;
  }
  body.field-console .traffic-plan-stats strong {
    font-size: 22px;
  }
  body.field-console .traffic-plan-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  body.field-console .traffic-plan-filter:first-child {
    grid-column: 1 / -1;
  }
  body.field-console .traffic-plan-form__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
body.field-console .panel-loading,
body.field-console .panel-loading [data-panel-loading-text] {
  color: #345449;
}
@layer field {
  @media (max-width: 720px) {
    body.field-console[data-auth-state="signed-in"][data-active-page="workorders"]
      .app__header,
    body.field-console[data-auth-state="signed-in"][data-active-page="traffic-plans"]
      .app__header {
      display: flex !important;
    }
  }
}
body.field-console .map-feedback-stack {
  position: fixed;
  z-index: 420;
  top: calc(var(--field-top) + 78px);
  left: calc(var(--field-rail) + 24px);
  max-width: min(320px, calc(100vw - var(--field-rail) - 100px));
  display: grid;
  gap: 8px;
}
body.field-console .map-load-status,
body.field-console .map-basemap-status {
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #c9d9ce;
  border-radius: 8px;
  background: #f7faf6;
  color: #345449;
  box-shadow: 0 2px 10px #163a2812;
  font-size: 12px;
}
body.field-console .map-load-status {
  pointer-events: none;
}
body.field-console .map-basemap-status {
  background: #fff8e8;
  border-color: #dfc89c;
  color: #694310;
}
body.field-console #map-basemap-retry {
  margin-top: 8px;
  min-height: 40px;
  padding: 6px 12px;
}
body.field-console:has(#layers-drawer[open]) .map-feedback-stack,
body.field-console[data-field-panel]:not([data-field-panel=""])
  .map-feedback-stack {
  visibility: hidden;
}
@media (max-width: 720px) {
  body.field-console .map-feedback-stack {
    left: 12px;
    max-width: calc(100vw - 88px);
    top: calc(var(--field-top) + 78px);
  }
}
body.field-console[data-active-page="assets"]:has(#layers-drawer[open])
  .workspace-mode-warning,
body.field-console[data-active-page="assets"][data-field-panel]:not(
    [data-field-panel=""]
  )
  .workspace-mode-warning {
  visibility: hidden;
}
body.field-console #assets-table th,
body.field-console .asset-cell__secondary,
body.field-console .field-eyebrow {
  color: #53634d;
}
body.field-console #assets-table th,
body.field-console .asset-cell__secondary {
  font-size: 11px;
}

/* Explicit batches keep long boards responsive without hiding total workload. */
body.field-console .wo-column__more {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  text-align: center;
}
body.field-console .wo-column__more p {
  margin: 0;
  color: var(--text-muted);
  font-size: 12px;
}
body.field-console .wo-column__more button {
  min-height: 44px;
  width: 100%;
}

/* Keep keyboard targets clear of the fixed navigation chrome. */
html:has(body.field-console) {
  scroll-padding-top: 90px;
  scroll-padding-bottom: 28px;
}
html:has(body.field-console):focus-within {
  scroll-behavior: auto;
}
body.field-console .admin-card--matrix {
  min-width: 0;
  overflow: visible;
}
body.field-console .admin-table-scroll {
  min-width: 0;
  overflow-x: auto;
  max-width: 100%;
}
body.field-console .admin-table-scroll:focus-visible {
  outline: 3px solid #087f68;
  outline-offset: 3px;
}
@media (max-width: 720px) {
  html:has(body.field-console) {
    scroll-padding-top: 90px;
    scroll-padding-bottom: 100px;
  }
}

/* Legacy mobile-view rules must not reveal a second, inactive map panel. */
@layer field {
  body.field-console[data-active-page="assets"]:not([data-field-panel="search"])
    .assets-support-grid {
    display: none !important;
  }
  body.field-console[data-active-page="assets"]:not(
      [data-field-panel="details"],
      [data-field-panel="create"],
      [data-field-panel="workorder"],
      [data-field-panel="assistant"]
    )
    .sidebar {
    display: none !important;
  }
}
body.field-console .sidebar {
  scroll-padding-block: 12px 24px;
}
body.field-console #workorder-card > .workspace-disclosure {
  margin-block: 12px;
}
body.field-console #workorder-form {
  margin-top: 16px;
}
body.field-console #workorder-linked-context {
  font-size: 13px;
  padding: 12px;
}

body.field-console #workorder-title-help,
body.field-console #workorder-priority-help,
body.field-console #workorder-due-help {
  display: none;
}

/* Landscape phones retain separate hit areas and an unobscured attribution line. */
@media (min-width: 600px) and (max-width: 720px) and (max-height: 500px) {
  body.field-console .mobile-map-summary__card {
    display: none;
  }
  body.field-console .mobile-map-summary__actions {
    flex-direction: row;
    bottom: 92px;
    right: 12px;
  }
  body.field-console #field-add {
    top: auto;
    bottom: 92px;
    right: 116px;
  }
  body.field-console .map-legend--mobile {
    position: fixed;
    left: 12px;
    bottom: 92px;
    width: 138px;
  }
  body.field-console[data-active-page="assets"] .workspace-mode-warning {
    left: 162px;
    bottom: 92px;
    max-width: calc(100vw - 342px);
  }
  body.field-console .map-feedback-stack {
    top: 126px;
    max-width: calc(100vw - 88px);
  }
  body.field-console .maplibregl-ctrl-bottom-left .maplibregl-ctrl-group,
  body.field-console .maplibregl-ctrl-bottom-right .maplibregl-ctrl-group {
    top: 126px;
    display: flex;
  }
}

/* Saved inspection details are readable on demand, separate from entry forms. */
body.field-console .inspection-record-title,
body.field-console button.selected-inspection-card__title {
  display: block;
  min-height: 44px;
  width: 100%;
  padding: 4px 0;
  background: transparent;
  border: 0;
  color: #245b46;
  text-align: left;
  font-weight: 650;
  white-space: normal;
}
body.field-console .inspection-record-reference {
  display: block;
  margin-top: 4px;
  color: var(--text-muted);
  font-size: 0.75rem;
  font-weight: 450;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.field-console .inspection-record-title:hover,
body.field-console button.selected-inspection-card__title:hover {
  text-decoration: underline;
}
body.field-console dialog.inspection-detail {
  width: min(620px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  margin: auto;
  padding: 24px;
  border: 1px solid #ccdbd1;
  border-radius: 16px;
  background: #fff;
  color: var(--text);
  overflow-y: auto;
  scroll-padding-block: 16px;
  box-shadow: 0 24px 80px #12302140;
}
body.field-console dialog.inspection-detail::backdrop {
  background: #10241dc2;
}
body.field-console .inspection-detail__header,
body.field-console .inspection-detail__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
body.field-console .inspection-detail__header {
  align-items: start;
}
body.field-console .inspection-detail__header h2 {
  margin: 4px 0 0;
  font-size: 24px;
}
body.field-console .inspection-detail__header button {
  flex: none;
  min-height: 44px;
}
body.field-console .inspection-detail__eyebrow {
  margin: 0;
  color: var(--text-muted);
  font-size: 12px;
}
body.field-console .inspection-detail__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding-block: 20px;
  border-block: 1px solid var(--line);
  margin: 20px 0;
}
body.field-console .inspection-detail__facts dt {
  color: var(--text-muted);
  font-size: 12px;
  margin-bottom: 4px;
}
body.field-console .inspection-detail__facts dd {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
body.field-console #inspection-detail-result[data-result="fail"] {
  color: #ad321d;
}
body.field-console #inspection-detail-result[data-result="pass"] {
  color: #246443;
}
body.field-console .inspection-detail section h3 {
  font-size: 16px;
  margin: 20px 0 8px;
}
body.field-console #inspection-detail-findings {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.55;
  font-size: 14px;
}
body.field-console .inspection-detail ul {
  padding-left: 22px;
  line-height: 1.6;
  font-size: 14px;
}
body.field-console .inspection-detail img {
  display: block;
  max-height: 320px;
  max-width: 100%;
  margin-top: 12px;
  border-radius: 8px;
  object-fit: contain;
}
body.field-console .inspection-detail img.is-hidden {
  display: none;
}
body.field-console .inspection-detail__footer {
  flex-wrap: wrap;
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid var(--line);
}
body.field-console .inspection-detail__footer span,
body.field-console #inspection-detail-photo-status {
  font-size: 13px;
}
@media (max-width: 480px) {
  body.field-console dialog.inspection-detail {
    padding: 18px;
  }
  body.field-console .inspection-detail__facts {
    gap: 14px;
  }
  body.field-console .inspection-detail__header h2 {
    font-size: 21px;
  }
  body.field-console .inspection-detail__footer button {
    width: 100%;
  }
}

body.field-console .inspection-history-controls {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(140px, 1fr);
  gap: 12px;
  margin-top: 16px;
}
body.field-console .inspection-history-controls label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
}
body.field-console .inspection-history-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
}
body.field-console .inspection-history-summary p {
  font-size: 13px;
}
body.field-console #inspection-history-more {
  margin-top: 16px;
}
@media (max-width: 480px) {
  body.field-console .inspection-history-controls {
    grid-template-columns: 1fr;
  }
}

/* Rendered placeholders already have a real title; avoid a duplicate CSS heading. */
body.field-console .metric-list-item--empty::before,
body.field-console .workorder-item--empty::before {
  content: none;
}
body.field-console .metric-list-item--empty .metric-list-item__eyebrow {
  display: none;
}
body.field-console .metric-list-item--empty .metric-list-item__value,
body.field-console .workorder-item--empty .list-placeholder-pill {
  color: #365344;
  background: #edf3ee;
}
body.field-console .import-geojson-guidance summary {
  cursor: pointer;
  font-weight: 600;
  padding: 12px 0;
}

/* Dark/light navigation states must change together, without low-contrast crossfades. */
body.field-console .app-nav__link {
  transition: box-shadow 0.2s ease;
}

/* The panel header replaces the old card title; avoid stacking its old gaps. */
body.field-console #selection-form {
  margin-top: 0;
}
body.field-console .selected-asset-section:first-child {
  padding-top: 0;
}

/* Readable layer rows replace overlapping legacy pseudo-controls. */

body.field-console.field-simple[data-auth-state="signed-in"][data-active-page="assets"]
  .layers-drawer
  .toggle-group--layers {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  border: 0;
  background: none;
}
body.field-console.field-simple[data-auth-state="signed-in"][data-active-page="assets"]
  .layers-drawer
  .layer-control-item {
  border: 0;
}
body.field-console.field-simple[data-auth-state="signed-in"][data-active-page="assets"]
  .layers-drawer
  .layer-control-item::before {
  content: none;
}
body.field-console.field-simple[data-auth-state="signed-in"][data-active-page="assets"]
  .layers-drawer
  .layer-control-item
  .toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  height: auto;
  min-height: 44px;
  max-height: none;
  text-align: left;
}
body.field-console.field-simple[data-auth-state="signed-in"][data-active-page="assets"]
  .layers-drawer
  .layer-control-item
  .toggle::before {
  content: none;
}
body.field-console.field-simple[data-auth-state="signed-in"][data-active-page="assets"]
  .layers-drawer
  .layer-control-item
  .toggle::after {
  content: "Off";
  position: static;
  flex: none;
  margin-left: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-weight: 400;
  color: inherit;
}
body.field-console.field-simple[data-auth-state="signed-in"][data-active-page="assets"]
  .layers-drawer
  .layer-control-item
  .toggle.is-active::after {
  content: "On";
  font-weight: 700;
  color: inherit;
}

/* System high-contrast themes remove background and shadow selection cues. */
@media (forced-colors: active) {
  body.field-console .app-nav__link.is-active,
  body.field-console .mobile-bottom-nav__button.is-active,
  body.field-console .mobile-menu-link.is-active,
  body.field-console .admin-section-grid [aria-selected="true"] {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    font-weight: 700;
  }
}

/* Preserve a usable scroll area when a phone viewport becomes very short. */
@media (max-width: 720px) and (max-height: 420px) {
  body.field-console[data-active-page="assets"][data-field-panel]:is(
      [data-field-panel="details"],
      [data-field-panel="create"],
      [data-field-panel="workorder"],
      [data-field-panel="assistant"]
    )
    .field-panel-header {
    top: 0;
    height: 56px;
    padding: 6px 12px;
  }
  body.field-console[data-active-page="assets"][data-field-panel]:is(
      [data-field-panel="details"],
      [data-field-panel="create"],
      [data-field-panel="workorder"],
      [data-field-panel="assistant"]
    )
    .field-panel-header
    .field-eyebrow,
  body.field-console[data-active-page="assets"][data-field-panel]:is(
      [data-field-panel="details"],
      [data-field-panel="create"],
      [data-field-panel="workorder"],
      [data-field-panel="assistant"]
    )
    .field-search,
  body.field-console[data-active-page="assets"][data-field-panel]:is(
      [data-field-panel="details"],
      [data-field-panel="create"],
      [data-field-panel="workorder"],
      [data-field-panel="assistant"]
    )
    .map-panel__toolbar {
    display: none;
  }
  body.field-console[data-active-page="assets"][data-field-panel]:is(
      [data-field-panel="details"],
      [data-field-panel="create"],
      [data-field-panel="workorder"],
      [data-field-panel="assistant"]
    )
    .sidebar {
    inset: 56px 0 0;
  }
  body.field-console[data-active-page="assets"][data-field-panel]:is(
      [data-field-panel="details"],
      [data-field-panel="create"],
      [data-field-panel="workorder"],
      [data-field-panel="assistant"]
    )
    .sidebar
    .form__actions {
    position: static;
  }
}

body.field-console.workspace-startup-failed {
  display: grid;
  place-items: center;
  min-height: 100dvh;
  height: auto;
  overflow: auto;
  padding: 24px;
  background: #f5f8f8;
}

body.field-console .workspace-startup-recovery {
  width: min(100%, 440px);
  color: #18302d;
}

body.field-console .workspace-startup-recovery__brand {
  color: #0f766e;
  font-weight: 700;
  margin-bottom: 24px;
}

body.field-console .workspace-startup-recovery h1 {
  font-size: clamp(1.5rem, 5vw, 2rem);
  line-height: 1.2;
  margin: 0 0 16px;
}

body.field-console .workspace-startup-recovery p {
  line-height: 1.6;
}

body.field-console .workspace-startup-recovery__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-top: 24px;
}

body.field-console .workspace-startup-recovery__actions button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #0f766e;
  border-radius: 8px;
  background: #0f766e;
  color: white;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

body.field-console .workspace-startup-recovery__actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #0f766e;
  text-underline-offset: 3px;
}

/* On wide screens the map remains visible beside an open asset form. */
@media (min-width: 1100px) {
  body.field-console[data-map-graphics="lost"][data-field-panel]:not(
      [data-field-panel=""]
    )
    .map-feedback-stack {
    visibility: visible;
  }
}
