 :root {
      --primary: rgb(0, 173, 239);
      --accent: rgb(238, 75, 154);
      --text: #1f2937;
      --muted: #6b7280;
      --light: #f8fafc;
      --border: #e5e7eb;
      --white: #ffffff;
      --shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
      --radius: 18px;
    }

    * { box-sizing: border-box; }

    body {
      margin: 0;
      font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
      color: var(--text);
      background: var(--white);
      line-height: 1.65;
    }

    a { color: inherit; }

    .program-section {
      width: 100%;
      background: var(--white);
      padding: 64px 20px 72px;
    }

    .container {
      max-width: 1120px;
      margin: 0 auto;
    }

    .intro-card {
      background: var(--white);
      border-left: 6px solid var(--primary);
      padding: 30px 34px;
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      margin-bottom: 38px;
      position: relative;
      overflow: hidden;
    }

    .intro-card::after {
      content: "";
      position: absolute;
      right: -80px;
      top: -80px;
      width: 190px;
      height: 190px;
      background: radial-gradient(circle, rgba(238,75,154,.16), rgba(0,173,239,.08), transparent 68%);
      border-radius: 50%;
    }

    .intro-card p {
      margin: 0 0 16px;
      font-size: 18px;
      letter-spacing: .1px;
      position: relative;
      z-index: 1;
    }

    .intro-card p:last-child { margin-bottom: 0; }

    .button-block {
      background: linear-gradient(135deg, rgba(0,173,239,.08), rgba(238,75,154,.08));
      border: 1px solid rgba(0,173,239,.18);
      border-radius: var(--radius);
      padding: 34px 28px;
      text-align: center;
      margin-bottom: 42px;
    }

    .button-block h2 {
      margin: 0 0 24px;
      font-size: 30px;
      font-weight: 800;
      color: var(--text);
    }

    .button-group {
      display: flex;
      justify-content: center;
      gap: 18px;
      flex-wrap: wrap;
    }

    .nav-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 300px;
      padding: 15px 22px;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--primary), var(--accent));
      color: var(--white);
      text-decoration: none;
      font-size: 17px;
      font-weight: 700;
      box-shadow: 0 12px 24px rgba(0, 173, 239, .22);
      transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
    }

    .nav-button:hover {
      transform: translateY(-3px);
      box-shadow: 0 16px 28px rgba(238, 75, 154, .25);
      opacity: .95;
    }

    .content-card {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow: hidden;
      margin-bottom: 28px;
    }

    .category-row {
      padding: 18px 24px;
      background: linear-gradient(90deg, rgba(0,173,239,.12), rgba(238,75,154,.1));
      border-bottom: 1px solid var(--border);
      font-size: 21px;
      font-weight: 800;
      color: var(--text);
    }

    table {
      width: 100%;
      border-collapse: collapse;
    }

    th, td {
      padding: 18px 24px;
      text-align: left;
      vertical-align: middle;
      border-bottom: 1px solid var(--border);
    }

    th {
      width: 130px;
      color: var(--primary);
      font-size: 15px;
      text-transform: uppercase;
      letter-spacing: .5px;
      background: var(--light);
    }

    td.session-title {
      font-size: 17px;
      font-weight: 700;
    }

    tr:last-child th,
    tr:last-child td { border-bottom: 0; }

    tr:hover td,
    tr:hover th {
      background: rgba(0,173,239,.045);
    }

    .view-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 9px 16px;
      border-radius: 999px;
      color: var(--accent);
      border: 1px solid rgba(238,75,154,.32);
      text-decoration: none;
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
      transition: all .25s ease;
    }

    .view-link:hover {
      background: var(--accent);
      color: var(--white);
    }

    .simple-program {
      padding: 24px;
      font-size: 18px;
      font-weight: 700;
    }

    .gala-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
    }

    .gala-item {
      padding: 24px;
      border-right: 1px solid var(--border);
      min-height: 118px;
    }

    .gala-item:last-child { border-right: 0; }

    .gala-label {
      display: block;
      margin-bottom: 8px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .5px;
    }

    .gala-value {
      color: var(--text);
      font-size: 18px;
      font-weight: 800;
    }

    .accent-line {
      width: 88px;
      height: 5px;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--primary), var(--accent));
      margin: 0 0 20px;
    }

    @media (max-width: 768px) {
      .program-section { padding: 42px 16px 52px; }
      .intro-card { padding: 24px 22px; }
      .intro-card p { font-size: 16px; }
      .button-block h2 { font-size: 24px; }
      .nav-button { min-width: 100%; font-size: 15px; }

      table, tbody, tr, th, td { display: block; width: 100%; }
      tr { border-bottom: 1px solid var(--border); }
      tr:last-child { border-bottom: 0; }
      th { border-bottom: 0; padding: 16px 20px 4px; background: transparent; }
      td { border-bottom: 0; padding: 6px 20px 16px; }
      td:last-child { padding-top: 0; }

      .category-row { font-size: 18px; padding: 16px 20px; }
      .gala-grid { grid-template-columns: 1fr; }
      .gala-item { border-right: 0; border-bottom: 1px solid var(--border); min-height: auto; }
      .gala-item:last-child { border-bottom: 0; }
    }
  
