:root {
  color-scheme: light;
  --bg: #f7f8fa;
  --surface: #ffffff;
  --surface-2: #f2f4f7;
  --surface-muted: #f8fafc;
  --panel: #ffffff;
  --ink: #1d2430;
  --text: #1d2430;
  --muted: #667085;
  --line: #d9dee7;
  --border: #d9dee7;
  --topbar-divider: #aeb8c7;
  --accent: #256f7b;
  --accent-contrast: #ffffff;
  --accent-soft: #e6f3f4;
  --danger: #b42318;
  --danger-text: #b42318;
  --warn: #946200;
  --field-bg: #ffffff;
  --field-border: #c8d0dc;
  --field-focus-bg: #ffffff;
  --field-placeholder: #7a8798;
  --report-surface: #f8fafc;
  --report-header: #edf2f7;
  --home-widget-bg: #ffffff;
  --home-widget-header-bg: #f5f7fa;
  --home-widget-border: #d9dee7;
  --home-widget-gap: 12px;
  --radius: 6px;
  --control-radius: 5px;
  --shadow: 0 1px 2px rgb(16 24 40 / 6%);
  --font: "Aptos", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 650;
  --control-min-height: 30px;
  --control-padding: 5px 9px;
  --control-font-size: 13px;
  --shell-padding: 10px;
  --section-gap: 10px;
  --toolbar-padding: 8px 10px;
  --quick-launch-input-default-height: 154px;
  --table-cell-padding: 4px 7px;
  --table-cell-inline-padding: 5px;
  --table-header-padding: 5px 7px;
  --table-caption-padding: 4px 6px;
  --table-input-padding: 3px 6px;
  --table-cell-min-height: 24px;
  --table-input-height: 24px;
  --table-label-width: 150px;
  --table-detail-label-width: 170px;
  --table-body-font-size: 12.5px;
  --table-line-height: 1.32;
  --table-secondary-gap: 2px;
  --card-title-font-size: 14.5px;
  --card-description-font-size: 12.5px;
  --section-title-font-size: 16px;
}

:root.dark,
body.dark {
  color-scheme: dark;
  --bg: #101418;
  --surface: #171d23;
  --surface-2: #202832;
  --surface-muted: #18212a;
  --panel: #171d23;
  --ink: #eef2f6;
  --text: #eef2f6;
  --muted: #a6b0bf;
  --line: #303a46;
  --border: #303a46;
  --topbar-divider: #303a46;
  --accent: #6ab7c2;
  --accent-contrast: #101418;
  --accent-soft: #18353a;
  --danger-text: #ff8f8f;
  --field-bg: #121a22;
  --field-border: #445161;
  --field-focus-bg: #182531;
  --field-placeholder: #a8c1d5;
  --report-surface: #18212a;
  --report-header: #202d38;
  --home-widget-bg: #171d23;
  --home-widget-header-bg: #202832;
  --home-widget-border: #303a46;
  --shadow: 0 1px 2px rgb(0 0 0 / 24%);
}

:root.sepia,
body.sepia {
  color-scheme: light;
  --bg: #f4ecd9;
  --surface: #fff8e8;
  --surface-2: #efe2c6;
  --surface-muted: #faf0d8;
  --panel: #fff8e8;
  --ink: #2f281d;
  --text: #2f281d;
  --muted: #6f604a;
  --line: #d8c6a3;
  --border: #d8c6a3;
  --topbar-divider: #bfa779;
  --accent: #28747a;
  --accent-contrast: #ffffff;
  --accent-soft: #dce9dc;
  --danger: #a64032;
  --danger-text: #a64032;
  --warn: #846017;
  --field-bg: #fffaf0;
  --field-border: #cdb88f;
  --field-focus-bg: #ffffff;
  --field-placeholder: #8b7a5e;
  --report-surface: #fbf2dc;
  --report-header: #eadabc;
  --home-widget-bg: #fff8e8;
  --home-widget-header-bg: #f1e2c4;
  --home-widget-border: #d8c6a3;
  --shadow: 0 1px 2px rgb(94 72 38 / 12%);
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  overflow-x: hidden;
}

[hidden] {
  display: none !important;
}

.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;
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  padding-bottom: 0;
  background-color: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.45;
}

button,
input,
select,
textarea {
  font: inherit;
}

.topbar,
.global-tool-disclaimer,
.page {
  width: min(1400px, calc(100vw - 24px));
  margin: 0 auto;
}

.topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 16px;
  align-items: start;
  margin-top: 0;
  padding: 12px 14px;
  border: 1px solid var(--home-widget-border);
  border-bottom: 0;
  border-radius: var(--radius) var(--radius) 0 0;
  background: var(--surface-muted);
  box-shadow: var(--shadow);
}

.topbar .brand-block {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.utility-actions {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  justify-self: end;
  z-index: 50;
  display: flex;
  max-width: 100%;
  justify-content: flex-end;
  pointer-events: none;
}

.utility-menu-toggle {
  display: none;
  pointer-events: auto;
}

.utility-menu-panel {
  display: flex;
  max-width: min(760px, calc(100vw - 24px));
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  pointer-events: auto;
}

.utility-status-stack {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  display: grid;
  justify-items: end;
  gap: 5px;
  width: min(560px, calc(100vw - 24px));
  min-width: 0;
  pointer-events: auto;
  z-index: 70;
}

.utility-actions .button {
  min-width: 0;
  justify-content: center;
  white-space: nowrap;
  box-shadow: none;
}

.utility-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: var(--control-min-height);
  padding: var(--control-padding);
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: var(--control-font-size);
  font-weight: var(--weight-medium);
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
}

.utility-link:hover,
.utility-link:focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--ink);
  outline: none;
  text-decoration: none;
}

.utility-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  box-shadow: none;
}

.account-profile-link {
  min-width: 0;
  max-width: 150px;
  justify-content: flex-start;
  overflow: hidden;
  text-overflow: ellipsis;
}

.icon-button {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface-2);
  color: var(--muted);
  cursor: pointer;
  font-size: 17px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.icon-button:hover {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--accent);
}

.icon-button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.brand-block p:last-child {
  margin: 4px 0 0;
  color: var(--muted);
}

.topbar .brand-block h1 {
  color: var(--ink);
}

.topbar .brand-block .brand-subtitle {
  margin: 4px 0 0;
  color: color-mix(in srgb, var(--ink) 74%, var(--muted));
  font-size: 13px;
}

.topbar .brand-block .eyebrow {
  color: var(--muted);
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  margin: 0;
  font-weight: var(--weight-semibold);
  line-height: 1.2;
}

h1 {
  font-size: 24px;
}

h2 {
  font-size: 18px;
}

h3 {
  font-size: 16px;
}

.actions {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
}

.main-menu {
  display: grid;
  gap: 6px;
  min-width: 0;
  width: 100%;
}

.nav-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.navbar {
  align-items: stretch;
}

/* Main nav category buttons route directly to overview pages. */


.nav-category-row .tab-button:not(.is-active):hover,
.nav-category-row .tab-button:not(.is-active):focus-visible,
.nav-tool-row .tab-button:not(.is-active):hover,
.nav-tool-row .tab-button:not(.is-active):focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.nav-tool-row {
  gap: 4px;
  flex-wrap: nowrap;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
}

.nav-tool-row::-webkit-scrollbar {
  display: none;
}

.nav-tool-rail {
  display: none;
  grid-template-columns: 26px minmax(0, 1fr) 26px;
  gap: 4px;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
}

.tool-nav-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--accent);
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}

.tool-nav-arrow:hover {
  border-color: var(--accent);
}

.tool-nav-arrow:disabled {
  cursor: default;
  opacity: 0.32;
}

.nav-tool-row .tab-button {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 4px 8px;
  font-size: 12px;
  white-space: nowrap;
}

.nav-tool-row .tab-button.is-category-hidden {
  display: none;
}

.nav-tool-row[hidden] {
  display: none;
}

.button,
.tab-button,
.map-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: var(--control-min-height);
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--ink);
  padding: var(--control-padding);
  cursor: pointer;
  font-size: var(--control-font-size);
  font-weight: var(--weight-medium);
  line-height: 1.2;
  text-decoration: none;
}

.button.primary,
.tab-button.is-active,
.map-link-button.is-active {
  border-color: var(--accent);
  background: var(--accent);
  color: #ffffff;
  font-weight: var(--weight-semibold);
}

:root[data-initial-nav-category] .tab-button[data-view="home"].is-active {
  border-color: var(--line);
  background: var(--surface);
  color: var(--ink);
}

:root[data-initial-nav-category="project"] .tab-button[data-view="projects"],
:root[data-initial-nav-category="lookups"] .tab-button[data-nav-category="lookups"],
:root[data-initial-nav-category="data"] .tab-button[data-nav-category="data"],
:root[data-initial-nav-category="tools"] .tab-button[data-nav-category="tools"],
:root[data-initial-nav-category="ai"] .tab-button[data-nav-category="ai"],
:root[data-initial-nav-category="settings"] .tab-button[data-view="settings"] {
  border-color: var(--accent);
  background: var(--accent);
  color: #ffffff;
}

.button.secondary {
  background: var(--surface);
}

.button:disabled,
.map-link-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.button.danger-button {
  border-color: color-mix(in srgb, var(--danger) 54%, var(--line));
  background: color-mix(in srgb, var(--danger) 10%, var(--surface));
  color: var(--danger-text);
}

.button:not(:disabled):hover,
.button:not(:disabled):focus-visible,
.tab-button:not(:disabled):not(.is-active):hover,
.tab-button:not(:disabled):not(.is-active):focus-visible,
.map-link-button:not(:disabled):hover,
.map-link-button:not(:disabled):focus-visible,
.tool-nav-arrow:not(:disabled):hover,
.tool-nav-arrow:not(:disabled):focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--ink);
}

.button.primary:not(:disabled):hover,
.button.primary:not(:disabled):focus-visible,
.tab-button.is-active:not(:disabled):hover,
.tab-button.is-active:not(:disabled):focus-visible {
  border-color: color-mix(in srgb, var(--accent) 84%, #000000);
  background: color-mix(in srgb, var(--accent) 88%, #000000);
  color: #ffffff;
}

.map-link-button.is-active:not(:disabled):hover,
.map-link-button.is-active:not(:disabled):focus-visible,
.map-link-button[aria-pressed="true"]:not(:disabled):hover,
.map-link-button[aria-pressed="true"]:not(:disabled):focus-visible {
  border-color: var(--accent);
  background: var(--accent);
  color: #ffffff;
  transform: none;
}

.action-dropdown-trigger[aria-expanded="true"]:not(:disabled) {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.button:focus-visible,
.tab-button:focus-visible,
.map-link-button:focus-visible,
.tool-nav-arrow:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.back-to-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  min-height: 42px;
  border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line));
  border-radius: var(--radius);
  background: var(--accent);
  color: #ffffff;
  box-shadow: 0 10px 28px rgb(0 0 0 / 28%);
  cursor: pointer;
  font-weight: bold;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.search,
input,
select,
textarea {
  border: 1px solid var(--field-border);
  border-radius: var(--control-radius);
  background: var(--field-bg);
  color: var(--ink);
  min-height: var(--control-min-height);
  padding: var(--control-padding);
  font-size: var(--control-font-size);
  resize: none;
  overflow-y: auto;
  box-shadow: none;
}

input::placeholder,
textarea::placeholder {
  color: var(--field-placeholder);
  opacity: 1;
}

.search:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
  background: var(--field-focus-bg);
  border-color: var(--accent);
}

.search {
  width: min(320px, 100%);
}

.page {
  display: grid;
  gap: var(--section-gap);
  padding: 0;
}

.view-section {
  display: none;
  gap: var(--section-gap);
}

.view-section.is-active {
  display: grid;
  align-content: start;
  min-height: calc(100vh - 164px);
}

:root:not([data-initial-view]) .view-section:not(.is-active) {
  display: none !important;
}

:root.dashboard-app-ready .view-section:not(.is-active) {
  display: none !important;
}

:root[data-initial-view]:not([data-initial-view="home"]) #home-view.is-active {
  display: none;
}

:root[data-initial-view="about"] #about-view,
:root[data-initial-view="help"] #help-view,
:root[data-initial-view="privacy"] #privacy-view,
:root[data-initial-view="category"] #category-view,
:root[data-initial-view="settings"] #settings-view,
:root[data-initial-view="tool-search"] #tool-search-view,
:root[data-initial-view="projects"] #projects-view,
:root[data-initial-view="project-maps"] #project-maps-view,
:root[data-initial-view="project-map"] #project-map-view,
:root[data-initial-view="project-detail"] #project-detail-view,
:root[data-initial-view="project-poles"] #project-poles-view,
:root[data-initial-view="project-coordinate-editor"] #project-coordinate-editor-view,
:root[data-initial-view="project-ai"] #project-ai-view,
:root[data-initial-view="pole-lookup"] #pole-lookup-view,
:root[data-initial-view="ai-google-maps-lookup"] #ai-google-maps-lookup-view,
:root[data-initial-view="ai-review"] #ai-review-view,
:root[data-initial-view="road-inventory"] #road-inventory-view,
:root[data-initial-view="city-county-lookup"] #city-county-lookup-view,
:root[data-initial-view="railroad-lookup"] #railroad-lookup-view,
:root[data-initial-view="environmental-checklist"] #environmental-checklist-view,
:root[data-initial-view="field-weather"] #field-weather-view,
:root[data-initial-view="kml-generator"] #kml-generator-view,
:root[data-initial-view="virtual-walkdown"] #virtual-walkdown-view,
:root[data-initial-view="gis-county-list"] #gis-county-list-view,
:root[data-initial-view="equipment-reference"] #equipment-reference-view,
:root[data-initial-view="formula-reference"] #formula-reference-view,
:root[data-initial-view="conductor-reference"] #conductor-reference-view,
:root[data-initial-view="training-curriculum"] #training-curriculum-view,
:root[data-initial-view="gis-county-maps-ai"] #gis-county-maps-ai-view,
:root[data-initial-view="useful-links"] #useful-links-view,
:root[data-initial-view="saved-reports"] #saved-reports-view,
:root[data-initial-view="previous-reports"] #previous-reports-view,
:root[data-initial-view="report-view"] #report-view,
:root[data-initial-view="admin-dashboard"] #admin-dashboard-view,
:root[data-initial-view="route-planner"] #route-planner-view,
:root[data-initial-view="matting-estimate"] #matting-estimate-view,
:root[data-initial-view="feet-inches"] #feet-inches-view,
:root[data-initial-view="ruling-span"] #ruling-span-view,
:root[data-initial-view="deliverable-field-mapping"] #deliverable-field-mapping-view,
:root[data-initial-view="email-generator"] #email-generator-view {
  display: grid;
  min-height: calc(100vh - 164px);
}

.view-section.is-active > .dashboard-home,
.view-section.is-active > .lookup-shell,
.view-section.is-active > .table-shell {
  margin-top: -1px;
  min-height: calc(100vh - 164px);
  border-radius: 0;
}

.dashboard-home,
.table-shell,
.lookup-shell {
  min-width: 0;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.summary article,
.overview-section,
.lookup-result-section,
.weather-shell,
.lookup-history-shell,
.saved-reports-panel,
.share-report-panel,
.lookup-note,
.weather-card,
.history-item,
.overview-point-list,
.lookup-sources,
.news-panel,
.home-marketing-panel,
.current-report-action-panel,
.tools-panel,
.quick-launch-panel,
.home-feet-inches-panel,
.recent-projects-panel,
.tool-category,
.settings-widget,
.website-search-section,
.tool-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.dashboard-home,
.lookup-shell {
  display: flex;
  flex-direction: column;
  gap: var(--section-gap);
  padding: var(--shell-padding);
}

.about-shell {
  gap: 14px;
  padding: 14px;
}

.about-shell .about-hero {
  margin: -14px -14px 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.about-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
  gap: 18px;
  align-items: stretch;
  min-height: clamp(380px, 34vw, 500px);
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: var(--radius);
  background: #17232a;
  box-shadow: var(--shadow);
}

.about-hero::before,
.about-hero::after {
  position: absolute;
  inset: 0;
  content: "";
}

.about-hero::before {
  z-index: -2;
  background-image: url("./media/daniele-turani-7jKr9fqqBbo-unsplash.jpg");
  background-position: center;
  background-size: cover;
}

.about-hero::after {
  z-index: -1;
  background:
    linear-gradient(90deg, rgb(8 18 23 / 86%) 0%, rgb(8 18 23 / 68%) 48%, rgb(8 18 23 / 38%) 100%),
    linear-gradient(0deg, rgb(8 18 23 / 30%), rgb(8 18 23 / 30%));
}

.about-hero > * {
  position: relative;
  z-index: 1;
}

.about-hero-copy {
  display: grid;
  gap: 10px;
  align-content: center;
}

.about-hero-copy h2 {
  max-width: 920px;
  color: #ffffff;
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1.08;
}

.about-hero-copy p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: rgb(255 255 255 / 84%);
  font-size: 15px;
}

.about-proof-card {
  display: grid;
  gap: 10px;
  align-content: center;
  align-self: end;
  min-height: 0;
  padding: 14px;
  border: 1px solid rgb(255 255 255 / 28%);
  border-radius: var(--radius);
  background: rgb(8 18 23 / 48%);
  backdrop-filter: blur(6px);
}

.about-proof-card strong {
  color: #ffffff;
  font-size: 24px;
  line-height: 1.12;
}

.about-proof-card span {
  color: rgb(255 255 255 / 78%);
  font-weight: var(--weight-medium);
}

.about-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.about-card,
.about-statement {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.about-card {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 10px 12px;
}

.about-card-kicker {
  color: var(--accent);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
}

.about-card p,
.about-statement p {
  margin: 0;
  color: var(--muted);
}

.about-statement {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
}

.about-workflow {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.5fr);
  gap: 14px;
  align-items: start;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.about-workflow-heading {
  display: grid;
  gap: 9px;
  align-content: start;
}

.about-workflow h3 {
  max-width: 560px;
  font-size: 24px;
  line-height: 1.16;
}

.about-workflow-heading p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
}

.about-flowchart {
  display: grid;
  grid-template-columns: minmax(155px, 1fr) 26px minmax(155px, 1fr) 26px minmax(155px, 1fr);
  gap: 8px;
  align-items: stretch;
}

.about-flow-node {
  display: grid;
  gap: 6px;
  min-width: 0;
  min-height: 150px;
  align-content: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.about-flow-node:nth-of-type(4),
.about-flow-node:nth-of-type(5),
.about-flow-node:nth-of-type(6) {
  grid-row: 3;
}

.about-flow-node-muted {
  border-style: dashed;
  color: var(--muted);
}

.about-flow-node-primary {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line));
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
}

.about-flow-node-finish {
  border-color: color-mix(in srgb, #167a35 48%, var(--line));
  background: color-mix(in srgb, #167a35 9%, var(--surface));
}

.about-flow-node span {
  color: var(--accent);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  line-height: 1.2;
  text-transform: uppercase;
}

.about-flow-node-muted span {
  color: var(--muted);
}

.about-flow-node-finish span {
  color: #167a35;
}

.about-flow-node strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}

.about-flow-node p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.about-flow-arrow,
.about-flow-split {
  position: relative;
  min-height: 34px;
}

.about-flow-arrow::before,
.about-flow-split::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 4px;
  left: 0;
  height: 2px;
  background: color-mix(in srgb, var(--accent) 46%, var(--line));
  transform: translateY(-50%);
}

.about-flow-arrow::after,
.about-flow-split::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 9px;
  height: 9px;
  border-top: 2px solid color-mix(in srgb, var(--accent) 62%, var(--line));
  border-right: 2px solid color-mix(in srgb, var(--accent) 62%, var(--line));
  transform: translateY(-50%) rotate(45deg);
}

.about-flow-split {
  grid-column: 5;
  grid-row: 2;
  min-height: 34px;
}

.about-flow-split::before {
  top: 0;
  right: auto;
  bottom: 4px;
  left: 50%;
  width: 2px;
  height: auto;
  transform: none;
}

.about-flow-split::after {
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) rotate(135deg);
}

.about-flow-split {
  display: inline-grid;
}

.about-flow-split::marker {
  content: "";
}

.about-flow-split + .about-flow-node {
  grid-column: 5;
}

.about-flow-split + .about-flow-node + .about-flow-arrow {
  grid-column: 4;
  grid-row: 3;
  transform: rotate(180deg);
}

.about-flow-split + .about-flow-node + .about-flow-arrow + .about-flow-node {
  grid-column: 3;
}

.about-flow-split + .about-flow-node + .about-flow-arrow + .about-flow-node + .about-flow-arrow {
  grid-column: 2;
  grid-row: 3;
  transform: rotate(180deg);
}

.about-flow-split + .about-flow-node + .about-flow-arrow + .about-flow-node + .about-flow-arrow + .about-flow-node {
  grid-column: 1;
}

@media (max-width: 980px) {
  .about-hero,
  .about-grid,
  .about-workflow {
    grid-template-columns: 1fr;
  }

  .about-proof-card {
    min-height: 0;
  }

  .about-flowchart {
    grid-template-columns: 1fr;
  }

  .about-flow-node,
  .about-flow-arrow,
  .about-flow-split,
  .about-flow-node:nth-of-type(4),
  .about-flow-node:nth-of-type(5),
  .about-flow-node:nth-of-type(6),
  .about-flow-split + .about-flow-node,
  .about-flow-split + .about-flow-node + .about-flow-arrow,
  .about-flow-split + .about-flow-node + .about-flow-arrow + .about-flow-node,
  .about-flow-split + .about-flow-node + .about-flow-arrow + .about-flow-node + .about-flow-arrow,
  .about-flow-split + .about-flow-node + .about-flow-arrow + .about-flow-node + .about-flow-arrow + .about-flow-node {
    grid-column: 1;
    grid-row: auto;
  }

  .about-flow-arrow {
    min-height: 28px;
  }

  .about-flow-arrow,
  .about-flow-split {
    display: block;
    transform: none !important;
  }

  .about-flow-arrow::before,
  .about-flow-split::before {
    top: 0;
    right: auto;
    bottom: 4px;
    left: 50%;
    width: 2px;
    height: auto;
    transform: none;
  }

  .about-flow-arrow::after,
  .about-flow-split::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
  }

  .about-flow-node {
    min-height: auto;
  }
}

.settings-form {
  display: block;
  max-width: 560px;
}

.settings-widget {
  display: grid;
  gap: 10px;
  width: min(720px, 100%);
  padding: 12px;
}

.settings-nav {
  position: sticky;
  top: 72px;
  z-index: 4;
  display: flex;
  gap: 6px;
  align-items: center;
  overflow-x: auto;
  padding: 0 0 8px;
  background: var(--page);
}

.settings-nav a {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  background: var(--panel);
}

.settings-nav a:hover,
.settings-nav a:focus-visible,
.settings-nav a.is-active {
  color: var(--ink);
  border-color: var(--accent);
}

.settings-nav a.is-active {
  background: var(--accent-soft);
}

.settings-group {
  scroll-margin-top: 118px;
  display: block;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  background: transparent;
}

.settings-group > div:first-child {
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}

.settings-group h3 {
  margin: 0 0 2px;
  font-size: 14px;
}

.settings-group p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.settings-group.is-locked {
  opacity: 0.72;
}

.settings-group label {
  display: block;
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 13px;
  font-weight: bold;
}

.settings-field {
  margin: 0 0 10px;
}

.settings-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  width: min(520px, 100%);
}

.settings-field > label {
  display: inline-block;
  margin: 0;
}

.settings-field > small {
  display: block;
  width: min(420px, 100%);
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.settings-group label > input,
.settings-group label > textarea,
.settings-group label > .input-with-unit,
.settings-field > input[type="email"],
.settings-field > input[type="tel"],
.settings-field > input,
.settings-field > textarea {
  display: block;
  margin-top: 4px;
  font-weight: normal;
}

.settings-group label > input {
  width: 140px;
}

.settings-group label > input[type="text"],
.settings-group label > input[type="password"],
.settings-field > input[type="email"],
.settings-field > input[type="tel"],
.settings-field > input[type="password"],
.settings-field > input[type="text"] {
  width: min(420px, 100%);
}

.settings-group label > textarea,
.settings-field > textarea {
  width: min(420px, 100%);
  min-height: 96px;
  resize: vertical;
}

.settings-toggle-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin: 0 0 6px !important;
  color: var(--ink);
  font-size: 13px;
  font-weight: normal !important;
  cursor: pointer;
}

.settings-toggle-row input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}

.settings-toggle-row span {
  min-width: 0;
}

.input-with-unit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 140px;
}

.input-with-unit input {
  flex: 1;
  min-width: 0;
}

.input-with-unit span {
  color: var(--muted);
  font-size: 12px;
}

.settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.settings-data-group {
  display: grid;
  gap: 12px;
}

.settings-data-panels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  width: min(620px, 100%);
}

.settings-data-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.settings-data-options > strong {
  grid-column: 1 / -1;
  font-size: 12px;
}

.settings-data-options .settings-toggle-row {
  width: auto;
  min-width: 0;
}

.settings-data-options .settings-toggle-row span {
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.settings-data-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.saved-reports-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  overflow: hidden;
}

.saved-reports-list {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
}

.share-report-panel {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  padding: 10px;
}

.share-report-panel[hidden],
.share-report-panel.is-hidden {
  display: none;
}

.app-toast {
  position: fixed;
  bottom: 96px;
  left: 50%;
  z-index: 1000;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  max-width: min(360px, calc(100vw - 36px));
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translate(-50%, 8px);
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
}

.app-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.app-toast-action {
  border: 0;
  padding: 2px 0;
  background: transparent;
  color: var(--accent);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.app-toast-action:hover,
.app-toast-action:focus-visible {
  color: var(--accent);
  text-decoration: underline;
}

.app-prompt {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0, 0, 0, 0.42);
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease;
}

.app-prompt.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.app-prompt-panel {
  display: grid;
  gap: 12px;
  width: min(420px, calc(100vw - 36px));
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow);
  text-align: center;
}

.app-prompt-panel p {
  margin: 0;
}

.app-prompt-panel .button {
  justify-self: center;
}

.app-prompt-ok {
  min-width: 120px;
}

.app-confirm-panel strong {
  font-size: 16px;
}

.missing-project-fields-panel {
  width: min(560px, calc(100vw - 36px));
  text-align: left;
}

.missing-project-fields-list {
  display: grid;
  gap: 10px;
  max-height: min(48vh, 360px);
  margin: 0;
  padding: 0;
  overflow: auto;
  list-style: none;
}

.missing-project-fields-list li {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-muted);
}

.missing-project-fields-list span {
  color: var(--muted);
}

.project-output-preflight-panel {
  width: min(1080px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  text-align: left;
}

.project-output-preflight-sections {
  display: grid;
  gap: 12px;
}

.project-output-preflight-upload {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-muted);
}

.project-output-preflight-upload[hidden] {
  display: none;
}

.project-output-preflight-upload > div:first-child {
  display: grid;
  gap: 3px;
}

.project-output-preflight-upload small {
  color: var(--muted);
}

.project-output-preflight-upload-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.project-output-preflight-section {
  display: grid;
  gap: 8px;
}

.project-output-preflight-section > strong {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-output-preflight-rows {
  display: grid;
  gap: 5px;
}

.project-output-preflight-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.55fr) minmax(0, 1fr);
  gap: 8px 12px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-muted);
}

.project-output-preflight-row > span {
  color: var(--muted);
  font-size: 12px;
}

.project-output-preflight-row > strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.project-output-preflight-row small {
  grid-column: 2;
  color: var(--muted);
  font-size: 12px;
}

.project-output-preflight-row > .project-report-action-button {
  grid-column: 2;
  justify-self: start;
}

.project-output-preflight-row input,
.project-output-preflight-row select {
  width: 100%;
  min-width: 0;
}

.project-output-preflight-row input[type="checkbox"] {
  width: 16px;
  min-width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--accent);
}

.project-output-deliverable-row {
  grid-template-columns: minmax(220px, 0.9fr) minmax(92px, max-content) minmax(280px, 1.25fr);
  padding: 8px 10px;
}

.project-output-deliverable-row > span {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: var(--ink);
}

.project-output-deliverable-row small {
  grid-column: auto;
}

.project-output-preflight-row.is-missing,
.project-output-preflight-row.is-blocked {
  border-color: rgba(245, 158, 11, 0.55);
}

.app-prompt-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

.field-conflict-panel {
  width: min(620px, calc(100vw - 36px));
  text-align: left;
}

.field-conflict-panel p {
  color: var(--muted);
  font-size: 13px;
}

.field-conflict-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.field-conflict-table th,
.field-conflict-table td {
  padding: 5px 8px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

.field-conflict-table th {
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
}

.conflict-check-th {
  text-align: center;
  width: 48px;
}

.conflict-check-cell {
  text-align: center;
  width: 48px;
}

.conflict-check-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.conflict-keep-checkbox {
  width: 15px;
  height: 15px;
  cursor: pointer;
  accent-color: var(--accent);
}

.conflict-field-label {
  font-weight: bold;
  white-space: nowrap;
  color: var(--muted);
}

.conflict-field-value {
  color: var(--ink);
}

.conflict-tool-value {
  color: var(--accent);
}

.current-report-details-shell[hidden] {
  display: none;
}

.current-report-action-panel {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px;
}

.current-report-action-panel strong,
.current-report-action-panel small {
  display: block;
}

.current-report-action-panel small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.report-storage-badge {
  display: block;
  width: fit-content;
  min-height: 0;
  margin-top: 3px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  white-space: nowrap;
}

.report-storage-badge.is-local {
  color: #92400e;
}

.report-storage-badge.is-server {
  color: #166534;
}

.report-storage-badge.is-unsaved {
  color: var(--muted);
}

.current-report-action-buttons {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.current-report-action-buttons .button {
  width: auto;
  min-width: 88px;
  min-height: 30px;
  padding: 6px 10px;
}

.saved-report-detail-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-items: start;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.saved-report-detail-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.saved-report-detail-table.is-collapsed {
  display: none;
}

.saved-report-detail-table th,
.saved-report-detail-table td {
  padding: 5px 7px;
  border: 1px solid var(--line);
  vertical-align: top;
}

.saved-report-detail-table th {
  width: 180px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-align: left;
  text-transform: uppercase;
}

.saved-report-detail-table strong {
  display: block;
}

.saved-report-detail-table small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  line-height: 1.25;
}

.saved-report-detail-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

.saved-report-detail-actions .button {
  width: auto;
  min-width: 92px;
  min-height: 30px;
  padding: 6px 10px;
}

.dashboard-intro,
.view-header,
.table-toolbar,
.weather-header,
.overview-header,
.history-header,
.pole-section-header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.dashboard-intro p:last-child,
.view-header p:last-child,
.toolbar-subtitle,
.lookup-note,
.overview-note,
.tool-header-note,
.weather-header small,
.overview-header small,
.history-item small {
  color: var(--muted);
}

.dashboard-page-title {
  display: grid;
  gap: 2px;
  padding: 0 2px 2px;
}

.dashboard-page-title h2 {
  margin: 0;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.15;
}

.dashboard-page-title p:last-child {
  margin: 2px 0 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.weather-actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.toolbar-subtitle {
  display: block;
  margin-top: 3px;
}

.website-search-shell {
  gap: 10px;
  max-width: 100%;
  overflow: hidden;
}

.website-search-section {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.website-search-section + .website-search-section {
  padding-top: 0;
  border-top: 1px solid var(--line);
}

.website-search-section .overview-header {
  margin: -12px -12px 0;
  border-radius: var(--radius) var(--radius) 0 0;
  cursor: default;
}

.website-search-section .overview-header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.website-search-section .overview-header strong {
  color: var(--ink);
  font-size: var(--section-title-font-size);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.website-search-section .overview-header small {
  font-size: var(--card-description-font-size);
  line-height: 1.45;
}

.website-search-section .lookup-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
  max-width: 860px;
  min-width: 0;
}

.website-search-section .lookup-form label {
  gap: 5px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 13px;
}

.website-search-section .lookup-form input[type="search"] {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  background: var(--surface);
  color: var(--ink);
}

.website-search-section .lookup-results {
  overflow-wrap: anywhere;
}

.project-search-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.design-term-search-table-wrap {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.design-term-search-table-wrap + .compact-overview-header {
  margin-top: 14px;
}

.tool-list-header,
.tool-card {
  display: grid;
  grid-template-columns: 150px minmax(320px, 1fr) 72px;
  gap: 10px;
  align-items: center;
}

.tool-list-header {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.compact-button {
  min-height: 30px;
  padding: 5px 9px;
  font-size: 12px;
}

.news-panel {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 12px;
  color: var(--ink);
}

.news-panel-header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin: -12px -12px 0;
  padding: 10px 12px;
  border-radius: var(--radius) var(--radius) 0 0;
  border-bottom: 1px solid var(--home-widget-border);
  background: var(--home-widget-header-bg);
}

.news-panel .eyebrow,
.news-panel h3 {
  color: var(--muted);
}

.news-source-note {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.news-resource-links {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;
  font-size: 12px;
  white-space: nowrap;
}

.news-resource-links a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line));
  border-radius: var(--radius);
  background: var(--accent-soft);
  color: var(--ink);
  font-weight: bold;
  text-decoration: none;
}

.news-resource-links a:hover,
.news-resource-links a:focus-visible {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
}

.news-actions,
.recent-projects-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}

.news-actions .icon-button,
.recent-projects-actions .icon-button {
  width: 32px;
  height: 32px;
  background: var(--surface);
  font-size: 20px;
}

.news-actions .icon-button:disabled,
.recent-projects-actions .icon-button:disabled {
  cursor: default;
  opacity: 0.38;
}

.news-list {
  display: grid;
  gap: 6px;
  overflow: hidden;
}

.news-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line));
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  text-decoration: none;
}

.news-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.news-item:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.news-meta,
.news-empty {
  color: var(--muted);
  font-size: 12px;
}

.news-meta {
  white-space: nowrap;
}

.widget-grid,
.dashboard-header-band,
.home-widget-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--home-widget-gap);
  align-items: stretch;
}

.widget-span-1 {
  grid-column: span 1;
}

.widget-span-2 {
  grid-column: span 2;
}

.widget-span-3,
.widget-grid.widget-grid-single > :not([hidden]) {
  grid-column: 1 / -1;
}

.dashboard-header-band {
  padding: 0;
}

.home-marketing-panel {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(12px, 2vw, 20px);
  align-items: center;
  min-height: clamp(210px, 24vw, 320px);
  padding: clamp(18px, 3vw, 32px);
  border-color: color-mix(in srgb, var(--accent) 30%, var(--line));
  background: #17232a;
}

.home-marketing-panel::before,
.home-marketing-panel::after {
  position: absolute;
  inset: 0;
  content: "";
  z-index: -2;
}

.home-marketing-panel::before {
  background-image: url("./media/daniele-turani-7jKr9fqqBbo-unsplash.jpg");
  background-position: center;
  background-size: cover;
}

.home-marketing-panel::after {
  z-index: -1;
  background:
    linear-gradient(90deg, rgb(8 18 23 / 88%) 0%, rgb(8 18 23 / 74%) 48%, rgb(8 18 23 / 36%) 100%),
    linear-gradient(0deg, rgb(8 18 23 / 30%), rgb(8 18 23 / 30%));
}

.home-marketing-panel[hidden] {
  display: none;
}

