/* IHEC — public read-only views (stats, delegate list, accepted abstracts) */
.ihec-pub{
  --p-ink:#0a0e1a; --p-gold:#9b7e34; --p-gold2:#c8a84b; --p-grey:#5a5650;
  --p-rule:#e0ddd6; --p-off:#f7f6f2; --p-teal:#1f4e4a;
  --p-sans:'Inter',system-ui,sans-serif; --p-serif:'Libre Baskerville',Georgia,serif;
  --p-mono:'Space Mono',ui-monospace,monospace;
  font-family:var(--p-sans); color:var(--p-ink); line-height:1.6;
}
.ihec-pub-empty{
  border:1px solid var(--p-rule); background:var(--p-off);
  padding:24px 26px; color:var(--p-grey);
}
.ihec-pub-note{ font-size:12.5px; color:var(--p-grey); margin-top:18px; }
.ihec-pub-count{
  font-family:var(--p-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--p-gold); margin-bottom:16px;
}

/* ---- stats ---- */
.ihec-stat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px; }
.ihec-stat{
  border:1px solid var(--p-rule); background:#fff; padding:24px 20px; text-align:center;
}
.ihec-stat-n{ display:block; font-family:var(--p-serif); font-weight:700; font-size:38px; line-height:1; color:var(--p-ink); }
.ihec-stat-l{ display:block; font-family:var(--p-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--p-grey); margin-top:10px; }
.ihec-pub-breakdown h3{ font-family:var(--p-serif); font-size:18px; margin:0 0 14px; }
.ihec-bars{ list-style:none; margin:0; padding:0; }
.ihec-bars li{ display:grid; grid-template-columns:200px 1fr 48px; align-items:center; gap:14px; margin-bottom:10px; }
.ihec-bar-label{ font-size:13.5px; }
.ihec-bar-track{ height:12px; background:var(--p-off); border:1px solid var(--p-rule); position:relative; }
.ihec-bar-fill{ position:absolute; inset:0 auto 0 0; background:var(--p-gold2); }
.ihec-bar-n{ font-family:var(--p-mono); font-size:13px; font-weight:700; text-align:right; }

