/* IHEC — front-end review dashboards (abstracts + registrations) */

.ihec-rv {
  --rv-ink:   #0a0e1a;
  --rv-gold:  #9b7e34;
  --rv-grey:  #5a5650;
  --rv-rule:  #e0ddd6;
  --rv-off:   #f5f4f0;
  --rv-err:   #b3261e;
  --rv-ok:    #1e7e34;
  --rv-mono:  'Space Mono', ui-monospace, monospace;
  --rv-sans:  'Inter', system-ui, sans-serif;
  font-family: var(--rv-sans);
  color: var(--rv-ink);
  font-size: 15px;
  line-height: 1.6;
}

.ihec-rv-denied {
  border: 1px solid var(--rv-rule);
  background: var(--rv-off);
  padding: 24px 28px;
  color: var(--rv-grey);
}

.ihec-rv-notice {
  padding: 12px 16px;
  margin-bottom: 18px;
  border-left: 3px solid var(--rv-ok);
  background: rgba(30, 126, 52, .07);
  font-size: 14px;
}
.ihec-rv-notice--err { border-left-color: var(--rv-err); background: rgba(179, 38, 30, .07); }

.ihec-rv-bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
  padding-bottom: 12px; margin-bottom: 16px;
  border-bottom: 2px solid var(--rv-ink);
}
.ihec-rv-count { font-family: var(--rv-mono); font-size: 13px; font-weight: 700; letter-spacing: .05em; }
.ihec-rv-role {
  font-family: var(--rv-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--rv-gold); border: 1px solid var(--rv-rule); padding: 5px 10px;
}

.ihec-rv-pdpa {
  font-size: 13px; color: var(--rv-grey);
  border-left: 3px solid var(--rv-gold);
  background: rgba(155, 126, 52, .06);
  padding: 12px 16px; margin-bottom: 18px;
}

.ihec-rv-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.ihec-rv-filters select,
.ihec-rv-filters input[type=search] {
  font-family: var(--rv-sans); font-size: 14px;
  border: 1px solid var(--rv-rule); background: #fff; padding: 9px 12px; color: var(--rv-ink);
}
.ihec-rv-filters input[type=search] { min-width: 220px; }