.home-marketing-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.home-marketing-copy h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.2;
}

.home-marketing-copy p {
  margin: 0;
  max-width: 700px;
  color: rgb(255 255 255 / 82%);
  font-size: 13px;
  line-height: 1.5;
}

.home-marketing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.home-marketing-panel .button.secondary {
  border-color: rgb(255 255 255 / 45%);
  background: rgb(255 255 255 / 14%);
  color: #ffffff;
}

.home-marketing-panel .button.secondary:not(:disabled):hover,
.home-marketing-panel .button.secondary:not(:disabled):focus-visible {
  border-color: rgb(255 255 255 / 70%);
  background: rgb(255 255 255 / 22%);
  color: #ffffff;
}

.tools-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--home-widget-gap);
  padding: 12px;
}

.tools-panel-header,
.quick-launch-header,
.home-feet-inches-header,
.recent-projects-header {
  display: flex;
  gap: 10px;
  align-items: center;
}

.tools-panel-header,
.home-feet-inches-header,
.recent-projects-header {
  justify-content: space-between;
}

.tools-panel-header {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--home-widget-border);
}

.tools-panel-body {
  display: grid;
  min-width: 0;
}

.dashboard-directory-intro {
  max-width: 820px;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.dashboard-directory-panel .tool-grid {
  align-items: start;
}

.home-widget-row.is-single-widget {
  grid-template-columns: 1fr;
}

.quick-launch-panel,
.home-feet-inches-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  padding: 12px;
}

.home-widget-header {
  min-height: 30px;
}

.home-widget-body {
  min-width: 0;
}

.quick-launch-hint,
.quick-launch-status {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.quick-launch-hint {
  display: none;
}

.quick-launch-hint code {
  color: var(--ink);
}

.designer-work-queue-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.designer-work-queue-header {
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
}

.designer-work-queue-header h3 {
  margin: 2px 0 0;
  font-size: 15px;
  line-height: 1.25;
}

.designer-work-queue-body {
  display: grid;
  gap: 12px;
}

.designer-work-queue-controls {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.designer-work-queue-filters {
  width: 100%;
  justify-content: flex-start;
  padding: 4px;
  background: var(--surface);
}

.designer-work-queue-filters button {
  gap: 7px;
}

.designer-work-queue-filters button span {
  display: inline-flex;
  min-width: 20px;
  justify-content: center;
  padding: 1px 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-2) 82%, var(--line));
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.designer-work-queue-filters button.is-active span {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
  color: var(--ink);
}

.designer-work-queue-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.designer-work-queue-metric {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-2);
}

.designer-work-queue-metric span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
}

.designer-work-queue-metric strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
}

.designer-work-queue-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.designer-work-queue-column,
.designer-work-queue-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.designer-work-queue-column {
  align-content: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 86%, var(--surface-2));
}

.designer-work-queue-column-header {
  display: grid;
  gap: 2px;
  min-width: 0;
  min-height: 54px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.designer-work-queue-column-header h4 {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
}

.designer-work-queue-column-header small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.designer-work-queue-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-top-width: 3px;
  border-radius: 7px;
  background: var(--surface);
}

.designer-work-queue-item.is-clear,
.designer-work-queue-item.is-ahead {
  border-top-color: #167a35;
}

.designer-work-queue-item.is-watch {
  border-top-color: var(--warn);
}

.designer-work-queue-item.is-review {
  border-top-color: var(--danger);
}

.designer-work-queue-item.is-muted {
  border-top-color: var(--muted);
}

.designer-work-queue-item-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.designer-work-queue-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.designer-work-queue-title-row small {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.designer-work-queue-item-main strong,
.designer-work-queue-item-main span,
.designer-work-queue-item-main small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.designer-work-queue-item-main strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}

.designer-work-queue-item-main span,
.designer-work-queue-item-main small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.designer-work-queue-meta {
  color: var(--ink) !important;
  font-weight: var(--weight-medium);
}

.designer-work-queue-reason {
  display: block;
}

.designer-work-queue-kicker {
  color: var(--accent) !important;
  font-size: 11px !important;
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
}

.designer-work-queue-action {
  justify-self: start;
  white-space: nowrap;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 6px 8px;
  background: var(--surface-2);
  color: var(--accent);
  font-size: 12px;
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.designer-work-queue-action:hover,
.designer-work-queue-action:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  outline: none;
}

@media (max-width: 980px) {
  .matting-method-panel {
    grid-template-columns: 1fr;
  }

  .designer-work-queue-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .designer-work-queue-grid {
    grid-template-columns: 1fr;
  }

  .designer-work-queue-column-header {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .designer-work-queue-header,
  .designer-work-queue-controls {
    grid-template-columns: 1fr;
  }

  .designer-work-queue-filters {
    overflow-x: auto;
    justify-content: flex-start;
  }

  .designer-work-queue-filters button {
    flex: 0 0 auto;
  }

  .designer-work-queue-title-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .designer-work-queue-header .button,
  .designer-work-queue-action {
    justify-self: start;
  }
}

.quick-launch-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 34%);
  grid-template-rows: var(--quick-launch-input-default-height) minmax(18px, auto);
  gap: 8px;
  align-items: start;
}

.quick-launch-input {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  height: var(--quick-launch-input-default-height);
  min-height: var(--quick-launch-input-default-height);
  resize: vertical;
  text-transform: none;
}

.quick-launch-actions {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: 6px;
  align-content: stretch;
  height: var(--quick-launch-input-default-height);
  min-width: 0;
}

.quick-launch-actions .button {
  width: 100%;
  min-height: 0;
  justify-content: center;
  padding: 4px 8px;
  text-align: center;
  white-space: normal;
  font-size: 12px;
}

.quick-launch-actions .quick-launch-create-project {
  grid-column: 1 / -1;
  justify-content: center;
  text-align: center;
}

.quick-launch-body > .coordinate-file-import {
  grid-column: 1;
  grid-row: 2;
}

.quick-launch-status {
  grid-column: 1;
  grid-row: 3;
}

.quick-launch-status.is-error {
  color: var(--danger);
  font-weight: 700;
}

.reports-workbench {
  display: grid;
  gap: 14px;
}

.reports-launch-panel,
.reports-action-panel,
.reports-output-strip {
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background: var(--surface);
}

.reports-launch-panel {
  display: grid;
  grid-template-columns: minmax(260px, 32%) minmax(0, 1fr);
  gap: 16px;
  padding: 14px;
}

.reports-launch-copy {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
}

.reports-launch-copy h3,
.reports-action-header h3 {
  margin: 0;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.2;
}

.reports-launch-copy p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.reports-launch-body {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.reports-launch-input {
  min-height: 220px;
}

.reports-action-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.reports-action-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.reports-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.reports-action-card {
  display: grid;
  gap: 5px;
  align-content: start;
  min-height: 112px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.reports-packet-card {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  min-height: 104px;
  padding: 14px;
}

.reports-action-kicker {
  width: fit-content;
  padding: 3px 7px;
  border: 1px solid color-mix(in srgb, var(--accent) 44%, var(--line));
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
  text-transform: uppercase;
}

.reports-action-card strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.25;
}

.reports-packet-card strong {
  font-size: 18px;
}

.reports-action-card small {
  color: var(--muted);
  font-size: var(--card-description-font-size);
  line-height: 1.35;
}

.reports-action-card:hover,
.reports-action-card:focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  outline: none;
}

.reports-action-card.is-primary {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent-soft) 72%, var(--surface));
}

.reports-action-card.is-disabled,
.reports-action-card:disabled {
  cursor: not-allowed;
  opacity: 0.64;
}

.reports-catalog-count {
  color: var(--muted);
  font-size: 0.85em;
  font-weight: 700;
}

.reports-output-strip {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 12px 14px;
}

.reports-output-strip strong {
  color: var(--ink);
  font-size: 13px;
}

.reports-output-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: min(100%, 390px);
}

.reports-output-actions .button {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  text-align: center;
  white-space: normal;
}

.home-feet-inches-body {
  display: grid;
  grid-template-rows: minmax(92px, 1fr) auto minmax(82px, auto);
  gap: 8px;
  align-items: start;
}

.home-feet-inches-input {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 92px;
  resize: vertical;
  text-transform: none;
}

.home-feet-inches-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.home-feet-inches-actions .button {
  width: 100%;
  min-height: 26px;
  justify-content: center;
  padding: 4px 8px;
  font-size: 12px;
}

.home-feet-inches-result {
  display: grid;
  align-content: center;
  min-height: 82px;
  padding: 7px 9px;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.home-feet-inches-result strong,
.home-feet-inches-result span {
  display: block;
}

.home-feet-inches-result strong {
  color: var(--accent);
  font-size: 15px;
}

.home-feet-inches-steps {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 8px;
  align-items: start;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--home-widget-border);
  color: var(--muted);
}

.home-feet-inches-steps-label {
  color: var(--ink);
  font-weight: 700;
}

.home-feet-inches-steps div {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  min-width: 0;
}

.home-feet-inches-steps div span {
  overflow-wrap: anywhere;
}

.home-feet-inches-result.is-error {
  border-color: var(--danger);
  color: var(--danger);
  font-weight: 700;
}

.tool-grid {
  column-count: 2;
  column-gap: var(--home-widget-gap);
}

.recent-projects-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  align-content: start;
  padding: 12px;
}

.category-recent-projects-panel {
  margin: 0;
}

.recent-projects-body {
  display: grid;
  min-width: 0;
}

.recent-project-list {
  display: grid;
  gap: 0;
  align-self: start;
  align-content: start;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
}

#home-recent-projects {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  border: 0;
  background: transparent;
}

.all-projects-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

#project-maps-view > .project-map-gallery-section {
  min-height: 0;
  gap: 0;
  overflow: hidden;
  padding: 0;
}

#project-maps-view.view-section.is-active,
:root[data-initial-view="project-maps"] #project-maps-view {
  min-height: 0;
}

#project-map-view > .project-single-map-section {
  min-height: 0;
  gap: 0;
  overflow: hidden;
  padding: 0;
}

#projects-view > .project-list-section {
  min-height: 0;
}

.project-view-switcher {
  display: inline-flex;
  align-self: start;
  justify-self: end;
  width: fit-content;
}

.project-single-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 0;
  min-height: min(720px, calc(100vh - 310px));
  border-top: 1px solid var(--line);
}

.project-single-map {
  position: relative;
  min-height: 520px;
  border-right: 1px solid var(--line);
  background: var(--surface-2);
}

.project-single-map[data-loaded="true"] {
  background: transparent;
}

.project-map-list {
  display: grid;
  align-content: start;
  max-height: min(720px, calc(100vh - 310px));
  min-height: 0;
  overflow: auto;
  background: var(--surface);
}

.project-map-list-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 10px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.project-map-list-item:hover,
.project-map-list-item:focus-visible {
  background: var(--surface-2);
}

.project-map-list-index {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--surface);
  font-size: 12px;
  font-weight: var(--weight-bold);
}

.project-map-list-item strong,
.project-map-list-item small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-map-list-item strong {
  color: var(--accent);
}

.project-map-list-item small {
  color: var(--muted);
}

.project-map-info-window {
  display: grid;
  gap: 3px;
  max-width: 260px;
  color: #1f2933;
  font: 13px/1.35 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.project-map-info-window strong,
.project-map-info-window span,
.project-map-info-window a {
  display: block;
}

.project-map-info-window a {
  margin-top: 5px;
  color: #005eb8;
  font-weight: 700;
}

.project-list-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.project-list-heading-row > div:first-child {
  min-width: 0;
}

.project-view-description {
  display: block;
}

.project-view-description-toggle {
  display: none;
}

.project-view-description .tool-header-note {
  margin-top: 0;
}

.recent-project-list-header,
.recent-project-item {
  display: grid;
  grid-template-columns: minmax(150px, 1.4fr) minmax(92px, 0.7fr) minmax(62px, 0.45fr) minmax(120px, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.recent-project-list-header {
  padding: 7px 10px;
  background: var(--home-widget-header-bg);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.recent-project-item {
  min-height: 36px;
  padding: 8px 10px;
  border: 0;
  border-top: 1px solid var(--home-widget-border);
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.recent-project-item:hover {
  background: var(--surface-2);
}

.recent-project-item strong,
.recent-project-item span,
.recent-project-item small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-project-item strong {
  color: var(--accent);
}

.recent-project-item small {
  color: var(--muted);
}

.recent-project-preview-item {
  display: grid;
  grid-template-columns: minmax(180px, 0.95fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  min-width: 0;
  min-height: 176px;
  padding: 8px;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.recent-project-preview-item:hover,
.recent-project-preview-item:focus-visible {
  border-color: var(--accent);
  background: var(--surface-2);
}

.recent-project-preview-image {
  position: relative;
  display: block;
  align-self: center;
  width: 100%;
  aspect-ratio: 7 / 4;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--surface)), var(--surface));
  background-size: 100% 100%;
  background-position: center;
}

.recent-project-preview-item.has-project-image .recent-project-preview-image {
  background-image: var(--project-image);
  background-size: cover;
  background-position: center;
}

.recent-project-preview-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  align-content: center;
  align-items: start;
  min-width: 0;
}

.recent-project-preview-content strong,
.recent-project-preview-content span,
.recent-project-preview-content small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-project-preview-content strong {
  color: var(--accent);
  font-size: var(--card-title-font-size);
  font-weight: var(--weight-bold);
}

.recent-project-preview-content span {
  color: var(--ink);
  font-size: var(--card-description-font-size);
}

.recent-project-preview-content small {
  color: var(--muted);
  font-size: var(--card-description-font-size);
}

.recent-project-card {
  position: relative;
  display: grid;
  align-items: end;
  aspect-ratio: 7 / 4;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 10px;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, var(--surface)), var(--surface));
  color: var(--ink);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.recent-project-pole-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.recent-project-pole-dot {
  position: absolute;
  width: 9px;
  height: 9px;
  pointer-events: auto;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: #ff3b30;
  box-shadow: 0 1px 4px rgb(0 0 0 / 70%);
  transform: translate(-50%, -50%);
}

.recent-project-card .recent-project-pole-marker {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  min-width: 26px;
  overflow: visible;
  border: 3px solid #ffffff;
  border-radius: 999px;
  background: #ef4444;
  color: #ffffff;
  box-shadow: 0 2px 6px rgb(0 0 0 / 55%);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  pointer-events: auto;
  text-align: center;
  text-overflow: clip;
  text-shadow: 0 1px 1px rgb(0 0 0 / 28%);
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.recent-project-card .recent-project-pole-marker.is-reference {
  background: #3b82f6;
}

.recent-project-card .recent-project-pole-marker:empty::after {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgb(255 255 255 / 88%);
  content: "";
}

.recent-project-card.has-project-image {
  background-image: var(--project-image);
  background-size: cover;
  background-position: center;
}

.recent-project-card::before {
  content: none;
}

.recent-project-card:hover,
.recent-project-card:focus-visible {
  border-color: var(--accent);
}

.recent-project-card-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 3px;
  min-width: 0;
  margin: -2px;
  padding: 8px;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 1px 5px rgb(0 0 0 / 18%);
}

:root.dark .recent-project-card-content,
body.dark .recent-project-card-content {
  background: rgba(48, 56, 64, 0.86);
  box-shadow: 0 1px 6px rgb(0 0 0 / 36%);
}

.recent-project-card strong,
.recent-project-card span,
.recent-project-card small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-project-card strong {
  color: var(--accent);
  font-size: var(--card-title-font-size);
  line-height: 1.2;
}

.recent-project-card span {
  color: var(--ink);
  font-size: var(--card-description-font-size);
  font-weight: 700;
}

.recent-project-card small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

:root.dark .recent-project-card strong,
body.dark .recent-project-card strong {
  color: #d7ecff;
}

:root.dark .recent-project-card span,
body.dark .recent-project-card span {
  color: #ffffff;
}

:root.dark .recent-project-card small,
body.dark .recent-project-card small {
  color: #d7dce2;
}

.recent-project-empty {
  color: var(--muted);
  font-size: 12px;
  padding: 8px 2px;
}

.segmented-control {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--surface) 92%, var(--panel));
}

.segmented-control button,
.segmented-control a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}

.segmented-control button:hover,
.segmented-control button:focus-visible,
.segmented-control a:hover,
.segmented-control a:focus-visible {
  color: var(--ink);
  outline: none;
}

.segmented-control button.is-active,
.segmented-control a.is-active {
  background: var(--accent);
  color: var(--accent-contrast);
}

.tool-category {
  display: grid;
  gap: 6px;
  align-self: start;
  break-inside: avoid;
  margin-bottom: var(--home-widget-gap);
  padding: 10px;
}

.tool-category[hidden] {
  display: none;
}

.tool-category h3 {
  padding: 0 2px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

a.tool-card {
  text-decoration: none;
}

.tool-card {
  min-height: 0;
  color: var(--ink);
  padding: 9px 10px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.tools-panel .tool-card,
.search-result-grid .tool-card {
  grid-template-columns: minmax(0, 1fr) auto;
}

.tools-panel .tool-card small,
.search-result-grid .tool-card small {
  display: none;
}

.project-tool-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(112px, 1fr));
  gap: 6px;
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
}

.lookup-result-section.project-tool-actions {
  display: grid;
  gap: 10px;
  border-left-width: 5px;
}

.project-tool-list {
  display: grid;
  gap: 8px;
}

.project-tool-list-action {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  font: inherit;
  font-weight: var(--weight-semibold);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.project-tool-list-action:hover,
.project-tool-list-action:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  outline: none;
}

.project-tool-list-action:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.project-tools-header {
  display: grid;
  gap: 2px;
  min-width: 132px;
}

.project-tools-header h3 {
  margin: 0;
  font-size: 14px;
}

.project-tools-header span {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.compact-tool-card {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  align-items: center;
  justify-items: start;
  min-width: 0;
  min-height: 34px;
  padding: 6px 9px;
  overflow: hidden;
  text-align: left;
}

.compact-tool-card .tool-title {
  min-width: 0;
  max-width: 100%;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tool-card:hover,
.history-item:hover,
.map-links > a:hover,
.map-link-button:hover {
  border-color: var(--accent);
}

.tool-title {
  color: var(--accent);
  font-size: var(--card-title-font-size);
  font-weight: bold;
  line-height: 1.3;
}

.tool-card small {
  color: var(--muted);
  font-size: var(--card-description-font-size);
  line-height: 1.45;
}

.tool-open {
  justify-self: end;
  color: var(--accent);
  font-weight: bold;
}

#category-tools-panel:has(.category-landing) {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#category-tools-panel:has(.category-landing) .tools-panel-header {
  display: none;
}

.category-landing {
  display: grid;
  gap: 12px;
  min-width: 0;
}

#category-tool-grid:has(.category-landing) {
  column-count: initial;
  display: block;
}

.category-hero-panel,
.category-card-section,
.category-metric-card,
.category-action-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.category-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.category-hero-panel h3,
.category-section-heading h3 {
  margin: 0;
  color: var(--ink);
  font-size: var(--section-title-font-size);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.category-hero-panel p:not(.eyebrow) {
  margin: 4px 0 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.category-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.category-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.category-metric-card {
  display: grid;
  gap: 2px;
  min-height: 86px;
  align-content: center;
  padding: 10px 12px;
  color: var(--ink);
  text-decoration: none;
}

.category-metric-card strong {
  color: var(--accent);
  font-size: 22px;
  line-height: 1.1;
}

.category-metric-card span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.category-metric-card small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

a.category-metric-card:hover,
a.category-metric-card:focus-visible,
.category-action-card:hover,
.category-action-card:focus-visible,
.category-activity-row:hover,
.category-activity-row:focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  outline: none;
}

.category-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 12px;
  min-width: 0;
}

.category-card-section {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 12px;
}

.category-card-section.is-wide {
  min-height: 100%;
}

.category-section-heading {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.category-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.category-action-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 96px;
  padding: 10px;
  color: var(--ink);
  text-decoration: none;
}

.category-card-icon {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
}

.category-card-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.category-card-copy strong {
  min-width: 0;
  color: var(--accent);
  font-size: var(--card-title-font-size);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.category-card-copy small {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--card-description-font-size);
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.category-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.category-card-meta span {
  display: inline-flex;
  min-height: 20px;
  align-items: center;
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 700;
}

.category-card-open {
  align-self: center;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
}

.category-directory {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.category-directory-header {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.category-directory-header h3,
.category-directory-group h3 {
  margin: 0;
  color: var(--ink);
  font-size: var(--section-title-font-size);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.category-directory-group {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.category-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.category-directory-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  min-height: 84px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  text-decoration: none;
}

.category-directory-card:hover,
.category-directory-card:focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  outline: none;
}

.category-directory-card span:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.category-directory-card strong {
  color: var(--accent);
  font-size: var(--card-title-font-size);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.category-directory-card small {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--card-description-font-size);
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.category-list-group {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.category-list-group h3 {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.category-list {
  display: grid;
  gap: 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.category-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  min-height: 58px;
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.category-list-row:first-child {
  border-top: 0;
}

.category-list-row:hover,
.category-list-row:focus-visible {
  background: var(--accent-soft);
  outline: none;
}

.category-list-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.category-list-copy strong {
  color: var(--accent);
  font-size: var(--card-title-font-size);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.category-list-copy small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--card-description-font-size);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.category-group-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.category-group-grid .tool-category {
  margin: 0;
}

.category-group-grid .category-action-card {
  grid-template-columns: 30px minmax(0, 1fr) auto;
  min-height: 76px;
}

.category-group-grid .category-card-icon {
  width: 30px;
  height: 30px;
}

.category-flow-list,
.category-health-list,
.category-activity-list {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.category-flow-list {
  list-style: none;
  counter-reset: category-step;
}

.category-flow-list li,
.category-health-list article,
.category-activity-row {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.category-flow-list li {
  position: relative;
  display: grid;
  gap: 3px;
  padding: 9px 10px 9px 38px;
  counter-increment: category-step;
}

.category-flow-list li::before {
  content: counter(category-step);
  position: absolute;
  top: 10px;
  left: 10px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: var(--accent);
  color: var(--accent-contrast);
  font-size: 11px;
  font-weight: 800;
}

.category-flow-list strong,
.category-health-list strong,
.category-activity-row strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.category-flow-list span,
.category-health-list span,
.category-activity-row span,
.category-activity-row small {
  min-width: 0;
  color: var(--muted);
  font-size: var(--card-description-font-size);
  line-height: 1.35;
}

.category-health-list article {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
}

.category-health-list strong {
  color: var(--accent);
}

.category-activity-row {
  display: grid;
  grid-template-columns: minmax(140px, 0.9fr) minmax(160px, 1fr) minmax(110px, auto);
  gap: 10px;
  align-items: center;
  min-height: 40px;
  padding: 8px 10px;
  color: var(--ink);
  text-decoration: none;
}

.category-activity-row strong,
.category-activity-row span,
.category-activity-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-shell {
  gap: 14px;
}

.help-authored-date {
  display: grid;
  gap: 2px;
  min-width: 160px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  text-align: right;
}

.help-authored-date span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.help-authored-date strong {
  color: var(--accent);
  font-size: 14px;
}

.help-wiki {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.help-nav {
  grid-column: 1;
  grid-row: 1;
  position: sticky;
  top: 12px;
  align-self: start;
  height: fit-content;
  z-index: 10;
  display: grid;
  gap: 2px;
  max-height: calc(100vh - 24px);
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.help-nav strong {
  margin-bottom: 6px;
  color: var(--accent);
  font-size: 13px;
  text-transform: uppercase;
}

.help-nav-link {
  display: block;
  width: 100%;
  padding: 6px 8px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.help-nav-link:hover,
.help-nav-link:focus,
.help-nav-link.is-active {
  border-left-color: var(--accent);
  background: var(--surface-2);
  color: var(--accent);
  outline: none;
}

.help-nav.is-help-nav-fixed {
  position: fixed;
  top: var(--help-nav-top, 12px);
  left: var(--help-nav-left, auto);
  width: var(--help-nav-width, 240px);
  max-height: calc(100vh - var(--help-nav-top, 12px) - 12px);
}

.help-content {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.help-card {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  scroll-margin-top: 120px;
}

.help-overview p,
.help-card p {
  margin: 0;
  color: var(--muted);
}

.help-card h3 {
  color: var(--accent);
}

.help-card h4 {
  margin: 6px 0 0;
  font-size: 13px;
  text-transform: uppercase;
}

.help-card ul,
.help-card ol {
  margin: 0;
  padding-left: 20px;
}

.help-card li + li {
  margin-top: 4px;
}

.summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.summary article {
  padding: 14px;
}

.summary span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.summary strong {
  display: block;
  margin-top: 6px;
  font-size: 24px;
  line-height: 1;
}

.admin-dashboard-shell {
  overflow: hidden;
}

.admin-dashboard-tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 92%, var(--bg));
}

.admin-dashboard-tabs .tab-button {
  min-height: 34px;
  padding: 7px 12px;
}

.admin-dashboard-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.admin-dashboard-panel[hidden] {
  display: none;
}

.admin-api-key-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-api-key-status {
  display: grid;
  gap: 4px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px;
  background: var(--surface);
}

.admin-api-key-status span {
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  text-transform: uppercase;
}

.admin-api-key-status strong {
  color: var(--ink);
}

.admin-api-key-status small {
  color: var(--muted);
  line-height: 1.35;
}

.admin-api-key-status.is-configured {
  border-color: color-mix(in srgb, var(--success) 45%, var(--line));
}

.admin-api-key-status.is-missing {
  border-color: color-mix(in srgb, var(--danger) 45%, var(--line));
}

.admin-audit-filter-form {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) minmax(170px, 1fr) minmax(160px, 1fr) 100px auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.admin-audit-filter-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: var(--weight-bold);
}

.admin-audit-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.admin-insights {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.admin-action-queue {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.admin-action-queue-section {
  border-left-color: var(--accent);
}

.admin-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-action-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius);
  background: var(--surface);
}

.admin-action-card.is-review {
  border-left-color: var(--danger);
}

.admin-action-card.is-watch {
  border-left-color: var(--warn);
}

.admin-action-card span,
.admin-action-card small {
  display: block;
  color: var(--muted);
}

.admin-action-card span {
  font-size: 11px;
  font-weight: var(--weight-bold);
  text-transform: uppercase;
}

.admin-action-card strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  line-height: 1.25;
}

.admin-action-card small {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.35;
}

.admin-action-card-side {
  display: grid;
  gap: 8px;
  align-content: start;
  justify-items: end;
  min-width: 86px;
}

.admin-action-card-side strong {
  margin: 0;
  font-size: 24px;
  line-height: 1;
}

.admin-changelog,
.admin-changelog-list,
.admin-project-governance {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.admin-research-section {
  min-width: 0;
}

.admin-research-report {
  display: block;
  width: 100%;
  min-height: min(78vh, 920px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.admin-changelog-entry {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.admin-changelog-entry header {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
}

.admin-changelog-entry header strong {
  color: var(--ink);
  font-size: 15px;
}

.admin-changelog-entry header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: var(--weight-bold);
}

.admin-changelog-entry ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.admin-summary article {
  border-left: 4px solid var(--accent);
}

.admin-deleted-projects {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.admin-recovery-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-recovery-summary article:nth-child(2),
.admin-recovery-summary article:nth-child(3) {
  border-left-color: var(--warn);
}

.admin-recovery-summary article:nth-child(3) strong {
  font-size: 18px;
  line-height: 1.2;
}

.admin-recovery-table {
  width: 100%;
  table-layout: fixed;
}

.admin-recovery-table th:nth-child(5),
.admin-recovery-table td:nth-child(5) {
  width: 170px;
}

.admin-recovery-table th:nth-child(6),
.admin-recovery-table td:nth-child(6) {
  width: 220px;
}

.admin-recovery-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.admin-project-qa-summary article:nth-child(3),
.admin-project-qa-summary article:nth-child(4),
.admin-project-qa-summary article:nth-child(5),
.admin-project-qa-summary article:nth-child(6) {
  border-left-color: var(--warn);
}

.admin-project-qa-policy {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.admin-project-qa-table {
  width: 100%;
  table-layout: fixed;
}

.admin-project-qa-table th:nth-child(4),
.admin-project-qa-table td:nth-child(4),
.admin-project-qa-table th:nth-child(5),
.admin-project-qa-table td:nth-child(5) {
  width: 88px;
}

.admin-project-qa-table th:nth-child(6),
.admin-project-qa-table td:nth-child(6) {
  width: 34%;
}

.admin-project-qa-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.admin-project-qa-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: var(--surface);
  font-size: 11px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.admin-project-qa-chip.is-review {
  border-color: color-mix(in srgb, var(--danger) 42%, var(--line));
  background: color-mix(in srgb, var(--danger) 10%, var(--surface));
}

.admin-project-qa-chip.is-watch {
  border-color: color-mix(in srgb, var(--warn) 48%, var(--line));
  background: color-mix(in srgb, var(--warn) 14%, var(--surface));
}

.admin-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.admin-insight-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.admin-insight-column {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
}

.admin-insight-grid > .lookup-result-section {
  min-width: 0;
  align-content: start;
}

.admin-insight-column > .lookup-result-section {
  min-width: 0;
  align-content: start;
}

.admin-info-table,
.admin-route-table,
.admin-slow-table,
.admin-recent-table,
.admin-audit-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.admin-info-table {
  inline-size: 100%;
}

.admin-dashboard-shell .lookup-table {
  max-width: 100%;
  min-width: 0;
}

.admin-info-table tbody th {
  width: 34%;
}

.admin-database-table th:first-child,
.admin-database-table td:first-child {
  width: 36%;
}

.admin-database-table th:nth-child(2),
.admin-database-table td:nth-child(2) {
  width: 92px;
}

.admin-database-table th:nth-child(3),
.admin-database-table td:nth-child(3) {
  width: auto;
}

.admin-route-table th:nth-child(2),
.admin-route-table td:nth-child(2),
.admin-route-table th:nth-child(3),
.admin-route-table td:nth-child(3),
.admin-route-table th:nth-child(4),
.admin-route-table td:nth-child(4),
.admin-route-table th:nth-child(5),
.admin-route-table td:nth-child(5),
.admin-recent-table th:nth-child(2),
.admin-recent-table td:nth-child(2),
.admin-recent-table th:nth-child(4),
.admin-recent-table td:nth-child(4),
.admin-recent-table th:nth-child(5),
.admin-recent-table td:nth-child(5) {
  width: 92px;
}

.admin-route-table th,
.admin-route-table td,
.admin-slow-table th,
.admin-slow-table td,
.admin-recent-table th,
.admin-recent-table td,
.admin-audit-table th,
.admin-audit-table td,
.admin-info-table th,
.admin-info-table td {
  overflow-wrap: anywhere;
}

.admin-audit-table th:first-child,
.admin-audit-table td:first-child {
  width: 150px;
}

.admin-audit-table th:nth-child(3),
.admin-audit-table td:nth-child(3),
.admin-audit-table th:nth-child(5),
.admin-audit-table td:nth-child(5) {
  width: 150px;
}

.admin-audit-table code {
  white-space: pre-wrap;
  font-size: 11px;
}

.admin-info-table tbody td:nth-child(2),
.admin-route-table tbody td:nth-child(2),
.admin-route-table tbody td:nth-child(3),
.admin-slow-table tbody td:nth-child(2),
.admin-slow-table tbody td:nth-child(3),
.admin-recent-table tbody td:nth-child(2),
.admin-recent-table tbody td:nth-child(3) {
  min-width: 0;
}

.admin-dashboard-shell .lookup-table tbody td:nth-child(2),
.admin-dashboard-shell .lookup-table tbody td:nth-child(3) {
  min-width: 0;
}

.admin-ai-instructions,
.admin-ai-profile-list,
.admin-ai-profile-card {
  display: grid;
  gap: 12px;
}

.admin-ai-instructions-toolbar,
.admin-ai-profile-card > header,
.admin-ai-profile-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.admin-ai-profile-card {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.admin-ai-profile-card > header span,
.admin-ai-profile-state em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: bold;
  text-transform: uppercase;
}

.admin-ai-profile-card > header strong {
  display: block;
  margin-top: 2px;
}

.admin-ai-profile-card > header small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.admin-ai-profile-state {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
}

.admin-ai-profile-state em {
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-2);
}

.admin-ai-instruction-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-ai-append-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-ai-instruction-columns label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
}

.admin-ai-instruction-columns textarea {
  width: 100%;
  min-height: 118px;
  resize: vertical;
  font: 12px/1.4 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

.admin-ai-instruction-columns textarea[readonly] {
  background: var(--surface-2);
  color: var(--muted);
}

.table-shell {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.table-toolbar {
  padding: var(--toolbar-padding);
  border-bottom: 1px solid var(--line);
}

.tool-header-note {
  max-width: 920px;
  margin: 5px 0 0;
  font-size: 13px;
  line-height: 1.45;
}

.workspace-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 3px 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line));
  border-radius: 6px;
  background: color-mix(in srgb, var(--surface) 90%, var(--accent));
  color: var(--ink);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  line-height: 1.2;
}

.workspace-status[data-workspace="server"] {
  border-color: color-mix(in srgb, #2f7d4f 34%, var(--line));
  background: color-mix(in srgb, var(--surface) 90%, #2f7d4f);
}

.pole-report-header-actions:empty {
  display: none;
}

.pole-report-header-actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  min-width: 180px;
}

.pole-report-header-actions .report-lookup-form {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}

.pole-report-header-actions .report-lookup-form::before {
  display: none;
}

.pole-report-header-actions .report-lookup-form label,
.pole-report-header-actions .report-lookup-form input[type="hidden"] {
  display: none;
}

.pole-report-header-actions .report-lookup-form .pole-report-checks {
  display: none;
}

.pole-report-header-actions .report-lookup-form [data-pole-test-data] {
  display: none;
}

.pole-report-header-actions .report-lookup-form .lookup-test-data-preview {
  display: none !important;
}

.pole-report-header-actions .report-lookup-form .button {
  width: auto;
  height: auto;
  min-width: 148px;
  min-height: 42px;
  justify-content: center;
  white-space: nowrap;
}

.database-search {
  display: grid;
  gap: 6px;
  min-width: min(280px, 100%);
  color: var(--muted);
  font-weight: bold;
}

.database-search input {
  width: 100%;
}

.database-discovery-controls {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
}

.database-discovery-controls label {
  display: grid;
  gap: 4px;
  font-size: 0.78rem;
  color: var(--muted);
  font-weight: bold;
}

.database-discovery-controls input {
  width: 72px;
}

.database-discovery-controls .form-status {
  min-width: 180px;
  color: var(--muted);
}

#useful-links-view .lookup-shell {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 10px;
}

#useful-links-view .table-toolbar,
#useful-links-view .tool-footnote {
  grid-column: 1 / -1;
}

#useful-links-view .table-toolbar {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

#useful-links-view .useful-links-toolbar {
  align-items: end;
}

#useful-links-view .useful-links-actions {
  min-width: min(420px, 100%);
}

#useful-links-view .useful-links-search {
  flex: 1 1 280px;
  min-width: min(280px, 100%);
}

#useful-links-view .lookup-result-section {
  align-content: start;
  gap: 8px;
  padding: 10px;
  border-left-width: 4px;
}

#useful-links-view .lookup-result-section > .overview-header {
  margin: -10px -10px 0;
  padding: 8px 10px;
}

#useful-links-view .lookup-result-section > .overview-header > div:first-child {
  gap: 2px;
}

#useful-links-view .overview-header span {
  font-size: 14px;
}

#useful-links-view .overview-header strong,
#useful-links-view .overview-header small {
  font-size: 12px;
  line-height: 1.3;
}

#useful-links-view .useful-links-table-section {
  min-width: 0;
}

#useful-links-view .useful-links-table-wrap {
  max-height: calc(100vh - 250px);
  min-height: 380px;
  overflow: auto;
}

