:root {
  color-scheme: light;
  --bg: #f4f7fb;
  --surface: #fff;
  --soft: #edf3fb;
  --ink: #142033;
  --muted: #627083;
  --line: #d8e0ea;
  --brand: #0759cf;
  --brand2: #003d91;
  --button-ink: #fff;
  --focus: #79aef7;
  --warn: #925200;
  --warnbg: #fff2d4;
  --danger: #a62b2b;
  --success: #216f40;
  --accent-soft: #e7f0ff;
  --directory-accent: #7054b3;
  --elevation: 0 10px 30px rgb(23 53 89 / 8%);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.action-fields .consent-status-options { display:grid; gap:8px; }
.action-fields .consent-status-options .radio-card { display:flex; align-items:center; gap:12px; min-height:52px; padding:12px; margin:0; }
.action-fields .consent-status-options .radio-card input { flex:0 0 20px; width:20px; height:20px; min-height:0; margin:0; }
.action-fields .consent-status-options .radio-card span { font-size:15px; line-height:1.45; }
.action-fields .consent-status-options .radio-card:has(input:checked) { border-color:var(--brand); background:var(--accent-soft); }
html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0f1621;
  --surface: #172231;
  --soft: #202e40;
  --ink: #edf4ff;
  --muted: #a9b7c9;
  --line: #334357;
  --brand: #4d91f7;
  --brand2: #82b3fa;
  --button-ink: #0f1621;
  --focus: #8bb9fb;
  --warn: #ffc76d;
  --warnbg: #3a2b16;
  --danger: #ff9595;
  --success: #8be4a9;
  --accent-soft: #1c3457;
  --directory-accent: #c0a9fa;
  --elevation: 0 12px 30px rgb(0 0 0 / 20%);
}
.coordinator-board { margin-block:24px; }
body[data-board-space=true] { padding:0; margin:0; }
.shell.board-space { max-width:none; width:calc(100% - 24px); margin:12px auto; padding:0; height:calc(100dvh - 24px); }
.board-space .coordinator-board { margin:0; padding:0; }
.board-space .coordinator-board { display:flex; flex-direction:column; height:100%; min-height:0; }
.board-space .board-columns { flex:1; min-height:0; }
.board-space .board-column { flex:1 0 185px; display:flex; flex-direction:column; min-height:0; padding:8px; border-radius:18px; }
.board-space .board-stack { overflow-y:auto; min-height:0; padding:2px; align-content:start; scrollbar-gutter:stable; }
.board-space .board-header h2 { margin:0; font-size:22px; }
.board-space .board-header p { margin:3px 0; font-size:12px; }
.board-space [data-result] { margin:0; min-height:20px; font-size:12px; }
.board-space .board-card { padding:10px; border-radius:10px; }
.board-space .board-card h4 { font-size:14px; margin:4px 0 6px; }
.board-space .board-card p { font-size:12px; margin:3px 0; }
.board-space .board-column h3 { font-size:13px; min-height:32px; margin-bottom:6px; }
.board-space .board-card-actions,.board-space .board-badges { gap:4px; margin-top:6px; }
.board-space .board-badges .badge { font-size:11px; padding:4px 6px; }
.board-secondary-data { display:none; }
.board-card h4[role=button] { cursor:pointer; }
.board-summary { width:calc(100vw - 48px); max-width:1440px; height:calc(100dvh - 48px); max-height:calc(100dvh - 48px); }
.board-summary .action-form { width:100%; height:100%; display:flex; flex-direction:column; }
.board-summary .action-fields { display:block; flex:1; overflow:auto; min-height:0; }
.board-performance { padding:16px; margin-block:12px; border:1px solid var(--line); border-radius:12px; }
.board-performance summary { font-weight:600; }
.board-space .board-header { align-items:center; gap:12px; }
.board-space .board-header .eyebrow,.board-space .board-header .muted { display:none; }
.board-space .board-header .button { min-height:36px; padding:8px 12px; font-size:13px; }
.board-space .board-search { margin:10px 0 6px; }
.board-density { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); margin-bottom:6px; }
.board-density input { width:auto; }
.board-space .board-column { flex:1 0 240px; }
.board-space .board-column-empty { flex:0 0 96px; }
.board-space .board-column { border:0; border-radius:0; background:transparent; padding:0; }
.board-space .board-column[data-stage] { border:0; }
.board-stage-header { flex:0 0 110px; min-height:110px; background:var(--soft); border:1px solid var(--line); border-top:3px solid var(--line); border-radius:12px; padding:10px; margin-bottom:12px; }
.board-space .board-stage-header h3 { margin:0; min-height:44px; align-content:start; }
.board-column[data-stage=pep] .board-stage-header { border-top-color:var(--warn); }
.board-column[data-stage=ready] .board-stage-header,.board-column[data-stage=complete] .board-stage-header { border-top-color:var(--success); }
.board-column[data-stage=cancelled] .board-stage-header { border-top-color:var(--danger); }
.board-space .board-stack { flex:1; }
.board-column:has(.board-card[draggable=true]):hover .board-stage-header { border-color:var(--brand); }
.board-column-empty .board-stack { display:none; }
.board-space .board-column h3 { flex-wrap:wrap; }
.board-space .board-column h3 span { font-weight:400; font-size:11px; }
.board-expand { border:0; background:none; color:var(--brand); cursor:pointer; padding:8px 0; text-align:left; font:inherit; font-size:12px; }
.board-space .board-card[data-series-id] { padding:12px; }
.board-space .board-header { padding:14px 16px; border:1px solid var(--line); border-top:3px solid var(--brand); border-radius:16px; background:var(--surface); }
.board-space .board-header h2 { font-size:25px; }
.board-space .board-header .button { background:var(--soft); color:var(--ink); border-color:var(--line); }
.board-header [data-personal-crm] small { display:block; color:var(--muted); font-size:10px; }
.board-header [hidden] { display:none; }
.board-column { --stage-accent:var(--brand); }
.board-column[data-stage=work] { --stage-accent:var(--directory-accent); }
.board-column[data-stage=pep],.board-column[data-stage=reporting] { --stage-accent:var(--warn); }
.board-column[data-stage=ready],.board-column[data-stage=complete] { --stage-accent:var(--success); }
.board-column[data-stage=cancelled] { --stage-accent:var(--danger); }
.board-stage-symbol { color:var(--stage-accent); font-size:23px; line-height:1; display:block; margin-bottom:8px; }
.board-stage-header { background:color-mix(in srgb,var(--stage-accent) 7%,var(--surface)); }
.board-space .board-stage-header h3 { color:var(--ink); font-size:15px; }
.board-space .board-card { border:1px solid var(--line); border-left:3px solid var(--stage-accent); }
.board-space .board-columns { scrollbar-gutter:stable; scroll-snap-type:x proximity; }
.board-space .board-column { scroll-snap-align:start; }
.board-space .board-column-empty { flex-basis:140px; }
.board-space .board-card .board-card-actions { display:flex; }
@media(min-width:1280px) { .board-space .board-columns { display:flex; } .board-space .board-column { flex:1 1 0; min-width:0; } .board-space .board-column-empty { flex:.55 1 0; min-width:0; } }
@media(max-width:1279px) { .board-space .board-column { flex:0 0 260px; } .board-space .board-column-empty { flex:0 0 160px; } }
@media(max-width:650px) { .board-space .board-header { align-items:start; } .board-space .board-header .actions { gap:6px; } .board-space .board-header h2 { font-size:22px; } .board-space .board-column { flex-basis:calc(100vw - 48px); } .board-space .board-column-empty { flex-basis:160px; } }
.board-space .board-card[data-series-id] h4 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.4; min-height:39px; }
.board-space .board-card[data-series-id] > p:not(.eyebrow):not(.board-deadline) { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.board-space .board-card[data-series-id] .board-card-actions { display:none; }
.board-space .board-card[data-series-id] .board-badges { flex-wrap:nowrap; }
.board-space .board-deadline { color:var(--muted); font-size:12px; }
.board-space .board-deadline.deadline-urgent { color:var(--warn); }
.board-space .board-deadline.deadline-overdue { color:var(--danger); }
.board-space .board-task h4 { font-size:13px; }
.board-space .board-task summary { font-size:12px; }
.board-space .board-card .button { padding:6px 8px; min-height:30px; font-size:12px; }
.board-space .board-card .text-link { padding:4px 0; font-size:12px; }
.board-fields { display:grid; grid-template-columns:140px minmax(0,1fr); gap:8px 16px; }
.board-fields dt { color:var(--muted); }
.board-fields dd { margin:0; overflow-wrap:anywhere; }
.board-deadline { color:var(--danger); font-variant-numeric:tabular-nums; white-space:nowrap; }
.board-open .topbar .actions { display:none; }
.board-open .topbar h1 { font-size:32px; }
.board-open .topbar .brand .muted { display:none; }
.board-column[data-stage=pep] { border-top:3px solid var(--warn); }
.board-column[data-stage=ready],.board-column[data-stage=complete] { border-top:3px solid var(--success); }
.board-column[data-stage=cancelled] { border-top:3px solid var(--danger); }
.board-card .text-link { border:0; background:none; color:var(--brand); padding:8px 0; font:inherit; cursor:pointer; }
.board-header { display:flex; justify-content:space-between; align-items:start; gap:20px; flex-wrap:wrap; }
.board-search { display:block; max-width:360px; margin-block:8px; font-size:12px; }
.board-columns { display:flex; gap:8px; overflow-x:auto; padding:4px 0 8px; align-items:stretch; }
.board-column { flex:0 0 300px; min-width:0; border:1px solid var(--line); border-radius:16px; background:var(--soft); padding:12px; }
.board-column h3 { font-size:16px; margin:0 0 14px; display:flex; justify-content:space-between; gap:8px; }
.board-column h3 span { color:var(--muted); font-variant-numeric:tabular-nums; }
.board-stack { display:grid; gap:12px; }
.board-card { min-width:0; padding:14px; border-radius:12px; background:var(--surface); box-shadow:0 2px 8px rgb(0 0 0 / 7%); overflow-wrap:anywhere; }
.board-card h4 { margin:6px 0 10px; font-size:16px; line-height:1.4; }
.board-card p { margin:6px 0; font-size:13px; }
.board-card[draggable=true] { cursor:grab; }
.board-card-actions,.board-badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.board-task { border-left:3px solid var(--brand); }
.board-description { white-space:pre-wrap; max-height:180px; overflow:auto; }
.board-task pre { white-space:pre-wrap; font-size:12px; }
.board-empty { color:var(--muted); font-size:13px; }
.board-blocked { color:var(--warn); background:var(--warnbg); padding:8px; border-radius:8px; }
* {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}
body {
  margin: 0;
  background: radial-gradient(circle at 10% -20%, color-mix(in srgb, var(--brand) 13%, transparent), transparent 34rem), var(--bg);
  color: var(--ink);
  font:
    16px/1.5 Inter,
    "Segoe UI",
    Arial,
    sans-serif;
}
.shell {
  max-width: 1320px;
  margin: auto;
  padding: 28px 24px 64px;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  margin-bottom: 2px;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
h2 {
  margin-bottom: 4px;
  font-size: 1.35rem;
}
.muted,
.hint {
  color: var(--muted);
}
.hint {
  font-size: 0.8rem;
  font-weight: 400;
}
.eyebrow {
  margin-bottom: 4px;
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.skip-link {
  position: fixed;
  z-index: 20;
  top: 8px;
  inset-inline-start: 8px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  padding: 0;
  background: var(--brand);
  color: var(--button-ink);
}
.skip-link:focus-visible {
  width: auto;
  height: auto;
  overflow: visible;
  clip-path: none;
  padding: 10px;
}
.topbar,
.section-title,
.brand,
.actions,
.occurrence-head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.topbar,
.section-title,
.occurrence-head {
  justify-content: space-between;
}
.topbar {
  margin-bottom: 22px;
}
.brand {
  align-items: center;
  gap: 18px;
}
.znanie-mark {
  display: inline-grid;
  flex: 0 0 auto;
  gap: 3px;
  color: var(--ink);
  line-height: 1;
}
.znanie-mark strong {
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 950;
  letter-spacing: 0.08em;
}
.znanie-mark span {
  color: var(--brand);
  font-size: 0.56rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}
.brand img {
  width: 170px;
}
html[data-theme="dark"] .brand img {
  filter: invert(1);
}
.actions {
  flex-wrap: wrap;
}
.qa-role-selector {
  display: grid;
  min-height: 42px;
  gap: 1px;
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--muted);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.qa-role-selector select {
  min-width: 160px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: 750 .9rem/1.2 inherit;
  cursor: pointer;
}
.button,
.icon-button,
.text-button {
  border: 0;
  font: 650 0.94rem/1.2 inherit;
  cursor: pointer;
}
.button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  border-radius: 10px;
  background: var(--brand);
  color: #fff;
  text-decoration: none;
  transition: background-color 140ms ease-out, border-color 140ms ease-out, box-shadow 140ms ease-out, transform 140ms ease-out;
}
.button:hover {
  background: var(--brand2);
  box-shadow: 0 5px 14px color-mix(in srgb, var(--brand2) 24%, transparent);
}
.button:active { transform: scale(.96); }
.inactive-badge { color: var(--muted); border-color: color-mix(in srgb, var(--muted) 45%, transparent); background: color-mix(in srgb, var(--muted) 10%, transparent); }
.quiet-action { color: var(--muted); }
.directory-entry { display:flex; align-items:center; gap:12px; min-width:0; }
.directory-entry .speaker-option { flex:1; min-width:0; display:grid; gap:12px; background:var(--surface); padding:18px; border-color:var(--line); box-shadow:0 3px 10px rgb(0 0 0 / 8%); }
.directory-entry .speaker-option:hover { border-color:var(--brand); background:var(--accent-soft); }
.directory-entry .speaker-option:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.directory-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.directory-name { font-size:18px; line-height:1.4; overflow-wrap:anywhere; }
.directory-address { color:var(--ink); line-height:1.5; }
.directory-metrics { display:flex; flex-wrap:wrap; gap:8px; }
.directory-metric { display:grid; gap:3px; padding:8px 12px; border-radius:8px; background:var(--soft); min-width:100px; }
.directory-metric strong { font-size:21px; line-height:1.2; font-variant-numeric:tabular-nums; color:var(--ink); }
.directory-metric > span { font-size:12px; line-height:1.4; color:var(--muted); }
.directory-metric.metric-planned { background:var(--accent-soft); }
.directory-metric.metric-planned strong { color:var(--brand2); }
.directory-metric.metric-conducted { background:color-mix(in srgb,var(--success) 12%,var(--surface)); }
.directory-metric.metric-conducted strong { color:var(--success); }
.directory-metric.metric-cancelled { background:color-mix(in srgb,var(--danger) 10%,var(--surface)); }
.directory-metric.metric-cancelled strong { color:var(--danger); }
.directory-metric.metric-pending { background:var(--warnbg); }
.directory-metric.metric-pending strong { color:var(--warn); }
.directory-last { flex-basis:100%; }
.directory-profile-summary { color:var(--ink); font-size:14px; line-height:1.5; }
.directory-checks { color:var(--muted); font-size:13px; line-height:1.5; }
.directory-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-block:20px 16px; }
.directory-tabs .button[aria-pressed="true"] { background:var(--brand); color:#fff; border-color:var(--brand); }
.directory-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:16px; background:var(--soft); border-radius:12px; }
.directory-filters label { margin:0; min-width:0; }
.directory-filters select { min-width:0; width:100%; }
.speaker-detail-dialog [data-content] { display:grid; gap:16px; margin-block:20px; }
.speaker-detail-facts { display:grid; gap:16px; margin:0; }
.speaker-detail-facts > div { padding:14px; border-radius:10px; background:var(--soft); }
.speaker-detail-facts dt { color:var(--muted); font-size:13px; margin-bottom:6px; }
.speaker-detail-facts dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.55; }
.speaker-detail-facts dd a { display:inline-block; margin-inline-end:8px; }
.speaker-eligibility-warning { margin:8px 0; border-inline-start:4px solid var(--warn); padding:12px 14px; background:var(--warnbg); color:var(--warn); border-radius:8px; font-size:14px; line-height:1.5; font-weight:600; }
@media(max-width:600px) {
  .directory-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; }
  .directory-heading { flex-direction:column; gap:8px; }
  .directory-entry { flex-direction:column; align-items:stretch; }
  .directory-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-metric { min-width:0; }
  .directory-last { grid-column:1/-1; }
  .directory-entry .speaker-option { flex:auto; padding:14px; }
}
.directory-full-name { flex-basis:100%; color:var(--muted); text-align:left; line-height:1.35; }
.relationship-badge { display:inline-flex; align-items:center; width:max-content; white-space:nowrap; padding:3px 8px; border:1px solid currentColor; border-radius:999px; font-size:12px; font-weight:700; line-height:1.2; }
[data-venue-relationship]:not([hidden]) { display:grid; gap:6px; margin-top:8px; }
[data-venue-relationship] small { display:block; line-height:1.5; overflow-wrap:anywhere; }
.workflow-companion { grid-column:1/-1; min-width:0; }
#series-form footer .button:active { transform:none; }
#series-form footer { position:sticky; bottom:0; z-index:2; padding:12px 0; background:var(--surface); border-top:1px solid var(--line); }
.workflow-occurrence-context { display:grid; gap:6px; margin-top:10px; }
.workflow-occurrence-context p { margin:0; overflow-wrap:anywhere; }
.dialog .action-form footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.dialog .action-form footer .button { flex:none; min-height:44px; width:100%; }
@media (max-width:760px) {
  .dialog .action-form footer { grid-template-columns:1fr; }
  #series-form .form-grid { grid-template-columns:minmax(0,1fr); }
  #series-form .form-grid > label { grid-column:1/-1 !important; margin-top:0; min-width:0; }
  #series-form .form-grid input, #series-form .form-grid select { width:100%; min-width:0; }
  #series-form footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:stretch; }
  #series-form footer .button { width:100%; }
  #series-form footer #submit-series { grid-column:1/-1; order:-1; }
}
.relationship-warm { color:var(--success); background:color-mix(in srgb, var(--success) 12%, transparent); }
.relationship-neutral { color:var(--muted); background:color-mix(in srgb, var(--muted) 10%, transparent); }
.relationship-cold { color:var(--brand2); background:var(--accent-soft); }
.relationship-black_mark { color:#fff; border-color:#111827; background:#111827; }
.directory-status-button { flex:0 0 auto; }
.feedback-dialog { width:min(720px,calc(100vw - 32px)); }
.feedback-dialog textarea { min-height:160px; resize:vertical; }
.feedback-dialog .action-form { width:100%; max-width:100%; min-width:0; }
.feedback-dialog form.action-form { padding:0; display:grid; gap:16px; }
.feedback-message { padding:20px 0; border-bottom:1px solid var(--line); }
.feedback-message h3 { margin:0 0 10px; font-size:20px; }
.feedback-message-body { white-space:pre-wrap; overflow-wrap:anywhere; }
.button.secondary {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
}
.button.secondary:hover { background: var(--accent-soft); border-color: color-mix(in srgb, var(--brand) 32%, var(--line)); box-shadow: none; }
.button.secondary.danger-action { border-color: color-mix(in srgb, var(--danger) 45%, var(--line)); background: color-mix(in srgb, var(--danger) 7%, var(--surface)); color: var(--danger); }
.button.secondary.danger-action:hover { border-color: var(--danger); background: color-mix(in srgb, var(--danger) 13%, var(--surface)); }
.icon-button {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  font-size: 1.25rem;
}
.text-button {
  padding: 5px;
  background: transparent;
  color: var(--brand);
}
.text-button.danger {
  color: var(--danger);
}
:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
.feedback,
.dashboard,
.registry,
.reference {
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--elevation);
}
.feedback.error {
  color: var(--danger);
}
.form-feedback {
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--danger) 45%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--danger) 10%, var(--surface));
  color: var(--danger);
  font-weight: 700;
}
.copy-undo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -2px 0 14px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--brand) 34%, var(--line));
  border-radius: 10px;
  background: var(--accent-soft);
  color: var(--ink);
}
.save-reminder {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 9%, var(--surface));
  color: var(--ink);
  line-height: 1.5;
}
.registration-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 14px 0 10px;
  color: var(--muted);
  font-size: 0.88rem;
}
.registration-summary .badge {
  color: var(--ink);
}
.registration-detail {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
}
.registration-detail h4 {
  margin: 0 0 8px;
}
.registration-detail p {
  margin: 6px 0;
}
.photo-report-status {
  display: grid;
  gap: 10px;
  margin-top: 16px;
  padding: 14px;
  border-radius: 12px;
  background: var(--accent-soft);
  box-shadow: inset 0 0 0 1px var(--line);
}
.photo-report-status.attention {
  background: var(--warnbg);
  box-shadow: inset 3px 0 0 var(--warn), inset 0 0 0 1px var(--line);
}
.photo-report-status p { margin: 0; }
.photo-report-status label { display: grid; gap: 6px; font-weight: 700; }
.photo-report-status summary { cursor: pointer; display: flex; justify-content: space-between; gap: 12px; font-weight: 700; }
.photo-report-status summary span { color: var(--muted); font-size: .875rem; font-weight: 500; }
.photo-report-status[open] summary { margin-bottom: 10px; }
.detail-block-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.detail-block-head .eyebrow { margin: 0 0 3px; }
.detail-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; margin: 14px 0; }
.detail-facts div { display: grid; gap: 3px; }
.detail-facts dt { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.detail-facts dd { margin: 0; }
.metrics-button { font-weight: 800; }
.metrics-dialog { width: min(980px, calc(100% - 24px)); }
.metrics-dialog form { padding: 24px; }
.metrics-dialog h2 { margin: 0; font-size: clamp(1.2rem, 2.4vw, 1.75rem); }
.metrics-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.metrics-strip article { display: grid; align-content: space-between; min-height: 90px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.metrics-strip span { color: var(--muted); font-size: .76rem; font-weight: 750; line-height: 1.25; }
.metrics-strip strong { color: var(--brand2); font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.metrics-strip small { color: var(--muted); }
.metrics-comment { margin: 12px 0 0; color: var(--muted); }
.series > .detail {
  scroll-margin-top: 16px;
  outline: none;
}
.portal-card-error {
  margin: 12px 0 0;
}
.counters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(172px, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.counter {
  display: grid;
  align-content: start;
  min-height: 116px;
  gap: 5px;
  padding: 14px;
  border-radius: 12px;
  background: var(--soft);
  cursor: pointer;
  text-align: start;
}
.counter.active {
  color: var(--brand);
  background: color-mix(in srgb, var(--brand) 11%, var(--soft));
  border-color: var(--brand);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);
}
.counter strong {
  font-size: 1.65rem;
  font-variant-numeric: tabular-nums;
}
.counter small { color: var(--muted); font-size: .77rem; font-weight: 650; line-height: 1.25; }
.counter.is-empty { opacity: 1; box-shadow: none; }
.counter.has-value { border-color: color-mix(in srgb, var(--brand) 38%, var(--line)); }
.dashboard-filter-state { min-height: 26px; margin: -4px 0 18px; color: var(--muted); }
.dashboard-filter-state b { color: var(--ink); }
.filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  align-items: end;
  gap: 12px;
  margin: 18px 0;
  padding: 14px;
  border-radius: 12px;
  background: var(--soft);
}
.filters > label:first-child {
  grid-column: span 2;
}
.filters > button {
  align-self: end;
}
label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}
input,
select,
textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}
textarea {
  min-height: 94px;
  resize: vertical;
}
.series-list,
.task-list {
  display: grid;
  gap: 10px;
}
.series {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 2px 10px #1835570a;
}
.series:hover { border-color: color-mix(in srgb, var(--brand) 34%, var(--line)); }
.series-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}
.series-statuses { display: grid; justify-items: stretch; gap: 8px; min-width: 0; width: 260px; }
.series-statuses .button { white-space: normal; text-align: left; justify-content: flex-start; line-height: 1.4; }
.series-top > div:first-child { min-width: 0; flex: 1; }
.speaker-registry-shell { padding: 24px; }
.speaker-registry-shell header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.speaker-registry-list { display: grid; gap: 8px; margin-top: 16px; }
.speaker-option { display: grid; gap: 5px; min-height: 52px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); color: var(--ink); text-align: left; cursor: pointer; font: inherit; }
.speaker-option small { color: var(--muted); }
.speaker-picker { margin-top: 5px; min-height: 40px; }
.workflow-stage { display: grid; gap: 2px; min-width: 174px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line)); border-radius: 14px; background: var(--accent-soft); color: var(--brand2); box-shadow: 0 2px 8px rgb(10 32 61 / 8%); }
.workflow-stage span { font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.workflow-stage strong { font-size: .95rem; }
.workflow-stage small { color: var(--muted); font-size: .72rem; font-weight: 600; line-height: 1.25; }
.workflow-stage .source-event-id { margin-top: 3px; color: var(--brand2); font-size: .72rem; font-style: normal; font-weight: 800; line-height: 1.2; }
.source-event-id-button { min-height: 40px; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line)); border-radius: 10px; background: var(--surface); color: var(--brand2); font: 800 .72rem/1.2 inherit; text-align: left; cursor: pointer; transition-property: background-color, color, transform; transition-duration: .15s; }
.source-event-id-button:hover { background: var(--accent-soft); }
.source-event-id-button:active { transform: scale(.96); }
.detail-event-id { display: inline-flex; align-items: center; min-height: 40px; margin-top: 5px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--soft); color: var(--brand2); cursor: pointer; font: 750 .75rem/1.2 inherit; text-align: left; transition-property: background-color, transform; transition-duration: .15s; }
.detail-event-id:hover { background: var(--accent-soft); }
.detail-event-id:active { transform: scale(.96); }
.workflow-stage .pep-status { margin-top: 4px; font-size: .72rem; font-style: normal; font-weight: 800; line-height: 1.25; }
.workflow-stage .pep-status.danger, .workflow-stage .pep-countdown { color: var(--danger); }
.workflow-stage .pep-status.warning { color: var(--warn); }
.workflow-occurrence-context .badge.warning { color: var(--warn); background: var(--warnbg); border-color: color-mix(in srgb, var(--warn) 45%, var(--line)); }
.workflow-occurrence-context .badge.danger { color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, var(--surface)); border-color: color-mix(in srgb, var(--danger) 45%, var(--line)); }
.workflow-occurrence-context .pep-countdown { display:block; white-space:nowrap; font-variant-numeric:tabular-nums; }
.workflow-stage .pep-status.success { color: var(--success); }
.workflow-stage .pep-status.neutral { color: var(--muted); }
.workflow-stage-button { cursor: pointer; text-align: start; transition-property: background-color, border-color, color, transform; transition-duration: .15s; }
.workflow-stage-button:hover { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 15%, var(--surface)); }
.workflow-stage-button:active { transform: scale(.96); }
.workflow-stage.success, .badge.success { border-color: color-mix(in srgb, var(--success) 45%, var(--line)); background: color-mix(in srgb, var(--success) 12%, var(--surface)); color: var(--success); }
.workflow-stage.danger { border-color: color-mix(in srgb, var(--danger) 48%, var(--line)); background: color-mix(in srgb, var(--danger) 12%, var(--surface)); color: var(--danger); }
.workflow-stage.attention { border-color:color-mix(in srgb,var(--warn) 45%,var(--line)); background:var(--warnbg); color:var(--warn); }
.stage-changes_requested { border-color: color-mix(in srgb, var(--warn) 45%, var(--line)); background: var(--warnbg); color: var(--warn); }
.stage-accepted { border-color: color-mix(in srgb, var(--success) 45%, var(--line)); background: color-mix(in srgb, var(--success) 12%, var(--surface)); color: var(--success); }
.stage-rejected, .stage-cancelled { border-color: color-mix(in srgb, var(--danger) 45%, var(--line)); background: color-mix(in srgb, var(--danger) 11%, var(--surface)); color: var(--danger); }
.next-step { display: grid; gap: 2px; max-width: 64ch; margin: 10px 0 0; padding: 9px 11px; border-left: 3px solid var(--brand); border-radius: 0 8px 8px 0; background: color-mix(in srgb, var(--brand) 7%, var(--surface)); }
.next-step span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.series-overflow { position: relative; }
.series-overflow summary { min-height: 42px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); cursor: pointer; list-style: none; }
.series-overflow summary::-webkit-details-marker { display: none; }
.series-overflow summary::after { content: "⌄"; margin-inline-start: 7px; color: var(--muted); }
.series-overflow[open] summary::after { content: "⌃"; }
.series-overflow-actions { position: absolute; z-index: 5; right: 0; top: calc(100% + 6px); display: grid; min-width: 180px; gap: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: var(--elevation); }
.series-overflow-actions .button, .series-overflow-actions .text-button { justify-content: flex-start; text-align: left; }
.series-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px 18px;
  margin: 14px 0 4px;
}
.series-primary-actions { margin-top: 14px; }
.series-management { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 18px; }
.management-group { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--soft) 82%, var(--surface)); }
.management-group > p { margin: 0 0 8px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.management-group > div { display: flex; flex-wrap: wrap; gap: 8px; }
.management-group .button { min-height: 40px; padding: 8px 11px; }
.pep-action { background:var(--warnbg); color:var(--warn); border:1px solid var(--warn); }
.pep-action:hover { background:var(--warnbg); color:var(--ink); }
.series-facts span,
.series-overview > div {
  display: grid;
  gap: 2px;
}
.series-facts b,
.series-overview b {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.series-note { margin: 14px 0 0; padding: 10px 12px; border-left: 3px solid var(--brand); border-radius: 9px; background: var(--soft); }
.series-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; padding: 14px; border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line)); border-radius: 12px; background: var(--soft); }
.occurrences-heading { margin: 22px 0 8px; }
.shared-links-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 16px 0; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line)); border-radius: 12px; background: var(--accent-soft); }
.shared-links-panel .eyebrow { margin: 0 0 4px; }
.shared-links-panel .muted { margin: 4px 0 0; }
.occurrence-table { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%); }
.occurrence-table-head,
.occurrence-row { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(180px,.8fr) minmax(190px,.75fr); gap:24px; min-width:0; }
.occurrence-table-head { display:none; }
.occurrence-row { align-items: center; padding: 12px 14px; border-top: 1px solid var(--line); background: var(--surface); transition: background-color 130ms ease-out; }
.occurrence-row > * { min-width: 0; }
.occurrence-row:hover { background: color-mix(in srgb, var(--brand) 4%, var(--surface)); }
.occurrence-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.occurrence-summary > div:nth-child(3), .occurrence-summary > div:nth-child(4) { grid-column:1/-1; }
.occurrence-summary > div { display: grid; gap: 5px; }
.occurrence-summary strong { font-size: 1rem; }
.occurrence-date { color: var(--brand2); font-weight: 750; }
.occurrence-time { color:var(--ink); font-weight:750; font-variant-numeric:tabular-nums; white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
.occurrence-number { width: fit-content; padding: 3px 7px; border-radius: 999px; background: var(--accent-soft); color: var(--brand2); font-size: .7rem; font-weight: 800; letter-spacing: .03em; }
.occurrence-status-cell { margin: 0; display: grid; gap: 5px; }
.occurrence-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.occurrence-kpis > span { display: grid; gap: 1px; min-width: 0; padding: 7px 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--soft); }
.occurrence-kpis small { color: var(--muted); font-size: .68rem; font-weight: 700; }
.occurrence-kpis b { color: var(--brand2); font-size: 1rem; font-variant-numeric: tabular-nums; }
.occurrence-progress-note { color: var(--muted); font-size: .78rem; line-height: 1.3; }
.occurrence-comment { padding: 7px 8px; border-inline-start: 3px solid var(--brand); border-radius: 0 8px 8px 0; background: var(--soft); color: var(--muted); font-size: .82rem; line-height: 1.35; }
.occurrence-registration-details summary { color: var(--brand2); font-size: .78rem; font-weight: 750; cursor: pointer; }
.occurrence-registration-details > div { display: grid; gap: 6px; margin-block-start: 7px; color: var(--muted); font-size: .78rem; }
.series-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 10px; }
.series-badges .speaker-top-badge { color:#5b3900; border-color:#e7b331; background:linear-gradient(135deg,#fff3bd,#ffd768); font-weight:700; }
body[data-theme="dark"] .series-badges .speaker-top-badge { color:#fff3bd; border-color:#ad7f16; background:linear-gradient(135deg,#4a350a,#72520d); }
.material-status { background: var(--accent-soft); color: var(--brand2); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 28%, transparent); }
.analytics { margin-block: 16px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.analytics > summary { padding: 14px 16px; color: var(--brand2); font-weight: 800; cursor: pointer; }
.analytics-content { display: grid; gap: 16px; padding: 0 16px 16px; }
.analytics-context { margin: 0; color: var(--muted); }
.analytics-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.analytics-kpis article { display: grid; gap: 6px; min-height: 92px; padding: 14px; border-radius: 11px; background: var(--soft); box-shadow: inset 0 0 0 1px var(--line); }
.analytics-kpis span { color: var(--muted); font-size: .78rem; font-weight: 700; }
.analytics-kpis strong { color: var(--brand2); font-size: 1.65rem; font-variant-numeric: tabular-nums; }
.analytics-secondary { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(320px,1.2fr); gap: 16px; }
.analytics-secondary dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
.analytics-secondary dl div,.audience-stat { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 9px; background: var(--soft); }
.analytics-secondary dt,.analytics-secondary dd { margin: 0; }
.analytics-secondary dd,.audience-stat b { color: var(--brand2); font-weight: 800; font-variant-numeric: tabular-nums; }
.analytics-secondary h3 { margin-block: 0 8px; }
.audience-stat + .audience-stat { margin-top: 6px; }
.portal-empty { max-width: 620px; padding: 24px; border-radius: 14px; background: var(--soft); box-shadow: inset 0 0 0 1px var(--line); }
.portal-empty h3 { margin-block: 4px 8px; }
.portal-empty p:not(.eyebrow) { max-width: 58ch; color: var(--muted); line-height: 1.55; }
.occurrence-actions { gap: 6px; align-items: center; }
.occurrence-actions-menu { min-width: 0; }
.occurrence-action-group { width:100%; padding:12px; border-radius:10px; background:var(--soft); }
.occurrence-action-group h5 { margin:0 0 10px; font-size:13px; font-weight:700; color:var(--ink); }
.occurrence-action-group > div { display:flex; flex-wrap:wrap; gap:8px; }
.occurrence-action-group .button,.occurrence-action-group .text-button { white-space:normal; overflow-wrap:anywhere; }
.report-action { color:var(--success) !important; border-color:var(--success) !important; background:color-mix(in srgb,var(--success) 10%,var(--surface)) !important; }
.danger-action { color:var(--danger) !important; border-color:var(--danger) !important; }
.occurrence-actions-menu > summary { display: block; min-height: 40px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--brand2); font-weight: 750; cursor: pointer; }
.button.compact, .text-button.compact { min-height: 34px; padding: 7px 9px; font-size: .82rem; }
.shared-links-note { color: var(--muted); font-size: .82rem; }
@media (max-width: 900px) {
  .analytics-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .analytics-secondary { grid-template-columns: 1fr; }
  .series { padding: 14px; }
  .series-facts { grid-template-columns: 1fr 1fr; gap: 12px; }
  .series-overview { grid-template-columns: 1fr; gap: 12px; }
  .shared-links-panel { align-items: flex-start; flex-direction: column; gap: 12px; padding: 14px; }
  .shared-links-panel .actions { width: 100%; }
  .occurrence-table { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .occurrence-table-head { display: none; }
  .occurrence-row { width: 100%; min-width: 0; max-width: 100%; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; margin-top: 10px; padding: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 2px 8px rgb(23 53 89 / 4%); }
  .occurrence-summary > div:nth-child(1) { grid-column: 1; }
  .occurrence-summary > div:nth-child(2) { grid-column: 2; justify-self: end; }
  .occurrence-summary > div:nth-child(3) { grid-column: 1 / -1; }
  .occurrence-summary > div:nth-child(4) { grid-column: 1 / -1; }
  .occurrence-status-cell { grid-column: 1 / -1; grid-row: auto; justify-self: start; text-align: left; }
  .occurrence-actions { grid-column: 1 / -1; width: 100%; min-width: 0; padding-top: 10px; border-top: 1px solid var(--line); }
  .occurrence-actions .button,
  .occurrence-actions .text-button { flex: 1 1 calc(50% - 6px); justify-content: center; }
  .metrics-button { justify-content: center; }
  .metrics-dialog { width: calc(100vw - 16px); max-width: 520px; margin: 8px auto; overflow-x: hidden; }
  .metrics-dialog form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; max-height: calc(100vh - 32px); padding: 16px; overflow: hidden; }
  .metrics-dialog header { align-items: flex-start; }
  .metrics-dialog footer { display: grid; grid-template-columns: 1fr; }
  .metrics-dialog footer .button { width: 100%; justify-content: center; }
  .metrics-strip { grid-template-columns: 1fr; max-height: 46vh; padding-inline-end: 4px; overflow-y: auto; overscroll-behavior: contain; }
  .metrics-strip article { min-height: 84px; }
  .workflow-stage { align-self: flex-start; min-width: 0; width: fit-content; }
  .next-step { margin-top: 8px; }
  .series-overflow { width: 100%; }
  .series-overflow summary { width: 100%; text-align: center; }
  .series-overflow-actions { position: static; width: 100%; margin-top: 6px; }
  .occurrence-actions-menu > summary { display: block; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--brand2); font-size: .86rem; font-weight: 800; cursor: pointer; list-style: none; text-align: center; }
  .occurrence-actions-menu > summary::-webkit-details-marker { display: none; }
  .occurrence-actions-menu > summary::after { content: "⌄"; margin-inline-start: 8px; }
  .occurrence-actions-menu[open] > summary { margin-bottom: 8px; background: var(--accent-soft); }
  .occurrence-actions-menu[open] > summary::after { content: "⌃"; }
}
.badge {
  display: inline-flex;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--brand2);
  font-size: 0.8rem;
  font-weight: 750;
}
.badge.attention {
  background: var(--warnbg);
  color: var(--warn);
}
.badge.priority-high {
  background: color-mix(in srgb, #f59e0b 16%, var(--surface));
  color:var(--warn);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #f59e0b 35%, transparent);
}
.occurrences-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.reference summary {
  cursor: pointer;
  font-weight: 750;
}
.reference-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 20px;
}
.reference article {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
}
.reference article.reference-feature {
  border-color: var(--brand2);
  box-shadow: inset 4px 0 0 var(--brand2);
}
.reference article.material-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 12px;
}
.material-card > * {
  margin: 0;
}
.material-guide-intro {
  color: var(--muted);
}
.material-guide-details {
  padding: 12px;
  border-radius: 10px;
  background: var(--surface);
}
.material-guide-details summary {
  color: var(--brand2);
}
.material-guide-details ol {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding-inline-start: 22px;
}
.material-card .actions {
  margin-top: auto;
}
.material-card .button:active,
.photo-report-guide .button:active {
  transform: scale(.96);
}
.material-card .button,
.photo-report-guide .button {
  transition-property: transform, background-color, border-color, color;
  transition-duration: .15s;
}
.reference-feature .eyebrow {
  margin-bottom: 8px;
  color: var(--brand2);
}
.reference-feature h2 {
  margin-top: 0;
}
.photo-report-guide {
  grid-column: 1 / -1;
}
.photo-report-lead {
  margin: 0 0 16px;
  color: var(--muted);
}
.photo-report-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.photo-report-steps section {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}
.photo-report-steps span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--brand2);
  color: #fff;
  font-weight: 800;
}
.photo-report-steps h3 {
  margin: 2px 0 6px;
  font-size: 0.95rem;
}
.photo-report-steps p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}
.photo-report-details {
  margin-top: 14px;
}
.photo-report-details summary {
  color: var(--brand2);
}
.photo-report-details pre {
  margin: 12px 0 0;
  padding: 14px;
  overflow: auto;
  white-space: pre-wrap;
  font: inherit;
  line-height: 1.55;
  color: var(--ink);
  border-radius: 10px;
  background: var(--surface);
}
.text-link {
  color: var(--brand2);
  font-weight: 700;
  text-underline-offset: 3px;
}
.dialog {
  width: min(900px, calc(100% - 24px));
  max-height: calc(100vh - 24px);
  padding: 0;
  border: 0;
  border-radius: 20px;
  background: var(--surface);
  color: var(--ink);
}
.dialog::backdrop {
  background: #07111f99;
}
.dialog form {
  padding: 22px;
}
.dialog header,
.dialog footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.dialog footer {
  justify-content: flex-end;
  margin-top: 20px;
}
.dialog fieldset {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.export-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.export-options .check { margin: 0; align-items: center; }
@media (max-width: 700px) { .export-options { grid-template-columns: 1fr; } }
.dialog-content { padding: 22px; }
.dialog-content > .actions { margin: 16px 0; }
.dialog legend {
  padding: 0 7px;
  font-weight: 800;
}
.choice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.choice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
}
.choice > span {
  display: grid;
  min-width: 0;
  gap: 6px;
}
.choice strong,
.choice small {
  display: block;
}
.choice small {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.45;
}
.choice input,
.check input {
  width: auto;
  min-height: auto;
  margin-top: 4px;
}
.check {
  display: flex;
  margin-top: 12px;
}
.date-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  position: relative;
}

