/* SkyEye HF12 — Checkpoint & Split Intelligence V12 */

.hf12-cp-panel{
  margin:0 0 14px;
  overflow:hidden;
  border:1px solid #d8dee6;
  border-radius:12px;
  background:#fff;
}

.hf12-cp-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #e7eaee;
  background:#fafbfc;
}

.hf12-cp-header>div>strong{
  display:block;
  font-size:13px;
}

.hf12-cp-header>div>span{
  display:block;
  margin-top:2px;
  color:#667085;
  font-size:9px;
}

.hf12-cp-source{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#edf2f7;
  color:#52606d;
  font-size:7px;
  font-weight:900;
  letter-spacing:.04em;
}

.hf12-cp-tools{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-bottom:1px solid #edf0f2;
}

.hf12-cp-tools label{
  display:flex;
  align-items:center;
  gap:5px;
  color:#667085;
  font-size:9px;
}

.hf12-cp-tools select,
.hf12-cp-tools button{
  min-height:30px;
  border:1px solid #ccd3db;
  border-radius:7px;
  background:#fff;
  padding:0 8px;
  font-size:9px;
}

.hf12-cp-tools button{
  cursor:pointer;
}

.hf12-cp-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px 15px;
  padding:7px 12px;
  border-bottom:1px solid #edf0f2;
  color:#667085;
  font-size:9px;
}

.hf12-cp-summary strong{
  color:#20252b;
}

.hf12-cp-summary .warn{
  color:#a52a25;
}

.hf12-cp-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 235px;
  gap:0;
}

.hf12-cp-layout>div{
  min-width:0;
  padding:10px 12px 12px;
}

.hf12-cp-layout>aside{
  min-width:0;
  padding:10px;
  border-left:1px solid #edf0f2;
  background:#fbfcfd;
}

.hf12-cp-layout h4{
  margin:0 0 8px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#667085;
}

.hf12-cp-matrix-wrap{
  max-width:100%;
  max-height:500px;
  overflow:auto;
  border:1px solid #e4e8ec;
  border-radius:8px;
}

.hf12-cp-matrix{
  min-width:100%;
  border-collapse:separate;
  border-spacing:0;
  white-space:nowrap;
  font-size:9px;
}

.hf12-cp-matrix th{
  position:sticky;
  top:0;
  z-index:4;
  min-width:84px;
  padding:6px;
  border-right:1px solid #e7eaed;
  border-bottom:1px solid #dce1e6;
  background:#f7f8fa;
  text-align:center;
}

.hf12-cp-matrix th strong{
  display:block;
  font-size:8px;
}

.hf12-cp-matrix th small{
  display:block;
  margin-top:2px;
  color:#8a939e;
  font-size:7px;
  font-weight:500;
}

.hf12-cp-matrix td{
  padding:6px;
  border-right:1px solid #edf0f2;
  border-bottom:1px solid #edf0f2;
  text-align:center;
  font-variant-numeric:tabular-nums;
}

.hf12-cp-matrix .sticky-name{
  position:sticky;
  left:0;
  z-index:3;
  min-width:155px;
  background:#fff;
  text-align:left;
}

.hf12-cp-matrix th.sticky-name{
  z-index:6;
  background:#f7f8fa;
}

.hf12-cp-person{
  display:flex;
  align-items:center;
  gap:6px;
}

.hf12-cp-person>b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:25px;
  height:22px;
  padding:0 4px;
  border-radius:6px;
  background:#eef2f5;
}

.hf12-cp-person span{
  display:flex;
  flex-direction:column;
}

.hf12-cp-person span>strong{
  font-size:9px;
}

.hf12-cp-person span>small{
  color:#8a939e;
  font-size:7px;
}

.hf12-cp-cell{
  position:relative;
  min-width:84px;
}

.hf12-cp-cell strong{
  display:block;
  font-size:8px;
}

.hf12-cp-cell small{
  display:block;
  margin-top:2px;
  color:#68737e;
  font-size:7px;
}

.hf12-cp-cell em{
  position:absolute;
  top:2px;
  right:3px;
  color:#6f7c87;
  font-size:6px;
  font-style:normal;
  font-weight:900;
}

.hf12-cp-cell.passed{
  background:#eef9f1;
  color:#1f703d;
}

.hf12-cp-cell.virtual{
  background:#eef5fb;
  color:#23628a;
}

.hf12-cp-cell.missed{
  background:#fff0ef;
  color:#a52a25;
}

.hf12-cp-cell.pending{
  color:#a1a9b2;
}

.hf12-cp-feed{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.hf12-cp-feed-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:2px 6px;
  align-items:center;
  padding:6px 7px;
  border:1px solid #e6eaee;
  border-radius:7px;
  background:#fff;
  font-size:8px;
}

.hf12-cp-feed-row time{
  color:#74808c;
  font-variant-numeric:tabular-nums;
}

.hf12-cp-feed-row strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hf12-cp-feed-row span{
  font-weight:900;
}

.hf12-cp-feed-row em{
  grid-column:2/4;
  justify-self:start;
  padding:2px 4px;
  border-radius:999px;
  font-size:6px;
  font-style:normal;
  font-weight:900;
}

.hf12-cp-feed-row em.actual{
  background:#eaf7ee;
  color:#287342;
}

.hf12-cp-feed-row em.virtual{
  background:#edf4fa;
  color:#2d678c;
}

.hf12-cp-empty{
  padding:22px;
  color:#7b8794;
  text-align:center;
  font-size:9px;
}

.hf12-cp-empty.compact{
  padding:12px;
}


/* Public */

.hf12-cp-public{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:9090;
  width:min(820px,calc(100vw - 28px));
  max-height:55vh;
  overflow:hidden;
  border:1px solid rgba(40,48,57,.18);
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 7px 25px rgba(20,25,30,.17);
  backdrop-filter:blur(8px);
}

.hf12-cp-public details{
  margin:0;
}

.hf12-cp-public summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  cursor:pointer;
  list-style:none;
  font-size:9px;
}

.hf12-cp-public summary::-webkit-details-marker{
  display:none;
}

.hf12-cp-public summary strong{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:0 6px;
  border-radius:999px;
  background:#25313c;
  color:#fff;
  font-size:7px;
  letter-spacing:.04em;
}

.hf12-cp-public summary span{
  color:#667085;
}

.hf12-cp-public-body{
  max-height:48vh;
  overflow:auto;
  border-top:1px solid #e6eaee;
}

.hf12-cp-public .hf12-cp-summary{
  position:sticky;
  top:0;
  z-index:8;
  background:#fff;
}


@media(max-width:850px){
  .hf12-cp-layout{
    grid-template-columns:1fr;
  }

  .hf12-cp-layout>aside{
    border-top:1px solid #edf0f2;
    border-left:0;
  }

  .hf12-cp-public{
    right:7px;
    bottom:7px;
    width:calc(100vw - 14px);
  }
}


@media(max-width:600px){
  .hf12-cp-tools{
    align-items:stretch;
    flex-direction:column;
  }

  .hf12-cp-tools label{
    justify-content:space-between;
  }

  .hf12-cp-tools select,
  .hf12-cp-tools button{
    width:100%;
  }

  .hf12-cp-matrix .sticky-name{
    min-width:118px;
  }

  .hf12-cp-matrix th,
  .hf12-cp-matrix td{
    min-width:73px;
    padding:5px;
  }
}