#useful-links-view .useful-links-table {
  min-width: 980px;
  table-layout: fixed;
}

#useful-links-view .useful-links-table th,
#useful-links-view .useful-links-table td {
  vertical-align: top;
}

#useful-links-view .useful-links-table th:nth-child(1),
#useful-links-view .useful-links-table td:nth-child(1) {
  width: 150px;
}

#useful-links-view .useful-links-table th:nth-child(2),
#useful-links-view .useful-links-table td:nth-child(2) {
  width: 210px;
}

#useful-links-view .useful-links-table th:nth-child(4),
#useful-links-view .useful-links-table td:nth-child(4) {
  width: 320px;
}

#useful-links-view .useful-link-category {
  display: inline-block;
  max-width: 100%;
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-muted);
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.25;
}

#useful-links-view .useful-links-table a {
  font-weight: 700;
}

#useful-links-view .useful-links-table code {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

@media (max-width: 720px) {
  #useful-links-view .useful-links-toolbar {
    align-items: stretch;
  }

  #useful-links-view .useful-links-actions {
    width: 100%;
  }

  #useful-links-view .useful-links-search {
    flex-basis: 100%;
  }
}

.table-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.table-actions .project-search {
  flex: 1 0 100%;
  width: 100%;
}

.table-actions .all-projects-search {
  flex: 0 1 300px;
  width: min(300px, 100%);
}

#project-detail-view .project-detail-header-action,
#project-detail-view .project-detail-back-button {
  min-width: 168px;
  min-height: 44px;
  padding: 10px 16px;
  border-color: color-mix(in srgb, var(--accent) 46%, var(--line));
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  font-size: 13px;
  white-space: nowrap;
}

.project-map-gallery-section .table-toolbar,
#project-map-view > .project-single-map-section .table-toolbar {
  align-items: stretch;
  flex-direction: column;
}

.project-map-gallery-section .table-toolbar > div:first-child,
#project-map-view > .project-single-map-section .table-toolbar > div:first-child {
  min-width: 0;
}

.project-map-gallery-section .table-actions,
#project-map-view > .project-single-map-section .table-actions {
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  width: 100%;
}

.project-map-gallery-section .all-projects-basemap-control,
#project-map-view > .project-single-map-section .all-projects-basemap-control {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.project-map-gallery-section .table-actions .button,
.project-map-gallery-section .table-actions .map-link-button,
.project-map-gallery-section .table-actions .all-projects-search,
#project-map-view > .project-single-map-section .table-actions .button,
#project-map-view > .project-single-map-section .table-actions .map-link-button,
#project-map-view > .project-single-map-section .table-actions .all-projects-search {
  width: auto;
}

.project-map-gallery-section .table-actions .all-projects-search,
#project-map-view > .project-single-map-section .table-actions .all-projects-search {
  flex: 1 1 260px;
  max-width: 300px;
}

#projects-view > .project-list-section .table-toolbar {
  align-items: stretch;
  flex-direction: column;
}

#projects-view > .project-list-section .table-actions {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(220px, 1fr) repeat(5, minmax(68px, max-content));
  align-items: stretch;
  width: 100%;
}

.project-list-manage-controls {
  display: contents;
}

.project-list-manage-toggle {
  display: none;
}

#projects-view > .project-list-section .table-actions .project-active-filter {
  width: 100%;
}

#projects-view > .project-list-section .table-actions .button,
#projects-view > .project-list-section .table-actions .action-dropdown {
  order: 1;
}

#projects-view > .project-list-section .table-actions .project-active-filter,
#projects-view > .project-list-section .table-actions .project-search {
  order: 0;
}

#projects-view > .project-list-section .table-actions .action-dropdown {
  display: inline-flex;
  align-items: stretch;
}

#projects-view > .project-list-section .table-actions .button {
  min-width: 68px;
  padding-right: 12px;
  padding-left: 12px;
}

#projects-view > .project-list-section .table-actions .action-dropdown-trigger {
  width: 100%;
}

#projects-view > .project-list-section .table-actions .project-search {
  order: 0;
  width: 100%;
}

.project-list-intro-panel {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(360px, 1.25fr) auto;
  gap: 14px;
  align-items: stretch;
  margin: 0 0 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--accent) 5%, var(--surface));
}

.project-list-intro-panel[hidden] {
  display: none;
}

.project-list-intro-panel h3 {
  margin: 3px 0 6px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}

.project-list-intro-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.project-list-intro-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.project-list-intro-steps article {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-list-intro-steps strong,
.project-list-intro-steps span {
  display: block;
}

.project-list-intro-steps strong {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
}

.project-list-intro-steps span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-list-intro-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-content: center;
  min-width: 150px;
}

.project-list-intro-actions .button {
  width: 100%;
}

.project-list-bulk-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-list-bulk-bar.has-selection {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.project-list-select-all {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: var(--ink);
  font-size: 13px;
  font-weight: var(--weight-semibold);
}

.project-list-bulk-summary {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: var(--weight-semibold);
}

.project-list-bulk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}

.project-columns-dropdown .action-dropdown-menu {
  width: min(320px, calc(100vw - 24px));
  max-height: min(520px, calc(100vh - 120px));
  overflow: auto;
  padding: 8px;
}

.project-list-columns-note {
  padding: 4px 6px 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-list-columns-list {
  display: grid;
  gap: 2px;
  padding-bottom: 8px;
}

.project-list-column-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 30px;
  padding: 4px 6px;
  border-radius: var(--control-radius);
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.25;
  cursor: pointer;
}

.project-list-column-option:hover,
.project-list-column-option:focus-within {
  background: var(--accent-soft);
}

.project-list-column-option input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--accent);
}

.project-list-column-option span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#project-detail-view .project-detail-header-action.is-refresh-locked {
  cursor: not-allowed;
  opacity: 0.62;
}

.local-copy-banner {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 5px 8px 5px 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 92%, var(--accent-soft));
  color: var(--ink);
  box-shadow: none;
  overflow: hidden;
}

.local-copy-banner[hidden] {
  display: none;
}

.local-copy-banner-label {
  display: inline-flex;
  align-items: center;
  color: var(--accent);
  font-size: 12px;
  font-weight: bold;
  line-height: 1.25;
  white-space: nowrap;
}

.local-copy-banner-track {
  overflow: visible;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  white-space: normal;
}

.local-copy-banner-track strong {
  color: var(--ink);
  font-weight: var(--weight-bold);
}

.local-copy-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.local-copy-sign-in {
  align-self: center;
  min-width: 86px;
  min-height: 24px;
  border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line));
  border-radius: var(--radius);
  background: var(--accent);
  color: #ffffff;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
}

.local-copy-dismiss {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}

.local-copy-sign-in:hover,
.local-copy-sign-in:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 84%, #000000);
  background: color-mix(in srgb, var(--accent) 88%, #000000);
  color: #ffffff;
}

.local-copy-dismiss:hover,
.local-copy-dismiss:focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--ink);
}

.app-footer {
  display: grid;
  gap: 4px;
  justify-content: center;
  width: min(1400px, calc(100vw - 24px));
  margin: calc(-1 * var(--section-gap) - 1px) auto 0;
  padding: 8px 14px 9px;
  border: 1px solid var(--home-widget-border);
  border-radius: 0 0 var(--radius) var(--radius);
  background: var(--surface-muted);
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
  text-align: center;
  box-shadow: var(--shadow);
}

.app-footer-meta {
  display: flex;
  gap: 6px 12px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.app-footer-meta span + span::before {
  content: "•";
  margin-right: 12px;
  color: var(--muted);
}

.app-footer a {
  color: var(--accent);
  font-weight: var(--weight-semibold);
}

.app-footer-meta span + span::before {
  content: "\00b7";
}

.app-footer small {
  display: block;
  max-width: 760px;
  color: color-mix(in srgb, var(--ink) 78%, var(--muted));
  font-size: 11px;
  line-height: 1.35;
}

.app-footer-meta span + span::before {
  display: none;
  content: none;
  margin-right: 0;
}

.privacy-policy-content {
  display: grid;
  gap: 10px;
}

.table-wrap,
.weather-table-wrap {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.table-wrap {
  max-height: calc(100vh - 260px);
}

#projects-view .table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  contain: paint;
}

.project-dialog {
  width: min(760px, calc(100vw - 24px));
  max-height: min(820px, calc(100vh - 24px));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  overflow: hidden;
  padding: 0;
  overscroll-behavior: contain;
}

.project-dialog::backdrop {
  background: rgba(0, 0, 0, 0.45);
}

.project-form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  max-height: min(820px, calc(100vh - 24px));
  overflow: hidden;
  padding: 12px;
}

.dialog-header,
.dialog-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.dialog-header {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.dialog-actions {
  padding-top: 10px;
  border-top: 1px solid var(--line);
  justify-content: flex-start;
}

.project-form-grid {
  display: grid;
  gap: 10px;
  min-height: 0;
  max-height: min(600px, calc(100vh - 190px));
  overflow: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}

.project-form-grid label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-weight: bold;
}

.project-create-checks {
  border: 1px solid var(--border);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 12px;
}

.project-create-checks legend {
  color: var(--text);
  font-weight: 800;
  padding: 0 4px;
}

.project-create-checks label {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 8px;
}

.project-create-checks input {
  width: auto;
}

.project-form-note {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.project-form-grid input,
.project-form-grid textarea,
.project-form-grid select {
  width: 100%;
}

.project-form-grid .project-create-checks label {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  color: var(--ink);
  line-height: 1.25;
}

.project-form-grid .project-create-checks input[type="checkbox"] {
  width: 16px;
  min-width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 16px;
  accent-color: var(--accent);
}

.project-file-import {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.project-file-import span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-file-import .button,
.autofill-row .button,
.dialog-actions .button,
.table-actions .button,
.settings-actions .button,
.lookup-form .button {
  min-height: var(--control-min-height);
  padding: var(--control-padding);
}

.coordinate-file-import {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.coordinate-file-import-status {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.coordinate-duplicate-warning {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--warn) 62%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--warn) 12%, var(--surface));
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
}

.coordinate-duplicate-warning[hidden] {
  display: none;
}

.coordinate-duplicate-warning span {
  flex: 1 1 220px;
}

.coordinate-import-help-panel {
  display: grid;
  flex: 1 1 100%;
  gap: 8px;
  max-width: 720px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 88%, var(--surface-2));
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.coordinate-import-help-panel[hidden] {
  display: none;
}

.coordinate-import-help-panel strong {
  display: block;
  margin-bottom: 2px;
  color: var(--ink);
}

.coordinate-import-help-panel p {
  margin: 0;
}

.coordinate-import-help-panel code,
.coordinate-import-help-panel pre {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
}

.coordinate-import-help-panel code {
  padding: 1px 4px;
}

.coordinate-import-help-panel pre {
  margin: 0;
  overflow-x: auto;
  padding: 8px;
  white-space: pre;
}

.project-detail-content {
  display: grid;
  gap: 8px;
  padding: 8px 12px 12px;
}

.project-detail-layout {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.project-detail-main,
.project-detail-sidebar {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.project-detail-sidebar {
  position: sticky;
  top: 12px;
}

.project-detail-sidebar .overview-header > div {
  min-width: 0;
}

.project-detail-sidebar .overview-header small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#project-detail-title {
  display: grid;
  gap: 3px;
}

#project-detail-title small {
  color: var(--muted);
  font-size: 0.82em;
  font-weight: 700;
}

.project-detail-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.project-info-section {
  gap: 10px;
}

.project-info-panel-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
}

.project-info-panel {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-info-panel .overview-header {
  margin: 0;
  min-height: auto;
}

.project-info-inline-save {
  position: sticky;
  top: 8px;
  z-index: 6;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 50%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 88%, var(--accent) 7%);
  box-shadow: var(--shadow-soft);
}

.project-info-inline-save[hidden] {
  display: none;
}

.project-info-inline-save > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-info-inline-save strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.2;
}

.project-info-inline-save small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-info-inline-save .button.primary {
  min-width: 128px;
}

.project-info-table th,
.project-info-table td,
.project-pole-summary-table th,
.project-pole-summary-table td {
  vertical-align: top;
}

.project-info-table td:not(.is-readonly) {
  padding: 6px 8px;
  background: color-mix(in srgb, var(--surface) 88%, var(--accent) 3%);
}

.project-info-table td:not(.is-readonly)::before {
  position: absolute;
  inset: 5px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--surface) 94%, var(--ink) 2%);
  content: "";
  pointer-events: none;
}

.project-info-table td:not(.is-readonly):focus-within::before {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent);
}

.project-info-table td:not(.is-readonly):hover::before {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
}

.project-info-table input,
.project-info-table select,
.project-info-table textarea {
  position: relative;
  z-index: 1;
  min-height: 34px;
  padding: 7px 9px;
  border: 0;
  background: transparent;
}

.project-info-table textarea {
  min-height: 104px;
  padding-block: 9px;
}

.project-info-table input::placeholder,
.project-info-table textarea::placeholder {
  color: var(--muted);
}

.project-info-table input:focus,
.project-info-table select:focus,
.project-info-table textarea:focus {
  outline: none;
  background: transparent;
}

.project-stage-progress {
  display: grid;
  gap: 10px;
  min-width: 0;
  overflow-x: auto;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-stage-progress[data-project-stage-open-schedule] {
  cursor: pointer;
}

.project-stage-progress[data-project-stage-open-schedule]:hover,
.project-stage-progress[data-project-stage-open-schedule]:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 70%, var(--line));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 14%, transparent);
  outline: none;
}

.project-stage-progress-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.project-stage-progress-header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-stage-progress-header span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-stage-progress-header strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.project-stage-progress-header small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-stage-progress-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--project-stage-count, 1), minmax(86px, 1fr));
  gap: 8px;
  align-items: start;
  min-width: max(100%, calc(var(--project-stage-count, 1) * 94px));
  margin: 0;
  padding: 24px 0 0;
  list-style: none;
}

.project-stage-progress-track::before,
.project-stage-progress-track::after {
  position: absolute;
  top: 28px;
  height: 3px;
  border-radius: 999px;
  content: "";
}

.project-stage-progress-track::before {
  right: var(--project-stage-line-right, var(--project-stage-line-left, 0));
  left: var(--project-stage-line-left, 0);
  background: var(--line);
}

.project-stage-progress-track::after {
  left: var(--project-stage-line-left, 0);
  width: var(--project-stage-line-width, 0%);
  background: var(--accent);
}

.project-stage-progress.is-status-empty .project-stage-progress-track::before {
  background: color-mix(in srgb, var(--line) 70%, transparent);
}

.project-stage-progress.is-status-empty .project-stage-progress-track::after {
  background: transparent;
}

.project-stage-progress.is-status-moving .project-stage-progress-track::after {
  background:
    linear-gradient(90deg, transparent 0, rgba(255, 255, 255, 0.42) 45%, transparent 72%) 0 0 / 36px 100%,
    var(--accent);
  animation: project-stage-progress-forward 2.4s linear infinite;
}

.project-stage-progress.is-status-stuck .project-stage-progress-track::after {
  background: color-mix(in srgb, var(--warn) 70%, var(--accent));
}

.project-stage-progress.is-status-complete .project-stage-progress-track::after {
  background: var(--success);
}

.project-stage-progress-track li {
  position: relative;
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
  text-align: center;
}

.project-stage-progress-track li::before {
  width: 11px;
  height: 11px;
  border: 2px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 0 0 3px var(--surface);
  content: "";
  z-index: 1;
}

.project-stage-progress-date-markers {
  position: absolute;
  top: -23px;
  left: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  max-width: 100%;
  transform: translateX(-50%);
}

.project-stage-progress-date-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  max-width: 76px;
  min-height: 18px;
  padding: 2px 6px;
  border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line));
  border-radius: 6px;
  background: var(--surface);
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 0 0 2px var(--surface);
}

.project-stage-progress-date-marker.is-actual {
  border-color: var(--accent);
  background: var(--accent);
  color: #ffffff;
}

.project-stage-progress-track li.is-complete::before,
.project-stage-progress-track li.is-current::before {
  border-color: var(--accent);
  background: var(--accent);
}

.project-stage-progress.is-status-empty .project-stage-progress-track li.is-current::before {
  border-color: var(--muted);
  background: var(--surface);
}

.project-stage-progress.is-status-moving .project-stage-progress-track li.is-current::before {
  border-color: var(--accent);
  background: var(--surface);
  box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px color-mix(in srgb, var(--accent) 18%, transparent);
}

.project-stage-progress.is-status-stuck .project-stage-progress-track li.is-current::before {
  border-color: var(--warn);
  background: var(--surface);
  box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px color-mix(in srgb, var(--warn) 18%, transparent);
  animation: project-stage-progress-stuck 2.8s ease-in-out infinite;
}

.project-stage-progress.is-status-stuck .project-stage-progress-track li.is-current::after {
  position: absolute;
  top: 2px;
  width: 9px;
  height: 2px;
  border-radius: 999px;
  background: var(--warn);
  content: "";
  z-index: 2;
}

.project-stage-progress.is-status-complete .project-stage-progress-track li.is-complete::before,
.project-stage-progress.is-status-complete .project-stage-progress-track li.is-current::before {
  border-color: var(--success);
  background: var(--success);
}

.project-stage-progress-track li.is-current {
  color: var(--ink);
  font-weight: 700;
}

.project-stage-progress.is-status-empty .project-stage-progress-header strong,
.project-stage-progress.is-status-empty .project-stage-progress-track li.is-current {
  color: var(--muted);
}

.project-stage-progress.is-status-stuck .project-stage-progress-header small,
.project-stage-progress.is-status-stuck .project-stage-progress-track li.is-current {
  color: var(--warn);
}

.project-stage-progress.is-status-complete .project-stage-progress-header small,
.project-stage-progress.is-status-complete .project-stage-progress-track li.is-current {
  color: var(--success);
}

.project-stage-progress-step {
  display: block;
  max-width: 100%;
  min-width: 0;
  padding: 2px 4px;
  border: 1px solid transparent;
  border-radius: 6px;
  overflow-wrap: anywhere;
}

.project-stage-progress-mini {
  gap: 8px;
  padding: 9px;
  overflow-x: hidden;
}

.project-stage-progress-mini .project-stage-progress-header strong {
  font-size: 13px;
}

.project-stage-progress-mini .project-stage-progress-header small {
  font-size: 11px;
}

.project-stage-progress-mini .project-stage-progress-track {
  grid-template-columns: repeat(var(--project-stage-count, 1), minmax(0, 1fr));
  min-width: 0;
  gap: 6px;
  padding-top: 15px;
}

.project-stage-progress-mini .project-stage-progress-track::before,
.project-stage-progress-mini .project-stage-progress-track::after {
  top: 4px;
}

.project-stage-progress-mini .project-stage-progress-step {
  font-size: 10px;
  line-height: 1.15;
}

button.project-stage-progress-step {
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
}

button.project-stage-progress-step:hover,
button.project-stage-progress-step:focus-visible {
  border-color: var(--accent);
  background: var(--surface-2);
  color: var(--ink);
  outline: none;
}

@keyframes project-stage-progress-forward {
  from {
    background-position: 0 0, 0 0;
  }

  to {
    background-position: 72px 0, 0 0;
  }
}

@keyframes project-stage-progress-stuck {
  0%,
  100% {
    transform: translateX(0);
  }

  45% {
    transform: translateX(1px);
  }

  55% {
    transform: translateX(-1px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-stage-progress.is-status-moving .project-stage-progress-track::after,
  .project-stage-progress.is-status-stuck .project-stage-progress-track li.is-current::before {
    animation: none;
  }
}

.project-detail-field-col {
  width: 188px;
}

.project-properties-edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.project-properties-footer {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 12px;
}

.project-properties-footer .project-properties-edit-actions {
  width: 100%;
}

.project-properties-save-status {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-properties-save-status[data-tone="busy"] {
  color: var(--accent);
  font-weight: 700;
}

.project-properties-save-status[data-tone="error"] {
  color: var(--danger-text);
  font-weight: 700;
}

.project-save-confirm-panel {
  width: min(760px, calc(100vw - 32px));
}

.project-save-confirm-panel.has-pole-change-details {
  width: min(1240px, calc(100vw - 24px));
  max-height: min(900px, calc(100vh - 24px));
  overflow: hidden;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
}

.project-save-confirm-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-size: 12px;
  text-align: left;
}

.project-save-confirm-table th,
.project-save-confirm-table td {
  padding: 7px 8px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  overflow-wrap: anywhere;
}

.project-save-confirm-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-2);
  box-shadow: 0 1px 0 var(--line);
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.project-autofill-field-changes,
.project-autofill-pole-changes {
  display: grid;
  gap: 8px;
  min-height: 0;
  text-align: left;
}

.project-autofill-pole-changes-heading {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
}

.project-autofill-pole-changes-heading strong {
  font-size: 13px;
}

.project-autofill-pole-changes-heading span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.project-autofill-field-change-wrap,
.project-autofill-pole-change-wrap {
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  overscroll-behavior: contain;
}

.project-autofill-field-change-wrap {
  max-height: min(38vh, 360px);
}

.project-autofill-pole-change-wrap {
  max-height: min(46vh, 460px);
}

.project-autofill-pole-change-table {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--surface);
  font-size: 12px;
}

.project-autofill-pole-change-table th,
.project-autofill-pole-change-table td {
  padding: 7px 8px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.project-autofill-pole-change-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-2);
  box-shadow: 0 1px 0 var(--line), 0 -1px 0 var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.project-autofill-pole-change-table tbody tr:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.project-autofill-pole-change-table tbody tr:focus-visible th,
.project-autofill-pole-change-table tbody tr:focus-visible td {
  background: var(--surface-2);
}

.project-insights {
  gap: 10px;
}

.project-permitting-subnav {
  display: flex;
  gap: 5px;
  align-items: center;
  overflow-x: auto;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-permitting-subnav a {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.project-permitting-subnav a:hover,
.project-permitting-subnav a:focus-visible,
.project-permitting-subnav a.is-active {
  border-color: var(--accent);
  color: var(--accent);
}

.project-permitting-subnav a.is-active {
  background: var(--accent-soft);
}

.project-permitting-status-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
  gap: 10px;
  align-items: stretch;
  align-content: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--accent);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-permitting-status-board > div:first-child,
.project-permitting-report-actions > div,
.project-permitting-coverage-card {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.project-permitting-status-board span,
.project-report-section-heading strong {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-permitting-status-board strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-permitting-status-board small,
.project-permitting-report-actions small,
.project-permitting-coverage-card small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-permitting-report-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-permitting-report-actions strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.25;
}

.project-permitting-report-actions .project-run-report-button {
  white-space: nowrap;
}

.project-permitting-report-ready {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line));
  border-radius: var(--radius);
  background: var(--accent-soft);
}

.project-permitting-report-ready > div {
  display: grid;
  gap: 2px;
  min-width: min(100%, 260px);
}

.project-permitting-report-ready strong,
.project-permitting-report-ready small {
  overflow-wrap: anywhere;
}

