/* Approved targeted corrections only. Existing SLPT background, palette and shell remain untouched. */



.r31-dual-shared-program{
  display:grid!important;
  grid-template-columns:auto 1fr;
  align-items:center!important;
  gap:14px!important;
  padding:14px 16px!important;
}
.r31-dual-shared-program .r31-dual-toggle-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.r31-dual-toggle-ui{
  position:relative;
  display:block;
  width:46px;
  height:26px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
.r31-dual-toggle-ui::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.32);
  transition:transform .15s ease;
}
.r31-dual-toggle-input:checked + .r31-dual-toggle-ui{
  background:#ff6a00;
  border-color:#ff7a1f;
}
.r31-dual-toggle-input:checked + .r31-dual-toggle-ui::after{transform:translateX(20px)}
.r31-dual-toggle-input:focus-visible + .r31-dual-toggle-ui{box-shadow:0 0 0 3px rgba(255,122,31,.24)}
.r31-dual-shared-program>span{
  display:grid!important;
  gap:4px!important;
  min-width:0;
}

.r31-libsep4-movement-card{
  cursor:pointer;
  position:relative;
  transition:border-color .14s ease,background .14s ease,transform .14s ease;
}
.r31-libsep4-movement-card:hover,
.r31-libsep4-movement-card:focus-visible{
  border-color:rgba(255,122,31,.66)!important;
  background-color:rgba(255,255,255,.045)!important;
  outline:none;
}
.r31-libsep4-movement-card:active{transform:translateY(1px)}
.r31-assessment-open-details{
  width:100%;
  min-height:36px;
  margin-top:10px!important;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:9px!important;
  background:rgba(9,13,14,.58)!important;
  color:#fff!important;
  font-weight:700!important;
}
.r31-assessment-open-details:hover{
  border-color:rgba(255,122,31,.72)!important;
  background:rgba(255,106,0,.08)!important;
}
.r31-assessment-open-details b{
  color:#ff7a1f;
  font-size:20px;
  line-height:1;
}

.ui2-prg-live-hub .ui2-prg-live-select{align-items:end}
.ui2-prg-live-hub .ui2-prg-live-progress{
  gap:10px;
  align-items:stretch;
}
.ui2-prg-live-hub .ui2-prg-live-progress>article{min-height:92px}
.ui2-prg-live-hub .ui2-prg-live-progress>.ui2-prg-primary,
.ui2-prg-live-hub .ui2-prg-live-progress>.ui2-prg-live-btn{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
}

@media(max-width:720px){
  .r31-dual-shared-program{
    grid-template-columns:auto 1fr;
    padding:12px!important;
  }
  .r31-assessment-open-details{min-height:34px}
}

/* LIBSEP4A: single authority for Exercise Library card selection geometry. */
.r31-libsep-grid > .r31-libsep-card-shell{
  position:relative!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.r31-libsep-grid > .r31-libsep-card-shell > .r31-libsep-card{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding-top:40px!important;
  box-sizing:border-box!important;
}

.r31-libsep-grid > .r31-libsep-card-shell > .r31-libsep-card-select{
  position:absolute!important;
  z-index:4!important;
  top:18px!important;
  left:18px!important;
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}

.r31-libsep-grid > .r31-libsep-card-shell > .r31-libsep-card-select input{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:5px!important;
  background:rgba(11,15,16,.78)!important;
  box-shadow:0 1px 5px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
  transition:background .14s ease,border-color .14s ease,box-shadow .14s ease!important;
}

.r31-libsep-grid > .r31-libsep-card-shell > .r31-libsep-card-select input:hover{
  border-color:rgba(255,122,31,.95)!important;
}

.r31-libsep-grid > .r31-libsep-card-shell > .r31-libsep-card-select input:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 3px rgba(255,122,31,.24)!important;
}

.r31-libsep-grid > .r31-libsep-card-shell > .r31-libsep-card-select input:checked{
  border-color:#ff7a1f!important;
  background:#ff6a00!important;
  box-shadow:0 0 0 2px rgba(255,106,0,.13)!important;
}

.r31-libsep-grid > .r31-libsep-card-shell > .r31-libsep-card-select input:checked::after{
  content:""!important;
  display:block!important;
  width:8px!important;
  height:4px!important;
  margin:4px 0 0 4px!important;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  transform:rotate(-45deg)!important;
}
