/* Findings map (ACQ-59): plan page Findings mode and the project and run cards. */
.findings-panel { font-size: 13px; }
.findings-controls { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-bottom: 8px; }
.findings-controls > span:first-child { font-weight: 600; }
.findings-legend { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 2px 10px; font-size: 12px; margin-bottom: 6px; }
.findings-legend .plan-swatch { margin-right: 6px; vertical-align: -1px; }
.findings-note { font-size: 12px; margin: 4px 0 8px; }
.findings-side summary { cursor: pointer; font-weight: 600; margin-bottom: 4px; }
.findings-side ul { list-style: none; margin: 0; padding: 0; }
.findings-side-row { border-top: 1px solid var(--hx-border-soft, var(--hx-border)); padding: 6px 0; }
.findings-side-row .plan-chip { font-size: 11px; }
.findings-status-proposed .plan-chip:nth-of-type(2) { background: var(--hx-warn-soft); color: var(--hx-warn); }
.findings-status-accepted .plan-chip:nth-of-type(2) { background: var(--hx-ok-soft); color: var(--hx-ok-fg); }
.findings-status-rejected .plan-chip:nth-of-type(2) { background: var(--hx-fail-soft); color: var(--hx-fail); }

.findings-line-label {
  font-size: 11px; line-height: 1.2; padding: 2px 6px; border-radius: 4px; white-space: nowrap; pointer-events: none;
  background: color-mix(in srgb, var(--hx-card) 88%, transparent); color: var(--hx-fg); border: 1px dashed var(--hx-border);
}

.maplibregl-popup-content { background: var(--hx-card); color: var(--hx-fg); }
.findings-popup { font-size: 12.5px; max-width: 360px; }
.findings-popup p { margin: 4px 0; }
.findings-popup ul { margin: 4px 0 0; padding-left: 16px; }
.findings-popup a { color: var(--hx-accent-fg); }
.findings-forced { font-style: italic; }
.findings-status { font-weight: 600; }
.findings-status-proposed.findings-status { color: var(--hx-warn); }
.findings-status-accepted.findings-status { color: var(--hx-ok-fg); }
.findings-column { display: block; margin: 6px 0; color: var(--hx-fg); max-width: 100%; height: auto; }

.findings-card { margin-top: 16px; border: 1px solid var(--hx-border); border-radius: 8px; padding: 12px 14px; background: var(--hx-card); }
.findings-card h3 { margin: 0 0 2px; font-size: 15px; }
.findings-card-body { display: flex; gap: 12px; min-width: 0; }
.findings-card-mapwrap { flex: 0 0 62%; min-width: 0; position: relative; }
.findings-card-map { width: 100%; min-width: 0; height: 420px; position: relative; border: 1px solid var(--hx-border); border-radius: 6px; overflow: hidden; }

/* ACQ-59b: why no findings show. Sits over the map's top-left; the outline stays readable around it. */
.findings-empty {
  position: absolute; top: 10px; left: 10px; right: 10px; max-width: 420px; z-index: 2;
  background: color-mix(in srgb, var(--hx-card) 94%, transparent); color: var(--hx-fg);
  border: 1px solid var(--hx-border); border-radius: 6px; padding: 10px 12px; font-size: 13px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.findings-empty p { margin: 6px 0 0; }
.findings-empty a { color: var(--hx-accent-fg); }
.findings-empty code { font-size: 12px; }
.findings-empty .hx-btn { margin-top: 8px; }
.findings-empty-error { border-color: var(--hx-fail); }
.findings-card-body .findings-panel { flex: 1 1 auto; min-width: 0; max-height: 420px; overflow: auto; }

@media (max-width: 760px) {
  .findings-card-body { flex-direction: column; }
  .findings-card-mapwrap { flex: none; width: 100%; }
  .findings-card-map { height: 300px; }
  .findings-card-body .findings-panel { max-height: none; }
}
