/* =====================================================================
   recovery-ui.css — Captured Hunt Recovery flow (v37.24.0)
   ===================================================================== */

.ch-recovery-sheet{
  position:fixed;inset:0;z-index:1600;background:#12140F;color:#EAE7DC;
  display:flex;flex-direction:column;transform:translateY(100%);
  transition:transform .28s cubic-bezier(.22,.9,.36,1);
  overscroll-behavior:contain;
  padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);
}
.ch-recovery-sheet.open{ transform:translateY(0); }
body.ch-recovery-open{ overflow:hidden; }

.rec-topbar{
  display:flex;align-items:center;gap:12px;padding:10px 12px;
  border-bottom:1px solid #262820;background:#181A14;position:sticky;top:0;z-index:2;
}
.rec-topbar button{
  background:transparent;border:1px solid #2E3025;color:#EAE7DC;
  width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:16px;line-height:1;
}
.rec-topbar button:hover{ background:#22241C; }
.rec-title{ flex:1;font:700 15px/1.2 system-ui;color:#fff;letter-spacing:.01em; }

.rec-stepper{
  display:flex;gap:6px;padding:8px 12px;background:#181A14;border-bottom:1px solid #262820;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.rec-step-dot{
  display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;
  background:#22241C;border:1px solid #2E3025;font:600 11px/1 system-ui;color:#928F84;white-space:nowrap;flex-shrink:0;
}
.rec-step-dot .n{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;border-radius:50%;background:#2E3025;color:#928F84;font-size:10px;font-weight:700;
}
.rec-step-dot.active{ background:#3A2A15;border-color:#DA7101;color:#F5D3A5; }
.rec-step-dot.active .n{ background:#DA7101;color:#12140F; }
.rec-step-dot.done{ background:#1E2B1B;border-color:#3E5A3A;color:#B7D4B0; }
.rec-step-dot.done .n{ background:#4A6A44;color:#fff; }

.rec-body{
  flex:1;overflow-y:auto;padding:12px 14px 20px;-webkit-overflow-scrolling:touch;
}
.rec-footer{
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  border-top:1px solid #262820;background:#181A14;position:sticky;bottom:0;
}

.rec-intro{
  font:500 13px/1.5 system-ui;color:#B6B3A8;background:#1D1F17;padding:10px 12px;
  border-radius:10px;border:1px solid #262820;margin-bottom:12px;
}
.rec-label{
  font:700 11px/1.2 system-ui;letter-spacing:.06em;text-transform:uppercase;color:#928F84;margin:14px 0 8px;
}
.rec-hint{
  font:500 12.5px/1.5 system-ui;color:#928F84;padding:8px 4px;text-align:center;
}
.rec-error{
  font:500 13px/1.5 system-ui;color:#F5A5A5;background:#2B1717;padding:10px 12px;border-radius:10px;
}
.rec-coord-lbl{
  font:600 12.5px/1.3 ui-monospace,monospace;color:#EAE7DC;background:#22241C;padding:8px 10px;
  border-radius:8px;border:1px solid #2E3025;margin:6px 0 8px;
}

/* Buttons and pills */
.rec-pill{
  background:#22241C;border:1px solid #2E3025;color:#EAE7DC;
  padding:8px 12px;border-radius:999px;font:600 13px/1 system-ui;cursor:pointer;
  transition:background 100ms, border-color 100ms, color 100ms;
}
.rec-pill:hover{ background:#2E3025; }
.rec-pill.active{ background:#DA7101;border-color:#DA7101;color:#12140F; }
.rec-conf-row{ display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px; }

.rec-btn{
  background:#22241C;border:1px solid #2E3025;color:#EAE7DC;
  padding:11px 14px;border-radius:10px;font:700 14px/1.2 system-ui;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.rec-btn:hover{ background:#2E3025; }
.rec-btn--primary{ background:#DA7101;border-color:#DA7101;color:#12140F; }
.rec-btn--primary:hover{ background:#F0870F; }
.rec-btn--secondary{ background:#22241C;border-color:#2E3025;color:#EAE7DC; }
.rec-btn--wide{ width:100%; }
.rec-btn.is-disabled, .rec-btn[disabled]{
  opacity:.45;cursor:not-allowed;pointer-events:none;
}
.rec-link{
  background:transparent;border:none;color:#DA7101;font:600 13px/1.4 system-ui;
  padding:10px 0;cursor:pointer;text-align:center;width:100%;
}
.rec-link:hover{ color:#F0870F;text-decoration:underline; }

/* Anatomy diagram + grid overlay */
.rec-diagram{
  position:relative;width:100%;background:#f5efe4;border-radius:12px;overflow:hidden;
  margin:8px 0 12px;
}
.rec-diagram img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  pointer-events:none;user-select:none;
}
.rec-grid{
  position:absolute;inset:0;display:grid;
  grid-template-columns:repeat(var(--cols,30),1fr);
  grid-template-rows:repeat(var(--rows,26),1fr);
  z-index:2;
}
.rec-cell{
  position:relative;cursor:pointer;transition:background 80ms;
  border:1px solid rgba(255,255,255,.02);
}
.rec-cell:hover{ background:rgba(255,122,26,.18); }
.rec-cell.selected{
  background:rgba(255,122,26,.55);
  box-shadow:inset 0 0 0 2px #DA7101;
  z-index:3;
}

/* Triage card */
.rec-triage{
  margin-top:12px;padding:12px;border-radius:12px;border:1px solid #2E3025;background:#1D1F17;
}
.rec-triage-head{ display:flex;flex-direction:column;gap:2px;margin-bottom:8px; }
.rec-triage-cell{ font:700 10.5px/1 ui-monospace,monospace;color:#928F84;letter-spacing:.08em; }
.rec-triage-title{ font:700 17px/1.2 system-ui;color:#fff; }
.rec-triage-chips{ display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px; }
.rec-chip{
  background:#22241C;border:1px solid #2E3025;color:#EAE7DC;
  padding:4px 8px;border-radius:6px;font:700 10.5px/1 system-ui;letter-spacing:.04em;text-transform:uppercase;
}
.rec-chip--fatal-fast{ background:#3A1919;border-color:#7C2929;color:#F5A5A5; }
.rec-chip--fatal-slow{ background:#3A2A19;border-color:#7C5D29;color:#F5D3A5; }
.rec-chip--marginal{ background:#2A2A19;border-color:#5D5D29;color:#F5F5A5; }
.rec-chip--non-lethal{ background:#192A19;border-color:#295D29;color:#A5F5A5; }
.rec-chip--drone{ background:#1E2B3B;border-color:#3E5A7C;color:#B0D4F5; }
.rec-triage-msg{ font:500 13.5px/1.55 system-ui;color:#EAE7DC; }

.rec-triage--fatal-fast{ border-color:#7C2929; }
.rec-triage--fatal-slow{ border-color:#7C5D29; }
.rec-triage--marginal{ border-color:#5D5D29; }
.rec-triage--non-lethal{ border-color:#5D5D5D; }

/* Selectors and inputs */
.rec-select, .rec-select-inline, .rec-input, .rec-textarea{
  width:100%;background:#22241C;border:1px solid #2E3025;color:#EAE7DC;
  padding:10px 12px;border-radius:9px;font:500 14px/1.3 system-ui;
}
.rec-select-inline{ width:auto;padding:8px 10px;font-size:13px; }
.rec-input-inline{
  background:#22241C;border:1px solid #2E3025;color:#EAE7DC;
  padding:8px 10px;border-radius:8px;font:500 13px/1 system-ui;width:110px;
}
.rec-textarea{ resize:vertical;min-height:56px;font-family:system-ui; }
.rec-op-row{ display:flex;gap:8px; }
.rec-op-row .rec-input{ flex:1; }

/* Grids for pills */
.rec-grid-2{ display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px; }
.rec-grid-2 .rec-pill{ width:100%;justify-content:center; }
.rec-dist{ display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;align-items:center; }

/* Checks (multi-select cards) */
.rec-checks{ display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px; }
.rec-check{
  background:#22241C;border:1px solid #2E3025;color:#EAE7DC;text-align:left;padding:10px 11px;
  border-radius:10px;cursor:pointer;transition:background 100ms,border-color 100ms;
}
.rec-check:hover{ background:#2E3025; }
.rec-check.active{ background:#3A2A15;border-color:#DA7101; }
.rec-check-lbl{ font:700 13px/1.2 system-ui;color:#fff;margin-bottom:2px; }
.rec-check-hint{ font:500 11.5px/1.35 system-ui;color:#928F84; }

/* Map inside step 3/4/5 */
.rec-map{
  width:100%;height:380px;border-radius:12px;overflow:hidden;
  border:1px solid #2E3025;background:#0a0a0a;margin-top:6px;
}
.rec-map-actions{
  display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;align-items:center;
}
.rec-marker-dot{
  width:28px;height:28px;border-radius:50%;border:3px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;
  font:800 12px/1 system-ui;color:#fff;
}

/* Review step */
.rec-nag{
  background:#3A2A15;border:1px solid #DA7101;padding:12px;border-radius:12px;margin-bottom:12px;
}
.rec-nag-title{ font:700 13px/1.2 system-ui;color:#F5D3A5;margin-bottom:4px; }
.rec-nag-body{ font:500 12px/1.4 system-ui;color:#EAE7DC;margin-bottom:8px; }
.rec-nag .rec-input{ margin-bottom:6px;background:#22241C; }

.rec-ticket-preview{ margin-bottom:12px; }
.rec-ticket{
  background:#0F110C;border:1px solid #2E3025;color:#EAE7DC;
  padding:12px;border-radius:10px;font:500 12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
  white-space:pre-wrap;word-wrap:break-word;max-height:280px;overflow-y:auto;
}
.rec-share-actions{
  display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 8px;
}
@media (min-width:520px){
  .rec-share-actions{ grid-template-columns:1fr 1fr; }
  .rec-checks{ grid-template-columns:1fr 1fr 1fr; }
}

/* Live floating card */
.rec-live-card{
  position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,#1E2018,#151711);
  border:1px solid #7C2929;border-radius:14px;
  padding:12px 14px;box-shadow:0 10px 32px rgba(0,0,0,.55);color:#EAE7DC;
  z-index:1500;font-family:system-ui,-apple-system,Segoe UI,sans-serif;
  max-width:420px;margin:0 auto;
}
.rec-live-head{ display:flex;align-items:center;gap:8px;margin-bottom:6px; }
.rec-live-dot{
  width:10px;height:10px;border-radius:50%;background:#DA7101;
  box-shadow:0 0 10px #DA7101;animation:recPulse 1.6s infinite;
}
@keyframes recPulse{
  0%,100%{ opacity:1;transform:scale(1); }
  50%{ opacity:.5;transform:scale(.9); }
}
.rec-live-label{ flex:1;font:700 12px/1.2 system-ui;color:#F5D3A5;letter-spacing:.04em;text-transform:uppercase; }
.rec-live-more,
.rec-live-toggle{
  background:transparent;border:1px solid #2E3025;color:#EAE7DC;
  width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:16px;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.rec-live-more:hover,
.rec-live-toggle:hover{ background:#22241C; }

/* Collapsed pill: just the header row, no body / actions. Tap to expand. */
.rec-live-card.is-collapsed{
  padding:8px 12px;cursor:pointer;
  left:auto;right:12px;max-width:none;width:auto;
}
.rec-live-card.is-collapsed .rec-live-head{ margin-bottom:0; }
.rec-live-card.is-collapsed .rec-live-body,
.rec-live-card.is-collapsed .rec-live-actions,
.rec-live-card.is-collapsed .rec-live-more{ display:none; }
.rec-live-card.is-collapsed .rec-live-label{
  font-size:11px;text-transform:none;letter-spacing:.02em;color:#EAE7DC;
}
.rec-live-card.is-collapsed .rec-live-label::after{
  content:attr(data-timer);color:#B6B3A8;margin-left:6px;font-weight:500;
}
.rec-live-body{ display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px; }
.rec-live-zone{ font:700 15px/1.2 system-ui;color:#fff; }
.rec-live-timer{ font:600 13px/1.2 ui-monospace,monospace;color:#B6B3A8;margin-left:auto; }
.rec-live-actions{ display:flex;gap:8px; }
.rec-live-btn{
  flex:1;padding:9px 10px;border-radius:9px;font:700 13px/1 system-ui;cursor:pointer;border:1px solid transparent;
}
.rec-live-btn--good{ background:#1E4A18;border-color:#3E7A38;color:#B7EAB0; }
.rec-live-btn--good:hover{ background:#2A6A22; }
.rec-live-btn--bad{ background:#22241C;border-color:#2E3025;color:#B6B3A8; }
.rec-live-btn--bad:hover{ background:#3A1919;border-color:#7C2929;color:#F5A5A5; }
