/* Brand overrides layered on top of vendored Bootstrap 5 (precompiled, so
   theming is done with CSS variables and targeted rules, not Sass). */

:root {
  --brand: #14532d;
  --brand-dark: #0f3f22;
  --error: #a32d2d;
  --bs-body-bg: #fafaf7;
  --bs-link-color-rgb: 20, 83, 45;
  --bs-link-hover-color-rgb: 15, 63, 34;
}

.bg-brand { background-color: var(--brand); }

.btn-primary {
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-bg: var(--brand-dark);
  --bs-btn-active-border-color: var(--brand-dark);
  --bs-btn-disabled-bg: var(--brand);
  --bs-btn-disabled-border-color: var(--brand);
}

.error { color: var(--error); }

/* Domain state colors used across list pages (training, routines, waste…). */
.state-current, .state-ok { color: var(--brand); }
.state-expiring, .state-due_soon { color: #854f0b; }
.state-expired, .state-overdue { color: var(--error); }
.state-never { color: #555; font-style: italic; }

/* Facility floorplans with measurement/risk markers (facilities, measurements,
   risk_assessments). Positioning is percentage-based on the image. */
.floorplan { position: relative; max-width: 720px; margin: 0.75rem 0; }
.floorplan img { width: 100%; display: block; border: 1px solid #ccc; }
.marker {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #fff;
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.marker.unmeasured { background: #a32d2d; }
.marker.measured { background: var(--brand); }
.marker.planned { background: #185fa5; }
.point-pick { background: none; border: none; color: #185fa5; text-decoration: underline; padding: 0; font-size: inherit; }