.date-entry [data-native-date] { display:none; }
.pep-status-button {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid currentColor;
  border-radius: 10px;
  background: var(--surface);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition-property: background-color, color, transform;
  transition-duration: .15s;
}
.pep-status-button:hover { background: color-mix(in srgb, currentColor 10%, var(--surface)); }
.pep-status-button:active { transform: scale(.96); }

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}
.notice {
  margin-top: 14px;
  padding: 15px;
  border-radius: 11px;
  background: var(--warnbg);
}
.occurrence-card {
  margin: 12px 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
}
.form-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 850px) {
  .counters {
    grid-template-columns: repeat(2, 1fr);
  }
  .filters,
  .form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .choice-grid,
  .reference-grid {
    grid-template-columns: 1fr;
  }
  .photo-report-steps {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .shell {
    padding: 18px 12px calc(96px + env(safe-area-inset-bottom));
  }
  .topbar,
  .section-title,
  .series-top {
    align-items: stretch;
    flex-direction: column;
  }
  .brand img {
    width: 140px;
  }
  .filters,
  .form-grid,
  .conditional {
    grid-template-columns: 1fr;
  }
  .filters > label:first-child {
    grid-column: auto;
  }
  .copy-undo {
    align-items: stretch;
    flex-direction: column;
  }
  .dialog footer {
    flex-direction: column-reverse;
  }
}
@media (max-width: 850px) {
  .series-facts, .series-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .occurrence-summary { grid-template-columns: 1fr; gap: 7px; }
  .detail-facts { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
  }
}
/* Header lockup: keep the Znanie mark and workspace title as one visual unit. */
.topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 660px);
  align-items: start;
  gap: 24px;
  margin-bottom: 30px;
}
.topbar > .actions { min-width: 0; justify-content: flex-end; align-content: flex-start; gap: 10px; }
.topbar > .actions .button { min-height: 40px; }
@media (max-width: 1120px) {
  .topbar { grid-template-columns: 1fr; gap: 16px; }
  .topbar > .actions { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .series-management { grid-template-columns: 1fr; }
  .series-statuses { min-width: 0; width: 100%; }
}
.brand {
  align-items: center;
  gap: 20px;
  min-width: 0;
}
.brand img {
  width: 214px;
  height: auto;
  display: block;
  flex: 0 0 auto;
}
.brand > div {
  min-width: 0;
}
.brand .eyebrow {
  display: inline-block;
  margin: 0 0 9px;
  padding: 5px 10px;
  background: var(--soft);
  color: var(--brand);
  font-size: 0.78rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
.brand h1 {
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 4rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}
.brand .muted {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 9px;
  background: var(--soft);
  font-size: 1.08rem;
  line-height: 1.25;
  color: var(--muted);
}
@media (max-width: 620px) {
  .brand {
    align-items: flex-start;
    gap: 12px;
  }
  .brand img {
    width: 150px;
  }
  .brand h1 {
    font-size: 2.45rem;
  }
  .brand .muted {
    font-size: 0.95rem;
  }
}
/* Coordinator invitations */
.invite-dialog {
  width: min(760px, calc(100% - 24px));
}
.invite-shell {
  padding: 22px;
}
.invite-search {
  margin: 20px 0 14px;
}
.invite-list {
  display: grid;
  gap: 10px;
}
.invite-person {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}
.invite-person > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.invite-person > .actions {
  margin-top: 10px;
}
.invite-result {
  margin-top: 12px;
  padding: 12px;
  border-radius: 10px;
  background: var(--soft);
}
.invite-result p {
  margin-bottom: 8px;
}
@media (max-width: 620px) {
  .invite-person > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }
  .invite-result .button {
    width: 100%;
  }
}

/* Applicant portal and MAX Mini App */
.portal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.portal-summary {
  position: static;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}
.portal-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.portal-metrics > div {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.625rem 0;
  border-top: 0;
  border-inline-start: 1px solid var(--line);
}
.portal-metrics > div:first-child {
  border-inline-start: 0;
}
.portal-metrics strong {
  color: var(--brand);
  font-size: 1.5rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.portal-metrics span {
  color: var(--muted);
  line-height: 1.25;
}

.action-form {
  width: min(34rem, calc(100vw - 2rem));
  padding: 1.5rem;
}

.action-fields {
  display: grid;
  gap: 1rem;
  margin-block: 1.5rem;
}

.action-fields label {
  display: grid;
  gap: 0.5rem;
  font-weight: 700;
}

.action-form footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
}

.summary-list {
  display: grid;
  gap: 0.75rem;
  margin-block: 1.25rem;
}

.summary-list div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.35fr) 1fr;
  gap: 1rem;
}

