/* trapping.css — the Trapping check-frequency review (Data → Quality). */

.ik-trapping { padding-top: 0.5rem; }
.trap-controls { margin-bottom: 0.6rem; }
.trap-lead { color: var(--bs-secondary-color, #6c757d); margin-bottom: 0.4rem; }
.trap-thresholds { color: var(--bs-secondary-color, #6c757d); font-size: 0.78rem; margin: 0.2rem 0 0.8rem; max-width: 60rem; }

.trap-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 0.8rem; font-size: 0.85rem; }
.trap-legend-item { display: inline-flex; align-items: center; gap: 0.35rem; }
.trap-swatch { width: 0.9rem; height: 0.9rem; border-radius: 3px; border: 1px solid var(--bs-border-color, #dee2e6); display: inline-block; }

.ik-trapping-scroll { overflow-x: auto; }
.ik-trapping-table { border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: 0.88rem; min-width: 38rem; }
.ik-trapping-table th {
  background: var(--bs-body-bg, #fff); padding: 0.3rem 0.7rem; text-align: right; font-weight: 600;
  white-space: nowrap; border-bottom: 2px solid var(--bs-border-color, #dee2e6);
}
.ik-trapping-table th:first-child { text-align: left; }
.ik-trapping-table td { padding: 0.25rem 0.7rem; text-align: right; border-bottom: 1px solid var(--bs-border-color, #eee); }
.trap-loc { text-align: left !important; font-weight: 500; }
.trap-reserve-row td { font-weight: 600; background: var(--bs-secondary-bg, #e9ecef); text-align: left !important; }
.trap-click { cursor: pointer; }
.trap-click:hover { background: var(--bs-tertiary-bg, #f1f3f5); }

/* Servicing status — green (frequent) → amber → red (neglected); purple = can't judge (sparse);
   grey = out of service this period (dormant/historic). */
.trap-cell      { text-align: center; }
.trap-good      { background: #e6f4ea; color: #1b5e20; }
.trap-watch     { background: #fef6d6; color: #7a6500; }
.trap-neglected { background: #fdd6da; color: #b71c1c; font-weight: 700; }
.trap-insufficient_data { background: #ede7f6; color: #4527a0; }
.trap-dormant   { background: #eceff1; color: #546e7a; }
.trap-historic  { background: #f5f5f5; color: #9e9e9e; font-style: italic; }

/* Per-trap detail modal */
.trap-detail { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.trap-detail th, .trap-detail td { padding: 0.25rem 0.6rem; text-align: right; border-bottom: 1px solid var(--bs-border-color, #eee); }
.trap-detail th:first-child, .trap-detail td:first-child { text-align: left; }

/* Servicing-over-time timeline (cross-period history chart). */
.trap-timeline { margin: 0.6rem 0 1rem; }
.trap-timeline-head { display: flex; gap: 1.25rem; align-items: baseline; flex-wrap: wrap; }
.trap-timeline-title { font-weight: 700; }
.trap-timeline-head .shiny-input-container { margin-bottom: 0; }
.trap-timeline-note { color: var(--bs-secondary-color, #6c757d); font-size: 0.78rem; font-style: italic; margin: 0.1rem 0 0.3rem; }
