.fhi-agenda { --fhi-blue: #0078df; font-family: inherit; color: #1d2228; width: 100%; }
.fhi-agenda *, .fhi-agenda *::before, .fhi-agenda *::after { box-sizing: border-box; }
.fhi-agenda__hero { position: relative; overflow: hidden; background-color: #0877db; color: #fff; border-radius: 18px; margin: 0 0 26px; padding: 28px; isolation: isolate; box-shadow: 0 8px 24px rgba(3,61,139,.11); }
.fhi-agenda__hero::before { content: ''; position: absolute; z-index: -1; inset: 0; opacity: .18; background: linear-gradient(145deg, transparent 9%,rgba(255,255,255,.16) 9% 14%,transparent 14% 40%,rgba(0,35,110,.35) 40% 50%,transparent 50%), linear-gradient(35deg,transparent 25%,rgba(255,255,255,.24) 25% 27%,transparent 27% 67%,rgba(1,31,105,.28) 67% 78%,transparent 78%); background-size: 350px 250px, 420px 300px; }
.fhi-agenda__eyebrow { font-size: 11px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 13px; }
.fhi-agenda__headline { color: #fff; font-size: clamp(25px,3.3vw,36px); font-weight: 760; line-height: 1.2; margin: 0 0 14px; }
.fhi-agenda__meta { color: #d5e9fc; font-size: 14px; margin: 0 0 20px; }
.fhi-agenda__filters { display: flex; flex-wrap: wrap; gap: 11px; }
.fhi-agenda__filter { appearance: none; border: 0; border-radius: 6px; padding: 10px 17px; background: #fff; color: #062f79; font-size: 12px; font-weight: 700; line-height: 1.1; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.fhi-agenda__filter:hover, .fhi-agenda__filter:focus-visible { box-shadow: 0 0 0 2px rgba(255,255,255,.65); outline: 0; }
.fhi-agenda__filter.is-active { background: #188af1; color: #fff; }
.fhi-agenda__body { background: #f7faff; border-top: 2px solid #45a6ff; padding: 20px 26px 36px; }
.fhi-agenda__day { margin: 0 0 34px; }
.fhi-agenda__day[hidden] { display: none !important; }
.fhi-agenda__day-title { color: #20252b; margin: 0 0 25px; font-size: clamp(21px,2.4vw,25px); font-weight: 750; line-height: 1.25; display: flex; align-items: center; gap: 10px; }
.fhi-agenda__day-title::before { content: ''; width: 3px; height: .82em; background: #172e8a; border-radius: 2px; flex: none; }
.fhi-agenda__rows { display: flex; flex-direction: column; gap: 10px; }
.fhi-agenda__session { border: 1px solid #70b7ff; background: #eff8ff; color: #0079e5; border-radius: 6px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; line-height: 1.45; }
.fhi-agenda__session-title { position: relative; font-weight: 750; padding-left: 15px; }
.fhi-agenda__session-title::before { content: ''; position: absolute; left: 0; top: .2em; width: 4px; height: 1em; background: #008df1; border-radius: 4px; }
.fhi-agenda__moderator { color: #278de2; text-align: right; font-weight: 400; flex: 0 1 auto; }
.fhi-agenda__row { --fhi-time-width: 90px; display: grid; grid-template-columns: var(--fhi-time-width) minmax(0,1fr); gap: 12px; align-items: center; background: #fff; border: 1px solid #e5edf8; border-radius: 9px; padding: 16px 17px; min-height: 58px; }
.fhi-agenda__time { color: #0077dd; font-size: 12px; font-weight: 650; white-space: nowrap; align-self: start; padding-top: 4px; }
.fhi-agenda__talk { display: flex; align-items: center; gap: 14px; min-width: 0; }
.fhi-agenda__details { display: flex; flex-direction: column; min-width: 0; gap: 5px; }
.fhi-agenda__talk-title { color: #1d2228; font-size: 14px; font-weight: 740; line-height: 1.4; overflow-wrap: anywhere; }
.fhi-agenda__speaker { color: #0078df; font-size: 12px; font-weight: 680; text-decoration: none; line-height: 1.35; }
.fhi-agenda a.fhi-agenda__speaker:hover { text-decoration: underline; }
.fhi-agenda__avatar { width: 54px; height: 54px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; object-position: center; border: 1px solid #c6e2fc; background: #eaf4fd; }
.fhi-agenda__badge { display: inline-block; width: max-content; max-width: 100%; padding: 6px 10px; border-radius: 2px; background: #e4e9ef; color: #374150; font-size: 10px; line-height: 1.2; }
.fhi-agenda__row--panel { align-items: start; }
.fhi-agenda__panel-content { min-width: 0; }
.fhi-agenda__panel-description { margin: 0 0 16px; font-weight: 650; font-size: 13px; line-height: 1.6; }
.fhi-agenda__panelists { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.fhi-agenda__panelist { display: flex; align-items: center; gap: 9px; border: 1px solid #e5edf8; border-radius: 8px; padding: 8px; min-width: 0; }
.fhi-agenda__panelist .fhi-agenda__avatar { width: 42px; height: 42px; }
.fhi-agenda__panelist .fhi-agenda__talk-title { font-size: 12px; }
.fhi-agenda__panelist .fhi-agenda__speaker { font-size: 11px; }
@media (max-width:767px) {
  .fhi-agenda__hero { padding: 24px 18px; border-radius: 13px; margin-bottom: 17px; }
  .fhi-agenda__eyebrow { font-size: 9px; line-height: 1.5; }
  .fhi-agenda__headline { font-size: clamp(23px,7vw,30px); }
  .fhi-agenda__meta { font-size: 12px; line-height: 1.5; }
  .fhi-agenda__filters { gap: 8px; }
  .fhi-agenda__filter { padding: 10px 12px; }
  .fhi-agenda__body { padding: 20px 12px 26px; }
  .fhi-agenda__day-title { font-size: 19px; margin-bottom: 18px; }
  .fhi-agenda__session { align-items: flex-start; flex-direction: column; gap: 5px; font-size: 11px; }
  .fhi-agenda__moderator { text-align: left; padding-left: 15px; }
  .fhi-agenda__row { --fhi-time-width: 82px; padding: 12px 10px; gap: 8px; }
  .fhi-agenda__time { font-size: 10px; }
  .fhi-agenda__talk { gap: 9px; }
  .fhi-agenda__avatar { width: 40px; height: 40px; }
  .fhi-agenda__talk-title { font-size: 12px; }
  .fhi-agenda__speaker { font-size: 10px; }
  .fhi-agenda__panelists { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:420px) {
  .fhi-agenda__row { --fhi-time-width: 70px; }
  .fhi-agenda__panelists { grid-template-columns: 1fr; }
}
/* Agenda card detail view */
.fhi-agenda__row--openable { cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.fhi-agenda__row--openable:hover { transform: translateY(-2px); border-color: #a4ccef; box-shadow: 0 10px 25px rgba(13,56,100,.09); }
.fhi-agenda__row--openable:focus-visible { outline: 2px solid #0877db; outline-offset: 3px; }
.fhi-agenda__detail-source[hidden], .fhi-agenda__overlay[hidden] { display: none !important; }
.fhi-agenda__overlay { position: fixed; z-index: 999999; inset: 0; display: flex; align-items: center; justify-content: center; gap: clamp(12px,4vw,80px); padding: 24px; background: rgba(16,24,32,.82); overflow-y: auto; }
body.fhi-agenda-modal-open { overflow: hidden; }
.fhi-agenda__modal-card { position: relative; flex: 0 1 792px; width: min(100%,792px); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 22px 20px 28px; border-radius: 6px; background: #fff; color: #273140; box-shadow: 0 24px 80px rgba(0,0,0,.25); transform-origin: center; backface-visibility: hidden; }
.fhi-agenda__modal-card.is-flipping { animation: fhi-card-flip .55s cubic-bezier(.22,.75,.25,1) both; }
@keyframes fhi-card-flip { from { opacity: .2; transform: perspective(1100px) rotateY(-65deg) scale(.92); } to { opacity: 1; transform: perspective(1100px) rotateY(0) scale(1); } }
.fhi-agenda__modal-title { margin: 0 42px 12px 0; color: #111820; font-size: clamp(19px,2vw,24px); line-height: 1.3; font-weight: 750; }
.fhi-agenda__close { position: absolute; top: 14px; right: 17px; width: 30px; height: 30px; padding: 0; border: 1.5px solid #17202a; border-radius: 50%; background: transparent; color: #17202a; font-size: 25px; line-height: 24px; cursor: pointer; }
.fhi-agenda__modal-track { display: inline-block; background: #e9f2fc; color: #294562; border-radius: 100px; padding: 4px 11px; font-size: 11px; line-height: 1.2; }
.fhi-agenda__modal-date { margin: 22px 0 0; color: #273140; font-size: 13px; font-weight: 650; }
.fhi-agenda__modal-location { margin: 10px 0 0; font-size: 13px; }
.fhi-agenda__modal-description { margin-top: 26px; font-size: 14px; line-height: 1.6; }
.fhi-agenda__modal-description p { margin: 0 0 12px; }
.fhi-agenda__modal-speakers.has-speakers { margin-top: 38px; padding-top: 25px; border-top: 1px solid #e5edf4; }
.fhi-agenda__modal-speakers.has-speakers::before { content: 'Speakers'; display: block; margin-bottom: 10px; font-size: 14px; font-weight: 750; }
.fhi-agenda__modal-speaker { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0; font-size: 13px; line-height: 1.5; }
.fhi-agenda__modal-speaker img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.fhi-agenda__modal-speaker strong, .fhi-agenda__modal-speaker span { display: block; }
.fhi-agenda__nav { flex: 0 0 34px; width: 34px; height: 34px; padding: 0; border: 3px solid #fff; border-radius: 50%; background: transparent; color: #fff; font-size: 31px; line-height: 22px; cursor: pointer; }
.fhi-agenda__nav:disabled { opacity: .3; cursor: default; }
@media(max-width:767px) { .fhi-agenda__overlay { padding: 15px; gap: 8px; } .fhi-agenda__modal-card { max-height: calc(100dvh - 100px); padding: 20px 17px 24px; } .fhi-agenda__nav { flex-basis: 27px; width: 27px; height: 27px; font-size: 24px; line-height: 18px; border-width: 2px; } .fhi-agenda__modal-speakers.has-speakers { margin-top: 26px; } }
@media(prefers-reduced-motion:reduce) { .fhi-agenda__modal-card.is-flipping { animation: none; } }