.project-permitting-report-ready small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-permitting-type-page,
.project-permitting-type-grid,
.project-permitting-type-links {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.project-permitting-type-page > .overview-header {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.project-permitting-type-grid {
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1fr);
  align-items: stretch;
}

.project-permitting-type-grid > .project-permitting-coverage-card {
  min-height: 100%;
}

.project-permitting-type-links {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-county-gis-section {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding-top: 2px;
}

.project-county-gis-reference {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-county-gis-reference .map-links {
  grid-column: 1 / -1;
  justify-content: flex-start;
  min-width: 0;
}

.project-county-gis-reference > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-county-gis-reference strong,
.project-county-gis-reference small {
  overflow-wrap: anywhere;
}

.project-county-gis-reference small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-permitting-coverage {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-permitting-coverage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.project-permitting-coverage-card {
  display: grid;
  grid-template-columns: minmax(116px, 0.55fr) minmax(0, 1fr);
  grid-template-rows: minmax(6.25em, 1fr) auto;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-permitting-coverage-card .project-insight-heading {
  align-self: start;
}

.project-permitting-coverage-detail {
  display: grid;
  align-content: start;
  gap: 4px;
  min-height: 0;
}

.project-permitting-coverage-detail strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.project-permitting-coverage-detail small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-permitting-coverage-footer {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding-top: 6px;
}

.project-permitting-coverage-meta {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-permitting-report-number {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-permitting-coverage-card .project-insight-rerun {
  justify-self: end;
  margin-top: 0;
}

.project-county-gis-table td {
  vertical-align: top;
}

.project-county-gis-table {
  min-width: 680px;
}

.project-county-gis-table td > strong,
.project-county-gis-table td > small {
  display: block;
  overflow-wrap: anywhere;
}

.project-county-gis-table td > small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-permitting-checklist,
.project-checklist-section,
.project-checklist-grid,
.project-checklist-group,
.project-checklist-items,
.project-permitting-checklist-items {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.project-permitting-checklist {
  padding-top: 2px;
}

.project-permitting-checklist > .project-panel-note {
  margin: 0;
}

.project-permitting-checklist-items {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.project-checklist-section {
  gap: 10px;
}

.project-readiness-checks {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--line);
}

.project-checklist-subheader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.project-checklist-subheader > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-checklist-subheader span {
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-checklist-subheader strong {
  color: var(--ink);
  line-height: 1.25;
}

.project-checklist-subheader small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-checklist-badge {
  flex: 0 0 auto;
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
}

.project-checklist-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 10px;
}

.project-checklist-group {
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-checklist-group-header {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-checklist-group-header span {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  font-weight: var(--weight-bold);
}

.project-checklist-group-header small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-checklist-items {
  gap: 7px;
}

.project-checklist-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  cursor: pointer;
}

.project-checklist-item.is-complete {
  border-color: color-mix(in srgb, var(--success) 44%, var(--line));
  background: color-mix(in srgb, var(--success) 7%, var(--surface));
}

.project-checklist-auto-item {
  grid-template-columns: auto minmax(0, 1fr) auto;
  cursor: default;
}

.project-checklist-auto-item em {
  align-self: center;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
}

.project-checklist-status-dot {
  width: 12px;
  height: 12px;
  margin-top: 2px;
  border: 2px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
}

.project-checklist-auto-item.is-clear {
  border-color: color-mix(in srgb, var(--success) 44%, var(--line));
  background: color-mix(in srgb, var(--success) 7%, var(--surface));
}

.project-checklist-auto-item.is-clear .project-checklist-status-dot {
  border-color: var(--success);
  background: var(--success);
}

.project-checklist-auto-item.is-watch {
  border-color: color-mix(in srgb, var(--warn) 48%, var(--line));
  background: color-mix(in srgb, var(--warn) 10%, var(--surface));
}

.project-checklist-auto-item.is-watch .project-checklist-status-dot {
  border-color: var(--warn);
}

.project-checklist-auto-item.is-review {
  border-color: color-mix(in srgb, var(--danger) 44%, var(--line));
  background: color-mix(in srgb, var(--danger) 8%, var(--surface));
}

.project-checklist-auto-item.is-review .project-checklist-status-dot {
  border-color: var(--danger);
}

.project-checklist-auto-item.is-muted {
  border-color: var(--line);
  background: color-mix(in srgb, var(--muted) 5%, var(--surface));
}

.project-checklist-auto-item.is-muted .project-checklist-status-dot {
  border-color: var(--muted);
}

.project-checklist-item input {
  width: 15px;
  height: 15px;
  margin-top: 2px;
}

.project-checklist-item span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-checklist-item strong {
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-checklist-item small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.project-readiness-panel,
.project-readiness-sections,
.project-readiness-items {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-readiness-panel {
  margin-bottom: 10px;
}

.project-readiness-summary {
  align-items: center;
}

.project-readiness-sections {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.project-readiness-group {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-readiness-group h3 {
  margin: 0;
  color: var(--ink);
  font-size: var(--card-title-font-size);
  font-weight: var(--weight-bold);
}

.project-readiness-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-left-width: 3px;
  border-radius: var(--radius);
  background: var(--surface);
}

.project-readiness-item.is-clear {
  border-left-color: #167a35;
}

.project-readiness-item.is-watch {
  border-left-color: var(--warn);
}

.project-readiness-item.is-review {
  border-left-color: var(--danger);
}

.project-readiness-item.is-muted {
  border-left-color: var(--line);
}

.project-readiness-item > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.project-readiness-item strong,
.project-readiness-item small {
  overflow-wrap: anywhere;
}

.project-readiness-item strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.25;
}

.project-readiness-item small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-deliverables-readiness {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-deliverables-readiness.is-watch {
  border-color: color-mix(in srgb, var(--warn) 46%, var(--line));
}

.project-deliverables-readiness.is-clear {
  border-color: color-mix(in srgb, var(--success) 40%, var(--line));
}

.project-deliverables-readiness > .button {
  justify-self: start;
}

.project-deliverables-readiness-gaps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.project-deliverables-readiness-gaps span {
  display: inline-flex;
  max-width: 100%;
  padding: 3px 7px;
  border: 1px solid color-mix(in srgb, var(--warn) 46%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--warn) 8%, var(--surface));
  color: var(--ink);
  font-size: 11px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-permitting-check-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7px;
  align-items: start;
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  font-size: 13px;
}

.project-permitting-check-item input {
  width: 14px;
  height: 14px;
  margin-top: 2px;
}

.project-permitting-check-item span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-permitting-check-item strong {
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-permitting-check-item small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.project-permitting-map-section {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-permitting-map-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
}

.project-permitting-map-summary span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  white-space: nowrap;
}

.project-permitting-map-summary i {
  width: 12px;
  height: 12px;
  border: 1px solid rgb(255 255 255 / 90%);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgb(0 0 0 / 35%);
}

.project-permitting-map {
  min-height: 300px;
}

.project-permitting-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  color: var(--muted);
  font-size: 11px;
}

.project-permitting-map-legend span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  white-space: nowrap;
}

.project-permitting-map-legend i {
  width: 12px;
  height: 12px;
  border: 1px solid rgb(255 255 255 / 90%);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgb(0 0 0 / 35%);
}

.project-permitting-poles {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-permitting-clear-poles {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-permitting-clear-poles summary {
  cursor: pointer;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--ink);
  font-weight: 700;
}

.project-permitting-clear-poles[open] summary {
  margin-bottom: 8px;
}

.mobile-table-scroll,
.project-permitting-pole-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.mobile-table-scroll > table,
.project-permitting-pole-table-wrap > table {
  margin: 0;
}

.project-permitting-pole-table tbody tr.is-review td {
  background: color-mix(in srgb, var(--warn) 10%, var(--surface));
}

.project-permitting-pole-table tbody tr.is-multiple td {
  background: color-mix(in srgb, var(--danger) 10%, var(--surface));
}

.project-permitting-pole-table tbody tr.is-watch td,
.project-permitting-pole-table tbody tr.is-muted td {
  background: color-mix(in srgb, #64748b 10%, var(--surface));
}

.project-permitting-pole-table {
  width: 100%;
  min-width: 920px;
  table-layout: fixed;
}

.project-permitting-pole-table td {
  padding: 5px 6px;
  vertical-align: top;
}

.project-permitting-pole-table th {
  white-space: nowrap;
}

.project-permitting-pole-table td > span {
  display: block;
  overflow-wrap: anywhere;
}

.project-permitting-pole-table td > small {
  display: block;
  overflow-wrap: anywhere;
}

.project-permitting-pole-table td > small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}

.project-permitting-pole-table th:nth-child(1),
.project-permitting-pole-table td:nth-child(1) {
  width: 54px;
}

.project-permitting-pole-table th:nth-child(2),
.project-permitting-pole-table td:nth-child(2) {
  width: 116px;
}

.project-permitting-pole-table th:nth-child(n + 4),
.project-permitting-pole-table td:nth-child(n + 4) {
  width: 118px;
}

.project-permitting-pole-table th:nth-child(6),
.project-permitting-pole-table td:nth-child(6) {
  width: 136px;
}

.project-permitting-pole-id,
.project-permitting-pole-number {
  font-weight: 700;
  overflow-wrap: anywhere;
}

.project-permitting-pole-id {
  white-space: nowrap;
}

.project-permitting-pole-number {
  white-space: normal;
}

.project-permitting-issue-chip {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 100%;
  min-height: 56px;
  box-sizing: border-box;
  padding: 3px 5px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
  font-size: 11px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-permitting-issue-chip small,
.project-saved-data-note {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}

.project-permitting-issue-chip.is-review {
  border-color: color-mix(in srgb, var(--warn) 48%, var(--line));
  background: color-mix(in srgb, var(--warn) 14%, var(--surface));
}

.project-permitting-issue-chip.is-watch {
  border-color: color-mix(in srgb, #64748b 42%, var(--line));
  background: color-mix(in srgb, #64748b 12%, var(--surface));
}

.project-permitting-issue-chip.is-clear {
  border-color: color-mix(in srgb, #167a35 30%, var(--line));
  background: color-mix(in srgb, #167a35 8%, var(--surface));
}

.project-permitting-issue-chip.is-muted {
  background: var(--surface-2);
}

.project-detail-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.project-detail-subnav {
  display: flex;
  gap: 5px;
  align-items: center;
  overflow-anchor: none;
  overflow-x: auto;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 92%, var(--surface-2));
}

.project-detail-stage-strip {
  display: grid;
  min-width: 0;
}

.project-detail-notice-rail {
  display: grid;
  gap: 6px;
  min-width: 0;
  overflow-anchor: none;
}

.project-detail-notice-rail:empty {
  display: none;
}

.project-detail-notice {
  padding: 9px 10px;
  border-radius: var(--radius);
}

.project-detail-refresh-status {
  border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line));
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
}

.project-detail-refresh-status .report-run-status-heading {
  margin-bottom: 8px;
}

.project-detail-refresh-status .report-run-status-heading span {
  color: var(--accent);
}

.project-refresh-loading-status {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--line));
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}

.project-refresh-loading-status .loading-progress-bar {
  background: color-mix(in srgb, var(--accent) 14%, var(--surface-2));
}

.project-refresh-loading-status .loading-progress-bar.is-determinate span {
  width: var(--project-refresh-progress, 8%);
  animation: none;
}

.project-detail-subnav :is(a, button, .is-disabled) {
  flex: 0 0 auto;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--ink);
  padding: 5px 10px;
  cursor: pointer;
  font-weight: 700;
  text-decoration: none;
}

.project-detail-subnav :is(a, button):hover,
.project-detail-subnav :is(a, button):focus-visible,
.project-detail-subnav :is(a, button).is-active {
  border-color: var(--accent);
  color: var(--accent);
}

.project-detail-subnav :is(a, button).is-active {
  background: var(--accent-soft);
}

.project-detail-section-content {
  display: grid;
  gap: 10px;
  min-width: 0;
  overflow-anchor: none;
}

#project-detail-view .lookup-result-section > .overview-header {
  min-height: calc(var(--control-min-height) + 18px);
}

.project-detail-subnav :is(button:disabled, .is-disabled) {
  cursor: default;
  opacity: 0.45;
}

.project-detail-tab {
  min-height: 34px;
  padding: 7px 14px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.project-detail-tab:hover,
.project-detail-tab:focus-visible {
  color: var(--text);
  background: color-mix(in srgb, var(--surface) 82%, var(--accent) 8%);
}

.project-detail-tab.is-active {
  color: var(--text);
  background: var(--surface);
  box-shadow: 0 1px 2px rgb(15 23 42 / 10%);
}

.project-properties-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgb(0 0 0 / 42%);
}

.project-properties-dialog {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 10px;
  width: min(1120px, calc(100vw - 36px));
  height: min(760px, calc(100vh - 36px));
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 18px 50px rgb(0 0 0 / 28%);
}

.project-properties-dialog-header,
.project-properties-dialog-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.project-properties-dialog-header {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.project-properties-dialog-header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-properties-dialog-header span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-properties-dialog-header h3 {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 18px;
  line-height: 1.2;
}

.project-properties-dialog-header small {
  color: var(--muted);
}

.project-properties-dialog-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  max-height: 108px;
  overflow: auto;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-properties-dialog-tabs button {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
  align-items: center;
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.project-properties-dialog-tabs button:hover,
.project-properties-dialog-tabs button:focus-visible,
.project-properties-dialog-tabs button.is-active {
  border-color: var(--accent);
  color: var(--accent);
}

.project-properties-dialog-tabs button.is-active {
  background: var(--accent-soft);
}

.project-properties-dialog-tabs small {
  min-width: 20px;
  padding: 2px 5px;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  text-align: center;
  font-size: 11px;
}

.project-properties-dialog-body {
  min-height: 0;
  overflow: hidden auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.project-properties-dialog-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.project-properties-dialog-panel > .overview-header {
  margin: 0;
  padding: 8px 10px;
  border-radius: 0;
}

.project-properties-dialog-actions {
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.project-all-properties-table {
  margin: 0;
  max-width: 100%;
}

.project-all-properties-table .project-detail-field-col {
  width: clamp(160px, 19vw, 220px);
}

.project-all-properties-table th,
.project-all-properties-table td {
  overflow-wrap: anywhere;
}

.project-all-properties-table th:nth-child(1),
.project-all-properties-table td:nth-child(1) {
  white-space: normal;
}

.project-ai-insights {
  gap: 10px;
  border-left-color: color-mix(in srgb, var(--accent) 70%, var(--line));
}

.project-overview-ai-summary {
  gap: 10px;
  border-left-color: color-mix(in srgb, var(--accent) 62%, var(--line));
}

.project-overview-ai-summary .overview-header,
.project-ai-insights .overview-header {
  cursor: default;
  user-select: auto;
}

.project-overview-ai-summary .overview-header .map-links,
.project-ai-insights .overview-header .map-links {
  margin-left: auto;
  justify-content: flex-end;
}

.project-overview-ai-summary-output {
  display: grid;
  gap: 10px;
}

.project-overview-ai-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.project-overview-ai-summary-item {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-overview-ai-summary-item strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.25;
}

.project-overview-ai-summary-item span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-overview-ai-disclaimer {
  margin: 0;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--warn) 28%, var(--line));
  border-radius: 8px;
  color: var(--muted);
  background: color-mix(in srgb, var(--warn) 8%, var(--surface));
  font-size: 12px;
  line-height: 1.4;
}

.project-risk-data-complete-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.project-risk-list {
  display: grid;
  gap: 8px;
}

.project-risk-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: var(--radius);
  background: var(--surface);
}

.project-risk-check .project-risk-row {
  grid-template-columns: minmax(0, 1fr);
  background: color-mix(in srgb, var(--surface) 82%, var(--accent) 4%);
}

.project-risk-tracking-section {
  display: grid;
  gap: 12px;
}

.project-risks-section {
  display: grid;
  gap: 12px;
}

.project-risk-row.is-danger {
  border-left-color: var(--danger);
}

.project-risk-row.is-watch {
  border-left-color: var(--warn);
}

.project-risk-row.is-info {
  border-left-color: var(--accent);
}

.project-risk-row.is-success {
  border-left-color: var(--success);
}

.project-risk-row.is-muted {
  border-left-color: var(--muted);
}

.project-risk-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.project-risk-main p,
.project-risk-main small {
  margin: 0;
  color: var(--muted);
  line-height: 1.35;
}

.project-risk-title-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.project-risk-title-line strong {
  color: var(--ink);
}

.project-risk-chip {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-muted);
  font-size: 11px;
  font-weight: 700;
}

.project-risk-chip.is-danger {
  border-color: color-mix(in srgb, var(--danger) 50%, var(--line));
  color: var(--danger);
}

.project-risk-chip.is-watch {
  border-color: color-mix(in srgb, var(--warn) 55%, var(--line));
  color: var(--warn);
}

.project-risk-chip.is-success {
  border-color: color-mix(in srgb, var(--success) 50%, var(--line));
  color: var(--success);
}

.project-risk-chip.is-info {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line));
  color: var(--accent);
}

.project-risk-chip.is-muted {
  border-color: color-mix(in srgb, var(--muted) 42%, var(--line));
  color: var(--muted);
}

.project-risk-actions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.risk-status-button {
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 8px;
  color: var(--muted);
  background: var(--surface);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.risk-status-button:hover,
.risk-status-button:focus-visible,
.risk-status-button.is-selected {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
  color: var(--ink);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
}

.project-risk-complete-group {
  display: grid;
  gap: 8px;
}

.project-risk-complete-group summary {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.project-overview-risk-panel {
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-overview-risk-panel > .overview-header {
  margin: 0;
}

.project-overview-risk-list .project-risk-row {
  grid-template-columns: minmax(0, 1fr);
  background: color-mix(in srgb, var(--surface) 88%, var(--warn) 4%);
}

.project-overview-risk-more {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.ai-insight-card {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface-2) 74%, var(--accent) 6%);
  box-shadow: 0 10px 24px rgb(15 23 42 / 8%);
}

.ai-data-disclosure {
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 84%, var(--accent) 5%);
}

.ai-data-disclosure-body {
  display: grid;
  gap: 8px;
  padding: 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.ai-data-disclosure-body p {
  margin: 0;
}

.ai-data-disclosure-body ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
}

.ai-insight-output {
  display: grid;
  gap: 8px;
}

.ai-ask-form {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}

.ai-ask-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.ai-ask-form textarea {
  width: 100%;
  min-height: 82px;
  resize: vertical;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: normal;
  text-transform: none;
}

.ai-ask-form .lookup-form-actions {
  justify-content: flex-start;
  margin: 0;
}

.ai-ask-output {
  display: grid;
  gap: 8px;
}

.project-ask-ai {
  gap: 10px;
  border-left-color: color-mix(in srgb, var(--accent) 58%, var(--line));
}

.project-ask-ai .ai-insight-card {
  gap: 10px;
}

.ai-chat-thread {
  display: grid;
  gap: 10px;
  min-height: 72px;
  max-height: 320px;
  overflow-y: auto;
  padding: 4px;
  overscroll-behavior: contain;
}

.ai-chat-row {
  display: flex;
}

.ai-chat-row.is-user {
  justify-content: flex-end;
}

.ai-chat-row.is-assistant {
  justify-content: flex-start;
}

.ai-chat-bubble {
  max-width: min(820px, 86%);
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.ai-chat-row.is-user .ai-chat-bubble {
  border-color: color-mix(in srgb, var(--accent) 46%, var(--line));
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

.ai-chat-row.is-assistant .ai-chat-bubble {
  display: grid;
  gap: 8px;
}

.project-ask-ai .ai-ask-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.project-ask-ai .ai-ask-form label {
  min-width: 0;
}

.project-ask-ai .ai-ask-form textarea {
  min-height: 44px;
  max-height: 140px;
  border: 0;
  background: transparent;
  box-shadow: none;
  resize: vertical;
}

.project-ask-ai .ai-ask-form textarea:focus {
  outline: none;
}

.project-ask-ai .ai-ask-form .lookup-form-actions {
  align-items: flex-end;
}

.ai-insight-scroll {
  max-height: 180px;
  overflow-y: auto;
  padding-right: 4px;
  overscroll-behavior: contain;
}

.ai-insight-provider {
  width: fit-content;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-2);
  font-size: 12px;
  font-weight: bold;
}

.ai-request-details {
  display: grid;
  gap: 8px;
  padding-top: 2px;
  color: var(--muted);
  font-size: 12px;
}

.ai-request-details summary {
  width: fit-content;
  cursor: pointer;
  color: var(--text);
  font-weight: bold;
}

.ai-request-details-body {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  line-height: 1.4;
}

.ai-request-details-body p {
  margin: 0;
}

.ai-request-details-body ul {
  display: grid;
  gap: 4px;
  margin: 4px 0 0;
  padding-left: 18px;
}

.ai-insight-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
}

.ai-insight-list li {
  line-height: 1.45;
}

.ai-insight-paragraph {
  max-width: 860px;
  margin: 0;
  color: var(--ink);
  line-height: 1.48;
}

.ai-takeaway-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.project-document-review {
  gap: 12px;
}

.document-review-form {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.document-review-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.document-review-form input[type="file"] {
  width: 100%;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: normal;
  text-transform: none;
}

.document-review-form small {
  color: var(--muted);
  line-height: 1.4;
}

.ai-review-warning {
  padding: 12px;
  border: 1px solid #f59e0b;
  border-radius: var(--radius);
  background: #fffbeb;
  color: #78350f;
  font-size: 12px;
  line-height: 1.45;
}

.ai-review-warning strong {
  color: #78350f;
}

body.dark .ai-review-warning {
  border-color: color-mix(in srgb, #f59e0b 72%, var(--line));
  background: color-mix(in srgb, #451a03 62%, var(--surface));
  color: #fde68a;
}

body.dark .ai-review-warning strong {
  color: #fef3c7;
}

.document-review-output {
  display: grid;
  gap: 10px;
}

.document-review-summary {
  display: grid;
  gap: 12px;
}

.document-review-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.document-review-summary-card {
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.document-review-summary-card strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
}

.document-review-summary-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
}

.document-review-finding-list {
  display: grid;
  gap: 8px;
}

.document-review-finding-card {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.document-review-finding-card > div:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.document-review-finding-card p {
  margin: 0;
  color: var(--ink);
  line-height: 1.45;
}

.document-review-finding-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.document-review-finding-card dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
}

.document-review-finding-card dd {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.document-review-groups {
  display: grid;
  gap: 12px;
}

.document-review-group {
  display: grid;
  gap: 8px;
}

.document-review-group h4 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
}

.document-review-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.document-review-table,
.document-review-history-table {
  min-width: 760px;
}

.document-review-table td {
  max-width: 280px;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.document-review-table td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.document-review-severity {
  display: inline-flex;
  align-items: center;
  min-width: 54px;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--muted);
  background: var(--surface);
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
}

.document-review-severity[data-severity="high"] {
  color: #991b1b;
  border-color: #fecaca;
  background: #fef2f2;
}

.document-review-severity[data-severity="medium"] {
  color: #92400e;
  border-color: #fde68a;
  background: #fffbeb;
}

.document-review-severity[data-severity="low"] {
  color: #075985;
  border-color: #bae6fd;
  background: #f0f9ff;
}

.ai-takeaway-card {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.ai-takeaway-card strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.25;
}

.ai-takeaway-card span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-resource-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 12px;
}

.project-resource-cards > .overview-header {
  grid-column: 1 / -1;
  margin: -10px -12px 2px;
}

.project-resource-cards h3 {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--ink);
  font-size: var(--section-title-font-size);
  font-weight: var(--weight-bold);
}

.project-resource-cards .compact-tool-card {
  min-height: 63px;
  padding-block: 9px;
  justify-items: center;
  text-align: center;
}

.project-detail-sidebar .project-resource-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 8px;
}

.project-detail-sidebar .project-resource-cards > .overview-header {
  margin: -8px -8px 0;
  padding: 8px 10px;
}

.project-detail-sidebar .project-resource-cards .compact-tool-card {
  min-height: 28px;
  padding: 4px 8px;
  justify-items: start;
  text-align: left;
}

.project-detail-sidebar .project-resource-cards .tool-title {
  color: var(--ink);
  font-size: var(--control-font-size);
  font-weight: var(--weight-semibold);
}

.project-situation-widget {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-left-width: 4px;
}

.project-situation-widget.is-clear {
  border-left-color: #167a35;
  background: color-mix(in srgb, var(--surface) 92%, #167a35 8%);
}

.project-situation-widget.is-ahead {
  border-left-color: #16a34a;
  background: color-mix(in srgb, var(--surface) 88%, #16a34a 12%);
}

.project-situation-widget.is-watch {
  border-left-color: var(--warn);
  background: color-mix(in srgb, var(--surface) 90%, var(--warn) 10%);
}

.project-situation-widget.is-review {
  border-left-color: var(--danger);
  background: color-mix(in srgb, var(--surface) 90%, var(--danger) 10%);
}

.project-situation-header {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  min-width: 0;
}

.project-situation-header > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-situation-header span:not(.project-situation-pulse, .project-insight-status) {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.project-situation-header strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.project-situation-header small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-situation-pulse {
  width: 10px;
  height: 10px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
}

.project-situation-widget.is-clear .project-situation-pulse {
  background: #167a35;
  box-shadow: 0 0 0 3px color-mix(in srgb, #167a35 14%, transparent);
}

.project-situation-widget.is-ahead .project-situation-pulse {
  background: #16a34a;
  box-shadow: 0 0 0 3px color-mix(in srgb, #16a34a 16%, transparent);
}

.project-situation-widget.is-watch .project-situation-pulse {
  background: var(--warn);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--warn) 16%, transparent);
}

.project-situation-widget.is-review .project-situation-pulse {
  background: var(--danger);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 16%, transparent);
}

.project-permitting-map-links {
  display: grid;
  gap: 8px;
  padding: 8px;
}

.project-permitting-summary-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, 1fr);
  gap: 10px;
  align-items: stretch;
}

.project-permitting-summary-grid > * {
  min-width: 0;
}

.project-insights > .project-permitting-map-links {
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.project-insights > .project-permitting-map-links > .overview-header {
  margin: -10px -10px 0;
  padding: 10px 12px;
}

.project-permitting-summary-grid .project-permitting-map-links {
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.project-permitting-summary-grid .project-permitting-map-links > .overview-header {
  margin: -10px -10px 0;
  padding: 10px 12px;
}

.project-permitting-summary-grid .project-permitting-status-board {
  grid-template-columns: 1fr;
}

.project-permitting-summary-grid .project-permitting-report-actions {
  grid-template-columns: minmax(0, 1fr) auto;
  align-self: start;
}

.project-detail-sidebar .project-permitting-map-links > .overview-header {
  margin: -8px -8px 0;
  padding: 8px 10px;
}

.project-permitting-map-link-list {
  display: grid;
  gap: 6px;
}

.project-insights .project-permitting-map-link-list {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.project-permitting-map-link {
  display: grid;
  gap: 2px;
  min-width: 0;
  width: 100%;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  font: inherit;
  text-align: left;
  text-decoration: none;
}

.project-permitting-map-link:hover,
.project-permitting-map-link:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 44%, var(--line));
  background: var(--accent-soft);
}

.project-permitting-map-link:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.project-permitting-map-link span {
  overflow-wrap: anywhere;
  font-size: var(--control-font-size);
  font-weight: var(--weight-semibold);
  line-height: 1.2;
}

.project-permitting-map-link small,
.project-permitting-map-empty {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.project-sidebar-overview .overview-header > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-sidebar-overview-actions {
  justify-content: flex-start;
}

.project-sidebar-overview-actions .map-link-button {
  flex: 1 1 100%;
}

.project-sidebar-overview-grid {
  display: grid;
  gap: 8px;
  margin: 0;
}

.project-sidebar-overview-grid div {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.project-sidebar-overview-grid dt {
  margin: 0 0 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.project-sidebar-overview-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
}

.project-sidebar-screening {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.project-sidebar-screening-chip {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  padding: 3px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.project-sidebar-screening-chip.is-clear {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  color: var(--accent);
}

.project-sidebar-screening-chip.is-watch {
  border-color: color-mix(in srgb, var(--warn) 44%, var(--line));
  color: var(--warn);
}

.project-sidebar-screening-chip.is-review {
  border-color: color-mix(in srgb, var(--danger) 44%, var(--line));
  color: var(--danger-text);
}

.project-main-overview-reference {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-main-overview-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.project-main-overview-title {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-main-overview-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  min-width: 0;
}

.project-main-overview-title span,
.project-main-overview-grid dt,
.project-main-overview-screening-item span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.project-main-overview-title strong {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.2;
}

.project-main-overview-title small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.project-main-overview-chips span {
  display: inline-flex;
  gap: 4px;
  align-items: baseline;
  max-width: 260px;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-main-overview-chips strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
}

.project-main-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface-2);
}

.project-main-overview-context {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
}

.project-main-overview-grid div {
  min-width: 0;
  padding: 8px 10px;
  background: var(--surface);
}

.project-main-overview-context div {
  min-width: 0;
  padding: 8px 10px;
  background: var(--surface);
}

.project-main-overview-grid div + div {
  border-left: 1px solid var(--line);
}

.project-main-overview-grid dt,
.project-main-overview-context dt {
  margin: 0 0 3px;
}

.project-main-overview-grid dd,
.project-main-overview-context dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
}

.project-main-overview-screening {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.project-main-overview-screening-item {
  display: grid;
  gap: 4px;
  align-content: start;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-main-overview-screening-item small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-main-overview-screening-item .project-insight-status {
  margin-top: 1px;
}

.project-overview-map-section {
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
}

.project-overview-map-section > .overview-header {
  margin: 0;
  border-radius: 0;
}

.project-overview-map-section > .overview-map {
  border: 0;
  border-radius: 0;
}

.project-overview-google-map {
  min-height: 420px;
  user-select: none;
}

.project-overview-google-map[data-loaded="true"] {
  pointer-events: none;
}

.project-overview-map-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.project-overview-map-toolbar span {
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-overview-map-toolbar .map-links {
  justify-content: flex-end;
}

.project-overview-map-toolbar .map-link-button {
  min-height: 30px;
  height: 30px;
  padding: 5px 10px;
  line-height: 1;
  font-weight: var(--weight-semibold);
}

.project-map-layer-toggle {
  display: inline-flex;
  gap: 0;
  align-items: center;
  min-height: 30px;
}

.project-map-layer-toggle .map-link-button {
  border-radius: 0;
}

.project-map-layer-toggle .map-link-button:first-child {
  border-radius: var(--control-radius) 0 0 var(--control-radius);
}

.project-map-layer-toggle .map-link-button:last-child {
  border-radius: 0 var(--control-radius) var(--control-radius) 0;
}

.project-map-layer-toggle .map-link-button + .map-link-button {
  margin-left: -1px;
}

.project-quick-note {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-quick-note > .overview-header {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.project-quick-note textarea {
  width: 100%;
  min-width: 0;
  resize: vertical;
}

.project-quick-note-save {
  width: 100%;
}

.project-quick-note small {
  min-height: 16px;
  color: var(--muted);
  font-size: 12px;
}

.project-beta-tools-section {
  display: grid;
  gap: 12px;
}

.project-schedule-section {
  display: grid;
  gap: 12px;
}

.project-schedule-date-grid,
.project-schedule-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 8px;
}

.project-schedule-date-card,
.project-schedule-status-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-schedule-date-card span,
.project-schedule-status-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.project-schedule-date-card strong,
.project-schedule-status-grid strong {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}

.project-schedule-date-card small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-schedule-date-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-schedule-date-list-header,
.project-schedule-date-row {
  display: grid;
  grid-template-columns: minmax(170px, 0.9fr) repeat(2, minmax(170px, 1fr));
  gap: 10px;
  min-width: 0;
}

.project-schedule-date-list-header {
  padding: 0 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.project-schedule-date-row {
  align-items: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-schedule-date-name,
.project-schedule-date-field {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}

.project-schedule-date-name strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}

.project-schedule-date-name small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-schedule-date-field span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.project-schedule-date-field input {
  width: 100%;
  min-width: 0;
}

.project-schedule-date-field strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.project-schedule-date-field.is-empty strong {
  color: var(--muted);
  font-weight: 700;
}

.project-schedule-support-grid {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 760px) {
  .project-schedule-date-list-header {
    display: none;
  }

  .project-schedule-date-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

.project-schedule-history {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-sidebar-actions {
  justify-content: flex-start;
}

.project-detail-sidebar .project-sidebar-actions .map-link-button {
  flex: 1 1 calc(50% - 4px);
  min-width: 0;
  min-height: 28px;
  padding: 4px 8px;
}

.project-panel-note {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: baseline;
  min-width: 0;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-panel-note strong {
  min-width: 0;
  color: var(--ink);
  font-size: var(--card-title-font-size);
  overflow-wrap: anywhere;
}

.project-panel-note small {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-insight-check {
  display: grid;
  grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
  gap: 8px 12px;
  align-items: start;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-insight-heading {
  display: grid;
  gap: 6px;
  align-content: start;
}

.project-insight-heading span {
  color: var(--muted);
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
}

.project-insight-check small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-insight-rerun {
  grid-column: 2;
  justify-self: start;
}

.project-insight-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 8px;
}

.project-insight-status {
  width: fit-content;
  border-radius: var(--radius);
  padding: 3px 7px;
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
}

.project-insight-status.is-clear {
  background: color-mix(in srgb, #167a35 12%, var(--surface));
  color: #167a35;
}

.project-insight-status.is-ahead {
  background: color-mix(in srgb, #16a34a 16%, var(--surface));
  color: #15803d;
}

.project-insight-status.is-muted {
  background: var(--surface-2);
  color: var(--muted);
}

.project-insight-status.is-watch {
  background: color-mix(in srgb, var(--warn) 14%, var(--surface));
  color: var(--warn);
}

.project-insight-status.is-review {
  background: color-mix(in srgb, var(--danger) 12%, var(--surface));
  color: var(--danger-text);
}

.action-dropdown {
  position: relative;
}

.action-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 100;
  min-width: 180px;
  max-width: calc(100vw - 24px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 4px 12px rgb(0 0 0 / 14%);
  overflow: hidden;
}

.action-dropdown-item {
  display: block;
  width: 100%;
  padding: 9px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

#projects-view .project-import-dropdown .action-dropdown-item,
#projects-view .project-export-dropdown .action-dropdown-item {
  background: var(--surface);
  color: var(--ink);
}

a.action-dropdown-item {
  text-decoration: none;
}

.action-dropdown-item:last-child {
  border-bottom: 0;
}

.action-dropdown-item:hover,
.action-dropdown-item:focus-visible {
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--ink);
  outline: none;
}

.action-dropdown-heading {
  padding: 8px 14px 5px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.action-dropdown-divider {
  border-top: 1px solid var(--line);
}

.project-report-dropdown .action-dropdown-menu {
  min-width: 220px;
}

.project-ai-tools-dropdown .action-dropdown-menu {
  min-width: 150px;
}

.project-detail-table th {
  position: relative;
  padding: 8px 10px;
  line-height: 1.25;
  text-transform: none;
  vertical-align: top;
}

.project-property-group-row th {
  padding-top: 14px;
  padding-bottom: 6px;
  background: var(--surface-2);
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-detail-table th > span {
  display: block;
}

.project-property-label-text {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  white-space: normal;
}

.project-property-help {
  display: inline-grid;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: help;
}

.project-property-help:hover,
.project-property-help:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  outline: none;
}

.project-property-meta {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-detail-table td {
  position: relative;
  padding: 8px 10px;
  line-height: 1.3;
  white-space: pre-wrap;
  vertical-align: top;
}

.project-detail-table td.project-property-value.is-readonly {
  background: var(--surface-2);
  color: var(--muted);
}

.project-property-blank {
  color: var(--muted);
}

.project-detail-table th:nth-child(1),
.project-detail-table td:nth-child(1) {
  white-space: nowrap;
}

.project-detail-table input,
.project-detail-table select,
.project-detail-table textarea,
.project-pole-table input,
.project-pole-table select {
  width: 100%;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  padding: var(--table-input-padding);
}

.project-detail-table input,
.project-detail-table select,
.project-pole-table input,
.project-pole-table select {
  height: var(--table-input-height);
}

.project-detail-table textarea {
  min-height: 96px;
  resize: vertical;
}

.project-detail-table input:focus,
.project-detail-table select:focus,
.project-detail-table textarea:focus,
.project-pole-table input:focus,
.project-pole-table select:focus {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
  background: var(--surface);
}

.project-detail-table .project-pole-info-row th,
.project-detail-table .project-pole-info-row td {
  vertical-align: top;
}

.project-detail-table .project-pole-info-row td {
  padding: 6px;
  white-space: normal;
}

.project-detail-table .project-pole-info-row td:nth-child(2) {
  overflow: hidden;
}

.project-pole-info-property {
  display: grid;
  gap: 8px;
}

.project-pole-info-linkbar {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.project-pole-info-linkbar > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-pole-info-linkbar strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.2;
}

.project-pole-info-linkbar small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.project-pole-info-linkbar .map-links {
  flex: 0 0 auto;
}

.project-pole-table-wrap {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.project-pole-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  background: var(--surface);
}

.project-pole-edit-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 6px;
}

.project-pole-table th,
.project-pole-table td {
  position: static;
  padding: 5px 7px;
  white-space: normal;
}

.project-pole-table th {
  width: auto;
  font-size: 11px;
}

.project-detail-table .project-pole-table,
.project-poles-table-section .project-pole-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.project-detail-table .project-pole-table th,
.project-detail-table .project-pole-table td {
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.project-detail-table .project-pole-table thead th {
  border-top: 1px solid var(--line);
}

.project-detail-table .project-pole-table tr > :first-child,
.project-poles-table-section .project-pole-table tr > :first-child {
  border-left: 1px solid var(--line);
}

.project-issue-report-link {
  display: inline-block;
  text-decoration: none;
}

.project-issue-report-link:hover,
.project-issue-report-link:focus-visible {
  text-decoration: underline;
}

.project-detail-table .project-pole-table th:first-child,
.project-detail-table .project-pole-table td:first-child,
.project-poles-table-section .project-pole-table th:first-child,
.project-poles-table-section .project-pole-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 4;
  width: 72px;
  min-width: 72px;
  max-width: 72px;
  background: var(--surface);
  box-shadow: inset -1px 0 0 var(--line);
}

.project-detail-table .project-pole-table th:nth-child(2),
.project-detail-table .project-pole-table td:nth-child(2),
.project-poles-table-section .project-pole-table th:nth-child(2),
.project-poles-table-section .project-pole-table td:nth-child(2) {
  position: sticky;
  left: 72px;
  z-index: 4;
  width: 116px;
  min-width: 116px;
  max-width: 116px;
  background: var(--surface);
  box-shadow: inset -1px 0 0 var(--line), inset 1px 0 0 var(--line);
}

.project-detail-table .project-pole-table.project-pole-table-run-actions th:nth-child(2),
.project-detail-table .project-pole-table.project-pole-table-run-actions td:nth-child(2),
.project-poles-table-section .project-pole-table.project-pole-table-run-actions th:nth-child(2),
.project-poles-table-section .project-pole-table.project-pole-table-run-actions td:nth-child(2) {
  width: 56px;
  min-width: 56px;
  max-width: 56px;
}

.project-detail-table .project-pole-table thead th:first-child,
.project-detail-table .project-pole-table thead th:nth-child(2) {
  z-index: 5;
  background: var(--surface-2);
}

.project-pole-action-buttons {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  white-space: nowrap;
}

.project-pole-table .danger-text-button {
  color: var(--danger-text);
}

.project-poles-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.project-poles-subnav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.project-poles-subnav a:hover,
.project-poles-subnav a:focus-visible,
.project-poles-subnav a.is-active {
  border-color: color-mix(in srgb, var(--accent) 54%, var(--line));
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--accent-strong);
}

.project-poles-subnav a.is-active {
  box-shadow: inset 0 -2px 0 var(--accent);
}

.project-pole-inspector-layout {
  display: grid;
  grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

.project-pole-inspector-list {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-pole-inspector-list-header {
  display: grid;
  gap: 3px;
}

.project-pole-inspector-list-header strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.2;
}

.project-pole-inspector-list-header small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-pole-inspector-items {
  display: grid;
  gap: 4px;
  max-height: min(68vh, 680px);
  overflow: auto;
  padding-right: 4px;
}

.project-pole-inspector-item {
  position: relative;
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px 8px 12px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--ink);
  text-decoration: none;
}

.project-pole-inspector-item:hover,
.project-pole-inspector-item:focus-visible,
.project-pole-inspector-item.is-active {
  border-color: color-mix(in srgb, var(--accent) 54%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}

.project-pole-inspector-item.is-active {
  box-shadow: inset 3px 0 0 var(--accent);
}

.project-pole-inspector-item span {
  overflow-wrap: anywhere;
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.project-pole-inspector-item small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.project-pole-inspector-detail {
  display: grid;
  gap: 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.project-pole-inspector-detail-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--report-header);
}

.project-pole-inspector-detail-header > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-pole-inspector-detail-header span {
  color: var(--accent);
  font-size: 11px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.project-pole-inspector-detail-header strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}

.project-pole-inspector-detail-header small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-pole-inspector-workspace {
  display: grid;
  grid-template-columns: minmax(360px, 1.15fr) minmax(300px, 0.85fr);
  gap: 12px;
  min-width: 0;
  padding: 12px;
  background: var(--surface-muted);
}

.project-pole-inspector-properties,
.project-pole-map-toggle-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-pole-inspector-table-wrap {
  min-width: 0;
  max-height: 560px;
  overflow: auto;
  border-top: 1px solid var(--line);
}

.project-pole-inspector-table {
  min-width: 0;
}

.project-pole-inspector-section-heading {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
}

.project-pole-inspector-section-heading strong {
  color: var(--ink);
}

.project-pole-inspector-section-heading small {
  color: var(--muted);
  font-size: 12px;
}

.project-pole-property-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.project-pole-property-card {
  display: grid;
  gap: 10px;
  align-items: start;
  min-width: 0;
}

.project-pole-property-card-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(360px, 1.08fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
}

.project-pole-property-card .project-detail-table {
  min-width: 0;
}

.project-pole-scan-table-wrap {
  max-height: min(68vh, 720px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.project-pole-scan-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 12px;
  line-height: 1.3;
}

.project-pole-scan-table th,
.project-pole-scan-table td {
  padding: 7px 9px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.project-pole-scan-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-align: left;
  text-transform: uppercase;
}

.project-pole-scan-table tbody th {
  background: var(--surface);
  text-align: left;
}

.project-pole-scan-table tbody tr:hover > * {
  background: color-mix(in srgb, var(--accent) 5%, var(--surface));
}

.project-pole-scan-table th:last-child,
.project-pole-scan-table td:last-child {
  border-right: 0;
}

.project-pole-scan-table tr:last-child > * {
  border-bottom: 0;
}

.project-pole-scan-table th:nth-child(1) {
  width: 140px;
}

.project-pole-scan-table th:nth-child(2) {
  width: 70px;
}

.project-pole-scan-table th:nth-child(3) {
  width: 110px;
}

.project-pole-scan-table th:nth-child(4) {
  width: 100px;
}

.project-pole-scan-table th:nth-child(5) {
  width: 170px;
}

.project-pole-scan-table th:nth-child(7) {
  width: 260px;
}

.project-pole-scan-table th:nth-child(8) {
  width: 120px;
}

.project-pole-scan-table tbody th strong,
.project-pole-scan-table tbody th small {
  display: block;
  min-width: 0;
}

.project-pole-scan-table tbody th strong {
  color: var(--ink);
  font-size: 12px;
}

.project-pole-scan-table tbody th small {
  margin-top: 2px;
  color: var(--muted);
  font-weight: 500;
  overflow-wrap: anywhere;
}

.project-pole-scan-table td {
  color: var(--ink);
  overflow-wrap: anywhere;
}

.project-pole-scan-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
}

.project-pole-scan-flags > span {
  display: inline-flex;
  max-width: 100%;
  min-height: 20px;
  align-items: center;
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.project-pole-preview-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.project-pole-preview-panel {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.project-pole-preview-heading {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.project-pole-preview-heading strong {
  color: var(--ink);
  font-size: var(--card-title-font-size);
  line-height: 1.2;
}

.project-pole-preview-heading small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.project-pole-map-heading-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

.project-pole-coordinate-edit-action {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
}

.project-pole-map-mode-toggle {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 2px;
  align-items: center;
  flex: 0 0 auto;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-2);
}

.project-pole-map-mode-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.project-pole-map-mode-toggle label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

.project-pole-map-mode-toggle input:checked + label {
  background: var(--accent);
  color: var(--accent-contrast);
}

.project-pole-map-mode-toggle input:focus-visible + label {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.project-pole-map-toggle-panel {
  align-self: stretch;
  padding: 0;
}

.project-pole-map-toggle-panel .project-pole-preview-heading {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}

.project-pole-map-toggle-panel .project-pole-map-mode-content {
  padding: 10px;
}

.project-pole-map-mode-content,
.project-pole-map-mode-pane {
  display: grid;
  min-width: 0;
}

.project-pole-map-mode-pane {
  display: none;
}

.project-pole-map-toggle-panel:has(input[value="aerial"]:checked) .project-pole-map-mode-pane.is-aerial,
.project-pole-map-toggle-panel:has(input[value="street-view"]:checked) .project-pole-map-mode-pane.is-street-view {
  display: grid;
}

.project-pole-street-view {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-pole-street-view iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 320px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-2);
}

.project-coordinate-refresh-notice {
  border-color: color-mix(in srgb, var(--warn) 42%, var(--line));
  background: color-mix(in srgb, var(--warn) 9%, var(--surface));
}

.project-detail-notice.project-coordinate-refresh-notice {
  border: 1px solid color-mix(in srgb, var(--warn) 42%, var(--line));
  background: color-mix(in srgb, var(--warn) 9%, var(--surface));
}

.project-detail-notice.project-coordinate-refresh-notice .overview-header {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.project-coordinate-refresh-notice .overview-header > div:first-child span {
  color: var(--warn);
  font-weight: var(--weight-semibold);
}

.project-poles-content {
  display: grid;
  gap: 12px;
  padding: 12px;
}

.project-coordinate-editor-shell {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  grid-template-rows: auto 1fr;
  background: var(--bg);
  color: var(--text);
}

body:has(#project-coordinate-editor-view.is-active) {
  overflow: hidden;
}

.project-coordinate-editor-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.project-coordinate-editor-toolbar h2 {
  margin: 2px 0;
}

.project-coordinate-editor-actions,
.project-coordinate-editor-panel-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.project-coordinate-editor-layout.is-resequencing [data-coordinate-editor-resequence] {
  border-color: color-mix(in srgb, var(--warn) 58%, var(--line));
  background: color-mix(in srgb, var(--warn) 14%, var(--surface));
}

.project-coordinate-editor-layout.is-drawing-spans [data-coordinate-editor-spans] {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
  background: color-mix(in srgb, var(--accent) 16%, var(--surface));
}

.project-coordinate-editor-layout.is-comparing-field [data-coordinate-editor-comparison] {
  border-color: color-mix(in srgb, #7c3aed 58%, var(--line));
  background: color-mix(in srgb, #7c3aed 16%, var(--surface));
}

.project-coordinate-editor-layout.is-comparing-field [data-coordinate-editor-add],
.project-coordinate-editor-layout.is-comparing-field [data-coordinate-editor-delete],
.project-coordinate-editor-layout.is-comparing-field [data-coordinate-editor-resequence],
.project-coordinate-editor-layout.is-comparing-field [data-coordinate-editor-spans] {
  opacity: 0.55;
}

.project-coordinate-editor-layout.is-adding-point [data-coordinate-editor-add] {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
  background: color-mix(in srgb, var(--accent) 16%, var(--surface));
}

.project-coordinate-field-data-actions {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, #7c3aed 28%, var(--line));
  border-radius: 6px;
  background: color-mix(in srgb, #7c3aed 5%, var(--surface));
}

.project-coordinate-field-data-actions strong {
  display: block;
  font-size: 12px;
}

.project-coordinate-field-data-actions small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.project-coordinate-field-data-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.project-coordinate-editor-layout.is-adding-point .project-coordinate-map {
  cursor: crosshair;
}

.project-coordinate-add-cursor {
  position: absolute;
  z-index: 20;
  width: 38px;
  height: 38px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 2px 4px rgb(0 0 0 / 0.42));
}

.project-coordinate-add-cursor svg {
  display: block;
  width: 100%;
  height: 100%;
}

.project-coordinate-resequence-box {
  position: absolute;
  z-index: 19;
  pointer-events: none;
  border: 2px solid var(--warn);
  background: color-mix(in srgb, var(--warn) 18%, transparent);
  box-shadow: 0 0 0 1px rgb(255 255 255 / 0.82), 0 8px 20px rgb(0 0 0 / 0.25);
}

.project-coordinate-editor-layout.is-resequencing .project-coordinate-map {
  cursor: crosshair;
}

.project-coordinate-editor-content {
  height: 100%;
  min-height: 0;
}

.project-coordinate-editor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(352px, 480px);
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
}

.project-coordinate-map {
  position: relative;
  height: 100%;
  min-height: 0;
  background: #111827;
}

.project-coordinate-map-loading,
.project-coordinate-map-error {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 6px;
  padding: 16px;
  text-align: center;
  color: #f9fafb;
}

.project-coordinate-map-error small {
  color: #d1d5db;
}

.project-coordinate-editor-panel {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 0;
  padding: 16px;
  overflow-x: hidden;
  overflow-y: auto;
  border-left: 1px solid var(--line);
  background: var(--surface);
}

.project-coordinate-selected-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-2);
}

.project-coordinate-selected-span-panel {
  border-color: color-mix(in srgb, var(--warning) 42%, var(--line));
  background: color-mix(in srgb, var(--warning) 8%, var(--surface));
}

.project-coordinate-selected-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.project-coordinate-selected-header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-coordinate-selected-header strong {
  color: var(--ink);
  line-height: 1.25;
}

.project-coordinate-selected-header small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-coordinate-selected-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.project-coordinate-selected-fields label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-coordinate-selected-fields label:last-child {
  grid-column: 1 / -1;
}

.project-coordinate-selected-fields input,
.project-coordinate-selected-fields select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 13px;
  text-transform: none;
}

.project-coordinate-readout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.project-coordinate-readout div {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
}

.project-coordinate-readout dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.project-coordinate-readout dd {
  margin: 0;
  color: var(--ink);
  font-family: var(--mono-font, "SFMono-Regular", Consolas, "Liberation Mono", monospace);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-coordinate-span-readout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-coordinate-selected-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.project-coordinate-type-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  white-space: nowrap;
}

.project-coordinate-type-pill.is-analysis {
  border-color: color-mix(in srgb, var(--danger) 42%, var(--line));
  background: color-mix(in srgb, var(--danger) 8%, var(--surface));
  color: var(--danger);
}

.project-coordinate-type-pill.is-reference {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  color: var(--accent);
}

.project-coordinate-editor-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.project-coordinate-editor-table th,
.project-coordinate-editor-table td {
  padding: 7px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

.project-coordinate-editor-table th:nth-child(1),
.project-coordinate-editor-table td:nth-child(1) {
  width: 64px;
}

.project-coordinate-editor-table tr.is-selected {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface));
  box-shadow: inset 5px 0 0 var(--accent);
}

.project-coordinate-editor-table tr.is-selected .text-button {
  font-weight: var(--weight-bold);
  color: var(--accent);
}

.project-coordinate-editor-table input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
}

.project-coordinate-editor-table td:first-child {
  min-width: 0;
}

.project-coordinate-span-results {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 6px;
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}

.project-coordinate-span-results[hidden] {
  display: none;
}

.project-coordinate-comparison-panel {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  max-height: min(32vh, 330px);
  padding: 10px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, #7c3aed 34%, var(--line));
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 6px;
  background: color-mix(in srgb, #7c3aed 7%, var(--surface));
}

.project-coordinate-comparison-panel[hidden] {
  display: none;
}

.project-coordinate-comparison-compact-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.project-coordinate-comparison-compact-header > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 180px;
}

.project-coordinate-comparison-compact-header strong {
  font-size: 13px;
}

.project-coordinate-comparison-compact-header small {
  color: var(--muted);
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-coordinate-comparison-review-pills {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.project-coordinate-comparison-review-pills span,
.project-coordinate-comparison-alert {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  font-size: 11px;
  line-height: 1.2;
}

.project-coordinate-comparison-review-pills span {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 4px 7px;
  color: var(--muted);
}

.project-coordinate-comparison-alert {
  padding: 6px 9px;
  color: color-mix(in srgb, var(--warning) 74%, var(--ink));
  background: color-mix(in srgb, var(--warning) 10%, var(--surface));
  border-radius: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-coordinate-comparison-bottom-summary,
.project-coordinate-comparison-detail {
  min-height: 0;
  overflow: auto;
}

.project-coordinate-comparison-counts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.project-coordinate-comparison-counts span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  font-size: 12px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.project-coordinate-comparison-counts .is-matched {
  color: #15803d;
  background: color-mix(in srgb, #22c55e 12%, var(--surface));
}

.project-coordinate-comparison-counts .is-moved {
  color: #b45309;
  background: color-mix(in srgb, #f59e0b 14%, var(--surface));
}

.project-coordinate-comparison-counts .is-major-move {
  color: #b91c1c;
  background: color-mix(in srgb, #ef4444 12%, var(--surface));
}

.project-coordinate-comparison-counts .is-missing {
  color: #475569;
  background: color-mix(in srgb, #64748b 12%, var(--surface));
}

.project-coordinate-comparison-counts .is-extra {
  color: #6d28d9;
  background: color-mix(in srgb, #7c3aed 12%, var(--surface));
}

.project-coordinate-comparison-table {
  min-width: 1180px;
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.76rem;
}

.project-coordinate-comparison-table-wrap {
  min-width: 0;
  max-height: calc(min(32vh, 330px) - 76px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
}

.project-coordinate-comparison-table th,
.project-coordinate-comparison-table td {
  padding: 5px 6px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.project-coordinate-comparison-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  color: var(--muted);
  background: var(--surface-2);
  font-size: 11px;
  font-weight: var(--weight-bold);
  text-transform: uppercase;
}

.project-coordinate-comparison-table th:first-child,
.project-coordinate-comparison-table td:first-child {
  width: 34px;
}

.project-coordinate-comparison-table th:nth-child(5),
.project-coordinate-comparison-table td:nth-child(5) {
  width: 70px;
  text-align: right;
}

.project-coordinate-comparison-table th:nth-child(6),
.project-coordinate-comparison-table td:nth-child(6) {
  width: 150px;
}

.project-coordinate-comparison-table th:nth-child(7),
.project-coordinate-comparison-table td:nth-child(7) {
  width: 210px;
}

.project-coordinate-comparison-table th:last-child,
.project-coordinate-comparison-table td:last-child {
  width: 330px;
  text-align: left;
}

.project-coordinate-comparison-table tr.is-moved td {
  background: color-mix(in srgb, #f59e0b 8%, var(--surface));
}

.project-coordinate-comparison-table tr.is-major-move td {
  background: color-mix(in srgb, #ef4444 10%, var(--surface));
}

.project-coordinate-comparison-table tr.is-selected td {
  outline: 1px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: -1px;
}

.project-coordinate-comparison-table tr.is-missing-in-field td {
  background: color-mix(in srgb, #64748b 8%, var(--surface));
}

.project-coordinate-comparison-table tr.is-extra-field td {
  background: color-mix(in srgb, #7c3aed 8%, var(--surface));
}

.project-coordinate-comparison-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.project-coordinate-comparison-bottom-summary {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-coordinate-comparison-summary-grid > div,
.project-coordinate-comparison-review,
.project-coordinate-comparison-detail {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
}

.project-coordinate-comparison-summary-grid strong,
.project-coordinate-comparison-review strong,
.project-coordinate-comparison-detail strong {
  font-size: 12px;
}

.project-coordinate-comparison-summary-grid span,
.project-coordinate-comparison-assets span {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: color-mix(in srgb, var(--surface-2) 74%, var(--surface));
  font-size: 11px;
  line-height: 1.2;
}

.project-coordinate-comparison-review ul,
.project-coordinate-comparison-spans ul {
  margin: 0;
  padding-left: 18px;
}

.project-coordinate-comparison-review li,
.project-coordinate-comparison-spans li {
  margin: 3px 0;
  font-size: 12px;
}

.project-coordinate-comparison-detail dl {
  display: grid;
  gap: 6px;
  margin: 0;
}

.project-coordinate-comparison-detail dl div {
  display: grid;
  grid-template-columns: minmax(72px, 0.45fr) minmax(0, 1fr);
  gap: 7px;
}

.project-coordinate-comparison-detail dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  text-transform: uppercase;
}

.project-coordinate-comparison-detail dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 12px;
}

.project-coordinate-comparison-assets {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.project-coordinate-comparison-spans {
  display: grid;
  gap: 5px;
}

.project-coordinate-comparison-spans span {
  color: var(--muted);
}

.project-coordinate-span-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.project-coordinate-span-table th,
.project-coordinate-span-table td {
  padding: 6px 4px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.project-coordinate-span-table th:first-child,
.project-coordinate-span-table td:first-child {
  width: 36px;
}

.project-coordinate-span-table th:last-child,
.project-coordinate-span-table td:last-child {
  width: 96px;
  text-align: right;
  white-space: nowrap;
}

.project-coordinate-span-table tfoot th,
.project-coordinate-span-table tfoot td {
  border-bottom: 0;
  font-weight: var(--weight-semibold);
}

.project-coordinate-span-table tr.is-selected {
  background: color-mix(in srgb, var(--warning) 18%, var(--surface));
  box-shadow: inset 4px 0 0 var(--warning);
}

.project-coordinate-span-table tr.is-selected .text-button {
  color: color-mix(in srgb, var(--warning) 82%, var(--ink));
  font-weight: var(--weight-bold);
}

@media (max-width: 860px) {
  .project-coordinate-editor-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .project-coordinate-editor-layout {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(320px, 50vh) minmax(0, 1fr) auto;
  }

  .project-coordinate-editor-panel {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .project-coordinate-editor-table {
    min-width: 360px;
  }

  .project-coordinate-editor-panel [data-coordinate-editor-list] {
    overflow-x: auto;
  }

  .project-coordinate-comparison-panel {
    grid-template-columns: 1fr;
    max-height: 46vh;
  }

  .project-coordinate-comparison-table-wrap {
    max-height: 220px;
  }
}

.project-poles-table-section .project-pole-table th,
.project-poles-table-section .project-pole-table td {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.project-poles-table-section .project-pole-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  border-top: 1px solid var(--line);
  background: var(--surface-2);
}

.project-poles-table-section .project-pole-table thead th:first-child,
.project-poles-table-section .project-pole-table thead th:nth-child(2) {
  z-index: 6;
  background: var(--surface-2);
}

.project-pole-coordinate-inputs {
  display: grid;
  grid-template-columns: minmax(84px, 1fr) minmax(84px, 1fr);
  gap: 4px;
}

.project-pole-report-trigger {
  color: var(--accent);
  cursor: pointer;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.project-form-grid .full-span,
.full-span {
  grid-column: 1 / -1;
}

.autofill-row {
  display: grid;
  gap: 10px;
  align-items: start;
  justify-items: start;
}

.form-status {
  color: var(--muted);
  display: block;
  width: 100%;
}

.project-location-preview {
  display: grid;
  gap: 10px;
  overflow-x: auto;
}

.project-location-preview div {
  display: grid;
  gap: 2px;
}

.project-location-preview span {
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.project-location-preview strong {
  color: var(--ink);
  font-weight: normal;
  line-height: 1.35;
}

.project-import-summary-preview,
.project-import-pole-preview {
  width: 100%;
  border-collapse: collapse;
}

.project-import-pole-preview {
  min-width: 520px;
}

.project-import-summary-preview th,
.project-import-summary-preview td,
.project-import-pole-preview th,
.project-import-pole-preview td {
  padding: 3px 6px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.project-import-summary-preview th,
.project-import-pole-preview th {
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
}

.overview-pole-table {
  width: 100%;
  border-collapse: collapse;
}

.overview-pole-table th,
.overview-pole-table td {
  padding: 3px 6px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.overview-pole-table th {
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
}

.overview-pole-row {
  cursor: default;
}

.overview-pole-row:hover,
.overview-pole-row:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent);
  outline-offset: -2px;
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}

.calculator-result-shell {
  justify-self: start;
  width: min(100%, 590px);
  gap: 14px;
}

.calculator-result-main {
  display: block;
  margin-top: 4px;
  font-size: 32px;
  line-height: 1.15;
}

.calculator-result-sub {
  display: block;
  margin-top: 4px;
  font-size: 16px;
}

.calculator-breakdown {
  display: grid;
  gap: 3px;
  min-width: 190px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.calculator-breakdown strong {
  color: var(--ink);
  font-size: 13px;
}

.lookup-table.calculator-table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
}

.lookup-table.calculator-table th,
.lookup-table.calculator-table td,
.calculator-history-table th,
.calculator-history-table td {
  white-space: normal;
  overflow-wrap: anywhere;
}

.lookup-table.calculator-table th:nth-child(1),
.lookup-table.calculator-table td:nth-child(1) {
  width: 42px;
}

.lookup-table.calculator-table th:nth-child(3),
.lookup-table.calculator-table td:nth-child(3),
.lookup-table.calculator-table th:nth-child(4),
.lookup-table.calculator-table td:nth-child(4),
.lookup-table.calculator-table th:nth-child(5),
.lookup-table.calculator-table td:nth-child(5),
.lookup-table.calculator-table th:nth-child(6),
.lookup-table.calculator-table td:nth-child(6) {
  width: 112px;
}

/* Tool: Matting Estimate Calculator */
.matting-estimate-form {
  max-width: 820px;
}

.matting-method-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.matting-method-panel > div,
.matting-estimate-breakdown {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.matting-method-panel span {
  color: var(--accent);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
}

.matting-method-panel strong,
.matting-estimate-breakdown strong {
  color: var(--ink);
  font-size: 14px;
}

.matting-method-panel p,
.matting-estimate-breakdown p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.matting-estimate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
}

.matting-estimate-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.matting-estimate-summary article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.matting-estimate-summary span {
  color: var(--muted);
  font-size: 13px;
}

.matting-estimate-summary strong {
  font-size: 22px;
  line-height: 1.2;
}

.matting-estimate-breakdown {
  margin: 10px 0;
  background: var(--panel);
}

.matting-estimate-assumptions {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
}

.matting-estimate-warnings {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--warn) 45%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--warn) 10%, var(--surface));
}

.matting-estimate-warnings strong {
  color: color-mix(in srgb, var(--warn) 82%, var(--ink));
}

.matting-estimate-warnings ul {
  margin: 0;
  padding-left: 18px;
}

.calculator-error-shell {
  border: 2px solid var(--danger);
  background: color-mix(in srgb, var(--danger) 18%, var(--surface));
  color: var(--ink);
}

.calculator-error-shell strong {
  color: var(--danger-text);
}

.calculator-error-shell p {
  color: var(--ink);
}

/* Tool: Ruling Span Calculator */
.ruling-span-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 220px));
  gap: 10px;
}

.ruling-span-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ruling-span-summary article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.ruling-span-summary span {
  color: var(--muted);
  font-size: 13px;
}

.ruling-span-summary strong {
  font-size: 18px;
}

.lookup-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
}

.lookup-form label,
.copy-box-label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-weight: bold;
}

.lookup-form .checkbox-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.lookup-form .checkbox-row input {
  width: auto;
  margin: 0;
}

.kml-label-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  max-width: 100%;
  gap: 10px 16px;
  padding: 0;
  border: 0;
  margin: 0;
}

.kml-label-options legend {
  flex: 0 0 100%;
  width: 100%;
  margin: 0;
  color: var(--muted);
  font-weight: bold;
}

.kml-label-options label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.kml-label-options input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--accent);
}

.kml-label-options input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.kml-color-options label {
  gap: 6px;
}

.kml-color-swatch {
  display: inline-block;
  width: 16px;
  height: 12px;
  border: 1px solid color-mix(in srgb, var(--ink) 25%, transparent);
  border-radius: 2px;
}

.kml-color-swatch.color-red {
  background: #d93025;
}

.kml-color-swatch.color-white {
  background: #f8f8f8;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 10%);
}

.kml-color-swatch.color-blue {
  background: #1a73e8;
}

.kml-color-swatch.color-green {
  background: #188038;
}

.kml-color-swatch.color-yellow {
  background: #fbbc04;
}

.kml-color-swatch.color-purple {
  background: #a142f4;
}

.lookup-form textarea {
  min-height: 96px;
  resize: vertical;
}

.lookup-form .button {
  justify-self: start;
}

.report-run-form {
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background: var(--surface);
}

.report-run-form::before {
  content: "Run report";
  grid-column: 1 / -1;
  margin: -2px 0 0;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.report-run-main-field,
.report-run-form > small,
.report-run-form .ai-review-warning {
  grid-column: 1 / -1;
}

.report-run-form .lookup-form-actions {
  display: flex;
  width: 100%;
  padding-top: 4px;
  border-top: 1px solid var(--line);
  justify-self: end;
  justify-content: flex-end;
}

.report-run-form .lookup-form-actions .button {
  min-width: 128px;
  min-height: 36px;
  justify-content: center;
}

.report-run-option,
.report-run-setting {
  align-self: end;
}

.report-run-settings {
  grid-column: 1 / -1;
}

.report-run-form label {
  color: var(--muted);
  font-size: 13px;
}

.report-run-form textarea,
.report-run-form input,
.report-run-form select {
  border-color: var(--field-border);
  border-radius: 3px;
  background: var(--field-bg);
  color: var(--ink);
  box-shadow: inset 0 1px 2px rgb(0 0 0 / 8%);
}

.report-run-form textarea {
  min-height: 104px;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.42;
}

.report-run-form input:focus,
.report-run-form select:focus,
.report-run-form textarea:focus {
  outline: 1px solid var(--accent);
  outline-offset: 0;
  background: var(--field-focus-bg);
  border-color: var(--accent);
}

.report-run-form .coordinate-file-import {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
}

.report-run-form .coordinate-file-import .button,
.report-run-form .button.secondary {
  border-color: var(--line);
  background: color-mix(in srgb, var(--surface) 88%, var(--surface-2));
  color: var(--ink);
}

.report-run-form .button.primary {
  border-color: var(--accent);
  background: var(--accent);
  color: #ffffff;
}

.report-run-form .button:not(:disabled):hover,
.report-run-form .button:not(:disabled):focus-visible {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--ink);
}

.report-run-form .button.primary:not(:disabled):hover,
.report-run-form .button.primary:not(:disabled):focus-visible {
  background: color-mix(in srgb, var(--accent) 88%, #000000);
  color: #ffffff;
}

.lookup-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.lookup-summary-grid > div {
  min-width: 0;
}

.lookup-summary-grid ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.lookup-raw-details {
  margin-top: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
}

.lookup-raw-details summary {
  cursor: pointer;
  padding: 10px 12px;
  font-weight: 700;
}

.lookup-raw-details pre {
  max-height: 360px;
  overflow: auto;
  margin: 0;
  padding: 12px;
  border-top: 1px solid var(--border);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 0.78rem;
}

.google-lookup-overview-map img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #111;
}

.google-lookup-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.google-lookup-data-table {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  table-layout: fixed;
}

.google-lookup-data-table th,
.google-lookup-data-table td {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.google-lookup-data-table th:first-child {
  width: 120px;
}

.google-lookup-data-table td:nth-child(2) {
  width: auto;
}

.email-generator-form {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  max-width: 760px;
}

.email-generator-form label {
  display: grid;
  grid-template-columns: minmax(112px, 150px) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  grid-column: 1 / -1;
  color: var(--muted);
  font-weight: bold;
}

.email-generator-form .lookup-form-actions {
  grid-column: 1 / -1;
}

.email-generator-form input,
.email-generator-form select {
  width: 100%;
  min-width: 0;
  font-weight: 600;
}

.email-generator-output {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.email-generator-output label {
  display: grid;
  grid-template-columns: minmax(112px, 150px) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: var(--muted);
  font-weight: bold;
}

.email-generator-output input,
.email-generator-output textarea {
  background: var(--surface);
  font-weight: normal;
}

.email-generator-output textarea {
  min-height: 260px;
  line-height: 1.55;
  white-space: pre-wrap;
}

.email-generator-output input {
  font-weight: 600;
}

.email-copy-dropdown {
  position: relative;
}

.email-copy-dropdown .action-dropdown-menu {
  right: auto;
  left: 0;
}

.email-template-editor {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.email-template-editor[hidden] {
  display: none;
}

.email-template-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.email-template-grid label {
  display: grid;
  grid-template-columns: minmax(112px, 150px) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  color: var(--muted);
  font-weight: bold;
}

.email-template-grid label:nth-child(3) {
  align-items: start;
  grid-column: 1 / -1;
}

.email-template-grid input,
.email-template-grid textarea {
  width: 100%;
  min-width: 0;
  background: var(--surface);
  color: var(--text);
  font-weight: normal;
}

.email-template-grid textarea {
  min-height: 180px;
  resize: vertical;
  line-height: 1.5;
}

.email-project-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 8px;
  margin: 0;
}

.email-project-summary div {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.email-project-summary dt {
  margin: 0 0 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.email-project-summary dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-weight: 600;
}

.email-project-summary-source {
  min-height: 76px;
}

.email-project-summary-source dd {
  display: flex;
  align-items: center;
}

.email-project-summary-source a,
.email-project-summary-source .text-button {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.email-project-summary-source .text-button {
  cursor: pointer;
}

.email-project-summary-card .overview-header > div {
  display: grid;
  gap: 2px;
}

@media (max-width: 760px) {
  .email-template-grid {
    grid-template-columns: 1fr;
  }
}

.copy-coordinate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.copy-coordinate-grid input[readonly],
.lookup-form input[readonly] {
  color: var(--text);
  cursor: text;
  background: var(--surface-2);
}

.environmental-hit-list {
  display: grid;
  gap: 1px;
  margin: 0;
  padding-left: 13px;
}

.environmental-hit-list li {
  display: grid;
  gap: 1px;
}

.environmental-hit-list small {
  color: var(--muted);
  font-size: 9px;
}

.environmental-check-table {
  min-width: 640px;
  table-layout: fixed;
  font-size: 11px;
}

.environmental-check-table th,
.environmental-check-table td {
  padding: 5px 6px;
  vertical-align: top;
}

.environmental-check-table tbody th {
  width: 130px;
  line-height: 1.1;
}

.environmental-check-table tbody th small {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: normal;
  line-height: 1.05;
}

.environmental-check-table td:nth-child(2) {
  width: 58px;
  white-space: nowrap;
}

.environmental-check-table td:nth-child(4) {
  width: 180px;
}

.environmental-manual-review {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.environmental-manual-review > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.environmental-manual-review strong {
  color: var(--ink);
  font-size: 13px;
}

.environmental-manual-review p,
.environmental-manual-review small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.environmental-manual-review small {
  overflow-wrap: anywhere;
}

.environmental-compact-note,
.environmental-compact-note + small,
.environmental-disclaimer-line,
.environmental-coordinate-strip {
  font-size: 12px;
}

.environmental-compact-note + small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.environmental-coordinate-strip {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  color: var(--muted);
}

.environmental-coordinate-strip strong {
  color: var(--text);
}

.environmental-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
}

.environmental-map-preview {
  container-type: size;
  position: relative;
  overflow: hidden;
  height: clamp(180px, 28vh, 260px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.environmental-map-preview iframe,
.environmental-map-preview img {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.environmental-map-label {
  position: absolute;
  z-index: 3;
  top: 8px;
  left: 8px;
  border: 1px solid rgb(255 255 255 / 45%);
  border-radius: var(--radius);
  padding: 3px 7px;
  background: rgb(15 23 42 / 78%);
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
}

.environmental-feature-overlay {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.environmental-overlay-shape {
  fill: none;
  stroke: #f97316;
  stroke-width: 0.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  paint-order: stroke;
  filter: drop-shadow(0 0 2px rgb(15 23 42 / 80%));
}

.environmental-overlay-wetlands {
  fill: rgb(34 197 94 / 28%);
  stroke: #16a34a;
}

.environmental-overlay-waterways {
  stroke: #2563eb;
  stroke-width: 1.15;
}

.environmental-overlay-floodplain {
  fill: rgb(14 165 233 / 22%);
  stroke: #0284c7;
}

.environmental-overlay-criticalHabitat {
  fill: rgb(217 70 239 / 22%);
  stroke: #c026d3;
}

.environmental-feature-legend {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  max-width: calc(100% - 16px);
  pointer-events: none;
}

.environmental-feature-legend span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 18px;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: var(--radius);
  padding: 2px 5px;
  background: rgb(15 23 42 / 78%);
  color: #ffffff;
  font-size: 10px;
  line-height: 1;
}

.environmental-feature-legend i {
  width: 8px;
  height: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.environmental-feature-legend .wetlands {
  background: rgb(34 197 94 / 55%);
  color: #22c55e;
}

.environmental-feature-legend .waterways {
  height: 2px;
  border: 0;
  border-radius: 0;
  background: #60a5fa;
}

.environmental-feature-legend .floodplain {
  background: rgb(14 165 233 / 55%);
  color: #38bdf8;
}

.environmental-feature-legend .criticalHabitat {
  background: rgb(217 70 239 / 55%);
  color: #e879f9;
}

.environmental-buffer-ring {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: min(calc(var(--environmental-buffer-size, 22.22) * 1cqw), calc(var(--environmental-buffer-size, 22.22) * 1cqh));
  height: min(calc(var(--environmental-buffer-size, 22.22) * 1cqw), calc(var(--environmental-buffer-size, 22.22) * 1cqh));
  transform: translate(-50%, -50%);
  border: 3px solid #38bdf8;
  border-radius: 50%;
  background: rgb(56 189 248 / 14%);
  box-shadow: 0 0 0 1px rgb(15 23 42 / 70%);
}

.environmental-buffer-point {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 1px rgb(15 23 42 / 80%);
}

.environmental-row-links.map-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.environmental-row-links.map-links a {
  min-height: 22px;
  padding: 3px 6px;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

.lookup-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.pole-report-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.report-run-form .pole-report-checks {
  position: relative;
  gap: 8px 18px;
  padding: 28px 12px 10px;
  border-color: var(--line);
  border-radius: 3px;
  background: var(--surface-2);
}

.pole-report-checks legend {
  padding: 0 4px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.report-run-form .pole-report-checks legend {
  position: absolute;
  top: 8px;
  left: 12px;
  width: calc(100% - 24px);
  margin: 0;
  padding: 0;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1.2;
}

.pole-report-checks label {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin: 0;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 700;
}

.report-run-form .pole-report-checks label {
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

.pole-report-checks input {
  width: auto;
  margin: 0;
  box-shadow: none;
}

.pole-report-screening-settings .input-with-unit {
  width: 112px;
}

.pole-report-screening-settings .input-with-unit input {
  width: 72px;
}

.lookup-form .lookup-form-actions .button {
  justify-self: auto;
}

.lookup-test-data-preview {
  overflow-x: auto;
}

.lookup-test-data-table {
  width: auto;
  min-width: 420px;
  border-collapse: collapse;
  table-layout: auto;
}

.lookup-test-data-table th,
.lookup-test-data-table td {
  padding: 4px 7px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.lookup-test-data-table th:nth-child(1),
.lookup-test-data-table td:nth-child(1) {
  min-width: 120px;
}

.lookup-test-data-table th:nth-child(2),
.lookup-test-data-table td:nth-child(2),
.lookup-test-data-table th:nth-child(3),
.lookup-test-data-table td:nth-child(3) {
  min-width: 96px;
}

.lookup-test-data-table th {
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
}

.weather-tool-shell {
  gap: 8px;
  padding: 10px;
}

.weather-tool-shell .table-toolbar {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.weather-tool-shell .tool-header-note {
  max-width: 920px;
  margin-bottom: 0;
}

.weather-tool-form {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.weather-tool-form textarea {
  height: 70px;
  min-height: 66px;
  max-height: 112px;
}

.weather-tool-form .button {
  min-height: 38px;
  white-space: nowrap;
}

.weather-tool-shell .saved-report-detail-panel {
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 7px 9px;
}

.weather-tool-shell .saved-report-detail-panel small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.weather-tool-shell .saved-report-detail-actions .button {
  min-width: 78px;
  min-height: 28px;
  padding: 5px 9px;
}

.lookup-note {
  display: grid;
  gap: 6px;
  padding: 8px 10px;
}

.row-alert {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 2px solid var(--danger);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--danger) 14%, var(--surface));
  color: var(--ink);
}

.row-alert strong {
  color: var(--danger);
}

.row-alert-content {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.railroad-alert {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 12px;
}

.railroad-alert .map-links {
  justify-content: flex-end;
}

.row-alert-list {
  display: grid;
  gap: 2px;
  margin: 0;
  padding-left: 20px;
}

.row-alert-list li strong {
  color: var(--ink);
}

.row-alert-list li span {
  margin-left: 4px;
}

.overview-alerts {
  display: grid;
  gap: 10px;
}

.tool-footnote {
  width: min(700px, 100%);
  max-width: 100%;
  max-height: calc(3.75em + 12px);
  margin: auto auto 0;
  overflow: hidden;
  padding: 6px 34px 6px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  text-align: center;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  box-shadow: 0 1px 4px rgb(0 0 0 / 10%);
}

.global-tool-disclaimer {
  position: relative;
  max-height: none;
  margin-top: 8px;
  margin-bottom: 0;
}

.tool-footnote.is-superseded {
  display: none;
}

.tool-footnote-text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tool-footnote.is-dismissible {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  text-align: center;
}

.global-tool-disclaimer.is-dismissible {
  text-align: left;
}

.tool-disclaimers-dismissed .tool-footnote.is-dismissible {
  display: none;
}

.tool-footnote strong {
  color: var(--muted);
}

.tool-footnote-dismiss {
  position: absolute;
  top: 50%;
  right: 6px;
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}

.tool-footnote-dismiss:hover,
.tool-footnote-dismiss:focus-visible {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--ink);
}

.disclaimer-dialog {
  width: min(720px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 70px rgb(0 0 0 / 42%);
}

.disclaimer-dialog::backdrop {
  background: rgb(0 0 0 / 68%);
  backdrop-filter: blur(2px);
}

.disclaimer-modal {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.disclaimer-alert-heading {
  display: flex;
  gap: 12px;
  align-items: center;
}

.disclaimer-alert-icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 2px solid #8a5a00;
  border-radius: 50%;
  background: #ffcc00;
  color: #3a2600;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
}

.disclaimer-modal h2 {
  margin: 0;
  font-size: 28px;
}

.disclaimer-modal p {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.55;
}

.disclaimer-modal .button {
  justify-self: start;
  margin-top: 4px;
}

.account-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 80;
  width: min(460px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 70px rgb(0 0 0 / 42%);
  transform: translate(-50%, -50%);
}

.account-dialog[hidden] {
  display: none;
}

body.account-dialog-open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 79;
  background: rgb(0 0 0 / 58%);
  backdrop-filter: blur(2px);
}

.account-form {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.account-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
}

.account-form input {
  width: 100%;
}

.account-mode-toggle {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.account-mode-toggle .button.is-selected {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 16%, var(--surface));
}

.account-summary {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--surface) 94%, var(--accent));
}

.account-summary[hidden] {
  display: none;
}

.account-summary div {
  display: grid;
  grid-template-columns: minmax(64px, max-content) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
}

.account-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
}

.account-summary strong {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.account-form.is-signed-in .dialog-actions {
  justify-content: flex-start;
}

.account-sync-note {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line));
  border-radius: 6px;
  background: color-mix(in srgb, var(--surface) 90%, var(--accent));
  color: var(--ink);
  font-size: 12px;
  line-height: 1.45;
}

.account-form-status {
  align-self: center;
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
}

.lookup-history-shell {
  padding: 12px;
}

#feet-inches-view .lookup-history-shell {
  justify-self: start;
  width: min(100%, 646px);
}

.lookup-history-shell .history-header {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--home-widget-border);
}

.lookup-history-shell .history-header strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}

.lookup-shell:has([data-lookup-history]) > .lookup-form:not(.report-run-form) {
  padding: 12px;
  border: 1px solid var(--home-widget-border);
  border-radius: var(--radius);
  background: var(--home-widget-bg);
}

.lookup-shell:has([data-lookup-history]) > .lookup-form:not(.report-run-form)::before {
  content: "Run report";
  grid-column: 1 / -1;
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.lookup-shell:has([data-lookup-history]) > .lookup-results:not(:has(> :not(.current-report-details-shell))) {
  display: none;
}

.lookup-results,
.weather-results {
  padding: 0;
}

.report-results-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  max-width: 100%;
  min-width: 0;
}

.report-results-main {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  min-width: 0;
  max-width: 100%;
  gap: 12px;
}

.report-results-top-panels {
  display: grid;
  gap: 10px;
}

.report-results-top-panels:empty,
.report-results-top-panels:not(:has(> :not([hidden]))),
.report-results-top-panels > [hidden] {
  display: none;
}

.report-lookup-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}

.report-lookup-form label {
  min-width: 0;
}

.report-lookup-form textarea {
  height: 96px;
  resize: vertical;
}

.report-lookup-form .button {
  min-width: 112px;
  min-height: var(--control-min-height);
  align-self: end;
  justify-content: center;
  white-space: nowrap;
}

.report-lookup-form .lookup-form-actions {
  align-self: end;
  justify-self: end;
}

.report-lookup-form .lookup-form-actions .button {
  flex: 0 0 auto;
}

.report-lookup-form .coordinate-file-import {
  display: none;
}

.report-lookup-form input[type="hidden"] {
  display: none;
}

.report-results-nav {
  grid-column: 1;
  grid-row: 1;
  position: sticky;
  top: 12px;
  align-self: start;
  height: fit-content;
  z-index: 10;
  display: grid;
  gap: 8px;
  max-height: calc(100vh - 24px);
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.report-results-nav strong {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.report-results-nav ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.report-results-nav-button {
  display: grid;
  width: 100%;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.report-results-nav-button.is-active {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}

.report-results-nav-button.has-environmental-hit,
.report-results-nav-button.has-report-warning {
  border-left: 4px solid var(--danger);
  background: color-mix(in srgb, var(--danger) 8%, var(--surface));
}

.report-results-nav-button.has-environmental-hit.is-active,
.report-results-nav-button.has-report-warning.is-active {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  border-left-color: var(--danger);
  background: color-mix(in srgb, var(--danger) 12%, var(--surface));
}

.report-results-nav-button:hover,
.report-results-nav-button:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
}

.report-results-nav-button:focus:not(:focus-visible):not(.is-active) {
  border-color: transparent;
  background: transparent;
  outline: none;
}

.report-results-nav-button span {
  font-weight: bold;
  overflow-wrap: anywhere;
}

.report-results-nav-button .report-nav-hit-label,
.pole-info-warning-strip .report-nav-hit-label {
  justify-self: start;
  margin-top: 1px;
  border: 1px solid color-mix(in srgb, var(--danger) 42%, var(--line));
  border-radius: var(--radius);
  padding: 1px 5px;
  background: color-mix(in srgb, var(--danger) 12%, var(--surface));
  color: var(--danger-text);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.3;
  text-transform: uppercase;
}

.pole-info-warning-strip {
  margin-bottom: 8px;
}

.pole-info-warning-strip ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pole-info-warning-strip li,
.pole-info-warning-strip li > span {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.pole-info-warning-strip strong {
  font-size: 11px;
}

.report-results-nav-button .report-pole-identity,
.pole-section-header .report-pole-identity {
  display: grid;
  gap: 2px;
  align-items: start;
  font-weight: normal;
}

.report-results-nav-button .report-pole-identity {
  font-size: inherit;
  line-height: inherit;
  text-transform: none;
}

.report-results-nav-button .report-pole-identity strong,
.pole-section-header .report-pole-identity strong {
  font-size: inherit;
  font-weight: 800;
  line-height: inherit;
}

.report-results-nav-button .report-pole-identity span {
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
}

.pole-section-header .report-pole-identity span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}

.report-results-nav-button small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.pole-section-header h3 {
  display: grid;
  flex: 1 1 260px;
  gap: 3px;
  margin: 0;
  overflow-wrap: anywhere;
}

.pole-header-map-links {
  flex: 0 1 auto;
  justify-content: flex-end;
}

.pole-section-header .report-pole-address {
  color: var(--ink);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.3;
  text-transform: none;
}

.standard-report-brief {
  display: grid;
  gap: 10px;
}

.report-executive-summary {
  border-left-color: var(--accent);
}

.report-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.report-summary-card {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.report-summary-card span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.report-summary-card strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.report-summary-card small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.report-summary-card.is-review {
  border-color: color-mix(in srgb, var(--warn) 50%, var(--line));
  background: color-mix(in srgb, var(--warn) 8%, var(--surface));
}

.report-summary-card.is-clear {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.report-findings-section {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.report-register-header span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.report-register-header strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.report-register-header {
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
}

.report-findings-table {
  min-width: min(980px, 100%);
  table-layout: fixed;
}

.report-findings-table td {
  vertical-align: top;
}

.report-findings-table th:nth-child(1),
.report-findings-table td:nth-child(1) {
  width: 110px;
}

.report-findings-table th:nth-child(2),
.report-findings-table td:nth-child(2) {
  width: 128px;
}

.report-findings-table th:nth-child(3),
.report-findings-table td:nth-child(3) {
  width: 96px;
}

.report-findings-table th:nth-child(4),
.report-findings-table td:nth-child(4) {
  width: 96px;
}

.report-results-layout .report-findings-table {
  min-width: 720px;
}

.report-results-layout .lookup-table,
.report-results-layout .project-pole-table,
.report-results-layout .environmental-check-table,
.report-results-layout .indot-route-table,
.report-results-layout .railroad-table {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
}

.report-results-layout .project-pole-table-wrap,
.report-results-layout .pole-detail-content {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

.report-results-layout .report-findings-table th,
.report-results-layout .report-findings-table td,
.report-results-layout .lookup-table th,
.report-results-layout .lookup-table td,
.report-results-layout .project-pole-table th,
.report-results-layout .project-pole-table td {
  min-width: 0;
  overflow-wrap: anywhere;
}

.report-results-layout .lookup-table tbody th,
.report-results-layout .lookup-table tbody td:nth-child(2),
.report-results-layout .lookup-table tbody td:nth-child(3) {
  min-width: 0;
}

.report-verification-details {
  border-left-color: var(--line);
}

.report-verification-details > .lookup-sources {
  margin: 0;
}

.report-print-condensed {
  display: none;
}

@media (max-width: 1180px) {
  .report-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .report-summary-grid {
    grid-template-columns: 1fr;
  }
}

.environmental-overview-warning-table {
  margin-top: 10px;
}

.environmental-exec-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.environmental-exec-summary > div {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.environmental-exec-summary span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.environmental-exec-summary strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.15;
}

.environmental-exec-summary small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.environmental-findings-panel,
.environmental-source-coverage {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.environmental-findings-table {
  min-width: 860px;
  table-layout: fixed;
}

.environmental-findings-table th,
.environmental-findings-table td {
  vertical-align: top;
}

.environmental-findings-table th:nth-child(1),
.environmental-findings-table td:nth-child(1) {
  width: 98px;
}

.environmental-findings-table th:nth-child(2),
.environmental-findings-table td:nth-child(2) {
  width: 120px;
}

.environmental-findings-table th:nth-child(3),
.environmental-findings-table td:nth-child(3) {
  width: 155px;
}

.environmental-findings-table th small,
.environmental-findings-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.environmental-findings-table .environmental-row-links {
  margin-top: 6px;
}

.environmental-clear-poles {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin-top: 10px;
}

.environmental-clear-poles summary {
  cursor: pointer;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  font-weight: 800;
}

.environmental-clear-poles[open] summary {
  margin-bottom: 8px;
}

.environmental-source-coverage p {
  margin: 0;
  color: var(--text);
  line-height: 1.4;
}

.environmental-source-coverage small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.environmental-live-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.environmental-live-source-links a {
  color: var(--accent);
  font-size: 12px;
}

.environmental-overview-results-table {
  min-width: 920px;
}

.environmental-overview-results-table th,
.environmental-overview-results-table td {
  vertical-align: top;
}

.environmental-overview-results-table thead th {
  white-space: normal;
}

.environmental-overview-results-table tbody th,
.environmental-overview-results-table tbody td:nth-child(2) {
  width: 92px;
  min-width: 72px;
}

.environmental-overview-results-table td:not(:nth-child(2)) {
  min-width: 130px;
}

.environmental-overview-results-table td small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.environmental-overview-empty {
  color: var(--muted);
}

.environmental-overview-warning-list {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.environmental-overview-warning-list li {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.environmental-overview-warning-list strong {
  overflow-wrap: anywhere;
}

.report-status {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.report-status.review {
  border-color: color-mix(in srgb, #b91c1c 45%, var(--line));
  background: color-mix(in srgb, #fee2e2 70%, var(--surface));
  color: #7f1d1d;
}

.report-status.watch,
.report-status.unavailable {
  border-color: color-mix(in srgb, #b45309 45%, var(--line));
  background: color-mix(in srgb, #fef3c7 70%, var(--surface));
  color: #78350f;
}

.report-status.clear {
  border-color: color-mix(in srgb, #047857 38%, var(--line));
  background: color-mix(in srgb, #d1fae5 65%, var(--surface));
  color: #064e3b;
}

.report-run-status-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.report-run-status-heading {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
}

.report-run-status-heading span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.report-run-status-heading strong {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 13px;
}

.loading-status {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--muted);
}

.loading-spinner {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 2px solid var(--line);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: loading-spin 0.8s linear infinite;
}

.loading-status-body {
  display: grid;
  gap: 8px;
  min-width: 0;
  flex: 1;
}

.loading-status-body strong {
  color: var(--text);
}

.loading-status-body small {
  color: var(--muted);
  line-height: 1.35;
}

.loading-progress-bar {
  position: relative;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-2);
}

.loading-progress-bar span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: var(--accent);
  animation: loading-progress-slide 1.4s ease-in-out infinite;
}

.loading-progress-meta {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.project-refresh-log {
  margin: 10px 0;
}

.project-refresh-log[hidden] {
  display: none;
}

@keyframes loading-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes loading-progress-slide {
  0% {
    transform: translateX(-110%);
  }

  50% {
    transform: translateX(80%);
  }

  100% {
    transform: translateX(250%);
  }
}

.lookup-results,
.weather-results,
.lookup-list,
.pole-detail-content,
.weather-detail-content,
.weather-week-list,
.weather-week-row {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
}

.pole-detail-content[hidden],
.pole-detail-content.is-collapsed {
  display: none !important;
}

.lookup-history {
  color: var(--muted);
  overflow-x: auto;
}

.history-table {
  min-width: 680px;
  border-collapse: collapse;
}

.calculator-history-table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
}

.calculator-history-table th:nth-child(2),
.calculator-history-table td:nth-child(2),
.calculator-history-table th:nth-child(3),
.calculator-history-table td:nth-child(3) {
  width: 120px;
}

.calculator-history-table th:nth-child(5),
.calculator-history-table td:nth-child(5) {
  width: 150px;
}

.saved-reports-table {
  width: 100%;
  min-width: 1080px;
  table-layout: fixed;
  font-size: var(--table-body-font-size);
  line-height: var(--table-line-height);
}

.saved-reports-table th,
.saved-reports-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.saved-reports-table td {
  color: var(--ink);
  font-weight: 400;
}

.saved-reports-table .text-button + .text-button {
  margin-left: 6px;
}

.saved-reports-table .saved-report-id,
.saved-reports-table .saved-report-status,
.saved-reports-table small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: var(--table-line-height);
}

.saved-reports-table .saved-report-id {
  color: var(--accent);
  font-weight: var(--weight-medium);
  overflow-wrap: normal;
}

.saved-reports-table .saved-report-status {
  color: var(--ink);
  font-weight: 400;
}

.saved-reports-table small {
  margin-top: var(--table-secondary-gap);
  color: var(--muted);
  font-weight: normal;
  font-size: inherit;
}

.saved-report-actions {
  white-space: nowrap;
}

body:has(#report-view.is-active) {
  background: var(--surface);
}

body:has(#report-view.is-active) .topbar,
body:has(#report-view.is-active) .local-copy-banner,
body:has(#report-view.is-active) .app-footer,
body:has(#report-view.is-active) .back-to-top {
  display: none;
}

body:has(#report-view.is-active) .page {
  width: min(1080px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 16px 0 34px;
}

.report-only-view {
  padding: 0;
}

.report-only-content,
.report-only-shell,
.report-only-body {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.report-only-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: var(--surface);
}

.report-only-header h2 {
  margin: 2px 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.15;
}

.report-only-header p {
  margin: 0;
  color: var(--muted);
}

.report-only-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.report-only-cover {
  border-left-color: var(--line);
}

.report-only-meta-table {
  table-layout: fixed;
}

.report-only-meta-table th {
  width: 180px;
}

.report-packet-summary {
  border-left-color: var(--line);
}

.report-packet-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.report-packet-action-register {
  display: grid;
  gap: 8px;
}

.report-packet-action-table {
  table-layout: fixed;
}

.report-packet-action-table th {
  width: 190px;
}

.report-packet-action-table td {
  vertical-align: top;
}

body:has(#report-view.is-active) .report-only-shell .overview-section,
body:has(#report-view.is-active) .report-only-shell .lookup-result-section,
body:has(#report-view.is-active) .report-only-shell .lookup-sources,
body:has(#report-view.is-active) .report-only-shell .report-findings-section {
  border: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: var(--surface);
}

body:has(#report-view.is-active) .report-only-shell .overview-header,
body:has(#report-view.is-active) .report-only-shell .report-register-header {
  background: color-mix(in srgb, var(--surface) 84%, var(--line));
  border-bottom: 1px solid var(--line);
}

body:has(#report-view.is-active) .report-summary-card,
body:has(#report-view.is-active) .report-summary-card.is-review,
body:has(#report-view.is-active) .report-summary-card.is-clear {
  border-color: var(--line);
  background: var(--surface);
}

body:has(#report-view.is-active) .report-summary-card strong {
  font-size: 16px;
}

body:has(#report-view.is-active) .report-status,
body:has(#report-view.is-active) .confidence,
body:has(#report-view.is-active) .walkdown-status-badge,
body:has(#report-view.is-active) .report-nav-hit-label {
  border-color: var(--line);
  background: var(--surface);
}

.report-packet-summary + .lookup-result-section,
body:has(#report-view.is-active) .report-only-cover,
body:has(#report-view.is-active) .lookup-sources {
  break-inside: avoid;
}

.report-only-body .map-preview,
.report-only-body .overview-map,
.report-only-body .route-preview-map,
.report-only-body .osm-overview {
  max-height: 360px;
  overflow: hidden;
}

@media (max-width: 920px) {
  .report-only-header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .report-only-actions {
    justify-content: flex-start;
  }

  .report-packet-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body:has(#report-view.is-active) .page {
    width: min(100%, calc(100vw - 20px));
    padding-top: 10px;
  }

  .report-packet-summary-grid {
    grid-template-columns: 1fr;
  }

  .report-packet-action-table,
  .report-packet-action-table tbody,
  .report-packet-action-table tr,
  .report-packet-action-table th,
  .report-packet-action-table td {
    display: block;
    width: 100%;
  }
}

.saved-report-action-note {
  display: inline-block;
  color: var(--muted);
  font-size: 11px;
  line-height: var(--table-line-height);
}

.saved-reports-table .text-button {
  padding: 0;
  font-size: inherit;
  font-weight: var(--weight-medium);
  line-height: var(--table-line-height);
}

.saved-reports-table th:nth-child(1),
.saved-reports-table td:nth-child(1) {
  width: 178px;
}

.saved-reports-table th:nth-child(2),
.saved-reports-table td:nth-child(2) {
  width: 150px;
}

.saved-reports-table th:nth-child(3),
.saved-reports-table td:nth-child(3) {
  width: 150px;
}

.saved-reports-table th:nth-child(4),
.saved-reports-table td:nth-child(4) {
  width: 210px;
}

.saved-reports-table th:nth-child(5),
.saved-reports-table td:nth-child(5) {
  width: 150px;
  white-space: nowrap;
}

.saved-reports-table th:nth-child(6),
.saved-reports-table td:nth-child(6) {
  width: 176px;
  white-space: nowrap;
}

.saved-reports-table th:nth-child(7),
.saved-reports-table td:nth-child(7) {
  width: 86px;
}

.saved-reports-table th:nth-child(8),
.saved-reports-table td:nth-child(8) {
  width: 132px;
  white-space: nowrap;
}

.saved-reports-table .history-item {
  user-select: none;
}

.project-reports-section {
  display: grid;
  gap: 12px;
  overflow: visible;
}

.project-workflow-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.project-custom-run-helper {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  margin-top: 8px;
}

.project-reports-section > .overview-header {
  margin-bottom: 0;
}

.project-run-reports-panel {
  display: grid;
  gap: 12px;
}

.project-report-primary-action,
.project-report-action-section,
.project-current-run-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.report-results-nav.is-report-nav-fixed {
  position: fixed;
  top: var(--report-nav-top, 12px);
  left: var(--report-nav-left, auto);
  width: var(--report-nav-width, 190px);
  max-height: calc(100vh - var(--report-nav-top, 12px) - 12px);
}

.project-report-primary-action {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.project-report-primary-action > div,
.project-report-section-heading,
.project-current-run-heading > div,
.project-report-action-row > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-report-primary-action strong,
.project-report-section-heading strong,
.project-current-run-heading strong,
.project-report-action-row strong {
  color: var(--ink);
}

.project-report-primary-action small,
.project-report-section-heading small,
.project-current-run-heading small,
.project-report-action-row small,
.project-deliverable-source {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.project-deliverable-source {
  color: var(--text-soft);
}

.project-report-section-heading strong {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.project-report-action-list {
  display: grid;
  gap: 6px;
}

.project-client-profile-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-client-profile-form label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
}

.project-client-profile-form select {
  width: 100%;
  min-width: 0;
}

.project-client-profile-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.project-batch-deliverables-actions,
.project-deliverable-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.project-batch-deliverables-actions {
  justify-content: flex-start;
}

.project-deliverable-batch-toggle {
  display: inline-flex;
  min-height: var(--control-min-height);
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.project-deliverable-batch-toggle input {
  margin: 0;
}

.project-report-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.project-report-action-button,
.project-run-report-button {
  display: inline-flex;
  min-height: var(--control-min-height);
  align-items: center;
  justify-content: center;
  padding: var(--control-padding);
  border: 1px solid var(--line);
  border-radius: var(--control-radius);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: var(--control-font-size);
  font-weight: var(--weight-semibold);
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.project-report-action-button.is-primary {
  border-color: color-mix(in srgb, var(--accent) 70%, var(--line));
  background: var(--accent);
  color: var(--accent-contrast);
}

.project-report-action-button:not(:disabled):hover,
.project-report-action-button:not(:disabled):focus-visible,
.project-run-report-button:not(:disabled):hover,
.project-run-report-button:not(:disabled):focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--ink);
  outline: none;
}

.project-report-action-button.is-primary:not(:disabled):hover,
.project-report-action-button.is-primary:not(:disabled):focus-visible {
  background: color-mix(in srgb, var(--accent) 88%, #000000);
  color: var(--accent-contrast);
}

.project-report-action-button:disabled,
.project-run-report-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.project-report-output-section,
.project-previous-reports-section {
  display: grid;
  gap: 10px;
}

.project-previous-reports-section .project-panel-note {
  justify-content: space-between;
}

.project-previous-reports-section .project-panel-note > div {
  display: grid;
  gap: 2px;
}

.project-inline-report {
  margin: 0;
}

.project-inline-report-results {
  margin-top: 0;
}

.project-current-run-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 720px) {
  .project-report-primary-action,
  .project-report-action-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-client-profile-form,
  .project-output-preflight-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-client-profile-actions {
    justify-content: stretch;
  }

  .project-client-profile-actions .project-report-action-button {
    flex: 1 1 160px;
  }

  .project-batch-deliverables-actions,
  .project-deliverable-actions {
    justify-content: stretch;
  }

  .project-batch-deliverables-actions .project-report-action-button,
  .project-deliverable-actions .project-report-action-button {
    flex: 1 1 160px;
  }

  .project-output-preflight-row small {
    grid-column: auto;
  }

  .project-output-preflight-row > .project-report-action-button {
    grid-column: auto;
    justify-self: stretch;
  }

  .project-report-action-button {
    width: 100%;
  }
}

.project-reports-table {
  width: 100%;
  min-width: 0;
}

.project-reports-table th:nth-child(1),
.project-reports-table td:nth-child(1) {
  width: 18%;
}

.project-reports-table th:nth-child(2),
.project-reports-table td:nth-child(2) {
  width: 24%;
  white-space: nowrap;
}

.project-reports-table th:nth-child(3),
.project-reports-table td:nth-child(3) {
  width: 15%;
}

.project-reports-table th:nth-child(5),
.project-reports-table td:nth-child(5) {
  width: 13%;
}

.project-reports-table th:nth-child(4),
.project-reports-table td:nth-child(4) {
  width: 20%;
  white-space: nowrap;
}

.project-reports-table th:nth-child(6),
.project-reports-table td:nth-child(6) {
  width: 10%;
  white-space: nowrap;
}

.saved-reports-pagination {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 8px;
  color: var(--muted);
  font-weight: bold;
}

.saved-reports-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.saved-reports-pagination .button {
  width: auto;
  min-width: 88px;
  min-height: 30px;
  padding: 6px 10px;
}

@media (max-width: 840px) {
  .saved-report-detail-panel {
    grid-template-columns: 1fr;
  }

  .saved-reports-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .saved-reports-pagination div {
    justify-content: flex-start;
  }

  .report-results-layout {
    grid-template-columns: 1fr;
  }

  .report-results-nav {
    position: static;
    max-height: none;
  }

  .report-results-nav ul {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  }

  .report-lookup-form {
    grid-template-columns: 1fr;
  }

  .report-lookup-form .button {
    height: auto;
    min-height: 38px;
  }

}

.history-table th,
.history-table td {
  padding: var(--table-cell-padding);
  border: 1px solid var(--line);
}

.history-table th {
  position: static;
  background: var(--surface-2);
}

.history-table td:first-child {
  color: var(--accent);
  font-weight: bold;
}

.history-item {
  cursor: pointer;
}

.history-item:hover td,
.history-item:focus td {
  background: var(--surface-2);
}

.history-item:focus {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.text-button {
  border: 0;
  background: transparent;
  color: var(--accent);
  cursor: pointer;
  font-weight: bold;
  padding: 0;
  text-decoration: none;
}

.text-button:hover,
.text-button:focus-visible {
  color: color-mix(in srgb, var(--accent) 78%, #000000);
  text-decoration: underline;
  outline: none;
}

.project-detail-table .text-button {
  font: inherit;
  font-weight: bold;
  text-decoration: underline;
}

.weather-shell,
.overview-section,
.lookup-result-section {
  display: grid;
  gap: 12px;
  max-width: 100%;
  scroll-margin-top: 34px;
  padding: 14px;
  border-left: 5px solid var(--accent);
  background: var(--report-surface);
  box-shadow: 0 1px 0 rgb(0 0 0 / 4%);
}

.weather-results .weather-shell {
  gap: 8px;
  padding: 10px 12px 12px;
  border-left-width: 4px;
}

.weather-header,
.overview-header,
.pole-section-header {
  margin: -14px -14px 0;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  border-radius: var(--radius) var(--radius) 0 0;
  background: var(--report-header);
}

.weather-results .weather-header {
  margin: -10px -12px 0;
  padding: 8px 10px;
}

.weather-header > div:first-child,
.overview-header > div:first-child,
.pole-section-header > div:first-child,
.history-header > div:first-child,
.weather-results .weather-header > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.weather-header span,
.overview-header span,
.pole-section-header span,
.history-header span {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: var(--weight-bold);
  line-height: 1.25;
  text-transform: none;
}

.weather-header strong,
.overview-header strong,
.pole-section-header strong,
.history-header strong {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: var(--weight-semibold);
  line-height: 1.35;
}

.weather-header small,
.overview-header small,
.pole-section-header small,
.history-header small {
  display: block;
  margin-top: 1px;
  font-size: 12.5px;
  line-height: 1.45;
}

.weather-results .weather-header strong {
  font-size: 13px;
}

.weather-results .weather-header small {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.weather-summary-bar {
  display: grid;
  gap: 4px;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}

.weather-best,
.weather-location-note {
  margin: 0;
}

.weather-location-note {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.overview-section > .overview-header,
.lookup-result-section > .overview-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.overview-section > .overview-header > div:first-child,
.lookup-result-section > .overview-header > div:first-child {
  min-width: 0;
}

.overview-section > .overview-header > .map-links,
.lookup-result-section > .overview-header > .map-links {
  justify-content: flex-end;
}

.lookup-result-section > h3,
.overview-section > h3,
.weather-shell > h3 {
  margin: -14px -14px 0;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  border-radius: var(--radius) var(--radius) 0 0;
  background: var(--report-header);
  color: var(--ink);
  font-size: 15px;
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.compact-weather-shell {
  gap: 10px;
  padding: 12px;
}

.compact-weather-shell .weather-week-list {
  gap: 8px;
}

.compact-weather-shell .weather-week-row {
  gap: 6px;
}

.weather-detail-content.is-collapsed,
.weather-week-list.is-collapsed {
  display: none;
}

.lookup-table.is-collapsed {
  display: none;
}

.weather-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.compact-weather-shell .weather-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 6px;
}

.weather-card {
  display: grid;
  gap: 6px;
  padding: 8px;
}

.inventory-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}

.inventory-summary-card {
  display: grid;
  gap: 4px;
  align-content: start;
  min-height: 84px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.inventory-summary-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.inventory-summary-card strong {
  font-size: 18px;
  line-height: 1.25;
}

.inventory-summary-card small {
  color: var(--muted);
  line-height: 1.35;
}

.inventory-summary-card.is-alert {
  border-color: var(--danger);
  background: var(--danger);
  color: #ffffff;
}

.inventory-summary-card.is-alert span,
.inventory-summary-card.is-alert small {
  color: rgb(255 255 255 / 82%);
}

.inventory-summary-card.is-alert strong {
  color: #ffffff;
}

.compact-weather-shell .weather-card {
  gap: 4px;
  padding: 7px;
}

.weather-card span,
.weather-week-row > strong,
.map-preview h3 {
  color: var(--muted);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.rating {
  display: inline;
  width: auto;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  font-style: normal;
  font-weight: bold;
}

.confidence {
  display: inline;
  width: auto;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  font-weight: bold;
}

.rating.good,
.confidence.high {
  color: #167a35;
}

.confidence.low {
  color: var(--muted);
}

.confidence.critical {
  color: var(--danger);
}

.confidence.high.state-route-candidate-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: var(--radius);
  padding: 5px 9px;
  background: var(--danger);
  color: #ffffff;
  line-height: 1.2;
}

.rating.watch,
.confidence.medium {
  color: var(--warn);
}

.rating.poor {
  color: var(--danger);
}

.preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: min(100%, 1120px);
  justify-self: center;
}

.walkdown-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.virtual-walkdown-pole .pole-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: start;
}

.walkdown-note-grid {
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.walkdown-note-grid > div,
.walkdown-note-grid > label {
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.walkdown-note-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.walkdown-note-grid strong {
  color: var(--ink);
  overflow-wrap: anywhere;
}

.walkdown-note-grid small {
  color: var(--muted);
  line-height: 1.35;
}

.walkdown-notes-label {
  display: grid;
  gap: 5px;
  margin-top: 6px;
  color: var(--ink);
  font-weight: 700;
}

.walkdown-check-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 2px;
}

.walkdown-check-actions .text-button {
  padding: 0;
  font-size: 12px;
}

.walkdown-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin-top: 8px;
}

.walkdown-note-grid .walkdown-check-item {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
}

.walkdown-note-grid .walkdown-check-item input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--accent);
}

.walkdown-note-grid .walkdown-check-item span {
  display: block;
  min-width: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-transform: none;
}

.walkdown-note-grid textarea {
  min-height: 86px;
  resize: vertical;
}

.virtual-walkdown-pole.is-view-only .walkdown-notes-input,
.virtual-walkdown-pole.is-view-only .walkdown-status-input,
.virtual-walkdown-pole.is-view-only .walkdown-check-note {
  cursor: not-allowed;
}

.virtual-walkdown-pole.is-view-only .walkdown-notes-input {
  color: var(--ink);
  opacity: 0.86;
}

.walkdown-pole-status,
.walkdown-nav-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  justify-content: flex-end;
}

.walkdown-nav-badges {
  justify-content: flex-start;
}

.walkdown-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.15;
  text-transform: uppercase;
  white-space: nowrap;
}

.report-results-nav .walkdown-status-badge {
  max-width: 100%;
  white-space: normal;
}

.walkdown-status-badge.is-clear {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  color: var(--accent);
}

.walkdown-status-badge.is-warn {
  border-color: color-mix(in srgb, var(--warn) 55%, var(--line));
  color: var(--warn);
}

.walkdown-status-badge.is-danger {
  border-color: color-mix(in srgb, var(--danger) 55%, var(--line));
  color: var(--danger);
}

.walkdown-overview-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.walkdown-overview-count {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.walkdown-overview-count span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.walkdown-overview-count strong {
  color: var(--ink);
  font-size: 18px;
}

.walkdown-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.walkdown-filter {
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.walkdown-filter.is-active {
  border-color: var(--accent);
  color: var(--ink);
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
}

.walkdown-evidence-panel {
  display: grid;
  gap: 4px;
  margin-top: 4px;
}

.walkdown-evidence-row {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 5px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
}

.walkdown-evidence-row span {
  color: var(--muted);
  font-size: 10px;
}

.walkdown-evidence-row strong {
  font-size: 12px;
  font-weight: 750;
}

@media (max-width: 840px) {
  .walkdown-preview-grid,
  .virtual-walkdown-pole .pole-section-header,
  .walkdown-note-grid,
  .walkdown-overview-strip {
    grid-template-columns: 1fr;
  }

  .walkdown-pole-status {
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .walkdown-checklist,
  .walkdown-note-grid .walkdown-check-item {
    grid-template-columns: 1fr;
  }

  .walkdown-evidence-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

.context-map-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.context-map-grid.is-collapsed {
  display: none;
}

.overview-detail-map-grid.is-collapsed {
  display: none;
}

.overview-map-toggle-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.context-map-toggle {
  width: fit-content;
}

.map-preview {
  position: relative;
  display: grid;
  gap: 6px;
}

.interactive-map-preview iframe {
  pointer-events: none;
}

.interactive-map-preview .walkdown-street-view-canvas {
  pointer-events: none;
}

.interactive-map-preview::after {
  content: "Click to interact";
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  top: calc(12px + 1em + 6px);
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: rgb(0 0 0 / 46%);
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
  opacity: 0;
  transition: opacity 140ms ease;
}

.interactive-map-preview:hover::after,
.interactive-map-preview:focus-within::after {
  opacity: 1;
}

.interactive-map-preview.is-embed-active iframe {
  pointer-events: auto;
}

.interactive-map-preview.is-embed-active .walkdown-street-view-canvas {
  pointer-events: auto;
}

.interactive-map-preview.is-embed-active::after {
  display: none;
}

.map-preview iframe,
.walkdown-street-view-canvas {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.walkdown-street-view-panel {
  min-width: 0;
}

.walkdown-street-view-panel .walkdown-street-view-canvas {
  display: none;
}

.walkdown-street-view-panel iframe {
  display: block;
}

.walkdown-street-view-panel.is-js-ready .walkdown-street-view-canvas {
  display: block;
}

.walkdown-street-view-panel.is-js-ready iframe {
  display: none;
}

.walkdown-street-view-unavailable {
  display: grid;
  place-content: center;
  gap: 8px;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--muted);
  padding: 18px;
  text-align: center;
}

.walkdown-street-view-unavailable strong {
  color: var(--ink);
}

.walkdown-street-view-unavailable small {
  color: var(--muted);
  line-height: 1.35;
}

.walkdown-street-view-status {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.city-context-map iframe {
  aspect-ratio: 1 / 1;
  height: auto;
}

.map-links,
.permit-links {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.map-links a,
.permit-links a,
.source-list a,
.overview-point-list a,
.lookup-table a,
.project-detail-table a,
#project-table a {
  color: var(--accent);
  font-weight: var(--weight-semibold);
}

.project-list-status {
  margin: 0;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-top: 0;
  background: color-mix(in srgb, var(--surface) 86%, var(--surface-2));
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-mobile-cards {
  display: none;
}

.project-mobile-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  text-decoration: none;
}

.project-mobile-card:hover,
.project-mobile-card:focus-visible {
  border-color: var(--accent);
  background: var(--accent-soft);
  outline: none;
}

.project-mobile-card:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);
}

.project-mobile-card-header {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.project-mobile-card-header strong,
.project-mobile-card-header span,
.project-mobile-card-location {
  min-width: 0;
  overflow-wrap: anywhere;
}

.project-mobile-card-header strong {
  color: var(--accent);
  font-size: 15px;
  line-height: 1.25;
}

.project-mobile-card-header span,
.project-mobile-card-location {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-mobile-card-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.project-mobile-card-meta span {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-mobile-card-meta b {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.project-mobile-card-flags {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.project-mobile-card-flags .project-list-check-chip {
  min-height: 32px;
  align-items: center;
}

.project-mobile-empty {
  padding: 14px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  text-align: center;
}

.project-list-title-link {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.project-list-title-link:hover,
.project-list-title-link:focus-visible {
  text-decoration: underline;
}

.map-links > a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 6px 9px;
  background: var(--surface);
  text-decoration: none;
}

.overview-map {
  position: relative;
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface-2);
  box-sizing: border-box;
}

.osm-overview,
.route-preview-map {
  aspect-ratio: 50 / 21;
  height: auto;
  min-height: 0;
}

.indot-verification-map {
  aspect-ratio: 25 / 8;
  height: auto;
  min-height: 0;
}

.lookup-result-section {
  border-color: var(--line);
}

.indot-verification.has-state-controlled-route,
.pole-report-environmental.has-environmental-hit,
.railroad-verification.has-railroad-hit {
  border: 2px solid var(--danger);
  border-radius: var(--radius);
}

.indot-verification {
  gap: 8px;
}

.indot-verification .overview-note {
  margin: 0;
}

.indot-header-distance {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-weight: bold;
}

.indot-verification .inventory-table-list,
.indot-verification .verification-map-grid,
.indot-verification .map-preview {
  gap: 6px;
}

.indot-verification .map-preview h3 {
  margin: 0;
}

.verification-distance-list {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
}

.verification-distance-list strong {
  color: var(--ink);
}

.verification-distance-list span {
  color: var(--muted);
}

.lookup-result-section + .lookup-result-section {
  margin-top: 0;
}

.overview-map iframe {
  display: block;
  width: 100%;
  height: 360px;
  border: 0;
  pointer-events: none;
}

.osm-tile {
  position: absolute;
  display: block;
  user-select: none;
}

.osm-reference-tile {
  z-index: 1;
  pointer-events: none;
}

.overview-marker-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.overview-connection-overlay,
.overview-connection-label-layer,
.overview-marker-leader-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.overview-marker-leader-overlay {
  z-index: 1;
}

.overview-connection-line {
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 1px 2px rgb(0 0 0 / 85%));
}

.overview-connection-line.is-dotted {
  stroke-dasharray: 2 7;
}

.overview-connection-line.is-continuation {
  stroke-dasharray: 2 7;
}

.overview-marker-leader {
  stroke: #ffffff;
  stroke-width: 1.6;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 1px 2px rgb(0 0 0 / 90%));
}

.overview-marker-leader.is-rail {
  stroke: rgb(255 255 255 / 82%);
  stroke-width: 1;
}

.overview-connection-label {
  position: absolute;
  transform: translate(-50%, -50%);
  padding: 2px 5px;
  border: 1px solid rgb(255 255 255 / 85%);
  border-radius: var(--radius);
  background: rgb(0 0 0 / 72%);
  color: #ffffff;
  font-size: 11px;
  font-weight: bold;
  white-space: nowrap;
}

.project-coordinate-span-length-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border: 1px solid rgb(15 118 110 / 72%);
  border-radius: 999px;
  background: rgb(255 255 255 / 94%);
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow:
    0 0 0 1px rgb(255 255 255 / 70%),
    0 2px 6px rgb(0 0 0 / 55%);
}

.project-coordinate-span-length-overlay {
  appearance: none;
  cursor: pointer;
  pointer-events: auto;
  transform-origin: center;
}

.project-coordinate-span-length-overlay.is-selected {
  border-color: rgb(245 158 11 / 86%);
  background: rgb(255 251 235 / 97%);
  box-shadow:
    0 0 0 2px rgb(245 158 11 / 34%),
    0 2px 7px rgb(0 0 0 / 58%);
}

.project-coordinate-span-angle-label {
  padding: 2px 6px;
  border: 1px solid rgb(245 158 11 / 78%);
  border-radius: 999px;
  background: rgb(255 251 235 / 96%);
  color: #111827;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
  box-shadow:
    0 0 0 1px rgb(255 255 255 / 72%),
    0 2px 6px rgb(0 0 0 / 50%);
}

.overview-pole-number-callout {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 4;
  padding: 2px 6px;
  border: 1px solid rgb(255 255 255 / 86%);
  border-radius: var(--radius);
  background: rgb(15 23 42 / 76%);
  color: #ffffff;
  font-size: 11px;
  font-weight: bold;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgb(0 0 0 / 70%);
}

.overview-marker-anchor {
  position: absolute;
  z-index: 2;
  width: 12px;
  height: 12px;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #c92a2a;
  box-shadow: 0 1px 4px rgb(0 0 0 / 85%);
}

.overview-marker-anchor.is-rail {
  width: 6px;
  height: 6px;
  border-width: 1px;
  background: #ffffff;
}

.overview-marker-anchor.is-unlabeled {
  width: 12px;
  height: 12px;
}

.overview-marker-label {
  position: absolute;
  z-index: 3;
  min-width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  border: 1px solid rgb(255 255 255 / 88%);
  border-radius: 999px;
  padding: 0 6px;
  background: rgb(246 248 250 / 94%);
  color: #1f2933;
  font-weight: bold;
  line-height: 1;
  box-shadow: 0 1px 4px rgb(0 0 0 / 70%);
}

.overview-marker-label.is-compact {
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  font-size: 12px;
}

.overview-marker-label.is-rail {
  min-width: 24px;
  height: 20px;
  padding: 0 5px;
  font-size: 12px;
  box-shadow: 0 1px 4px rgb(0 0 0 / 75%);
}

.overview-marker {
  position: absolute;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #c92a2a;
  color: #ffffff;
  font-weight: bold;
}

.overview-marker-label.is-permit-issue,
.overview-marker-anchor.is-permit-issue,
.project-permitting-map-summary .is-permit-issue,
.project-permitting-map-legend .is-permit-issue {
  background: #d97706;
  color: #ffffff;
}

.overview-marker-label.is-permit-multiple,
.overview-marker-anchor.is-permit-multiple,
.project-permitting-map-summary .is-permit-multiple,
.project-permitting-map-legend .is-permit-multiple {
  background: #dc2626;
  color: #ffffff;
}

.overview-marker-label.is-permit-watch,
.overview-marker-anchor.is-permit-watch,
.project-permitting-map-summary .is-permit-watch,
.project-permitting-map-legend .is-permit-watch {
  background: #64748b;
  color: #ffffff;
}

.overview-marker-label.is-permit-clear,
.overview-marker-anchor.is-permit-clear,
.project-permitting-map-summary .is-permit-clear,
.project-permitting-map-legend .is-permit-clear {
  background: #15803d;
  color: #ffffff;
}

.overview-marker-label.is-permit-muted,
.overview-marker-anchor.is-permit-muted,
.project-permitting-map-summary .is-permit-muted,
.project-permitting-map-legend .is-permit-muted {
  background: #64748b;
  color: #ffffff;
}

.overview-detail-map-grid {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.overview-detail-map {
  display: grid;
  gap: 6px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.overview-detail-map-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
}

.overview-detail-map-heading span {
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 11px;
  font-weight: bold;
}

.overview-detail-map-heading strong {
  color: var(--ink);
}

.overview-detail-map .overview-map {
  width: 100%;
  aspect-ratio: 50 / 21;
  justify-self: stretch;
}

.overview-distance-table-wrap {
  display: grid;
  gap: 6px;
  margin-top: 12px;
}

.overview-distance-table-wrap h3 {
  margin: 0;
  font-size: 14px;
}

.overview-distance-table {
  margin: 0;
}

.indot-verification-map {
  height: 320px;
}

.verification-map-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.inventory-table-list {
  display: grid;
  gap: 10px;
}

.inventory-attribute-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid var(--line);
}

.inventory-attribute-table caption {
  padding: var(--table-caption-padding);
  text-align: left;
  font-weight: bold;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}

.inventory-attribute-table th,
.inventory-attribute-table td {
  padding: var(--table-cell-padding);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: left;
}

.inventory-attribute-table th {
  color: var(--muted);
  background: var(--surface-2);
}

.inventory-attribute-table tbody tr:last-child td {
  border-bottom: 0;
}

.indot-route-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.indot-route-line {
  stroke: #00a3ff;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}

.indot-distance-line {
  stroke: #ffff00;
  stroke-dasharray: 4 3;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.railroad-route-line {
  stroke: #ff2f2f;
  stroke-width: 1.6;
  vector-effect: non-scaling-stroke;
}

.railroad-distance-line {
  stroke: #ffcc00;
  stroke-dasharray: 4 3;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.indot-label-leader {
  stroke: #ffffff;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.indot-pole-marker {
  background: #c92a2a;
}

.indot-route-marker {
  background: #0067b1;
}

.railroad-route-marker {
  width: 34px;
  background: var(--danger);
  font-size: 11px;
}

.route-preview-map {
  height: 420px;
}

.route-preview-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.route-preview-line {
  fill: none;
  stroke: var(--accent);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.route-stop-marker {
  background: var(--accent);
  font-size: 12px;
}

.map-legend {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 4;
  display: grid;
  gap: 3px;
  max-width: min(520px, calc(100% - 16px));
  padding: 6px 8px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 3px;
  background: rgba(22, 22, 22, 0.82);
  color: #ffffff;
  font-size: 12px;
  line-height: 1.25;
}

.map-legend strong {
  color: #ffffff;
}

.map-distance-badge {
  width: fit-content;
  padding: 3px 6px;
  border: 1px solid #ffffff;
  border-radius: var(--radius);
  background: #ffffff;
  color: #111111;
  font-size: 13px;
  font-weight: bold;
}

.indot-route-label {
  position: absolute;
  z-index: 3;
  transform: translate(-50%, -50%);
  max-width: 180px;
  padding: 3px 6px;
  border: 1px solid #ffffff;
  border-radius: 3px;
  background: #0067b1;
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.osm-attribution {
  position: absolute;
  right: 6px;
  bottom: 6px;
  z-index: 5;
  padding: 2px 5px;
  background: rgba(255, 255, 255, 0.85);
  color: #222222;
  font-size: 11px;
}

.overview-point-list {
  margin: 0;
  padding: 10px 10px 10px 28px;
}

.copy-box {
  width: 100%;
  min-height: 180px;
  resize: vertical;
  font-family: Consolas, "Courier New", monospace;
  font-size: 13px;
}

.source-list {
  margin: 0;
  padding-left: 18px;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--table-body-font-size);
  line-height: var(--table-line-height);
}

#project-table {
  width: max(100%, var(--project-list-min-width, 1040px));
  min-width: 0;
  table-layout: fixed;
}

#project-table th,
#project-table td {
  width: 124px;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  vertical-align: top;
}

#project-table .project-list-sort-button {
  display: inline-flex;
  width: 100%;
  min-height: 24px;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: var(--weight-semibold);
  line-height: inherit;
  text-align: left;
  cursor: pointer;
}

#project-table .project-list-sort-button span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

#project-table .project-list-sort-indicator {
  position: relative;
  flex: 0 0 10px;
  width: 10px;
  height: 12px;
  opacity: 0.38;
}

#project-table .project-list-sort-indicator::before,
#project-table .project-list-sort-indicator::after {
  content: "";
  position: absolute;
  left: 2px;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

#project-table .project-list-sort-indicator::before {
  top: 1px;
  border-bottom: 4px solid currentColor;
}

#project-table .project-list-sort-indicator::after {
  bottom: 1px;
  border-top: 4px solid currentColor;
}

#project-table .project-list-sort-button.is-asc .project-list-sort-indicator::before,
#project-table .project-list-sort-button.is-desc .project-list-sort-indicator::after {
  opacity: 1;
}

#project-table .project-list-sort-button.is-asc .project-list-sort-indicator::after,
#project-table .project-list-sort-button.is-desc .project-list-sort-indicator::before {
  opacity: 0.18;
}

#project-table .project-list-sort-button:hover,
#project-table .project-list-sort-button:focus-visible {
  color: var(--accent);
}

#project-table .project-list-sort-button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 70%, transparent);
  outline-offset: 2px;
}

#project-table th[data-project-list-column-header] {
  position: relative;
  padding-right: 18px;
  cursor: grab;
}

#project-table th[data-project-list-column-header]:active {
  cursor: grabbing;
}

#project-table th[data-project-list-column-header].is-dragging {
  opacity: 0.55;
}

#project-table th[data-project-list-column-header].is-drop-target {
  box-shadow: inset 3px 0 0 var(--accent);
  background: var(--accent-soft);
}

#project-table th[data-project-list-column-header].is-drop-target.is-drop-after {
  box-shadow: inset -3px 0 0 var(--accent);
}

#project-table .project-list-column-resize {
  position: absolute;
  top: 0;
  right: -5px;
  bottom: 0;
  z-index: 6;
  width: 10px;
  cursor: ew-resize;
  touch-action: none;
}

#project-table .project-list-column-resize::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 4px;
  bottom: 6px;
  width: 2px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 50%, transparent);
  opacity: 0;
}

#project-table .project-list-column-resize:hover::after,
#project-table .project-list-column-resize:focus-visible::after {
  opacity: 1;
}

#project-table .project-list-column-resize:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 70%, transparent);
  outline-offset: -2px;
}

body.is-project-column-resizing {
  cursor: ew-resize;
  user-select: none;
}

body.is-project-column-resizing * {
  cursor: ew-resize !important;
}

.lookup-table .table-sort-button {
  display: inline-flex;
  width: 100%;
  min-height: 24px;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: var(--weight-semibold);
  line-height: inherit;
  text-align: left;
  text-transform: inherit;
  cursor: pointer;
}

.lookup-table .table-sort-button span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lookup-table .table-sort-indicator {
  position: relative;
  flex: 0 0 10px;
  width: 10px;
  height: 12px;
  opacity: 0.38;
}

.lookup-table .table-sort-indicator::before,
.lookup-table .table-sort-indicator::after {
  content: "";
  position: absolute;
  left: 2px;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.lookup-table .table-sort-indicator::before {
  top: 1px;
  border-bottom: 4px solid currentColor;
}

.lookup-table .table-sort-indicator::after {
  bottom: 1px;
  border-top: 4px solid currentColor;
}

.lookup-table .table-sort-button.is-asc .table-sort-indicator::before,
.lookup-table .table-sort-button.is-desc .table-sort-indicator::after {
  opacity: 1;
}

.lookup-table .table-sort-button.is-asc .table-sort-indicator::after,
.lookup-table .table-sort-button.is-desc .table-sort-indicator::before {
  opacity: 0.18;
}

.lookup-table .table-sort-button:hover,
.lookup-table .table-sort-button:focus-visible {
  color: var(--accent);
}

.lookup-table .table-sort-button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 70%, transparent);
  outline-offset: 2px;
}

#project-table .cell-value {
  overflow: hidden;
  min-width: 0;
  padding: var(--table-cell-padding);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-wbs-link {
  color: var(--accent);
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.project-wbs-link:hover,
.project-wbs-link:focus-visible {
  text-decoration: underline;
}

#project-table th[data-project-list-select],
#project-table td[data-project-list-select] {
  width: 52px;
  min-width: 52px;
  max-width: 52px;
  padding: 8px 10px;
  overflow: visible;
  text-align: center;
  vertical-align: middle;
}

.project-list-selection-cell input {
  display: inline-grid;
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  accent-color: var(--accent);
  cursor: pointer;
  vertical-align: middle;
}

#project-table th[data-field="title"],
#project-table td[data-field="title"] {
  width: 190px;
}

#project-table th[data-field="projectNumber"],
#project-table th[data-field="workOrderNumber"],
#project-table th[data-field="projectStatus"],
#project-table th[data-field="projectStage"],
#project-table td[data-field="projectNumber"],
#project-table td[data-field="workOrderNumber"],
#project-table td[data-field="projectStatus"],
#project-table td[data-field="projectStage"] {
  width: 106px;
}

#project-table th[data-field="workOrderNumber"],
#project-table td[data-field="workOrderNumber"] {
  width: 92px;
}

#project-table th[data-field="projectStage"],
#project-table td[data-field="projectStage"] {
  width: 108px;
}

#project-table th[data-field="projectSituation"],
#project-table td[data-field="projectSituation"] {
  width: 172px;
}

#project-table th[data-field="locationSummary"],
#project-table td[data-field="locationSummary"] {
  width: 220px;
}

#project-table th[data-field="poleCount"],
#project-table td[data-field="poleCount"] {
  width: 64px;
}

#project-table th[data-field="potentialIndotIssue"],
#project-table th[data-field="potentialRailroadIssue"],
#project-table th[data-field="potentialEnvironmentalIssue"],
#project-table td[data-field="potentialIndotIssue"],
#project-table td[data-field="potentialRailroadIssue"],
#project-table td[data-field="potentialEnvironmentalIssue"] {
  width: 72px;
  text-align: center;
}

#project-table th[data-field="potentialRailroadIssue"],
#project-table td[data-field="potentialRailroadIssue"] {
  width: 64px;
}

#project-table th[data-field="potentialEnvironmentalIssue"],
#project-table td[data-field="potentialEnvironmentalIssue"] {
  width: 76px;
}

#project-table th[data-field="potentialIndotIssue"],
#project-table th[data-field="potentialRailroadIssue"],
#project-table th[data-field="potentialEnvironmentalIssue"] {
  white-space: normal;
}

#project-table th[data-field="designStartDate"],
#project-table td[data-field="designStartDate"],
#project-table th[data-field="peerReviewDate"],
#project-table td[data-field="peerReviewDate"],
#project-table th[data-field="ifrDate"],
#project-table td[data-field="ifrDate"],
#project-table th[data-field="ifcDate"],
#project-table td[data-field="ifcDate"],
#project-table th[data-field="actualDesignStartDate"],
#project-table td[data-field="actualDesignStartDate"],
#project-table th[data-field="actualPeerReviewDate"],
#project-table td[data-field="actualPeerReviewDate"],
#project-table th[data-field="actualIfrDate"],
#project-table td[data-field="actualIfrDate"],
#project-table th[data-field="actualIfcDate"] {
  width: 104px;
}

#project-table th[data-field="ifrDate"],
#project-table td[data-field="ifrDate"],
#project-table th[data-field="ifcDate"],
#project-table td[data-field="ifcDate"],
#project-table th[data-field="actualIfrDate"],
#project-table td[data-field="actualIfrDate"],
#project-table th[data-field="actualIfcDate"],
#project-table td[data-field="actualIfcDate"] {
  width: 92px;
}

#project-table th[data-field="designStartDate"],
#project-table th[data-field="peerReviewDate"],
#project-table th[data-field="ifrDate"],
#project-table th[data-field="ifcDate"],
#project-table th[data-field="actualDesignStartDate"],
#project-table th[data-field="actualPeerReviewDate"],
#project-table th[data-field="actualIfrDate"],
#project-table th[data-field="actualIfcDate"] {
  white-space: normal;
}

#project-table td[data-field="potentialIndotIssue"] .cell-value,
#project-table td[data-field="potentialRailroadIssue"] .cell-value,
#project-table td[data-field="potentialEnvironmentalIssue"] .cell-value {
  display: flex;
  justify-content: center;
}

.project-list-check-chip {
  display: inline-flex;
  max-width: 100%;
  min-width: 56px;
  justify-content: center;
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
  color: var(--muted);
  font-size: 11px;
  font-weight: var(--weight-medium);
  line-height: 1.2;
}

.project-list-check-chip.is-clear {
  border-color: color-mix(in srgb, #167a35 30%, var(--line));
  background: color-mix(in srgb, #167a35 8%, var(--surface));
  color: var(--ink);
}

.project-list-check-chip.is-watch {
  border-color: color-mix(in srgb, var(--warn) 48%, var(--line));
  background: color-mix(in srgb, var(--warn) 14%, var(--surface));
  color: var(--ink);
}

.project-list-check-chip.is-review {
  border-color: color-mix(in srgb, var(--danger) 48%, var(--line));
  background: color-mix(in srgb, var(--danger) 12%, var(--surface));
  color: var(--ink);
}

.project-list-check-chip.is-muted {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--muted);
}

#project-table td[data-field="projectSituation"] .cell-value {
  white-space: normal;
}

#project-table th[data-project-list-actions],
#project-table .row-action-cell {
  width: 112px;
  text-align: center;
}

#project-table th:first-child,
#project-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  background: var(--surface);
  box-shadow: inset -1px 0 0 var(--line);
}

#project-table thead th:first-child {
  z-index: 5;
  background: var(--surface-2);
}

#project-table .row-action-cell {
  position: sticky;
  right: 0;
  z-index: 3;
  background: var(--surface);
  box-shadow: inset 1px 0 0 var(--line);
}

#project-table thead th[data-project-list-actions] {
  position: sticky;
  right: 0;
  z-index: 5;
  background: var(--surface-2);
  box-shadow: inset 1px 0 0 var(--line);
}

#project-table td[data-field="locationSummary"] .cell-value,
#project-table td[data-field="projectFilesLink"] .cell-value,
#project-table td[data-field="fieldDataLink"] .cell-value {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

#projects-view .project-list-section:not(.is-project-list-editing) #project-table tbody tr[data-id] {
  cursor: pointer;
}

#project-table tbody tr:hover td,
#project-table tbody tr:focus-within td {
  background: var(--surface-2);
}

#project-table tbody tr:hover .cell-value,
#project-table tbody tr:focus-within .cell-value {
  background: transparent;
}

.weather-table,
.lookup-table {
  min-width: 820px;
}

.lookup-table-scroll {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.lookup-table-scroll > .lookup-table,
.lookup-table-scroll > .weather-table {
  width: max-content;
  max-width: none;
}

.weather-results .weather-table {
  min-width: 760px;
  table-layout: fixed;
}

.weather-results .weather-table th,
.weather-results .weather-table td {
  padding: 4px 6px;
}

.weather-results .weather-table th:nth-child(1),
.weather-results .weather-table td:nth-child(1) {
  width: 116px;
}

.weather-results .weather-table th:nth-child(2),
.weather-results .weather-table td:nth-child(2) {
  width: 150px;
}

.weather-results .weather-table th:nth-child(4),
.weather-results .weather-table td:nth-child(4) {
  width: 88px;
}

.weather-results .weather-table th:nth-child(5),
.weather-results .weather-table td:nth-child(5) {
  width: 102px;
}

.weather-results .weather-table th:nth-child(6),
.weather-results .weather-table td:nth-child(6) {
  width: 126px;
}

.weather-results .weather-table th:nth-child(7),
.weather-results .weather-table td:nth-child(7) {
  width: 96px;
}

.city-county-table {
  min-width: 1380px;
}

.city-county-table th:nth-child(4),
.city-county-table td:nth-child(4),
.city-county-table th:nth-child(5),
.city-county-table td:nth-child(5) {
  min-width: 92px;
  white-space: nowrap;
}

.city-county-table th:nth-child(6),
.city-county-table td:nth-child(6) {
  min-width: 84px;
  white-space: nowrap;
}

.city-county-table th:nth-child(11),
.city-county-table td:nth-child(11),
.city-county-table th:nth-child(12),
.city-county-table td:nth-child(12) {
  min-width: 140px;
}

.city-county-table th:nth-child(13),
.city-county-table td:nth-child(13) {
  min-width: 180px;
}

.lookup-result-section .lookup-table,
.overview-section .lookup-table,
.weather-shell .weather-table {
  border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
}

.lookup-result-section .lookup-table th,
.overview-section .lookup-table th,
.weather-shell .weather-table th {
  background: color-mix(in srgb, var(--accent) 14%, var(--surface-2));
}

.lookup-result-section .lookup-table tbody tr:nth-child(even) td,
.lookup-result-section .lookup-table tbody tr:nth-child(even) th,
.overview-section .lookup-table tbody tr:nth-child(even) td,
.overview-section .lookup-table tbody tr:nth-child(even) th,
.weather-shell .weather-table tbody tr:nth-child(even) td,
.weather-shell .weather-table tbody tr:nth-child(even) th {
  background: color-mix(in srgb, var(--accent) 5%, var(--surface));
}

th,
td {
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: var(--table-header-padding);
  background: var(--surface-muted);
  color: var(--ink);
  font-size: 11.5px;
  font-weight: var(--weight-semibold);
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: uppercase;
}

td {
  font-weight: 400;
}

.history-table,
.lookup-table,
.weather-table,
.project-detail-table,
.project-pole-table,
.compact-database-table {
  font-size: var(--table-body-font-size);
  line-height: var(--table-line-height);
}

.history-table td,
.lookup-table td,
.weather-table td,
.project-detail-table td,
.project-pole-table td,
.compact-database-table td {
  font-weight: 400;
}

td {
  background: var(--surface);
}

.environmental-overview-results-table tbody th,
.environmental-overview-results-table tbody td,
.environmental-overview-results-table tbody tr:nth-child(even) th,
.environmental-overview-results-table tbody tr:nth-child(even) td,
.environmental-check-table tbody th,
.environmental-check-table tbody td,
.lookup-result-section .environmental-check-table tbody tr:nth-child(even) th,
.lookup-result-section .environmental-check-table tbody tr:nth-child(even) td {
  background: var(--surface);
}

.cell-value {
  display: block;
  min-height: var(--table-cell-min-height);
  min-width: 0;
  padding: var(--table-cell-padding);
  color: var(--ink);
  white-space: nowrap;
}

td[data-edit-cell] {
  cursor: default;
}

td[data-edit-cell]:hover {
  background: var(--surface-2);
}

td input,
td select {
  width: 100%;
  min-width: 110px;
  height: var(--table-input-height);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  padding: var(--table-input-padding);
}

td input:focus,
td select:focus {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
  background: var(--surface);
}

#project-table td[data-edit-cell] input,
#project-table td[data-edit-cell] select,
#project-table td[data-edit-cell] textarea {
  width: 100%;
  min-width: 120px;
}

#project-table td[data-field="title"] input,
#project-table td[data-field="programName"] input,
#project-table td[data-field="projectAddress"] input,
#project-table td[data-field="takeOffPoleAddress"] input,
#project-table td[data-field="woAddress"] input,
#project-table td[data-field="fieldDataLink"] input,
#project-table td[data-field="projectFilesLink"] input,
#project-table td[data-field="scopingDocumentLink"] input {
  min-width: 180px;
}

#project-table td[data-field="note"] textarea {
  min-width: 220px;
  min-height: 72px;
  resize: vertical;
}

textarea,
.copy-box {
  resize: none !important;
  overflow-y: auto;
}

.lookup-table tbody th {
  position: static;
  width: var(--table-label-width);
  padding: var(--table-cell-padding);
}

.lookup-table tbody td:nth-child(2) {
  min-width: 260px;
}

.lookup-table td {
  padding: var(--table-cell-padding);
}

.project-permitting-pole-table {
  min-width: 920px;
  width: 100%;
  table-layout: fixed;
}

.project-permitting-pole-table tbody td:nth-child(2) {
  min-width: 0;
}

.environmental-overview-results-table tbody th,
.environmental-overview-results-table tbody td,
.environmental-overview-results-table tbody tr:nth-child(odd) th,
.environmental-overview-results-table tbody tr:nth-child(odd) td,
.environmental-overview-results-table tbody tr:nth-child(even) th,
.environmental-overview-results-table tbody tr:nth-child(even) td,
.environmental-check-table tbody th,
.environmental-check-table tbody td,
.environmental-check-table tbody tr:nth-child(odd) th,
.environmental-check-table tbody tr:nth-child(odd) td,
.environmental-check-table tbody tr:nth-child(even) th,
.environmental-check-table tbody tr:nth-child(even) td {
  background: var(--surface) !important;
}

.lookup-table tbody td:nth-child(2),
.lookup-table tbody td:nth-child(3) {
  padding-left: var(--table-cell-inline-padding, 6px);
  padding-right: var(--table-cell-inline-padding, 6px);
}

.compact-database-table {
  min-width: 720px;
  table-layout: fixed;
  font-size: var(--table-body-font-size);
  line-height: var(--table-line-height);
}

.compact-database-table th,
.compact-database-table td,
.compact-database-table tbody td:nth-child(2),
.compact-database-table tbody td:nth-child(3) {
  padding: var(--table-cell-padding);
}

.compact-database-table td:last-child {
  max-width: 420px;
  word-break: break-word;
}

.compact-database-table th:nth-child(1),
.compact-database-table td:nth-child(1) {
  width: 74px;
}

.compact-database-table th:nth-child(2),
.compact-database-table td:nth-child(2) {
  width: 76px;
}

.compact-database-table th:nth-child(3),
.compact-database-table td:nth-child(3) {
  width: 120px;
}

.compact-database-table th:nth-child(4),
.compact-database-table td:nth-child(4) {
  width: 96px;
}

.compact-database-table th:nth-child(5),
.compact-database-table td:nth-child(5) {
  width: 118px;
}

.county-gis-map-table {
  min-width: 980px;
}

.county-gis-map-table th:nth-child(1),
.county-gis-map-table td:nth-child(1) {
  width: 100px;
}

.county-gis-map-table th:nth-child(2),
.county-gis-map-table td:nth-child(2) {
  width: 88px;
}

.county-gis-map-table th:nth-child(3),
.county-gis-map-table td:nth-child(3) {
  width: 150px;
}

.county-gis-map-table th:nth-child(4),
.county-gis-map-table td:nth-child(4) {
  width: 150px;
}

.county-gis-map-table th:nth-child(5),
.county-gis-map-table td:nth-child(5) {
  width: 120px;
}

.equipment-reference-table {
  min-width: 1240px;
  font-size: 13px;
  line-height: 1.35;
}

.equipment-reference-table th:nth-child(1),
.equipment-reference-table td:nth-child(1) {
  width: 145px;
}

.equipment-reference-table th:nth-child(2),
.equipment-reference-table td:nth-child(2) {
  width: 120px;
}

.equipment-reference-table th:nth-child(3),
.equipment-reference-table td:nth-child(3) {
  width: 145px;
}

.equipment-reference-table th:nth-child(4),
.equipment-reference-table td:nth-child(4) {
  width: 135px;
}

.equipment-reference-table th:nth-child(5),
.equipment-reference-table td:nth-child(5) {
  width: 295px;
}

.equipment-reference-table th:nth-child(6),
.equipment-reference-table td:nth-child(6) {
  width: 260px;
}

.equipment-reference-table th:nth-child(7),
.equipment-reference-table td:nth-child(7) {
  width: 160px;
}

.formula-reference-shell {
  gap: 12px;
}

.conductor-reference-shell {
  gap: 12px;
}

.formula-reference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.conductor-reference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.formula-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.formula-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: var(--section-title-font-size);
  line-height: 1.25;
}

.formula-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.formula-list div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.formula-list div:first-child {
  padding-top: 0;
  border-top: 0;
}

.formula-list dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: var(--weight-bold);
  line-height: 1.25;
}

.formula-list dd {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.formula-card code,
.formula-table code {
  display: inline-block;
  max-width: 100%;
  padding: 1px 4px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
}

.formula-table {
  min-width: 0;
  width: 100%;
}

.formula-table tbody th,
.formula-table tbody td,
.formula-table tbody td:nth-child(2) {
  min-width: 0;
  padding: 7px 8px;
}

.formula-table tbody th {
  width: 42%;
}

.formula-mini-table {
  align-self: start;
}

.formula-mini-table caption {
  padding: 0 0 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: var(--weight-bold);
  text-align: left;
}

.formula-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.formula-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.conductor-card-wide {
  grid-column: 1 / -1;
}

.conductor-table {
  min-width: 0;
}

.conductor-table th,
.conductor-table td,
.conductor-table tbody td:nth-child(2),
.conductor-table tbody td:nth-child(3) {
  min-width: 0;
  vertical-align: top;
  white-space: normal;
}

@media (max-width: 760px) {
  .formula-reference-grid,
  .conductor-reference-grid {
    grid-template-columns: 1fr;
  }

  .formula-card,
  .conductor-card {
    padding: 12px;
  }
}

.training-site-layout {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-top: 14px;
}

.training-module-list {
  display: grid;
  gap: 8px;
  position: sticky;
  top: 12px;
}

.training-module-card {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
}

.training-module-card:hover,
.training-module-card.is-selected {
  border-color: var(--accent);
  background: var(--surface-2);
}

.training-module-card span,
.training-module-card small {
  display: block;
}

.training-module-card span {
  font-weight: 700;
}

.training-module-card small {
  margin-top: 4px;
  color: var(--muted);
}

.training-module-detail {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.training-module-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.training-panel-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
}

.training-panel-tab {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink);
  padding: 7px 12px;
  font-weight: 700;
  cursor: pointer;
}

.training-panel-tab:hover,
.training-panel-tab.is-selected {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.training-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.training-detail-grid article,
.training-lesson-panel,
.training-quiz-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
}

.training-detail-grid h3,
.training-lesson-panel h2,
.training-lesson-panel h3,
.training-lesson-panel h4 {
  margin-top: 0;
}

.training-lesson-panel {
  max-height: 680px;
  overflow: auto;
}

.training-markdown-table {
  margin: 10px 0 16px;
}

.training-quiz-list {
  display: grid;
  gap: 8px;
}

.training-quiz-card summary {
  cursor: pointer;
  font-weight: 700;
}

.training-term-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.training-term-cloud span {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  padding: 5px 9px;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 900px) {
  .training-site-layout,
  .training-detail-grid,
  .admin-api-key-status-grid {
    grid-template-columns: 1fr;
  }

  .training-module-list {
    position: static;
  }
}

.direct-term-match-section {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
}

.lookup-result-section .compact-overview-header {
  padding: 8px 10px;
}

.direct-term-match-table {
  min-width: 1240px;
  font-size: 13px;
  line-height: 1.35;
}

.direct-term-match-table th:nth-child(1),
.direct-term-match-table td:nth-child(1) {
  width: 145px;
}

.direct-term-match-table th:nth-child(2),
.direct-term-match-table td:nth-child(2) {
  width: 120px;
}

.direct-term-match-table th:nth-child(3),
.direct-term-match-table td:nth-child(3) {
  width: 145px;
}

.direct-term-match-table th:nth-child(4),
.direct-term-match-table td:nth-child(4) {
  width: 135px;
}

.direct-term-match-table th:nth-child(5),
.direct-term-match-table td:nth-child(5) {
  width: 295px;
}

.direct-term-match-table th:nth-child(6),
.direct-term-match-table td:nth-child(6) {
  width: 260px;
}

.direct-term-match-table th:nth-child(7),
.direct-term-match-table td:nth-child(7) {
  width: 160px;
}

.database-summary-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.database-summary-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  padding: 4px 8px;
  font-size: 12px;
}

.database-summary-chip strong {
  color: var(--text);
}

.deliverable-workflow-card {
  display: grid;
  gap: 12px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.deliverable-workflow-card span,
.deliverable-map-card span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.deliverable-workflow-card strong,
.deliverable-map-card strong {
  display: block;
  margin-top: 2px;
}

.deliverable-workflow-card pre {
  margin: 0;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
  font-size: 0.85rem;
  line-height: 1.35;
}

.deliverable-workflow-card ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
}

.deliverable-map-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.deliverable-map-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}

.deliverable-map-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.deliverable-map-card dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
}

.deliverable-map-card dd {
  margin: 2px 0 0;
  color: var(--text);
  font-size: 0.9rem;
}

.deliverable-field-table code {
  white-space: normal;
}

.provider-discovery-table {
  min-width: 980px;
}

.provider-discovery-table th:nth-child(1),
.provider-discovery-table td:nth-child(1) {
  width: 100px;
}

.provider-discovery-table th:nth-child(2),
.provider-discovery-table td:nth-child(2),
.provider-discovery-table th:nth-child(3),
.provider-discovery-table td:nth-child(3) {
  width: 130px;
}

.provider-discovery-table th:nth-child(4),
.provider-discovery-table td:nth-child(4) {
  width: 105px;
}

.provider-discovery-table th:nth-child(5),
.provider-discovery-table td:nth-child(5) {
  width: 300px;
}

.provider-discovery-table td:nth-child(1) strong,
.provider-discovery-table td:nth-child(1) small {
  display: block;
}

.provider-discovery-table td:nth-child(5) {
  color: var(--muted);
}

.row-action-cell {
  white-space: nowrap;
}

.row-edit,
.row-delete {
  display: inline;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-weight: bold;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.row-edit:focus-visible,
.row-delete:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.row-edit + .row-delete {
  margin-left: 12px;
}

.row-edit {
  color: var(--accent);
}

.row-delete {
  color: var(--danger);
}

.empty {
  padding: 18px;
  color: var(--muted);
  text-align: center;
}

.table-toolbar,
.news-panel-header,
.home-widget-header,
.overview-section > .overview-header,
.lookup-result-section > .overview-header,
.weather-header,
.history-header {
  border-color: var(--line);
  background: var(--surface);
}

.table-toolbar,
.news-panel-header,
.home-widget-header {
  padding: 10px 12px;
}

.overview-section > .overview-header,
.lookup-result-section > .overview-header,
.weather-header,
.history-header {
  margin: -12px -12px 10px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
}

.button.secondary,
.map-link-button,
.icon-button,
.tool-nav-arrow {
  background: var(--surface);
}

tbody th {
  background: color-mix(in srgb, var(--surface) 80%, var(--surface-2));
  color: var(--ink);
}

.history-table,
#project-table,
.lookup-table,
.weather-table,
.project-detail-table,
.project-pole-table,
.compact-database-table {
  border: 1px solid var(--line);
  background: var(--surface);
}

.history-table th,
.history-table td,
#project-table th,
#project-table td,
.lookup-table th,
.lookup-table td,
.weather-table th,
.weather-table td,
.project-detail-table th,
.project-detail-table td,
.project-pole-table th,
.project-pole-table td,
.compact-database-table th,
.compact-database-table td {
  border-color: var(--line);
}

.tool-card:hover,
.tool-card:focus-visible,
.history-item:hover,
.map-links > a:hover,
.map-link-button:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.report-run-form {
  border-color: var(--home-widget-border);
  background: var(--surface);
}

.report-run-form::before,
.report-run-form .lookup-form-actions {
  border-color: var(--line);
}

.report-run-form label,
.report-run-form .pole-report-checks legend {
  color: var(--muted);
}

.report-run-form textarea,
.report-run-form input,
.report-run-form select {
  border-color: var(--field-border);
  background: var(--field-bg);
}

.report-run-form .pole-report-checks {
  border-color: var(--line);
  background: var(--surface-2);
}

@media (max-width: 900px) {
  .page {
    padding-top: 10px;
  }

  .tool-footnote {
    width: 100%;
    max-width: 100%;
    max-height: none;
    margin: auto 0 0;
  }

  .dashboard-intro,
  .view-header,
  .table-toolbar,
  .weather-header,
  .overview-header,
  .history-header,
  .pole-section-header {
    align-items: stretch;
    flex-direction: column;
  }

  .overview-section > .overview-header,
  .lookup-result-section > .overview-header {
    grid-template-columns: 1fr;
  }

  .overview-section > .overview-header > .map-links,
  .lookup-result-section > .overview-header > .map-links {
    justify-content: flex-start;
  }

  .preview-grid,
  .context-map-grid,
  .verification-map-grid,
  .google-lookup-visual-grid,
  .admin-audit-filter-form,
  .admin-action-grid,
  .admin-insight-grid,
  .admin-insight-columns,
  .admin-recovery-summary,
  .admin-ai-instruction-columns,
  .widget-grid,
  .dashboard-header-band,
  .home-widget-row,
  .home-marketing-panel,
  .quick-launch-panel,
  .home-feet-inches-panel,
  .quick-launch-header,
  .quick-launch-body,
  .home-feet-inches-body,
  .lookup-form {
    grid-template-columns: 1fr;
  }

  .widget-span-1,
  .widget-span-2,
  .widget-span-3 {
    grid-column: 1 / -1;
  }

  .quick-launch-input,
  .reports-launch-input,
  .quick-launch-status,
  .quick-launch-actions,
  .quick-launch-body > .coordinate-file-import {
    grid-column: 1;
    grid-row: auto;
  }

  .quick-launch-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reports-launch-panel,
  .reports-action-grid {
    grid-template-columns: 1fr;
  }

  .reports-action-card {
    min-height: auto;
  }

  .category-hero-panel,
  .category-workspace-grid,
  .category-action-grid,
  .category-directory-grid,
  .category-group-grid {
    grid-template-columns: 1fr;
  }

  .category-hero-actions {
    justify-content: flex-start;
  }

  .category-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .category-action-card {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .category-list-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .category-list-copy small {
    overflow: visible;
    text-overflow: initial;
    white-space: normal;
  }

  .category-card-open {
    justify-self: start;
    grid-column: 2;
  }

  .category-list-row .category-card-open {
    grid-column: auto;
  }

  .category-activity-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
  }

  .home-marketing-actions {
    justify-content: flex-start;
  }

  .home-marketing-panel::after {
    background:
      linear-gradient(180deg, rgb(8 18 23 / 90%) 0%, rgb(8 18 23 / 78%) 62%, rgb(8 18 23 / 52%) 100%),
      linear-gradient(0deg, rgb(8 18 23 / 24%), rgb(8 18 23 / 24%));
  }

  .tool-list-header {
    display: none;
  }

  .tool-grid {
    column-count: 1;
  }

  .recent-project-list {
    grid-template-columns: 1fr;
  }

  #home-recent-projects {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  }

  .all-projects-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .recent-project-list-header {
    display: none;
  }

  .recent-project-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    align-items: start;
  }

  .recent-project-preview-item {
    grid-template-columns: minmax(160px, 0.9fr) minmax(0, 1fr);
  }

  .project-search-result-grid {
    grid-template-columns: 1fr;
  }

  .recent-project-preview-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    align-items: center;
  }

  .tool-card {
    grid-template-columns: 1fr;
    gap: 5px;
    align-items: start;
  }

  .tool-open {
    justify-self: start;
  }

  .summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .help-wiki {
    grid-template-columns: minmax(180px, 32vw) minmax(0, 1fr);
  }

  .help-authored-date {
    text-align: left;
  }

  .table-actions,
  .actions {
    align-items: stretch;
  }

  .table-actions .button,
  .table-actions .search {
    min-width: 0;
  }

  #project-detail-view .project-detail-header-action,
  #project-detail-view .project-detail-back-button {
    width: 100%;
    min-height: 46px;
  }

  .weather-tool-form {
    grid-template-columns: 1fr;
  }

  .weather-tool-form .button {
    justify-self: start;
  }

  .settings-group {
    grid-template-columns: 1fr;
  }

  .settings-fields-grid {
    grid-template-columns: 1fr;
  }

  .railroad-alert {
    grid-template-columns: 1fr;
  }

  .railroad-alert .map-links {
    justify-content: flex-start;
  }

  .document-review-summary-grid,
  .project-overview-ai-summary-grid,
  .document-review-finding-card dl {
    grid-template-columns: 1fr;
  }

  .project-risk-row {
    grid-template-columns: 1fr;
  }

  .project-risk-actions {
    justify-content: flex-start;
  }

  .project-info-inline-save {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .project-info-inline-save .project-properties-edit-actions {
    justify-content: stretch;
  }

  .project-info-inline-save .button,
  .project-info-inline-save .project-properties-save-status {
    width: 100%;
  }

  .project-main-overview-reference,
  .project-main-overview-grid,
  .project-main-overview-context,
  .project-main-overview-screening {
    grid-template-columns: 1fr;
  }

  .project-main-overview-summary {
    grid-template-columns: 1fr;
  }

  .project-main-overview-chips {
    justify-content: flex-start;
  }

  .project-main-overview-grid div + div {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .project-overview-map-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .project-overview-map-toolbar .map-links,
  .project-overview-map-toolbar .map-links.compact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .project-overview-map-toolbar .map-link-button {
    width: 100%;
  }

  .project-overview-map .osm-attribution {
    right: 4px;
    bottom: 4px;
    max-width: calc(100% - 8px);
    padding: 2px 4px;
    font-size: 10px;
    line-height: 1.2;
  }

  .overview-detail-map-grid {
    gap: 10px;
    overflow: hidden;
  }

  .overview-detail-map-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

}

@media (max-width: 760px) {
  .nav-tool-rail:not([hidden]) {
    display: none;
  }

  .nav-category-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
  }

  .nav-category-row .tab-button {
    width: 100%;
    min-height: 38px;
    padding: 8px 6px;
    white-space: normal;
  }

  .tool-footnote {
    width: 100%;
    max-height: none;
    margin: auto 0 0;
  }

  .dashboard-home,
  .lookup-shell {
    padding: 10px;
  }

  .help-wiki {
    grid-template-columns: 1fr;
  }

  .help-nav,
  .help-content {
    grid-column: 1;
  }

  .help-nav {
    top: 8px;
    z-index: 20;
    max-height: min(42vh, calc(100vh - 16px));
  }

  .table-wrap {
    max-height: none;
  }

  #projects-view > .project-list-section:not(.is-project-list-editing) .table-wrap {
    display: none;
  }

  #projects-view > .project-list-section:not(.is-project-list-editing) .project-list-bulk-bar {
    display: none;
  }

  #projects-view > .project-list-section:not(.is-project-list-editing) .project-mobile-cards {
    display: grid;
    gap: 10px;
    padding: 10px;
    border-right: 1px solid var(--line);
    border-left: 1px solid var(--line);
    background: var(--surface-2);
  }

  #projects-view > .project-list-section.is-project-list-editing .project-mobile-cards {
    display: none;
  }

  #projects-view > .project-list-section .table-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  #projects-view > .project-list-section .table-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .project-list-intro-panel {
    grid-template-columns: 1fr;
  }

  .project-list-intro-steps {
    grid-template-columns: 1fr;
  }

  .project-list-intro-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #projects-view > .project-list-section .table-actions .project-active-filter {
    grid-column: 1 / -1;
    order: 0;
    width: 100%;
  }

  #projects-view > .project-list-section .table-actions .project-active-filter button {
    min-height: 40px;
  }

  #projects-view > .project-list-section .table-actions .project-search {
    grid-column: 1 / -1;
    order: 1;
    width: 100%;
    margin-left: 0;
  }

  #projects-view > .project-list-section #add-row {
    grid-column: 1;
    order: 2;
    min-height: 44px;
  }

  #projects-view > .project-list-section .project-list-manage-toggle {
    display: inline-flex;
    grid-column: 2;
    order: 3;
    min-height: 44px;
  }

  #projects-view > .project-list-section .project-list-manage-controls {
    display: none;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    order: 4;
  }

  #projects-view > .project-list-section .table-actions.is-manage-open .project-list-manage-controls {
    display: grid;
  }

  #projects-view > .project-list-section .table-actions .button,
  #projects-view > .project-list-section .table-actions .action-dropdown {
    min-width: 0;
    min-height: 44px;
    width: 100%;
  }

  #projects-view > .project-list-section .table-actions .button {
    padding-right: 8px;
    padding-left: 8px;
  }

  #projects-view > .project-list-section #clear-completed {
    grid-column: 1 / -1;
  }

  .project-map-gallery-section .table-toolbar,
  #project-map-view > .project-single-map-section .table-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
  }

  .project-map-gallery-section .table-toolbar > div:first-child,
  .project-map-gallery-section .table-actions,
  #project-map-view > .project-single-map-section .table-toolbar > div:first-child,
  #project-map-view > .project-single-map-section .table-actions {
    min-width: 0;
    width: 100%;
  }

  .project-map-gallery-section .table-actions,
  #project-map-view > .project-single-map-section .table-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    flex: none;
    align-items: stretch;
  }

  .project-map-gallery-section .table-actions .project-active-filter,
  .project-map-gallery-section .table-actions .all-projects-search,
  .project-map-gallery-section .all-projects-basemap-control,
  #project-map-view > .project-single-map-section .table-actions .project-active-filter,
  #project-map-view > .project-single-map-section .table-actions .all-projects-search,
  #project-map-view > .project-single-map-section .all-projects-basemap-control {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
  }

  .project-map-gallery-section .table-actions .project-active-filter,
  #project-map-view > .project-single-map-section .table-actions .project-active-filter {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .project-map-gallery-section .table-actions .project-active-filter button,
  #project-map-view > .project-single-map-section .table-actions .project-active-filter button {
    min-height: 40px;
  }

  .project-map-gallery-section .all-projects-basemap-control,
  #project-map-view > .project-single-map-section .all-projects-basemap-control {
    display: grid;
  }

  .project-map-gallery-section .table-actions .button,
  .project-map-gallery-section .table-actions .map-link-button,
  .project-map-gallery-section .table-actions .all-projects-search,
  #project-map-view > .project-single-map-section .table-actions .button,
  #project-map-view > .project-single-map-section .table-actions .map-link-button,
  #project-map-view > .project-single-map-section .table-actions .all-projects-search {
    width: 100%;
    max-width: none;
  }

  .project-properties-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .project-properties-edit-actions {
    justify-content: flex-start;
  }

  .project-properties-edit-actions .button,
  .project-properties-edit-actions .action-dropdown {
    width: 100%;
  }

  .project-map-gallery-section .table-actions,
  #project-map-view > .project-single-map-section .table-actions {
    min-width: 0;
    width: 100%;
  }

  .project-detail-content {
    gap: 10px;
    padding: 6px;
  }

  .project-detail-layout {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .project-detail-main,
  .project-detail-sidebar {
    gap: 8px;
  }

  .project-detail-main {
    order: -1;
  }

  .project-detail-sidebar {
    position: static;
  }

  .project-detail-subnav {
    position: sticky;
    top: 126px;
    z-index: 30;
    margin-right: -8px;
    margin-left: -8px;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    background: color-mix(in srgb, var(--surface) 96%, transparent);
    backdrop-filter: blur(10px);
    scrollbar-width: none;
  }

  .project-detail-subnav::-webkit-scrollbar {
    display: none;
  }

  .project-detail-subnav :is(a, button, .is-disabled) {
    min-height: 36px;
    padding: 8px 11px;
    white-space: nowrap;
  }

  #project-detail-view .lookup-result-section {
    gap: 8px;
    padding: 8px;
    border-left-width: 3px;
  }

  #project-detail-view .lookup-result-section > .overview-header {
    margin: -8px -8px 0;
    padding: 8px 10px;
  }

  .project-detail-field-col {
    width: 42%;
  }

  .project-detail-table th,
  .project-detail-table td {
    padding: 6px 7px;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .project-detail-table th:nth-child(1),
  .project-detail-table td:nth-child(1) {
    white-space: normal;
  }

  .project-property-meta {
    margin-top: 2px;
    font-size: 9px;
    line-height: 1.2;
  }

  .project-detail-main > .lookup-result-section > .project-detail-table,
  .project-detail-main > .lookup-result-section > .project-detail-table > tbody,
  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr,
  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr > th,
  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr > td {
    display: block;
    width: 100%;
  }

  .project-detail-main > .lookup-result-section > .project-detail-table {
    border: 1px solid var(--line);
  }

  .project-detail-main > .lookup-result-section > .project-detail-table > colgroup,
  .project-detail-main > .lookup-result-section > .project-detail-table > thead {
    display: none;
  }

  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr + tr {
    border-top: 1px solid var(--line);
  }

  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr > th,
  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr > td {
    border: 0;
    white-space: normal;
  }

  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr > th {
    padding-bottom: 4px;
    background: var(--surface-2);
  }

  .project-detail-main > .lookup-result-section > .project-detail-table > tbody > tr > td {
    padding-top: 8px;
    overflow-wrap: anywhere;
  }

  .project-pole-info-linkbar {
    align-items: stretch;
    flex-direction: column;
  }

  .project-pole-info-linkbar .map-links {
    justify-content: flex-start;
  }

  .project-pole-property-card-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-pole-inspector-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-pole-inspector-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-pole-inspector-detail-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-pole-inspector-items {
    grid-auto-flow: column;
    grid-auto-columns: minmax(180px, 1fr);
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding-right: 0;
    padding-bottom: 4px;
  }

  .project-pole-preview-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .project-pole-map-heading-actions {
    justify-content: flex-start;
  }

  .project-pole-map-mode-toggle {
    width: max-content;
  }

  .project-pole-preview-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-county-gis-reference {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .project-county-gis-reference .map-links {
    justify-content: flex-start;
  }

  .project-permitting-type-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-pole-table-wrap,
  .project-permitting-pole-table-wrap,
  .mobile-table-scroll,
  .table-wrap,
  .weather-table-wrap {
    margin-right: -8px;
    margin-left: -8px;
    border-radius: 0;
    scroll-padding-left: 8px;
  }

  .lookup-result-section > .lookup-table,
  .overview-section > .lookup-table,
  .project-county-gis-section > .lookup-table,
  .project-permitting-poles > .lookup-table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
  }

  .lookup-result-section.project-tool-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .project-tools-header span {
    white-space: normal;
  }

  .project-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-resource-cards {
    grid-template-columns: 1fr;
  }

  .project-permitting-status-board,
  .project-permitting-summary-grid,
  .project-permitting-report-actions,
  .project-permitting-coverage-grid,
  .environmental-exec-summary {
    grid-template-columns: 1fr;
  }

  .project-permitting-report-actions .project-run-report-button,
  .project-permitting-coverage-card .map-link-button {
    width: 100%;
  }

  .project-permitting-coverage-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .project-permitting-coverage-footer {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .project-insight-checks {
    grid-template-columns: 1fr;
  }

  .project-insight-check {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .project-insight-rerun {
    grid-column: 1;
  }
}

@media (max-width: 560px) {
  :root {
    --shell-padding: 6px;
    --section-gap: 6px;
  }

  .topbar,
  .global-tool-disclaimer,
  .page {
    width: 100%;
  }

  .page {
    padding: 0;
  }

  input,
  select,
  textarea,
  .search {
    font-size: 16px;
  }

  h1 {
    font-size: 21px;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    width: 100%;
    padding: 8px 8px 10px;
    border-bottom: 1px solid var(--topbar-divider);
    border-radius: 0;
    background: var(--surface-muted);
  }

  .dashboard-home,
  .lookup-shell,
  .table-shell {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .utility-actions {
    position: static;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    z-index: 80;
    width: auto;
    max-width: none;
  }

  .app-footer {
    width: calc(100vw - 16px);
    margin-top: calc(-1 * var(--section-gap) - 1px);
    padding: 8px 10px;
  }

  .utility-menu-toggle {
    position: relative;
    z-index: 2;
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: var(--control-radius);
    background: var(--surface);
    color: var(--ink);
    cursor: pointer;
    box-shadow: var(--shadow);
  }

  .utility-menu-toggle::before {
    display: block;
    width: 16px;
    height: 12px;
    background:
      linear-gradient(currentColor, currentColor) 0 0 / 100% 2px no-repeat,
      linear-gradient(currentColor, currentColor) 0 5px / 100% 2px no-repeat,
      linear-gradient(currentColor, currentColor) 0 10px / 100% 2px no-repeat;
    content: "";
  }

  .utility-menu-toggle:hover,
  .utility-menu-toggle:focus-visible {
    border-color: var(--accent);
    background: var(--accent-soft);
    outline: none;
  }

  .utility-menu-toggle:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .utility-menu-panel {
    position: fixed;
    inset: 0;
    display: none;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 10px;
    padding: calc(max(8px, env(safe-area-inset-top)) + 48px) 14px max(18px, env(safe-area-inset-bottom));
    border: 0;
    border-radius: 0;
    background: var(--surface-muted);
    box-shadow: none;
  }

  .utility-actions.is-open .utility-menu-panel {
    display: grid;
  }

  html.utility-menu-open,
  body.utility-menu-open {
    overflow: hidden;
    overscroll-behavior: none;
  }

  .utility-actions .utility-link,
  .utility-actions .button {
    width: 100%;
    max-width: none;
    min-height: 48px;
    padding: 12px 14px;
    font-size: 15px;
    white-space: nowrap;
  }

  .utility-status-stack {
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    justify-items: stretch;
    pointer-events: auto;
  }

  .utility-status-stack .workspace-status {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .local-copy-banner {
    position: relative;
    width: 100%;
    max-height: none;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
    margin-inline: 0;
    padding: 12px;
  }

  .local-copy-banner-label {
    display: none;
  }

  .local-copy-banner-track {
    grid-column: 1;
    overflow: visible;
    padding-right: 34px;
    font-size: 12px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .local-copy-sign-in {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 8px 10px;
    font-size: 13px;
    white-space: nowrap;
  }

  .local-copy-actions {
    grid-column: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }

  .local-copy-dismiss {
    position: absolute;
    top: 8px;
    right: 8px;
    grid-column: auto;
    width: 32px;
    height: 32px;
    border-color: transparent;
    background: transparent;
    font-size: 18px;
  }

  .disclaimer-dialog {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    border-radius: 8px;
    overflow: auto;
  }

  .disclaimer-modal {
    gap: 12px;
    padding: 16px;
  }

  .disclaimer-alert-heading {
    align-items: flex-start;
  }

  .disclaimer-alert-icon {
    width: 34px;
    height: 34px;
    font-size: 22px;
  }

  .disclaimer-modal h2 {
    font-size: 22px;
  }

  .disclaimer-modal p {
    font-size: 13px;
    line-height: 1.45;
  }

  .disclaimer-modal .button {
    width: 100%;
    justify-self: stretch;
  }

  .tool-footnote.is-dismissible {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    width: auto;
    margin-inline: 8px;
    min-height: 52px;
    padding: 10px 54px 10px 12px;
    text-align: left;
    font-size: 12px;
    line-height: 1.35;
  }

  .tool-footnote-dismiss {
    right: 8px;
    width: 40px;
    height: 40px;
    border-color: var(--line);
    background: var(--surface-2);
    font-size: 20px;
  }

  .main-menu,
  .actions,
  .table-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .nav-row {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }

  .nav-row::-webkit-scrollbar {
    display: none;
  }

  .nav-category-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-right: 0;
    padding-right: 0;
    overflow: visible;
  }

  .nav-category-row .tab-button {
    width: 100%;
    flex: initial;
    min-height: 36px;
    padding: 8px 6px;
    white-space: normal;
  }

  .brand-block {
    display: grid;
    gap: 2px;
    min-height: 36px;
    align-content: center;
    padding-right: 44px;
  }

  .topbar .brand-block h1 {
    font-size: 17px;
  }

  .topbar .brand-block .brand-subtitle {
    display: none;
  }

  .lookup-form .button,
  .report-run-form .lookup-form-actions .button,
  .report-lookup-form .lookup-form-actions .button,
  .coordinate-file-import .button {
    width: 100%;
  }

  .lookup-form-actions,
  .report-run-form .lookup-form-actions,
  .report-lookup-form .lookup-form-actions,
  .coordinate-file-import {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .overview-map iframe {
    min-height: 240px;
    height: 260px;
  }

  .map-links,
  .map-links.compact {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .map-links .map-link-button,
  .map-links .button,
  .map-links a {
    width: 100%;
  }

  #projects-view .table-wrap {
    margin-right: 0;
    margin-left: 0;
  }

  #project-table {
    min-width: 1040px;
  }

  #project-table th,
  #project-table td {
    width: 104px;
  }

  #project-table th[data-project-list-select],
  #project-table td[data-project-list-select] {
    width: 52px;
    min-width: 52px;
    max-width: 52px;
  }

  #project-table th[data-field="title"],
  #project-table td[data-field="title"] {
    width: 190px;
  }

  #project-table th[data-field="projectNumber"],
  #project-table th[data-field="workOrderNumber"],
  #project-table th[data-field="projectStatus"],
  #project-table td[data-field="projectNumber"],
  #project-table td[data-field="workOrderNumber"],
  #project-table td[data-field="projectStatus"] {
    width: 96px;
  }

  #project-table th[data-field="projectStage"],
  #project-table td[data-field="projectStage"] {
    width: 108px;
  }

  #project-table th[data-field="projectSituation"],
  #project-table td[data-field="projectSituation"] {
    width: 160px;
  }

  #project-table th[data-field="locationSummary"],
  #project-table td[data-field="locationSummary"] {
    width: 210px;
  }

  #project-table th[data-field="poleCount"],
  #project-table td[data-field="poleCount"] {
    width: 64px;
  }

  #project-table th[data-field="potentialIndotIssue"],
  #project-table th[data-field="potentialRailroadIssue"],
  #project-table th[data-field="potentialEnvironmentalIssue"],
  #project-table td[data-field="potentialIndotIssue"],
  #project-table td[data-field="potentialRailroadIssue"],
  #project-table td[data-field="potentialEnvironmentalIssue"] {
    width: 76px;
  }

  #project-table th[data-project-list-actions],
  #project-table .row-action-cell {
    width: 96px;
  }

  #project-table .cell-value {
    padding: var(--table-cell-padding);
  }

  .nav-tool-row {
    display: flex;
    grid-template-columns: none;
    flex-wrap: nowrap;
  }

  .news-panel-header {
    display: grid;
    grid-template-columns: 1fr;
  }

  .news-resource-links {
    justify-content: flex-start;
    margin-left: 0;
    white-space: normal;
  }

  .news-item {
    grid-template-columns: minmax(0, 1fr) max-content;
  }

  #home-recent-projects {
    grid-template-columns: 1fr;
  }

  .all-projects-gallery {
    grid-template-columns: 1fr;
  }

  .recent-project-preview-item {
    grid-template-columns: 1fr;
  }

  .recent-project-preview-image {
    min-height: 0;
  }

  .summary {
    grid-template-columns: 1fr;
  }

  .project-view-switcher {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    justify-self: stretch;
    width: auto;
    margin: 0;
  }

  .project-view-switcher a {
    min-height: 44px;
    padding: 9px 10px;
    font-size: 13px;
    line-height: 1.2;
  }

  .project-view-description {
    display: grid;
    gap: 4px;
    margin-top: 6px;
  }

  .project-view-description .tool-header-note {
    margin: 2px 0 0;
    min-height: calc(2 * 1.45em);
  }

  .project-view-description.is-collapsed .tool-header-note {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .project-view-description-toggle {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-self: start;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: var(--weight-semibold);
  }

  .project-view-description-toggle.is-hidden {
    visibility: hidden;
    pointer-events: none;
  }

  .project-view-description-toggle:focus-visible {
    border-radius: 4px;
    outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
    outline-offset: 2px;
  }

  .project-list-heading-row {
    grid-template-columns: 1fr;
  }

  .project-single-map-layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .project-single-map {
    min-height: 420px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .project-map-list {
    max-height: none;
  }

  .button,
  .tab-button,
  .lookup-form .button {
    width: 100%;
  }

  .project-map-gallery-section .all-projects-basemap-control,
  .project-map-gallery-section .table-actions .button,
  .project-map-gallery-section .table-actions .map-link-button,
  .project-map-gallery-section .table-actions .all-projects-search,
  .project-map-gallery-section .table-actions .project-active-filter,
  #project-map-view > .project-single-map-section .all-projects-basemap-control,
  #project-map-view > .project-single-map-section .table-actions .button,
  #project-map-view > .project-single-map-section .table-actions .map-link-button,
  #project-map-view > .project-single-map-section .table-actions .all-projects-search,
  #project-map-view > .project-single-map-section .table-actions .project-active-filter,
  #projects-view .table-actions .project-active-filter {
    width: 100%;
    max-width: none;
  }

  .segmented-control {
    justify-content: stretch;
  }

  .segmented-control button,
  .segmented-control a {
    flex: 1 1 0;
  }

  .dialog-header,
  .dialog-actions,
  .project-file-import,
  .coordinate-file-import,
  .lookup-form-actions,
  .map-links,
  .permit-links {
    align-items: stretch;
    flex-direction: column;
  }

  .map-links a,
  .permit-links a,
  .map-link-button {
    width: 100%;
    justify-content: center;
  }

  .matting-estimate-grid,
  .matting-estimate-summary {
    grid-template-columns: 1fr;
  }

  .back-to-top {
    right: 10px;
    bottom: 10px;
    min-width: 104px;
    min-height: 38px;
  }

  .tool-footnote {
    width: 100%;
    max-height: none;
    margin: auto 0 0;
    font-size: 11px;
  }

  .app-toast {
    bottom: 142px;
  }

  .ruling-span-options,
  .ruling-span-summary {
    grid-template-columns: 1fr;
  }

  .overview-map iframe {
    height: 280px;
  }
}