table{
width:100%;
border-collapse:collapse;
font-size:15px;
}
th{
padding:10px 14px;
background:#00ADEF;
color:#fff;
text-align:left;
font-weight:600;
}
td{
padding:6px 12px;
line-height:1.2;
border-bottom:1px solid #E5E7EB;
vertical-align:middle;
}
tr:hover{background:#F8FCFF;}



/* A/B Section Table Enhancement */
.date-badge{
    display:inline-block;
    min-width:72px;
    padding:5px 10px;
    border-radius:999px;
    background:#00ADEF;
    color:#ffffff;
    font-size:13px;
    font-weight:700;
    text-align:center;
    line-height:1.1;
}
.session-title{
    font-weight:600;
    color:#1F2937;
}
.view-details-btn{
    display:inline-block;
    padding:5px 12px;
    border:1.5px solid #EE4B9A;
    border-radius:999px;
    background:#ffffff;
    color:#EE4B9A !important;
    font-size:13px;
    font-weight:700;
    text-decoration:none !important;
    line-height:1.15;
    white-space:nowrap;
    transition:all .2s ease;
}
.view-details-btn:hover{
    background:#EE4B9A;
    color:#ffffff !important;
}
table td:last-child,
table th:last-child{
    text-align:right;
    width:120px;
}
table td:first-child,
table th:first-child{
    width:90px;
}


/* Shared A/B session table: one component, identical visual system */
.program-table.shared-session-table{
    width:100%;
    border-collapse:separate !important;
    border-spacing:0 !important;
    font-size:15px;
    overflow:hidden;
    border:1px solid #E5E7EB;
    border-radius:14px;
    background:#ffffff;
}
.program-table.shared-session-table thead th{
    padding:10px 14px !important;
    background:#00ADEF !important;
    color:#ffffff !important;
    text-align:left !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    border-bottom:none !important;
}
.program-table.shared-session-table thead th:first-child{width:105px !important;}
.program-table.shared-session-table thead th:last-child{width:140px !important;text-align:right !important;}
.program-table.shared-session-table tbody td{
    padding:7px 14px !important;
    line-height:1.25 !important;
    border-bottom:1px solid #E5E7EB !important;
    vertical-align:middle !important;
    background:#ffffff !important;
}
.program-table.shared-session-table tbody tr:last-child td{border-bottom:none !important;}
.program-table.shared-session-table tbody tr:hover td{background:#F8FCFF !important;}
.program-table.shared-session-table .date-cell{width:105px !important;text-align:left !important;}
.program-table.shared-session-table .details-cell{width:140px !important;text-align:right !important;}
.program-table.shared-session-table .session-cell{font-weight:600 !important;color:#1F2937 !important;}
.program-table.shared-session-table .session-date{
    display:inline-block !important;
    min-width:70px !important;
    padding:5px 10px !important;
    border-radius:999px !important;
    background:#00ADEF !important;
    color:#ffffff !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    text-align:center !important;
    white-space:nowrap !important;
}
.program-table.shared-session-table .details-btn{
    display:inline-block !important;
    padding:5px 13px !important;
    border:1.5px solid #EE4B9A !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:#EE4B9A !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    transition:all .2s ease !important;
}
.program-table.shared-session-table .details-btn:hover{
    background:#EE4B9A !important;
    color:#ffffff !important;
}
@media (max-width:640px){
    .program-table.shared-session-table{font-size:14px;}
    .program-table.shared-session-table thead th,
    .program-table.shared-session-table tbody td{padding:7px 8px !important;}
    .program-table.shared-session-table thead th:first-child,
    .program-table.shared-session-table .date-cell{width:82px !important;}
    .program-table.shared-session-table thead th:last-child,
    .program-table.shared-session-table .details-cell{width:110px !important;}
    .program-table.shared-session-table .session-date{min-width:58px !important;padding:4px 7px !important;font-size:12px !important;}
    .program-table.shared-session-table .details-btn{padding:5px 9px !important;font-size:12px !important;}
}


/* 6/26-style compact session list */
.program-table.shared-session-table.session-list-style{
    width:100%;
    border-collapse:separate !important;
    border-spacing:0 !important;
    font-size:15px;
    overflow:hidden;
    border:1px solid #E5E7EB;
    border-radius:14px;
    background:#ffffff;
}
.program-table.shared-session-table.session-list-style tbody td{
    padding:7px 10px !important;
    line-height:1.25 !important;
    border-bottom:1px solid #E5E7EB !important;
    vertical-align:middle !important;
    background:#ffffff !important;
}
.program-table.shared-session-table.session-list-style tbody tr:last-child td{
    border-bottom:none !important;
}
.program-table.shared-session-table.session-list-style tbody tr:hover td{
    background:#F8FCFF !important;
}
.program-table.shared-session-table.session-list-style .date-cell{
    width:68px !important;
    min-width:68px !important;
    padding-right:4px !important;
    text-align:left !important;
}
.program-table.shared-session-table.session-list-style .session-cell{
    padding-left:4px !important;
    font-weight:600 !important;
    color:#1F2937 !important;
}
.program-table.shared-session-table.session-list-style .details-cell{
    width:118px !important;
    min-width:118px !important;
    text-align:right !important;
    padding-left:6px !important;
}
.program-table.shared-session-table.session-list-style .session-date{
    display:inline-block !important;
    min-width:54px !important;
    padding:4px 7px !important;
    border-radius:999px !important;
    background:#00ADEF !important;
    color:#ffffff !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    text-align:center !important;
    white-space:nowrap !important;
}
.program-table.shared-session-table.session-list-style .details-btn{
    display:inline-block !important;
    padding:5px 10px !important;
    border:1.5px solid #EE4B9A !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:#EE4B9A !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    transition:all .2s ease !important;
}
.program-table.shared-session-table.session-list-style .details-btn:hover{
    background:#EE4B9A !important;
    color:#ffffff !important;
}
@media (max-width:640px){
    .program-table.shared-session-table.session-list-style{
        font-size:14px;
    }
    .program-table.shared-session-table.session-list-style tbody td{
        padding:7px 7px !important;
    }
    .program-table.shared-session-table.session-list-style .date-cell{
        width:60px !important;
        min-width:60px !important;
    }
    .program-table.shared-session-table.session-list-style .details-cell{
        width:100px !important;
        min-width:100px !important;
    }
    .program-table.shared-session-table.session-list-style .session-date{
        min-width:50px !important;
        padding:4px 6px !important;
        font-size:11.5px !important;
    }
    .program-table.shared-session-table.session-list-style .details-btn{
        padding:5px 8px !important;
        font-size:11.5px !important;
    }
}


/* Special Program pill button */
.special-program-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
}
.special-program-title{
    font-weight:600;
    color:#1F2937;
}
.debate-details-btn{
    display:inline-block !important;
    padding:5px 13px !important;
    border:1.5px solid #EE4B9A !important;
    border-radius:999px !important;
    background:#EE4B9A !important;
    color:#ffffff !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    transition:all .2s ease !important;
}
.debate-details-btn:hover{
    background:#ffffff !important;
    color:#EE4B9A !important;
}