.summary-list dt {
  color: var(--muted);
}

.summary-list dd {
  margin: 0;
  font-weight: 700;
}

@media (max-width: 30rem) {
  .action-form {
    width: calc(100vw - 1rem);
    padding: 1rem;
  }

  .action-form footer .button {
    flex: 1 1 10rem;
  }
}
.portal-summary h2 {
  font-size: 2.4rem;
}
.portal-summary dl {
  margin: 0;
}
.portal-summary dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid var(--line);
}
.portal-summary dt,
.portal-summary dd {
  margin: 0;
}
.portal-theme {
  min-width: 44px;
}
.dialog {
  overscroll-behavior: contain;
}
.button:active,
.icon-button:active {
  transform: scale(0.96);
}

@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  .shell {
    width: min(100%, 1320px);
  }
  .portal-layout {
    grid-template-columns: 1fr;
    min-width: 0;
  }
  .portal-summary {
    position: static;
  }
  .portal-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }
  .portal-metrics > div {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding: 0.25rem 0.75rem;
    border-top: 0;
    border-inline-start: 1px solid var(--line);
  }
  .portal-metrics > div:first-child {
    border-inline-start: 0;
  }
  .topbar,
  .brand,
  .actions,
  .series,
  .registry,
  .reference {
    min-width: 0;
  }
  .brand {
    width: 100%;
    flex-wrap: wrap;
  }
  .brand img {
    width: min(150px, 55vw);
    max-width: 100%;
    height: auto;
  }
  .topbar .actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .topbar .actions .button {
    width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }
  .series-top h3,
  .series-top .muted {
    overflow-wrap: anywhere;
  }
  .dialog {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
  }
  .dialog form {
    padding: 16px 16px calc(96px + env(safe-area-inset-bottom));
  }
  .series-facts { gap: 16px 14px; }
  .series-facts span { min-width: 0; overflow-wrap: anywhere; line-height: 1.42; }
  .series-facts b { margin-bottom: 3px; }
  .series-note { margin-top: 16px; padding: 12px; line-height: 1.5; }
  .workflow-stage { margin-top: 2px; }
}
.portal-options,
.occurrence-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.portal-occurrence {
  margin-block: 1rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--line);
  border-radius: var(--radius, 20px);
  background: var(--surface, #fff);
}
.portal-occurrence > header,
.badge-stack {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.portal-occurrence > header > div,
.series-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.check-card,
.radio-card {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-soft, rgba(43, 91, 213, .05));
}
.check-card small,
.radio-card small {
  display: block;
  margin-top: .25rem;
  color: var(--muted);
  font-weight: 400;
}
.check-card input,
.radio-card input {
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  min-height: 1.25rem;
  margin: 0.15rem 0 0;
  padding: 0;
}
@media (max-width: 900px) {
  .topbar {
    display: flex;
    align-items: stretch;
    flex-direction: column;
  }
  .topbar > .actions {
    justify-content: flex-start;
  }
}
.request-copy {
  padding: 1rem;
  border-radius: 16px;
  background: var(--surface-soft, rgba(43, 91, 213, .05));
}
@media (max-width: 640px) {
  .portal-options,
  .occurrence-fields {
    grid-template-columns: 1fr;
  }
  .portal-occurrence > header {
    align-items: flex-start;
  }
  .portal-occurrence > header > div > .button {
    min-height: 42px;
  }
}

