/**
 * Path: wp-content/plugins/fanclub-core/modules/assembly/assets/assembly-frontend.css
 * Frontend: Mitgliederversammlung (R1 – Async)
 * Angelehnt an governance.css — eigene Cockpit-Aesthetik fuer Event-Charakter.
 */

/* ── Reset / Wrap ─────────────────────────────────────────────────────── */
.mv-wrap * { box-sizing: border-box; }

/* Globaler Color-Override: ALLE Eingabefelder im MV-Bereich haben weissen Hintergrund
   und schwarze Schrift — egal in welchem Wrapper sie liegen. Verhindert Erbe von
   color: #fff aus dem .mv-wrap-Container.
   .ql-clipboard ausgeschlossen — Quill braucht das fuer interne Zwischenablage,
   wuerde sonst Tipp-Verhalten stoeren. */
.mv-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not(.ql-clipboard),
.mv-wrap textarea:not(.ql-clipboard),
.mv-wrap select {
	color: #1d2327 !important;
	background-color: #fff !important;
	caret-color: #1d2327;
}
.mv-wrap input::placeholder,
.mv-wrap textarea::placeholder { color: #8c8f94 !important; }

/* Quill-Editor (contenteditable div) — Schrift schwarz erzwingen, auch fuer inline
   gestylte Children (<p>, <span> mit color-Style).
   .ql-clipboard explizit NICHT angefasst — Quill-interne Zwischenablage. */
.mv-wrap .ql-editor:not(.ql-clipboard),
.mv-wrap .ql-editor:not(.ql-clipboard) * {
	color: #1d2327 !important;
}

.mv-wrap {
	/* MV-Schrift-Skala — FESTE Pixelwerte (Stand vor dem 08.07.2026).
	   Die Token-Bindung an --fc-size-* machte alle MV-Texte deutlich größer
	   (13→~16px, 20→~28px) — auf Andi-Wunsch am 14.07.2026 zurückgesetzt. */
	--mv-fs-xs:    11px; /* Status-Badges, Kleinstes */
	--mv-fs-sm:    12px; /* Meta, Hint */
	--mv-fs-md:    13px; /* leichter Body */
	--mv-fs-base:  14px; /* Body in TOPs */
	--mv-fs-lg:    15px; /* Body+ */
	--mv-fs-xl:    16px; /* H3, Pause-Text */
	--mv-fs-2xl:   18px; /* Sub-Headlines */
	--mv-fs-3xl:   20px; /* Section H2 */
	--mv-fs-4xl:   22px; /* Vote-Buttons */
	--mv-fs-5xl:   24px; /* Quick-Vote, Gast-H2, Modal-Close */

	color: var(--fc-text, #fff);
	padding: clamp(16px, 4vw, 60px);
	max-width: 1280px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

/* ── HERO ─────────────────────────────────────────────────────────────── */
.mv-hero {
	background: var(--fc-surface-2, #232323);
	border-radius: 20px;
	padding: clamp(20px, 4vw, 36px);
	position: relative;
	overflow: hidden;
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
}
.mv-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 10%; right: 10%;
	height: 4px;
	border-radius: 0 0 50% 50%;
	background: linear-gradient(90deg, transparent, var(--fc-accent, #FFD900) 50%, transparent);
	opacity: .9;
	filter: blur(1px);
}
.mv-hero__label {
	font-size: var(--mv-fs-md);
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fc-accent, #FFD900);
	display: inline-block;
	margin-bottom: 10px;
}
.mv-hero h1 {
	font-size: clamp(28px, 5vw, 44px);
	font-weight: 900;
	font-style: italic;
	text-transform: uppercase;
	line-height: 1.05;
	margin: 0 0 10px;
	color: #fff;
}
.mv-hero__desc {
	color: #fff;
	opacity: .85;
	font-size: var(--mv-fs-lg);
	line-height: 1.6;
	margin-bottom: 18px;
}
.mv-hero--empty h1 { color: var(--fc-text-muted, #A5A5A5); }

/* ── Phase-Bar (4 Phasen Stepper) ─────────────────────────────────────── */
.mv-phase-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 16px;
}
.mv-phase {
	background: rgba(255,255,255,.04);
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
	border-radius: 12px;
	padding: 12px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	text-align: center;
	transition: all .2s;
}
.mv-phase__n {
	width: 26px; height: 26px;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	color: #fff;
	font-weight: 900;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--mv-fs-md);
}
.mv-phase__l {
	font-size: var(--mv-fs-sm);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--fc-text-muted, #A5A5A5);
}
.mv-phase__d { font-size: var(--mv-fs-xs); color: var(--fc-text-muted, #A5A5A5); }
.mv-phase--done {
	border-color: rgba(34,197,94,.35);
	background: rgba(34,197,94,.06);
}
.mv-phase--done .mv-phase__n { background: #22C55E; color: #000; }
.mv-phase--done .mv-phase__l { color: #22C55E; }
.mv-phase--active {
	border-color: var(--fc-accent, #FFD900);
	background: rgba(255,217,0,.08);
	box-shadow: 0 0 0 2px rgba(255,217,0,.2);
}
.mv-phase--active .mv-phase__n { background: var(--fc-accent, #FFD900); color: #000; }
.mv-phase--active .mv-phase__l { color: var(--fc-accent, #FFD900); }

@media (max-width: 640px) {
	.mv-phase-bar { grid-template-columns: repeat(2, 1fr); }
	.mv-phase__d  { display: none; }
}

/* Stepper-Variante (Async): horizontal scrollbar bei vielen TOPs */
.mv-phase-bar--stepper {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: 6px;
	padding-bottom: 4px;
	grid-template-columns: none;
}
.mv-phase-bar--stepper .mv-phase {
	flex: 0 0 auto;
	min-width: 140px;
	max-width: 220px;
}
.mv-phase--skipped { opacity: .4; }
.mv-phase__l { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }

/* ── Section ──────────────────────────────────────────────────────────── */
.mv-section {
	background: var(--fc-surface-2, #232323);
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
	border-radius: 16px;
	padding: clamp(16px, 3vw, 28px);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.mv-section h2 {
	font-size: var(--mv-fs-3xl);
	font-weight: 900;
	font-style: italic;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
}
.mv-section h3 {
	font-size: var(--mv-fs-xl);
	font-weight: 900;
	font-style: italic;
	text-transform: uppercase;
	color: var(--fc-accent, #FFD900);
	margin: 0;
}
.mv-hint {
	font-size: var(--mv-fs-md);
	color: var(--fc-text-muted, #A5A5A5);
	line-height: 1.5;
}
.mv-hint strong { color: #fff; }
.mv-pause {
	background: rgba(255,217,0,.06);
	border: 1px solid rgba(255,217,0,.3);
	text-align: center;
}
.mv-pause h2 { color: var(--fc-accent, #FFD900); }
.mv-pause p  { color: #fff; font-size: var(--mv-fs-xl); }

.mv-empty {
	text-align: center;
	color: var(--fc-text-muted, #A5A5A5);
	padding: 30px 10px;
}

/* ── Form ─────────────────────────────────────────────────────────────── */
.mv-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mv-form label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: var(--mv-fs-md);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--fc-text-muted, #A5A5A5);
}
.mv-form label em { color: #EF4444; font-style: normal; }
.mv-form input,
.mv-form textarea,
.mv-form select {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	padding: 10px 12px;
	color: #1d2327;
	font-size: var(--mv-fs-lg);
	font-family: inherit;
	letter-spacing: normal;
	text-transform: none;
	font-weight: 400;
}
.mv-form input::placeholder,
.mv-form textarea::placeholder { color: #8c8f94; }
.mv-form input:focus,
.mv-form textarea:focus,
.mv-form select:focus {
	outline: none;
	border-color: var(--fc-accent, #FFD900);
	box-shadow: 0 0 0 2px rgba(255,217,0,.25);
}
.mv-form textarea { resize: vertical; min-height: 100px; }

/* ── Buttons ──────────────────────────────────────────────────────────── */
.mv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 22px;
	border-radius: 10px;
	border: none;
	font-size: var(--mv-fs-base);
	font-weight: 900;
	font-style: italic;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .15s;
}
.mv-btn--primary { background: var(--fc-accent, #FFD900); color: #000; }
.mv-btn--primary:hover { background: var(--fc-accent-hover, #e6c300); }
.mv-btn--ghost { background: transparent; border: 1px solid var(--fc-border, rgba(255,255,255,.18)); color: #fff; }
.mv-btn--ghost:hover { border-color: var(--fc-accent, #FFD900); color: var(--fc-accent, #FFD900); }

/* ── Pills ────────────────────────────────────────────────────────────── */
.mv-pill {
	display: inline-flex;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: var(--mv-fs-xs);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.4;
}
.mv-pill--running   { background: var(--fc-accent, #FFD900); color: #000; }
.mv-pill--finished  { background: #22C55E; color: #000; }
.mv-pill--pending   { background: rgba(255,255,255,.08); color: #fff; }
.mv-pill--approved  { background: #22C55E; color: #000; }
.mv-pill--rejected  { background: #EF4444; color: #fff; }
.mv-pill--antrag     { background: var(--fc-accent, #FFD900); color: #000; }
.mv-pill--anregung   { background: #000; color: var(--fc-accent, #FFD900); border: 1px solid var(--fc-accent, #FFD900); }
.mv-pill--abstimmung { background: var(--fc-accent, #FFD900); color: #000; }
.mv-pill--aufstellung{ background: #000; color: var(--fc-accent, #FFD900); border: 1px solid var(--fc-accent, #FFD900); }
.mv-pill--info       { background: transparent; color: var(--fc-accent, #FFD900); border: 1px solid var(--fc-accent, #FFD900); }
.mv-pill--kandidatur { background: #000; color: var(--fc-accent, #FFD900); border: 1px solid var(--fc-accent, #FFD900); }

/* ── Meine Einreichungen ──────────────────────────────────────────────── */
.mv-my-subs { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.mv-my-sub {
	background: var(--fc-surface, #0d0d0d);
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
	border-radius: 10px;
	padding: 12px 14px;
}
.mv-my-sub__head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
.mv-my-sub__body { color: #fff; opacity: .85; font-size: var(--mv-fs-base); line-height: 1.5; }

/* ── TOPs Akkordion ──────────────────────────────────────────────────── */
.mv-tops { display: flex; flex-direction: column; gap: 10px; }
.mv-top-item {
	background: #232323;
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
	border-radius: 10px;
	border-left: 3px solid transparent;
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s;
}
/* Akkordion-Header als tabellarisches Grid mit FESTEN Spalten — alle TOPs alignieren.
   Icon | Num | Titel (1fr, schrumpfbar) | Type (180px) | Status (110px) | Datum-Block (240px) | Count (40px) | Pfeil (20px) */
.mv-top-item summary {
	padding: 12px 16px;
	display: grid;
	grid-template-columns: 22px 32px minmax(0, 1fr) 180px 110px 240px 40px 20px;
	align-items: center;
	gap: 14px;
	cursor: pointer;
	list-style: none;
	user-select: none;
	position: relative;
}
/* mv-top-item__cols ist nur Wrapper im Markup — Children direkt ins Grid heben */
.mv-top-item__cols { display: contents; }
/* Sondervariante: Submit-Formular (kein Icon, keine Nummer, keine Spalten) */
.mv-top-item--form > summary {
	grid-template-columns: minmax(0, 1fr) auto auto;
}

/* Hint-Variante: Prüfungsfrist & ähnliche TOPs ohne aufklappbaren Inhalt.
   Animierter weißer Schimmer-Verlauf wandert wellenartig durch den Hintergrund.
   Spalten-Layout identisch zum Akkordion. */
.mv-top-item--hint {
	padding: 12px 16px;
	display: grid;
	grid-template-columns: 22px 32px minmax(0, 1fr) 180px 110px 240px 40px 20px;
	align-items: center;
	gap: 14px;
	position: relative;
	background: rgba(255,217,0,.05);
	border: 1px solid rgba(255,217,0,.2);
	border-radius: 10px;
	border-left-width: 3px;
	overflow: hidden;
}
.mv-top-item--hint > *,
.mv-top-item--hint .mv-pill,
.mv-top-item--hint .mv-top-item__status,
.mv-top-item--hint .mv-top-item__date-block,
.mv-top-item--hint .mv-top-item__date,
.mv-top-item--hint .mv-timer { position: relative; z-index: 1; }
.mv-top-item--hint::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		100deg,
		transparent 20%,
		rgba(255,255,255,.10) 50%,
		transparent 80%
	);
	transform: translateX(-100%);
	animation: mv-hint-shimmer 4s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}
@keyframes mv-hint-shimmer {
	0%   { transform: translateX(-100%); }
	60%  { transform: translateX(100%); }
	100% { transform: translateX(100%); }
}
/* Hint-Variante übernimmt Status-Bordüre links auch hier */
.mv-top-item--hint.mv-top-item--running  { border-left-color: #22C55E; box-shadow: 0 0 0 1px rgba(34,197,94,.2); }
.mv-top-item--hint.mv-top-item--pending  { border-left-color: var(--fc-accent, #FFD900); }
.mv-top-item--hint.mv-top-item--done     { border-left-color: #22C55E; }
/* Datum-Block: Datum oben, Timer drunter — wenn vorhanden */
.mv-top-item__date-block {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: flex-start;
	min-width: 0;
}
.mv-top-item summary::-webkit-details-marker { display: none; }
.mv-top-item summary::after {
	content: '\25BC';
	color: var(--fc-accent, #FFD900);
	font-size: var(--mv-fs-base);
	transition: transform .2s;
	text-align: center;
	line-height: 1;
}
.mv-top-item[open] > summary::after { transform: rotate(180deg); }
.mv-top-item summary:hover { background: rgba(255,255,255,.04); }
.mv-top-item[open] { box-shadow: 0 0 0 1px rgba(255,217,0,.2); }

/* Status-Icon vor der Nummer — pure CSS via mask-image (filter-resistent).
   Form kommt vom data-uri SVG (--mv-icon), Farbe von currentColor. */
.mv-top-item__icon {
	display: inline-block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--mv-icon) center / contain no-repeat;
	        mask: var(--mv-icon) center / contain no-repeat;
}
.mv-top-item__icon--running {
	color: #22C55E;
	--mv-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M8 5v14l11-7z'/></svg>");
}
.mv-top-item__icon--done {
	color: #22C55E;
	--mv-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5 10-12'/></svg>");
}
.mv-top-item__icon--rejected {
	color: #EF4444;
	--mv-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>");
}
.mv-top-item__icon--noted {
	color: var(--fc-text-muted, #A5A5A5);
	--mv-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><circle cx='12' cy='12' r='9'/><path d='M12 7.5v.5M12 11v6' stroke-linecap='round'/></svg>");
}
.mv-top-item__icon--skipped {
	color: var(--fc-text-muted, #A5A5A5);
	opacity: .7;
	--mv-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M5 5l8 7-8 7zm10 0h2v14h-2z'/></svg>");
}
.mv-top-item__icon--pending {
	color: var(--fc-accent, #FFD900);
	--mv-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'><path d='M7 3h10M7 21h10M7 3v3l5 6 5-6V3M7 21v-3l5-6 5 6v3'/></svg>");
}

/* Status-Bordüre links */
.mv-top-item--running  { border-left-color: #22C55E; box-shadow: 0 0 0 1px rgba(34,197,94,.25); }
.mv-top-item--done     { border-left-color: #22C55E; }
.mv-top-item--rejected { border-left-color: #EF4444; }
.mv-top-item--noted    { border-left-color: rgba(255,255,255,.2); }
.mv-top-item--skipped  { border-left-color: rgba(255,255,255,.1); opacity: .85; }
.mv-top-item--pending  { border-left-color: var(--fc-accent, #FFD900); }

/* Aufzählungsnummer — übernimmt Status-Farbe */
.mv-top-item__num { font-weight: 900; color: var(--fc-accent, #FFD900); }
.mv-top-item--running  .mv-top-item__num { color: #22C55E; }
.mv-top-item--done     .mv-top-item__num { color: #22C55E; }
.mv-top-item--rejected .mv-top-item__num { color: #EF4444; }
.mv-top-item--noted    .mv-top-item__num,
.mv-top-item--skipped  .mv-top-item__num { color: var(--fc-text-muted, #A5A5A5); }

.mv-top-item__title { font-weight: 700; color: #fff; min-width: 0; }
.mv-top-item__count { color: var(--fc-text-muted, #A5A5A5); font-size: var(--mv-fs-md); white-space: nowrap; }

/* Spalten-Inhalte — alle linksbündig in ihrer Spalte */
.mv-top-item summary > .mv-pill,
.mv-top-item summary .mv-pill { justify-self: start; }
.mv-top-item summary .mv-top-item__status { justify-self: start; }
.mv-top-item__date {
	font-size: var(--mv-fs-sm);
	color: var(--fc-text-muted, #A5A5A5);
	font-weight: 500;
	white-space: nowrap;
}
.mv-top-item__date small { color: var(--fc-accent, #FFD900); font-weight: 700; margin-left: 4px; }

/* Mobile: cols werden eigener Grid-Block, Hauptzeile kompakt */
@media (max-width: 900px) {
	.mv-top-item summary,
	.mv-top-item--hint {
		grid-template-columns: auto auto minmax(0, 1fr) auto !important;
		grid-template-areas:
			'icon num title arrow'
			'cols cols cols cols'
			'count count count count';
		gap: 8px 12px;
	}
	.mv-top-item__icon  { grid-area: icon; }
	.mv-top-item__num   { grid-area: num; }
	.mv-top-item__title { grid-area: title; }
	.mv-top-item summary::after { grid-area: arrow; }
	.mv-top-item__cols {
		display: grid;
		grid-area: cols;
		grid-template-columns: auto auto;
		gap: 8px 12px;
		align-items: center;
	}
	.mv-top-item__date-block { grid-column: 1 / -1; }
	.mv-top-item__count { grid-area: count; justify-self: start; }
	/* Hint-Karte: Schimmer darf nicht über den Inhalt — Children behalten z-index */
	.mv-top-item--hint { overflow: hidden; }
}
.mv-top-item__body { padding: 0 20px 20px; border-top: 1px solid var(--fc-border, rgba(255,255,255,.06)); }
.mv-top-item__desc {
	padding-top: 18px;
	color: #fff;
	opacity: .9;
	font-size: var(--mv-fs-base);
	line-height: var(--fc-leading-snug);
}
.mv-top-item__desc p {
	margin: 0 0 var(--fc-space-2);
	line-height: inherit;
	min-height: 1em;
}
.mv-top-item__desc p:last-child { margin-bottom: 0; }
.mv-top-item__desc strong { color: var(--fc-accent, #FFD900); }
/* Leere Absätze in Quill-Output sichtbar machen (Enter im Editor → Leerzeile im Frontend) */
.mv-discuss__body p,
.mv-my-sub__body p,
.mv-top-subs__body p {
	margin: 0 0 var(--fc-space-2);
	min-height: 1em;
}
.mv-discuss__body p:last-child,
.mv-my-sub__body p:last-child,
.mv-top-subs__body p:last-child { margin-bottom: 0; }

/* ── Rich-Text aus Quill: Listen, Italic, Indent — gilt fuer alle Stellen
   die Editor-Output rendern. Theme-base.css setzt global "list-style: none",
   wir holen es hier gezielt zurueck. */
.mv-top-item__desc ul,
.mv-top-item__desc ol,
.mv-discuss__body ul,
.mv-discuss__body ol,
.mv-my-sub__body ul,
.mv-my-sub__body ol,
.mv-top-subs__body ul,
.mv-top-subs__body ol {
	margin: 0 0 var(--fc-space-2);
	padding-left: 1.5em;
	list-style: revert;
}
.mv-top-item__desc ul,
.mv-discuss__body ul,
.mv-my-sub__body ul,
.mv-top-subs__body ul { list-style-type: disc; }
.mv-top-item__desc ol,
.mv-discuss__body ol,
.mv-my-sub__body ol,
.mv-top-subs__body ol { list-style-type: decimal; }
/* Quill 1.x Sonderfall: Bullet-Listen kommen als <ol><li data-list="bullet">.
   Dort gewinnt das data-list-Attribut ueber den ol-Default. */
.mv-top-item__desc li[data-list="bullet"],
.mv-discuss__body li[data-list="bullet"],
.mv-my-sub__body li[data-list="bullet"],
.mv-top-subs__body li[data-list="bullet"] { list-style-type: disc; }
.mv-top-item__desc li[data-list="ordered"],
.mv-discuss__body li[data-list="ordered"],
.mv-my-sub__body li[data-list="ordered"],
.mv-top-subs__body li[data-list="ordered"] { list-style-type: decimal; }
.mv-top-item__desc li,
.mv-discuss__body li,
.mv-my-sub__body li,
.mv-top-subs__body li {
	margin-bottom: 4px;
	padding-left: 4px;
	line-height: inherit;
}
.mv-top-item__desc li:last-child,
.mv-discuss__body li:last-child,
.mv-my-sub__body li:last-child,
.mv-top-subs__body li:last-child { margin-bottom: 0; }
/* Verschachtelte Listen — Quill ql-indent-N */
.mv-top-item__desc .ql-indent-1,
.mv-discuss__body .ql-indent-1,
.mv-my-sub__body .ql-indent-1,
.mv-top-subs__body .ql-indent-1 { padding-left: 3em; }
.mv-top-item__desc .ql-indent-2,
.mv-discuss__body .ql-indent-2,
.mv-my-sub__body .ql-indent-2,
.mv-top-subs__body .ql-indent-2 { padding-left: 4.5em; }
.mv-top-item__desc .ql-indent-3,
.mv-discuss__body .ql-indent-3,
.mv-my-sub__body .ql-indent-3,
.mv-top-subs__body .ql-indent-3 { padding-left: 6em; }
.mv-top-item__desc .ql-indent-4,
.mv-discuss__body .ql-indent-4,
.mv-my-sub__body .ql-indent-4,
.mv-top-subs__body .ql-indent-4 { padding-left: 7.5em; }
/* Italic + Blockquote */
.mv-top-item__desc em,
.mv-discuss__body em,
.mv-my-sub__body em,
.mv-top-subs__body em { font-style: italic; }
.mv-top-item__desc blockquote,
.mv-discuss__body blockquote,
.mv-my-sub__body blockquote,
.mv-top-subs__body blockquote {
	margin: 8px 0;
	padding: 6px 12px;
	border-left: 3px solid var(--fc-border-mid, rgba(255,255,255,.13));
	color: var(--fc-text-muted, #A5A5A5);
	font-style: italic;
}

/* ── Diskussion ───────────────────────────────────────────────────────── */
.mv-discuss { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.mv-discuss__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.mv-discuss__item {
	background: rgba(255,255,255,.03);
	border-left: 3px solid var(--fc-accent, #FFD900);
	padding: 10px 12px;
	border-radius: 6px;
}
.mv-discuss__head { font-size: var(--mv-fs-sm); color: var(--fc-text-muted, #A5A5A5); margin-bottom: 4px; }
.mv-discuss__head strong { color: #fff; }
.mv-discuss__time { margin-left: 6px; }
.mv-discuss__body { color: #fff; font-size: var(--mv-fs-base); line-height: 1.5; }
.mv-discuss__form { display: flex; flex-direction: column; gap: 8px; }
.mv-discuss__form textarea {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	padding: 8px 10px;
	color: #1d2327;
	font-family: inherit;
	font-size: var(--mv-fs-base);
	resize: vertical;
}
.mv-discuss__form textarea::placeholder { color: #8c8f94; }
.mv-discuss__form textarea:focus {
	outline: none;
	border-color: var(--fc-accent, #FFD900);
	box-shadow: 0 0 0 2px rgba(255,217,0,.25);
}
.mv-discuss__form button { align-self: flex-start; }

/* ── LIVE-PHASE ───────────────────────────────────────────────────────── */
.mv-live { display: flex; flex-direction: column; gap: 20px; }

/* TOP-Stepper horizontal scrollbar */
.mv-stepper {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	padding: 10px 2px;
	scrollbar-width: thin;
}
.mv-step {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
	font-size: var(--mv-fs-sm);
	white-space: nowrap;
	max-width: 220px;
}
.mv-step__n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: rgba(255,255,255,.1);
	font-weight: 900;
	font-size: var(--mv-fs-xs);
	color: #fff;
}
.mv-step__l { color: var(--fc-text-muted, #A5A5A5); overflow: hidden; text-overflow: ellipsis; max-width: 180px; }
.mv-step--done { border-color: rgba(34,197,94,.4); background: rgba(34,197,94,.08); }
.mv-step--done .mv-step__n { background: #22C55E; color: #000; }
.mv-step--done .mv-step__l { color: #22C55E; }
.mv-step--active {
	border-color: var(--fc-accent, #FFD900);
	background: rgba(255,217,0,.10);
	box-shadow: 0 0 0 2px rgba(255,217,0,.2);
}
.mv-step--active .mv-step__n { background: var(--fc-accent, #FFD900); color: #000; }
.mv-step--active .mv-step__l { color: var(--fc-accent, #FFD900); font-weight: 700; }
.mv-step--skipped { opacity: .4; }

/* Aktueller TOP */
.mv-current {
	background: var(--fc-surface-2, #232323);
	border: 2px solid var(--fc-accent, #FFD900);
	border-radius: 20px;
	padding: clamp(20px, 4vw, 32px);
	position: relative;
	overflow: hidden;
	box-shadow: 0 0 0 8px rgba(255,217,0,.08);
}
.mv-current__head {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.mv-current h2 {
	font-size: clamp(22px, 4vw, 32px);
	font-weight: 900;
	font-style: italic;
	text-transform: uppercase;
	line-height: 1.1;
	color: #fff;
	margin: 0 0 12px;
}
.mv-current__desc {
	color: #fff;
	opacity: .85;
	font-size: var(--mv-fs-lg);
	line-height: 1.6;
	margin-bottom: 20px;
}
.mv-timer {
	font-size: var(--mv-fs-sm);
	color: #F59E0B;
	font-weight: 700;
	letter-spacing: .04em;
	white-space: nowrap;
}

/* ── TOP-Body-Header: Description + Check-Block nebeneinander ────────── */
.mv-top-item__head--with-check {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}
.mv-top-item__head--with-check .mv-top-item__desc {
	flex: 1 1 auto;
	min-width: 0;
}
.mv-top-item__head--with-check .mv-check {
	flex: 0 0 260px;
	margin-top: 18px;
}
@media (max-width: 720px) {
	.mv-top-item__head--with-check { flex-direction: column; gap: 0; }
	.mv-top-item__head--with-check .mv-check { flex: 1 1 auto; width: 100%; }
}

/* ── Check-Block (Akklamation: Zustimmung-Toggle) ─────────────────────── */
.mv-check {
	padding: 14px 16px;
	background: rgba(255,217,0,.04);
	border: 1px solid rgba(255,217,0,.18);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mv-check-single {
	display: block;
	width: 100%;
	background: var(--fc-accent, #FFD900);
	border: 2px solid var(--fc-accent, #FFD900);
	border-radius: 8px;
	padding: 16px 20px;
	color: #000;
	font-size: var(--mv-fs-xl);
	font-weight: 900;
	font-style: italic;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, transform .12s ease;
	text-align: center;
	line-height: 1.2;
}
.mv-check-single:hover {
	background: var(--fc-accent-hover, #FFB800);
	border-color: var(--fc-accent-hover, #FFB800);
	transform: translateY(-1px);
}
.mv-check-single:active { transform: translateY(0); }
.mv-check-single.is-active {
	background: #22C55E;
	border-color: #22C55E;
	color: #000;
}
.mv-check-single.is-active:hover {
	background: #1FAB52;
	border-color: #1FAB52;
}
.mv-check-single[disabled],
.mv-check-single:disabled {
	cursor: default;
	opacity: .75;
	transform: none !important;
}

/* Prüfen / Stop — Sekundär-Buttons der Akklamation */
.mv-check__alts { display: flex; gap: 8px; }
.mv-check-alt {
	flex: 1 1 0;
	background: transparent;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 8px;
	padding: 8px 10px;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
	transition: border-color .18s ease, color .18s ease, background-color .18s ease;
	line-height: 1.2;
}
.mv-check-alt:hover { border-color: rgba(255,255,255,.45); color: #fff; }
.mv-check-alt.is-active { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; }
.mv-check-alt--stop.is-active { background: rgba(239,68,68,.18); border-color: #EF4444; color: #EF4444; }
.mv-check__alt-stats {
	display: flex;
	gap: 14px;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-sm);
}
.mv-check__alt-stats strong { color: #fff; font-weight: 900; }

/* "Keine Aufstellung"-Button (Aufstellungs-TOP) — Optik analog zum Bin-fertig-Button */
.mv-no-candidacy {
	display: block;
	width: 100%;
	background: var(--fc-accent, #FFD900);
	border: 2px solid var(--fc-accent, #FFD900);
	border-radius: 8px;
	padding: 16px 20px;
	color: #000;
	font-size: var(--mv-fs-xl);
	font-weight: 900;
	font-style: italic;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, transform .12s ease;
	text-align: center;
	line-height: 1.2;
}
.mv-no-candidacy:hover {
	background: var(--fc-accent-hover, #FFB800);
	border-color: var(--fc-accent-hover, #FFB800);
	transform: translateY(-1px);
}
.mv-no-candidacy:active { transform: translateY(0); }
.mv-no-candidacy.is-active {
	background: #22C55E;
	border-color: #22C55E;
	color: #000;
}
.mv-no-candidacy.is-active:hover {
	background: #1FAB52;
	border-color: #1FAB52;
}

/* Aufstellungs-Kandidaturen-Liste (im Aufstellungs-TOP-Body) */
.mv-aufstellung-list {
	margin-top: 22px;
	padding: 14px 16px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 10px;
	background: rgba(255,255,255,.02);
}
.mv-aufstellung-list h4 {
	margin: 0 0 12px;
	font-size: var(--mv-fs-base);
	font-weight: 800;
	letter-spacing: .02em;
	color: var(--fc-accent, #FFD900);
}
.mv-aufstellung-list__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.mv-aufstellung-item {
	padding: 12px 14px;
	background: rgba(255,255,255,.03);
	border-left: 3px solid rgba(255,255,255,.15);
	border-radius: 6px;
}
.mv-aufstellung-item--approved { border-left-color: #22C55E; }
.mv-aufstellung-item--rejected { border-left-color: #EF4444; opacity: .7; }
.mv-aufstellung-item__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.mv-aufstellung-item__name {
	color: #fff;
	font-size: var(--mv-fs-md);
}
.mv-aufstellung-item__title {
	font-weight: 700;
	color: #fff;
	margin: 4px 0;
}
.mv-aufstellung-item__body {
	font-size: var(--mv-fs-sm);
	color: var(--fc-text-secondary, #C8C8C8);
	line-height: 1.5;
	margin: 4px 0;
}
.mv-aufstellung-item__actions {
	margin-top: 8px;
}
.mv-pill--position {
	background: rgba(255,217,0,.12);
	color: var(--fc-accent, #FFD900);
	border: 1px solid rgba(255,217,0,.3);
}
.mv-check__stats {
	display: flex;
	align-items: baseline;
	gap: 6px;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-sm);
	line-height: 1.4;
}
.mv-check__stats strong {
	color: #fff;
	font-size: var(--mv-fs-xl);
	font-weight: 900;
}

/* ── Pro-TOP-Submit-Form (Antrag/Anregung/Kandidatur einreichen) ──────── */
.mv-top-submit {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.08);
}
.mv-top-submit h4 {
	margin: 0 0 14px;
	font-size: var(--mv-fs-lg);
	font-weight: 800;
	letter-spacing: .02em;
	color: #fff;
}

/* ── Vorschlagssammlung (strukturierte Liste) ────────────────────────── */
.mv-top-submit--vorschlag .mv-vorschlag__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 12px;
}
.mv-vorschlag__row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}
.mv-vorschlag__row input[type="text"] {
	flex: 1;
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	padding: 10px 14px;
	color: #1d2327;
	font-size: var(--mv-fs-base);
}
.mv-vorschlag__row input[type="text"]::placeholder { color: #8c8f94; }
.mv-vorschlag__row input[type="text"]:focus {
	outline: none;
	border-color: var(--fc-accent, #FFD900);
	box-shadow: 0 0 0 2px rgba(255,217,0,.25);
}
.mv-vorschlag__remove {
	flex-shrink: 0;
	width: 38px;
	background: transparent;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 8px;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-2xl);
	font-weight: 700;
	cursor: pointer;
	transition: all .15s;
}
.mv-vorschlag__remove:hover {
	border-color: #EF4444;
	color: #EF4444;
}
.mv-btn--ghost {
	background: transparent;
	border: 1.5px dashed rgba(255,217,0,.4);
	color: var(--fc-accent, #FFD900);
	padding: 9px 16px;
	border-radius: 8px;
	font-size: var(--mv-fs-md);
	font-weight: 700;
	cursor: pointer;
	letter-spacing: .02em;
	transition: all .15s;
	align-self: flex-start;
}
.mv-btn--ghost:hover:not(:disabled) {
	background: rgba(255,217,0,.06);
	border-style: solid;
}
.mv-btn--ghost:disabled {
	opacity: .4;
	cursor: not-allowed;
}
.mv-vorschlag__limit-hint {
	margin: 0;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-sm);
	font-style: italic;
}
.mv-top-submit--vorschlag textarea {
	width: 100%;
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	padding: 10px 14px;
	color: #1d2327;
	font-size: var(--mv-fs-base);
	font-family: inherit;
	resize: vertical;
	min-height: 70px;
}
.mv-top-submit--vorschlag textarea::placeholder { color: #8c8f94; }
.mv-top-submit--vorschlag textarea:focus {
	outline: none;
	border-color: var(--fc-accent, #FFD900);
	box-shadow: 0 0 0 2px rgba(255,217,0,.25);
}

/* ── Vorschlag-Board (Tabelle + Like-Button) ─────────────────────────── */
.mv-vorschlag-board {
	margin-top: 18px;
	padding: 16px 18px;
	background: rgba(255,217,0,.04);
	border: 1px solid rgba(255,217,0,.18);
	border-radius: 12px;
}
.mv-vorschlag-board__phase {
	margin: 0 0 12px;
	font-size: var(--mv-fs-md);
	color: #fff;
	line-height: 1.5;
}
.mv-vorschlag-board__phase strong {
	color: var(--fc-accent, #FFD900);
	letter-spacing: .03em;
}
.mv-vorschlag-board__limit {
	margin: 0 0 14px;
	font-size: var(--mv-fs-sm);
	color: var(--fc-text-muted, #A5A5A5);
	font-style: italic;
}
.mv-vorschlag-board__limit strong { color: #fff; }
.mv-vorschlag-board__empty {
	margin: 0;
	padding: 14px;
	background: rgba(255,255,255,.03);
	border-radius: 8px;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-md);
	text-align: center;
}

/* Karten-Layout für Vorschlag-Gruppen (eine Karte pro Mitglied-Einreichung) */
.mv-vorschlag-cards {
	display: grid;
	gap: 16px;
	margin-top: 12px;
}
.mv-vorschlag-card {
	background: rgba(255,255,255,.03);
	border: 1px solid rgba(255,255,255,.08);
	border-left: 3px solid var(--fc-accent, #FFD900);
	border-radius: 10px;
	padding: 14px 16px;
}
.mv-vorschlag-card.is-liked {
	border-color: #22C55E;
	background: rgba(34,197,94,.06);
}
.mv-vorschlag-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	font-size: var(--mv-fs-md);
}
.mv-vorschlag-card__rank {
	background: var(--fc-accent, #FFD900);
	color: #000;
	font-weight: 800;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: var(--mv-fs-sm);
}
.mv-vorschlag-card__author { flex: 1; min-width: 0; }
.mv-vorschlag-card__author strong { color: var(--fc-accent, #FFD900); }
.mv-vorschlag-card__likes {
	font-weight: 700;
	color: #fff;
}
.mv-vorschlag-card__count { color: var(--fc-accent, #FFD900); }
.mv-vorschlag-card__titles {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	display: grid;
	gap: 6px;
}
.mv-vorschlag-card__titles li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px dashed rgba(255,255,255,.06);
}
.mv-vorschlag-card__titles li:last-child { border-bottom: none; }
.mv-vorschlag-card__title {
	font-size: var(--mv-fs-lg);
	font-weight: 700;
	color: #fff;
}
.mv-vorschlag-card__pos {
	font-size: var(--mv-fs-xs);
	color: var(--fc-text-muted, #A5A5A5);
	background: rgba(255,255,255,.05);
	padding: 1px 6px;
	border-radius: 3px;
	letter-spacing: 0.04em;
}
.mv-vorschlag-card__reason {
	margin: 10px 0 12px;
	padding: 10px 12px;
	background: rgba(255,255,255,.04);
	border-radius: 6px;
	font-size: var(--mv-fs-md);
	color: var(--fc-text-secondary, #C8C8C8);
	line-height: 1.5;
}
.mv-vorschlag-card__reason strong { color: var(--fc-accent, #FFD900); }
.mv-vorschlag-card__foot {
	display: flex;
	align-items: center;
	gap: 10px;
}
/* Like-Button immer rechts, egal ob „eigener Vorschlag"-Hinweis vorhanden ist */
.mv-vorschlag-card__foot .mv-like-btn {
	margin-left: auto;
}
.mv-vorschlag-card__own {
	font-size: var(--mv-fs-sm);
	color: var(--fc-text-muted, #A5A5A5);
	font-style: italic;
}
.mv-vorschlag-card__reason--empty {
	font-style: italic;
	opacity: .7;
}

/* Begründung bearbeiten — Inline-Quill in der eigenen Karte */
.mv-vorschlag-card__edit {
	margin: 10px 0 4px;
	border-top: 1px dashed rgba(255,255,255,.08);
	padding-top: 10px;
}
.mv-vorschlag-card__edit-toggle {
	list-style: none;
	cursor: pointer;
	display: inline-block;
	font-size: var(--mv-fs-sm);
	color: var(--fc-accent, #FFD900);
	user-select: none;
	padding: 4px 0;
}
.mv-vorschlag-card__edit-toggle::-webkit-details-marker { display: none; }
.mv-vorschlag-card__edit-toggle:hover { text-decoration: underline; }
.mv-vorschlag-card__edit[open] .mv-vorschlag-card__edit-toggle { color: #fff; }
.mv-vorschlag-card__edit-body {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,.06);
}
.mv-vorschlag-card__edit-save {
	margin-top: 10px;
}
.mv-vorschlag-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--mv-fs-base);
}
.mv-vorschlag-table th {
	padding: 8px 10px;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-xs);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: left;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.mv-vorschlag-table th.mv-vt-likes,
.mv-vorschlag-table td.mv-vt-likes,
.mv-vorschlag-table th.mv-vt-rank,
.mv-vorschlag-table td.mv-vt-rank,
.mv-vorschlag-table th.mv-vt-action,
.mv-vorschlag-table td.mv-vt-action {
	text-align: right;
	white-space: nowrap;
}
.mv-vorschlag-table td {
	padding: 10px;
	border-bottom: 1px solid rgba(255,255,255,.05);
	color: #fff;
}
.mv-vorschlag-table tr:last-child td { border-bottom: none; }
.mv-vorschlag-row.is-liked td { background: rgba(34,197,94,.06); }
.mv-vorschlag-row__count { font-weight: 800; color: #fff; }
.mv-vorschlag-row__own {
	font-size: var(--mv-fs-sm);
	color: var(--fc-text-muted, #A5A5A5);
	font-style: italic;
}
.mv-like-btn {
	background: transparent;
	border: 1.5px solid rgba(255,255,255,.18);
	border-radius: 6px;
	padding: 6px 14px;
	color: #fff;
	font-size: var(--mv-fs-sm);
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
	transition: all .15s;
}
.mv-like-btn:hover {
	border-color: var(--fc-accent, #FFD900);
	color: var(--fc-accent, #FFD900);
}
.mv-like-btn.is-active {
	background: rgba(34,197,94,.14);
	border-color: #22C55E;
	color: #22C55E;
}
.mv-like-btn:disabled { opacity: .5; cursor: wait; }
.mv-vorschlag-table .mv-vt-rank {
	color: var(--fc-accent, #FFD900);
	font-weight: 900;
	width: 32px;
}

/* ── Vorschlags-Subs als echte Tabelle (Frontend) ────────────────────── */
.mv-top-subs--table {
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 10px;
	overflow: hidden;
}
.mv-top-subs--table h4 {
	margin: 0;
	padding: 12px 16px;
	background: rgba(255,217,0,.05);
	border-bottom: 1px solid rgba(255,255,255,.08);
	font-size: var(--mv-fs-base);
	font-weight: 800;
	color: #fff;
}
.mv-subs-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--mv-fs-md);
}
.mv-subs-table thead th {
	padding: 9px 14px;
	text-align: left;
	font-size: var(--mv-fs-xs);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--fc-text-muted, #A5A5A5);
	background: rgba(255,255,255,.02);
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.mv-subs-table tbody td {
	padding: 10px 14px;
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,.05);
	vertical-align: middle;
}
.mv-subs-table tbody tr:nth-child(odd)  td { background: rgba(255,255,255,.02); }
.mv-subs-table tbody tr:nth-child(even) td { background: rgba(255,255,255,.05); }
.mv-subs-table tbody tr:last-child td { border-bottom: none; }
.mv-subs-table__row--approved td { border-left: 3px solid #22C55E; }
.mv-subs-table__row--approved td:first-child {
	box-shadow: inset 3px 0 0 #22C55E;
	border-left: none;
}
.mv-subs-table__row--rejected td { opacity: .6; }
.mv-subs-table__col-status { white-space: nowrap; text-align: right; }
.mv-subs-table__col-author,
.mv-subs-table__col-date { color: var(--fc-text-muted, #A5A5A5); white-space: nowrap; }

/* ── Eingereichte Antraege / Anregungen — tabellarisch ──────────────── */
.mv-top-subs {
	margin-top: 22px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 10px;
	overflow: hidden;
}
.mv-top-subs h4 {
	margin: 0;
	padding: 12px 16px;
	background: rgba(255,217,0,.05);
	border-bottom: 1px solid rgba(255,255,255,.08);
	font-size: var(--mv-fs-base);
	font-weight: 800;
	letter-spacing: .02em;
	color: #fff;
}

/* Status-Markierungen für Anträge-Tabelle (zentrale Submissions-Sektion) */
.mv-subs-table__row--rejected td:first-child { border-left: 3px solid #EF4444; }
.mv-subs-table__row--parking  td:first-child { border-left: 3px solid #F59E0B; }
.mv-pill--parking { background: #F59E0B; color: #000; }

/* Hint zum Enthaltungs-Verhalten im Vote-Block */
.mv-hint__abstention {
	display: inline-block;
	margin-left: 6px;
	font-style: italic;
	color: var(--fc-text-muted, #A5A5A5);
}

/* Notiz-Zeile direkt unter dem Submission-Eintrag (Begründung der Ablehnung /
   Rückmeldung Vorstand). Visuell als Folge-Zeile gekoppelt: dezenter BG,
   gleiche Border-Farbe wie Status-Zeile darüber. */
.mv-subs-table__note-row td {
	padding: 8px 14px 12px;
	font-size: var(--mv-fs-sm);
	color: var(--fc-text-secondary, #C8C8C8);
	border-top: none;
	background: rgba(255,255,255,.03);
}
.mv-subs-table__note-row--rejected td { border-left: 3px solid #EF4444; background: rgba(239,68,68,.06); }
.mv-subs-table__note-row--approved td { border-left: 3px solid #22C55E; background: rgba(34,197,94,.05); }
.mv-subs-table__note-row--parking  td { border-left: 3px solid #F59E0B; background: rgba(245,158,11,.06); }
.mv-subs-table__note-icon { display: inline-block; margin-right: 4px; }
.mv-top-subs__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mv-top-subs__item {
	padding: 10px 16px;
	border-bottom: 1px solid rgba(255,255,255,.05);
}
.mv-top-subs__item:nth-child(odd)  { background: rgba(255,255,255,.02); }
.mv-top-subs__item:nth-child(even) { background: rgba(255,255,255,.05); }
.mv-top-subs__item:last-child      { border-bottom: none; }
.mv-top-subs__item--approved { border-left: 3px solid #22C55E; }
.mv-top-subs__item--rejected { border-left: 3px solid #EF4444; opacity: .65; }
.mv-top-subs__item--parking  { border-left: 3px solid var(--fc-text-muted, #A5A5A5); opacity: .8; }
.mv-top-subs__head {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.mv-top-subs__head strong {
	flex: 1 1 auto;
	min-width: 120px;
	font-size: var(--mv-fs-base);
	color: #fff;
}
.mv-top-subs__meta {
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-sm);
	white-space: nowrap;
}
.mv-top-subs__body {
	margin-top: 8px;
	color: rgba(255,255,255,.85);
	font-size: var(--mv-fs-md);
	line-height: 1.55;
}
.mv-top-subs__body:empty { display: none; }

/* ── Vote-Stats (Abstimmung/Aufstellung) ──────────────────────────────── */
.mv-vote__stats {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-md);
	padding-top: 10px;
	border-top: 1px solid var(--fc-border, rgba(255,255,255,.06));
}
.mv-vote__stats strong { color: #fff; }

/* ── Vote-Buttons (Ja / Nein / Enth.) ─────────────────────────────────── */
/* Vote-Block: optisch klar abgesetzte Stimmabgabe-Zone */
.mv-vote {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 24px 0 28px;
	padding: 22px;
	background: rgba(255,255,255,0.025);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 12px;
}

/* Vote-Typ-Badge: klar erkennbar geheim / offen / Wahl */
.mv-vote-type {
	font-size: var(--mv-fs-sm, 14px);
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 10px 14px;
	border-left: 4px solid;
	background: rgba(255,255,255,0.04);
	color: var(--fc-text-primary, #fff);
}
.mv-vote-type--secret   { border-left-color: #FFD900; }
.mv-vote-type--open     { border-left-color: #22C55E; }
.mv-vote-type--election { border-left-color: #FFD900; }
.mv-vote-type--unset    { border-left-color: #EF4444; color: #FCA5A5; }
.mv-vote__choices {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 4px;
}
.mv-vote__choices--n2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) {
	.mv-vote__choices,
	.mv-vote__choices--n2 { grid-template-columns: 1fr; }
}
.mv-vote-btn {
	background: var(--fc-surface, #0d0d0d);
	border: 2px solid var(--fc-border, rgba(255,255,255,.15));
	border-radius: 14px;
	padding: 26px 18px;
	color: #fff;
	font-size: var(--mv-fs-2xl);
	font-weight: 900;
	font-style: italic;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .18s;
	box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
/* Hover nur auf Geräten mit echtem Hover (verhindert kleben auf Touch) */
@media (hover: hover) {
	.mv-vote-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.4); }
	.mv-vote-btn--ja:hover   { border-color: #22C55E; background: rgba(34,197,94,.12); color: #22C55E; }
	.mv-vote-btn--nein:hover { border-color: #EF4444; background: rgba(239,68,68,.12); color: #EF4444; }
	.mv-vote-btn--enth:hover { border-color: var(--fc-accent, #FFD900); background: rgba(255,217,0,.12); color: var(--fc-accent, #FFD900); }
}
.mv-vote-btn:active { transform: translateY(0); }
.mv-voted {
	background: rgba(34,197,94,.08);
	border: 1px solid rgba(34,197,94,.3);
	border-radius: 10px;
	padding: 12px 14px;
	color: #22C55E;
	font-size: var(--mv-fs-base);
}

/* ── Result-Rows (abgeschlossene TOPs) ────────────────────────────────── */
.mv-card {
	background: var(--fc-surface-2, #232323);
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
	border-radius: 14px;
	padding: 16px;
	margin-bottom: 12px;
}
.mv-card__head { display: flex; gap: 10px; margin-bottom: 10px; align-items: center; }
.mv-card h3 { font-size: var(--mv-fs-2xl); font-weight: 900; font-style: italic; text-transform: uppercase; margin: 0 0 10px; color: #fff; }
.mv-date { color: var(--fc-text-muted, #A5A5A5); font-size: var(--mv-fs-md); }
.mv-card__results { display: flex; flex-direction: column; gap: 6px; }
.mv-result-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 12px;
	border-radius: 8px;
	background: rgba(255,255,255,.03);
	border-left: 3px solid var(--fc-border, rgba(255,255,255,.1));
}
.mv-result-row__title { font-size: var(--mv-fs-base); color: #fff; }
.mv-result-row__badge {
	font-size: var(--mv-fs-xs);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 999px;
	flex-shrink: 0;
}
.mv-result-row--passed   { border-left-color: #22C55E; }
.mv-result-row--passed   .mv-result-row__badge { background: #22C55E; color: #000; }
.mv-result-row--rejected { border-left-color: #EF4444; }
.mv-result-row--rejected .mv-result-row__badge { background: #EF4444; color: #fff; }
.mv-result-row--neutral  .mv-result-row__badge { background: rgba(255,255,255,.1); color: #fff; }

/* ── Dokumente (v1.11.0) ──────────────────────────────────────────────────
   Nutzt durchgehend bestehende Klassen: .mv-section, .mv-top-subs, .mv-subs-table
   Hier nur die ECHTEN Erweiterungen — Strip oben am TOP, Thumb-Cards,
   Hauptdok-Zeilen-Modifier, Type-Badge, Open-Button. */

/* Hauptdokumente-Strip oben am TOP — folgt .mv-pause Pattern (gelb getönt) */
.mv-docs-strip {
	margin: 10px 0;
	padding: 10px 14px;
	background: rgba(255,217,0,.06);
	border: 1px solid rgba(255,217,0,.3);
	border-radius: 10px;
}
.mv-docs-strip__label {
	font-size: var(--mv-fs-md);
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--fc-accent, #FFD900);
	margin-bottom: 8px;
}
/* Hauptdok-Zeilen-Modifier — analog zu .mv-subs-table__row--approved (Akzent-Strich links) */
.mv-subs-table__row--main td { background: rgba(255,217,0,.05) !important; }
.mv-subs-table__row--main td:first-child { box-shadow: inset 3px 0 0 var(--fc-accent, #FFD900); }
.mv-doc-pin { margin-right: 4px; }

/* Klick-Indikator: Tabellenzeile als „klickbar" zeigen */
.mv-subs-table tbody tr.mv-doc-row { cursor: pointer; transition: background .12s; }
.mv-subs-table tbody tr.mv-doc-row:hover td { background: rgba(255,217,0,.08); }

/* Datei-Typ-Badge */
.mv-doc-kind {
	display: inline-block;
	padding: 2px 8px;
	font-size: var(--mv-fs-xs);
	font-weight: 700;
	letter-spacing: .04em;
	color: #fff;
	min-width: 40px;
	text-align: center;
	line-height: 1.4;
	border-radius: 3px;
}
.mv-doc-kind--pdf   { background: #c0392b; }
.mv-doc-kind--image { background: #2980b9; }
.mv-doc-kind--file  { background: #555; }

/* Öffnen-Button in der Tabelle */
.mv-doc-row__btn {
	background: transparent;
	border: 1px solid var(--fc-border-mid, rgba(255,255,255,.13));
	border-radius: 4px;
	color: #fff;
	padding: 3px 12px;
	font-size: var(--mv-fs-md);
	font-weight: 600;
	cursor: pointer;
	line-height: 1.4;
}
.mv-doc-row__btn:hover { border-color: var(--fc-accent, #FFD900); color: var(--fc-accent, #FFD900); }

/* ── Dokument-Viewer-Modal ────────────────────────────────────────────── */
.mv-doc-viewer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
}
.mv-doc-viewer.is-open { display: block; }
.mv-doc-viewer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.85);
}
.mv-doc-viewer__panel {
	position: relative;
	width: min(1100px, 96vw);
	height: 92vh;
	margin: 4vh auto 0;
	background: #1a1a1a;
	border: 1px solid var(--fc-border, rgba(255,255,255,.1));
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.mv-doc-viewer__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
	border-bottom: 1px solid var(--fc-border, rgba(255,255,255,.08));
	background: rgba(0,0,0,.4);
}
.mv-doc-viewer__title {
	flex: 1;
	margin: 0;
	font-size: var(--mv-fs-xl);
	font-weight: 700;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.3;
}
.mv-doc-viewer__dl {
	color: var(--fc-accent, #FFD900);
	text-decoration: none;
	font-size: var(--mv-fs-base);
	font-weight: 600;
	padding: 4px 12px;
	border: 1px solid var(--fc-accent, #FFD900);
	line-height: 1.3;
}
.mv-doc-viewer__dl:hover {
	background: var(--fc-accent, #FFD900);
	color: #000;
}
.mv-doc-viewer__close {
	background: transparent;
	border: none;
	color: #fff;
	font-size: var(--mv-fs-5xl);
	cursor: pointer;
	line-height: 1;
	padding: 0 4px;
}
.mv-doc-viewer__close:hover { color: var(--fc-accent, #FFD900); }
.mv-doc-viewer__body {
	flex: 1;
	overflow: auto;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mv-doc-viewer__iframe {
	width: 100%;
	height: 100%;
	border: none;
	background: #fff;
}
.mv-doc-viewer__img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.mv-doc-viewer__fallback {
	color: var(--fc-text-muted, #A5A5A5);
	padding: 40px;
	text-align: center;
	font-size: var(--mv-fs-lg);
	line-height: 1.4;
}
body.mv-doc-viewer-open { overflow: hidden; }

/* Vorschlagssammlung: Gruppen-Header pro Position + Submit-Pos-Dropdown */
.mv-vorschlag-group__head {
	margin: 14px 0 6px;
	font-size: var(--mv-fs-base);
	font-weight: 700;
	color: var(--fc-accent, #FFD900);
	letter-spacing: .04em;
}
.mv-vorschlag-group__head:first-child { margin-top: 0; }
.mv-vorschlag__pos {
	min-width: 160px;
}

/* ── Vote-Choices bei vielen Optionen ─────────────────────────────────── */
.mv-vote__choices--n4 { grid-template-columns: repeat(2, 1fr); }
.mv-vote__choices--n5,
.mv-vote__choices--n6 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) {
	.mv-vote__choices--n4 { grid-template-columns: repeat(4, 1fr); }
}

/* ── File-Input Styling ───────────────────────────────────────────────── */
.mv-form input[type="file"] {
	padding: 8px;
	color: #1d2327;
	background: #fff;
	border: 1px dashed #c3c4c7;
	cursor: pointer;
}
.mv-form input[type="file"]:hover { border-color: var(--fc-accent, #FFD900); }

/* ── Quill-Editor (Frontend) — weisser Hintergrund wie im Abstimmungsbereich ── */
.mv-wrap .fc-mv-quill-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 4px; }
.mv-wrap .fc-mv-quill-label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--mv-fs-md);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--fc-text-muted, #A5A5A5);
}
.mv-wrap .fc-mv-quill-toolbar {
	background: #f6f7f7;
	border: 1px solid #c3c4c7;
	border-bottom: none;
	border-radius: 8px 8px 0 0;
	padding: 4px;
}
.mv-wrap .fc-mv-quill-toolbar .ql-stroke { stroke: #1d2327; }
.mv-wrap .fc-mv-quill-toolbar .ql-fill   { fill:   #1d2327; }
.mv-wrap .fc-mv-quill-toolbar .ql-picker-label { color: #1d2327; }
.mv-wrap .fc-mv-quill-toolbar .ql-picker-label .ql-stroke { stroke: #1d2327; }
.mv-wrap .fc-mv-quill-toolbar button:hover .ql-stroke,
.mv-wrap .fc-mv-quill-toolbar button.ql-active .ql-stroke { stroke: #2271b1; }
.mv-wrap .fc-mv-quill-toolbar button:hover .ql-fill,
.mv-wrap .fc-mv-quill-toolbar button.ql-active .ql-fill { fill: #2271b1; }
.mv-wrap .fc-mv-quill-toolbar button:hover .ql-picker-label,
.mv-wrap .fc-mv-quill-toolbar button.ql-active .ql-picker-label { color: #2271b1; }
.mv-wrap .fc-mv-quill-toolbar .ql-picker-options {
	background: #fff;
	color: #1d2327;
	border: 1px solid #c3c4c7;
}
.mv-wrap .fc-mv-quill-editor {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-top: none;
	border-radius: 0 0 8px 8px;
	color: #1d2327;
	min-height: 140px;
}
.mv-wrap .fc-mv-quill-editor .ql-editor {
	min-height: 140px;
	color: #1d2327;
	font-family: inherit;
	font-size: var(--mv-fs-lg);
	line-height: 1.5;
}
.mv-wrap .fc-mv-quill-editor .ql-editor.ql-blank::before {
	color: #8c8f94;
	font-style: normal;
}
.mv-wrap .fc-mv-src-textarea {
	width: 100%;
	font-family: 'Courier New', monospace;
	font-size: var(--mv-fs-md);
	background: #fff;
	color: #1d2327;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	padding: 8px;
	resize: vertical;
	min-height: 140px;
}
.mv-wrap .fc-mv-src-toggle {
	background: transparent;
	border: 1px solid var(--fc-border, rgba(255,255,255,.2));
	border-radius: 4px;
	color: var(--fc-accent, #FFD900);
	font-size: var(--mv-fs-xs);
	font-weight: 700;
	padding: 2px 8px;
	cursor: pointer;
	letter-spacing: .04em;
}
.mv-wrap .fc-mv-src-toggle:hover { border-color: var(--fc-accent, #FFD900); }
.mv-wrap .fc-mv-src-toggle[aria-pressed="true"] {
	background: var(--fc-accent, #FFD900);
	color: #000;
	border-color: var(--fc-accent, #FFD900);
}

/* ── Quick-Vote-Overlay (Live-Geschaeftsordnungsantrag) ───────────────── */
.mv-quick-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.85);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: mvQuickFadeIn .2s ease;
}
@keyframes mvQuickFadeIn {
	from { opacity: 0; transform: scale(.98); }
	to   { opacity: 1; transform: scale(1); }
}
.mv-quick-box {
	background: var(--fc-surface-2, #232323);
	border: 2px solid var(--fc-accent, #FFD900);
	border-radius: 20px;
	padding: clamp(20px, 4vw, 40px);
	max-width: 560px;
	width: 100%;
	box-shadow: 0 0 0 10px rgba(255,217,0,.15), 0 10px 60px rgba(0,0,0,.5);
	text-align: center;
	animation: mvQuickPulse 1.4s ease-in-out infinite;
}
@keyframes mvQuickPulse {
	0%,100% { box-shadow: 0 0 0 10px rgba(255,217,0,.15), 0 10px 60px rgba(0,0,0,.5); }
	50%     { box-shadow: 0 0 0 16px rgba(255,217,0,.25), 0 10px 60px rgba(0,0,0,.5); }
}
.mv-quick-label {
	font-size: var(--mv-fs-sm);
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fc-accent, #FFD900);
	display: block;
	margin-bottom: 10px;
}
.mv-quick-topic {
	font-size: clamp(22px, 4vw, 30px);
	font-weight: 900;
	font-style: italic;
	text-transform: uppercase;
	line-height: 1.15;
	color: #fff;
	margin: 0 0 14px;
}
.mv-quick-timer {
	font-size: clamp(40px, 7vw, 60px);
	font-weight: 900;
	font-family: 'Courier New', monospace;
	color: var(--fc-accent, #FFD900);
	line-height: 1;
	margin-bottom: 20px;
	font-variant-numeric: tabular-nums;
}
.mv-quick-timer.is-low { color: #EF4444; animation: mvQuickBlink 0.8s step-start infinite; }
@keyframes mvQuickBlink { 50% { opacity: .4; } }
.mv-quick-choices {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 14px;
}
@media (max-width: 500px) { .mv-quick-choices { grid-template-columns: 1fr; } }
.mv-quick-btn {
	background: var(--fc-surface, #0d0d0d);
	border: 2px solid var(--fc-border, rgba(255,255,255,.15));
	border-radius: 12px;
	padding: 16px 12px;
	color: #fff;
	font-weight: 900;
	font-size: var(--mv-fs-2xl);
	font-style: italic;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .15s;
}
.mv-quick-btn--ja:hover   { border-color: #22C55E; color: #22C55E; background: rgba(34,197,94,.1); }
.mv-quick-btn--nein:hover { border-color: #EF4444; color: #EF4444; background: rgba(239,68,68,.1); }
.mv-quick-btn--enth:hover { border-color: var(--fc-accent, #FFD900); color: var(--fc-accent, #FFD900); background: rgba(255,217,0,.1); }
.mv-quick-stats {
	display: flex;
	gap: 16px;
	justify-content: center;
	color: var(--fc-text-muted, #A5A5A5);
	font-size: var(--mv-fs-md);
	padding-top: 10px;
	border-top: 1px solid var(--fc-border, rgba(255,255,255,.06));
}
.mv-quick-stats strong { color: #fff; }
.mv-quick-voted {
	color: #22C55E;
	font-weight: 700;
	padding: 14px;
	background: rgba(34,197,94,.1);
	border-radius: 10px;
}

/* ── Live-Pulse am aktuellen TOP ──────────────────────────────────────── */
.mv-live-dot {
	display: inline-block;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #22C55E;
	margin-right: 6px;
	animation: mvLivePulse 1.2s ease-in-out infinite;
}
@keyframes mvLivePulse {
	0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,.7); opacity: 1; }
	50%     { box-shadow: 0 0 0 8px rgba(34,197,94,0); opacity: .8; }
}

/* ── Anhaenge ─────────────────────────────────────────────────────────── */
.fc-mv--guest {
	text-align: center;
	padding: clamp(30px, 8vw, 80px) 20px;
	background: var(--fc-surface-2, #232323);
	border-radius: 20px;
	color: #fff;
}
.fc-mv--guest h2 { font-size: var(--mv-fs-5xl); margin-bottom: 10px; }
.fc-mv--guest p  { color: var(--fc-text-muted, #A5A5A5); margin-bottom: 20px; }

/* ── Submit-Parent-Hint + TOP-Link-Buttons ──────────────────────────── */
.mv-submit-parent-hint {
	background: rgba(255,217,0,.08);
	border: 1px solid rgba(255,217,0,.3);
	color: var(--fc-accent, #FFD900);
	padding: 8px 12px;
	border-radius: 8px;
	font-size: var(--mv-fs-md);
}
.mv-submit-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.mv-top-item-link { list-style: none; }
.mv-link-top {
	width: 100%;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	background: var(--fc-surface, #0d0d0d);
	border: 1px solid var(--fc-border, rgba(255,255,255,.08));
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	transition: border-color .15s;
	font-family: inherit;
	font-size: var(--mv-fs-base);
}
.mv-link-top:hover { border-color: var(--fc-accent, #FFD900); }
.mv-link-top .mv-top-item__num { color: var(--fc-accent, #FFD900); font-weight: 900; min-width: 26px; }
.mv-link-top .mv-top-item__title { flex: 1; font-weight: 600; }
.mv-link-top .mv-top-item__hint { color: var(--fc-text-muted, #A5A5A5); font-size: var(--mv-fs-sm); }

/* ── Meta-TOP (einreich / pruefung) ─────────────────────────────────── */
.mv-meta-top {
	padding: 20px;
	background: rgba(255,217,0,.06);
	border: 1px solid rgba(255,217,0,.25);
	border-radius: 12px;
	text-align: center;
}
.mv-meta-top h3 { font-size: var(--mv-fs-3xl); color: var(--fc-accent, #FFD900); margin: 0 0 10px; }
.mv-meta-top p { color: #fff; line-height: 1.5; margin-bottom: 12px; }
.mv-meta-top strong { color: var(--fc-accent, #FFD900); }

/* ── Diskussions-Moderation ─────────────────────────────────────────── */
.mv-discuss__del {
	background: transparent;
	border: none;
	color: var(--fc-text-muted, #A5A5A5);
	cursor: pointer;
	font-size: var(--mv-fs-2xl);
	padding: 0 4px;
	margin-left: auto;
	line-height: 1;
}
.mv-discuss__del:hover { color: #EF4444; }
.mv-discuss__head { display: flex; align-items: center; gap: 6px; }
.mv-discuss__item.is-deleted { opacity: .6; }
.mv-discuss__body--deleted { color: var(--fc-text-muted, #A5A5A5); font-style: italic; }

/* Bereitschaftserklaerung (Kandidatur): Checkbox links, normaler Text, gruener Haken */
.mv-candidate-accept {
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	cursor: pointer;
}
.mv-candidate-accept > span {
	text-transform: none !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: #fff !important;
	font-size: var(--mv-fs-base) !important;
	flex: 1;
}
.mv-candidate-accept input[type="checkbox"] {
	accent-color: #22C55E;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin: 0;
	cursor: pointer;
}

/* Status-Badges im Akkordion */
.mv-top-item__status {
	font-size: var(--mv-fs-xs);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 999px;
}
.mv-top-item__status--running  { background: #22C55E; color: #000; }
.mv-top-item__status--pending  { background: rgba(255,255,255,.08); color: var(--fc-text-muted, #A5A5A5); }
.mv-top-item__status--done     { background: #22C55E; color: #000; }
.mv-top-item__status--rejected { background: #EF4444; color: #fff; }
.mv-top-item__status--noted    { background: rgba(255,255,255,.15); color: #fff; }
.mv-top-item__status--skipped  { background: rgba(255,255,255,.06); color: var(--fc-text-muted, #A5A5A5); }

.mv-discuss--inline { margin-top: 12px; }
.mv-discuss--inline h4 { font-size: var(--mv-fs-md); text-transform: uppercase; letter-spacing: .1em; color: var(--fc-text-muted, #A5A5A5); margin: 0 0 6px; }
