/* /data/cal-osha-enforcement-map/ — the map frame, its overlay card, and the
   detail panel. Loaded only on that page; site.css handles the prose below. */
.map-frame { position: relative; height: 78vh; min-height: 30rem; border: var(--border); border-radius: var(--radius); overflow: hidden; margin: var(--space-5) 0 var(--space-7); }
.map-frame #map { position: absolute; inset: 0; }
.map-card { position: absolute; top: 14px; left: 14px; z-index: 2; width: 300px; max-width: calc(100% - 28px); background: var(--bg); border: var(--border); border-radius: var(--radius); padding: 12px 14px; box-shadow: 0 1px 4px rgba(0,0,0,.06); font-size: 13px; }
.map-card p { margin: 0 0 8px; color: var(--fg-muted); font-size: 12.5px; line-height: 1.4; }
.map-card p:last-child { margin: 8px 0 0; }
.map-card input { width: 100%; box-sizing: border-box; padding: 7px 9px; border: 1px solid #c9ced6; border-radius: 4px; font: inherit; }
.map-panel { position: absolute; top: 14px; right: 14px; bottom: 14px; width: 460px; max-width: calc(100% - 28px); z-index: 2; background: var(--bg); border: var(--border); border-radius: var(--radius); box-shadow: 0 1px 4px rgba(0,0,0,.06); overflow: auto; padding: 14px 16px; box-sizing: border-box; font-size: 13px; line-height: 1.4; }
.map-panel[hidden] { display: none; }
.map-panel-close { position: absolute; top: 8px; right: 10px; border: 0; background: none; font-size: 20px; cursor: pointer; color: var(--fg-muted); }
.map-loc > b { display: block; font-size: 15px; margin: 0 24px 4px 0; }
.map-loc .k { color: var(--fg-muted); }
.map-count { margin: 6px 0 2px; }
.map-loc details { border-top: var(--border); padding: 5px 0; }
.map-loc summary { cursor: pointer; font-size: 12.5px; }
.map-loc summary b { font-weight: 600; }
.map-insp { padding: 4px 0 2px 12px; }
.map-cit { border-collapse: collapse; margin-top: 8px; font-size: 12px; width: 100%; }
.map-cit th { text-align: left; color: var(--fg-muted); font-weight: 600; border-bottom: var(--border); padding: 2px 6px 2px 0; }
.map-cit td { padding: 2px 6px 2px 0; border-bottom: 1px solid #f1f3f5; vertical-align: top; }
.map-cit .std, .map-cit .n { white-space: nowrap; }
.map-cit .n { text-align: right; }
.map-loc .src { display: block; margin-top: 8px; font-size: 12px; color: var(--fg-muted); }
@media (max-width: 40rem) {
  .map-frame { height: 70vh; }
  .map-card { width: auto; right: 14px; }
  .map-card p:first-child { display: none; }
  .map-panel { top: auto; height: 60%; width: auto; left: 14px; }
}