@media (max-width: 420px) {
  .utility-menu-panel {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media print {
  @page {
    size: letter;
    margin: 0.35in;
  }

  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
    color: #111827 !important;
    font-size: 9.2pt;
    line-height: 1.22;
  }

  body {
    padding: 0 !important;
  }

  a {
    color: #1f2937 !important;
    text-decoration: none;
  }

  .topbar,
  .global-tool-disclaimer,
  .local-copy-banner,
  .app-footer,
  .back-to-top,
  .app-toast,
  .app-prompt,
  .disclaimer-dialog,
  .report-results-nav,
  .current-report-action-panel,
  .lookup-form,
  .report-run-form,
  .lookup-history-shell,
  .tool-footnote,
  .overview-header > .map-links,
  .pole-section-header > .map-links,
  .walkdown-filter-bar,
  .walkdown-check-actions,
  .report-only-actions,
  .current-report-details-shell:empty {
    display: none !important;
  }

  .page,
  .topbar,
  .global-tool-disclaimer {
    width: auto !important;
    margin: 0 !important;
  }

  .view-section,
  .view-section.is-active,
  .lookup-shell,
  .table-shell,
  .dashboard-home,
  .lookup-results,
  .weather-results,
  .report-results-layout,
  .report-results-main,
  .lookup-list,
  .pole-detail-content,
  .weather-detail-content {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
  }

  .report-only-content,
  .report-only-shell,
  .report-only-body {
    display: block !important;
    gap: 0 !important;
  }

  .view-section:not(.is-active) {
    display: none !important;
  }

  .table-toolbar {
    display: block !important;
    margin: 0 0 0.18in !important;
    padding: 0 0 0.12in !important;
    border: 0 !important;
    border-bottom: 2px solid #111827 !important;
    background: transparent !important;
    color: #111827 !important;
    page-break-after: avoid;
  }

  .table-toolbar .table-actions,
  .table-toolbar .button,
  .table-toolbar .map-link-button,
  .table-toolbar input,
  .table-toolbar select {
    display: none !important;
  }

  .dashboard-page-title h2,
  .table-toolbar h2,
  .table-toolbar h3 {
    color: #111827 !important;
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }

  .eyebrow,
  .table-toolbar .eyebrow {
    color: #4b5563 !important;
    font-size: 8pt !important;
    letter-spacing: 0.08em !important;
  }

  .tool-header-note,
  .workspace-status,
  .overview-note,
  .table-toolbar p {
    color: #374151 !important;
  }

  .overview-section,
  .lookup-result-section,
  .weather-shell,
  .lookup-sources,
  .report-findings-section,
  .environmental-findings-panel,
  .environmental-source-coverage {
    display: block !important;
    margin: 0 0 0.1in !important;
    padding: 0.1in !important;
    border: 1px solid #cbd5e1 !important;
    border-left: 1px solid #cbd5e1 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #111827 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .lookup-result-section {
    break-inside: auto;
    page-break-inside: auto;
  }

  .overview-header,
  .weather-header,
  .history-header,
  .pole-section-header,
  .report-register-header {
    display: block !important;
    margin: -0.1in -0.1in 0.08in !important;
    padding: 0.07in 0.1in !important;
    border: 0 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    color: #111827 !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  .overview-header span,
  .weather-header span,
  .history-header span,
  .pole-section-header span,
  .report-register-header span {
    color: #111827 !important;
    font-size: 10pt !important;
    font-weight: 800 !important;
  }

  .overview-header strong,
  .weather-header strong,
  .history-header strong,
  .pole-section-header strong,
  .report-register-header strong {
    color: #374151 !important;
    font-size: 9pt !important;
  }

  .overview-header small,
  .weather-header small,
  .history-header small,
  .pole-section-header small {
    color: #4b5563 !important;
    font-size: 8pt !important;
  }

  .report-only-header {
    display: block !important;
    margin: 0 0 0.1in !important;
    padding: 0 0 0.08in !important;
    border: 0 !important;
    border-bottom: 2px solid #111827 !important;
    background: #ffffff !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  .report-only-header h2 {
    margin: 0.02in 0 !important;
    color: #111827 !important;
    font-size: 15pt !important;
    line-height: 1.1 !important;
  }

  .report-only-header p {
    color: #4b5563 !important;
    font-size: 8pt !important;
    margin: 0 !important;
  }

  .report-only-cover,
  .report-packet-summary {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .report-packet-summary {
    margin-bottom: 0.12in !important;
  }

  .report-only-shell .report-executive-summary {
    display: none !important;
  }

  #report-findings {
    break-after: page;
    page-break-after: always;
  }

  #report-map-overview,
  #walkdown-overview,
  .environmental-summary,
  .report-verification-details,
  .lookup-sources-summary,
  .report-data-sources {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #report-map-overview,
  #walkdown-overview,
  .environmental-summary,
  .report-print-source-context {
    break-before: page;
    page-break-before: always;
  }

  #report-map-overview,
  #walkdown-overview,
  .environmental-summary {
    break-after: page;
    page-break-after: always;
  }

  .report-print-pole-page,
  [id^="walkdown-pole-"] {
    break-before: page;
    page-break-before: always;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .report-print-pole-page > .pole-section-header,
  [id^="walkdown-pole-"] > .pole-section-header {
    break-after: avoid;
    page-break-after: avoid;
  }

  .pole-information-section,
  .indot-verification,
  .railroad-verification,
  .pole-report-environmental {
    break-inside: auto;
    page-break-inside: auto;
  }

  .pole-information-section {
    padding-bottom: 0.06in !important;
  }

  .pole-information-section .lookup-table th:first-child,
  .report-only-meta-table th,
  .report-packet-action-table th {
    width: 1.45in !important;
  }

  .report-summary-grid,
  .walkdown-overview-strip,
  .environmental-exec-summary {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.05in !important;
    margin: 0 0 0.08in !important;
  }

  .report-summary-card,
  .walkdown-overview-count,
  .environmental-exec-summary > div {
    padding: 0.06in !important;
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    color: #111827 !important;
    break-inside: avoid;
  }

  .report-summary-card span,
  .walkdown-overview-count span,
  .environmental-exec-summary span {
    color: #4b5563 !important;
    font-size: 6.8pt !important;
  }

  .report-summary-card strong,
  .walkdown-overview-count strong,
  .environmental-exec-summary strong {
    color: #111827 !important;
    font-size: 10.5pt !important;
  }

  .project-pole-table-wrap,
  .table-wrap,
  .mobile-table-scroll {
    overflow: visible !important;
  }

  table,
  .lookup-table,
  .project-pole-table,
  .report-findings-table,
  .environmental-check-table,
  .indot-route-table,
  .railroad-table,
  .weather-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 7.8pt !important;
    page-break-inside: auto;
  }

  thead {
    display: table-header-group;
  }

  tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  th,
  td {
    padding: 3px 4px !important;
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    color: #111827 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    vertical-align: top !important;
  }

  th,
  thead th {
    position: static !important;
    background: #e5eef4 !important;
    color: #111827 !important;
    font-size: 7.4pt !important;
    font-weight: 800 !important;
  }

  .cell-value,
  .report-pole-address,
  .project-property-meta,
  .lookup-table small,
  .project-pole-table small {
    color: #4b5563 !important;
    white-space: normal !important;
  }

  .report-status,
  .confidence,
  .walkdown-status-badge,
  .report-nav-hit-label {
    border: 1px solid #94a3b8 !important;
    background: #f8fafc !important;
    color: #111827 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .overview-map,
  .map-preview,
  .osm-overview,
  .route-preview-map {
    max-height: 2.35in !important;
    overflow: hidden !important;
    border: 1px solid #cbd5e1 !important;
    background-color: #f8fafc !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    break-inside: avoid;
  }

  .overview-map iframe,
  .map-preview iframe,
  .map-preview img {
    max-height: 2.2in !important;
    height: 2.2in !important;
  }

  .overview-map,
  .osm-overview,
  .route-preview-map,
  .indot-verification-map {
    aspect-ratio: auto !important;
    height: 2.15in !important;
    min-height: 0 !important;
  }

  .preview-grid,
  .walkdown-preview-grid,
  .environmental-preview-grid,
  .verification-map-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.06in !important;
  }

  .map-preview h3 {
    margin: 0 0 0.03in !important;
    font-size: 8pt !important;
  }

  .report-only-shell[data-report-view="pole-lookup"] .report-print-pole-page .overview-map,
  .report-only-shell[data-report-view="pole-lookup"] .report-print-pole-page .map-preview,
  .report-only-shell[data-report-view="road-inventory"] .report-print-pole-page .overview-map,
  .report-only-shell[data-report-view="road-inventory"] .report-print-pole-page .map-preview,
  .report-only-shell[data-report-view="railroad-lookup"] .report-print-pole-page .overview-map,
  .report-only-shell[data-report-view="railroad-lookup"] .report-print-pole-page .map-preview,
  .report-only-shell[data-report-view="environmental-checklist"] .report-print-pole-page .overview-map,
  .report-only-shell[data-report-view="environmental-checklist"] .report-print-pole-page .map-preview,
  .report-only-shell[data-report-view="environmental-checklist"] .report-print-pole-page .environmental-preview-grid {
    display: none !important;
  }

  .report-only-shell[data-report-workflow="project-autofill"] .report-print-pole-page {
    break-before: auto;
    page-break-before: auto;
  }

  .report-print-condensed {
    display: block !important;
  }

  .report-only-shell[data-report-view="pole-lookup"] .report-print-pole-page > .lookup-list {
    display: none !important;
  }

  .report-print-condensed-table th:first-child {
    width: 1.35in !important;
  }

  .walkdown-note-grid {
    display: grid !important;
    grid-template-columns: 1.8in minmax(0, 1fr) !important;
    gap: 0.06in !important;
  }

  .walkdown-note-grid > div,
  .walkdown-note-grid > label {
    padding: 0.06in !important;
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
  }

  .walkdown-notes-input {
    min-height: 0.55in !important;
    border: 1px solid #cbd5e1 !important;
    display: block !important;
  }

  .print-field-note {
    min-height: 0.4in;
    padding: 0.05in;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #111827;
    white-space: pre-wrap;
  }

  .osm-tile,
  .overview-marker-label,
  .overview-marker-anchor,
  .overview-marker-leader,
  .overview-connection-line,
  .overview-connection-distance,
  .environmental-feature-overlay,
  .environmental-buffer-ring,
  .environmental-buffer-point {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .source-list {
    columns: 2;
    padding-left: 0.16in !important;
  }

  .source-list li {
    break-inside: avoid;
    margin-bottom: 3px;
  }

  .button,
  button,
  input,
  select,
  textarea,
  .icon-button,
  .map-link-button,
  .action-dropdown,
  .action-dropdown-menu {
    display: none !important;
  }
}
