/* Compact schedule-timeline A/B test. Scoped to .pt-programme. */
.pt-programme{--pt-navy:var(--conference-primary,#24435c);--pt-blue:var(--conference-primary,#24435c);--pt-green:var(--conference-primary,#24435c);--pt-gold:var(--conference-accent,#a06a2b);--pt-text:#283442;--pt-muted:#667382;--pt-line:#dfe5eb;--pt-soft:#f6f8fa;max-width:1240px;margin:0 auto;color:var(--pt-text)}
.pt-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 16px}.pt-page-header h1{font-size:30px;line-height:1.1;margin:0 0 4px}.pt-page-header p{margin:0;color:var(--pt-muted)}.pt-design-links{display:flex;gap:12px;font-size:12px;white-space:nowrap}.pt-design-links a{color:var(--pt-muted);text-decoration:underline}
.pt-date-tabs{display:flex;gap:7px;overflow-x:auto;padding:0 0 8px;margin:0 0 10px}.pt-date-tab{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;min-width:64px;padding:7px 12px;border:1px solid var(--pt-line);border-radius:999px;background:#fff;color:var(--pt-text);text-decoration:none;line-height:1}.pt-date-tab:hover{border-color:#9fb5c7;text-decoration:none}.pt-date-tab.is-active{background:var(--pt-blue);border-color:var(--pt-blue);color:#fff}.pt-date-day{font-size:11px;font-weight:800;text-transform:uppercase}.pt-date-date{font-size:9px;font-weight:700;text-transform:uppercase;margin-top:2px;opacity:.85}
.pt-filter{border:1px solid var(--pt-line);border-radius:6px;background:#fff;margin:0 0 18px}.pt-filter>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:10px 13px;font-weight:700;list-style:none}.pt-filter>summary::-webkit-details-marker{display:none}.pt-filter-chevron,.pt-session-chevron{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}.pt-filter[open] .pt-filter-chevron,.pt-session[open] .pt-session-chevron{transform:rotate(225deg)}.pt-filter-body{border-top:1px solid var(--pt-line);padding:12px 13px;background:var(--pt-soft)}.pt-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pt-filter-field label{display:block;font-size:12px;font-weight:800;margin:0 0 5px}.pt-filter-field select{width:100%;height:92px;border:1px solid #bfc9d2;background:#fff}.pt-filter-actions{display:flex;gap:8px;margin-top:10px}
.pt-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:31px;padding:5px 11px;border:1px solid #b9c5cf;border-radius:4px;background:#fff;color:var(--pt-text);font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer}.pt-button:hover{text-decoration:none;filter:brightness(.97)}.pt-button-primary{background:var(--pt-blue);border-color:var(--pt-blue);color:#fff}.pt-button-secondary{background:#fff;border-color:#8fa6b9;color:var(--pt-navy)}.pt-button-saved{background:#edf8f0;border-color:#8dc79b;color:#236f35}.pt-button-quiet{background:#fff;color:var(--pt-muted)}
.pt-day{margin:0 0 24px}.pt-day>h2{margin:0;padding:0 0 8px;border-bottom:2px solid var(--pt-gold);font-size:22px;line-height:1.2;color:var(--pt-navy)}.pt-timeline{position:relative}.pt-timeline:before{content:"";position:absolute;left:108px;top:0;bottom:0;width:1px;background:#e7ebef;pointer-events:none}
.pt-separator{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:start;margin:10px 0 4px;padding:8px 10px 8px 0;border-left:4px solid var(--pt-green);background:#eef8f0;color:#254f31}.pt-separator time{padding:1px 12px 0 12px;color:var(--pt-navy);font-size:11px;font-weight:800;white-space:nowrap}.pt-separator strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.pt-separator span{display:block;margin-top:2px;color:#58715e;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-session{border-bottom:1px solid var(--pt-line);background:#fff}.pt-session>summary{list-style:none}.pt-session>summary::-webkit-details-marker{display:none}.pt-session-summary{display:grid;grid-template-columns:108px minmax(0,1fr) 20px;align-items:center;gap:0;cursor:pointer;padding:10px 8px 10px 0}.pt-session-summary:hover{background:#fafbfc}.pt-time-room{padding:0 12px;align-self:start}.pt-time-room time{display:block;color:var(--pt-navy);font-size:12px;font-weight:800;white-space:nowrap}.pt-room{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:999px;background:var(--pt-navy);color:#fff;font-size:9px;font-weight:800;line-height:1.25;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-session-heading{min-width:0}.pt-session-title{font-size:15px;font-weight:750;line-height:1.25;color:#253444}.pt-session-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}.pt-session-meta span{font-size:10px;color:var(--pt-muted)}.pt-session-meta span+span:before{content:"·";margin-right:6px;color:#a2aab2}.pt-session-chevron{justify-self:end;margin-right:4px;color:#6e7b87}
.pt-session[open]{margin:3px 0 9px;border:1px solid #cfdbe4;border-left:4px solid var(--pt-blue);border-radius:5px;box-shadow:0 2px 8px rgba(20,50,75,.07)}.pt-session[open] .pt-session-summary{padding-left:0;border-bottom:1px solid #e8edf1;background:#fbfdff}.pt-session-content{padding:11px 15px 13px 120px}.pt-session-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 10px}.pt-session-actions form{margin:0}.pt-chairs{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:8px 0;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4;font-size:12px}.pt-chairs strong{color:#475563}.pt-chairs a{color:var(--pt-blue);text-decoration:none}.pt-chairs a:hover{text-decoration:underline}.pt-session-intro{margin:8px 0;color:#4f5c68;font-size:12px;line-height:1.4}
.pt-lectures{margin-top:9px}.pt-lectures h3{margin:0;padding:0 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#70808e}.pt-lecture{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 0;border-top:1px solid #e7ebef}.pt-lecture-title{font-size:13px;font-weight:750;line-height:1.28;color:#263443}.pt-speaker{margin-top:2px;font-size:11px;color:var(--pt-muted)}.pt-lecture-actions{display:flex;gap:5px;white-space:nowrap}.pt-text-action{display:inline-flex;align-items:center;justify-content:center;min-width:50px;padding:4px 8px;border:1px solid #c8d1d9;border-radius:4px;background:#fff;color:#425362;font-size:11px;font-weight:700;text-decoration:none}.pt-text-action:hover{text-decoration:none;background:#f7f9fa}.pt-text-action-primary{border-color:#7ca8ca;color:#155d93}.pt-no-lectures,.pt-empty{color:var(--pt-muted)}
@media(max-width:760px){.pt-page-header{display:block}.pt-page-header h1{font-size:25px}.pt-design-links{margin-top:8px}.pt-filter-grid{grid-template-columns:1fr}.pt-timeline:before{display:none}.pt-day>h2{font-size:19px}.pt-separator{grid-template-columns:1fr;padding:7px 9px}.pt-separator time{padding:0;margin-bottom:3px}.pt-separator span{display:none}.pt-session-summary{grid-template-columns:minmax(0,1fr) 18px;padding:8px 6px}.pt-time-room{grid-column:1;padding:0;display:flex;align-items:center;gap:7px}.pt-time-room time{font-size:11px}.pt-room{margin:0;max-width:145px}.pt-session-heading{grid-column:1;margin-top:4px}.pt-session-chevron{grid-column:2;grid-row:1 / span 2}.pt-session-title{font-size:13px}.pt-session-content{padding:9px 10px 11px}.pt-chairs{grid-template-columns:1fr;gap:2px}.pt-lecture{grid-template-columns:1fr;gap:6px;padding:8px 0}.pt-lecture-actions{justify-content:flex-start}.pt-text-action{min-width:60px}.pt-filter-actions{flex-wrap:wrap}}

/* v2 alignment refinements: keep the desktop timeline divider away from content
 * and prevent long date headings from overflowing on phones.
 */
@media (min-width:761px){
  .pt-session-heading{
    padding-left:14px;
  }
  .pt-separator>div{
    padding-left:14px;
  }
}

@media (max-width:760px){
  .pt-day>h2{
    font-size:16px;
    line-height:1.15;
    overflow-wrap:anywhere;
  }
}


/* v3 mobile date tabs: all five buttons fit on one row without scrolling. */
@media (max-width:760px){
  .pt-date-tabs{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:3px!important;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
    margin:0 0 9px!important;
  }
  .pt-date-tab{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:5px 1px!important;
    border-radius:999px!important;
  }
  .pt-date-day{
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .pt-date-date{
    font-size:7.5px!important;
    line-height:1!important;
    margin-top:1px!important;
    white-space:nowrap!important;
  }
}

/* v4 timeline-style session-details modal and chair profile popups. */
.pt-session-modal{
  --pt-navy:var(--conference-primary,#24435c);
  --pt-blue:var(--conference-primary,#24435c);
  --pt-green:var(--conference-primary,#24435c);
  --pt-gold:var(--conference-accent,#a06a2b);
  --pt-text:#283442;
  --pt-muted:#667382;
  --pt-line:#dfe5eb;
  max-width:1320px;
  margin:0 auto;
  color:var(--pt-text);
}
.pt-modal-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:0 0 18px;
}
.pt-modal-group-title{
  margin:0 0 14px;
  padding:0 0 10px;
  border-bottom:2px solid var(--pt-gold);
  color:var(--pt-navy);
  font-size:25px;
  line-height:1.2;
}
.pt-modal-timeline{position:relative;}
.pt-modal-timeline:before{
  content:"";
  position:absolute;
  left:145px;
  top:0;
  bottom:0;
  width:1px;
  background:#e7ebef;
  pointer-events:none;
}
.pt-modal-session{
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  border-bottom:1px solid var(--pt-line);
  background:#fff;
}
.pt-modal-session:first-child{border-top:1px solid var(--pt-line);}
.pt-modal-time-room{
  padding:18px 18px 18px 8px;
}
.pt-modal-time-room time{
  display:block;
  color:var(--pt-navy);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
.pt-modal-time-room .pt-room{
  max-width:120px;
  margin-top:6px;
}
.pt-modal-session-main{
  min-width:0;
  padding:16px 6px 18px 22px;
}
.pt-modal-session-header h2{
  margin:0;
  color:#253444;
  font-size:22px;
  line-height:1.2;
}
.pt-modal-chairs{margin-top:10px;}
.pt-modal-copy-section{
  margin:12px 0 0;
  padding:11px 0 0;
  border-top:1px solid #edf1f4;
}
.pt-modal-copy-section h3,
.pt-modal-lectures>h3{
  margin:0 0 7px;
  color:#70808e;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pt-modal-copy-section .section-copy{
  color:#4f5c68;
  font-size:13px;
  line-height:1.45;
}
.pt-modal-lectures{margin-top:13px;}
.pt-modal-lecture{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:10px 0;
  border-top:1px solid #e7ebef;
}
.pt-modal-speaker-thumb{
  width:48px;
  height:48px;
  border:1px solid #d9e1e8;
  border-radius:50%;
  background:#fff;
  object-fit:cover;
}
.pt-modal-lecture-copy{min-width:0;}
.pt-modal-lecture .pt-lecture-title{
  font-size:14px;
  line-height:1.25;
}
.pt-modal-lecture .pt-speaker{
  font-size:12px;
}
.pt-modal-lecture-actions{
  justify-content:flex-end;
}
.pt-modal-empty{
  padding:20px;
  color:#667382;
  text-align:center;
}

@media(max-width:760px){
  .pt-modal-toolbar{justify-content:flex-start;margin-bottom:12px;}
  .pt-modal-group-title{font-size:19px;}
  .pt-modal-timeline:before{display:none;}
  .pt-modal-session{
    grid-template-columns:1fr;
  }
  .pt-modal-time-room{
    display:flex;
    align-items:center;
    gap:8px;
    padding:11px 8px 4px;
  }
  .pt-modal-time-room time{font-size:12px;}
  .pt-modal-time-room .pt-room{margin:0;max-width:150px;}
  .pt-modal-session-main{padding:5px 8px 14px;}
  .pt-modal-session-header h2{font-size:18px;}
  .pt-modal-lecture{
    grid-template-columns:auto minmax(0,1fr);
    gap:8px;
  }
  .pt-modal-speaker-thumb{
    width:42px;
    height:42px;
  }
  .pt-modal-lecture-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
    padding-left:50px;
  }
}

/* v5 speaker/chair profile modal: match the programme timeline design. */
.pt-profile-modal{
  --pt-navy:var(--conference-primary,#24435c);
  --pt-blue:var(--conference-primary,#24435c);
  --pt-green:var(--conference-primary,#24435c);
  --pt-gold:var(--conference-accent,#a06a2b);
  --pt-text:#283442;
  --pt-muted:#667382;
  --pt-line:#dfe5eb;
  --pt-soft:#f6f8fa;
  max-width:1120px;
  margin:0 auto;
  padding:14px 8px 6px;
  color:var(--pt-text);
}
.pt-profile-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:28px;
  align-items:start;
  padding:0 0 22px;
  border-bottom:2px solid var(--pt-gold);
}
.pt-profile-heading-copy{min-width:0;}
.pt-profile-header h1{
  margin:0;
  color:var(--pt-navy);
  font-size:34px;
  line-height:1.12;
  font-weight:750;
}
.pt-profile-role-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:13px 0 0;
}
.pt-profile-role-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 10px;
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.pt-profile-role-badge.is-chair{background:#c93535;}
.pt-profile-role-badge.is-invited{background:#0b568d;}
.pt-profile-role-badge.is-presenter{background:#2f8f46;}
.pt-profile-meta-line{
  margin:13px 0 0;
  color:var(--pt-muted);
  font-size:13px;
  line-height:1.45;
}
.pt-profile-photo{
  width:150px;
  height:150px;
  object-fit:cover;
  border:4px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 1px #d4dde4,0 4px 16px rgba(20,50,75,.10);
}
.pt-profile-biography{
  margin:18px 0 24px;
  border:1px solid #cbd9e3;
  border-left:4px solid var(--pt-blue);
  border-radius:5px;
  background:#fff;
  overflow:hidden;
}
.pt-profile-biography>summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:11px 13px;
  cursor:pointer;
  list-style:none;
  background:#f2f8fc;
  color:var(--pt-navy);
  font-size:14px;
  font-weight:800;
}
.pt-profile-biography>summary::-webkit-details-marker{display:none;}
.pt-profile-biography>summary:after{
  content:"";
  width:8px;
  height:8px;
  margin-left:auto;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .15s;
}
.pt-profile-biography[open]>summary:after{transform:rotate(225deg);}
.pt-profile-summary-hint{
  color:#6a7d8b;
  font-size:11px;
  font-weight:600;
}
.pt-profile-biography-copy{
  padding:15px 16px;
  border-top:1px solid #dce7ee;
  color:#465563;
  font-size:13px;
  line-height:1.55;
}
.pt-profile-programme>h2{
  margin:0 0 16px;
  color:var(--pt-navy);
  font-size:22px;
  line-height:1.2;
}
.pt-profile-day-section{margin:0 0 24px;}
.pt-profile-day-section>h3{
  margin:0;
  padding:0 0 7px;
  border-bottom:2px solid var(--pt-gold);
  color:var(--pt-navy);
  font-size:18px;
  line-height:1.2;
}
.pt-profile-role-list{position:relative;}
.pt-profile-role-list:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:132px;
  width:1px;
  background:#e7ebef;
}
.pt-profile-role-row{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  border-bottom:1px solid var(--pt-line);
  background:#fff;
}
.pt-profile-time-room{
  position:relative;
  z-index:1;
  padding:14px 15px 14px 0;
}
.pt-profile-time-room time{
  display:block;
  color:var(--pt-navy);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.pt-profile-time-room .pt-room{margin-top:5px;max-width:112px;}
.pt-profile-role-copy{
  min-width:0;
  padding:13px 4px 15px 18px;
}
.pt-profile-role-topline{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:0 0 6px;
}
.pt-profile-secondary-meta{
  color:var(--pt-muted);
  font-size:11px;
}
.pt-profile-secondary-meta+.pt-profile-secondary-meta:before{
  content:"·";
  margin-right:7px;
  color:#9aa6b0;
}
.pt-profile-session-title{
  display:inline-block;
  color:var(--pt-blue);
  font-size:16px;
  font-weight:750;
  line-height:1.3;
  text-decoration:none;
}
.pt-profile-session-title:hover{text-decoration:underline;}
.pt-profile-lecture-title{
  margin-top:6px;
  color:#485967;
  font-size:12px;
  line-height:1.4;
}
.pt-profile-lecture-title>span{
  margin-right:6px;
  color:#74828e;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.pt-profile-empty{
  padding:18px;
  border:1px solid var(--pt-line);
  border-radius:5px;
  color:var(--pt-muted);
  background:var(--pt-soft);
}
.pt-profile-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--pt-line);
}

@media(max-width:760px){
  .pt-profile-modal{padding:6px 2px;}
  .pt-profile-header{
    grid-template-columns:minmax(0,1fr) 88px;
    gap:14px;
    padding-bottom:16px;
  }
  .pt-profile-header h1{font-size:25px;}
  .pt-profile-photo{width:88px;height:88px;border-width:3px;}
  .pt-profile-meta-line{font-size:12px;}
  .pt-profile-role-summary{gap:5px;margin-top:9px;}
  .pt-profile-role-badge{padding:5px 8px;font-size:10px;}
  .pt-profile-summary-hint{display:none;}
  .pt-profile-programme>h2{font-size:19px;}
  .pt-profile-day-section>h3{font-size:16px;}
  .pt-profile-role-list:before{display:none;}
  .pt-profile-role-row{grid-template-columns:1fr;}
  .pt-profile-time-room{
    display:flex;
    align-items:center;
    gap:7px;
    padding:11px 4px 3px;
  }
  .pt-profile-time-room .pt-room{margin:0;max-width:150px;}
  .pt-profile-role-copy{padding:6px 4px 13px;}
  .pt-profile-session-title{font-size:14px;}
  .pt-profile-footer{justify-content:stretch;}
  .pt-profile-footer .pt-button{width:100%;}
}

/* v6 standalone session page: use the same timeline/modal design as listing. */
.pt-timeslot-page{
  max-width:1320px;
  padding:0 10px 26px;
  box-sizing:border-box;
}
.pt-timeslot-page .pt-session-modal{
  max-width:none;
}
.pt-timeslot-page .pt-modal-toolbar{
  margin:0 0 12px;
}
.pt-timeslot-page .pt-modal-toolbar .pt-button{
  font-size:12px;
}
.pt-timeslot-page .pt-modal-timeline{
  border-radius:6px;
  overflow:hidden;
}
.pt-timeslot-page .pt-modal-session:first-child{
  border-top:0;
}
.pt-timeslot-page .pt-modal-group-title{
  margin-top:0;
}
.pt-timeslot-page .pt-modal-copy-section .section-copy,
.pt-timeslot-page .pt-session-intro.section-copy{
  max-width:1050px;
}
@media(max-width:760px){
  .pt-timeslot-page{
    padding:0 4px 18px;
  }
  .pt-timeslot-page .pt-modal-toolbar{
    margin-bottom:8px;
  }
}

/* v7 standalone public profile page: same visual language as the timeline listing. */
.pt-profile-page{
  --pt-navy:var(--conference-primary,#24435c);
  --pt-blue:var(--conference-primary,#24435c);
  --pt-green:var(--conference-primary,#24435c);
  --pt-gold:var(--conference-accent,#a06a2b);
  --pt-text:#283442;
  --pt-muted:#667382;
  --pt-line:#dfe5eb;
  --pt-soft:#f6f8fa;
  max-width:1180px;
  margin:0 auto 42px;
  padding:0 10px 24px;
  box-sizing:border-box;
  color:var(--pt-text);
}
.pt-profile-page-toolbar{
  display:flex;
  justify-content:flex-start;
  margin:0 0 16px;
}
.pt-profile-page .pt-profile-header{
  grid-template-columns:minmax(0,1fr) 190px;
  gap:34px;
  align-items:center;
  padding:4px 0 26px;
}
.pt-profile-page .pt-profile-header h1{
  font-size:40px;
}
.pt-profile-page-photo-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}
.pt-profile-page .pt-profile-page-photo{
  width:190px;
  height:190px;
}
.pt-profile-page-placeholder{
  display:flex;
  width:190px;
  height:190px;
  align-items:center;
  justify-content:center;
  border:4px solid #fff;
  border-radius:50%;
  background:#edf2f6;
  box-shadow:0 0 0 1px #d4dde4,0 4px 16px rgba(20,50,75,.10);
  color:#637382;
  font-size:48px;
  font-weight:800;
}
.pt-profile-page .pt-profile-meta-line{
  max-width:800px;
  font-size:14px;
}
.pt-profile-page-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}
.pt-profile-copy-status{
  color:var(--pt-green);
  font-size:12px;
  font-weight:800;
}
.pt-profile-role-badge.is-attendee{background:#2a67a5;}
.pt-profile-page-biography{
  margin:20px 0 26px;
}
.pt-profile-page-programme>h2{
  font-size:25px;
  margin-bottom:18px;
}
.pt-profile-page .pt-profile-day-section>h3{
  font-size:20px;
}
.pt-profile-page .pt-profile-role-list:before{
  left:150px;
}
.pt-profile-page .pt-profile-role-row{
  grid-template-columns:150px minmax(0,1fr);
}
.pt-profile-page .pt-profile-time-room{
  padding:16px 18px 16px 0;
}
.pt-profile-page .pt-profile-time-room time{
  font-size:13px;
}
.pt-profile-page .pt-profile-role-copy{
  padding:15px 4px 17px 20px;
}
.pt-profile-page .pt-profile-session-title{
  font-size:17px;
}
.pt-profile-page .pt-profile-lecture-title a{
  color:var(--pt-blue);
  font-weight:700;
  text-decoration:none;
}
.pt-profile-page .pt-profile-lecture-title a:hover{text-decoration:underline;}

@media(max-width:760px){
  .pt-profile-page{
    padding:0 4px 18px;
    margin-bottom:24px;
  }
  .pt-profile-page-toolbar{margin-bottom:10px;}
  .pt-profile-page .pt-profile-header{
    grid-template-columns:minmax(0,1fr) 92px;
    gap:14px;
    padding-bottom:17px;
  }
  .pt-profile-page .pt-profile-header h1{
    font-size:25px;
  }
  .pt-profile-page .pt-profile-page-photo,
  .pt-profile-page-placeholder{
    width:92px;
    height:92px;
  }
  .pt-profile-page-placeholder{
    border-width:3px;
    font-size:25px;
  }
  .pt-profile-page-actions{
    grid-column:1 / -1;
    margin-top:13px;
    gap:5px;
  }
  .pt-profile-page-actions .pt-button{
    flex:1 1 auto;
    text-align:center;
  }
  .pt-profile-page-programme>h2{
    font-size:20px;
  }
  .pt-profile-page .pt-profile-day-section>h3{
    font-size:16px;
  }
  .pt-profile-page .pt-profile-role-list:before{display:none;}
  .pt-profile-page .pt-profile-role-row{grid-template-columns:1fr;}
  .pt-profile-page .pt-profile-time-room{
    display:flex;
    align-items:center;
    gap:7px;
    padding:11px 4px 3px;
  }
  .pt-profile-page .pt-profile-time-room .pt-room{
    margin:0;
    max-width:150px;
  }
  .pt-profile-page .pt-profile-role-copy{
    padding:6px 4px 13px;
  }
  .pt-profile-page .pt-profile-session-title{
    font-size:14px;
  }
}


/* v8 standalone session date heading. */
.pt-standalone-session-date{
  margin:0 0 18px;
  padding:0 0 9px;
  border-bottom:2px solid var(--pt-gold,var(--conference-accent,#a06a2b));
  color:var(--pt-navy,var(--conference-primary,#24435c));
  font-size:24px;
  font-weight:700;
  line-height:1.2;
}
.pt-standalone-session-date + .pt-modal-group-title{
  margin-top:0;
}
@media(max-width:760px){
  .pt-standalone-session-date{
    margin-bottom:13px;
    padding-bottom:7px;
    font-size:18px;
    line-height:1.2;
    overflow-wrap:anywhere;
  }
}

/* v10 public faculty directory aligned with the programme timeline */
.pt-faculty-page{
  width:min(100%, 1480px);
  margin:0 auto;
  color:var(--pt-ink,#24364b);
}
.pt-faculty-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin:0 0 18px;
  padding:0 0 14px;
  border-bottom:3px solid var(--pt-gold,var(--conference-accent,#a06a2b));
}
.pt-faculty-page-header h1{
  margin:0;
  color:var(--pt-navy,var(--conference-primary,#24435c));
  font-size:34px;
  font-weight:700;
  line-height:1.1;
}
.pt-faculty-page-header p{
  margin:6px 0 0;
  color:var(--pt-muted,#657286);
  font-size:15px;
}
.pt-faculty-role-legend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  margin:0 0 16px;
  color:var(--pt-muted,#657286);
  font-size:13px;
  font-weight:600;
}
.pt-faculty-role-legend>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pt-faculty-role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:27px;
  border-radius:6px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  box-sizing:border-box;
}
.pt-faculty-role.is-chair{background:#c93535;}
.pt-faculty-role.is-invited{background:#0b4f84;}
.pt-faculty-role.is-presenter{background:#318d49;}
.pt-faculty-filter{
  margin:0 0 20px;
  border:1px solid #d7e0e8;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.pt-faculty-filter>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 16px;
  background:#f5f7fa;
  color:var(--pt-ink,#24364b);
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  list-style:none;
}
.pt-faculty-filter>summary::-webkit-details-marker{display:none;}
.pt-faculty-filter>summary:after{
  content:'+';
  flex:0 0 auto;
  color:var(--pt-navy,var(--conference-primary,#24435c));
  font-size:20px;
  font-weight:400;
  line-height:1;
}
.pt-faculty-filter[open]>summary:after{content:'−';}
.pt-faculty-filter-summary{
  margin-left:auto;
  color:var(--pt-muted,#657286);
  font-size:12px;
  font-weight:500;
}
.pt-faculty-filter-body{
  padding:16px;
  border-top:1px solid #e3e9ef;
}
.pt-faculty-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 14px;
}
.pt-faculty-field label{
  display:block;
  margin:0 0 5px;
  color:var(--pt-ink,#24364b);
  font-size:12px;
  font-weight:700;
}
.pt-faculty-field .pt-input,
.pt-faculty-field .pt-select{
  width:100%;
  min-height:39px;
  padding:7px 10px;
  border:1px solid #cfd9e3;
  border-radius:5px;
  background:#fff;
  color:var(--pt-ink,#24364b);
  box-sizing:border-box;
  font-size:14px;
}
.pt-faculty-role-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin:14px 0 0;
  padding:12px 0 0;
  border-top:1px solid #edf1f5;
}
.pt-faculty-role-filters label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--pt-ink,#24364b);
  font-size:13px;
  font-weight:600;
}
.pt-faculty-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.pt-faculty-filter-actions .submit{display:inline-block;margin:0;}
.pt-faculty-results-summary{
  margin:0 0 12px;
  color:var(--pt-muted,#657286);
  font-size:13px;
  font-weight:600;
}
.pt-faculty-directory{
  border-top:1px solid #dde5ec;
}
.pt-faculty-letter-group{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  border-bottom:1px solid #dde5ec;
}
.pt-faculty-letter-group>h2{
  margin:0;
  padding:18px 14px;
  border-right:1px solid #dde5ec;
  color:var(--pt-navy,var(--conference-primary,#24435c));
  font-size:28px;
  font-weight:700;
  line-height:1;
  text-align:center;
}
.pt-faculty-list{min-width:0;}
.pt-faculty-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:66px;
  padding:11px 14px;
  border-bottom:1px solid #edf1f5;
  background:#fff;
}
.pt-faculty-row:last-child{border-bottom:0;}
.pt-faculty-row:hover{background:#f8fafc;}
.pt-faculty-row-roles{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  width:58px;
}
.pt-faculty-row-copy{min-width:0;}
.pt-faculty-name{
  display:inline-block;
  color:var(--pt-ink,#24364b);
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
}
.pt-faculty-name:hover{color:var(--pt-link,#0a72c8);text-decoration:underline;}
.pt-faculty-affiliation{
  margin-top:4px;
  color:var(--pt-muted,#657286);
  font-size:13px;
  line-height:1.3;
}
.pt-faculty-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}
.pt-faculty-row-actions .pt-button{
  min-width:66px;
  padding:7px 11px;
  font-size:12px;
}
.pt-faculty-empty{
  padding:20px;
  border:1px solid #d9e2ea;
  border-radius:8px;
  background:#f8fafc;
  color:var(--pt-muted,#657286);
}
.pt-faculty-pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:22px 0 0;
}
.pt-faculty-page-link,
.pt-faculty-page-gap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border:1px solid #cfd9e3;
  border-radius:5px;
  background:#fff;
  color:var(--pt-navy,var(--conference-primary,#24435c));
  box-sizing:border-box;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.pt-faculty-page-link:hover,
.pt-faculty-page-link.is-active{
  border-color:var(--pt-navy,var(--conference-primary,#24435c));
  background:var(--pt-navy,var(--conference-primary,#24435c));
  color:#fff;
}
.pt-faculty-page-gap{border:0;background:transparent;}

@media(max-width:900px){
  .pt-faculty-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .pt-faculty-page-header{align-items:flex-start;gap:12px;}
  .pt-faculty-page-header h1{font-size:27px;}
  .pt-faculty-page-header p{font-size:13px;}
  .pt-faculty-filter>summary{align-items:flex-start;padding:11px 12px;}
  .pt-faculty-filter-summary{display:none;}
  .pt-faculty-filter-body{padding:12px;}
  .pt-faculty-filter-grid{grid-template-columns:1fr;gap:10px;}
  .pt-faculty-letter-group{grid-template-columns:40px minmax(0,1fr);}
  .pt-faculty-letter-group>h2{
    padding:15px 6px;
    font-size:20px;
  }
  .pt-faculty-row{
    grid-template-columns:auto minmax(0,1fr);
    gap:8px 10px;
    min-height:0;
    padding:10px;
  }
  .pt-faculty-row-roles{width:52px;align-self:start;}
  .pt-faculty-role{width:23px;height:23px;border-radius:5px;font-size:10px;}
  .pt-faculty-name{font-size:14px;}
  .pt-faculty-affiliation{font-size:12px;line-height:1.25;}
  .pt-faculty-row-actions{
    grid-column:2;
    justify-content:flex-start;
  }
  .pt-faculty-row-actions .pt-button{
    min-width:58px;
    padding:6px 9px;
    font-size:11px;
  }
}
@media(max-width:430px){
  .pt-faculty-page-header{display:block;}
  .pt-faculty-page-header>.pt-button{margin-top:10px;}
  .pt-faculty-role-legend{gap:8px 12px;font-size:12px;}
  .pt-faculty-letter-group{grid-template-columns:32px minmax(0,1fr);}
  .pt-faculty-letter-group>h2{font-size:17px;padding:13px 4px;}
  .pt-faculty-row{grid-template-columns:minmax(0,1fr);}
  .pt-faculty-row-roles{width:auto;}
  .pt-faculty-row-actions{grid-column:1;}
}

/* v11 faculty directory refinements: visible filter action and denser rows. */
.pt-faculty-page{
  --pt-navy:var(--conference-primary,#24435c);
  --pt-blue:var(--conference-primary,#24435c);
  --pt-green:var(--conference-primary,#24435c);
  --pt-gold:var(--conference-accent,#a06a2b);
  --pt-text:#283442;
  --pt-ink:#24364b;
  --pt-muted:#657286;
  --pt-line:#dfe5eb;
  --pt-link:#0a72c8;
}

/* The generic button variables were previously scoped to .pt-programme,
 * which made the submit button white-on-white on the standalone faculty page.
 */
.pt-faculty-filter-actions .pt-button-primary,
.pt-faculty-filter-actions input.pt-button-primary,
.pt-faculty-filter-actions button.pt-button-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:7px 14px!important;
  border:1px solid #004f3a!important;
  border-radius:5px!important;
  background:#004f3a!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.pt-faculty-filter-actions .pt-button-primary:hover{
  background:#12598f!important;
  border-color:#12598f!important;
  color:#fff!important;
}
.pt-faculty-filter-actions .pt-button-secondary{
  min-height:36px!important;
  padding:7px 14px!important;
}

/* Compact the directory while keeping names easy to scan. */
.pt-faculty-letter-group{
  grid-template-columns:60px minmax(0,1fr)!important;
}
.pt-faculty-letter-group>h2{
  padding:12px 9px!important;
  font-size:24px!important;
}
.pt-faculty-row{
  gap:10px!important;
  min-height:48px!important;
  padding:7px 11px!important;
}
.pt-faculty-row-roles{
  width:52px!important;
  gap:3px!important;
}
.pt-faculty-role{
  width:24px!important;
  height:24px!important;
  border-radius:5px!important;
  font-size:11px!important;
}
.pt-faculty-name{
  font-size:15px!important;
  line-height:1.15!important;
}
.pt-faculty-affiliation{
  margin-top:2px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.pt-faculty-row-actions{
  gap:5px!important;
}
.pt-faculty-row-actions .pt-button{
  min-width:58px!important;
  min-height:29px!important;
  padding:5px 9px!important;
  font-size:11px!important;
}

@media(max-width:760px){
  .pt-faculty-letter-group{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  .pt-faculty-letter-group>h2{
    padding:10px 4px!important;
    font-size:18px!important;
  }
  .pt-faculty-row{
    gap:6px 8px!important;
    padding:7px 8px!important;
  }
  .pt-faculty-row-roles{
    width:48px!important;
  }
  .pt-faculty-name{
    font-size:13.5px!important;
  }
  .pt-faculty-affiliation{
    font-size:11.5px!important;
  }
  .pt-faculty-filter-actions .pt-button-primary,
  .pt-faculty-filter-actions .pt-button-secondary{
    min-height:34px!important;
  }
}

/* v13 unified Programme/My Agenda controls. */
.pt-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.pt-agenda-toggle-button{transition:background .15s,border-color .15s,color .15s,opacity .15s;}
.pt-agenda-toggle-button.is-loading,.pt-agenda-star.is-loading{opacity:.55;cursor:wait;}
.pt-agenda-locked{cursor:default;}
.pt-agenda-star{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:29px;
  height:29px;
  padding:0;
  border:1px solid #e2b44e;
  border-radius:4px;
  background:#fff;
  color:#d69700;
  font-size:21px;
  line-height:1;
  cursor:pointer;
  vertical-align:middle;
}
.pt-agenda-star:hover{background:#fff8e5;color:#bd7f00;}
.pt-agenda-star.is-active{background:#fff7db;border-color:#d89b0d;color:#d89b0d;}
.pt-agenda-star.is-locked{border-color:transparent;background:transparent;cursor:default;}
.pt-agenda-star:focus{outline:2px solid rgba(23,105,170,.3);outline-offset:2px;}
.pt-modal-session-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.pt-modal-session-heading-copy{min-width:0;}
.pt-modal-session-agenda{flex:0 0 auto;}
.pt-profile-lecture-with-action{
  display:flex!important;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.pt-profile-lecture-label{flex:0 0 auto;}
.pt-profile-lecture-name{min-width:0;flex:0 1 auto;}
.pt-profile-lecture-with-action .pt-agenda-star{width:27px;height:27px;font-size:20px;flex:0 0 27px;}
.pt-lecture-actions{align-items:center;}
.pt-button-danger{background:#fff;border-color:#c95f5f;color:#a32727;}
.pt-button-danger:hover{background:#fff2f2;}

@media(max-width:760px){
  .pt-modal-session-header{flex-direction:column;gap:9px;}
  .pt-modal-session-agenda{width:100%;}
  .pt-modal-session-agenda .pt-button{width:100%;}
  .pt-agenda-star{width:32px;height:32px;}
}

/* v14 modern Grid, Table and Search pages. */
.pt-grid-page,
.pt-table-page,
.pt-search-page{
  --pt-navy:var(--conference-primary,#24435c);
  --pt-blue:var(--conference-primary,#24435c);
  --pt-green:var(--conference-primary,#24435c);
  --pt-gold:var(--conference-accent,#a06a2b);
  --pt-text:#283442;
  --pt-muted:#667382;
  --pt-line:#dfe5eb;
  --pt-soft:#f6f8fa;
}
.pt-grid-page{max-width:1420px;}
.pt-table-page{max-width:1540px;}
.pt-search-page{max-width:1240px;}

/* Grid */
.pt-grid-schedule{position:relative;}
.pt-grid-schedule:before{
  content:"";
  position:absolute;
  left:108px;
  top:0;
  bottom:0;
  width:1px;
  background:#e7ebef;
  pointer-events:none;
}
.pt-grid-time-row{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  border-bottom:1px solid var(--pt-line);
}
.pt-grid-row-time{
  padding:14px 12px;
  color:var(--pt-navy);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.pt-grid-session-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:9px;
  padding:9px 0 9px 14px;
}
.pt-grid-session-card{
  position:relative;
  display:flex;
  min-width:0;
  min-height:138px;
  flex-direction:column;
  padding:12px 13px 11px;
  border:1px solid #d7e1e9;
  border-left:4px solid var(--pt-blue);
  border-radius:6px;
  background:#fff;
  box-shadow:0 2px 7px rgba(20,50,75,.05);
  color:var(--pt-text);
  text-decoration:none;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.pt-grid-session-card:hover{
  border-color:#9fb9cd;
  box-shadow:0 5px 14px rgba(20,50,75,.11);
  color:var(--pt-text);
  text-decoration:none;
  transform:translateY(-1px);
}
.pt-grid-card-topline{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:22px;
  margin-bottom:7px;
}
.pt-grid-card-topline .pt-room{margin:0;max-width:145px;}
.pt-grid-card-type{
  min-width:0;
  overflow:hidden;
  color:var(--pt-muted);
  font-size:10px;
  font-weight:800;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.pt-grid-card-title{
  color:#253444;
  font-size:14px;
  font-weight:750;
  line-height:1.28;
}
.pt-grid-card-track,
.pt-grid-card-chairs,
.pt-grid-card-count{
  display:block;
  margin-top:5px;
  color:var(--pt-muted);
  font-size:11px;
  line-height:1.3;
}
.pt-grid-card-chairs b{color:#445665;}
.pt-grid-card-count{margin-top:auto;padding-top:7px;}
.pt-grid-card-open{
  display:block;
  margin-top:7px;
  color:var(--pt-blue);
  font-size:11px;
  font-weight:800;
}
.pt-grid-separator{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  align-items:start;
  margin:10px 0 4px;
  border-left:4px solid var(--pt-green);
  background:#eef8f0;
  color:#254f31;
  text-decoration:none;
}
.pt-grid-separator:hover{background:#e6f4e9;color:#254f31;text-decoration:none;}
.pt-grid-separator .pt-grid-row-time{padding-left:8px;}
.pt-grid-separator-copy{display:block;padding:9px 12px 9px 14px;}
.pt-grid-separator-copy strong{display:block;font-size:12px;letter-spacing:.02em;text-transform:uppercase;}
.pt-grid-separator-copy small{display:block;margin-top:2px;color:#58715e;font-size:11px;line-height:1.3;}

/* Table */
.pt-room-table-scroll{
  width:100%;
  overflow:auto;
  border:1px solid #d7e0e8;
  border-radius:7px;
  background:#fff;
  box-shadow:0 2px 8px rgba(20,50,75,.05);
}
.pt-room-table{
  width:100%;
  min-width:1000px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.pt-room-table th,
.pt-room-table td{
  border-right:1px solid #e4e9ee;
  border-bottom:1px solid #e4e9ee;
  vertical-align:top;
}
.pt-room-table tr:last-child>th,
.pt-room-table tr:last-child>td{border-bottom:0;}
.pt-room-table tr>th:last-child,
.pt-room-table tr>td:last-child{border-right:0;}
.pt-room-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  padding:10px 9px;
  background:#eef3f7;
  color:var(--pt-navy);
  font-size:12px;
  font-weight:800;
  text-align:left;
}
.pt-room-table .pt-room-table-time-heading{
  left:0;
  z-index:5;
  width:92px;
}
.pt-room-table-time,
.pt-room-table-separator-row>th{
  position:sticky;
  left:0;
  z-index:2;
  width:92px;
  padding:11px 9px;
  background:#f8fafc;
  color:var(--pt-navy);
  font-size:11px;
  font-weight:800;
  text-align:left;
  white-space:nowrap;
}
.pt-room-table td{padding:6px;background:#fff;}
.pt-table-session{
  display:block;
  margin:0 0 5px;
  padding:9px 9px 8px;
  border:1px solid #d6e0e8;
  border-left:4px solid var(--pt-blue);
  border-radius:5px;
  background:#fff;
  color:var(--pt-text);
  text-decoration:none;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
.pt-table-session:last-child{margin-bottom:0;}
.pt-table-session:hover{
  border-color:#9fb9cd;
  background:#fbfdff;
  box-shadow:0 3px 8px rgba(20,50,75,.08);
  color:var(--pt-text);
  text-decoration:none;
}
.pt-table-session-type{
  display:block;
  margin-bottom:4px;
  color:var(--pt-muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.pt-table-session strong{display:block;font-size:12px;line-height:1.25;}
.pt-table-session-track,
.pt-table-session-time{display:block;margin-top:4px;color:var(--pt-muted);font-size:10px;line-height:1.2;}
.pt-table-session-time{color:var(--pt-navy);font-weight:700;}
.pt-room-table-separator-row>td{padding:0;}
.pt-table-separator{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:9px 12px;
  border-left:4px solid var(--pt-green);
  background:#eef8f0;
  color:#254f31;
  text-decoration:none;
}
.pt-table-separator:hover{background:#e6f4e9;color:#254f31;text-decoration:none;}
.pt-table-separator strong{font-size:11px;letter-spacing:.025em;text-transform:uppercase;}
.pt-table-separator span{color:#58715e;font-size:10px;font-weight:700;white-space:nowrap;}

/* Search */
.pt-search-panel{
  margin:0 0 20px;
  border:1px solid var(--pt-line);
  border-radius:7px;
  background:#fff;
  overflow:hidden;
}
.pt-search-panel form{margin:0;}
.pt-search-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  padding:14px;
}
.pt-search-input-wrap label{
  display:block;
  margin:0 0 5px;
  color:var(--pt-text);
  font-size:12px;
  font-weight:800;
}
.pt-search-input{
  width:100%;
  height:42px;
  padding:8px 12px;
  border:1px solid #bfcbd5;
  border-radius:5px;
  background:#fff;
  box-sizing:border-box;
  color:var(--pt-text);
  font-size:14px;
}
.pt-search-input:focus{border-color:var(--pt-blue);outline:2px solid rgba(23,105,170,.13);outline-offset:0;}
.pt-search-submit{min-height:42px;padding-left:20px;padding-right:20px;}
.pt-search-advanced{border-top:1px solid var(--pt-line);background:var(--pt-soft);}
.pt-search-advanced>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
  color:var(--pt-text);
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  list-style:none;
}
.pt-search-advanced>summary::-webkit-details-marker{display:none;}
.pt-search-advanced[open] .pt-filter-chevron{transform:rotate(225deg);}
.pt-search-advanced-body{padding:12px 14px 14px;border-top:1px solid var(--pt-line);}
.pt-search-help,
.pt-search-summary{
  margin:0 0 15px;
  color:var(--pt-muted);
  font-size:13px;
}
.pt-search-summary{padding-bottom:9px;border-bottom:1px solid var(--pt-line);}
.pt-search-result[open]{margin-top:6px;}
.pt-search-separator{color:#254f31;text-decoration:none;}
.pt-search-separator:hover{color:#254f31;text-decoration:none;}
.pt-search-separator>span{padding-left:14px;}
.pt-search-separator small{display:block;margin-top:2px;color:#58715e;font-size:11px;}
.pt-search-result .pt-session-content{padding-top:9px;}

@media(max-width:900px){
  .pt-grid-session-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .pt-grid-schedule:before{display:none;}
  .pt-grid-time-row{grid-template-columns:1fr;padding:8px 0;}
  .pt-grid-row-time{padding:0 4px 6px;font-size:11px;}
  .pt-grid-session-list{grid-template-columns:1fr;gap:7px;padding:0;}
  .pt-grid-session-card{min-height:0;padding:10px 11px;}
  .pt-grid-separator{grid-template-columns:1fr;padding:8px 9px;}
  .pt-grid-separator .pt-grid-row-time{padding:0 0 4px;}
  .pt-grid-separator-copy{padding:0;}
  .pt-grid-card-count{margin-top:7px;}

  .pt-room-table{min-width:820px;}
  .pt-room-table .pt-room-table-time-heading,
  .pt-room-table-time,
  .pt-room-table-separator-row>th{width:78px;}
  .pt-table-session{padding:8px 8px 7px;}

  .pt-search-bar{grid-template-columns:1fr;padding:11px;}
  .pt-search-submit{width:100%;}
  .pt-search-advanced-body{padding:11px;}
  .pt-search-result[open]{margin-left:0;margin-right:0;}
}

/* ================================================================
   v15 — Program Table contained horizontal scrolling
   Keep the page inside the viewport while giving every room a
   readable fixed-width column. The schedule scrolls horizontally
   inside its own framed region instead of widening the whole page.
   ================================================================ */
.pt-table-page{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
}
.pt-table-day{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.pt-room-table-scroll{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.pt-room-table{
  width:max-content;
  min-width:100%;
  table-layout:fixed;
}
.pt-room-table thead th:not(.pt-room-table-time-heading),
.pt-room-table tbody tr:not(.pt-room-table-separator-row)>td{
  width:158px;
  min-width:158px;
  max-width:158px;
  box-sizing:border-box;
}
.pt-room-table .pt-room-table-time-heading,
.pt-room-table-time,
.pt-room-table-separator-row>th{
  width:92px;
  min-width:92px;
  max-width:92px;
  box-sizing:border-box;
}
.pt-room-table-separator-row>td{
  min-width:0;
  max-width:none;
}
.pt-room-table-scroll:focus{
  outline:2px solid rgba(23,105,170,.22);
  outline-offset:2px;
}

@media(max-width:760px){
  .pt-room-table thead th:not(.pt-room-table-time-heading),
  .pt-room-table tbody tr:not(.pt-room-table-separator-row)>td{
    width:142px;
    min-width:142px;
    max-width:142px;
  }
  .pt-room-table .pt-room-table-time-heading,
  .pt-room-table-time,
  .pt-room-table-separator-row>th{
    width:78px;
    min-width:78px;
    max-width:78px;
  }
}

/* v16 grid wording and faculty mobile layout refinements. */
@media (min-width:761px){
  .pt-faculty-row-actions{
    margin-left:auto!important;
    justify-self:end!important;
  }
}

@media (max-width:760px){
  /* The faculty name already opens the same profile modal, so the duplicate
     Profile button is hidden on small screens to prevent awkward wrapping. */
  .pt-faculty-row-actions{
    display:none!important;
  }
  .pt-faculty-row{
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:start!important;
  }
  .pt-faculty-row-roles{
    grid-column:1!important;
    width:48px!important;
    flex:0 0 48px!important;
    align-self:start!important;
  }
  .pt-faculty-row-copy{
    grid-column:2!important;
    min-width:0!important;
  }
  .pt-faculty-name{
    color:var(--pt-link,#0a72c8)!important;
    text-decoration:none!important;
    overflow-wrap:anywhere;
  }
  .pt-faculty-affiliation{
    overflow-wrap:anywhere;
    word-break:normal;
  }
}

@media (max-width:430px){
  /* Keep badges beside the name rather than forcing them onto their own row. */
  .pt-faculty-row{
    grid-template-columns:44px minmax(0,1fr)!important;
  }
  .pt-faculty-row-roles{
    width:44px!important;
    flex-basis:44px!important;
    gap:2px!important;
  }
  .pt-faculty-role{
    width:21px!important;
    height:21px!important;
    font-size:10px!important;
  }
}

/* v19: group presentations by speaker type in abstract sessions (timeslot_type_id = 2). */
.pt-presentation-group-heading{
  display:flex;
  align-items:center;
  min-height:28px;
  margin:9px 0 0;
  padding:5px 9px;
  border-top:1px solid #d9e4ec;
  border-bottom:1px solid #d9e4ec;
  border-left:3px solid var(--pt-gold,var(--conference-accent,#a06a2b));
  background:#f3f7fa;
  color:var(--pt-navy,var(--conference-primary,#24435c));
  font-size:11px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.pt-lectures>h3 + .pt-presentation-group-heading,
.pt-modal-lectures>h3 + .pt-presentation-group-heading{
  margin-top:0;
}
.pt-presentation-group-heading + .pt-lecture,
.pt-presentation-group-heading + .pt-modal-lecture{
  border-top:0;
}
@media(max-width:760px){
  .pt-presentation-group-heading{
    padding:5px 7px;
    font-size:10px;
  }
}

/* v21 presentation details: shared standalone page and AJAX modal. */
.pt-presentation-view{
  --pt-navy:var(--conference-primary,#24435c);
  --pt-blue:var(--conference-primary,#24435c);
  --pt-green:var(--conference-primary,#24435c);
  --pt-gold:var(--conference-accent,#a06a2b);
  --pt-text:#283442;
  --pt-muted:#667382;
  --pt-line:#dfe5eb;
  --pt-soft:#f6f8fa;
  max-width:1240px;
  margin:0 auto;
  color:var(--pt-text);
}
.pt-presentation-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
}
.pt-presentation-activity{margin:0 0 28px;}
.pt-presentation-activity>h1{
  margin:0 0 26px;
  color:var(--pt-navy);
  font-size:30px;
  line-height:1.15;
}
.pt-presentation-activity .pt-profile-day-section>h3{font-size:22px;}
.pt-presentation-activity .pt-profile-lecture-title{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px 8px;
  margin-top:8px;
  color:#465563;
  font-size:13px;
  font-weight:700;
}
.pt-presentation-activity .pt-profile-lecture-title>span{margin:0;}
.pt-presentation-card{
  overflow:hidden;
  border:1px solid #d3dee7;
  border-radius:7px;
  background:#fff;
  box-shadow:0 3px 14px rgba(24,55,82,.07);
}
.pt-presentation-header,
.pt-presentation-speaker-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding:22px 24px;
  border-bottom:2px solid var(--pt-gold);
  background:#fbfcfd;
}
.pt-presentation-speaker-header{justify-content:flex-start;align-items:center;}
.pt-presentation-heading-copy{min-width:0;}
.pt-presentation-kicker{
  margin:0 0 7px;
  color:#6b7c8b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pt-presentation-header h1,
.pt-presentation-speaker-header h1{
  margin:0;
  color:var(--pt-navy);
  font-size:28px;
  line-height:1.22;
}
.pt-presentation-agenda{flex:0 0 auto;padding-top:2px;}
.pt-presentation-agenda .pt-agenda-star{font-size:28px;line-height:1;}
.pt-presentation-presenter{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  padding:18px 24px;
  border-bottom:1px solid var(--pt-line);
  background:#fff;
}
.pt-presentation-photo{
  width:72px;
  height:72px;
  object-fit:cover;
  border:3px solid #e1e8ee;
  border-radius:50%;
  background:#f1f4f6;
}
.pt-presentation-speaker-header .pt-presentation-photo{width:96px;height:96px;}
.pt-presentation-presenter-copy{min-width:0;}
.pt-presentation-presenter-label{
  margin:0 0 3px;
  color:#71808d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pt-presentation-presenter-name{
  color:var(--pt-blue);
  font-size:17px;
  font-weight:800;
  line-height:1.25;
  text-decoration:none;
}
.pt-presentation-presenter-name:hover{text-decoration:underline;}
.pt-presentation-meta{
  margin:4px 0 0;
  color:var(--pt-muted);
  font-size:12px;
  line-height:1.45;
}
.pt-presentation-associated-title{
  margin:9px 0 0;
  color:#475866;
  font-size:13px;
  font-weight:700;
}
.pt-presentation-section{
  padding:19px 24px 21px;
  border-bottom:1px solid var(--pt-line);
}
.pt-presentation-section:last-child{border-bottom:0;}
.pt-presentation-section h2{
  margin:0 0 10px;
  color:var(--pt-navy);
  font-size:18px;
  line-height:1.25;
}
.pt-presentation-copy{
  color:#3f4e5b;
  font-size:13px;
  line-height:1.58;
  overflow-wrap:anywhere;
}
.pt-presentation-copy>:first-child{margin-top:0;}
.pt-presentation-copy>:last-child{margin-bottom:0;}
.pt-presentation-copy img{max-width:100%;height:auto;}
.pt-presentation-copy table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;}
.pt-presentation-authors{font-weight:650;}
.pt-presentation-affiliations{color:#586875;}
.pt-presentation-notice,
.pt-presentation-empty{
  padding:18px 20px;
  border:1px solid #d9e1e7;
  border-radius:5px;
  background:var(--pt-soft);
  color:var(--pt-muted);
}
.pt-presentation-notice{margin:18px 24px;}
.pt-presentation-modal{padding:4px 2px 10px;}
.pt-presentation-modal .pt-presentation-card{box-shadow:none;}
.pp-speaker-modal-body:has(.pt-presentation-view){max-width:1120px;}

@media(max-width:760px){
  .pt-presentation-toolbar{justify-content:flex-start;margin-bottom:12px;}
  .pt-presentation-toolbar .pt-button{flex:1 1 auto;}
  .pt-presentation-activity{margin-bottom:20px;}
  .pt-presentation-activity>h1{margin-bottom:18px;font-size:25px;}
  .pt-presentation-activity .pt-profile-day-section>h3{font-size:17px;}
  .pt-presentation-header,
  .pt-presentation-speaker-header{padding:17px 16px;gap:14px;}
  .pt-presentation-header h1,
  .pt-presentation-speaker-header h1{font-size:21px;}
  .pt-presentation-presenter{
    grid-template-columns:58px minmax(0,1fr);
    gap:11px;
    padding:15px 16px;
  }
  .pt-presentation-presenter>.pt-button{grid-column:1 / -1;width:100%;}
  .pt-presentation-photo{width:58px;height:58px;}
  .pt-presentation-speaker-header .pt-presentation-photo{width:76px;height:76px;}
  .pt-presentation-presenter-name{font-size:15px;}
  .pt-presentation-section{padding:16px;}
  .pt-presentation-section h2{font-size:16px;}
  .pt-presentation-copy{font-size:12.5px;}
  .pt-presentation-notice{margin:15px 16px;}
}


/* v22: presentation presenter row when no profile photo exists. */
.pt-presentation-presenter.is-no-photo{
  grid-template-columns:minmax(0,1fr) auto;
}
.pt-presentation-presenter>.pt-button{
  justify-self:end;
  align-self:center;
  width:auto;
  min-width:92px;
  white-space:nowrap;
}
@media(max-width:760px){
  .pt-presentation-presenter,
  .pt-presentation-presenter.is-no-photo{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .pt-presentation-presenter:not(.is-no-photo){
    grid-template-columns:58px minmax(0,1fr) auto;
  }
  .pt-presentation-presenter>.pt-button{
    grid-column:auto;
    width:auto;
    min-width:78px;
    padding-left:10px;
    padding-right:10px;
  }
}
@media(max-width:480px){
  .pt-presentation-presenter,
  .pt-presentation-presenter.is-no-photo,
  .pt-presentation-presenter:not(.is-no-photo){
    grid-template-columns:48px minmax(0,1fr);
  }
  .pt-presentation-presenter.is-no-photo{
    grid-template-columns:minmax(0,1fr);
  }
  .pt-presentation-presenter>.pt-button{
    display:none;
  }
  .pt-presentation-photo{
    width:48px;
    height:48px;
  }
}


/* v23: keep long presentation titles clear of action buttons and label
 * detail links according to the content that is actually available. */
.pt-lecture,
.pt-modal-lecture{
  min-width:0;
}
.pt-lecture{
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
}
.pt-lecture-copy,
.pt-modal-lecture-copy{
  min-width:0;
  max-width:100%;
}
.pt-lecture-title{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.pt-lecture-actions,
.pt-modal-lecture-actions{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  align-self:center;
  background:#fff;
}
.pt-modal-lecture{
  grid-template-columns:auto minmax(0,1fr) max-content;
}
@media(max-width:760px){
  .pt-lecture{
    grid-template-columns:minmax(0,1fr);
  }
  .pt-modal-lecture{
    grid-template-columns:auto minmax(0,1fr);
  }
  .pt-lecture-actions,
  .pt-modal-lecture-actions{
    background:transparent;
  }
}


/* v25: new profile-photo thumbnails on Programme listing and Faculty.
 * These slots are rendered only when an active profile_photos record exists;
 * users.photo is deliberately not used on either page. */
.pt-lecture-copy.has-speaker-photo{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.pt-lecture-copy-main{min-width:0;}
.pt-lecture-speaker-photo-link{
  display:block;
  width:36px;
  height:36px;
  border-radius:50%;
  text-decoration:none;
}
.pt-lecture-speaker-photo{
  display:block;
  width:36px;
  height:36px;
  box-sizing:border-box;
  border:2px solid #e0e7ed;
  border-radius:50%;
  background:#f4f7f9;
  object-fit:cover;
}
.pt-lecture-speaker-photo-link:hover .pt-lecture-speaker-photo,
.pt-lecture-speaker-photo-link:focus .pt-lecture-speaker-photo{
  border-color:var(--pt-blue,var(--conference-primary,#24435c));
}

.pt-faculty-row.has-profile-photo{
  grid-template-columns:auto 42px minmax(0,1fr) auto;
}
.pt-faculty-thumb-link{
  display:block;
  width:42px;
  height:42px;
  border-radius:50%;
  text-decoration:none;
}
.pt-faculty-thumb{
  display:block;
  width:42px;
  height:42px;
  box-sizing:border-box;
  border:2px solid #e0e7ed;
  border-radius:50%;
  background:#f4f7f9;
  object-fit:cover;
}
.pt-faculty-thumb-link:hover .pt-faculty-thumb,
.pt-faculty-thumb-link:focus .pt-faculty-thumb{
  border-color:var(--pt-blue,var(--conference-primary,#24435c));
}

@media(max-width:760px){
  .pt-lecture-copy.has-speaker-photo{
    grid-template-columns:32px minmax(0,1fr);
    gap:8px;
  }
  .pt-lecture-speaker-photo-link,
  .pt-lecture-speaker-photo{
    width:32px;
    height:32px;
  }
  .pt-faculty-row.has-profile-photo{
    grid-template-columns:48px 38px minmax(0,1fr)!important;
  }
  .pt-faculty-row.has-profile-photo .pt-faculty-row-roles{grid-column:1!important;}
  .pt-faculty-row.has-profile-photo .pt-faculty-thumb-link{grid-column:2!important;}
  .pt-faculty-row.has-profile-photo .pt-faculty-row-copy{grid-column:3!important;}
  .pt-faculty-thumb-link,
  .pt-faculty-thumb{
    width:38px;
    height:38px;
  }
}

@media(max-width:430px){
  .pt-faculty-row.has-profile-photo{
    grid-template-columns:44px 34px minmax(0,1fr)!important;
  }
  .pt-faculty-thumb-link,
  .pt-faculty-thumb{
    width:34px;
    height:34px;
  }
}


/* Delegate Connect / public-profile social links — v26 */
.pt-profile-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 0;
}
.pt-profile-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:5px 11px;
  border:1px solid #9bb6cf;
  border-radius:999px;
  background:#fff;
  color:#0f5f9f;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  box-sizing:border-box;
}
.pt-profile-social-link:hover,
.pt-profile-social-link:focus{
  border-color:#004f3a;
  background:#eef6fc;
  color:#0c4f85;
  text-decoration:none;
}
.pt-profile-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #dce5ec;
}
@media(max-width:600px){
  .pt-profile-social-links{gap:6px;}
  .pt-profile-social-link{min-height:30px;padding:5px 9px;font-size:12px;}
  .pt-profile-footer{justify-content:stretch;}
  .pt-profile-footer .pt-button{width:100%;text-align:center;}
}

/* ========================================================================
   Conference Award Winners / recipient indicators — v27
   ======================================================================== */
.pt-award-ribbon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    font-size: 20px;
    line-height: 1;
    vertical-align: middle;
    filter: saturate(1.05);
}

.pt-faculty-role-legend .pt-award-ribbon {
    width: 28px;
    height: 28px;
    margin-right: 2px;
}

.pt-award-recipient-lines {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid rgba(20, 61, 103, 0.10);
}

.pt-award-recipient-line {
    color: #735615;
    font-size: 0.9rem;
    line-height: 1.35;
}

.pt-award-recipient-line + .pt-award-recipient-line {
    margin-top: 3px;
}

.pt-award-alert {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 18px 0;
    padding: 15px 18px;
    border: 1px solid #efd28b;
    border-left: 4px solid #e4a400;
    border-radius: 6px;
    background: #fffaf0;
    color: #3f3421;
}

.pt-award-alert-icon {
    flex: 0 0 auto;
    font-size: 28px;
    line-height: 1;
}

.pt-award-alert strong {
    display: block;
    margin-bottom: 5px;
    color: #143d67;
    font-size: 1rem;
}

.pt-award-alert-line {
    color: #735615;
    line-height: 1.4;
}

.pt-award-alert-line + .pt-award-alert-line {
    margin-top: 3px;
}

.pt-award-alert-profile {
    margin-top: 22px;
}

.pt-award-ribbon-inline {
    display: inline-block;
    margin-right: 7px;
    font-size: 1.05rem;
    line-height: 1;
    vertical-align: -1px;
}

.pt-award-ribbon-inline.is-heading {
    margin-right: 10px;
    font-size: 0.85em;
    vertical-align: 0;
}

.pt-award-winners-page .pt-faculty-filter-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
}

@media (max-width: 1100px) {
    .pt-award-winners-page .pt-faculty-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .pt-award-winners-page .pt-faculty-filter-grid {
        grid-template-columns: 1fr;
    }

    .pt-award-alert {
        gap: 10px;
        padding: 13px 14px;
    }

    .pt-award-alert-icon {
        font-size: 23px;
    }

    .pt-faculty-row-roles .pt-award-ribbon {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
        font-size: 17px;
    }
}

/* Award Winners v28: group by award instead of alphabet */
.pt-award-groups{
  display:grid;
  gap:18px;
}
.pt-award-group{
  overflow:hidden;
  border:1px solid #dbe4ec;
  border-radius:8px;
  background:#fff;
  box-shadow:0 2px 8px rgba(24,54,82,.05);
}
.pt-award-group-header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border-bottom:1px solid #dbe4ec;
  background:#f7f9fb;
}
.pt-award-group-ribbon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid #e1c56e;
  border-radius:50%;
  background:#fff8d9;
  font-size:20px;
  line-height:1;
}
.pt-award-group-copy{min-width:0;}
.pt-award-group-type{
  margin:0 0 3px;
  color:#6f7d8a;
  font-size:11px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.pt-award-group-copy h2{
  margin:0;
  color:var(--pt-navy,var(--conference-primary,#24435c));
  font-size:20px;
  font-weight:800;
  line-height:1.25;
}
.pt-award-group-copy p{
  margin:6px 0 0;
  color:var(--pt-muted,#657286);
  font-size:13px;
  line-height:1.45;
}
.pt-award-group-count{
  white-space:nowrap;
  color:#536575;
  font-size:12px;
  font-weight:800;
}
.pt-award-group .pt-faculty-row:last-child{border-bottom:0;}
.pt-award-recipient-line i,
.pt-award-alert-line i{
  color:inherit;
  font-style:italic;
}
@media (max-width:640px){
  .pt-award-group-header{
    grid-template-columns:auto minmax(0,1fr);
    align-items:start;
    gap:10px;
    padding:14px;
  }
  .pt-award-group-count{
    grid-column:2;
    margin-top:3px;
  }
  .pt-award-group-copy h2{font-size:17px;}
}


/* Award Winners v29: paired Mentee/Mentor display and simplified directories. */
.pt-faculty-row.no-programme-roles{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.pt-faculty-row.has-profile-photo.no-programme-roles{
  grid-template-columns:42px minmax(0,1fr) auto!important;
}
.pt-award-winner-row.has-profile-photo{
  grid-template-columns:42px minmax(0,1fr) auto!important;
}
.pt-award-winner-row.no-profile-photo{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.pt-award-mentor-block{
  margin-top:9px;
}
.pt-award-mentor-block hr{
  height:0;
  margin:8px 0 7px;
  border:0;
  border-top:1px solid #dfe5eb;
}
.pt-award-mentor-entry{
  color:#536575;
  font-size:12px;
  line-height:1.4;
}
.pt-award-mentor-entry + .pt-award-mentor-entry{
  margin-top:3px;
}
.pt-award-mentor-label{
  margin-right:4px;
  color:#735615;
  font-weight:800;
}
.pt-award-mentor-entry a{
  color:var(--pt-link,#0a72c8);
  font-weight:700;
  text-decoration:none;
}
.pt-award-mentor-entry a:hover{
  text-decoration:underline;
}
@media(max-width:760px){
  .pt-faculty-row.no-programme-roles{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .pt-faculty-row.has-profile-photo.no-programme-roles,
  .pt-award-winner-row.has-profile-photo{
    grid-template-columns:38px minmax(0,1fr)!important;
  }
  .pt-faculty-row.has-profile-photo.no-programme-roles .pt-faculty-thumb-link,
  .pt-award-winner-row.has-profile-photo .pt-faculty-thumb-link{
    grid-column:1!important;
  }
  .pt-faculty-row.has-profile-photo.no-programme-roles .pt-faculty-row-copy,
  .pt-award-winner-row.has-profile-photo .pt-faculty-row-copy{
    grid-column:2!important;
  }
  .pt-faculty-row.no-programme-roles .pt-faculty-row-actions,
  .pt-award-winner-row .pt-faculty-row-actions{
    grid-column:auto!important;
  }
}
@media(max-width:430px){
  .pt-faculty-row.has-profile-photo.no-programme-roles,
  .pt-award-winner-row.has-profile-photo{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
}

/* Award Winners v30: consistent compact mobile recipient rows. */
@media (max-width:760px){
  /* Award-winner rows do not contain the faculty role-badge column. Override
     the generic Faculty mobile grid so rows cannot create an empty/implicit
     first column and shift some names to the right. */
  .pt-award-winners-page .pt-award-winner-row,
  .pt-award-winners-page .pt-award-winner-row.has-profile-photo,
  .pt-award-winners-page .pt-award-winner-row.no-profile-photo{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    align-items:start!important;
    padding:10px 14px!important;
  }

  /* Hide thumbnails on the compact Award Winners list only. The name remains
     the profile link, and every recipient now starts at exactly the same edge. */
  .pt-award-winners-page .pt-award-winner-row .pt-faculty-thumb-link{
    display:none!important;
  }

  .pt-award-winners-page .pt-award-winner-row .pt-faculty-row-copy{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .pt-award-winners-page .pt-award-winner-row .pt-faculty-row-actions{
    display:none!important;
  }

  .pt-award-winners-page .pt-award-winner-row .pt-faculty-name{
    display:block!important;
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  .pt-award-winners-page .pt-award-winner-row .pt-faculty-affiliation{
    max-width:100%!important;
    margin-top:3px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .pt-award-winners-page .pt-award-mentor-block{
    width:100%!important;
    margin-top:7px!important;
  }

  .pt-award-winners-page .pt-award-mentor-block hr{
    margin:7px 0 6px!important;
  }

  .pt-award-winners-page .pt-award-mentor-entry{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:0 4px!important;
    width:100%!important;
    line-height:1.35!important;
  }

  .pt-award-winners-page .pt-award-mentor-label{
    margin-right:0!important;
    flex:0 0 auto!important;
  }
}

@media (max-width:430px){
  .pt-award-winners-page .pt-award-group-header{
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:9px!important;
    padding:12px!important;
  }

  .pt-award-winners-page .pt-award-group-ribbon{
    width:30px!important;
    height:30px!important;
    font-size:17px!important;
  }

  .pt-award-winners-page .pt-award-group-copy h2{
    font-size:16px!important;
    line-height:1.22!important;
  }

  .pt-award-winners-page .pt-award-group-count{
    grid-column:2!important;
    margin-top:2px!important;
  }
}

/* v31: Delegate Directory / Faculty rows without roles on mobile.
 * The generic mobile Faculty grid assigns row-copy to column 2. Rows with no
 * programme-role badges only have one explicit column, so CSS Grid created an
 * implicit second column and pushed names different distances to the right.
 */
@media (max-width:760px){
  .pt-faculty-page .pt-faculty-row.no-programme-roles:not(.has-profile-photo){
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    align-items:start!important;
  }

  .pt-faculty-page .pt-faculty-row.no-programme-roles:not(.has-profile-photo) .pt-faculty-row-copy{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .pt-faculty-page .pt-faculty-row.no-programme-roles:not(.has-profile-photo) .pt-faculty-name,
  .pt-faculty-page .pt-faculty-row.no-programme-roles:not(.has-profile-photo) .pt-faculty-affiliation{
    display:block!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}
