/* wrapper กันล้น */
.program-table-wrap{
  width:100%;
  overflow-x:auto;
}

/* table */
.program-table-v2{
  width:100%;
  border-collapse:collapse;
  color:#fff;
  font-size:14px;
  min-width:600px; /* สำคัญสำหรับ mobile scroll */
}

/* cell */
.program-table-v2 td{
  padding:10px;
  border-bottom:1px solid rgba(255,255,255,0.1);
  vertical-align:top;
}

/* time column */
.program-table-v2 .time{
  width:140px;
  white-space:nowrap;
  font-weight:500;
}

/* content */
.program-table-v2 .content{
  width:auto;
}

.center{
  text-align:center;
}

/* header row (Registration) */
.header-row{
  background:linear-gradient(90deg,#1f9d8f,#7ed957);
  font-weight:600;
}

/* sub row */
.sub-row{
  background:rgba(255,255,255,0.05);
  color:#ccc;
}

/* highlight row */
.highlight{
  background:rgba(0,255,166,0.05);
}

/* speaker */
.speaker-line{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.affiliation{
  color:#ccc;
}

/* meta */
.meta-line{
  margin-top:6px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* badge */
.badge{
  background:#00c16e;
  padding:3px 10px;
  border-radius:20px;
  font-size:12px;
  color:#fff; 
}
/* =========================================
   PROGRAM BADGE (FINAL CLEAN VERSION)
========================================= */

/* Base */
.program-table-v4 .program-badge{
  display:inline-block;
  color:#fff;
  padding:3px 10px;
  border-radius:20px;
  font-size:12px;
  margin-top:6px;
  font-weight:500;
  letter-spacing:0.3px;
  white-space:nowrap;

  /* fallback */
  background:#64748b;
}

/* ===== Track Colors ===== */

/* NR → Orange */
.program-table-v4 .program-badge[class*="NR"]{
  background:#f97316;
}

/* SR → Purple */
.program-table-v4 .program-badge[class*="SR"]{
  background:#8b5cf6;
}

/* GM → Green */
.program-table-v4 .program-badge[class*="GM"]{
  background:#22c55e;
}

/* CC → Blue */
.program-table-v4 .program-badge[class*="CC"]{
  background:#3b82f6;
}

.update-date{
  font-size:20px;
  background:rgba(0,255,166,0.15);
  color:#00ffa6;
  padding:3px 10px;
  border-radius:20px;
  margin-left:10px;
  font-weight:500;
}
/* =========================================
   RESPONSIVE
========================================= */

/* Tablet */
@media (max-width:768px){
  .program-table-v4 .program-badge{
    font-size:11px;
    padding:2px 8px;
  }
}

/* Mobile */
@media (max-width:480px){
  .program-table-v4 .program-badge{
    font-size:10px;
    padding:2px 6px;
    margin-top:4px;
  }

  .program-table-v4 .link{
    display:block;
    margin-top:3px;
    font-size:11px;
  }
}






@media (max-width:768px){

  .program-table-v4 .program-badge{
    font-size:11px;
    padding:2px 8px;
  }

}
@media (max-width:480px){

  .program-table-v4 .program-badge{
    font-size:10px;
    padding:2px 6px;
    margin-top:4px;
  }

  /* ให้ badge + link แยกบรรทัด อ่านง่าย */
  .program-table-v4 .program-badge{
    display:inline-block;
  }

  .program-table-v4 .link{
    display:block;
    margin-top:3px;
    font-size:11px;
  }

}
/* ===== Responsive ===== */
@media (max-width:768px){

  .program-table-v2{
    font-size:13px;
    min-width:500px;
  }

  .program-table-v2 .time{
    width:110px;
    font-size:12px;
  }

  .speaker-line{
    flex-direction:column;
    gap:2px;
  }

}
/* ===== Mobile เล็ก (≤480px) ===== */
@media (max-width:480px){

  /* ลด min-width เพื่อไม่ต้อง scroll */
  .program-table-v2{
    min-width:100%;
    font-size:12px;
  }

  /* ลด padding ให้กระชับ */
  .program-table-v2 td{
    padding:8px 6px;
  }

  /* time column ให้แคบลง */
  .program-table-v2 .time{
    width:90px;
    font-size:11px;
  }

  /* content wrap ดีขึ้น */
  .program-table-v2 .content{
    word-break:break-word;
  }

  /* speaker layout เป็นแนวตั้ง */
  .speaker-line{
    flex-direction:column;
    gap:2px;
  }

  /* badge + link แยกบรรทัด */
  .meta-line{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }

  /* badge เล็กลง */
  .badge{
    font-size:11px;
    padding:2px 8px;
  }

  /* link เล็กลง */
  .link{
    font-size:11px;
  }

  /* center text ไม่ให้เบียด */
  .center{
    text-align:left;
  }

}
.program-table-v4{
  width:100%;
  border-collapse:collapse;
  color:#fff;
  font-size:14px;
  min-width:700px;
}

/* เส้นตาราง */
.program-table-v4 td{
  border:1px solid rgba(255,255,255,0.2);
  padding:10px;
  vertical-align:top;
}

/* time column */
.program-table-v4 .time{
  width:120px;
  font-weight:600;
  white-space:nowrap;
}

/* header */
.header-row{
  background:linear-gradient(90deg,#1f9d8f,#7ed957);
}

/* sub */
.sub-row{
  background:rgba(255,255,255,0.05);
}

/* center */
.center{
  text-align:center;
}

/* affiliation */
.affiliation{
  color:#ccc;
  font-size:13px;
}
/* ป้องกัน content ล้น */
.program-table-v4 td{
  word-break:break-word;
}

/* ให้ content balance */
.program-table-v4 td:nth-child(2),
.program-table-v4 td:nth-child(4){
  width:50%;
}

/* ให้ vertical align ตรง */
.program-table-v4 td{
  vertical-align:top;
}

/* time align */
.program-table-v4 .time{
  font-weight:600;
  white-space:nowrap;
}

/* spacing */
.program-table-v4 td{
  line-height:1.4;
}
/* time ชิดซ้าย */
.program-table-v4 .time{
  text-align:left;
  font-weight:600;
  white-space:nowrap;
}

/* affiliation ชิดซ้าย + สี */
.affiliation{
  display:block;
  text-align:left;
  color:#ccc;
  font-size:13px;
  margin-top:2px;
}

/* เผื่อมี cell ที่โดน center มาก่อน */
.program-table-v4 td{
  text-align:left;
}

/* ===== Tablet ===== */
@media (max-width:768px){
  .program-table-v4{
    min-width:650px;
  }
}

/* ===== Mobile ===== */
@media (max-width:480px){
  .program-table-wrap{
    overflow-x:auto;
  }

  .program-table-v4{
    min-width:600px;
    font-size:12px;
  }

  .program-table-v4 .time{
    width:90px;
    font-size:11px;
  }
}