
/* ================= LAKANA SSI V24 DEEP LENSES ================= */
.v24-section{
  margin-top:24px;
}
.v24-card{
  background:#fff;
  border:1px solid var(--line,#D7DEE8);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(10,22,37,.08);
  padding:22px;
}
.v24-card h2,.v24-card h3{
  margin-top:0;
  letter-spacing:-.04em;
}
.v24-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.v24-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.v24-grid-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.v24-kicker{
  color:#0D7377;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  font-weight:950;
  margin-bottom:10px;
}
.v24-note{
  color:#64758A;
  line-height:1.55;
}
.v24-alert{
  border:1px solid #D7DEE8;
  border-left:6px solid #7244C4;
  border-radius:18px;
  background:#FAFBFD;
  padding:14px;
  color:#41536A;
}
.v24-metric{
  border:1px solid #D7DEE8;
  border-radius:18px;
  background:#FAFBFD;
  padding:13px;
}
.v24-metric span{
  display:block;
  color:#64758A;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
  font-weight:900;
}
.v24-metric b{
  display:block;
  font-size:1.35rem;
  margin-top:5px;
  letter-spacing:-.04em;
}
.v24-control{
  border:1px solid #D7DEE8;
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.v24-control label{
  font-weight:900;
  display:block;
  margin-bottom:8px;
}
.v24-control small{
  display:block;
  color:#64758A;
  margin-top:6px;
}
.v24-btn-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.v24-btn{
  border:1.6px solid #7244C4;
  border-radius:999px;
  padding:11px 16px;
  background:#fff;
  font-weight:900;
  cursor:pointer;
}
.v24-btn.primary{
  background:linear-gradient(135deg,#0D7377,#56C8C8);
  color:#061220;
}
.v24-btn.warn{
  background:#FFF7E3;
  border-color:#CF9D2A;
}
.v24-btn.deny{
  background:#F5F0FF;
  border-color:#7244C4;
  color:#7244C4;
}
.v24-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 8px;
}
.v24-table th{
  text-align:left;
  color:#64758A;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:0 8px;
}
.v24-table td{
  background:#fff;
  border-top:1px solid #D7DEE8;
  border-bottom:1px solid #D7DEE8;
  padding:10px 8px;
  font-size:.88rem;
}
.v24-table td:first-child{
  border-left:1px solid #D7DEE8;
  border-radius:12px 0 0 12px;
  font-weight:900;
}
.v24-table td:last-child{
  border-right:1px solid #D7DEE8;
  border-radius:0 12px 12px 0;
}
.v24-bar{
  height:16px;
  border-radius:999px;
  background:#E8EDF2;
  overflow:hidden;
}
.v24-bar span{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#0D7377,#CF9D2A,#9B1C31);
  border-radius:999px;
}
.v24-structure-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:8;
}
.v24-structure-dot{
  position:absolute;
  pointer-events:auto;
  width:22px;
  height:22px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:3px solid #fff;
  background:#0D7377;
  box-shadow:0 0 0 4px rgba(13,115,119,.20),0 8px 22px rgba(10,22,37,.18);
  cursor:pointer;
}
.v24-structure-dot.warn{
  background:#CF9D2A;
  box-shadow:0 0 0 4px rgba(207,157,42,.22),0 8px 22px rgba(10,22,37,.18);
}
.v24-structure-dot.fail{
  background:#9B1C31;
  box-shadow:0 0 0 4px rgba(155,28,49,.20),0 8px 22px rgba(10,22,37,.18);
}
.v24-structure-dot.active{
  outline:4px solid #7244C4;
}
.v24-deep-lens{
  display:grid;
  gap:16px;
}
.v24-drill-segment{
  display:grid;
  grid-template-columns:1.2fr .7fr .8fr .8fr auto;
  gap:8px;
  align-items:end;
  padding:10px;
  border:1px solid #D7DEE8;
  border-radius:16px;
  background:#FAFBFD;
  margin-bottom:8px;
}
.v24-map{
  position:relative;
  min-height:320px;
  border:1px solid #D7DEE8;
  border-radius:22px;
  overflow:hidden;
  background:
    linear-gradient(rgba(16,32,51,.05) 1px, transparent 1px),
    linear-gradient(90deg,rgba(16,32,51,.05) 1px, transparent 1px),
    radial-gradient(circle at 56% 54%, rgba(13,115,119,.20), transparent 12%),
    radial-gradient(circle at 34% 30%, rgba(114,68,196,.16), transparent 10%),
    #FFFFFF;
  background-size:34px 34px,34px 34px,auto,auto,auto;
}
.v24-map-pin{
  position:absolute;
  border-radius:999px;
  padding:8px 11px;
  font-size:.72rem;
  font-weight:950;
  border:1.5px solid #0D7377;
  background:#E7F5F4;
  color:#06494A;
}
.v24-map-pin.athlete{left:50%;top:50%}
.v24-map-pin.med{left:28%;top:25%;border-color:#7244C4;background:#F5F0FF;color:#7244C4}
.v24-map-pin.responder{right:16%;bottom:24%;border-color:#CF9D2A;background:#FFF7E3;color:#7A5609}
.v24-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #D7DEE8;
  border-radius:999px;
  padding:7px 10px;
  font-size:.72rem;
  font-weight:900;
  color:#5A6B80;
  background:#fff;
}
.v24-pill.good{border-color:#0D7377;color:#0D7377;background:#E7F5F4}
.v24-pill.warn{border-color:#CF9D2A;color:#7A5609;background:#FFF7E3}
.v24-pill.deny{border-color:#7244C4;color:#7244C4;background:#F5F0FF}
.v24-bottom-sheet-nav{
  display:none;
}
@media(max-width:1100px){
  .v24-grid-2,.v24-grid-3,.v24-grid-4{
    grid-template-columns:1fr;
  }
  .v24-drill-segment{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .v24-section{
    margin-top:16px;
  }
  .v24-card{
    padding:16px;
    border-radius:22px;
  }
  .v24-bottom-sheet-nav{
    position:sticky;
    bottom:0;
    z-index:35;
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:10px;
    margin:16px -14px -18px;
    background:rgba(10,22,37,.96);
  }
  .v24-bottom-sheet-nav button{
    white-space:nowrap;
    border-color:#7244C4;
    color:#fff;
    background:#10233A;
  }
}
