/* Medical pages share the sponsor budget card shell for meetings. */
.medical-project-page{min-width:0;container:medical-layout/inline-size}
.medical-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:14px 0;padding:14px;border:1px solid #dce3ee;border-radius:10px;background:#fff}
.medical-toolbar label{display:grid;gap:5px;min-width:150px;color:#64748b;font-size:12px}
.medical-toolbar input,.medical-toolbar select{min-height:36px;max-width:100%;padding:7px 10px;border:1px solid #d3ddeb;border-radius:6px;background:#fff;color:#0f2140;font:inherit}
.medical-view-switch{display:flex;margin-left:auto;border:1px solid #d3ddeb;border-radius:7px;overflow:hidden}
.medical-view-switch button{min-height:36px;padding:7px 13px;border:0;background:#fff;color:#506480;cursor:pointer}
.medical-view-switch [aria-pressed=true]{background:#316aff;color:#fff}
.medical-card-grid{display:grid;grid-template-columns:minmax(0,480px);gap:48px 96px;align-items:stretch;padding-top:20px}
.medical-project-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:215px;border:1px solid #dce3ee;border-radius:11px;background:#fff;box-shadow:0 3px 11px rgba(21,52,91,.045)}
.medical-project-card>.medical-card-main{position:absolute;z-index:1;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.medical-card-content{position:relative;z-index:2;flex:1;min-width:0;padding:14px;pointer-events:none}
.medical-card-head{display:flex;align-items:start;justify-content:space-between;gap:10px;min-width:0}
.medical-card-head h3{flex:1;min-width:0;margin:0;color:#0f2140;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.medical-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:14px 0 0}
.medical-card-facts>div{min-width:0}.medical-card-facts dt{color:#71829c;font-size:11px}.medical-card-facts dd{margin:3px 0 0;color:#243650;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.medical-status-button:not(.sponsor-card-status-badge){position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;min-height:30px;padding:5px 8px;border:1px solid var(--tracking-border,#dfe4eb);border-radius:7px;background:var(--tracking-bg,#f7f8fa);color:var(--tracking-fg,#64748b);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;pointer-events:auto}
.medical-list{overflow-x:auto}.medical-list table{min-width:1000px}.medical-list .medical-card-main{border:0;background:transparent;color:#245cdd;cursor:pointer;text-align:left;font:inherit}
.medical-empty{color:#71829c;padding:30px 10px}.medical-project-card:focus-within{border-color:#9bb9f3}
.medical-project-card button:focus-visible,.medical-toolbar button:focus-visible,.medical-toolbar input:focus-visible,.medical-toolbar select:focus-visible{outline:3px solid #adc3ff;outline-offset:3px}
@media(min-width:1180px){.medical-card-grid{--medical-track:min(480px,calc((100% - clamp(64px,calc(20vw - 60px),300px))/2));grid-template-columns:repeat(2,minmax(0,var(--medical-track)))}}
@container medical-layout (min-width:1632px){.medical-card-grid{grid-template-columns:repeat(3,minmax(0,480px))}}
/* Restore the same approved wide-container three-column rule for sponsor meetings. */
@container sponsor-quarter-layout (min-width:1632px){.sponsor-session-project-grid{grid-template-columns:repeat(3,minmax(0,480px))}.sponsor-session-quarter-heading{max-width:1632px}}
@media(max-width:820px){.medical-card-grid{row-gap:32px}.medical-toolbar label{min-width:0;flex:1 1 140px}.medical-card-facts{gap:8px 10px}}
@media(max-width:620px){.medical-card-content{padding:12px}.medical-card-head{gap:7px}.medical-status-button:not(.sponsor-card-status-badge){font-size:10px;padding:4px 6px}.medical-toolbar{padding:12px}.medical-view-switch{margin-left:0}}
/* The sponsor card footer uses its own content for medical meetings. */
.medical-meeting-page .sponsor-card-meta .medical-card-date { grid-column: 1 / -1; }
.medical-meeting-page .medical-card-date dd { white-space: normal; overflow-wrap: anywhere; }
.medical-meeting-page .medical-meeting-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.medical-meeting-card-footer > span { color: var(--text-mute); font-size: 12px; }
.medical-meeting-card-footer strong { color: var(--text); font-size: 16px; margin-left: 6px; }
.medical-meeting-card-footer .medical-card-progress { position: relative; z-index: 2; }
.medical-detail-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border: 1px solid var(--tracking-border); border-radius: 8px; background: var(--tracking-bg); color: var(--tracking-fg); font-size: 12px; white-space: nowrap; }
.medical-detail-notes { white-space: pre-wrap; overflow-wrap: anywhere; }
/* Long detail titles and the expert list stay usable in narrow dialogs. */
.modal-medical-record-detail > .modal-head { flex-wrap: wrap; }
.modal-medical-record-detail > .modal-head h3 { min-width: 0; flex: 1 1 240px; overflow-wrap: anywhere; }
.modal-medical-record-detail > .modal-head .head-actions { flex-wrap: wrap; justify-content: flex-end; }
.modal-medical-record-detail .detail-item { min-width: 0; overflow-wrap: anywhere; }
.modal-medical-record-detail .mini-table-wrap { max-width: 100%; overflow-x: auto; }
.modal-medical-record-detail .mini-table-wrap:focus-visible { outline: 2px solid var(--blue-600); outline-offset: 2px; }
@media (max-width: 620px) {
  .modal-medical-record-detail > .modal-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px; }
  .modal-medical-record-detail > .modal-head .head-actions { grid-column: 1 / -1; }
}


/* Research investigators use editable seat rows and the same read-only order. */
.medical-list table.data.research-project-table { min-width: 760px; }
.research-project-table .research-col-topic { width: 25%; }
.research-project-table .research-col-attribution { width: 10%; }
.research-project-table .research-col-hco { width: 14%; }
.research-project-table .research-col-date { width: 17%; }
.research-project-table .research-col-budget { width: 10%; }
.research-project-table .research-col-investigators { width: 14%; }
.research-project-table .research-col-status { width: 10%; }
.research-expert-adder { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.research-expert-adder select { width: min(100%, 215px); }
.research-expert-adder > span { margin-left: auto; color: var(--text-muted, #71829c); font-size: 13px; }
.research-expert-list { display: grid; min-width: 0; padding: 4px 10px; border: 1px solid var(--border); border-radius: 8px; background: #f8fafc; }
.research-expert-row { display: grid; grid-template-columns: minmax(90px, .85fr) minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1.45fr) minmax(0, .85fr) minmax(0, .85fr) auto; align-items: start; gap: 8px; padding: 8px 0; min-width: 0; }
.research-expert-row + .research-expert-row { border-top: 1px solid var(--border); }
.research-expert-role { padding: 9px 0; color: var(--blue-600); overflow-wrap: anywhere; }
.research-expert-cell { display: grid; min-width: 0; gap: 3px; overflow-wrap: anywhere; }
.research-expert-cell > small { color: var(--text-muted, #71829c); }
.research-expert-row input,
.research-expert-row select { width: 100%; min-width: 0; min-height: 40px; padding: 7px 8px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); font: inherit; }
.research-expert-row :is(input,select):focus { outline: 2px solid var(--blue-600); outline-offset: -1px; }
.research-expert-row .link-btn { min-height: 40px; white-space: nowrap; }
.research-expert-empty { margin: 10px 4px; color: var(--text-muted, #71829c); }
.research-expert-list-readonly .research-expert-row { grid-template-columns: minmax(90px, .85fr) minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1.45fr) minmax(0, .85fr) minmax(0, .85fr); }
.research-expert-list-readonly .research-expert-role { padding-top: 0; }
@media (max-width: 820px) {
  .research-expert-list .research-expert-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-expert-role { grid-column: 1 / -1; padding: 0; }
  .research-expert-row .link-btn { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width: 430px) {
  .research-expert-list .research-expert-row { grid-template-columns: minmax(0, 1fr); }
}

/* Meetings share the market card surface and one content layout. */
.meeting-summary-card.external-meeting-card {
  position: relative; isolation: isolate; display: flex; flex-direction: column;
  width: 100%; max-width: 480px; min-width: 0; min-height: 215px; height: auto; max-height: none;
  border: 1px solid #dce3ee; border-radius: 11px; background: #fff;
  box-shadow: 0 3px 11px rgba(21,52,91,.045);
  transition: border-color .16s ease, box-shadow .16s ease;
}
.meeting-summary-card > .meeting-summary-main {
  position: relative; display: flex; flex: 1; width: 100%; min-width: 0; min-height: 213px;
  height: auto; max-height: none; padding: 13px 14px;
  flex-direction: column; justify-content: space-between; gap: 18px;
  border: 0; border-radius: inherit; background: transparent; color: var(--text); text-align: left;
}
.meeting-summary-card .external-card-head {
  box-sizing: border-box; min-height: 42px; padding-right: 88px;
}
.meeting-summary-card .external-card-identity,
.meeting-summary-card .external-card-meta > span > span,
.meeting-summary-card .external-card-chair > span { overflow: visible; }
.meeting-summary-card .external-card-name {
  display: block; max-height: none; overflow: visible; -webkit-line-clamp: unset;
  color: var(--text); font-size: 14px; font-weight: 700; line-height: 1.5;
}
.meeting-summary-card .external-card-tags { flex-wrap: wrap; overflow: visible; }
.meeting-summary-card .external-card-tags .type-tag {
  max-width: 100%; overflow: visible; white-space: normal; overflow-wrap: anywhere;
  background: #f0f5fc; color: #677d9d;
}
.meeting-summary-card .external-card-value {
  max-width: 100%; overflow: visible; white-space: normal; overflow-wrap: anywhere;
}
.medical-meeting-page .meeting-summary-card > .medical-status-button,
.meeting-summary-card > :is(.medical-status-button, .external-card-status) {
  position: absolute; z-index: 2; top: 13px; right: 14px;
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  width: auto; min-height: 30px; margin: 0; padding: 5px 8px; border: 1px solid var(--tracking-border);
  border-radius: 7px; background: var(--tracking-bg); color: var(--tracking-fg);
  font: inherit; font-size: 11px; line-height: 18px; font-weight: 600; white-space: nowrap;
  cursor: pointer;
}
.meeting-summary-card > :is(.medical-status-button, .external-card-status) .ti { color: inherit; }
.meeting-summary-card > :is(.medical-status-button, .external-card-status):hover { border-color: var(--tracking-fg); }
.meeting-summary-card > button:focus-visible { outline: 3px solid #adc3ff; outline-offset: 3px; }
.external-meeting-card-grid,
.medical-meeting-page .sponsor-followup-cards {
  display: grid; grid-template-columns: minmax(0,480px); gap: 48px 96px; align-items: stretch;
}
@media (min-width: 1180px) {
  .external-meeting-card-grid,
  .medical-meeting-page .sponsor-followup-cards {
    grid-template-columns: repeat(2,minmax(0,min(480px,calc((100% - clamp(64px,calc(20vw - 60px),300px))/2))));
  }
}
@container external-quarter-layout (min-width: 1632px) {
  .external-meeting-card-grid { grid-template-columns: repeat(3,minmax(0,480px)); }
}
@container medical-layout (min-width: 1632px) {
  .medical-meeting-page .sponsor-followup-cards { grid-template-columns: repeat(3,minmax(0,480px)); }
}
@media (hover:hover) and (pointer:fine) {
  .meeting-summary-card.external-meeting-card:hover {
    border-color: #b5cbf3; background: #fff; box-shadow: 0 5px 17px rgba(21,52,91,.08); transform: none;
  }
  .external-quarter-groups:has(.meeting-summary-card:hover) .meeting-summary-card:not(:hover) {
    opacity: 1; filter: none;
  }
}
@media (max-width: 820px) {
  .external-meeting-card-grid,
  .medical-meeting-page .sponsor-followup-cards { grid-template-columns: minmax(0,480px); row-gap: 32px; }
}
@media (max-width: 620px) {
  .meeting-summary-card.external-meeting-card { min-height: 173px; }
  .meeting-summary-card > .meeting-summary-main { min-height: 171px; padding: 12px; gap: 14px; }
  .meeting-summary-card .external-card-head { padding-right: 78px; }
  .medical-meeting-page .meeting-summary-card > .medical-status-button,
  .meeting-summary-card > :is(.medical-status-button, .external-card-status) { top: 12px; right: 12px; font-size: 10px; min-height: 28px; padding: 4px 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .meeting-summary-card.external-meeting-card { transition: none; }
}
