/* =========================================================
   UPDATE V59 - KUOTA & VALIDASI BENTROK JADWAL
   ========================================================= */

.quota-choice-v59{
  align-items:flex-start!important;
  min-height:148px;
}
.quota-choice-main-v59{
  display:grid;
  gap:5px;
  min-width:0;
}
.schedule-small-v59{
  color:#64748b;
  line-height:1.45;
  font-size:12px;
}
.quota-small-v59{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:5px 9px;
  border-radius:999px;
  background:#eff6ff;
  color:#2563eb;
  font-size:11px;
  font-weight:900;
}
.quota-small-v59.full{
  background:#fee2e2;
  color:#dc2626;
}
.quota-choice-v59.is-full-v59{
  opacity:.62;
  background:#f8fafc!important;
  cursor:not-allowed;
}
.quota-choice-v59.is-full-v59 input{
  pointer-events:none;
}
.student-choice-grid-v59{
  margin-top:14px;
}
.student-period-v59{
  margin-bottom:18px;
}
.quota-admin-v59{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eff6ff;
  color:#2563eb;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.quota-admin-v59.full{
  background:#fee2e2;
  color:#dc2626;
}
.period-jadwal-link-v59{
  margin:10px 0 18px;
}
.schedule-summary-v59{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.schedule-summary-v59>div{
  background:#fff;
  border:1px solid rgba(37,99,235,.14);
  border-radius:18px;
  padding:17px;
  box-shadow:0 14px 34px rgba(15,39,71,.06);
}
.schedule-summary-v59 span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  margin-bottom:6px;
}
.schedule-summary-v59 b{
  color:#0b2f6f;
  font-size:20px;
}
.conflict-list-v59{
  display:grid;
  gap:10px;
}
.conflict-list-v59 article{
  border:1px solid #fde68a;
  background:#fffbeb;
  border-radius:15px;
  padding:13px;
  color:#92400e;
}
.conflict-list-v59 article.hard{
  border-color:#fecaca;
  background:#fff1f2;
  color:#b91c1c;
}
.conflict-list-v59 p{
  margin:5px 0 0;
  font-size:13px;
}
.pic-ekskul-grid-v59{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:18px;
}
.pic-ekskul-card-v59{
  margin:0;
}
.pic-card-head-v59{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.pic-card-head-v59 h2{
  margin:0 0 5px;
}
.pic-card-head-v59 p{
  margin:0;
  color:#64748b;
  font-weight:700;
}
.pic-schedule-list-v59{
  display:grid;
  gap:9px;
}
.pic-schedule-list-v59>div{
  background:#f8fbff;
  border:1px solid rgba(37,99,235,.12);
  border-radius:14px;
  padding:11px;
}
.pic-schedule-list-v59 b,
.pic-schedule-list-v59 span{
  display:block;
}
.pic-schedule-list-v59 span{
  color:#64748b;
  font-size:12px;
  margin-top:4px;
}

@media(max-width:900px){
  .schedule-summary-v59{
    grid-template-columns:1fr;
  }
  .pic-card-head-v59{
    display:grid;
    grid-template-columns:1fr;
  }
  .quota-admin-v59{
    justify-self:start;
  }
}


/* UPDATE V60 */
.schedule-rule-v60{
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#0b2f6f;
  border-radius:16px;
  padding:13px 15px;
  margin-bottom:16px;
  font-weight:700;
  line-height:1.55;
}


/* UPDATE V196 - daftar peserta pada kartu PIC */
.pic-schedule-meta-v196{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.pic-schedule-meta-v196 b{
  margin:0;
  flex:1 1 auto;
  min-width:0;
}
.schedule-count-v196{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#1d4ed8;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
  border:1px solid rgba(37,99,235,.14);
}
.pic-member-list-v196{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.pic-member-list-v196 li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  background:#ffffff;
  border:1px solid rgba(148,163,184,.22);
  border-radius:12px;
}
.pic-member-name-v196{
  display:block;
  color:#0f172a;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  min-width:0;
}
.pic-member-class-v196{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.22);
  color:#475569;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  flex-shrink:0;
}
.pic-member-empty-v196{
  padding:12px;
  border-radius:12px;
  border:1px dashed rgba(148,163,184,.35);
  color:#64748b;
  font-size:12px;
  font-weight:700;
  background:rgba(255,255,255,.72);
}

@media(max-width:640px){
  .pic-schedule-meta-v196,
  .pic-member-list-v196 li{
    display:grid;
    grid-template-columns:1fr;
  }
  .schedule-count-v196,
  .pic-member-class-v196{
    justify-self:start;
  }
}


/* UPDATE V197 - penyempurnaan tampilan peserta PIC */
.pic-schedule-list-v59>div{
  padding:14px;
}
.pic-schedule-meta-v196{
  align-items:center;
  margin-bottom:12px;
}
.pic-schedule-meta-v196 b{
  color:#0f2f63;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
}
.schedule-count-v196{
  padding:4px 10px;
  font-size:11px;
  font-weight:800;
}
.pic-member-list-v196{
  gap:7px;
}
.pic-member-list-v196 li{
  padding:10px 12px;
  border-radius:11px;
}
.pic-member-name-v196{
  font-size:14px;
  font-weight:600;
  color:#1e3a5f;
}
.pic-member-class-v196{
  padding:4px 10px;
  font-size:11px;
  font-weight:700;
  color:#5b6f8f;
  background:#f8fafc;
}
.pic-member-empty-v196{
  font-weight:600;
}

@media(max-width:640px){
  .pic-schedule-list-v59>div{
    padding:12px;
  }
  .pic-schedule-meta-v196{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:8px;
    margin-bottom:10px;
  }
  .pic-schedule-meta-v196 b{
    font-size:14px;
    line-height:1.4;
  }
  .schedule-count-v196{
    justify-self:start;
  }
  .pic-member-list-v196 li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 11px;
  }
  .pic-member-name-v196{
    font-size:13px;
    line-height:1.35;
    flex:1 1 auto;
    min-width:0;
  }
  .pic-member-class-v196{
    font-size:10.5px;
    padding:4px 8px;
    white-space:nowrap;
    justify-self:auto;
  }
}


/* UPDATE V198 - tombol download JPG kartu peserta PIC */
.pic-schedule-card-v198{
  position:relative;
}
.pic-schedule-heading-v198{
  min-width:0;
  display:grid;
  gap:4px;
}
.pic-schedule-heading-v198 small{
  color:#64748b;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
}
.pic-schedule-tools-v198{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.schedule-download-v198{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid #2459d6;
  background:linear-gradient(135deg,#3478f6 0%,#2457d4 100%);
  color:#ffffff;
  box-shadow:0 8px 18px rgba(37,99,235,.28);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.schedule-download-v198:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,#286bea 0%,#1e49bd 100%);
  border-color:#1e49bd;
  box-shadow:0 12px 24px rgba(37,99,235,.34);
}
.schedule-download-v198:active{
  transform:translateY(0);
  box-shadow:0 5px 12px rgba(37,99,235,.25);
}
.schedule-download-v198 svg{
  width:16px;
  height:16px;
}
.schedule-download-v198.is-loading{
  opacity:.72;
  cursor:progress;
}

@media(max-width:640px){
  .pic-schedule-tools-v198{
    width:100%;
    justify-content:space-between;
  }
  .schedule-download-v198{
    width:34px;
    height:34px;
    border-radius:10px;
  }
}