/* Event application form: categories and applicant selection stay usable on touch screens. */
.audience-selector { display: grid; gap: 10px; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.audience-selector legend { padding-inline: 6px; color: var(--ink); font-weight: 800; }
.audience-selector .hint { margin: 0; }
.audience-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.audience-chip { display: inline-flex; align-items: center; min-height: 42px; max-width: 100%; padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); cursor: pointer; font-size: .9rem; font-weight: 700; line-height: 1.25; }
.audience-chip:has(input:checked) { border-color: var(--brand); background: var(--accent-soft); color: var(--brand2); box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 18%, transparent); }
.audience-chip input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.audience-chip:has(input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--brand) 45%, transparent); outline-offset: 2px; }
.person-picker-trigger { display: grid; width: 100%; min-height: 58px; padding: 10px 42px 10px 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); text-align: start; cursor: pointer; position: relative; }
.person-picker-trigger::after { content: "⌄"; position: absolute; inset-inline-end: 14px; top: 17px; color: var(--brand2); font-size: 1.3rem; }
.person-picker-trigger span { font-size: 1rem; font-weight: 750; overflow-wrap: anywhere; }
.person-picker-trigger small { margin-top: 3px; color: var(--muted); font-size: .8rem; font-weight: 600; }
.person-picker-dialog { width: min(620px, calc(100vw - 16px)); max-height: calc(100dvh - 16px); }
.person-picker { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); gap: 12px; max-height: calc(100dvh - 16px); padding: 16px; }
.person-picker header { display: flex; justify-content: space-between; gap: 12px; }
.person-picker h2 { margin: 2px 0 0; }
.person-picker-search { gap: 6px; }
.person-picker-list { display: grid; gap: 8px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom); }
.person-picker-option { min-height: 48px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); text-align: start; font: inherit; font-weight: 700; cursor: pointer; overflow-wrap: anywhere; }
.person-picker-option:hover, .person-picker-option:focus-visible { border-color: var(--brand); background: var(--accent-soft); }
@media (max-width: 640px) {
  .audience-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audience-chip { justify-content: center; border-radius: 12px; text-align: center; }
  .person-picker { padding: 14px; }
}
.active-filter{margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink)}