/* ---- delegate list ---- */
.ihec-pub-table{ width:100%; border-collapse:collapse; font-size:14px; }
.ihec-pub-table th{
  font-family:var(--p-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  text-align:left; padding:11px 14px; background:var(--p-ink); color:#fff; font-weight:400;
}
.ihec-pub-table td{ padding:11px 14px; border-bottom:1px solid var(--p-rule); vertical-align:top; }
.ihec-pub-table tr:nth-child(even) td{ background:var(--p-off); }
.ihec-pub-groups{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px 28px; }
.ihec-pub-group h3{ font-family:var(--p-serif); font-size:16px; margin:0 0 8px; padding-bottom:6px; border-bottom:1px solid var(--p-rule); }
.ihec-pub-group ul{ margin:0; padding-left:18px; font-size:14px; }
.ihec-pub-group li{ margin-bottom:4px; }

/* ---- accepted abstracts ---- */
.ihec-pub-h{
  font-family:var(--p-serif); font-size:20px; margin:30px 0 14px; padding-bottom:8px;
  border-bottom:2px solid var(--p-ink); display:flex; align-items:baseline; gap:10px;
}
.ihec-pub-hn{ font-family:var(--p-mono); font-size:12px; color:var(--p-gold); font-weight:400; }
.ihec-pub-abslist{ list-style:none; margin:0 0 8px; padding:0; }
.ihec-pub-abs{ border:1px solid var(--p-rule); border-left:3px solid var(--p-gold2); padding:16px 18px; margin-bottom:12px; background:#fff; }
.ihec-pub-abs-top{ display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.ihec-pub-badge{
  font-family:var(--p-mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase;
  padding:3px 9px; color:#fff;
}
.ihec-pub-badge--oral{ background:var(--p-teal); }
.ihec-pub-badge--poster{ background:var(--p-gold); }
.ihec-pub-ref{ font-family:var(--p-mono); font-size:11px; color:var(--p-grey); }
.ihec-pub-cat{ font-family:var(--p-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--p-gold); }
.ihec-pub-abs-title{ font-family:var(--p-serif); font-weight:700; font-size:16px; line-height:1.35; margin-bottom:6px; }
.ihec-pub-abs-authors{ font-size:13.5px; color:var(--p-grey); line-height:1.5; }
.ihec-pub-abs-sub{ font-family:var(--p-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--p-gold); margin-top:6px; }

@media (max-width:768px){
  .ihec-stat-grid{ grid-template-columns:1fr; }
  .ihec-bars li{ grid-template-columns:120px 1fr 40px; gap:8px; }
  .ihec-pub-groups{ grid-template-columns:1fr; }
}
.ihec-pub-badge--pending{ background:#6b6f7a; }

/* ── Status labels for include="all" / include="everything" (v1.8.0) ───── */
.ihec-pub-status {
	display: inline-block;
	margin: 0 0 6px;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	background: #eef0f4;
	color: #3c434a;
}
.ihec-pub-status--oral,
.ihec-pub-status--poster { background: #e6f4ea; color: #14663a; }
.ihec-pub-status--pending { background: #fdf3d8; color: #7a5a05; }
.ihec-pub-status--notaccepted { background: #fdeaea; color: #8a1c1c; }
.ihec-pub-status--withdrawn { background: #ecebf2; color: #55506b; }
.ihec-pub-badge--notaccepted { background: #fdeaea; color: #8a1c1c; }
.ihec-pub-badge--withdrawn { background: #ecebf2; color: #55506b; }

/* ── Expandable abstract body (v1.9.0) ─────────────────────────────── */
/* Deliberately NOT a flex container. A flex item defaults to min-width:auto
   and refuses to shrink below its longest unbroken text run, which pushes long
   titles outside the card. Plain block flow wraps normally whatever the theme
   does. The caret is positioned rather than laid out, so it never competes
   with the text for width. Several declarations below re-assert browser and
   theme button defaults (nowrap, auto width, inline-block) that would
   otherwise break wrapping. */
.ihec-pub-abs-title.is-toggle {
	position:relative;
	background:none; border:0; margin:0;
	padding:0 24px 0 0;
	font:inherit; color:inherit; cursor:pointer;
	text-align:left;
	/* !important is used sparingly and only here. Many themes ship
	   `button { white-space: nowrap !important }`, which makes a long title
	   run straight out of its card. Specificity alone cannot beat that, and
	   these four declarations are purely about letting text wrap. */
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	white-space:normal !important;
	box-sizing:border-box;
	word-break:normal; overflow-wrap:break-word; word-wrap:break-word;
}
.ihec-pub-abs-title.is-toggle:hover .ihec-pub-abs-titletext { text-decoration:underline; }
.ihec-pub-abs-title.is-toggle:focus-visible {
	outline:2px solid #082A8B; outline-offset:3px; border-radius:3px;
}
/* A flex item defaults to min-width:auto, which refuses to shrink below the
   longest unbroken run of text — that is what pushed long titles outside the
   card. min-width:0 lets it wrap; overflow-wrap catches single long tokens
   such as a DOI or a chemical name. */
.ihec-pub-abs-titletext {
	display:inline; max-width:100%;
	white-space:normal !important;
	overflow-wrap:break-word; word-wrap:break-word;
}
.ihec-pub-caret {
	position:absolute; right:4px; top:.42em;
	width:9px; height:9px;
	border-right:2px solid currentColor; border-bottom:2px solid currentColor;
	transform:rotate(45deg); transform-origin:center;
	transition:transform .18s ease; opacity:.55;
}
.ihec-pub-abs-title.is-toggle[aria-expanded="true"] .ihec-pub-caret {
	transform:rotate(-135deg); opacity:.9;
}
.ihec-pub-abs-body {
	margin-top:14px; padding-top:14px; border-top:1px solid #e3e7ef;
}
.ihec-pub-abs-body[hidden] { display:none; }
.ihec-pub-sec-h {
	margin:14px 0 4px; font-size:11px; font-weight:700;
	letter-spacing:.08em; text-transform:uppercase; color:#082A8B;
}
.ihec-pub-sec-h:first-child { margin-top:0; }
.ihec-pub-sec-p { margin:0 0 6px; font-size:14px; line-height:1.7; }
.ihec-pub-kw {
	margin:14px 0 0; font-size:13px; color:#5c6470;
	padding-top:10px; border-top:1px dashed #e3e7ef;
}
.ihec-pub-kw span {
	font-weight:700; text-transform:uppercase; font-size:11px;
	letter-spacing:.06em; margin-right:6px;
}

/* ── Long-content safety net (v1.9.1) ───────────────────────────────── */
.ihec-pub-abstracts .ihec-pub-abs-title,
.ihec-pub-abstracts .ihec-pub-abs-authors,
.ihec-pub-abstracts .ihec-pub-abs-sub,
.ihec-pub-abstracts .ihec-pub-sec-p,
.ihec-pub-abstracts .ihec-pub-kw {
	overflow-wrap:break-word; word-wrap:break-word; min-width:0;
}
.ihec-pub-abstracts li { min-width:0; overflow:hidden; }
.ihec-pub-abstracts ul, .ihec-pub-abstracts ol { max-width:100%; }

/* ── Chair-only reviewer assignment on the public listing (v2.4.0) ───── */
.ihec-pub-chair { background:#f4f6fb; border-left:3px solid #082A8B;
  padding:11px 14px; font-size:13.5px; line-height:1.6; margin:0 0 16px; }
.ihec-pub-assign { margin-top:14px; padding-top:14px; border-top:2px dashed #e3e7ef; }
.ihec-pub-assign-h { margin:0 0 10px; font-size:11px; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; color:#082A8B; }
.ihec-pub-assign-h span { margin-left:6px; padding:2px 8px; border-radius:99px;
  background:#fdf3d8; color:#7a5a05; font-size:10px; letter-spacing:.04em; }
/* minmax(210px,1fr) cannot shrink below 210px, so a row of reviewers with
   long email addresses forces the card wider than the page. */
.ihec-pub-assign-list { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));
  gap:6px; margin-bottom:12px; max-width:100%; }
.ihec-pub-assign-opt { display:flex; align-items:flex-start; gap:8px; padding:7px 10px;
  border:1px solid #e3e7ef; border-radius:6px; background:#fff; font-size:13.5px;
  min-width:0; overflow-wrap:break-word; word-break:break-word; }
.ihec-pub-assign-opt input { flex:0 0 auto; margin-top:3px; }
.ihec-pub-assign { max-width:100%; }
@media (max-width:640px) { .ihec-pub-assign-list { grid-template-columns:1fr; } }
.ihec-pub-assign-opt.is-coi { opacity:.6; background:#fdf6f6; }
.ihec-pub-tick { font-size:10.5px; font-weight:700; text-transform:uppercase; color:#14663a; }
.ihec-pub-coi { font-size:10.5px; font-weight:700; text-transform:uppercase; color:#b01e2a; }
.ihec-pub-assign-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.ihec-pub-assign-row label { font-size:13px; color:#3c434a; }
.ihec-pub-assign-row input[type=date] { padding:6px 9px; border:1px solid #d5d9e0;
  border-radius:5px; margin-left:6px; }
.ihec-pub-assign-quiet { display:flex; align-items:center; gap:6px; }
.ihec-pub-assign-btn { padding:8px 16px; border:0; border-radius:6px; cursor:pointer;
  background:#082A8B; color:#fff; font-size:13px; font-weight:600; }
.ihec-pub-assign-btn:hover { background:#061f68; }
.ihec-pub-assign-note { margin:8px 0 0; font-size:12px; color:#5c6470; }
.ihec-pub-assign-none { font-size:13px; color:#7a5a05; background:#fdf9ec;
  padding:9px 12px; border-radius:5px; }

/* ── Access gate on restricted listings (v2.5.0) ─────────────────────── */
.ihec-pub-gated { max-width:620px; background:#fff; border:1px solid #e3e7ef;
  border-left:3px solid #082A8B; border-radius:0 10px 10px 0;
  padding:26px 28px; margin:0 auto; }
.ihec-pub-gated-h { margin:0 0 10px; font-size:20px; line-height:1.3; color:#0b1524;
  font-family:'Libre Baskerville',Georgia,serif; }
.ihec-pub-gated p { margin:0 0 12px; font-size:14.5px; line-height:1.7; color:#3c434a; }
.ihec-pub-gated-btn { display:inline-block; padding:11px 24px; border-radius:6px;
  background:#0b1524; color:#fff !important; font-size:14.5px; font-weight:600;
  text-decoration:none; }
.ihec-pub-gated-btn:hover { background:#16263c; color:#c9a227 !important; }
.ihec-pub-gated-alt { font-size:13px; color:#5c6470; }
.ihec-pub-gated-note { margin-top:14px !important; padding-top:12px;
  border-top:1px dashed #e3e7ef; font-size:13px !important; color:#5c6470; }