.ihec-rv-btn {
  font-family: var(--rv-mono); font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 10px 20px; cursor: pointer;
  border: 2px solid var(--rv-ink); background: transparent; color: var(--rv-ink);
  transition: background .15s, color .15s;
}
.ihec-rv-btn:hover { background: var(--rv-ink); color: #fff; }
.ihec-rv-btn--primary { background: var(--rv-ink); color: #fff; }
.ihec-rv-btn--primary:hover { background: transparent; color: var(--rv-ink); }
.ihec-rv-btn--danger { border-color: var(--rv-err); color: var(--rv-err); }
.ihec-rv-btn--danger:hover { background: var(--rv-err); color: #fff; }

.ihec-rv-tablewrap { overflow-x: auto; border: 1px solid var(--rv-rule); }
.ihec-rv-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ihec-rv-table th {
  font-family: var(--rv-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  text-align: left; padding: 12px 14px; background: var(--rv-ink); color: #fff; font-weight: 400;
  white-space: nowrap;
}
.ihec-rv-table td { padding: 12px 14px; border-bottom: 1px solid var(--rv-rule); vertical-align: top; }
.ihec-rv-row:hover { background: var(--rv-off); }
.ihec-rv-row.is-open { background: var(--rv-off); }
.ihec-rv-ref { font-family: var(--rv-mono); font-size: 12px; white-space: nowrap; }
.ihec-rv-id  { font-family: var(--rv-mono); font-size: 12px; letter-spacing: .04em; }
.ihec-rv-sub { color: var(--rv-grey); font-size: 12px; }
.ihec-rv-link { color: var(--rv-gold); text-decoration: none; font-size: 13px; white-space: nowrap; }
.ihec-rv-link:hover { text-decoration: underline; }

.ihec-rv-status {
  font-family: var(--rv-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase;
  border: 1px solid var(--rv-rule); padding: 4px 8px; white-space: nowrap; display: inline-block;
}
.ihec-rv-status--accepted_oral,
.ihec-rv-status--accepted_poster,
.ihec-rv-status--paid { border-color: var(--rv-ok); color: var(--rv-ok); }
.ihec-rv-status--not_accepted,
.ihec-rv-status--withdrawn { border-color: var(--rv-err); color: var(--rv-err); }
.ihec-rv-status--pending,
.ihec-rv-status--under_review { border-color: var(--rv-gold); color: var(--rv-gold); }

.ihec-rv-editrow > td { background: var(--rv-off); padding: 0 !important; }
.ihec-rv-panel { padding: 24px 20px; border-top: 2px solid var(--rv-ink); }

.ihec-rv-meta {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 24px;
  padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--rv-rule);
  font-size: 13px;
}
.ihec-rv-meta span {
  display: block; font-family: var(--rv-mono); font-size: 9px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--rv-gold); margin-bottom: 3px;
}

.ihec-rv-l {
  display: block; font-family: var(--rv-mono); font-size: 9px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--rv-gold); margin: 16px 0 6px;
}
.ihec-rv-form input[type=text],
.ihec-rv-form textarea,
.ihec-rv-form select {
  width: 100%; font-family: var(--rv-sans); font-size: 14px; color: var(--rv-ink);
  background: #fff; border: 1px solid var(--rv-rule); padding: 10px 12px;
}
.ihec-rv-form textarea { resize: vertical; }
.ihec-rv-form input:focus, .ihec-rv-form textarea:focus, .ihec-rv-form select:focus {
  outline: none; border-color: var(--rv-gold);
}
.ihec-rv-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.ihec-rv-actions { margin-top: 20px; }
.ihec-rv-hint { font-size: 12px; color: var(--rv-grey); margin-left: 10px; }

.ihec-rv-delform {
  margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--rv-rule);
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
}
.ihec-rv-toggle { margin: -6px 0 16px; }
.ihec-rv-empty { padding: 28px; text-align: center; color: var(--rv-grey); border: 1px solid var(--rv-rule); background: var(--rv-off); }

@media (max-width: 900px) {
  .ihec-rv-meta { grid-template-columns: 1fr 1fr; }
  .ihec-rv-2col { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ihec-rv-meta { grid-template-columns: 1fr; }
  .ihec-rv-filters input[type=search] { min-width: 100%; }
}

/* ── Exports ── */
.ihec-rv-exports{ margin:0 0 16px; display:flex; gap:10px; flex-wrap:wrap; }


/* ── Status breakdown chips (v1.7.0) ─────────────────────────────────────
   Every status is listed, including those with zero rows, so it is always
   clear that the dashboard is showing all submissions and not a subset. */
.ihec-rv-statusbar {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 10px 0 14px;
}
.ihec-rv-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border: 1px solid #d5d9e0;
	border-radius: 999px;
	background: #fff;
	font-size: 12px;
	line-height: 1.6;
	color: #3c434a;
	text-decoration: none;
}
.ihec-rv-chip b {
	font-weight: 700;
	color: #082A8B;
}
.ihec-rv-chip:hover {
	border-color: #082A8B;
	color: #082A8B;
}
.ihec-rv-chip.is-on {
	background: #082A8B;
	border-color: #082A8B;
	color: #fff;
}
.ihec-rv-chip.is-on b {
	color: #fff;
}
.ihec-rv-chip.is-zero {
	opacity: .55;
}
.ihec-rv-readonly p {
	margin: 0 0 10px;
	white-space: normal;
}

/* ── Review workflow (v2.0.0) ───────────────────────────────────────── */
.ihec-rv-h4 { margin:22px 0 10px; font-size:13px; font-weight:700;
	letter-spacing:.04em; text-transform:uppercase; color:#082A8B; }
.ihec-rv-chair { margin-top:18px; padding-top:18px; border-top:2px solid #e3e7ef; }
/* minmax(220px,1fr) cannot shrink below 220px, so five reviewers force a
   1100px-wide row whatever the container is. minmax(0,1fr) lets the columns
   collapse, and min-width:0 on the item lets a long email address wrap
   instead of pushing the whole page sideways. */
.ihec-rv-revlist { display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
	gap:6px; margin-bottom:12px; max-width:100%; }
.ihec-rv-revopt { display:flex; align-items:flex-start; gap:8px; padding:7px 10px;
	border:1px solid #e3e7ef; border-radius:6px; font-size:13.5px; background:#fff;
	min-width:0; overflow-wrap:break-word; word-break:break-word; }
.ihec-rv-revopt input { flex:0 0 auto; margin-top:3px; }
.ihec-rv-revopt.is-coi { opacity:.65; background:#fdf6f6; }
.ihec-rv-tick { font-size:11px; color:#14663a; font-weight:700; text-transform:uppercase; }
.ihec-rv-flag { font-size:11px; color:#b01e2a; font-weight:700; }
.ihec-rv-flag--warn { color:#7a5a05; }
.ihec-rv-revcell { font-size:13px; white-space:nowrap; }
.ihec-rv-scores { margin:6px 0 16px; }
.ihec-rv-score { display:flex; flex-wrap:wrap; gap:10px; align-items:center;
	justify-content:space-between; padding:7px 0; border-bottom:1px dashed #e9ecf2; }
.ihec-rv-scale { display:flex; gap:10px; }
.ihec-rv-scale label { display:flex; align-items:center; gap:4px; font-size:13px; }
.ihec-rv-reviewform { margin-top:18px; padding-top:18px; border-top:2px solid #e3e7ef; }
.ihec-rv-onereview { border:1px solid #e3e7ef; border-radius:8px; padding:14px 16px;
	margin-bottom:12px; background:#fff; }
.ihec-rv-onereview-h { margin-bottom:8px; }
.ihec-rv-releasebox { display:flex; align-items:center; gap:8px; margin-top:8px; font-size:13.5px; }
.ihec-rv-coi { margin-top:18px; padding-top:14px; border-top:1px dashed #e3e7ef; }
.ihec-rv-hint--warn { color:#7a5a05; font-weight:600; }
.ihec-rv-btn--quiet { background:#fff; color:#b01e2a; border:1px solid #e3c9c9; }


/* ── Horizontal containment (v2.4.1) ─────────────────────────────────
   The dashboard table has eleven columns and legitimately needs more width
   than a phone has. Previously that widened the document itself, so the
   whole page — header, nav, footer — scrolled sideways and the right-hand
   columns sat off-screen. The table now scrolls inside its own wrapper and
   the page does not move. */
.ihec-rv { max-width:100%; overflow-x:hidden; }
.ihec-rv-tablewrap {
	max-width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	/* Hint that there is more to the right. */
	background:
		linear-gradient(to right, #fff 30%, rgba(255,255,255,0)) left / 24px 100% no-repeat,
		linear-gradient(to left,  #fff 30%, rgba(255,255,255,0)) right / 24px 100% no-repeat,
		radial-gradient(farthest-side at 0 50%, rgba(11,21,36,.14), transparent) left / 12px 100% no-repeat,
		radial-gradient(farthest-side at 100% 50%, rgba(11,21,36,.14), transparent) right / 12px 100% no-repeat;
	background-attachment:local, local, scroll, scroll;
}
.ihec-rv-tablewrap table { margin-bottom:0; }

/* Long values must wrap rather than stretch a column. */
.ihec-rv table td, .ihec-rv table th { overflow-wrap:break-word; word-break:normal; }
.ihec-rv-sub { overflow-wrap:break-word; }

/* The expanded panel is a grid too; same shrink problem. */
.ihec-rv-panel, .ihec-rv-meta { max-width:100%; min-width:0; }
.ihec-rv-panel > div, .ihec-rv-meta > div { min-width:0; overflow-wrap:break-word; }
.ihec-rv-form input[type=text], .ihec-rv-form textarea, .ihec-rv-form select,
.ihec-rv-assign input[type=date] { max-width:100%; box-sizing:border-box; }

@media (max-width:640px) {
	.ihec-rv-revlist { grid-template-columns:1fr; }
}
.ihec-rv-noemail { display:inline-flex; align-items:center; gap:7px;
	margin-right:12px; font-size:13px; color:#3c434a; }

/* ── Focus mode: arriving at one abstract (v2.6.1) ───────────────────── */
.ihec-rv-focus { display:flex; flex-wrap:wrap; gap:12px; align-items:center;
  justify-content:space-between; background:#f4f6fb; border-left:3px solid #082A8B;
  border-radius:0 8px 8px 0; padding:13px 16px; margin-bottom:16px; }
.ihec-rv-focus > div { min-width:0; overflow-wrap:break-word; flex:1 1 320px; }
.ihec-rv-focus-l { display:block; font-size:10.5px; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; color:#5c6470; margin-bottom:3px; }
.ihec-rv-focus-back { flex:0 0 auto; font-size:13px; font-weight:600;
  color:#082A8B; text-decoration:none; white-space:nowrap; }
.ihec-rv-focus-back:hover { text-decoration:underline; }
.ihec-rv-row.is-open > td { background:#fdfaf0; }

/* Navigation out of focus mode */
.ihec-rv-focus-nav { display:flex; flex-wrap:wrap; gap:14px; align-items:center;
  flex:0 0 auto; }
.ihec-rv-focus-alt { font-size:12.5px; color:#5c6470; text-decoration:underline;
  white-space:nowrap; }
.ihec-rv-focus-alt:hover { color:#082A8B; }

/* ── Record your decision (v2.10.0) ──────────────────────────────────── */
.ihec-rv-decide {
  background: #fdfaf0; border: 1px solid #e8d5a3; border-left: 4px solid #c9a227;
  border-radius: 0 8px 8px 0; padding: 20px 22px; margin-bottom: 22px;
}
.ihec-rv-decide-head {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
  justify-content: space-between; margin-bottom: 12px;
}
.ihec-rv-nowstatus {
  font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  padding: 4px 11px; border-radius: 999px; background: #eef0f4; color: #3c434a;
  white-space: nowrap;
}
.ihec-rv-nowstatus--accepted_oral,
.ihec-rv-nowstatus--accepted_poster { background: #e6f4ea; color: #14663a; }
.ihec-rv-nowstatus--not_accepted { background: #fdeaea; color: #b01e2a; }
.ihec-rv-nowstatus--withdrawn { background: #ecebf2; color: #55506b; }
.ihec-rv-nowstatus--under_review { background: #fdf3d8; color: #7a5a05; }
.ihec-rv-decide-recs { margin: 0 0 12px; font-size: 13.5px; line-height: 1.6; color: #3c434a; }
.ihec-rv-decide-warn {
  margin: 0 0 12px; font-size: 13px; font-weight: 600; color: #7a5a05;
  background: #fdf3d8; padding: 8px 11px; border-radius: 5px;
}
.ihec-rv-decideform { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ihec-rv-decide-select {
  flex: 1 1 260px; min-width: 0; padding: 11px 13px;
  border: 1px solid #d5d9e0; border-radius: 6px; font-size: 15px; background: #fff;
}
.ihec-rv-decide-select:focus {
  outline: none; border-color: #c9a227; box-shadow: 0 0 0 3px rgba(201,162,39,.2);
}
.ihec-rv-decide .ihec-rv-btn--primary { flex: 0 0 auto; }
.ihec-rv-decide .ihec-rv-hint { margin-top: 10px; }

/* Decision row + chair's message to the author (v2.11.0) */
.ihec-rv-decide-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  margin-bottom:14px; }
.ihec-rv-chairmsg { width:100%; box-sizing:border-box; padding:11px 13px;
  border:1px solid #d5d9e0; border-radius:6px; font-size:14px; font-family:inherit; }
.ihec-rv-chairmsg:focus { outline:none; border-color:#c9a227;
  box-shadow:0 0 0 3px rgba(201,162,39,.2); }
.ihec-rv-nowstatus--revise { background:#fdf3d8; color:#7a5a05; }

/* Delete control in the chair panel (v2.12.0) */
.ihec-rv-remove { margin-bottom:16px; padding:12px 14px; border:1px solid #e3c9c9;
  border-left:3px solid #b01e2a; border-radius:0 6px 6px 0; background:#fdf7f7; }
.ihec-rv-delform { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.ihec-rv-btn--danger { background:#b01e2a; color:#fff; border:0; }
.ihec-rv-btn--danger:hover { background:#8a1720; color:#fff; }
.ihec-rv-remove .ihec-rv-hint { flex:1 1 320px; margin:0; }

/* Uploaded presentation file in the chair panel (v2.13.0) */
.ihec-rv-file { margin-bottom:16px; padding:12px 14px; background:#f4f6fb;
  border-left:3px solid #082A8B; border-radius:0 6px 6px 0; }
.ihec-rv-file p { margin:6px 0 0; font-size:14px; }

/* Physical / online mode for oral acceptances (v2.16.0) */
.ihec-rv-mode { margin:12px 0; padding:10px 12px; background:#fff;
  border:1px solid #e8d5a3; border-radius:6px; }
.ihec-rv-modeopt { display:inline-flex; align-items:center; gap:7px;
  margin-right:18px; font-size:13.5px; }
.ihec-rv-mode .ihec-rv-hint { margin:6px 0 0; }

/* Author responses in the chair panel (v2.20.0) */
.ihec-rv-replies { margin-bottom:16px; padding:14px 16px; background:#f4f6fb;
  border-left:3px solid #082A8B; border-radius:0 6px 6px 0; }
.ihec-rv-replycount { display:inline-block; min-width:20px; padding:1px 8px;
  border-radius:999px; background:#082A8B; color:#fff; font-size:11px; font-weight:700; }
.ihec-rv-reply { padding:10px 0; border-bottom:1px dashed #d5d9e0; }
.ihec-rv-reply:last-of-type { border-bottom:none; }
.ihec-rv-reply-meta { display:block; font-size:11.5px; color:#5c6470; margin-bottom:4px; }
.ihec-rv-reply p { margin:0; font-size:14px; line-height:1.7; }

/* Account linkage diagnostic (v2.21.1) */
.ihec-rv-owner { margin-bottom:16px; padding:12px 14px; background:#f4f6fb;
  border-left:3px solid #5c6470; border-radius:0 6px 6px 0; }
.ihec-rv-owner p { margin:6px 0; font-size:13.5px; line-height:1.7; }
.ihec-rv-relink { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:8px; }
.ihec-rv-relink input[type=email] { flex:1 1 260px; min-width:0; padding:8px 11px;
  border:1px solid #d5d9e0; border-radius:6px; font-size:13.5px; }