.contribution-panel {
  margin-block: clamp(1rem, 3vw, 2rem);
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: 0 18px 50px rgba(11, 34, 74, .08);
}
.contribution-list { display: grid; gap: 12px; margin-top: 18px; }
.contribution-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .45fr);
  gap: 20px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface-soft, rgba(43, 91, 213, .05));
}
.contribution-card h3 { margin: 10px 0 6px; overflow-wrap: anywhere; }
.contribution-card p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.contribution-card dl { display: grid; gap: 10px; margin: 0; }
.contribution-card dl div { display: grid; gap: 2px; }
.contribution-card dt { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.contribution-card dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.compact-dialog { width: min(720px, calc(100vw - 20px)); }
.compact-dialog form { max-height: calc(100dvh - 20px); overflow-y: auto; }
.topbar { grid-template-columns: 1fr; gap: 18px; }
.topbar > .actions { display: flex; justify-content: flex-start; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }
.topbar:has(.workspace-group) { grid-template-columns: minmax(0, 1fr); position:relative; align-items:start; gap:18px; margin-bottom:22px; }
.topbar:has(.workspace-group) > .brand { padding-right:320px; }
.topbar:has(.workspace-group) > .actions { display:grid; grid-template-columns:1fr .9fr 1.25fr; gap:12px; border:0; padding:0; align-items:stretch; }
.workspace-utilities { position:absolute; top:0; right:0; display:flex; gap:8px; justify-content:flex-end; }
.workspace-utilities #theme-toggle,.workspace-utilities #crm-link { height:56px; width:auto; display:flex; align-items:center; gap:9px; padding:10px 16px; color:var(--ink); flex-shrink:0; }
.workspace-utilities #crm-link[hidden] { display:none; }
.workspace-utilities #crm-link small { display:block; font-size:11px; color:var(--muted); margin-top:3px; }
.dashboard { border-top:3px solid var(--warn); }
.registry { border-top:3px solid var(--brand); }
.section-title h2,.series-top h3 { display:flex; align-items:flex-start; gap:10px; font-size:22px; line-height:1.35; }
.section-title h2 .workspace-icon,.series-top h3 .workspace-icon { color:var(--brand); margin-top:3px; }
.section-title .button { display:flex; align-items:center; gap:8px; }
.counter { --counter-accent:var(--brand); color:var(--ink); border:1px solid var(--line); border-top:3px solid var(--counter-accent); background:color-mix(in srgb,var(--counter-accent) 5%,var(--surface)); }
.counter[data-dashboard-filter="registration"],.counter[data-dashboard-filter="pep"] { --counter-accent:var(--warn); }
.counter[data-dashboard-filter="changes"] { --counter-accent:var(--directory-accent); }
.counter[data-dashboard-filter="overdue"] { --counter-accent:var(--danger); }
.counter[data-dashboard-filter="survey"] { --counter-accent:var(--success); }
.counter strong { color:var(--counter-accent); }
.series { border-left:3px solid var(--brand); }
.series[data-application-status="registered"] { border-left-color:var(--success); }
.series[data-application-status="cancelled"] { border-left-color:var(--danger); }
.series[data-inactive="true"] { border-left-color:var(--muted); }
[data-pep-countdown],[data-reporting-countdown] { display:block; width:100%; min-height:3em; font-family:Consolas,monospace; font-variant-numeric:tabular-nums; font-size:12px; line-height:1.5; text-align:left; }
.scenario-list { display:grid; gap:12px; }
.scenario-card { padding:18px; border:1px solid var(--line); border-left:3px solid var(--directory-accent); border-radius:14px; background:var(--surface); }
.scenario-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.scenario-heading h3 { font-size:19px; margin:0; }
.scenario-switch { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.scenario-settings { display:flex; gap:14px; align-items:end; flex-wrap:wrap; }
.scenario-settings label { display:grid; gap:6px; }
.scenario-card p { color:var(--muted); }
.scenario-viewer-notice { background:var(--warnbg); color:var(--warn); padding:14px; border-radius:12px; }
@media(max-width:900px) { .topbar:has(.workspace-group) > .brand { padding-right:0; } .workspace-utilities { position:static; grid-column:1 / -1; } }
@media(max-width:480px) { .scenario-heading { align-items:start; flex-direction:column; } .workspace-utilities { justify-content:flex-start; flex-wrap:wrap; } }
.workspace-group { --group-accent: var(--brand); min-width:0; padding:14px; border-radius:14px; background:var(--surface); border:1px solid var(--line); border-block-start:3px solid var(--group-accent); display:flex; flex-direction:column; box-shadow:0 3px 12px rgb(0 0 0 / 5%); }
.workspace-applications { grid-column:auto; }
.workspace-contributions { --group-accent: var(--success); }
.workspace-directory { --group-accent: var(--muted); }
.workspace-group h2 { margin:0 0 12px; font-size:19px; line-height:1.3; font-weight:750; color:var(--group-accent); display:flex; align-items:center; gap:10px; }
.workspace-group-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; flex:1; align-content:stretch; grid-auto-rows:minmax(40px,1fr); }
.workspace-group .button { min-height:44px; font-size:13px; width:100%; white-space:normal; text-align:center; justify-content:center; padding:10px 12px; }
.workspace-applications #new-series { grid-column:1 / -1; }
.workspace-directory { --group-accent:var(--directory-accent); }
.workspace-contributions .button.secondary { border-color: color-mix(in srgb, var(--success) 40%, var(--line)); background: color-mix(in srgb, var(--success) 8%, var(--surface)); }
.workspace-directory .button.secondary { background: color-mix(in srgb,var(--directory-accent) 8%,var(--surface)); border-color:color-mix(in srgb,var(--directory-accent) 30%,var(--line)); }
.workspace-group:has(.workspace-group-actions:empty), .workspace-group:not(:has(.button:not([hidden]))) { display: none; }
@media (max-width: 1150px) { .topbar:has(.workspace-group) { grid-template-columns: 1fr; } .topbar:has(.workspace-group) > .actions { grid-template-columns: repeat(3, minmax(0,1fr)); } .workspace-applications { grid-column: auto; } }
@media (max-width: 650px) { .topbar:has(.workspace-group) > .brand { padding-right:0; } .topbar:has(.workspace-group) > .actions { grid-template-columns: 1fr; } .workspace-group-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } .workspace-utilities { position:static; grid-column:auto; } }
.series-top { display: grid; grid-template-columns: minmax(0, 1fr) 260px; }
.series-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.series-statuses .pep-status.danger, .series-statuses .pep-countdown { color: var(--danger); }
.series-statuses .pep-status.warning { color: var(--warn); }
.series-statuses .pep-status.success { color: var(--success); }
.series-statuses .pep-status-button { display: grid; gap: 5px; text-align: start; padding: 12px 14px; border-radius: 12px; border: 1px solid color-mix(in srgb, currentColor 45%, transparent); background: color-mix(in srgb, currentColor 10%, var(--surface)); }
.pep-status-button small { color:var(--ink); font-size:.78rem; font-weight:400; line-height:1.45; }
.pep-status-button span { font-size: .72rem; }
.series-statuses .pep-countdown { white-space:normal; font-variant-numeric:tabular-nums; font-size:.8rem; line-height:1.5; overflow-wrap:anywhere; }
.series-primary-actions { align-items: flex-start; gap: 12px; }
@media (max-width: 850px) {
  .series-top { grid-template-columns: 1fr; }
  .series-statuses { width: 100%; }
  .series-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar > .actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar > .actions .button { width: 100%; min-width: 0; }
  .topbar > .actions #new-series { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .contribution-card { grid-template-columns: 1fr; }
  .contribution-panel .section-title { align-items: stretch; flex-direction: column; }
  .contribution-panel .actions { display: grid; grid-template-columns: 1fr; }
}
/* Lecturer profiles precede the program; each profile owns its material. */
.speaker-program { margin: 1rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; }
.speaker-profile { min-width: 0; margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; }
.speaker-profile > summary { cursor: pointer; font-weight: 700; overflow-wrap: anywhere; padding: .25rem 0; }
.speaker-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.speaker-profile-fields > * { min-width: 0; }
.speaker-profile-fields > fieldset, .speaker-profile-fields > .notice { grid-column: 1 / -1; }
.speaker-profile-fields input:not([type="radio"]):not([type="checkbox"]), .speaker-profile-fields select, .speaker-profile-fields textarea { width: 100%; box-sizing: border-box; }
.speaker-profile .choice { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .5rem; align-items: start; }
.speaker-profile input[type="radio"] { width: 16px; margin: .2rem 0 0; }
[data-program-picker] { padding: .75rem; border-radius: 10px; background: rgb(75 140 245 / 10%); margin: .75rem 0; }
.speaker-profile [data-remove-speaker] { justify-self: start; color: #e36c6c; }
.application-dialog { width:min(1120px,calc(100vw - 32px)); }
.application-form { padding:28px; }
.application-form > header { margin-bottom:24px; }
.application-form > header h2 { font-size:26px; margin:4px 0; }
.application-form fieldset { padding:20px; margin-block:24px; background:var(--surface); }
.application-form legend { font-size:17px; }
.application-form label:not(.choice):not(.check):not(.check-card):not(:has(input[type="checkbox"])) { display:grid; gap:8px; margin-block:0; align-content:start; }
.application-form fieldset > label + label { margin-top:16px !important; }
.application-form .speaker-profile-fields > label + label { margin-top:0 !important; }
.application-form .speaker-profile-fields { gap:20px; }
.application-form .field-wide { grid-column:1/-1; }
.application-form .hint, .application-form label > small { font-size:13px; font-weight:400; line-height:1.5; color:var(--muted); }
.application-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.application-form .form-grid > label { min-width:0; }
.application-form .speaker-program { padding:20px; background:var(--soft); }
.application-form .speaker-profile { background:var(--surface); padding:20px; margin-block:16px; }
.application-form .speaker-profile > summary { font-size:17px; line-height:1.5; }
.application-form input:not([type="radio"]):not([type="checkbox"]), .application-form select, .application-form textarea { width:100%; min-width:0; box-sizing:border-box; }
.application-form .choice-grid { grid-template-columns:1fr; }
.application-form .occurrence-card { padding:20px; margin-block:20px; }
.application-form .occurrence-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.application-form .occurrence-fields > label { margin:0; min-width:0; }
.application-form .occurrence-fields > label:has([name="occurrence_title"]),.application-form .occurrence-fields > label:has([name="venue"]),.application-form .occurrence-fields > label:has([name="room"]) { grid-column:1/-1; }
.application-form footer { position:sticky; bottom:0; z-index:3; padding:16px 0; background:var(--surface); border-top:1px solid var(--line); flex-wrap:wrap; }
.calendar-dialog { width:min(380px,calc(100vw - 16px)); }
.material-directory-card { display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.calendar-shell { padding:16px; }
.topbar:has(.workspace-group) .brand h1 { font-size:clamp(1.8rem,3vw,2.65rem); letter-spacing:-.035em; line-height:1.1; }
.topbar:has(.workspace-group) .brand .eyebrow { padding:0; background:none; font-size:.7rem; margin-bottom:6px; }
.topbar:has(.workspace-group) .brand .muted { padding:0; background:none; font-size:.9rem; margin:5px 0 0; }
.topbar:has(.workspace-group) .znanie-mark { flex:0 0 auto; }
.workspace-contributions .workspace-group-actions { grid-template-columns:1fr; }
.workspace-group .button { font-weight:600; text-align:start; justify-content:flex-start; transition:background-color .15s,border-color .15s; }
.workspace-group .button:hover { background:color-mix(in srgb,var(--group-accent) 15%,var(--surface)); border-color:var(--group-accent); }
.workspace-icon { width:19px; height:19px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.workspace-group h2 .workspace-icon { width:23px; height:23px; }
.workspace-group .button { gap:9px; }
.workspace-group #new-series { text-align:center; justify-content:center; background:color-mix(in srgb,var(--brand) 12%,var(--surface)); color:var(--brand2); border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line)); }
.workspace-group #new-series:hover { background:color-mix(in srgb,var(--brand) 20%,var(--surface)); border-color:var(--brand); }
.series-documents { display:grid; grid-template-columns:minmax(170px,1fr) auto auto; gap:12px 20px; align-items:center; padding:14px 16px; margin-top:16px; border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--brand) 5%,var(--surface)); }
.series-document-caption { display:grid; gap:4px; min-width:0; }
.series-document-caption strong { font-size:.85rem; color:var(--brand2); }
.series-document-hint { font-size:.75rem; line-height:1.4; color:var(--muted); }
.series-document-id,.series-document-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.series-documents .button,.series-documents .source-event-id-button { min-height:40px; padding:9px 12px; font-size:.8rem; line-height:1.35; text-align:center; }
.series-document-actions .button[download] { background:color-mix(in srgb,var(--success) 10%,var(--surface)); border-color:color-mix(in srgb,var(--success) 45%,var(--line)); color:var(--success); }
.series-document-actions .consent-copy { background:var(--accent-soft); border-color:color-mix(in srgb,var(--brand) 40%,var(--line)); color:var(--brand2); }
.series-documents .edit-event-id { color:var(--brand2); }
.series-primary-actions { align-items:center; }
.series-action-menu { position:relative; margin-inline-start:auto; }
.series-action-menu > summary { list-style:none; cursor:pointer; gap:12px; }
.series-action-menu > summary::-webkit-details-marker { display:none; }
.series-action-menu > summary::after { content:'▾'; }
.series-action-menu[open] > summary { border-color:var(--brand); background:var(--accent-soft); }
.series-action-choices { position:absolute; z-index:5; inset-inline-end:0; top:calc(100% + 6px); min-width:220px; padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--elevation); display:grid; gap:4px; }
.series-action-choices .button { width:100%; justify-content:flex-start; text-align:start; border:0; background:transparent; }
.series-action-choices .button:hover { background:var(--soft); }
.series-action-choices .danger-action { color:var(--danger); }
.directory-reset { grid-column:1/-1; justify-self:end; min-height:36px; font-size:.8rem; padding:8px 12px; }
.directory-filter-panel { margin-block:12px; border:1px solid var(--line); border-radius:12px; background:var(--soft); }
.directory-filter-panel > summary { padding:12px 16px; cursor:pointer; font-size:.9rem; font-weight:650; color:var(--ink); }
.directory-filter-panel > summary:focus-visible { outline:2px solid var(--focus); outline-offset:2px; border-radius:12px; }
.directory-filter-panel[open] > summary { border-bottom:1px solid var(--line); }
.directory-checks { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.directory-check-badge { display:inline-flex; padding:5px 10px; border-radius:999px; border:1px solid var(--line); font-size:.75rem; font-weight:600; line-height:1.4; }
.directory-check-badge.check-success { color:var(--success); background:color-mix(in srgb,var(--success) 10%,var(--surface)); border-color:color-mix(in srgb,var(--success) 40%,var(--line)); }
.directory-check-badge.check-warning { color:var(--warn); background:var(--warnbg); border-color:color-mix(in srgb,var(--warn) 40%,var(--line)); }
.directory-check-badge.check-danger { color:var(--danger); background:color-mix(in srgb,var(--danger) 10%,var(--surface)); border-color:color-mix(in srgb,var(--danger) 40%,var(--line)); }
.directory-check-badge.check-neutral { color:var(--muted); background:var(--soft); }
@media(max-width:480px) { .series-facts,.series-overview { grid-template-columns:minmax(0,1fr); } .directory-filters { grid-template-columns:minmax(0,1fr); } }
@media(max-width:1200px) { .series-documents { grid-template-columns:1fr auto; } .series-document-actions { grid-column:1/-1; } }
@media(min-width:651px) and (max-width:1000px) { .topbar:has(.workspace-group) > .actions { grid-template-columns:repeat(2,minmax(0,1fr)); } .workspace-directory { grid-column:1/-1; } }
@media(max-width:650px) {
 .series-documents { grid-template-columns:minmax(0,1fr); padding:12px; gap:12px; }
 .series-document-actions { display:grid; grid-template-columns:minmax(0,1fr); }
 .series-document-actions .button { width:100%; }
 .series-document-id { align-items:stretch; }
 .series-document-id > * { min-width:0; overflow-wrap:anywhere; }
 .series-action-menu { margin-inline-start:0; }
 .series-action-choices { inset-inline-start:0; inset-inline-end:auto; min-width:210px; }
}
.occurrence-row { align-items: start; }
.calendar-shell header { align-items:center; }
.calendar-week,.calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; text-align:center; }
.calendar-week { margin:16px 0 8px; font-size:12px; color:var(--muted); }
.calendar-days button { min-width:0; min-height:40px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit; cursor:pointer; }
.calendar-days button:hover,.calendar-days button[aria-pressed="true"] { background:var(--accent-soft); border-color:var(--brand); }
.calendar-days button:focus-visible { outline:2px solid var(--focus); outline-offset:1px; }
@media(max-width:900px){.occurrence-summary { grid-column:1/-1; }.occurrence-actions-menu { grid-column:1/-1; }}
@media(max-width:600px){
 .application-dialog { width:calc(100vw - 16px); }
 .application-form { padding:16px; }
 .application-form .form-grid,.application-form .occurrence-fields,.application-form .speaker-profile-fields { grid-template-columns:minmax(0,1fr); gap:16px; }
 .application-form fieldset,.application-form .speaker-program,.application-form .speaker-profile,.application-form .occurrence-card { padding:14px; }
 .application-form input,.application-form select,.application-form textarea { font-size:16px; }
 .application-form footer .button { flex:1 1 100%; }
}
@media (max-width: 600px) { .speaker-profile-fields { grid-template-columns: minmax(0, 1fr); } .speaker-program, .speaker-profile { padding: .75rem; } }
.board-space .board-card[data-series-id] .board-card-actions { display:flex; }
.board-space .board-card[data-series-id] .board-badges { flex-wrap:wrap; }
.board-space .board-badges .badge { white-space:nowrap; }
.board-space .board-stage-header { height:auto; min-height:130px; flex-basis:130px; }
.dialog form.scenario-card { padding:18px; }
.reference { border-top:3px solid var(--directory-accent); }
.reference > summary { display:flex; align-items:center; gap:10px; font-size:22px; font-weight:750; color:var(--ink); list-style:none; cursor:pointer; min-height:44px; }
.reference > summary::-webkit-details-marker { display:none; }
.reference > summary::after { content:'⌄'; margin-left:auto; color:var(--directory-accent); transition:transform 140ms; }
.reference[open] > summary::after { transform:rotate(180deg); }
.reference > summary .workspace-icon { color:var(--directory-accent); }
.reference-grid { gap:16px; align-items:start; }
.reference article { --guide-accent:var(--brand); padding:20px; border:1px solid var(--line); border-top:3px solid var(--guide-accent); border-radius:14px; background:var(--surface); box-shadow:none; }
.reference article[data-material-guide="brandbook"] { --guide-accent:var(--directory-accent); }
.reference article[data-material-guide="verification"],.reference article[data-material-guide="theses"] { --guide-accent:var(--directory-accent); }
.reference article[data-material-guide="recommendations"],.reference article[data-material-guide="photo-storage"] { --guide-accent:var(--success); }
.reference article.photo-report-guide { --guide-accent:var(--success); }
.reference article[data-material-guide="documents"] { --guide-accent:var(--warn); }
.reference article h2 { display:flex; align-items:flex-start; gap:10px; font-size:21px; line-height:1.35; margin:0; }
.reference article h2 .workspace-icon { color:var(--guide-accent); margin-top:3px; }
.reference article p,.reference article li { line-height:1.6; }
.reference article .actions { gap:8px; align-items:stretch; }
.reference article .actions > a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--guide-accent) 6%,var(--surface)); color:var(--ink); text-decoration:none; font-size:14px; font-weight:600; }
.reference article .actions > a:hover { border-color:var(--guide-accent); background:var(--soft); }
.reference article ol { margin:0; padding:16px 16px 16px 38px; border-radius:10px; background:var(--soft); }
.reference article li + li { margin-top:7px; }
.reference article.reference-feature { border-color:var(--line); border-top-color:var(--guide-accent); box-shadow:none; }
#registry-collapse::before { content:'⌃'; font-size:18px; }
#registry-collapse[aria-expanded="false"]::before { content:'⌄'; }
@media(max-width:650px) { .reference-grid { grid-template-columns:1fr; } .reference article { padding:16px; } .reference article h2,.reference > summary { font-size:20px; } .reference article .actions > a { width:100%; } }
/* Application cards: facts, state and actions have their own aligned surfaces. */
.series { padding:20px; }
.series-top { grid-template-columns:minmax(0,1fr) 300px; gap:20px; }
.series-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.series-facts > span,.series-facts > .local-time-notice,.series-extra-facts > span { min-width:0; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--soft); margin:0; color:var(--ink); font-size:14px; line-height:1.5; }
.series-facts b,.series-extra-facts b { display:block; font-size:11px; text-transform:uppercase; color:var(--muted); margin:0 0 5px; }
.series-statuses { min-width:0; gap:10px; align-content:start; }
.series-statuses .workflow-stage { width:100%; margin:0; }
.series-statuses [data-pep-countdown],.series-statuses [data-reporting-countdown] { box-sizing:border-box; max-width:100%; min-height:0; padding:10px 12px; border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line)); border-radius:10px; background:var(--warnbg); color:var(--warn); font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:normal; }
.series-statuses .workflow-stage [data-reporting-countdown] { margin-top:8px; }
.status-action-label { display:block; margin-top:8px; padding-top:7px; border-top:1px solid color-mix(in srgb,currentColor 25%,transparent); color:var(--ink); font-weight:600; }
.series-primary-actions [data-open] { background:color-mix(in srgb,var(--brand) 12%,var(--surface)); color:var(--brand2); border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line)); }
.series-primary-actions [data-open].is-open { background:color-mix(in srgb,var(--directory-accent) 12%,var(--surface)); border-color:var(--directory-accent); color:var(--directory-accent); }
.series-primary-actions [data-open]::before { content:'⌄'; margin-right:8px; }
.series-primary-actions [data-open].is-open::before { content:'⌃'; }
.series.is-expanded { border-color:color-mix(in srgb,var(--brand) 65%,var(--line)); box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 12%,transparent); }
.series .detail { margin-top:20px; padding:20px 0 0; border-top:3px solid var(--brand); animation:application-reveal 160ms ease-out; }
@keyframes application-reveal { from { opacity:.4; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .series .detail { animation:none; } }
.detail-hint { color:var(--muted); margin:4px 0 14px; font-size:13px; }
.occurrences-heading { margin:0; font-size:20px; }
.series-extra-facts { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.series-extra-facts > span { flex:1 1 180px; }
.occurrence-row { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; padding:16px; background:var(--soft); }
.occurrence-summary { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; gap:10px; }
.occurrence-summary > div:nth-child(3),.occurrence-summary > div:nth-child(4) { grid-column:1 / -1; }
.occurrence-summary > div:nth-child(3) { padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.occurrence-summary .badge { width:fit-content; max-width:100%; }
.occurrence-status-cell { grid-column:2; grid-row:1; min-width:0; width:100%; display:grid; align-content:start; gap:10px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); text-align:left; }
.workflow-occurrence-context { display:grid; gap:8px; margin:0; }
.workflow-occurrence-context > p,.workflow-occurrence-context > .badge { margin:0; width:fit-content; max-width:100%; font-size:12px; line-height:1.5; }
.workflow-occurrence-context > .badge { white-space:normal; border-radius:10px; padding:8px 10px; }
.occurrence-report-panel { display:grid; gap:8px; padding:10px; border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line)); border-radius:10px; background:color-mix(in srgb,var(--warn) 6%,var(--surface)); }
.occurrence-report-panel .occurrence-report-state { margin:0; font-size:13px; }
.occurrence-actions-menu { grid-column:1 / -1; width:100%; }
.occurrence-actions-menu > summary { display:flex; flex-direction:column; gap:5px; align-items:flex-start; padding:12px 14px; border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--brand) 8%,var(--surface)); color:var(--brand2); font-size:15px; font-weight:700; list-style:none; cursor:pointer; }
.occurrence-actions-menu > summary::-webkit-details-marker { display:none; }
.occurrence-actions-menu > summary::after { content:none; }
.occurrence-actions-menu > summary small { color:var(--muted); font-size:12px; font-weight:400; }
.occurrence-actions-menu[open] > summary { border-bottom-left-radius:0; border-bottom-right-radius:0; }
.occurrence-actions-menu .occurrence-actions { margin:0; padding:14px; border:1px solid var(--line); border-top:0; border-radius:0 0 12px 12px; background:var(--surface); }
.occurrence-row [data-photo-report],.occurrence-row [data-links] { border:1px solid color-mix(in srgb,var(--success) 40%,var(--line)); color:var(--success); background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.occurrence-row [data-reschedule] { color:var(--warn); border-color:color-mix(in srgb,var(--warn) 40%,var(--line)); background:var(--warnbg); }
.occurrence-row [data-metrics] { color:var(--directory-accent); border-color:color-mix(in srgb,var(--directory-accent) 40%,var(--line)); background:color-mix(in srgb,var(--directory-accent) 8%,var(--surface)); }
@media(max-width:1000px) { .series-top,.occurrence-row { grid-template-columns:minmax(0,1fr); } .occurrence-status-cell { grid-column:1; grid-row:auto; } }
@media(max-width:650px) { .series { padding:14px; } .series-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .occurrence-row { padding:12px; } }
@media(max-width:380px) { .series-facts { grid-template-columns:minmax(0,1fr); } }
.series-management [data-edit-series],.series-management [data-edit-plan] { color:var(--warn); border-color:color-mix(in srgb,var(--warn) 40%,var(--line)); background:var(--warnbg); }
.series-management [data-status-series],.series-management [data-event-outcome] { color:var(--success); border-color:color-mix(in srgb,var(--success) 40%,var(--line)); background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.series-management [data-coordinator-note] { color:var(--directory-accent); border-color:color-mix(in srgb,var(--directory-accent) 40%,var(--line)); background:color-mix(in srgb,var(--directory-accent) 8%,var(--surface)); }
.workflow-occurrence-context [data-pep-countdown] { white-space:normal; width:100%; box-sizing:border-box; font-size:14px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; }
.board-space .board-stage-header { height:auto; min-height:160px; flex:0 0 auto; display:flex; flex-direction:column; gap:8px; padding:14px; }
.board-space .board-stage-header h3 { min-height:0; display:block; overflow-wrap:anywhere; line-height:1.45; }
.board-space .board-stage-header h3 [data-count] { display:block; margin-top:6px; }
.board-stage-symbol { margin:0; }
.board-space .board-stage-header .board-expand { margin-top:auto; padding:6px 0; }
.board-space .board-columns { align-items:stretch; }
.photo-report-details + .actions { margin-top:20px; }

.registry-filter-field { display:flex; flex-direction:column; gap:8px; min-width:0; color:var(--muted); }
.registry-multi-filter { border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); min-width:0; }
.registry-multi-filter > summary { padding:12px 14px; cursor:pointer; overflow-wrap:anywhere; font-weight:600; }
.registry-filter-options { display:flex; flex-direction:column; gap:6px; max-height:260px; overflow:auto; border-top:1px solid var(--line); padding:10px; }
.registry-filter-options label,.analytics-metric-options label { display:flex; align-items:flex-start; gap:10px; padding:6px; font-weight:400; color:var(--ink); overflow-wrap:anywhere; }
.registry-filter-options input,.analytics-metric-options input { width:18px; height:18px; min-width:18px; margin:0; accent-color:var(--brand); }
.analytics-context { color:var(--muted); line-height:1.6; }
.analytics-settings { padding:14px; background:var(--soft); border:1px solid var(--line); border-radius:12px; margin-bottom:16px; }
.analytics-settings > summary { cursor:pointer; font-weight:700; color:var(--brand2); }
.analytics-metric-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; margin:16px 0; }
.analytics-settings > label { display:flex; flex-direction:column; gap:8px; max-width:360px; }
.analytics-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:12px; }
.analytics-kpis article { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface); min-width:0; }
.analytics-kpis article span { display:block; color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
.analytics-kpis article strong { display:block; margin-top:8px; color:var(--brand2); font-size:28px; font-variant-numeric:tabular-nums; }
.analytics-breakdown { margin-top:20px; padding:18px; background:var(--soft); border-radius:14px; }
.analytics-breakdown h3 { margin:0 0 16px; }
.analytics-bar-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:14px; }
.analytics-bar-row > span { overflow-wrap:anywhere; }
.analytics-bar-row > div { grid-column:1 / -1; height:6px; border-radius:6px; background:var(--line); overflow:hidden; }
.analytics-bar-row i { display:block; height:100%; background:var(--brand); border-radius:6px; }
.person-contact { display:block; margin-top:8px; color:var(--brand2); font-size:14px; overflow-wrap:anywhere; }
.photo-report-details pre { font:inherit; line-height:1.7; white-space:pre-wrap; }

