/* Sprint 9.3 — location picker, report map and resolution actions */
.lf-status--resolved{background:#0f766e}
.lf-card.is-resolved{opacity:.84}
.lf-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.lf-card__action{border:0;border-radius:11px;padding:9px 12px;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}
.lf-card__action--map{background:#eff6ff;color:#1d4ed8}
.lf-card__action--resolved{background:#ecfdf5;color:#047857}
.lf-card__action:disabled{cursor:not-allowed;opacity:.62}
.lf-location-picker{position:relative;padding:18px;border:1px solid #fed7aa;border-radius:20px;background:linear-gradient(180deg,#fff,#fffaf3)}
.lf-location-picker__header strong{display:block;color:#1f2937;font-size:1.04rem}
.lf-location-picker__header small{display:block;margin-top:4px;color:#6b7280;font-weight:500}
.lf-location-search-wrap{position:relative;margin:14px 0}
.lf-location-suggestions{position:absolute;z-index:20;top:calc(100% + 6px);right:0;left:0;overflow:auto;max-height:250px;border:1px solid #dbe3ee;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.16)}
.lf-location-suggestion{display:block;width:100%;border:0;border-bottom:1px solid #f1f5f9;background:#fff;padding:12px 14px;text-align:left;color:#334155;font:inherit;cursor:pointer}
.lf-location-suggestion:hover,.lf-location-suggestion:focus{background:#fff7ed}
.lf-location-suggestion:last-child{border-bottom:0}
.lf-location-map{height:360px;border:1px solid #dbe3ee;border-radius:16px;overflow:hidden;background:#e2e8f0}
.lf-location-status{margin:10px 2px 0;color:#64748b;font-size:.9rem;font-weight:600}
.lf-location-status.is-success{color:#15803d}
.lf-location-status.is-error{color:#b91c1c}
.lf-location-marker{display:grid;width:42px;height:42px;place-items:center;border:4px solid #fff;border-radius:50% 50% 50% 0;background:#e11d48;box-shadow:0 8px 22px rgba(15,23,42,.26);font-size:20px;transform:rotate(-45deg)}
.lf-location-marker span{transform:rotate(45deg)}
.lf-reports-map-card{display:grid;grid-template-columns:minmax(250px,.45fr) minmax(0,1fr);gap:22px;align-items:center;margin-bottom:42px;padding:22px;border:1px solid #e2e8f0;border-radius:26px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.08)}
.lf-reports-map-card h2{margin:12px 0 7px;font-size:1.7rem}
.lf-reports-map-card p{margin:0;color:#64748b;line-height:1.55}
.lf-reports-map{height:390px;border-radius:19px;overflow:hidden;background:#e2e8f0}
.lf-report-map-marker{display:grid;width:38px;height:38px;place-items:center;border:3px solid #fff;border-radius:50%;box-shadow:0 7px 20px rgba(15,23,42,.28);color:#fff;font-size:17px}
.lf-report-map-marker.is-lost{background:#e11d48}
.lf-report-map-marker.is-found{background:#16a34a}
.lf-report-map-marker.is-resolved{background:#0f766e}
.lf-map-popup{min-width:180px}
.lf-map-popup strong{display:block;font-size:1rem}
.lf-map-popup span{display:block;margin-top:4px;color:#64748b}
.lf-map-popup button{margin-top:10px;border:0;border-radius:9px;background:#fff1f2;padding:7px 10px;color:#be123c;font-weight:800;cursor:pointer}
@media(max-width:820px){.lf-reports-map-card{grid-template-columns:1fr}.lf-location-map,.lf-reports-map{height:320px}}
.lf-card__action--sighting{border-color:#c4b5fd!important;background:#f5f3ff!important;color:#6d28d9!important}.lf-card__action--share{border-color:#bae6fd!important;background:#f0f9ff!important;color:#0369a1!important}.lf-sighting-marker{display:grid;width:34px;height:34px;place-items:center;border:3px solid #fff;border-radius:50%;background:#7c3aed;color:#fff;box-shadow:0 7px 18px rgba(76,29,149,.35);cursor:pointer}.sighting-modal[hidden]{display:none}.sighting-modal{position:fixed;inset:0;z-index:8800;display:grid;place-items:center;padding:18px}.sighting-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.65);backdrop-filter:blur(5px)}.sighting-modal__card{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:27px;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(15,23,42,.4)}.sighting-modal__close{position:absolute;top:13px;right:13px;width:36px;height:36px;border:0;border-radius:50%;background:#f1f5f9;font-size:1.3rem;cursor:pointer}.sighting-modal__card h2{margin:7px 0}.sighting-modal__card>p{color:#64748b}.sighting-modal form{display:grid;gap:13px}.sighting-modal label{display:grid;gap:6px;color:#334155;font-weight:750}.sighting-modal input,.sighting-modal textarea{width:100%;padding:11px 12px;border:1px solid #dbe3ee;border-radius:11px;font:inherit}.sighting-map{height:250px;overflow:hidden;border:1px solid #dbe3ee;border-radius:16px}.sighting-use-location{min-height:42px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1d4ed8;font:inherit;font-weight:800;cursor:pointer}.sighting-submit{min-height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font:inherit;font-weight:850;cursor:pointer}.sighting-submit:disabled{opacity:.65}.sighting-status{margin:0;color:#15803d;font-size:.84rem;font-weight:750}.sighting-status.is-error{color:#be123c}


/* SPRINT 13.1 — SIMPLE COMMUNITY SIGHTINGS */
.lf-simple-sighting[hidden]{display:none!important}.lf-simple-sighting{position:fixed;inset:0;z-index:9900;display:grid;place-items:center;padding:18px}.lf-simple-sighting__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(6px)}.lf-simple-sighting__card{position:relative;z-index:1;width:min(590px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:28px;border:1px solid rgba(255,255,255,.7);border-radius:25px;background:#fff;box-shadow:0 32px 100px rgba(15,23,42,.42)}.lf-simple-sighting__close{position:absolute;top:13px;right:13px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f9;color:#334155;font-size:1.35rem;cursor:pointer}.lf-simple-sighting__card h2{margin:12px 0 6px;font-size:clamp(1.8rem,5vw,2.5rem)}.lf-simple-sighting__intro{margin:0 0 18px;color:#64748b;line-height:1.55}.lf-simple-sighting__card form{display:grid;gap:15px}.lf-simple-sighting__card label{display:grid;gap:7px;color:#334155;font-weight:750}.lf-simple-sighting__card input,.lf-simple-sighting__card textarea{width:100%;padding:12px 13px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;color:#172033;font:inherit;outline:none}.lf-simple-sighting__card input:focus,.lf-simple-sighting__card textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.12)}.lf-simple-sighting__pet{padding:12px 14px;border:1px solid #ddd6fe;border-radius:13px;background:#f5f3ff;color:#6d28d9;font-weight:850}.lf-simple-sighting__map{height:245px;overflow:hidden;border:1px solid #dbe3ee;border-radius:16px;background:#e2e8f0}.lf-simple-sighting__card small{color:#94a3b8;font-weight:550}.lf-simple-sighting__location,.lf-simple-sighting__photo-toggle{min-height:42px;border:1px solid #c4b5fd;border-radius:11px;background:#f5f3ff;color:#6d28d9;font:inherit;font-weight:800;cursor:pointer}.lf-simple-sighting__submit{min-height:50px;border:0;border-radius:13px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 13px 28px rgba(109,40,217,.24)}.lf-simple-sighting__submit:disabled{cursor:not-allowed;opacity:.62}.lf-simple-sighting__message{margin:0;padding:11px 13px;border-radius:11px;background:#ecfdf5;color:#047857;font-weight:750}.lf-simple-sighting__message.is-error{background:#fff1f2;color:#be123c}.lf-sighting-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 0;padding:10px 12px;border:1px solid #ddd6fe;border-radius:12px;background:#faf8ff;color:#6d28d9;font-size:.84rem;font-weight:800}.lf-sighting-summary small{color:#7c6aa7;font-weight:650}.lf-simple-sighting-marker{display:grid;width:34px;height:34px;place-items:center;border:3px solid #fff;border-radius:50%;background:#7c3aed;color:#fff;box-shadow:0 7px 18px rgba(76,29,149,.35)}@media(max-width:560px){.lf-simple-sighting__card{padding:24px 16px}.lf-simple-sighting__map{height:220px}}


/* ==================================================
   SPRINT 14 — HOME AGAIN
================================================== */

.lf-status--resolved{
  background:linear-gradient(135deg,#059669,#0f766e)
}

.lf-card.is-resolved{
  opacity:1;
  border-color:#bbf7d0;
  box-shadow:0 15px 38px rgba(5,150,105,.10)
}

.lf-card.is-resolved .lf-card__media::after{
  content:"🏡";
  position:absolute;
  right:13px;
  bottom:13px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:rgba(5,150,105,.92);
  box-shadow:0 9px 24px rgba(6,78,59,.28);
  font-size:1.05rem
}

.lf-card__action--home{
  border:1px solid #bbf7d0!important;
  background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;
  color:#047857!important
}

.lf-card__action--home:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(5,150,105,.12)
}

.lf-home-again-toast[hidden]{
  display:none!important
}

.lf-home-again-toast{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:9800;
  width:min(390px,calc(100vw - 36px));
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:15px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:19px;
  background:linear-gradient(135deg,#ecfdf5,#fff);
  color:#064e3b;
  box-shadow:0 24px 70px rgba(6,78,59,.26);
  opacity:0;
  transform:translateY(14px) scale(.98);
  transition:opacity .24s ease,transform .24s ease
}

.lf-home-again-toast.is-visible{
  opacity:1;
  transform:none
}

.lf-home-again-toast.is-leaving{
  opacity:0;
  transform:translateY(10px) scale(.98)
}

.lf-home-again-toast__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d1fae5;
  font-size:1.25rem
}

.lf-home-again-toast small,
.lf-home-again-toast strong,
.lf-home-again-toast em{
  display:block
}

.lf-home-again-toast small{
  color:#059669;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.12em
}

.lf-home-again-toast strong{
  margin-top:3px;
  color:#064e3b;
  font-size:.94rem
}

.lf-home-again-toast em{
  margin-top:4px;
  color:#4b7568;
  font-size:.75rem;
  font-style:normal
}

@media(max-width:560px){
  .lf-home-again-toast{
    right:9px;
    bottom:12px;
    width:calc(100vw - 18px)
  }
}
