:root{
  --brand:#8E0D2D; /* CinC Burgundy */
  --talk:#2d6cdf;
  --bg:#f7f7f8;
  --paper:#ffffff;
  --muted:#6b7280;
  --ink:#111827;
  --grid:#ececec;
  --shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
}

html,body{margin:0; padding:0; background:var(--bg); color:var(--ink); font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; line-height:1.35;}

table{border-collapse:collapse; width:100%;}
td{vertical-align:top;}

/* Day headers */
tr[bgcolor="#8E0D2D"] td{
  background:#fff !important;
  padding:0 !important;
  border:none;
}
tr[bgcolor="#8E0D2D"] b{
  display:block;
  margin:18px 12px 8px 12px;
  padding:14px 16px;
  background:var(--brand);
  color:#e9e9e9;
  font-size:20px;
  font-weight:700;
  border-radius:12px;
  box-shadow:var(--shadow);
}

/* Oral/Poster and By day headers */
h2 {
  font-size: 18px;
  margin: 20px 12px 12px 12px;
  padding: 10px 14px;
  border: 2px solid var(--brand);
  border-radius: 10px;
  color: var(--brand);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}
h2 span, h2 a {
  color: var(--brand);
  font-weight: 700;
  text-decoration: none;
  margin: 0 4px;
}
h2 a:hover {
  text-decoration: underline;
}

/* Session blocks */
tr[bgcolor="#d0d0d0"]{ background:transparent !important; }
tr[bgcolor="#d0d0d0"] > td{
  padding:6px 12px;
  border:none;
}
tr[bgcolor="#d0d0d0"] > td > table{
  width:100% !important;
  background:linear-gradient(0deg, rgba(142,13,45,0.08), rgba(142,13,45,0.08));
  border:1px solid var(--grid);
  border-left:6px solid var(--brand);
  border-radius:12px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
tr[bgcolor="#d0d0d0"] > td > table td:first-child{
  width:110px;
  max-width:110px;
  padding:12px 14px;
  background:#fafafa;
  color:var(--brand);
  font-weight:600;
  white-space:nowrap;
  border-right:1px solid var(--grid);
}
tr[bgcolor="#d0d0d0"] > td > table td:nth-child(2){
  padding:12px 14px 14px 14px;
}
tr[bgcolor="#d0d0d0"] > td > table td:nth-child(2) b{
  display:block;
  font-size:16px;
  line-height:1.25;
  margin-bottom:6px;
}
tr[bgcolor="#d0d0d0"] > td > table td:nth-child(2) { color:#1f2937; }
tr[bgcolor="#d0d0d0"] > td > table td:nth-child(2) a{ color:#0b66d0; text-decoration:none; }
tr[bgcolor="#d0d0d0"] > td > table td:nth-child(2) a:hover{ text-decoration:underline; }

/* Talk rows */
tr[bgcolor="#ededed"]{ background:transparent !important; }
tr[bgcolor="#ededed"] > td{
  padding:4px 12px 0 28px;
  border:none;
}
tr[bgcolor="#ededed"] > td > table{
  width:100% !important;
  background:linear-gradient(0deg, rgba(45,108,223,0.06), rgba(45,108,223,0.06));
  border:1px solid var(--grid);
  border-left:4px solid var(--talk);
  border-radius:10px;
  overflow:hidden;
}
tr[bgcolor="#ededed"] > td > table td:first-child{
  width:110px;
  max-width:110px;
  padding:10px 12px;
  background:#fdfdfd;
  color:#111;
  font-weight:600;
  white-space:nowrap;
  border-right:1px solid var(--grid);
  font-size:13px;
}
tr[bgcolor="#ededed"] > td > table td:nth-child(2){
  padding:10px 12px 12px 12px;
  font-size:14px;
  line-height:1.35;
}
tr[bgcolor="#ededed"] > td > table td:nth-child(2) a{ color:#0b66d0; text-decoration:none; }
tr[bgcolor="#ededed"] > td > table td:nth-child(2) a:hover{ text-decoration:underline; }
tr[bgcolor="#ededed"] > td > table td:nth-child(2) b{
  display:inline-block;
  margin-bottom:2px;
}

/* Spacing */
tr[bgcolor="#d0d0d0"] + tr[bgcolor="#d0d0d0"] > td,
tr[bgcolor="#d0d0d0"] + tr[bgcolor="#ededed"] > td,
tr[bgcolor="#ededed"] + tr[bgcolor="#ededed"] > td{
  padding-top:6px;
}
tr[bgcolor="#ededed"] > td > table{ margin-bottom:6px; }

a.buttonlike{display:inline-block; padding:6px 10px; border:1px solid var(--grid); border-radius:6px; background:#fff;}

@media print{
  :root{ --bg:#fff; }
  body{ background:#fff; }
  tr[bgcolor="#8E0D2D"] b{ box-shadow:none; background:var(--brand); color:#fff; }
  tr[bgcolor="#d0d0d0"] > td > table,
  tr[bgcolor="#ededed"] > td > table{ box-shadow:none; }
  a[href]:after{ content:" (" attr(href) ")"; font-size:10px; color:#555; }
}

@media (max-width: 820px){
  tr[bgcolor="#d0d0d0"] > td{ padding:8px 8px; }
  tr[bgcolor="#d0d0d0"] > td > table td:first-child,
  tr[bgcolor="#ededed"] > td > table td:first-child{
    display:block;
    width:auto; max-width:none; border-right:none;
    border-bottom:1px solid var(--grid);
  }
  tr[bgcolor="#d0d0d0"] > td > table td:nth-child(2),
  tr[bgcolor="#ededed"] > td > table td:nth-child(2){
    display:block;
    padding-top:8px;
  }
  tr[bgcolor="#ededed"] > td{ padding-left:16px; }
}

a{ color:#0b66d0; }
a:hover{ text-decoration:underline; }