.payment-badge.payment-paid { color:var(--directory-accent); background:color-mix(in srgb,var(--directory-accent) 12%,var(--surface)); border:1px solid color-mix(in srgb,var(--directory-accent) 40%,var(--line)); }
.payment-badge.payment-free { color:var(--success); background:color-mix(in srgb,var(--success) 12%,var(--surface)); border:1px solid color-mix(in srgb,var(--success) 40%,var(--line)); }

.series-badges .payment-badge { font-weight:500; font-size:14px; }

.erp-status { display:flex; flex-direction:column; gap:8px; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--soft); color:var(--muted); }
.erp-status > span { font-size:13px; font-weight:600; }
.erp-status select { width:100%; min-width:0; color:inherit; background:var(--surface); border-color:currentColor; font-size:15px; font-weight:500; }
.erp-status.erp-pending { color:var(--warn); background:var(--warnbg); border-color:color-mix(in srgb,var(--warn) 45%,var(--line)); }
.erp-status.erp-approved { color:var(--success); background:color-mix(in srgb,var(--success) 10%,var(--surface)); border-color:color-mix(in srgb,var(--success) 45%,var(--line)); }

.registry-toolbar { gap:10px; }
.registry-toolbar #registry-collapse { order:0; }
.registry-toolbar #filters-toggle { order:1; }
.registry-toolbar #registry-export { order:2; margin-left:20px; color:var(--success); border-color:color-mix(in srgb,var(--success) 40%,var(--line)); background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.erp-clock { display:flex; flex-direction:column; gap:5px; padding:10px; border:1px solid var(--line); border-radius:9px; font-size:13px; font-variant-numeric:tabular-nums; }
.erp-clock-neutral { color:var(--muted); }
.erp-clock-warning,.erp-status.erp-risk-warning { color:var(--warn); border-color:var(--warn); background:var(--warnbg); }
.erp-clock-danger,.erp-status.erp-risk-danger { color:var(--danger); border-color:var(--danger); background:color-mix(in srgb,var(--danger) 10%,var(--surface)); }
.erp-clock-success { color:var(--success); }
@media(max-width:650px) { .registry-toolbar { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .registry-toolbar #registry-export { grid-column:1 / -1; margin-left:0; } }

.paid-contract-field { grid-column:1 / -1; padding:16px; border:1px solid color-mix(in srgb,var(--directory-accent) 45%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--directory-accent) 6%,var(--surface)); }
.paid-documents-notice { margin-top:14px; padding:14px; border-radius:10px; background:var(--soft); color:var(--ink); }
.paid-documents-notice p { margin:8px 0 12px; }
.act-status { display:flex; flex-direction:column; gap:9px; border:1px solid var(--warn); border-radius:12px; padding:14px; background:var(--warnbg); color:var(--warn); }
.act-status > span { font-weight:600; font-size:15px; }
.act-status select { min-width:0; width:100%; }
.act-status.act-sent,.act-status.act-signed { border-color:var(--success); color:var(--success); background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.act-status.act-overdue { color:var(--danger); border-color:var(--danger); background:color-mix(in srgb,var(--danger) 8%,var(--surface)); }
.act-countdown { font-variant-numeric:tabular-nums; font-size:14px; }
.ownership-summary { padding:16px; border:1px solid var(--line); border-radius:14px; margin:16px 0; background:var(--surface); }
.ownership-summary > summary { cursor:pointer; font-weight:600; color:var(--brand2); }
.ownership-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:12px; }

.paid-documents-notice .text-link { background:transparent; border:0; padding:0; color:var(--brand2); font:inherit; text-decoration:underline; cursor:pointer; }
.series-statuses [data-pep-countdown] { white-space:normal; overflow-wrap:anywhere; line-height:1.45; }

/* Paid work: optional terms and the per-performance closing checklist. */
.payment-terms-notice { display:grid; gap:10px; margin:16px 0; padding:16px; border:1px solid var(--warn); border-radius:12px; background:var(--warnbg); }
.payment-terms-notice strong { color:var(--warn); }
.payment-terms-notice small { color:var(--ink); line-height:1.5; }
.payment-terms-notice textarea { width:100%; min-width:0; resize:vertical; }
.paid-performance-documents { display:grid; gap:10px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--soft); }
.paid-performance-caption { line-height:1.5; overflow-wrap:anywhere; color:var(--muted); }
.paid-document-status { display:grid; gap:9px; min-width:0; padding:14px; border:1px solid var(--warn); border-radius:12px; background:var(--warnbg); color:var(--warn); }
.paid-document-status > span { font-weight:600; }
.paid-document-status select { width:100%; min-width:0; }
.paid-document-status small { line-height:1.5; overflow-wrap:anywhere; }
.receipt-status.document-not_requested,.receipt-notice { color:var(--danger); border-color:var(--danger); background:color-mix(in srgb,var(--danger) 9%,var(--surface)); }
.paid-document-status.document-attached { color:var(--success); border-color:var(--success); background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.receipt-notice { padding:14px; border:1px solid; border-radius:12px; }
.counter[data-dashboard-filter="receipts"] { --counter-accent:var(--danger); }

.reporting-acknowledgements,.receipt-file-controls { display:grid; gap:10px; min-width:0; }
.reporting-acknowledgements { padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--soft); }
.reporting-acknowledgements > small { color:var(--muted); overflow-wrap:anywhere; line-height:1.5; }
.receipt-file-controls { margin-block:10px; }
.receipt-file-controls small { line-height:1.5; color:var(--muted); }
.receipt-file-link { overflow-wrap:anywhere; white-space:normal; text-align:left; }
.receipt-file-controls [data-receipt-feedback]:empty { display:none; }
.counter[data-dashboard-filter="registry_export"] { --counter-accent:var(--warn); }

.change-request-card { padding:20px; border-left:3px solid var(--directory-accent); }
.change-request-card > header { display:flex; gap:12px; align-items:start; justify-content:space-between; }
.change-request-card h4 { font-size:20px; line-height:1.35; margin:4px 0 14px; overflow-wrap:anywhere; }
.change-request-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.change-request-facts > span { display:grid; gap:6px; padding:12px; background:var(--soft); border:1px solid var(--line); border-radius:10px; overflow-wrap:anywhere; }
.change-request-facts b,.change-request-program dt { font-size:12px; color:var(--muted); }
.change-request-program section { padding:14px; margin-top:12px; border:1px solid var(--line); border-radius:12px; }
.change-request-program h5 { font-size:16px; margin:0 0 12px; }
.change-request-program dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.change-request-program dd { margin:5px 0 0; overflow-wrap:anywhere; }
.change-request-diff { margin:14px 0; padding:12px; border-radius:10px; background:var(--accent-soft); }
.change-request-card .status-progress { color:var(--brand); background:var(--accent-soft); }
.request-message { white-space:pre-wrap; }
@media(max-width:650px){.change-request-card { padding:14px; }.change-request-facts,.change-request-program dl { grid-template-columns:1fr; }.change-request-card > header { flex-wrap:wrap; }}

.materials-space-entry,.materials-space-header { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--surface); margin-block:20px; }
.materials-space-entry h2 { font-size:22px; margin:0; }.materials-space-entry p { margin:8px 0 0; }
.materials-space-header h1 { font-size:32px; margin:6px 0; }
.materials-space-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:20px; align-items:start; }
.materials-space-nav { display:grid; gap:8px; position:sticky; top:16px; }.materials-space-nav button { text-align:left; justify-content:start; white-space:normal; }
.materials-space-nav .is-selected { color:var(--directory-accent); border-color:var(--directory-accent); background:color-mix(in srgb,var(--directory-accent) 8%,var(--surface)); }
.materials-room-content .reference-grid { display:block; }.materials-room-content article { margin:0; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.materials-room-content article[hidden] { display:none; }
.attention-note { padding:16px; border:1px solid var(--warn); border-left:4px solid var(--warn); border-radius:12px; background:var(--warnbg); color:var(--warn); font-weight:600; line-height:1.55; }
@media(max-width:700px){.materials-space-layout { grid-template-columns:1fr; }.materials-space-nav { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }.materials-space-header,.materials-space-entry { flex-direction:column; align-items:stretch; }.materials-room-content article { padding:16px; }}

.receipt-dropzone { display:grid; gap:12px; border:2px dashed var(--line); border-radius:12px; padding:16px; background:var(--soft); }
.receipt-dropzone.is-dragging { border-color:var(--brand); background:var(--accent-soft); }
.receipt-dropzone:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }

/* Compact registry cards: event facts first, closing paperwork in its own row. */
.series-card-compact .series-top { grid-template-columns:minmax(0,1fr) 290px; gap:24px; align-items:start; }
.series-card-compact .series-top h3 { font-size:23px; line-height:1.3; margin-bottom:16px; }
.series-card-compact .series-badges { gap:7px; }
.series-card-compact .series-badges .badge { background:color-mix(in srgb,var(--soft) 55%,var(--surface)); border-color:var(--line); font-weight:500; }
.series-card-compact .series-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; margin:20px 0 14px; font-size:13px; color:var(--muted); }
.series-card-compact .series-schedule { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:15px; color:var(--ink); }
.series-card-compact .series-schedule b { font-size:12px; font-weight:500; color:var(--muted); }
.series-card-compact .series-occurrence-count { padding:4px 9px; border-radius:6px; background:var(--soft); color:var(--muted); }
.series-card-compact .series-meta .local-time-notice { margin:0; padding:0; border:0; background:none; font-size:13px; color:var(--muted); }
.series-card-compact .contacts-only { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:0; padding:0; margin:0; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb,var(--soft) 40%,var(--surface)); }
.series-card-compact .contacts-only > span { align-content:start; gap:5px; border:0; border-radius:0; background:none; padding:14px; font-size:14px; }
.series-card-compact .contacts-only > span + span { border-inline-start:1px solid var(--line); }
.series-card-compact .contacts-only b { font-weight:500; text-transform:none; letter-spacing:0; font-size:12px; margin:0; }
.series-card-compact .person-contact { font-size:13px; font-weight:400; }
.series-card-compact .attention-note { font-size:14px; font-weight:400; color:var(--ink); background:color-mix(in srgb,var(--warn) 6%,var(--surface)); border-color:var(--line); border-left-color:var(--warn); padding:12px 14px; margin-top:14px; }
.series-card-compact .attention-note b { font-weight:600; color:var(--warn); }
.series-card-compact .series-statuses { width:auto; gap:8px; }
.series-card-compact .workflow-stage,.series-card-compact .pep-status-button,.series-card-compact .erp-status { background:color-mix(in srgb,var(--soft) 25%,var(--surface)); border:1px solid var(--line); border-left:3px solid currentColor; border-radius:10px; box-shadow:none; }
.series-card-compact .workflow-stage small,.series-card-compact .pep-status-button > span,.series-card-compact .erp-clock { color:var(--muted); }
.series-card-compact .status-action-label { border:0; margin-top:4px; padding-top:0; font-size:12px; font-weight:500; color:var(--muted); }
.series-card-compact .series-statuses [data-pep-countdown] { padding:7px 11px; background:color-mix(in srgb,var(--warn) 4%,var(--surface)); border-color:var(--line); font-size:12px; }
.series-card-compact .series-reporting { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); display:grid; gap:12px; }
.series-card-compact .reporting-acknowledgements,.series-card-compact .paid-performance-documents { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); align-items:start; gap:12px; padding:0; border:0; background:none; }
.series-card-compact .reporting-caption,.series-card-compact .paid-performance-caption { grid-column:1/-1; color:var(--muted); margin:0; }
.series-card-compact .series-reporting .paid-document-status,.series-card-compact .series-reporting .act-status { gap:7px; background:color-mix(in srgb,var(--soft) 30%,var(--surface)); border-color:var(--line); border-left:3px solid currentColor; color:var(--muted); padding:12px 14px; border-radius:10px; }
.series-card-compact .series-reporting .document-attached,.series-card-compact .series-reporting .act-signed { border-left-color:var(--success); }
.series-card-compact .series-reporting .document-not_attached,.series-card-compact .series-reporting .act-not_sent { border-left-color:var(--warn); }
.series-card-compact .series-reporting .receipt-status.document-not_requested { border-left-color:var(--danger); }
.series-card-compact .series-reporting label > span,.series-card-compact .series-reporting .paid-document-status > span { font-size:12px; color:var(--muted); font-weight:500; }
.series-card-compact .series-reporting strong { font-size:14px; color:var(--ink); font-weight:500; }
.series-card-compact .series-reporting select { min-height:40px; font-size:14px; padding:8px 10px; font-weight:500; }
.series-card-compact .series-reporting small { font-size:12px; line-height:1.45; }
.series-card-compact .source-photo-state { padding:3px 7px; border-radius:5px; background:var(--soft); color:var(--muted); }
.series-card-compact .source-photo-state.is-attached { color:var(--success); }
.series-card-compact .receipt-dropzone { padding:12px; }.series-card-compact .receipt-file-controls { margin-bottom:0; }
@media(max-width:1000px){.series-card-compact .series-top { grid-template-columns:minmax(0,1fr); }.series-card-compact .series-statuses { grid-template-columns:repeat(2,minmax(0,1fr)); }.series-card-compact .series-statuses > [data-pep-countdown] { grid-column:1/-1; }}
@media(max-width:600px){.series-card-compact .contacts-only { grid-template-columns:1fr; }.series-card-compact .contacts-only > span + span { border-inline-start:0; border-top:1px solid var(--line); }.series-card-compact .series-statuses { grid-template-columns:1fr; }.series-card-compact .series-meta { gap:8px 12px; }.series-card-compact .series-schedule { flex-basis:100%; }.series-card-compact .series-reporting > section { grid-template-columns:1fr; }}

