/* WORKFORCE — map pins & overlays (extends theme.css) */

.wf-pin{
  position:relative; width:38px; height:38px; border-radius:50%;
  background:var(--bg,#FBE6E9); border:2.5px solid var(--c,#1B2A6B);
  display:grid; place-items:center; box-shadow:0 3px 10px rgba(6,39,47,.3);
}
.wf-pin b{ font-family:'Manrope',sans-serif; font-size:12.5px; font-weight:800; color:var(--c,#1B2A6B); }
.wf-pin i{ position:absolute; inset:-2.5px; border-radius:50%; border:2.5px solid var(--c,#1B2A6B); opacity:0; }
.wf-pin.driving i{ animation:wfPulse 1.8s ease-out infinite; }
@keyframes wfPulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.85); opacity:0; } }
.wf-pin.idle{ border-style:dashed; }
.wf-pin.lost{ border-color:#B3442E; filter:grayscale(.5); }
.wf-pin.lost::after{ content:'!'; position:absolute; top:-7px; right:-5px; width:16px; height:16px; border-radius:50%;
  background:#B3442E; color:#fff; font-size:11px; font-weight:900; display:grid; place-items:center; font-family:'Manrope',sans-serif; }

.wf-site-pin{ width:14px; height:14px; border-radius:4px; transform:rotate(45deg); background:var(--c,#1B2A6B);
  border:2px solid #fff; box-shadow:0 2px 6px rgba(6,39,47,.3); }
.wf-site-lbl{
  font-family:'Manrope',sans-serif; font-size:10px; font-weight:800; letter-spacing:.04em; color:#3B5257;
  background:rgba(252,250,245,.92); border:1px solid #D2E0E1; border-radius:6px; padding:2px 7px;
  white-space:nowrap; width:max-content; transform:translateX(calc(-50% + 60px)); text-align:center;
  box-shadow:0 1px 4px rgba(6,39,47,.12);
}

.wf-end-pin{
  width:22px; height:22px; border-radius:50%; background:#16224A; color:#EEF1F8;
  font-family:'Manrope',sans-serif; font-size:11px; font-weight:900; display:grid; place-items:center;
  border:2px solid #C8102E; box-shadow:0 2px 6px rgba(6,39,47,.35);
}
.wf-end-pin.start{ background:#FFFFFF; color:#16224A; border-color:#16224A; }

.wf-map-badge{
  position:absolute; top:12px; left:12px; z-index:500;
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(252,250,245,.94); border:1px solid var(--card-edge); border-radius:9px;
  padding:6px 11px; font-size:11.5px; font-weight:700; color:var(--ink-2);
  box-shadow:var(--shadow-sm); pointer-events:none;
}
.wf-map-badge svg{ color:var(--bronze); }

.leaflet-container{ font-family:'Manrope',system-ui,sans-serif; background:#EDE7DB; }
.leaflet-control-attribution{ font-size:9px !important; background:rgba(252,250,245,.7) !important; color:#5F7A7F !important; }

@media (max-width:1080px){
  .wf-map-grid{ grid-template-columns:1fr !important; }
}


/* EXEC BOARDROOM */
.exec-dots{ display:inline-flex; gap:4px; }
.exec-dots i{ width:6px; height:6px; border-radius:50%; background:var(--bronze); animation:execDot 1.2s infinite; }
.exec-dots i:nth-child(2){ animation-delay:.18s; }
.exec-dots i:nth-child(3){ animation-delay:.36s; }
@keyframes execDot{ 0%,70%,100%{ opacity:.25; transform:translateY(0);} 35%{ opacity:1; transform:translateY(-3px);} }
.exec-cursor{ display:inline-block; width:7px; height:13px; background:var(--gold); margin-left:3px; animation:execBlink 1s steps(1) infinite; vertical-align:text-bottom; }
@keyframes execBlink{ 50%{ opacity:0; } }
@keyframes wfPulseBtn{ 0%{ box-shadow:0 0 0 0 rgba(179,68,46,.35);} 100%{ box-shadow:0 0 0 9px rgba(179,68,46,0);} }
@media (max-width:1080px){ .exec-grid{ grid-template-columns:1fr !important; } }