.series-card-compact .series-documents { border-color:var(--line); background:color-mix(in srgb,var(--soft) 20%,var(--surface)); }
.series-card-compact .series-document-caption > strong { color:var(--ink); font-size:14px; }
.series-card-compact .series-document-hint { color:var(--muted); font-size:12px; }
.series-card-compact .series-document-actions .consent-copy { background:color-mix(in srgb,var(--brand) 5%,var(--surface)); }

.report-import-dialog { max-width:850px; padding:24px; }.report-import-dialog > header { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.report-import-drop { padding:28px 16px; border:2px dashed var(--line); border-radius:14px; text-align:center; background:var(--soft); }
.report-import-drop.is-dragging { border-color:var(--brand); background:var(--accent-soft); }
.import-preview-table { overflow:auto; }.import-preview-table table { width:100%; border-collapse:collapse; }.import-preview-table td,.import-preview-table th { padding:10px; border-bottom:1px solid var(--line); text-align:left; }
.report-import-dialog [data-import-result] article{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:12px;overflow-wrap:anywhere}
.metrics-missing { font-size:12px; color:var(--muted); margin:8px 0; }.imported-source-data { margin-block:14px; }.imported-source-data dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.imported-source-data dd { margin:4px 0; overflow-wrap:anywhere; }
@media(max-width:600px){.imported-source-data dl { grid-template-columns:1fr; }}
/* Audience cards are registry filters, sharing the dashboard's restrained surfaces. */
.ownership-summary > summary { font-size:20px; color:var(--ink); line-height:1.35; }
.ownership-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:14px 0; }
.ownership-toolbar p { margin:0; font-size:14px; max-width:760px; }
.ownership-toolbar .button { flex-shrink:0; min-height:44px; }
.ownership-grid { grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:12px; }
.ownership-card { display:flex; flex-direction:column; gap:9px; width:100%; padding:18px; min-width:0; text-align:left; color:var(--ink); font:inherit; border:1px solid var(--line); border-radius:14px; background:var(--surface); cursor:pointer; transition:border-color .15s,background-color .15s; }
.ownership-card:hover { border-color:var(--brand); background:color-mix(in srgb,var(--brand) 4%,var(--surface)); }
.ownership-card.is-selected { border-color:var(--brand); background:color-mix(in srgb,var(--brand) 8%,var(--surface)); }
.ownership-card:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.ownership-title { display:flex; align-items:start; justify-content:space-between; gap:12px; font-size:18px; line-height:1.35; font-weight:650; }
.ownership-check { color:var(--brand); font-size:20px; }
.ownership-person { font-size:15px; line-height:1.45; overflow-wrap:anywhere; }
.ownership-contact { color:var(--muted); font-size:14px; }
.ownership-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:auto; padding-top:8px; }
.ownership-counts > span { display:grid; gap:4px; padding:9px 5px; border-radius:8px; background:var(--soft); font-size:11px; text-align:center; color:var(--muted); }
.ownership-counts b { color:var(--ink); font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; }
/* Compact navigation: all three sections use the same two rows of controls. */
.topbar:has(.workspace-group) > .actions { grid-template-columns:1fr 1fr 1.8fr; }
.workspace-group-actions { flex:0; grid-auto-rows:52px; align-content:start; }
.workspace-directory .workspace-group-actions { grid-template-columns:repeat(4,minmax(0,1fr)); }
.workspace-group .button { min-height:52px; padding:8px 10px; line-height:1.35; font-size:13px; }
.workspace-group h2 { font-size:20px; }
/* Requests lead with the concrete changes; current program is available on demand. */
.change-request-card { border-left:2px solid var(--directory-accent); padding:20px; }
.change-request-card h4 { font-size:22px; margin-bottom:10px; }
.change-request-facts { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; padding:0 0 14px; border-bottom:1px solid var(--line); }
.change-request-facts > span { display:flex; flex-direction:column; gap:3px; padding:0; background:none; border:0; border-radius:0; font-size:14px; max-width:360px; }
.change-request-facts .request-payment { display:inline-flex; padding:6px 10px; border:1px solid var(--line); border-radius:999px; color:var(--success); background:color-mix(in srgb,var(--success) 5%,var(--surface)); }
.change-request-facts .request-payment.is-paid { color:var(--directory-accent); background:color-mix(in srgb,var(--directory-accent) 6%,var(--surface)); }
.change-request-diff h5 { font-size:17px; margin:16px 0 10px; }
.change-diff-head,.change-diff-row { display:grid; grid-template-columns:minmax(140px,.8fr) repeat(2,minmax(0,1fr)); gap:12px; padding:12px; }
.change-diff-head { color:var(--muted); font-size:12px; padding-bottom:6px; }
.change-diff-row { border-top:1px solid var(--line); font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.change-diff-row strong { font-weight:600; }
.diff-before { color:var(--muted); }.diff-after { color:var(--ink); background:color-mix(in srgb,var(--success) 5%,var(--surface)); border-radius:8px; padding:6px 10px; }
.change-diff-row small { display:none; }
.change-request-program { margin:14px 0; border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.change-request-program > summary { cursor:pointer; font-size:14px; color:var(--brand2); font-weight:600; }
.change-request-program > section { background:none; border:0; padding:12px 0; margin:0; }
.change-request-program > section + section { border-top:1px solid var(--line); }
.change-request-card .series-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.change-request-card .series-actions .button { min-height:44px; padding:10px 14px; }
@media(min-width:651px) and (max-width:1200px){.topbar:has(.workspace-group) > .actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.workspace-directory { grid-column:1/-1; }}
@media(max-width:650px){.topbar:has(.workspace-group) > .actions { grid-template-columns:1fr; }.workspace-directory .workspace-group-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.ownership-toolbar { align-items:stretch; flex-direction:column; }.change-diff-head { display:none; }.change-diff-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:12px 0; }.change-diff-row strong { grid-column:1/-1; }.change-diff-row small { display:block; margin-bottom:4px; color:var(--muted); font-size:11px; }.change-request-card h4 { font-size:19px; }}
/* Shared working density and readable, neutral metrics. */
:root { --text-body:16px; --text-label:14px; --text-caption:13px; --text-heading:22px; --control-height:44px; }
.analytics-context { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; font-size:14px; line-height:1.45; margin:12px 0 16px; }
.analytics-data-note { position:relative; }.analytics-data-note summary { cursor:pointer; color:var(--brand2); }.analytics-data-note p { margin:8px 0; max-width:360px; font-size:14px; }
.analytics-settings { padding:12px 14px; margin-bottom:16px; background:var(--surface); }
.analytics-settings > summary { font-size:16px; font-weight:600; color:var(--ink); }
.analytics-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.analytics-kpis article { display:flex; flex-direction:column; justify-content:space-between; gap:8px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; min-height:94px; background:var(--surface); }
.analytics-kpis article span { font-size:14px; font-weight:500; line-height:1.4; overflow-wrap:normal; }
.analytics-kpis article strong { font-size:28px; font-weight:600; color:var(--ink); margin:0; line-height:1.15; }
.analytics-breakdown { margin-top:16px; padding:16px; background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.analytics-breakdown h3 { font-size:18px; font-weight:600; }
#analytics > summary { font-size:20px; font-weight:600; color:var(--ink); }
.occurrence-row { align-items:start; }.occurrence-summary > div:nth-child(3) { background:var(--surface); padding:16px; }
.occurrence-quick-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:14px 0 8px; }
.occurrence-quick-actions .button { min-height:40px; font-size:14px; padding:9px 12px; }
.occurrence-summary .occurrence-actions-menu > summary { padding:8px 0; border:0; background:none; font-size:14px; font-weight:500; }
.occurrence-summary .occurrence-actions-menu > summary small { font-size:13px; }
.occurrence-summary .occurrence-actions-menu .occurrence-actions { padding:12px; border:1px solid var(--line); border-radius:12px; }
.occurrence-owner { display:flex; flex-direction:column; gap:4px; padding:10px 0; font-size:15px; line-height:1.45; }
.occurrence-owner small { font-size:13px; color:var(--muted); }.occurrence-owner strong { font-size:16px; font-weight:600; }.occurrence-owner span { color:var(--brand2); font-size:14px; }
.workflow-occurrence-context { font-size:14px; }.workflow-occurrence-context p { font-size:14px; }.occurrence-report-panel { font-size:14px; }
.occurrence-summary > div:nth-child(4) .badge { font-size:14px; font-weight:500; }
.occurrence-date,.occurrence-time { font-size:16px; font-weight:600; }
.board-space .board-card h4 { font-size:16px; min-height:44px; }.board-space .board-card p { font-size:14px; line-height:1.45; }.board-space .board-badges .badge { font-size:13px; }.board-space .board-card .button { font-size:14px; min-height:40px; }.board-space .board-stage-header h3 { font-size:17px; }
.materials-space-nav .button { font-size:15px; min-height:46px; line-height:1.4; }.materials-room-content p,.materials-room-content li { font-size:16px; line-height:1.55; }
@media(max-width:1100px){.analytics-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media(max-width:650px){.analytics-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.analytics-kpis article { padding:12px; min-height:90px; }.analytics-kpis article strong { font-size:25px; }.occurrence-time { font-size:14px; }.workspace-group .button { font-size:14px; }}
.workspace-label { min-width:0; overflow-wrap:anywhere; line-height:1.35; }
.workspace-group-actions { grid-auto-rows:minmax(52px,auto); }.workspace-group .button { font-size:14px; gap:7px; }
@media(max-width:380px){.workspace-group-actions,.workspace-directory .workspace-group-actions { grid-template-columns:1fr; }.workspace-applications #new-series { grid-column:auto; }}
/* Keep the performance in one reading column; reporting forms a compact bottom row. */
.occurrence-row { display:block; }.occurrence-summary { width:100%; }
.occurrence-status-cell { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; grid-column:auto; grid-row:auto; width:auto; margin-top:12px; padding:12px; background:var(--surface); }
.occurrence-status-cell .workflow-occurrence-context { display:contents; }
.occurrence-report-panel { flex:1 1 260px; margin:0; }.occurrence-report-panel .occurrence-report-state { margin:0 0 8px; }
.occurrence-status-cell .occurrence-owner { flex:1 1 240px; padding:0; }
.occurrence-status-cell .occurrence-kpis { flex:0 1 220px; width:220px; }
.occurrence-status-cell .occurrence-registration-details { flex:1 1 100%; }
.change-request-diff { padding:0; margin-top:14px; background:none; border:0; border-radius:0; }
.change-request-card { border-color:var(--line); border-left-color:var(--directory-accent); }
@media(max-width:650px){.occurrence-status-cell .occurrence-kpis { flex:1 1 100%; width:100%; }.occurrence-report-panel,.occurrence-status-cell .occurrence-owner { flex-basis:100%; }}
:root { --primary-bg:#155bb5; --primary-hover:#104a96; --primary-ink:#fff; }
html[data-theme=dark] { --primary-bg:#2c65ae; --primary-hover:#3473c0; --primary-ink:#fff; }
.button:not(.secondary):not(.text-button) { background:var(--primary-bg); color:var(--primary-ink); }.button:not(.secondary):not(.text-button):hover { background:var(--primary-hover); }
.workspace-group #new-series { background:color-mix(in srgb,var(--brand) 8%,var(--surface)); color:var(--brand2); }
@media(max-width:650px){.button.compact,.text-button.compact { min-height:44px; font-size:14px; }}

body { font-size:var(--text-body); }.change-request-card h4 { font-size:var(--text-heading); }.ownership-toolbar p,.analytics-context,.change-request-facts > span { font-size:var(--text-label); }.ownership-contact,.change-request-facts b { font-size:var(--text-caption); }
.workspace-directory .workspace-group-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) .button:nth-child(7):last-child { grid-column:span 2; }
@media(max-width:650px){.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:380px){.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:1fr; }.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) .button:nth-child(7):last-child { grid-column:auto; }}
.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) .button:nth-child(7):last-child { grid-column:auto; }
.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) [data-ownership-control] { grid-column:span 2; }
@media(max-width:380px){.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) [data-ownership-control] { grid-column:auto; }}
.speaker-registry-shell .hint,.directory-check-badge { font-size:14px; }.directory-status-button { min-height:44px; font-size:14px; }
@media(min-width:381px) and (max-width:650px){.directory-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.directory-filters .directory-reset { grid-column:1/-1; }}
.series-card-compact .series-primary-actions [data-open] { background:color-mix(in srgb,var(--brand) 8%,var(--surface)); color:var(--brand2); }
.series-card-compact .series-primary-actions [data-open].is-open { background:color-mix(in srgb,var(--directory-accent) 8%,var(--surface)); color:var(--directory-accent); }
/* A performance is one compact card, with its date and time read together. */
.occurrence-summary { grid-template-columns:max-content max-content minmax(0,1fr); justify-content:start; gap:8px 14px; }
.occurrence-summary > .occurrence-time { grid-column:2; justify-self:start; }
.occurrence-summary > div:nth-child(3),.occurrence-summary > div:nth-child(4) { grid-column:1/-1; }
.occurrence-summary > div:nth-child(3) { padding:0; border:0; border-radius:0; background:none; }
.occurrence-row { padding:16px; }.occurrence-summary .hint { font-size:14px; margin:7px 0 0; color:var(--muted); }
.occurrence-quick-actions { margin:10px 0 4px; }.occurrence-actions-menu > summary small { display:none; }
.occurrence-status-cell { padding:10px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; background:none; margin-top:10px; align-items:center; }
.occurrence-status-cell .workflow-occurrence-context [data-pep-countdown] { width:auto; max-width:320px; padding:6px 10px; margin:0; font-size:14px; }
.occurrence-status-cell .workflow-occurrence-context > p { margin:0; }
.occurrence-status-cell .occurrence-progress-note { display:none; }
.occurrence-summary > div:nth-child(4) { margin-top:0; }
.shared-links-note { display:inline; margin-left:14px; font-size:14px; font-weight:400; color:var(--muted); }
.series-extra-facts > span { flex:0 1 auto; padding:8px 12px; }
@media(max-width:650px){.occurrence-summary { grid-template-columns:max-content minmax(0,1fr); gap:8px; }.occurrence-date,.occurrence-time { font-size:14px; }.shared-links-note { display:block; margin:4px 0 0; }}
/* Navigation uses full-width rows rather than a cramped third column. */
.topbar:has(.workspace-group) > .actions { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.workspace-directory { grid-column:1/-1; }
.workspace-applications .workspace-group-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.workspace-contributions .workspace-group-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.workspace-applications #new-series { grid-column:auto; }
.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(7,minmax(0,1fr)); }
.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) [data-ownership-control] { grid-column:auto; }
.workspace-group .button { min-height:48px; padding:9px 12px; }.workspace-group-actions { grid-auto-rows:minmax(48px,auto); flex:0; }
.workspace-label { overflow-wrap:normal; word-break:normal; }
@media(max-width:1100px){.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(4,minmax(0,1fr)); }}
@media(max-width:650px){.topbar:has(.workspace-group) > .actions { grid-template-columns:1fr; }.workspace-applications .workspace-group-actions,.workspace-contributions .workspace-group-actions,.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(2,minmax(0,1fr)); }.workspace-applications #new-series { grid-column:1/-1; }}
@media(max-width:380px){.workspace-applications .workspace-group-actions,.workspace-contributions .workspace-group-actions,.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:1fr; }.workspace-applications #new-series { grid-column:auto; }}
.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) .button:nth-child(7):last-child { grid-column:span 2; }
@media(max-width:650px){.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:380px){.workspace-directory .workspace-group-actions,.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) { grid-template-columns:1fr; }.workspace-directory .workspace-group-actions:has(.button:nth-child(7)) .button:nth-child(7):last-child { grid-column:auto; }}
.occurrence-summary > div:nth-child(3) { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; }
.occurrence-summary > div:nth-child(4) { grid-column:3; grid-row:1; align-self:center; justify-self:start; }
.occurrence-info { min-width:0; display:block; }.occurrence-info > strong { display:inline; margin-left:8px; font-size:16px; }
.occurrence-info > span:not(.occurrence-number) { display:block; margin:5px 0; }.occurrence-info .hint { margin:5px 0 0; }
.occurrence-info .detail-event-id { display:inline-flex; width:auto; padding:5px 8px; margin:4px 0; min-height:30px; }
.occurrence-inline-actions { min-width:0; align-self:start; }.occurrence-inline-actions .occurrence-quick-actions { margin:0; gap:8px; }.occurrence-inline-actions .occurrence-actions-menu { margin-top:6px; }
@media(max-width:900px){.occurrence-summary > div:nth-child(3) { grid-template-columns:1fr; gap:10px; }.occurrence-summary > div:nth-child(4) { grid-column:1/-1; grid-row:auto; }.occurrence-info > strong { display:block; margin-left:0; margin-top:4px; }}
.occurrence-summary > div.occurrence-time { grid-column:2; justify-self:start; align-self:start; }
/* Status pills keep meaning and boundaries in both themes. */
.occurrence-status-cell > .badge,.occurrence-status-cell .workflow-occurrence-context > .badge { display:inline-flex; align-items:center; width:fit-content; padding:6px 10px; border:1px solid var(--line); border-radius:999px; font-size:13px; font-weight:600; line-height:1.4; }
.occurrence-status-cell > .badge.info { color:var(--brand2); border-color:color-mix(in srgb,var(--brand) 45%,var(--line)); background:color-mix(in srgb,var(--brand) 10%,var(--surface)); }
.occurrence-status-cell > .badge.warning,.occurrence-status-cell > .badge.attention { color:var(--warn); border-color:color-mix(in srgb,var(--warn) 45%,var(--line)); background:var(--warnbg); }
.occurrence-status-cell > .badge.success { color:var(--success); border-color:color-mix(in srgb,var(--success) 45%,var(--line)); background:color-mix(in srgb,var(--success) 9%,var(--surface)); }
.occurrence-status-cell > .badge.danger { color:var(--danger); border-color:color-mix(in srgb,var(--danger) 45%,var(--line)); background:color-mix(in srgb,var(--danger) 8%,var(--surface)); }
/* Board columns have readable widths; horizontal scrolling stays inside the board. */
.board-space .board-column { flex:1 0 260px; min-width:260px; }.board-space .board-column-empty { flex:0 0 170px; min-width:170px; }
.board-space .board-stage-header { min-height:0; height:auto; padding:12px; gap:8px; }
.board-space .board-stage-header h3 { display:flex; align-items:start; justify-content:space-between; gap:8px; min-height:48px; font-size:17px; line-height:1.4; margin:0; }
.board-space .board-stage-header h3 [data-count] { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:24px; margin:0; padding:3px 6px; border-radius:999px; background:var(--surface); color:var(--stage-accent); font-size:13px; }
.board-space .board-stage-symbol { display:flex; align-items:center; width:24px; height:24px; margin:0; font-size:22px; flex-shrink:0; }
.board-space .board-card[data-series-id] h4 { display:block; min-height:0; max-height:none; overflow:visible; -webkit-line-clamp:unset; font-size:16px; line-height:1.45; margin:6px 0 10px; word-break:normal; overflow-wrap:anywhere; }
.board-space .board-card[data-series-id] > p:not(.eyebrow):not(.board-deadline) { white-space:normal; overflow:visible; text-overflow:clip; font-size:14px; line-height:1.45; }
.board-space .board-card[data-series-id] .board-badges { flex-wrap:wrap; gap:6px; }.board-space .board-badges .badge { white-space:normal; font-size:13px; padding:5px 8px; }
.board-space .board-card[data-series-id] .board-card-actions { display:flex; flex-wrap:wrap; gap:8px; }.board-space .board-card-actions .button { min-width:0; min-height:40px; font-size:14px; padding:8px 10px; }
.board-space .board-header { flex-wrap:wrap; align-items:center; }.board-space .board-header .actions { flex-wrap:wrap; }.board-space .board-header .button { min-height:40px; font-size:14px; }
.board-space .board-expand { font-size:14px; min-height:36px; padding:8px 0; }.board-space .board-task { min-width:0; }.board-space .board-task h4 { font-size:16px; line-height:1.45; overflow-wrap:anywhere; }
@media(max-width:650px){.board-space .board-column { flex-basis:calc(100vw - 48px); min-width:260px; }.board-space .board-column-empty { flex-basis:170px; min-width:170px; }}
.occurrence-status-cell .workflow-occurrence-context [data-pep-countdown] { flex:0 0 210px; width:210px; font-variant-numeric:tabular-nums; box-sizing:border-box; }
.board-space .board-deadline { min-height:2.9em; line-height:1.45; font-size:14px; font-variant-numeric:tabular-nums; }

.intake-form-context{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 16px;margin:12px 0;border:1px solid var(--line);background:var(--accent-soft);border-radius:10px;font-size:14px;line-height:1.5}.intake-form-context strong{font-size:15px}.intake-form-context a{color:var(--brand2)}

/* Material sections contain fields, not the date input/button pair. */
.conditional { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0; }
.conditional > label { min-width:0; }

.material-review-needed { margin-block:16px; border-inline-start:4px solid var(--warning,#e9ae57); background:var(--surface); color:var(--text); text-align:start; }
.directory-pagination { justify-content:space-between; margin-block:16px; }
.series-subtitle { margin:8px 0 12px; line-height:1.5; }
.series-mobile-alert { display:none; }
.series-deadline-summary{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 4px;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.series-deadline-summary small{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--soft) 45%,var(--surface));font-size:inherit}

/* Mobile registry cards are summaries until their existing disclosure is opened. */
@media (max-width:600px) {
  :is(#series-list,#portal-list) > .series { padding:16px; min-width:0; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-top { display:flex; flex-direction:column; gap:12px; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-top > div { width:100%; min-width:0; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) h3 { font-size:19px; line-height:1.35; margin:6px 0 10px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .eyebrow { font-size:12px; margin:0; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) :is(.paid-documents-notice,.contacts-only,.series-note,.attention-note,.series-documents,.series-reporting,.erp-status,.source-event-id) { display:none; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-top > div:has(> .series-subtitle) > h3 { font-size:13px; color:var(--muted); margin:6px 0; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-subtitle { font-size:19px; font-weight:600; line-height:1.35; margin:6px 0 10px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-top > div:has(> .series-subtitle) > .badge { display:none; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-badges { gap:8px; margin:0; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-badges > :not(.payment-badge):not(.inactive-badge):not(.priority-high):not(.priority-urgent):not(.speaker-top-badge) { display:none; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) .series-badges .badge { min-height:28px; padding:4px 10px; font-size:13px; line-height:1.35; }
  #series-list > .series:not(:has(> .detail)) .series-meta { margin:12px 0 8px; gap:6px 12px; }
  #series-list > .series:not(:has(> .detail)) .series-schedule { flex-basis:auto; font-size:15px; }
  #series-list > .series:not(:has(> .detail)) .series-schedule b { display:none; }
  #series-list > .series:not(:has(> .detail)) .series-deadline-summary { margin:4px 0 0; gap:6px; }
  #series-list > .series:not(:has(> .detail)) .series-deadline-summary small { width:100%; box-sizing:border-box; }
  #series-list > .series:not(:has(> .detail)) .local-time-notice { display:none; }
  #series-list > .series:not(:has(> .detail)) .series-statuses { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
  #series-list > .series:not(:has(> .detail)) .workflow-stage { flex:1 1 100%; padding:10px 12px; margin:0; min-height:44px; }
  #series-list > .series:not(:has(> .detail)) .workflow-stage > span,
  #series-list > .series:not(:has(> .detail)) .workflow-stage .status-action-label,
  #series-list > .series:not(:has(> .detail)) .workflow-stage .pep-countdown { display:none; }
  #series-list > .series:not(:has(> .detail)) .workflow-stage strong { font-size:16px; line-height:1.35; }
  #series-list > .series:not(:has(> .detail)) .workflow-stage small { font-size:13px; line-height:1.4; }
  #series-list > .series:not(:has(> .detail)) .pep-status { display:inline-flex; align-items:center; width:auto; min-height:44px; padding:8px 12px; font-size:14px; margin:0; }
  #series-list > .series:not(:has(> .detail)) .pep-status :is(small,span) { display:none; }
  #series-list > .series:not(:has(> .detail)) .pep-status strong { font-size:14px; line-height:1.35; }
  #series-list > .series:not(:has(> .detail)) .series-mobile-alert { display:block; color:var(--warn); font-size:14px; margin:8px 0 0; }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; border:0; background:none; padding:0; margin:12px 0 0; }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts > span { display:none; }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts > span:nth-child(2) { display:block; order:0; padding:0; border:0; background:none; font-size:15px; }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts > span:nth-child(2) b { display:none; }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts > span:first-child { display:flex; align-items:baseline; order:1; gap:6px; padding:0; border:0; background:none; font-size:14px; }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts > span:first-child b { font-size:13px; font-weight:400; text-transform:none; letter-spacing:0; margin:0; }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts > span:nth-child(3) { display:flex; flex-basis:100%; order:2; align-items:baseline; gap:6px; border:0; background:none; padding:0; font-size:13px; color:var(--muted); }
  #portal-list > .series:not(:has(> .detail)) .portal-series-facts > span:nth-child(3) b { font-size:13px; font-weight:400; text-transform:none; letter-spacing:0; margin:0; }
  #portal-list > .series:not(:has(> .detail)) .series-top .muted { display:none; }
  #portal-list > .series:not(:has(> .detail)) .badge-stack { flex-direction:row; justify-content:flex-start; flex-wrap:wrap; gap:8px; }
  #portal-list > .series:not(:has(> .detail)) .badge-stack > :not(:last-child):not(.attention) { display:none; }
  #portal-list > .series:not(:has(> .detail)) .photo-report-status { padding:12px; margin:12px 0 0; gap:8px; }
  #portal-list > .series:not(:has(> .detail)) .photo-report-status > :is(p,span):not(.photo-report-count) { display:none; }
  #portal-list > .series:not(:has(> .detail)) .photo-report-status strong { font-size:15px; }
  #portal-list > .series:not(:has(> .detail)) .photo-report-status button { min-height:44px; margin:0; }
  #portal-list > .series:not(:has(> .detail)) .receipt-dropzone { padding:0; border:0; background:none; }
  #portal-list > .series:not(:has(> .detail)) .receipt-dropzone small { display:none; }
  #portal-list > .series:not(:has(> .detail)) .receipt-file-controls .paid-document-status { display:none; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) :is(.series-primary-actions,.card-actions) { display:flex; gap:8px; margin-top:14px; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) :is(.series-primary-actions,.card-actions) > :not([data-open]):not([data-claim]) { display:none; }
  :is(#series-list,#portal-list) > .series:not(:has(> .detail)) :is(.series-primary-actions,.card-actions) > [data-open] { flex:1; min-height:44px; font-size:15px; padding:10px 12px; }
}

/* Import actions stay within reach in every dashboard scenario. */
.report-import-actions {position:sticky;top:0;z-index:5;background:var(--surface);color:var(--ink);padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:16px;}
.report-import-actions[hidden] {display:none;}
.report-import-actions .button {width:100%;}
.registry-registration-filter {display:flex;align-items:center;gap:10px;width:fit-content;padding:12px 16px;margin:0 0 18px;border:1px solid var(--line);border-radius:12px;cursor:pointer;}
.registry-registration-filter input {width:18px;height:18px;}
.registry-registration-filter:has(input:checked) {background:var(--accent-soft);}
.contact-person {display:grid;justify-items:start;gap:6px;padding:14px 0;min-width:0;}
.contact-person-label {font-size:13px;color:var(--muted);}
.contact-copy {display:inline-flex;align-items:center;gap:8px;max-width:100%;text-align:start;border:0;border-radius:7px;padding:5px 7px;margin-inline-start:-7px;background:transparent;color:var(--ink);font:inherit;font-size:17px;line-height:1.5;cursor:pointer;white-space:normal;overflow-wrap:anywhere;min-height:44px;}
.contact-copy-name {font-weight:600;}
.contact-copy-phone {font-size:16px;font-variant-numeric:tabular-nums;color:var(--brand);}
.contact-copy:hover {background:var(--soft);}
.contact-copy:focus-visible {outline:2px solid var(--focus);outline-offset:2px;}
.contact-copy-icon {font-size:16px;color:var(--muted);flex-shrink:0;}
.contact-copy-notice {position:fixed;inset:auto 20px 24px auto;max-width:calc(100vw - 40px);z-index:10000;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:var(--elevation);}
.contact-copy-notice[hidden] {display:none;}
.contacts-only .person-contact {display:block;}
.contacts-only > span > .contact-copy {display:flex;}

/* Lectures are reusable topics, independent from the lecturer directory. */
.lecture-profile{min-width:0;margin:16px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.lecture-profile>summary{cursor:pointer;font-size:17px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}
.lecture-profile .choice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start}
.lecture-profile input[type=radio]{width:16px;margin:3px 0 0}
.lecture-profile fieldset{min-width:0}
.lecture-heading{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
[data-program-lecture-picker],[data-program-speaker-picker]{display:grid;gap:8px;margin:16px 0}
[data-program-lecture-picker] select,[data-program-speaker-picker] select{max-width:100%;width:100%;min-width:0}
.lecture-profile [data-remove-lecture]{justify-self:start}
.registration-plan>.choice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:12px 0}
.registration-plan>.choice .hint{display:block;margin-top:6px}
.registration-plan input[type=radio]{width:16px;height:16px;margin:4px 0 0}
.registration-plan>[data-registration-plan-summary]{font-weight:600;line-height:1.5}
.registration-plan details{margin-top:16px}
@media(max-width:600px){.lecture-profile{padding:14px}.lecture-profile .speaker-profile-fields{grid-template-columns:minmax(0,1fr)}}

.record-focus{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:var(--soft);border:1px solid var(--line);border-radius:12px;margin:16px 0;flex-wrap:wrap}.record-focus[hidden]{display:none}

[data-lecturer-select][hidden]{display:none}
