.mr-public-shell {
	background: #f5f7f8;
	padding: 48px 16px;
}

.mr-confirm-card {
	background: #fff;
	border: 1px solid #d9e1e5;
	border-radius: 8px;
	box-shadow: 0 12px 36px rgba(15, 93, 110, 0.08);
	color: #1b2a30;
	margin: 0 auto;
	max-width: 720px;
	padding: 30px;
}

.mr-confirm-card h1 {
	color: #0f5d6e;
	font-size: 30px;
	line-height: 1.15;
	margin: 0 0 20px;
}

.mr-participant-summary {
	background: #f7fbfc;
	border: 1px solid #d9e1e5;
	border-radius: 6px;
	margin-bottom: 22px;
	padding: 16px;
}

.mr-participant-summary p {
	margin: 8px 0;
}

.mr-public-form {
	display: grid;
	gap: 16px;
}

.mr-public-form label {
	display: grid;
	font-weight: 700;
	gap: 7px;
}

.mr-public-form input {
	border: 1px solid #bccbd1;
	border-radius: 5px;
	font-size: 16px;
	padding: 11px 12px;
	width: 100%;
}

.mr-public-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 6px;
}

.mr-public-actions button {
	background: #0f5d6e;
	border: 0;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 12px 18px;
}

.mr-public-actions .mr-secondary {
	background: #6c757d;
}

.mr-public-link {
	background: #0f5d6e;
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	font-weight: 700;
	padding: 12px 18px;
	text-decoration: none;
}

.mr-public-link:hover,
.mr-public-link:focus {
	color: #fff;
	text-decoration: none;
}

.mr-secondary-link {
	background: #6c757d;
}

.mr-portal-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(110px, 1fr));
	gap: 12px;
	margin: 18px 0 24px;
}

.mr-portal-stats div {
	background: #f7fbfc;
	border: 1px solid #d9e1e5;
	border-radius: 6px;
	font-weight: 700;
	padding: 14px;
}

.mr-portal-stats span {
	color: #0f5d6e;
	display: block;
	font-size: 28px;
	line-height: 1;
	margin-bottom: 7px;
}

.mr-alert {
	background: #fff3cd;
	border: 1px solid #ffec99;
	border-radius: 6px;
	color: #5f4700;
	margin-bottom: 18px;
	padding: 14px;
}

@media (max-width: 600px) {
	.mr-confirm-card {
		padding: 22px;
	}

	.mr-confirm-card h1 {
		font-size: 24px;
	}

	.mr-public-actions button {
		width: 100%;
	}

	.mr-public-link {
		text-align: center;
		width: 100%;
	}

	.mr-portal-stats {
		grid-template-columns: 1fr 1fr;
	}
}

.mr-os-portal-body {
	background: #0d1117;
	margin: 0;
}

.mr-system-login,
.mr-system {
	background: #0d1117;
	color: #f6f1e8;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	min-height: 100vh;
}

.mr-system-login {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(320px, 1.1fr) minmax(320px, 0.9fr);
	gap: 56px;
	padding: 56px;
}

.mr-login-brand {
	max-width: 720px;
}

.mr-login-logo,
.mr-system-brand {
	align-items: center;
	display: flex;
	gap: 18px;
}

.mr-login-logo img {
	display: block;
	height: auto;
	max-width: 520px;
	width: min(100%, 520px);
}

.mr-login-logo span,
.mr-system-brand span {
	border: 1px solid rgba(218, 149, 20, 0.55);
	border-radius: 6px;
	color: #f0a51a;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: 0;
	padding: 8px 12px;
}

.mr-login-brand h1 {
	color: #fff;
	font-size: 44px;
	line-height: 1.08;
	margin: 34px 0 16px;
	max-width: 760px;
}

.mr-login-brand p {
	color: #b8c0cc;
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
	max-width: 620px;
}

.mr-login-card {
	background: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	color: #18212f;
	padding: 32px;
}

.mr-login-card h2 {
	font-size: 28px;
	line-height: 1.2;
	margin: 0 0 22px;
}

.mr-login-card form {
	display: grid;
	gap: 16px;
}

.mr-login-card label {
	display: grid;
	font-weight: 700;
	gap: 7px;
}

.mr-login-card input[type="text"],
.mr-login-card input[type="password"] {
	border: 1px solid #c8d0dc;
	border-radius: 6px;
	font-size: 16px;
	padding: 12px;
}

.mr-login-check {
	align-items: center;
	display: flex !important;
	font-weight: 600 !important;
	gap: 9px !important;
}

.mr-login-card button {
	background: #b46f00;
	border: 0;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 800;
	padding: 13px 16px;
}

.mr-login-error {
	background: #fff3cd;
	border: 1px solid #f4d475;
	border-radius: 6px;
	color: #5f4700;
	margin-bottom: 16px;
	padding: 12px;
}

.mr-system {
	display: grid;
	grid-template-columns: 292px minmax(0, 1fr);
}

.mr-system-sidebar {
	background: #090c11;
	border-right: 1px solid rgba(255, 255, 255, 0.08);
	min-height: 100vh;
	padding: 28px 18px;
	position: sticky;
	top: 0;
}

.mr-system-brand {
	color: #fff;
	margin-bottom: 34px;
	text-decoration: none;
}

.mr-system-brand img {
	display: block;
	height: auto;
	width: 194px;
}

.mr-system-nav {
	display: grid;
	gap: 8px;
}

.mr-system-nav a,
.mr-system-module {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	color: #f6f1e8;
	text-decoration: none;
}

.mr-system-nav a {
	display: grid;
	gap: 3px;
	padding: 12px;
}

.mr-system-nav a strong {
	font-size: 14px;
}

.mr-system-nav a span,
.mr-system-module span,
.mr-system-section-head p,
.mr-system-topbar p {
	color: #d59628;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0;
	text-transform: uppercase;
}

.mr-system-main {
	padding: 30px;
}

.mr-system-topbar {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

.mr-system-topbar h1 {
	color: #fff;
	font-size: 34px;
	line-height: 1.15;
	margin: 4px 0 0;
}

.mr-system-user {
	align-items: flex-end;
	display: grid;
	gap: 6px;
	justify-items: end;
}

.mr-system-user span {
	color: #fff;
	font-weight: 800;
}

.mr-system-user a {
	color: #f0a51a;
	font-weight: 800;
	text-decoration: none;
}

.mr-system-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}

.mr-system-stats div,
.mr-system-panel,
.mr-system-module {
	background: #151b25;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
}

.mr-system-stats div {
	color: #b8c0cc;
	font-weight: 800;
	padding: 18px;
}

.mr-system-stats span {
	color: #fff;
	display: block;
	font-size: 34px;
	line-height: 1;
	margin-bottom: 8px;
}

.mr-system-section,
.mr-system-panel {
	margin-bottom: 24px;
}

.mr-system-section-head {
	align-items: end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 14px;
}

.mr-system-section-head h2 {
	color: #fff;
	font-size: 22px;
	line-height: 1.2;
	margin: 4px 0 0;
}

.mr-system-module-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(220px, 1fr));
	gap: 14px;
}

.mr-system-module {
	display: grid;
	gap: 10px;
	min-height: 148px;
	padding: 18px;
}

.mr-system-module h3 {
	color: #fff;
	font-size: 20px;
	line-height: 1.2;
	margin: 0;
}

.mr-system-module p,
.mr-system-list p {
	color: #b8c0cc;
	line-height: 1.5;
	margin: 0;
}

.mr-system-grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
	gap: 18px;
}

.mr-system-panel {
	padding: 18px;
}

.mr-system-list {
	display: grid;
	gap: 10px;
}

.mr-system-list div {
	align-items: center;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 6px;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	padding: 11px 12px;
}

.mr-system-list span {
	color: #f6f1e8;
}

.mr-system-list strong {
	color: #f0a51a;
	font-size: 13px;
	text-align: right;
}

.mr-system .is-disabled {
	cursor: default;
	opacity: 0.58;
	pointer-events: none;
}

@media (max-width: 1100px) {
	.mr-system-login,
	.mr-system {
		grid-template-columns: 1fr;
	}

	.mr-system-sidebar {
		min-height: auto;
		position: static;
	}

	.mr-system-nav {
		grid-template-columns: repeat(2, minmax(180px, 1fr));
	}

	.mr-system-module-grid,
	.mr-system-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.mr-system-login,
	.mr-system-main,
	.mr-system-sidebar {
		padding: 22px;
	}

	.mr-login-brand h1,
	.mr-system-topbar h1 {
		font-size: 28px;
	}

	.mr-system-topbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.mr-system-user {
		justify-items: start;
	}

	.mr-system-stats,
	.mr-system-nav {
		grid-template-columns: 1fr;
	}

	.mr-login-logo {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* MUN Revolution OS app shell, light polished version. */
.mr-os-portal-body {
	background:
		radial-gradient(circle at 20% 0%, rgba(218, 149, 20, 0.18), transparent 32%),
		linear-gradient(135deg, #f7f4ee 0%, #eef3f7 48%, #ffffff 100%);
	color: #17202c;
	margin: 0;
}

.mr-os-portal-body #wpadminbar {
	display: none !important;
}

.mr-app,
.mr-system-login {
	background:
		radial-gradient(circle at 82% 12%, rgba(218, 149, 20, 0.16), transparent 26%),
		radial-gradient(circle at 8% 88%, rgba(12, 79, 104, 0.12), transparent 24%),
		linear-gradient(135deg, #fbf8f1 0%, #f4f7fb 54%, #ffffff 100%);
	color: #17202c;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	min-height: 100vh;
}

.mr-app {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
}

.mr-app-sidebar {
	backdrop-filter: blur(18px);
	background: rgba(255, 255, 255, 0.72);
	border-right: 1px solid rgba(116, 93, 50, 0.16);
	box-shadow: 18px 0 44px rgba(40, 52, 72, 0.07);
	min-height: 100vh;
	padding: 24px 18px;
	position: sticky;
	top: 0;
}

.mr-app-brand {
	align-items: center;
	display: flex;
	gap: 13px;
	margin-bottom: 28px;
	text-decoration: none;
}

.mr-app-brand img {
	display: block;
	height: auto;
	width: 190px;
}

.mr-app-brand span,
.mr-login-logo span {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(181, 113, 0, 0.34);
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(181, 113, 0, 0.11);
	color: #9d6100;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: 0;
	padding: 8px 11px;
}

.mr-app-nav {
	display: grid;
	gap: 8px;
}

.mr-app-nav a {
	background: rgba(255, 255, 255, 0.56);
	border: 1px solid rgba(31, 48, 71, 0.1);
	border-radius: 8px;
	color: #253144;
	display: grid;
	gap: 4px;
	padding: 13px 14px;
	text-decoration: none;
}

.mr-app-nav a.is-active {
	background: linear-gradient(135deg, rgba(181, 113, 0, 0.13), rgba(255, 255, 255, 0.82));
	border-color: rgba(181, 113, 0, 0.3);
	box-shadow: 0 12px 26px rgba(181, 113, 0, 0.1);
}

.mr-app-nav span,
.mr-app-hero p,
.mr-panel-head p {
	color: #a46700;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0;
	text-transform: uppercase;
}

.mr-app-nav strong {
	font-size: 15px;
}

.mr-app-main {
	padding: 28px;
}

.mr-app-topbar {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
}

.mr-app-topbar p {
	color: #7b8796;
	font-weight: 800;
	margin: 0 0 4px;
}

.mr-app-topbar h1 {
	color: #121a27;
	font-size: 34px;
	line-height: 1.12;
	margin: 0;
}

.mr-app-user {
	background: rgba(255, 255, 255, 0.62);
	border: 1px solid rgba(31, 48, 71, 0.1);
	border-radius: 8px;
	display: grid;
	gap: 4px;
	justify-items: end;
	padding: 10px 13px;
}

.mr-app-user span {
	font-weight: 900;
}

.mr-app-user a {
	color: #a46700;
	font-weight: 900;
	text-decoration: none;
}

.mr-app-hero,
.mr-glass-panel,
.mr-app-stats div {
	backdrop-filter: blur(18px);
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(31, 48, 71, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 48px rgba(48, 61, 83, 0.1);
}

.mr-app-hero {
	align-items: end;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 18px;
	padding: 24px;
}

.mr-app-hero h2 {
	color: #121a27;
	font-size: 32px;
	line-height: 1.12;
	margin: 6px 0 0;
}

.mr-app-quick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.mr-app-button,
.mr-app-quick a,
.mr-app-filters button,
.mr-app-form button,
.mr-upload-box button,
.mr-actions button,
.mr-actions a {
	background: #a46700;
	border: 1px solid #a46700;
	border-radius: 7px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	padding: 10px 12px;
	text-decoration: none;
}

.mr-actions a {
	background: #ffffff;
	color: #263244;
	border-color: rgba(31, 48, 71, 0.16);
}

.mr-app-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(140px, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}

.mr-app-stats div {
	color: #667386;
	font-weight: 900;
	padding: 18px;
}

.mr-app-stats span {
	color: #121a27;
	display: block;
	font-size: 34px;
	line-height: 1;
	margin-bottom: 8px;
}

.mr-app-grid {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
	gap: 16px;
}

.mr-glass-panel {
	margin-bottom: 18px;
	padding: 20px;
}

.mr-glass-panel h2,
.mr-glass-panel h3,
.mr-panel-head h2 {
	color: #121a27;
	margin: 0 0 14px;
}

.mr-panel-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}

.mr-compact-list {
	display: grid;
	gap: 9px;
}

.mr-compact-list div {
	align-items: center;
	background: rgba(248, 250, 252, 0.8);
	border: 1px solid rgba(31, 48, 71, 0.08);
	border-radius: 7px;
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 12px;
}

.mr-compact-list strong,
.mr-compact-list a {
	color: #a46700;
	text-decoration: none;
}

.mr-app-filters,
.mr-upload-box {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.mr-app-filters input,
.mr-app-filters select,
.mr-app-form input,
.mr-app-form select,
.mr-app-form textarea,
.mr-upload-box input,
.mr-app-notice input {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(31, 48, 71, 0.16);
	border-radius: 7px;
	color: #17202c;
	font-size: 14px;
	padding: 10px 11px;
}

.mr-app-filters input[type="search"] {
	min-width: 280px;
}

.mr-app-table-wrap {
	overflow-x: auto;
}

.mr-app-table {
	border-collapse: collapse;
	width: 100%;
}

.mr-app-table th {
	color: #667386;
	font-size: 12px;
	text-align: left;
	text-transform: uppercase;
}

.mr-app-table th,
.mr-app-table td {
	border-bottom: 1px solid rgba(31, 48, 71, 0.09);
	padding: 12px 10px;
	vertical-align: middle;
}

.mr-app-table td span {
	color: #667386;
	display: block;
	font-size: 12px;
	margin-top: 3px;
}

.mr-app-table mark {
	background: rgba(164, 103, 0, 0.12);
	border-radius: 999px;
	color: #875500;
	font-weight: 900;
	padding: 5px 8px;
}

.mr-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.mr-actions form {
	margin: 0;
}

.mr-app-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 14px;
}

.mr-app-form label {
	display: grid;
	font-weight: 800;
	gap: 6px;
}

.mr-app-form textarea {
	min-height: 110px;
}

.mr-wide {
	grid-column: 1 / -1;
}

.mr-app-notice {
	border-radius: 8px;
	font-weight: 800;
	margin-bottom: 16px;
	padding: 12px 14px;
}

.mr-app-notice-success {
	background: rgba(220, 252, 231, 0.8);
	border: 1px solid rgba(22, 163, 74, 0.25);
	color: #166534;
}

.mr-app-notice-error {
	background: rgba(254, 226, 226, 0.84);
	border: 1px solid rgba(220, 38, 38, 0.25);
	color: #991b1b;
}

.mr-app-notice input {
	margin-top: 8px;
	width: 100%;
}

.mr-app-empty {
	background: rgba(248, 250, 252, 0.72);
	border: 1px dashed rgba(31, 48, 71, 0.18);
	border-radius: 8px;
	padding: 22px;
}

.mr-app-empty h3 {
	color: #121a27;
	margin: 0 0 8px;
}

.mr-app-empty p {
	color: #5f6b7a;
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

.mr-system-login {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(320px, 1.05fr) minmax(320px, 0.95fr);
	gap: 44px;
	padding: 56px;
}

.mr-login-logo img {
	max-width: 520px;
	width: min(100%, 520px);
}

.mr-login-brand h1 {
	color: #121a27;
	font-size: 42px;
	line-height: 1.1;
}

.mr-login-brand p {
	color: #5f6b7a;
}

.mr-login-card {
	backdrop-filter: blur(18px);
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(31, 48, 71, 0.1);
	border-radius: 8px;
	box-shadow: 0 22px 54px rgba(48, 61, 83, 0.12);
}

@media (max-width: 1100px) {
	.mr-app,
	.mr-system-login,
	.mr-app-grid {
		grid-template-columns: 1fr;
	}

	.mr-app-sidebar {
		min-height: auto;
		position: static;
	}

	.mr-app-nav {
		grid-template-columns: repeat(2, minmax(180px, 1fr));
	}
}

@media (max-width: 720px) {
	.mr-app-main,
	.mr-app-sidebar,
	.mr-system-login {
		padding: 18px;
	}

	.mr-app-topbar,
	.mr-app-hero,
	.mr-panel-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.mr-app-stats,
	.mr-app-nav,
	.mr-app-form {
		grid-template-columns: 1fr;
	}

	.mr-app-filters input[type="search"] {
		min-width: 100%;
	}
}

/* Final OS polish: bright, rounded, compact, Apple-inspired. */
html.wp-toolbar {
	padding-top: 0 !important;
}

body.mr-os-portal-body.admin-bar {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.mr-os-portal-body {
	background: linear-gradient(135deg, #eef3f8 0%, #fbf9f4 42%, #f7fafc 100%);
	min-height: 100vh;
}

.mr-app,
.mr-system-login {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.78) 0%, rgba(250, 247, 241, 0.82) 48%, rgba(246, 250, 253, 0.9) 100%);
	color: #111827;
}

.mr-app {
	border: 1px solid rgba(136, 151, 171, 0.24);
	border-radius: 28px;
	box-shadow: 0 30px 80px rgba(33, 45, 62, 0.14), 0 2px 10px rgba(33, 45, 62, 0.06);
	margin: 18px;
	min-height: calc(100vh - 36px);
	overflow: hidden;
}

.mr-app-sidebar {
	background: rgba(255, 255, 255, 0.58);
	border-right-color: rgba(136, 151, 171, 0.2);
	box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.64), 14px 0 38px rgba(31, 41, 55, 0.05);
	min-height: calc(100vh - 36px);
	padding: 28px 20px;
}

.mr-app-brand {
	margin-bottom: 34px;
}

.mr-app-brand img {
	width: 176px;
}

.mr-app-brand span,
.mr-login-logo span {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 250, 242, 0.7));
	border-color: rgba(173, 107, 8, 0.24);
	border-radius: 14px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 14px 30px rgba(151, 94, 8, 0.12);
	color: #9b6209;
	padding: 9px 13px;
}

.mr-app-nav {
	gap: 10px;
}

.mr-app-nav a {
	background: rgba(255, 255, 255, 0.48);
	border-color: rgba(118, 132, 153, 0.14);
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
	padding: 15px 16px;
	transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.mr-app-nav a:hover,
.mr-app-nav a:focus {
	background: rgba(255, 255, 255, 0.72);
	border-color: rgba(51, 111, 148, 0.22);
	box-shadow: 0 14px 28px rgba(39, 60, 85, 0.08);
	transform: translateY(-1px);
}

.mr-app-nav a.is-active {
	background: linear-gradient(140deg, rgba(255, 255, 255, 0.86), rgba(254, 246, 232, 0.8));
	border-color: rgba(173, 107, 8, 0.26);
	box-shadow: 0 16px 34px rgba(151, 94, 8, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.mr-app-nav span,
.mr-app-hero p,
.mr-panel-head p {
	color: #936008;
	font-size: 10px;
}

.mr-app-nav strong {
	color: #1d2939;
	font-size: 14px;
}

.mr-app-main {
	padding: 34px;
}

.mr-app-topbar {
	margin-bottom: 28px;
}

.mr-app-topbar p {
	color: #748094;
	font-size: 13px;
}

.mr-app-topbar h1 {
	font-size: 36px;
	font-weight: 850;
}

.mr-app-user {
	background: rgba(255, 255, 255, 0.58);
	border-color: rgba(118, 132, 153, 0.16);
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 16px 36px rgba(31, 41, 55, 0.06);
	min-width: 150px;
	padding: 14px 16px;
}

.mr-app-user a {
	color: #936008;
}

.mr-app-hero,
.mr-glass-panel,
.mr-app-stats div,
.mr-login-card {
	background: rgba(255, 255, 255, 0.66);
	border-color: rgba(118, 132, 153, 0.16);
	border-radius: 24px;
	box-shadow: 0 22px 60px rgba(31, 41, 55, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.mr-glass-panel {
	padding: 24px;
}

.mr-panel-head {
	margin-bottom: 22px;
}

.mr-panel-head h2,
.mr-app-hero h2 {
	font-weight: 850;
}

.mr-app-stats {
	gap: 16px;
}

.mr-app-stats div {
	color: #667085;
	min-height: 92px;
	padding: 20px;
}

.mr-app-stats span {
	color: #101828;
	font-size: 38px;
	font-weight: 850;
}

.mr-compact-list div,
.mr-app-empty {
	background: rgba(255, 255, 255, 0.5);
	border-color: rgba(118, 132, 153, 0.14);
	border-radius: 18px;
}

.mr-app-filters {
	gap: 12px;
	margin-bottom: 18px;
}

.mr-app-filters input,
.mr-app-filters select,
.mr-app-form input,
.mr-app-form select,
.mr-app-form textarea,
.mr-upload-box input,
.mr-app-notice input,
.mr-login-card input[type="text"],
.mr-login-card input[type="password"] {
	background: rgba(255, 255, 255, 0.72);
	border-color: rgba(118, 132, 153, 0.2);
	border-radius: 14px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
	color: #111827;
	outline: none;
	padding: 11px 13px;
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.mr-app-filters input:focus,
.mr-app-filters select:focus,
.mr-app-form input:focus,
.mr-app-form select:focus,
.mr-app-form textarea:focus,
.mr-login-card input[type="text"]:focus,
.mr-login-card input[type="password"]:focus {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(42, 109, 141, 0.52);
	box-shadow: 0 0 0 4px rgba(42, 109, 141, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.mr-app-button,
.mr-app-quick a,
.mr-app-filters button,
.mr-app-form button,
.mr-upload-box button,
.mr-actions button,
.mr-actions a,
.mr-login-card button {
	background: linear-gradient(180deg, #a86d12, #8e5805);
	border-color: rgba(142, 88, 5, 0.78);
	border-radius: 999px;
	box-shadow: 0 10px 22px rgba(151, 94, 8, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	color: #fff;
	font-size: 13px;
	font-weight: 850;
	min-height: 36px;
	padding: 9px 15px;
	transition: box-shadow 160ms ease, transform 160ms ease, filter 160ms ease;
	white-space: nowrap;
}

.mr-app-button:hover,
.mr-app-quick a:hover,
.mr-app-filters button:hover,
.mr-app-form button:hover,
.mr-upload-box button:hover,
.mr-actions button:hover,
.mr-actions a:hover,
.mr-login-card button:hover {
	box-shadow: 0 14px 26px rgba(151, 94, 8, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.28);
	filter: saturate(1.04);
	transform: translateY(-1px);
}

.mr-actions {
	align-items: center;
	gap: 7px;
}

.mr-actions button,
.mr-actions a {
	font-size: 12px;
	min-height: 32px;
	padding: 7px 11px;
}

.mr-actions a {
	background: rgba(255, 255, 255, 0.76);
	border-color: rgba(118, 132, 153, 0.22);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76), 0 8px 18px rgba(31, 41, 55, 0.05);
	color: #1f2937;
}

.mr-actions .mr-action-checked_in {
	background: linear-gradient(180deg, #22805a, #176845);
	border-color: rgba(23, 104, 69, 0.8);
	box-shadow: 0 10px 22px rgba(34, 128, 90, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mr-actions .mr-action-absent {
	background: linear-gradient(180deg, #bc3b45, #982a34);
	border-color: rgba(152, 42, 52, 0.8);
	box-shadow: 0 10px 22px rgba(188, 59, 69, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mr-actions .mr-action-requires_review {
	background: linear-gradient(180deg, #2b6f91, #1f5876);
	border-color: rgba(31, 88, 118, 0.8);
	box-shadow: 0 10px 22px rgba(43, 111, 145, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mr-app-table-wrap {
	background: rgba(255, 255, 255, 0.54);
	border: 1px solid rgba(118, 132, 153, 0.16);
	border-radius: 22px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
	overflow-x: auto;
}

.mr-app-table {
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	min-width: 860px;
}

.mr-app-table thead th {
	background: rgba(248, 250, 252, 0.68);
	color: #667085;
	font-size: 11px;
	font-weight: 850;
	padding: 15px 16px;
}

.mr-app-table th,
.mr-app-table td {
	border-bottom: 1px solid rgba(118, 132, 153, 0.12);
	padding: 15px 16px;
}

.mr-app-table tbody tr {
	background: rgba(255, 255, 255, 0.18);
	transition: background 160ms ease;
}

.mr-app-table tbody tr:nth-child(even) {
	background: rgba(244, 247, 251, 0.45);
}

.mr-app-table tbody tr:hover {
	background: rgba(239, 246, 251, 0.8);
}

.mr-app-table tbody tr:last-child td {
	border-bottom: 0;
}

.mr-app-table td {
	color: #1f2937;
	font-weight: 650;
}

.mr-app-table td > strong {
	color: #162033;
	display: block;
	font-weight: 850;
}

.mr-app-table td > span:not(.mr-status) {
	color: #667085;
	display: block;
	font-size: 12px;
	font-weight: 650;
	margin-top: 4px;
}

.mr-status,
.mr-app-table td .mr-status {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	display: inline-flex;
	font-size: 11px;
	font-weight: 850;
	line-height: 1;
	margin: 0;
	padding: 7px 10px;
	width: fit-content;
}

.mr-status-loaded {
	background: #eef2ff;
	border-color: #c7d2fe;
	color: #4338ca;
}

.mr-status-invited,
.mr-status-pending,
.mr-status-pending_confirmation {
	background: #fff7e6;
	border-color: #f5d08a;
	color: #9a5f05;
}

.mr-status-confirmed,
.mr-status-checked_in {
	background: #eaf8ef;
	border-color: #9fd8b5;
	color: #176845;
}

.mr-status-declined,
.mr-status-absent {
	background: #fff0f1;
	border-color: #f3a8ae;
	color: #982a34;
}

.mr-status-requires_review {
	background: #eaf5fb;
	border-color: #9bcbe0;
	color: #1f5876;
}

.mr-status-replaced {
	background: #f2f4f7;
	border-color: #d0d5dd;
	color: #475467;
}

.mr-status-missing {
	background: #fff8f0;
	border-color: #efc48a;
	color: #8a4b08;
}

.mr-app-notice {
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.64);
}

.mr-system-login {
	gap: 52px;
	padding: 64px;
}

.mr-login-brand h1 {
	font-weight: 850;
	max-width: 660px;
}

.mr-login-card {
	padding: 34px;
}

.mr-login-card h2 {
	color: #111827;
	font-weight: 850;
}

@media (max-width: 1100px) {
	.mr-app {
		border-radius: 0;
		margin: 0;
		min-height: 100vh;
	}

	.mr-app-sidebar {
		min-height: auto;
	}
}

@media (max-width: 720px) {
	.mr-app-main,
	.mr-app-sidebar {
		padding: 18px;
	}

	.mr-app-topbar h1 {
		font-size: 30px;
	}

	.mr-app-brand img {
		width: 154px;
	}

	.mr-system-login {
		padding: 28px 18px;
	}
}

/* Premium contrast pass: navy system color, compact login, mobile app feel. */
body.mr-os-portal-body {
	background:
		radial-gradient(circle at 18% 10%, rgba(26, 71, 101, 0.1), transparent 28%),
		radial-gradient(circle at 86% 8%, rgba(166, 105, 19, 0.12), transparent 25%),
		linear-gradient(135deg, #eef3f7 0%, #faf8f2 44%, #f8fafc 100%);
}

body.mr-os-portal-body .mr-app,
body.mr-os-portal-body .mr-system-login {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(250, 252, 255, 0.82)),
		linear-gradient(160deg, rgba(17, 52, 77, 0.04), rgba(166, 105, 19, 0.04));
}

body.mr-os-portal-body .mr-app-topbar h1,
body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-glass-panel h2,
body.mr-os-portal-body .mr-glass-panel h3,
body.mr-os-portal-body .mr-login-card h2,
body.mr-os-portal-body .mr-login-brand h1 {
	color: #0c1828;
}

body.mr-os-portal-body .mr-app-nav span,
body.mr-os-portal-body .mr-app-hero p,
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-login-card > p,
body.mr-os-portal-body .mr-login-copy p {
	color: #9a6412;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-app-form button,
body.mr-os-portal-body .mr-upload-box button,
body.mr-os-portal-body .mr-login-card button,
body.mr-os-portal-body .mr-actions button {
	background: linear-gradient(180deg, #173d5a, #0e2b42) !important;
	background-color: #0e2b42 !important;
	border-color: rgba(14, 43, 66, 0.92) !important;
	box-shadow: 0 12px 26px rgba(14, 43, 66, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
	color: #ffffff !important;
	text-shadow: none !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-actions form:nth-of-type(2) button {
	background: linear-gradient(180deg, #a86d12, #8c5706) !important;
	background-color: #8c5706 !important;
	border-color: rgba(140, 87, 6, 0.94) !important;
	box-shadow: 0 12px 26px rgba(166, 105, 19, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
	color: #ffffff !important;
}

body.mr-os-portal-body .mr-actions a {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: rgba(14, 43, 66, 0.18) !important;
	color: #0e2b42 !important;
}

body.mr-os-portal-body .mr-app-filters button {
	min-width: 86px;
}

body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-actions a {
	font-size: 12px;
	min-height: 31px;
	padding: 7px 12px;
}

body.mr-os-portal-body .mr-country {
	align-items: center;
	background: rgba(255, 255, 255, 0.56);
	border: 1px solid rgba(14, 43, 66, 0.12);
	border-radius: 999px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
	display: inline-flex;
	gap: 8px;
	padding: 7px 10px 7px 8px;
	width: fit-content;
}

body.mr-os-portal-body .mr-country > span:last-child {
	color: #182436;
	font-size: 13px;
	font-weight: 800;
	margin: 0;
}

body.mr-os-portal-body .mr-country-flag {
	align-items: center;
	background: #ffffff;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(14, 43, 66, 0.1);
	display: inline-flex !important;
	font-size: 15px !important;
	height: 24px;
	justify-content: center;
	line-height: 1;
	margin: 0 !important;
	width: 24px;
}

body.mr-os-portal-body .mr-system-login {
	align-items: center;
	grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 440px);
	gap: 56px;
	justify-content: center;
	min-height: 100vh;
	padding: 52px;
}

body.mr-os-portal-body .mr-login-brand {
	justify-self: end;
	max-width: 460px;
}

body.mr-os-portal-body .mr-login-logo {
	align-items: center;
	gap: 14px;
	margin-bottom: 34px;
}

body.mr-os-portal-body .mr-login-logo img {
	max-width: 320px;
	width: min(100%, 320px);
}

body.mr-os-portal-body .mr-login-logo span {
	font-size: 18px;
	padding: 7px 10px;
}

body.mr-os-portal-body .mr-login-copy {
	border-left: 3px solid rgba(166, 105, 19, 0.34);
	padding-left: 18px;
}

body.mr-os-portal-body .mr-login-copy p,
body.mr-os-portal-body .mr-login-card > p {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 0 8px;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-login-brand h1 {
	font-size: 38px;
	line-height: 1.04;
	margin: 0 0 10px;
}

body.mr-os-portal-body .mr-login-copy span {
	color: #647083;
	display: block;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.55;
	max-width: 380px;
}

body.mr-os-portal-body .mr-login-card {
	background: rgba(255, 255, 255, 0.72);
	border-radius: 26px;
	justify-self: start;
	max-width: 440px;
	padding: 30px;
	width: 100%;
}

body.mr-os-portal-body .mr-login-card h2 {
	font-size: 28px;
	line-height: 1.1;
	margin-bottom: 22px;
}

body.mr-os-portal-body .mr-login-card form {
	gap: 14px;
}

body.mr-os-portal-body .mr-login-card label {
	color: #1f2937;
	font-size: 13px;
	font-weight: 850;
}

body.mr-os-portal-body .mr-login-card input[type="text"],
body.mr-os-portal-body .mr-login-card input[type="password"] {
	min-height: 44px;
}

body.mr-os-portal-body .mr-login-card button {
	margin-top: 4px;
	min-height: 44px;
	width: 100%;
}

body.mr-os-portal-body .mr-login-check {
	align-items: center;
	color: #344054;
	display: flex !important;
	font-size: 13px;
}

body.mr-os-portal-body .mr-login-check input {
	accent-color: #0e2b42;
	height: 16px;
	width: 16px;
}

@media (max-width: 980px) {
	body.mr-os-portal-body .mr-app {
		border-radius: 0;
		margin: 0;
		min-height: 100vh;
	}

	body.mr-os-portal-body .mr-app-sidebar {
		backdrop-filter: blur(22px);
		background: rgba(255, 255, 255, 0.76);
		border-bottom: 1px solid rgba(14, 43, 66, 0.1);
		border-right: 0;
		box-shadow: 0 12px 34px rgba(14, 43, 66, 0.08);
		padding: 14px;
		position: sticky;
		top: 0;
		z-index: 20;
	}

	body.mr-os-portal-body .mr-app-brand {
		justify-content: space-between;
		margin-bottom: 12px;
	}

	body.mr-os-portal-body .mr-app-brand img {
		width: 156px;
	}

	body.mr-os-portal-body .mr-app-brand span {
		font-size: 16px;
	}

	body.mr-os-portal-body .mr-app-nav {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		padding-bottom: 4px;
		scroll-snap-type: x proximity;
	}

	body.mr-os-portal-body .mr-app-nav a {
		border-radius: 16px;
		min-width: 134px;
		padding: 10px 12px;
		scroll-snap-align: start;
	}

	body.mr-os-portal-body .mr-app-nav span {
		font-size: 9px;
	}

	body.mr-os-portal-body .mr-app-nav strong {
		font-size: 13px;
	}

	body.mr-os-portal-body .mr-app-main {
		padding: 18px 14px 28px;
	}

	body.mr-os-portal-body .mr-app-topbar {
		align-items: center;
		background: rgba(255, 255, 255, 0.68);
		border: 1px solid rgba(14, 43, 66, 0.1);
		border-radius: 22px;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
		flex-direction: row;
		margin-bottom: 14px;
		padding: 13px;
	}

	body.mr-os-portal-body .mr-app-topbar p {
		font-size: 11px;
		margin-bottom: 2px;
	}

	body.mr-os-portal-body .mr-app-topbar h1 {
		font-size: 20px;
	}

	body.mr-os-portal-body .mr-app-user {
		background: #0e2b42;
		border-color: rgba(14, 43, 66, 0.32);
		border-radius: 16px;
		color: #ffffff;
		min-width: 0;
		padding: 10px 12px;
	}

	body.mr-os-portal-body .mr-app-user span {
		color: #ffffff;
		font-size: 13px;
		max-width: 118px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.mr-os-portal-body .mr-app-user a {
		color: #f2b454;
		font-size: 12px;
	}

	body.mr-os-portal-body .mr-panel-head {
		align-items: flex-start;
		flex-direction: column;
	}

	body.mr-os-portal-body .mr-app-filters {
		align-items: stretch;
		display: grid;
		grid-template-columns: 1fr;
	}

	body.mr-os-portal-body .mr-app-filters input,
	body.mr-os-portal-body .mr-app-filters select,
	body.mr-os-portal-body .mr-app-filters button {
		width: 100%;
	}

	body.mr-os-portal-body .mr-system-login {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 30px 18px;
	}

	body.mr-os-portal-body .mr-login-brand,
	body.mr-os-portal-body .mr-login-card {
		justify-self: center;
		max-width: 420px;
	}

	body.mr-os-portal-body .mr-login-logo {
		justify-content: center;
		margin-bottom: 20px;
	}

	body.mr-os-portal-body .mr-login-logo img {
		max-width: 230px;
	}

	body.mr-os-portal-body .mr-login-copy {
		text-align: left;
	}

	body.mr-os-portal-body .mr-login-brand h1 {
		font-size: 30px;
	}
}

/* App refinement: flatter country rows, visible navy identity, responsive data cards. */
body.mr-os-portal-body .mr-app {
	border-color: rgba(14, 43, 66, 0.16);
}

body.mr-os-portal-body .mr-app-sidebar {
	box-shadow: inset 4px 0 0 #0e2b42, inset -1px 0 0 rgba(255, 255, 255, 0.64), 14px 0 38px rgba(31, 41, 55, 0.05);
}

body.mr-os-portal-body .mr-app-nav a.is-active {
	background: linear-gradient(135deg, rgba(14, 43, 66, 0.08), rgba(255, 255, 255, 0.88));
	border-color: rgba(14, 43, 66, 0.22);
	box-shadow: 0 16px 34px rgba(14, 43, 66, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.mr-os-portal-body .mr-app-nav a.is-active strong {
	color: #0e2b42;
}

body.mr-os-portal-body .mr-app-topbar {
	border-bottom: 1px solid rgba(14, 43, 66, 0.08);
	padding-bottom: 12px;
}

body.mr-os-portal-body .mr-app-topbar p {
	color: #0e2b42;
}

body.mr-os-portal-body .mr-panel-head p {
	color: #0e2b42;
}

body.mr-os-portal-body .mr-app-table thead th {
	color: #0e2b42;
}

body.mr-os-portal-body .mr-country {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	gap: 9px;
	padding: 0;
}

body.mr-os-portal-body .mr-country > span:last-child {
	color: #172033;
	font-size: 14px;
	font-weight: 800;
}

body.mr-os-portal-body .mr-country-flag {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	font-size: 18px !important;
	height: auto;
	width: auto;
}

body.mr-os-portal-body .mr-committee {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	min-width: 0;
}

body.mr-os-portal-body .mr-committee-mark {
	align-items: center;
	background: #0e2b42;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 12px;
	box-shadow: 0 10px 22px rgba(14, 43, 66, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	color: #ffffff;
	display: inline-flex !important;
	flex: 0 0 auto;
	font-size: 10px !important;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 !important;
	min-width: 34px;
	padding: 0 8px;
}

body.mr-os-portal-body .mr-committee > span:last-child {
	color: #182436;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	margin: 0;
}

body.mr-os-portal-body .mr-committee-sc .mr-committee-mark {
	background: linear-gradient(160deg, #0e2b42, #1e5d80);
}

body.mr-os-portal-body .mr-committee-hrc .mr-committee-mark {
	background: linear-gradient(160deg, #144c5a, #247987);
}

body.mr-os-portal-body .mr-committee-unw .mr-committee-mark {
	background: linear-gradient(160deg, #6f3f7a, #9a6ca4);
}

body.mr-os-portal-body .mr-committee-ga .mr-committee-mark {
	background: linear-gradient(160deg, #8c5706, #bf7a19);
}

body.mr-os-portal-body .mr-committee-cc .mr-committee-mark {
	background: linear-gradient(160deg, #23304a, #56617a);
}

@media (max-width: 720px) {
	body.mr-os-portal-body .mr-app {
		overflow: visible;
	}

	body.mr-os-portal-body .mr-app-table-wrap {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}

	body.mr-os-portal-body .mr-app-table,
	body.mr-os-portal-body .mr-app-table thead,
	body.mr-os-portal-body .mr-app-table tbody,
	body.mr-os-portal-body .mr-app-table tr,
	body.mr-os-portal-body .mr-app-table th,
	body.mr-os-portal-body .mr-app-table td {
		display: block;
		min-width: 0;
		width: 100%;
	}

	body.mr-os-portal-body .mr-app-table thead {
		display: none;
	}

	body.mr-os-portal-body .mr-app-table tbody {
		display: grid;
		gap: 12px;
	}

	body.mr-os-portal-body .mr-app-table tbody tr,
	body.mr-os-portal-body .mr-app-table tbody tr:nth-child(even),
	body.mr-os-portal-body .mr-app-table tbody tr:hover {
		background: rgba(255, 255, 255, 0.76);
		border: 1px solid rgba(14, 43, 66, 0.1);
		border-radius: 20px;
		box-shadow: 0 14px 34px rgba(14, 43, 66, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.84);
		display: grid;
		gap: 0;
		padding: 8px 0;
	}

	body.mr-os-portal-body .mr-app-table td {
		align-items: start;
		border-bottom: 1px solid rgba(14, 43, 66, 0.07);
		display: grid;
		gap: 8px;
		grid-template-columns: 96px minmax(0, 1fr);
		padding: 12px 14px;
	}

	body.mr-os-portal-body .mr-app-table td:last-child {
		border-bottom: 0;
	}

	body.mr-os-portal-body .mr-app-table td::before {
		color: #667085;
		content: attr(data-label);
		font-size: 10px;
		font-weight: 900;
		letter-spacing: 0;
		line-height: 1.2;
		padding-top: 3px;
		text-transform: uppercase;
	}

	body.mr-os-portal-body .mr-app-table td > strong {
		font-size: 15px;
	}

	body.mr-os-portal-body .mr-country,
	body.mr-os-portal-body .mr-committee {
		max-width: 100%;
	}

	body.mr-os-portal-body .mr-committee > span:last-child,
	body.mr-os-portal-body .mr-country > span:last-child {
		font-size: 13px;
		overflow-wrap: anywhere;
	}

	body.mr-os-portal-body .mr-actions {
		display: flex !important;
		flex-wrap: wrap;
	}

	body.mr-os-portal-body .mr-actions::before {
		flex: 0 0 96px;
	}

	body.mr-os-portal-body .mr-actions form {
		display: inline-flex;
	}

	body.mr-os-portal-body .mr-actions button,
	body.mr-os-portal-body .mr-actions a {
		min-height: 34px;
	}
}

@media (max-width: 420px) {
	body.mr-os-portal-body .mr-app-topbar {
		gap: 10px;
	}

	body.mr-os-portal-body .mr-app-topbar h1 {
		font-size: 18px;
	}

	body.mr-os-portal-body .mr-app-user span {
		max-width: 92px;
	}

	body.mr-os-portal-body .mr-app-table td {
		grid-template-columns: 78px minmax(0, 1fr);
		padding: 11px 12px;
	}

	body.mr-os-portal-body .mr-actions::before {
		flex-basis: 78px;
	}
}

/* === MUN Revolution OS UI Presentation Patch 0.2.8 START === */

/* ==========================================================
   MUN Revolution OS — UI Presentation Patch 0.2.8
   Scope: public portal, login and confirmation views. CSS-only.
   ========================================================== */
:root {
	--mr-ui-gold: #d4af37;
	--mr-ui-gold-2: #c59b27;
	--mr-ui-gold-dark: #8f6415;
	--mr-ui-navy: #0b1220;
	--mr-ui-navy-2: #111827;
	--mr-ui-blue: #0f2d44;
	--mr-ui-ink: #172033;
	--mr-ui-muted: #667085;
	--mr-ui-line: rgba(15, 23, 42, 0.12);
	--mr-ui-card: rgba(255, 255, 255, 0.78);
	--mr-ui-card-solid: #ffffff;
	--mr-ui-soft: #f6f7fb;
	--mr-ui-success: #15803d;
	--mr-ui-danger: #b91c1c;
	--mr-ui-warning: #b7791f;
	--mr-ui-info: #1d4ed8;
}

html:has(body.mr-os-portal-body),
body.mr-os-portal-body {
	background:
		radial-gradient(circle at 10% 4%, rgba(212, 175, 55, 0.22), transparent 22%),
		radial-gradient(circle at 92% 9%, rgba(15, 45, 68, 0.15), transparent 24%),
		linear-gradient(135deg, #eef3f7 0%, #fbf8ef 48%, #f8fafc 100%) !important;
	color: var(--mr-ui-ink);
	min-height: 100vh;
}

body.mr-os-portal-body #wpadminbar {
	display: none !important;
}

body.mr-os-portal-body.admin-bar,
html.wp-toolbar body.mr-os-portal-body {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.mr-app,
.mr-system-login,
.mr-public-shell {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Main private portal shell */
.mr-app {
	background:
		linear-gradient(140deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72)),
		linear-gradient(160deg, rgba(15, 45, 68, 0.06), rgba(212, 175, 55, 0.06)) !important;
	border: 1px solid rgba(15, 45, 68, 0.16) !important;
	border-radius: 30px !important;
	box-shadow: 0 34px 90px rgba(15, 23, 42, 0.16), 0 4px 16px rgba(15, 23, 42, 0.06) !important;
	color: var(--mr-ui-ink) !important;
	margin: 18px !important;
	min-height: calc(100vh - 36px) !important;
	overflow: hidden !important;
}

.mr-app-sidebar {
	background:
		linear-gradient(180deg, rgba(11, 18, 32, 0.96), rgba(15, 45, 68, 0.94)) !important;
	border-right: 1px solid rgba(212, 175, 55, 0.20) !important;
	box-shadow: inset 5px 0 0 var(--mr-ui-gold), 18px 0 44px rgba(15, 23, 42, 0.12) !important;
	min-height: calc(100vh - 36px) !important;
	padding: 28px 20px !important;
}

.mr-app-brand {
	align-items: center !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(212, 175, 55, 0.22) !important;
	border-radius: 22px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
	gap: 12px !important;
	margin-bottom: 28px !important;
	padding: 14px !important;
}

.mr-app-brand img {
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.24));
	max-width: 168px !important;
	width: 168px !important;
}

.mr-app-brand span,
.mr-login-logo span {
	background: linear-gradient(180deg, var(--mr-ui-gold), var(--mr-ui-gold-dark)) !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 26px rgba(212, 175, 55, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
	color: #ffffff !important;
	font-size: 18px !important;
	font-weight: 950 !important;
	padding: 8px 11px !important;
}

.mr-app-nav {
	display: grid !important;
	gap: 10px !important;
}

.mr-app-nav a {
	background: rgba(255, 255, 255, 0.055) !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	border-radius: 18px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
	color: rgba(255, 255, 255, 0.88) !important;
	padding: 14px 15px !important;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease !important;
}

.mr-app-nav a:hover,
.mr-app-nav a:focus {
	background: rgba(255, 255, 255, 0.10) !important;
	border-color: rgba(212, 175, 55, 0.28) !important;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
	transform: translateY(-1px);
}

.mr-app-nav a.is-active {
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.22), rgba(255, 255, 255, 0.10)) !important;
	border-color: rgba(212, 175, 55, 0.48) !important;
	box-shadow: 0 18px 34px rgba(212, 175, 55, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

.mr-app-nav span,
.mr-app-hero p,
.mr-panel-head p,
.mr-login-card > p,
.mr-login-copy p {
	color: var(--mr-ui-gold) !important;
	font-size: 10.5px !important;
	font-weight: 950 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.mr-app-nav strong {
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 850 !important;
}

.mr-app-main {
	padding: 34px !important;
}

.mr-app-topbar {
	align-items: center !important;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
	margin-bottom: 26px !important;
	padding-bottom: 18px !important;
}

.mr-app-topbar p {
	color: var(--mr-ui-gold-dark) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: 0.06em !important;
	margin: 0 0 5px !important;
	text-transform: uppercase !important;
}

.mr-app-topbar h1 {
	color: var(--mr-ui-navy) !important;
	font-size: 38px !important;
	font-weight: 900 !important;
	letter-spacing: -0.045em !important;
	line-height: 1.02 !important;
}

.mr-app-user {
	background: #ffffff !important;
	border: 1px solid rgba(15, 23, 42, 0.10) !important;
	border-radius: 18px !important;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
	min-width: 160px !important;
	padding: 13px 15px !important;
}

.mr-app-user span {
	color: var(--mr-ui-navy) !important;
	font-weight: 900 !important;
}

.mr-app-user a {
	color: var(--mr-ui-gold-dark) !important;
	font-weight: 900 !important;
}

.mr-app-hero,
.mr-glass-panel,
.mr-app-stats div,
.mr-login-card,
.mr-confirm-card {
	backdrop-filter: blur(18px) !important;
	background: var(--mr-ui-card) !important;
	border: 1px solid rgba(15, 23, 42, 0.10) !important;
	border-radius: 26px !important;
	box-shadow: 0 24px 62px rgba(15, 23, 42, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
}

.mr-app-hero {
	background:
		linear-gradient(135deg, rgba(11, 18, 32, 0.96), rgba(15, 45, 68, 0.92)) !important;
	border-color: rgba(212, 175, 55, 0.22) !important;
	color: #ffffff !important;
	overflow: hidden !important;
	padding: 28px !important;
	position: relative !important;
}

.mr-app-hero::after {
	background: radial-gradient(circle, rgba(212, 175, 55, 0.22), transparent 68%);
	content: "";
	height: 190px;
	opacity: 0.85;
	position: absolute;
	right: -60px;
	top: -70px;
	width: 190px;
}

.mr-app-hero h2 {
	color: #ffffff !important;
	font-size: 34px !important;
	font-weight: 900 !important;
	letter-spacing: -0.045em !important;
	position: relative !important;
	z-index: 1 !important;
}

.mr-app-quick {
	position: relative !important;
	z-index: 1 !important;
}

.mr-glass-panel {
	padding: 24px !important;
}

.mr-panel-head {
	align-items: center !important;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
	margin-bottom: 20px !important;
	padding-bottom: 14px !important;
}

.mr-panel-head h2,
.mr-glass-panel h2,
.mr-glass-panel h3,
.mr-login-card h2,
.mr-login-brand h1,
.mr-confirm-card h1 {
	color: var(--mr-ui-navy) !important;
	font-weight: 900 !important;
	letter-spacing: -0.035em !important;
}

.mr-app-stats {
	gap: 16px !important;
}

.mr-app-stats div {
	border-radius: 22px !important;
	color: var(--mr-ui-muted) !important;
	font-weight: 850 !important;
	min-height: 108px !important;
	overflow: hidden !important;
	padding: 20px !important;
	position: relative !important;
}

.mr-app-stats div::before {
	background: linear-gradient(90deg, var(--mr-ui-gold), rgba(212, 175, 55, 0.12));
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.mr-app-stats div:nth-child(2)::before { background: linear-gradient(90deg, #22c55e, rgba(34, 197, 94, 0.10)); }
.mr-app-stats div:nth-child(3)::before { background: linear-gradient(90deg, #f59e0b, rgba(245, 158, 11, 0.10)); }
.mr-app-stats div:nth-child(4)::before { background: linear-gradient(90deg, #ef4444, rgba(239, 68, 68, 0.10)); }

.mr-app-stats span {
	color: var(--mr-ui-navy) !important;
	font-size: 40px !important;
	font-weight: 950 !important;
	letter-spacing: -0.055em !important;
}

.mr-compact-list div,
.mr-app-empty,
.mr-upload-box {
	background: rgba(255, 255, 255, 0.64) !important;
	border: 1px solid rgba(15, 23, 42, 0.09) !important;
	border-radius: 18px !important;
}

.mr-compact-list strong,
.mr-compact-list a {
	color: var(--mr-ui-gold-dark) !important;
	font-weight: 900 !important;
}

.mr-app-filters,
.mr-upload-box {
	gap: 12px !important;
	margin-bottom: 18px !important;
}

.mr-app-filters input,
.mr-app-filters select,
.mr-app-form input,
.mr-app-form select,
.mr-app-form textarea,
.mr-upload-box input,
.mr-app-notice input,
.mr-login-card input[type="text"],
.mr-login-card input[type="password"],
.mr-public-form input {
	background: #ffffff !important;
	border: 1px solid rgba(15, 23, 42, 0.16) !important;
	border-radius: 14px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
	color: var(--mr-ui-ink) !important;
	font-size: 14px !important;
	min-height: 42px !important;
	outline: none !important;
	padding: 10px 13px !important;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}

.mr-app-filters input:focus,
.mr-app-filters select:focus,
.mr-app-form input:focus,
.mr-app-form select:focus,
.mr-app-form textarea:focus,
.mr-login-card input[type="text"]:focus,
.mr-login-card input[type="password"]:focus,
.mr-public-form input:focus {
	border-color: rgba(212, 175, 55, 0.82) !important;
	box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

.mr-app-button,
.mr-app-quick a,
.mr-app-filters button,
.mr-app-form button,
.mr-upload-box button,
.mr-actions button,
.mr-actions a,
.mr-login-card button,
.mr-public-actions button,
.mr-public-link {
	align-items: center !important;
	background: linear-gradient(180deg, var(--mr-ui-gold), var(--mr-ui-gold-dark)) !important;
	border: 1px solid rgba(143, 100, 21, 0.90) !important;
	border-radius: 999px !important;
	box-shadow: 0 12px 26px rgba(143, 100, 21, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
	color: #ffffff !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	justify-content: center !important;
	line-height: 1 !important;
	min-height: 38px !important;
	padding: 10px 16px !important;
	text-decoration: none !important;
	text-shadow: none !important;
	transition: box-shadow 160ms ease, transform 160ms ease, filter 160ms ease !important;
	white-space: nowrap !important;
}

.mr-app-button:hover,
.mr-app-quick a:hover,
.mr-app-filters button:hover,
.mr-app-form button:hover,
.mr-upload-box button:hover,
.mr-actions button:hover,
.mr-actions a:hover,
.mr-login-card button:hover,
.mr-public-actions button:hover,
.mr-public-link:hover {
	box-shadow: 0 16px 32px rgba(143, 100, 21, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
	filter: saturate(1.05) !important;
	transform: translateY(-1px) !important;
}

.mr-app-filters button,
.mr-app-form button,
.mr-actions button:not(.mr-action-checked_in):not(.mr-action-absent):not(.mr-action-requires_review),
.mr-login-card button {
	background: linear-gradient(180deg, #173d5a, #0b2539) !important;
	border-color: rgba(11, 37, 57, 0.92) !important;
	box-shadow: 0 12px 26px rgba(11, 37, 57, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.20) !important;
}

.mr-actions a,
.mr-public-actions .mr-secondary,
.mr-secondary-link {
	background: #ffffff !important;
	border-color: rgba(15, 23, 42, 0.18) !important;
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
	color: var(--mr-ui-blue) !important;
}

.mr-actions .mr-action-checked_in {
	background: linear-gradient(180deg, #22a06b, #157347) !important;
	border-color: rgba(21, 115, 71, 0.90) !important;
}

.mr-actions .mr-action-absent {
	background: linear-gradient(180deg, #dc3545, #a91d2b) !important;
	border-color: rgba(169, 29, 43, 0.90) !important;
}

.mr-actions .mr-action-requires_review {
	background: linear-gradient(180deg, #2563eb, #1d4ed8) !important;
	border-color: rgba(29, 78, 216, 0.90) !important;
}

.mr-app-table-wrap {
	background: rgba(255, 255, 255, 0.70) !important;
	border: 1px solid rgba(15, 23, 42, 0.10) !important;
	border-radius: 22px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
	overflow-x: auto !important;
}

.mr-app-table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	font-size: 14px !important;
	min-width: 860px !important;
}

.mr-app-table thead th {
	background: linear-gradient(180deg, var(--mr-ui-navy), var(--mr-ui-navy-2)) !important;
	border-bottom: 0 !important;
	color: rgba(255, 255, 255, 0.84) !important;
	font-size: 11px !important;
	font-weight: 950 !important;
	letter-spacing: 0.055em !important;
	padding: 15px 16px !important;
	text-transform: uppercase !important;
}

.mr-app-table td {
	border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
	color: #1f2937 !important;
	font-weight: 650 !important;
	padding: 15px 16px !important;
	vertical-align: middle !important;
}

.mr-app-table tbody tr:nth-child(even) {
	background: rgba(248, 250, 252, 0.74) !important;
}

.mr-app-table tbody tr:hover {
	background: rgba(255, 248, 226, 0.84) !important;
}

.mr-app-table td > strong {
	color: var(--mr-ui-navy) !important;
	font-weight: 900 !important;
}

.mr-app-table td > span:not(.mr-status),
.mr-app-table td span:not(.mr-status):not(.mr-country-flag):not(.mr-committee-mark) {
	color: var(--mr-ui-muted) !important;
	font-size: 12px !important;
	font-weight: 650 !important;
}

.mr-status,
.mr-app-table td .mr-status {
	align-items: center !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	font-size: 11px !important;
	font-weight: 950 !important;
	gap: 7px !important;
	line-height: 1 !important;
	padding: 7px 10px !important;
	width: fit-content !important;
}

.mr-status::before {
	background: currentColor;
	border-radius: 999px;
	content: "";
	height: 6px;
	opacity: 0.75;
	width: 6px;
}

.mr-status-loaded { background: #eef2ff !important; border-color: #c7d2fe !important; color: #4338ca !important; }
.mr-status-invited,
.mr-status-pending,
.mr-status-pending_confirmation { background: #fffbeb !important; border-color: #fde68a !important; color: var(--mr-ui-warning) !important; }
.mr-status-confirmed,
.mr-status-checked_in { background: #ecfdf3 !important; border-color: #bbf7d0 !important; color: var(--mr-ui-success) !important; }
.mr-status-declined,
.mr-status-absent { background: #fef2f2 !important; border-color: #fecaca !important; color: var(--mr-ui-danger) !important; }
.mr-status-requires_review { background: #eff6ff !important; border-color: #bfdbfe !important; color: var(--mr-ui-info) !important; }
.mr-status-replaced { background: #f5f3ff !important; border-color: #ddd6fe !important; color: #6d28d9 !important; }

.mr-country,
.mr-committee {
	align-items: center !important;
	display: inline-flex !important;
	gap: 9px !important;
	max-width: 100% !important;
}

.mr-country-flag,
.mr-committee-mark {
	align-items: center !important;
	background: #ffffff !important;
	border: 1px solid rgba(15, 23, 42, 0.10) !important;
	border-radius: 999px !important;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
	display: inline-flex !important;
	flex: 0 0 auto !important;
	height: 28px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-width: 28px !important;
	width: 28px !important;
}

.mr-committee-mark {
	background: linear-gradient(160deg, var(--mr-ui-blue), #174967) !important;
	border-color: rgba(255, 255, 255, 0.18) !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 950 !important;
	padding: 0 8px !important;
	width: auto !important;
}

.mr-app-notice,
.mr-alert {
	border-radius: 18px !important;
	font-weight: 850 !important;
	padding: 14px 16px !important;
}

.mr-app-notice-success {
	background: #ecfdf3 !important;
	border: 1px solid #bbf7d0 !important;
	color: var(--mr-ui-success) !important;
}

.mr-app-notice-error,
.mr-login-error {
	background: #fef2f2 !important;
	border: 1px solid #fecaca !important;
	color: var(--mr-ui-danger) !important;
}

/* Login page */
.mr-system-login {
	align-items: center !important;
	background:
		radial-gradient(circle at 12% 8%, rgba(212, 175, 55, 0.20), transparent 28%),
		radial-gradient(circle at 82% 12%, rgba(15, 45, 68, 0.18), transparent 28%),
		linear-gradient(135deg, #f8fafc 0%, #fbf6ea 100%) !important;
	gap: 56px !important;
	grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 450px) !important;
	justify-content: center !important;
	min-height: 100vh !important;
	padding: 56px !important;
}

.mr-login-brand {
	justify-self: end !important;
	max-width: 500px !important;
}

.mr-login-logo {
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 32px !important;
}

.mr-login-logo img {
	filter: drop-shadow(0 18px 28px rgba(15, 23, 42, 0.12));
	max-width: 330px !important;
	width: min(100%, 330px) !important;
}

.mr-login-copy {
	border-left: 4px solid var(--mr-ui-gold) !important;
	padding-left: 20px !important;
}

.mr-login-brand h1 {
	font-size: 42px !important;
	line-height: 1.02 !important;
	margin: 0 0 12px !important;
}

.mr-login-copy span {
	color: var(--mr-ui-muted) !important;
	display: block !important;
	font-size: 16px !important;
	font-weight: 650 !important;
	line-height: 1.55 !important;
	max-width: 410px !important;
}

.mr-login-card {
	justify-self: start !important;
	max-width: 450px !important;
	padding: 34px !important;
	width: 100% !important;
}

.mr-login-card h2 {
	font-size: 30px !important;
	line-height: 1.08 !important;
	margin-bottom: 24px !important;
}

.mr-login-card form {
	display: grid !important;
	gap: 15px !important;
}

.mr-login-card label,
.mr-public-form label,
.mr-app-form label {
	color: #263244 !important;
	font-weight: 850 !important;
	gap: 7px !important;
}

.mr-login-check {
	align-items: center !important;
	color: #344054 !important;
	display: flex !important;
	font-size: 13px !important;
	font-weight: 750 !important;
}

.mr-login-check input {
	accent-color: var(--mr-ui-gold-dark);
	height: 16px !important;
	width: 16px !important;
}

.mr-login-card button {
	margin-top: 4px !important;
	min-height: 46px !important;
	width: 100% !important;
}

/* Public confirmation pages */
.mr-public-shell {
	background:
		radial-gradient(circle at 18% 8%, rgba(212, 175, 55, 0.18), transparent 26%),
		radial-gradient(circle at 90% 12%, rgba(15, 45, 68, 0.14), transparent 25%),
		linear-gradient(135deg, #f8fafc 0%, #fbf8ef 100%) !important;
	min-height: 100vh !important;
	padding: 56px 16px !important;
}

.mr-confirm-card {
	max-width: 760px !important;
	overflow: hidden !important;
	padding: 0 !important;
}

.mr-confirm-card h1 {
	background: linear-gradient(135deg, var(--mr-ui-navy), var(--mr-ui-blue)) !important;
	border-bottom: 4px solid var(--mr-ui-gold) !important;
	color: #ffffff !important;
	font-size: 32px !important;
	line-height: 1.08 !important;
	margin: 0 !important;
	padding: 28px 30px !important;
}

.mr-confirm-card > *:not(h1) {
	margin-left: 30px !important;
	margin-right: 30px !important;
}

.mr-confirm-card > *:last-child {
	margin-bottom: 30px !important;
}

.mr-participant-summary {
	background: #ffffff !important;
	border: 1px solid rgba(15, 23, 42, 0.10) !important;
	border-radius: 20px !important;
	box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06) !important;
	margin-bottom: 22px !important;
	margin-top: 24px !important;
	padding: 18px 20px !important;
}

.mr-participant-summary p {
	border-bottom: 1px solid rgba(15, 23, 42, 0.07);
	color: var(--mr-ui-ink) !important;
	margin: 0 !important;
	padding: 10px 0 !important;
}

.mr-participant-summary p:last-child {
	border-bottom: 0 !important;
}

.mr-participant-summary strong {
	color: var(--mr-ui-blue) !important;
	font-weight: 900 !important;
}

.mr-public-form {
	display: grid !important;
	gap: 16px !important;
}

.mr-public-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-top: 8px !important;
}

@media (max-width: 1100px) {
	.mr-app {
		border-radius: 0 !important;
		margin: 0 !important;
		min-height: 100vh !important;
	}

	.mr-app-sidebar {
		min-height: auto !important;
		position: static !important;
	}

	.mr-system-login {
		grid-template-columns: 1fr !important;
		padding: 34px 18px !important;
	}

	.mr-login-brand,
	.mr-login-card {
		justify-self: center !important;
		max-width: 470px !important;
	}
}

@media (max-width: 820px) {
	.mr-app {
		display: block !important;
	}

	.mr-app-sidebar {
		background: linear-gradient(180deg, var(--mr-ui-navy), var(--mr-ui-blue)) !important;
		box-shadow: 0 12px 36px rgba(15, 23, 42, 0.16) !important;
		padding: 14px !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 20 !important;
	}

	.mr-app-brand {
		justify-content: space-between !important;
		margin-bottom: 12px !important;
		padding: 10px !important;
	}

	.mr-app-brand img {
		width: 148px !important;
	}

	.mr-app-brand span {
		font-size: 15px !important;
		padding: 7px 9px !important;
	}

	.mr-app-nav {
		display: flex !important;
		overflow-x: auto !important;
		padding-bottom: 4px !important;
		scroll-snap-type: x proximity !important;
	}

	.mr-app-nav a {
		border-radius: 16px !important;
		min-width: 132px !important;
		padding: 10px 12px !important;
		scroll-snap-align: start !important;
	}

	.mr-app-nav span {
		font-size: 9px !important;
	}

	.mr-app-nav strong {
		font-size: 13px !important;
	}

	.mr-app-main {
		padding: 18px 14px 28px !important;
	}

	.mr-app-topbar,
	.mr-panel-head,
	.mr-app-hero {
		align-items: flex-start !important;
		flex-direction: column !important;
	}

	.mr-app-topbar h1 {
		font-size: 28px !important;
	}

	.mr-app-stats,
	.mr-app-grid,
	.mr-app-form {
		grid-template-columns: 1fr !important;
	}

	.mr-app-table-wrap {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	.mr-app-table,
	.mr-app-table thead,
	.mr-app-table tbody,
	.mr-app-table tr,
	.mr-app-table th,
	.mr-app-table td {
		display: block !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.mr-app-table thead {
		display: none !important;
	}

	.mr-app-table tbody {
		display: grid !important;
		gap: 12px !important;
	}

	.mr-app-table tbody tr,
	.mr-app-table tbody tr:nth-child(even),
	.mr-app-table tbody tr:hover {
		background: rgba(255, 255, 255, 0.82) !important;
		border: 1px solid rgba(15, 23, 42, 0.10) !important;
		border-radius: 20px !important;
		box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
		padding: 8px 0 !important;
	}

	.mr-app-table td {
		align-items: start !important;
		border-bottom: 1px solid rgba(15, 23, 42, 0.07) !important;
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: 104px minmax(0, 1fr) !important;
		padding: 12px 14px !important;
	}

	.mr-app-table td:last-child {
		border-bottom: 0 !important;
	}

	.mr-app-table td::before {
		color: var(--mr-ui-muted) !important;
		content: attr(data-label) !important;
		font-size: 10px !important;
		font-weight: 950 !important;
		letter-spacing: 0.04em !important;
		line-height: 1.2 !important;
		padding-top: 4px !important;
		text-transform: uppercase !important;
	}

	.mr-actions {
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.mr-app-filters {
		align-items: stretch !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	.mr-app-filters input,
	.mr-app-filters select,
	.mr-app-filters button {
		width: 100% !important;
	}

	.mr-confirm-card h1 {
		font-size: 26px !important;
		padding: 24px 22px !important;
	}

	.mr-confirm-card > *:not(h1) {
		margin-left: 22px !important;
		margin-right: 22px !important;
	}
}

@media (max-width: 480px) {
	.mr-app-topbar h1 {
		font-size: 23px !important;
	}

	.mr-login-brand h1 {
		font-size: 30px !important;
	}

	.mr-login-logo img {
		max-width: 230px !important;
	}

	.mr-app-table td {
		grid-template-columns: 82px minmax(0, 1fr) !important;
	}

	.mr-public-actions button,
	.mr-public-link {
		width: 100% !important;
	}
}
/* === MUN Revolution OS UI Presentation Patch 0.2.8 END === */

/* === MUN Revolution OS UI version check START === */
:root {
  --mr-check-gold: #D4AF37;
  --mr-check-gold-deep: #9F7A16;
  --mr-check-navy: #0B1220;
}

/* Marca fija para confirmar que el CSS nuevo cargó en el portal público. */
body.mr-os-portal-body::before,
body .mr-public-shell::before {
  content: "MUN Revolution OS · interfaz cargada";
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 999999;
  display: inline-flex;
  align-items: center;
  max-width: calc(100vw - 28px);
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 55, .48);
  background: linear-gradient(135deg, #0B1220, #172036 55%, #2a2109);
  color: #fff8df;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .25);
  pointer-events: none;
}

body.mr-os-portal-body .mr-app,
body.mr-os-portal-body .mr-auth-card,
body .mr-public-shell .mr-confirm-card {
  border-top: 4px solid var(--mr-check-gold) !important;
}

body.mr-os-portal-body .mr-app-logo,
body.mr-os-portal-body .mr-brand-mark,
body .mr-public-shell .mr-confirm-card h1::after {
  box-shadow: 0 0 0 4px rgba(212, 175, 55, .14), 0 16px 35px rgba(212, 175, 55, .22) !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body button,
body .mr-public-shell button[type="submit"] {
  border-color: rgba(212, 175, 55, .55) !important;
}

@media (max-width: 640px) {
  body.mr-os-portal-body::before,
  body .mr-public-shell::before {
    left: 12px;
    right: 12px;
    justify-content: center;
    font-size: 10px;
    top: 10px;
  }
}
/* === MUN Revolution OS UI version check END === */

/* === MUN Revolution OS UI clear premium START === */
:root {
	--mr-ink: #172033;
	--mr-ink-soft: #253247;
	--mr-slate: #3f4b5f;
	--mr-muted: #667085;
	--mr-line: #e4e1d8;
	--mr-line-strong: #d7d0c3;
	--mr-paper: #f8f6f1;
	--mr-paper-2: #fbfaf7;
	--mr-surface: #ffffff;
	--mr-surface-soft: #fffdf9;
	--mr-gold: #b8871f;
	--mr-gold-soft: #dfc47a;
	--mr-gold-pale: #f6edd3;
	--mr-gold-deep: #7a5a13;
	--mr-focus: rgba(184, 135, 31, 0.20);
	--mr-success: #15803d;
	--mr-danger: #b42318;
	--mr-warning: #b7791f;
	--mr-review: #475569;
	--mr-shadow-xs: 0 1px 2px rgba(23, 32, 51, 0.05);
	--mr-shadow-sm: 0 10px 24px rgba(23, 32, 51, 0.06);
	--mr-shadow-md: 0 18px 42px rgba(23, 32, 51, 0.08);
	--mr-radius-sm: 10px;
	--mr-radius: 16px;
	--mr-radius-lg: 22px;
}

html.wp-toolbar,
body.mr-os-portal-body.admin-bar {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.mr-os-portal-body {
	background:
		radial-gradient(circle at 12% 0%, rgba(184, 135, 31, 0.08), transparent 28%),
		radial-gradient(circle at 100% 12%, rgba(23, 32, 51, 0.05), transparent 32%),
		linear-gradient(180deg, #fbfaf7 0%, #f7f5ef 58%, #f8f7f3 100%) !important;
	color: var(--mr-ink) !important;
	font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	font-size: 14px;
	line-height: 1.45;
	min-height: 100vh;
}

body.mr-os-portal-body::after {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(184, 135, 31, 0.26);
	border-radius: 999px;
	bottom: 16px;
	box-shadow: var(--mr-shadow-xs);
	color: var(--mr-gold-deep);
	content: "Interfaz clara";
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
	padding: 6px 10px;
	position: fixed;
	right: 16px;
	z-index: 9999;
}

body.mr-os-portal-body #wpadminbar {
	display: none !important;
}

/* App shell: claro, sobrio, sin bloque oscuro dominante */
body.mr-os-portal-body .mr-app,
body.mr-os-portal-body .mr-system-login {
	background: transparent !important;
	color: var(--mr-ink) !important;
	font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	min-height: 100vh;
}

body.mr-os-portal-body .mr-app {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	margin: 0 !important;
	overflow: visible !important;
}

body.mr-os-portal-body .mr-app-sidebar {
	backdrop-filter: blur(18px);
	background: rgba(255, 255, 255, 0.78) !important;
	border-right: 1px solid rgba(215, 208, 195, 0.9) !important;
	box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.8) !important;
	min-height: 100vh !important;
	padding: 26px 18px !important;
	position: sticky;
	top: 0;
}

body.mr-os-portal-body .mr-app-brand {
	align-items: flex-start !important;
	background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,253,249,.86));
	border: 1px solid rgba(215, 208, 195, 0.86);
	border-radius: 18px;
	box-shadow: var(--mr-shadow-xs);
	display: grid !important;
	gap: 10px !important;
	margin: 0 0 22px !important;
	padding: 16px !important;
	text-decoration: none;
}

body.mr-os-portal-body .mr-app-brand img {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 182px !important;
}

body.mr-os-portal-body .mr-app-brand span,
body.mr-os-portal-body .mr-login-logo span {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--mr-slate) !important;
	display: block;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	line-height: 1.25;
	padding: 0 !important;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-app-brand span:empty::before,
body.mr-os-portal-body .mr-login-logo span:empty::before {
	content: "Sistema operativo para MUNs";
}

body.mr-os-portal-body .mr-app-brand span::before,
body.mr-os-portal-body .mr-login-logo span::before {
	content: "";
}

/* Navigation: menos cajas pesadas, más estructura */
body.mr-os-portal-body .mr-app-nav {
	display: grid;
	gap: 6px !important;
}

body.mr-os-portal-body .mr-app-nav a {
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: var(--mr-ink-soft) !important;
	display: grid;
	gap: 3px !important;
	padding: 11px 12px 11px 14px !important;
	position: relative;
	text-decoration: none;
	transform: none !important;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.mr-os-portal-body .mr-app-nav a:hover,
body.mr-os-portal-body .mr-app-nav a:focus {
	background: rgba(255, 255, 255, 0.78) !important;
	border-color: rgba(215, 208, 195, 0.86) !important;
	box-shadow: none !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
	background: #fffaf0 !important;
	border-color: rgba(184, 135, 31, 0.28) !important;
	box-shadow: inset 3px 0 0 var(--mr-gold) !important;
}

body.mr-os-portal-body .mr-app-nav span,
body.mr-os-portal-body .mr-app-hero p,
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-login-card > p,
body.mr-os-portal-body .mr-login-copy p {
	color: var(--mr-gold-deep) !important;
	font-size: 10px !important;
	font-weight: 750 !important;
	letter-spacing: .12em !important;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-app-nav strong {
	color: var(--mr-ink-soft) !important;
	font-size: 13.5px !important;
	font-weight: 650 !important;
	line-height: 1.25;
}

/* Main area */
body.mr-os-portal-body .mr-app-main {
	padding: 32px 40px 44px !important;
}

body.mr-os-portal-body .mr-app-topbar {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(215, 208, 195, 0.82) !important;
	box-shadow: none !important;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 22px !important;
	padding: 0 0 18px !important;
}

body.mr-os-portal-body .mr-app-topbar p {
	color: var(--mr-gold-deep) !important;
	font-size: 11px !important;
	font-weight: 750 !important;
	letter-spacing: .12em;
	margin: 0 0 6px !important;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-app-topbar h1 {
	color: var(--mr-ink) !important;
	font-size: clamp(25px, 2.4vw, 34px) !important;
	font-weight: 720 !important;
	letter-spacing: -0.04em;
	line-height: 1.08;
	margin: 0 !important;
}

body.mr-os-portal-body .mr-app-user {
	align-items: center;
	background: #ffffff !important;
	border: 1px solid rgba(215, 208, 195, 0.88) !important;
	border-radius: 14px !important;
	box-shadow: var(--mr-shadow-xs) !important;
	display: flex !important;
	gap: 14px;
	justify-items: initial !important;
	min-width: auto !important;
	padding: 10px 12px !important;
}

body.mr-os-portal-body .mr-app-user span {
	color: var(--mr-ink) !important;
	font-size: 13px;
	font-weight: 650 !important;
}

body.mr-os-portal-body .mr-app-user a {
	color: var(--mr-gold-deep) !important;
	font-size: 13px;
	font-weight: 700 !important;
	text-decoration: none;
}

/* Hero: claro y editorial, no bloque oscuro */
body.mr-os-portal-body .mr-app-hero {
	align-items: center !important;
	background:
		linear-gradient(90deg, rgba(184, 135, 31, 0.12), transparent 38%),
		linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
	border: 1px solid rgba(215, 208, 195, 0.9) !important;
	border-radius: 20px !important;
	box-shadow: var(--mr-shadow-sm) !important;
	display: flex;
	gap: 22px;
	justify-content: space-between;
	margin-bottom: 18px !important;
	padding: 22px 24px !important;
	position: relative;
}

body.mr-os-portal-body .mr-app-hero::before {
	background: var(--mr-gold);
	border-radius: 999px;
	content: "";
	height: calc(100% - 36px);
	left: 0;
	position: absolute;
	top: 18px;
	width: 4px;
}

body.mr-os-portal-body .mr-app-hero h2 {
	color: var(--mr-ink) !important;
	font-size: clamp(23px, 2.3vw, 32px) !important;
	font-weight: 720 !important;
	letter-spacing: -0.045em;
	line-height: 1.12;
	margin: 5px 0 0 !important;
	max-width: 650px;
}

body.mr-os-portal-body .mr-app-quick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px !important;
	justify-content: flex-end;
	max-width: 560px;
}

/* Button system: menos dorado sólido, más jerarquía */
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-app-form button,
body.mr-os-portal-body .mr-upload-box button,
body.mr-os-portal-body .mr-login-card button,
body.mr-os-portal-body .mr-actions button {
	background: var(--mr-ink) !important;
	border: 1px solid var(--mr-ink) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	cursor: pointer;
	font-size: 13px !important;
	font-weight: 650 !important;
	letter-spacing: 0 !important;
	min-height: 36px;
	padding: 9px 13px !important;
	text-shadow: none !important;
	transform: none !important;
	transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
	white-space: nowrap;
}

body.mr-os-portal-body .mr-app-button:hover,
body.mr-os-portal-body .mr-app-filters button:hover,
body.mr-os-portal-body .mr-app-form button:hover,
body.mr-os-portal-body .mr-upload-box button:hover,
body.mr-os-portal-body .mr-login-card button:hover,
body.mr-os-portal-body .mr-actions button:hover {
	background: var(--mr-ink-soft) !important;
	border-color: var(--mr-ink-soft) !important;
	box-shadow: 0 8px 18px rgba(23, 32, 51, 0.14) !important;
	filter: none !important;
}

body.mr-os-portal-body .mr-app-quick a,
body.mr-os-portal-body .mr-actions a {
	background: #ffffff !important;
	border: 1px solid rgba(215, 208, 195, 0.95) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: var(--mr-ink-soft) !important;
	display: inline-flex;
	font-size: 13px !important;
	font-weight: 650 !important;
	line-height: 1;
	min-height: 36px;
	padding: 9px 13px !important;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.mr-os-portal-body .mr-app-quick a:hover,
body.mr-os-portal-body .mr-actions a:hover,
body.mr-os-portal-body .mr-app-quick a:focus,
body.mr-os-portal-body .mr-actions a:focus {
	background: var(--mr-gold-pale) !important;
	border-color: rgba(184, 135, 31, 0.34) !important;
	color: var(--mr-gold-deep) !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-upload-box button {
	background: var(--mr-gold-deep) !important;
	border-color: var(--mr-gold-deep) !important;
}

body.mr-os-portal-body .mr-actions .mr-action-checked_in {
	background: var(--mr-success) !important;
	border-color: var(--mr-success) !important;
}

body.mr-os-portal-body .mr-actions .mr-action-absent {
	background: var(--mr-danger) !important;
	border-color: var(--mr-danger) !important;
}

body.mr-os-portal-body .mr-actions .mr-action-requires_review {
	background: var(--mr-review) !important;
	border-color: var(--mr-review) !important;
}

/* Cards and stats */
body.mr-os-portal-body .mr-app-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	gap: 14px !important;
	margin-bottom: 18px !important;
}

body.mr-os-portal-body .mr-app-stats div {
	background: #ffffff !important;
	border: 1px solid rgba(215, 208, 195, 0.9) !important;
	border-radius: 16px !important;
	box-shadow: var(--mr-shadow-xs) !important;
	color: var(--mr-muted) !important;
	font-size: 13px;
	font-weight: 650 !important;
	min-height: auto !important;
	padding: 16px 16px 15px !important;
	position: relative;
}

body.mr-os-portal-body .mr-app-stats div::before {
	background: var(--mr-gold);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	left: 16px;
	position: absolute;
	top: 0;
	width: 40px;
}

body.mr-os-portal-body .mr-app-stats div:nth-child(2)::before { background: var(--mr-success); }
body.mr-os-portal-body .mr-app-stats div:nth-child(3)::before { background: var(--mr-warning); }
body.mr-os-portal-body .mr-app-stats div:nth-child(4)::before { background: var(--mr-danger); }

body.mr-os-portal-body .mr-app-stats span {
	color: var(--mr-ink) !important;
	display: block;
	font-size: clamp(28px, 3vw, 38px) !important;
	font-weight: 720 !important;
	letter-spacing: -0.055em;
	line-height: 1;
	margin-bottom: 6px !important;
}

body.mr-os-portal-body .mr-glass-panel {
	background: #ffffff !important;
	border: 1px solid rgba(215, 208, 195, 0.9) !important;
	border-radius: 20px !important;
	box-shadow: var(--mr-shadow-xs) !important;
	margin-bottom: 18px !important;
	padding: 22px !important;
}

body.mr-os-portal-body .mr-app-grid {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
	gap: 16px !important;
}

body.mr-os-portal-body .mr-panel-head {
	align-items: center !important;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin-bottom: 16px !important;
}

body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-glass-panel h2,
body.mr-os-portal-body .mr-glass-panel h3,
body.mr-os-portal-body .mr-login-card h2 {
	color: var(--mr-ink) !important;
	font-size: clamp(20px, 1.8vw, 27px) !important;
	font-weight: 720 !important;
	letter-spacing: -0.04em;
	line-height: 1.12;
	margin: 0 0 12px !important;
}

body.mr-os-portal-body .mr-panel-head h2 { margin-bottom: 0 !important; }

body.mr-os-portal-body .mr-compact-list {
	display: grid;
	gap: 8px !important;
}

body.mr-os-portal-body .mr-compact-list div,
body.mr-os-portal-body .mr-app-empty {
	background: var(--mr-surface-soft) !important;
	border: 1px solid rgba(215, 208, 195, 0.8) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	padding: 11px 13px !important;
}

body.mr-os-portal-body .mr-compact-list strong,
body.mr-os-portal-body .mr-compact-list a {
	color: var(--mr-gold-deep) !important;
	font-weight: 720 !important;
	text-decoration: none;
}

/* Forms */
body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-upload-box {
	align-items: center;
	background: var(--mr-surface-soft);
	border: 1px solid rgba(215, 208, 195, 0.85);
	border-radius: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 9px !important;
	margin-bottom: 14px !important;
	padding: 10px;
}

body.mr-os-portal-body .mr-app-filters input,
body.mr-os-portal-body .mr-app-filters select,
body.mr-os-portal-body .mr-app-form input,
body.mr-os-portal-body .mr-app-form select,
body.mr-os-portal-body .mr-app-form textarea,
body.mr-os-portal-body .mr-upload-box input,
body.mr-os-portal-body .mr-app-notice input,
body.mr-os-portal-body .mr-login-card input[type="text"],
body.mr-os-portal-body .mr-login-card input[type="password"],
.mr-confirm-card .mr-public-form input {
	background: #ffffff !important;
	border: 1px solid rgba(199, 193, 181, 0.95) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: var(--mr-ink) !important;
	font-size: 14px !important;
	min-height: 38px;
	outline: none;
	padding: 9px 11px !important;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.mr-os-portal-body .mr-app-filters input:focus,
body.mr-os-portal-body .mr-app-filters select:focus,
body.mr-os-portal-body .mr-app-form input:focus,
body.mr-os-portal-body .mr-app-form select:focus,
body.mr-os-portal-body .mr-app-form textarea:focus,
body.mr-os-portal-body .mr-login-card input[type="text"]:focus,
body.mr-os-portal-body .mr-login-card input[type="password"]:focus,
.mr-confirm-card .mr-public-form input:focus {
	border-color: rgba(184, 135, 31, 0.65) !important;
	box-shadow: 0 0 0 4px var(--mr-focus) !important;
}

body.mr-os-portal-body .mr-app-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 14px;
}

body.mr-os-portal-body .mr-app-form label {
	color: var(--mr-ink-soft);
	display: grid;
	font-size: 13px;
	font-weight: 650 !important;
	gap: 6px;
}

/* Tables */
body.mr-os-portal-body .mr-app-table-wrap {
	background: #ffffff !important;
	border: 1px solid rgba(215, 208, 195, 0.9) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	overflow-x: auto;
}

body.mr-os-portal-body .mr-app-table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	font-size: 14px !important;
	min-width: 860px;
	width: 100%;
}

body.mr-os-portal-body .mr-app-table thead th {
	background: #f8f6f1 !important;
	border-bottom: 1px solid rgba(215, 208, 195, 0.9) !important;
	color: var(--mr-slate) !important;
	font-size: 11px !important;
	font-weight: 720 !important;
	letter-spacing: .07em;
	padding: 13px 15px !important;
	text-align: left;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-app-table td {
	background: #ffffff !important;
	border-bottom: 1px solid rgba(228, 225, 216, 0.86) !important;
	color: var(--mr-ink-soft) !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	padding: 13px 15px !important;
	vertical-align: middle;
}

body.mr-os-portal-body .mr-app-table tbody tr:hover td {
	background: #fffdf8 !important;
}

body.mr-os-portal-body .mr-app-table tbody tr:last-child td {
	border-bottom: 0 !important;
}

body.mr-os-portal-body .mr-app-table td > strong {
	color: var(--mr-ink) !important;
	display: block;
	font-size: 14px !important;
	font-weight: 680 !important;
	letter-spacing: -0.01em;
}

body.mr-os-portal-body .mr-app-table td > span:not(.mr-status),
body.mr-os-portal-body .mr-app-table td span:not(.mr-status) {
	color: var(--mr-muted) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	margin-top: 3px;
}

/* Badges */
body.mr-os-portal-body .mr-status,
body.mr-os-portal-body .mr-app-table td .mr-status {
	align-items: center;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	font-size: 11px !important;
	font-weight: 720 !important;
	line-height: 1;
	margin: 0 !important;
	padding: 6px 9px !important;
	width: fit-content;
}

body.mr-os-portal-body .mr-status-loaded {
	background: #eef2ff !important;
	border-color: #c7d2fe !important;
	color: #3730a3 !important;
}

body.mr-os-portal-body .mr-status-invited,
body.mr-os-portal-body .mr-status-pending,
body.mr-os-portal-body .mr-status-pending_confirmation {
	background: #fff7e6 !important;
	border-color: #edd69a !important;
	color: #8a5a0a !important;
}

body.mr-os-portal-body .mr-status-confirmed,
body.mr-os-portal-body .mr-status-checked_in {
	background: #edf9f1 !important;
	border-color: #b8dec5 !important;
	color: #126b38 !important;
}

body.mr-os-portal-body .mr-status-declined,
body.mr-os-portal-body .mr-status-absent {
	background: #fff1f1 !important;
	border-color: #efb4b4 !important;
	color: #a12121 !important;
}

body.mr-os-portal-body .mr-status-requires_review {
	background: #f1f5f9 !important;
	border-color: #cbd5e1 !important;
	color: #475569 !important;
}

body.mr-os-portal-body .mr-status-replaced {
	background: #f7f7f7 !important;
	border-color: #d7d7d7 !important;
	color: #525252 !important;
}

/* Committee and country chips */
body.mr-os-portal-body .mr-country,
body.mr-os-portal-body .mr-committee {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: inline-flex;
	gap: 9px;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-committee-mark {
	align-items: center;
	background: var(--mr-ink-soft) !important;
	border: 0 !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	display: inline-flex !important;
	font-size: 10px !important;
	font-weight: 720 !important;
	height: 28px !important;
	justify-content: center;
	letter-spacing: .02em;
	line-height: 1;
	margin: 0 !important;
	min-width: 28px !important;
	padding: 0 7px !important;
}

body.mr-os-portal-body .mr-committee > span:last-child,
body.mr-os-portal-body .mr-country > span:last-child {
	color: var(--mr-ink-soft) !important;
	font-size: 13px !important;
	font-weight: 650 !important;
	margin: 0 !important;
}

body.mr-os-portal-body .mr-country-flag {
	background: transparent !important;
	box-shadow: none !important;
	font-size: 18px !important;
	height: auto !important;
	width: auto !important;
}

/* Public confirmation */
.mr-public-shell {
	background:
		radial-gradient(circle at 14% 0%, rgba(184, 135, 31, 0.08), transparent 32%),
		linear-gradient(180deg, #fbfaf7 0%, #f7f5ef 100%) !important;
	padding: 58px 16px !important;
}

.mr-confirm-card {
	background: #ffffff !important;
	border: 1px solid rgba(215, 208, 195, 0.9) !important;
	border-radius: 22px !important;
	box-shadow: var(--mr-shadow-md) !important;
	color: var(--mr-ink) !important;
	max-width: 760px !important;
	padding: 34px !important;
}

.mr-confirm-card h1 {
	color: var(--mr-ink) !important;
	font-size: clamp(28px, 3vw, 38px) !important;
	font-weight: 720 !important;
	letter-spacing: -0.045em;
	line-height: 1.08;
	margin: 0 0 20px !important;
}

.mr-participant-summary {
	background: var(--mr-surface-soft) !important;
	border: 1px solid rgba(215, 208, 195, 0.85) !important;
	border-radius: 16px !important;
	margin-bottom: 22px;
	padding: 18px !important;
}

.mr-public-form label {
	color: var(--mr-ink-soft);
	font-size: 13px;
	font-weight: 650 !important;
}

.mr-public-actions button,
.mr-public-link {
	background: var(--mr-ink) !important;
	border: 1px solid var(--mr-ink) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	font-weight: 650 !important;
	padding: 11px 16px !important;
}

.mr-public-actions .mr-secondary,
.mr-secondary-link {
	background: #ffffff !important;
	border-color: rgba(199, 193, 181, 0.95) !important;
	color: var(--mr-ink-soft) !important;
}

/* Login */
body.mr-os-portal-body .mr-system-login {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(320px, 480px) minmax(340px, 430px) !important;
	gap: 54px !important;
	justify-content: center;
	padding: 56px 28px !important;
}

body.mr-os-portal-body .mr-login-brand,
body.mr-os-portal-body .mr-login-card {
	justify-self: center !important;
	max-width: 480px !important;
}

body.mr-os-portal-body .mr-login-logo {
	align-items: flex-start !important;
	display: grid !important;
	gap: 12px !important;
	margin-bottom: 28px !important;
}

body.mr-os-portal-body .mr-login-logo img {
	max-width: 360px !important;
	width: min(100%, 360px) !important;
}

body.mr-os-portal-body .mr-login-brand h1 {
	color: var(--mr-ink) !important;
	font-size: clamp(32px, 3vw, 44px) !important;
	font-weight: 720 !important;
	letter-spacing: -0.055em;
	line-height: 1.04;
	margin: 0 0 12px !important;
}

body.mr-os-portal-body .mr-login-copy {
	border-left: 3px solid var(--mr-gold) !important;
	padding-left: 18px !important;
}

body.mr-os-portal-body .mr-login-copy span {
	color: var(--mr-muted) !important;
	font-size: 15px !important;
	font-weight: 480 !important;
	line-height: 1.55;
}

body.mr-os-portal-body .mr-login-card {
	background: #ffffff !important;
	border: 1px solid rgba(215, 208, 195, 0.9) !important;
	border-radius: 22px !important;
	box-shadow: var(--mr-shadow-sm) !important;
	padding: 30px !important;
}

body.mr-os-portal-body .mr-login-card button {
	min-height: 42px;
	width: 100%;
}

@media (max-width: 1100px) {
	body.mr-os-portal-body .mr-app {
		grid-template-columns: 1fr;
	}

	body.mr-os-portal-body .mr-app-sidebar {
		border-bottom: 1px solid rgba(215, 208, 195, 0.9) !important;
		border-right: 0 !important;
		min-height: auto !important;
		position: sticky;
		z-index: 20;
	}

	body.mr-os-portal-body .mr-app-brand {
		align-items: center !important;
		display: flex !important;
		justify-content: space-between;
		margin-bottom: 12px !important;
		padding: 12px !important;
	}

	body.mr-os-portal-body .mr-app-brand img {
		width: 158px !important;
	}

	body.mr-os-portal-body .mr-app-nav {
		display: flex;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	body.mr-os-portal-body .mr-app-nav a {
		min-width: 136px;
	}

	body.mr-os-portal-body .mr-system-login {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}

@media (max-width: 760px) {
	body.mr-os-portal-body .mr-app-main,
	body.mr-os-portal-body .mr-app-sidebar {
		padding: 16px !important;
	}

	body.mr-os-portal-body .mr-app-topbar,
	body.mr-os-portal-body .mr-app-hero,
	body.mr-os-portal-body .mr-panel-head {
		align-items: flex-start !important;
		flex-direction: column !important;
	}

	body.mr-os-portal-body .mr-app-topbar {
		gap: 12px;
	}

	body.mr-os-portal-body .mr-app-user {
		justify-content: space-between;
		width: 100%;
	}

	body.mr-os-portal-body .mr-app-stats,
	body.mr-os-portal-body .mr-app-grid,
	body.mr-os-portal-body .mr-app-form {
		grid-template-columns: 1fr !important;
	}

	body.mr-os-portal-body .mr-app-quick {
		justify-content: flex-start;
		max-width: 100%;
	}

	body.mr-os-portal-body .mr-app-filters {
		display: grid;
		grid-template-columns: 1fr;
	}

	body.mr-os-portal-body .mr-app-filters input,
	body.mr-os-portal-body .mr-app-filters select,
	body.mr-os-portal-body .mr-app-filters button {
		width: 100%;
	}

	body.mr-os-portal-body .mr-app-table-wrap {
		background: transparent !important;
		border: 0 !important;
	}

	body.mr-os-portal-body .mr-app-table,
	body.mr-os-portal-body .mr-app-table thead,
	body.mr-os-portal-body .mr-app-table tbody,
	body.mr-os-portal-body .mr-app-table tr,
	body.mr-os-portal-body .mr-app-table th,
	body.mr-os-portal-body .mr-app-table td {
		display: block;
		min-width: 0;
		width: 100%;
	}

	body.mr-os-portal-body .mr-app-table thead {
		display: none;
	}

	body.mr-os-portal-body .mr-app-table tbody {
		display: grid;
		gap: 12px;
	}

	body.mr-os-portal-body .mr-app-table tbody tr {
		background: #ffffff !important;
		border: 1px solid rgba(215, 208, 195, 0.9);
		border-radius: 16px;
		box-shadow: var(--mr-shadow-xs);
		display: grid;
		overflow: hidden;
	}

	body.mr-os-portal-body .mr-app-table td {
		border-bottom: 1px solid rgba(228, 225, 216, 0.9) !important;
		display: grid;
		gap: 8px;
		grid-template-columns: 96px minmax(0, 1fr);
		padding: 11px 13px !important;
	}

	body.mr-os-portal-body .mr-app-table td::before {
		color: var(--mr-muted);
		content: attr(data-label);
		font-size: 10px;
		font-weight: 720;
		letter-spacing: .08em;
		line-height: 1.2;
		padding-top: 3px;
		text-transform: uppercase;
	}
}

@media (max-width: 440px) {
	body.mr-os-portal-body .mr-app-brand {
		align-items: flex-start !important;
		flex-direction: column;
	}

	body.mr-os-portal-body .mr-app-table td {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	body.mr-os-portal-body::after {
		bottom: 10px;
		right: 10px;
	}
}
/* === MUN Revolution OS UI clear premium END === */

/* MUN Revolution OS operational modules */
.mr-scan-box,
.mr-pass-qr {
	background: linear-gradient(135deg, #fffdf7 0%, #f7f3e8 100%);
	border: 1px solid rgba(184, 138, 27, 0.24);
	border-radius: 22px;
	padding: 18px;
	margin: 18px 0;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}
.mr-scan-box {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: center;
}
.mr-scan-box p,
.mr-pass-qr p { margin: 6px 0 0; color: #64748b; }
.mr-scan-box input { width: 100%; min-height: 44px; border-radius: 14px; border: 1px solid #e5e7eb; padding: 0 14px; }
.mr-scan-box button,
.mr-inline-form button { min-height: 42px; border: 0; border-radius: 999px; padding: 0 16px; background: #1e293b; color: #fff; font-weight: 800; cursor: pointer; }
.mr-scan-video { grid-column: 1 / -1; width: 100%; max-height: 340px; border-radius: 18px; background: #0f172a; }
.mr-scan-status { grid-column: 1 / -1; font-weight: 700; }
.mr-pass-card,
.mr-certificate-card { max-width: 860px; }
.mr-pass-qr { text-align: center; }
.mr-pass-qr img { width: min(320px, 100%); height: auto; border-radius: 18px; background: #fff; padding: 12px; border: 1px solid #eee3c6; }
.mr-certificate-card { text-align: center; border: 1px solid rgba(184, 138, 27, 0.32); }
.mr-certificate-card h2 { font-size: clamp(2rem, 6vw, 4rem); margin: 16px 0; color: #0f172a; }
.mr-certificate-lead { color: #8a6a14; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.mr-inline-form { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 8px; align-items: end; }
.mr-inline-form label { font-size: .75rem; font-weight: 800; color: #475569; }
.mr-inline-form input { width: 100%; min-height: 36px; border: 1px solid #e5e7eb; border-radius: 12px; padding: 0 10px; }
.mr-status-suggested,
.mr-status-open,
.mr-status-review,
.mr-status-needs_revision,
.mr-status-pending,
.mr-status-waitlisted { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.mr-status-validated,
.mr-status-approved,
.mr-status-final,
.mr-status-resolved,
.mr-status-closed,
.mr-status-sent,
.mr-status-present { background: #ecfdf5; color: #047857; border-color: #bbf7d0; }
.mr-status-rejected,
.mr-status-critical,
.mr-status-failed { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.mr-status-high,
.mr-status-escalated { background: #fff1f2; color: #be123c; border-color: #fecdd3; }
.mr-status-medium,
.mr-status-late { background: #fffbeb; color: #92400e; border-color: #fde68a; }
@media (max-width: 860px) {
	.mr-scan-box { grid-template-columns: 1fr; }
	.mr-inline-form { grid-template-columns: 1fr; }
}
@media print {
	.mr-public-shell { background: #fff !important; padding: 0 !important; }
	.mr-confirm-card { box-shadow: none !important; border: 1px solid #d8c58e !important; }
	.mr-confirm-actions { display: none !important; }
}

/* MUN Revolution OS navegacion inteligente por secciones */
.mr-section-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 22px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .05);
  backdrop-filter: blur(14px);
}

.mr-section-tabs a {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  min-width: 118px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid transparent;
  color: #475569;
  text-decoration: none;
  transition: all .18s ease;
}

.mr-section-tabs a span {
  color: #9a7416;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mr-section-tabs a strong {
  color: #1e293b;
  font-size: 14px;
  font-weight: 750;
}

.mr-section-tabs a:hover {
  border-color: rgba(184, 138, 27, .24);
  background: rgba(248, 245, 235, .8);
  transform: translateY(-1px);
}

.mr-section-tabs a.is-active {
  border-color: rgba(184, 138, 27, .36);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(247, 241, 221, .94));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 10px 25px rgba(184, 138, 27, .1);
}

.mr-section-tabs a.is-active strong {
  color: #0f172a;
}

.mr-app-nav a strong {
  font-size: 15px;
}

.mr-app-nav a span {
  font-size: 10px;
}

@media (max-width: 760px) {
  .mr-section-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 7px;
    border-radius: 18px;
  }
  .mr-section-tabs a {
    min-width: 132px;
  }
}

/* MUN Revolution OS sesiones, pase de lista y quorum */
.mr-session-board {
  display: grid;
  gap: 24px;
}
.mr-session-board__header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  padding: 28px;
  border: 1px solid rgba(184, 138, 27, .22);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,246,240,.92));
  box-shadow: 0 18px 50px rgba(15, 23, 42, .06);
}
.mr-kicker,
.mr-session-board__header .mr-kicker {
  margin: 0 0 8px;
  color: #8a6a14;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
}
.mr-session-board__header h2 {
  margin: 0 0 10px;
  color: #111827;
  font-size: clamp(30px, 3vw, 44px);
  letter-spacing: -.04em;
  line-height: 1.03;
}
.mr-session-live-badge {
  min-width: 220px;
  padding: 16px 18px;
  border-radius: 20px;
  background: #111827;
  color: #fff;
  box-shadow: 0 16px 36px rgba(17, 24, 39, .14);
}
.mr-session-live-badge span {
  display: block;
  color: #e7d8a3;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mr-session-live-badge strong {
  display: block;
  margin-top: 5px;
  font-size: 18px;
}
.mr-session-layout {
  display: grid;
  grid-template-columns: minmax(300px, .85fr) minmax(300px, 1fr);
  gap: 20px;
  align-items: stretch;
}
.mr-session-create-panel,
.mr-session-status-panel,
.mr-rollcall-card {
  border-radius: 28px !important;
}
.mr-compact-form {
  gap: 14px;
}
.mr-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.mr-app-empty--success {
  border-color: rgba(22, 163, 74, .25) !important;
  background: rgba(240, 253, 244, .75) !important;
}
.mr-rollcall-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.mr-rollcall-head h2 {
  margin: 0;
  color: #111827;
  font-size: clamp(28px, 2.5vw, 40px);
  letter-spacing: -.04em;
}
.mr-rollcall-list {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}
.mr-rollcall-row {
  display: grid;
  grid-template-columns: minmax(160px, .7fr) minmax(220px, .9fr) minmax(420px, 1.6fr);
  align-items: center;
  gap: 18px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .035);
}
.mr-rollcall-country strong,
.mr-rollcall-person {
  color: #111827;
  font-weight: 800;
}
.mr-rollcall-country span {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
}
.mr-rollcall-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.mr-rollcall-option {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.mr-rollcall-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.mr-rollcall-option span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  transition: .18s ease;
}
.mr-rollcall-option input:checked + span {
  border-color: rgba(184, 138, 27, .55);
  background: #111827;
  color: #fff;
  box-shadow: 0 10px 22px rgba(17, 24, 39, .12);
}
.mr-rollcall-option--present_voting input:checked + span,
.mr-rollcall-option--present input:checked + span {
  background: #166534;
  border-color: #166534;
}
.mr-rollcall-option--late input:checked + span {
  background: #92400e;
  border-color: #92400e;
}
.mr-rollcall-option--absent input:checked + span {
  background: #991b1b;
  border-color: #991b1b;
}
.mr-rollcall-option--excused input:checked + span {
  background: #475569;
  border-color: #475569;
}
.mr-button-primary,
.mr-button-secondary {
  border-radius: 14px;
  font-weight: 850;
  letter-spacing: -.01em;
}
.mr-button-primary {
  background: #111827 !important;
  color: #fff !important;
  border: 1px solid #111827 !important;
}
.mr-button-secondary {
  background: #fff !important;
  color: #111827 !important;
  border: 1px solid rgba(15, 23, 42, .14) !important;
}
@media (max-width: 1100px) {
  .mr-session-layout,
  .mr-rollcall-row {
    grid-template-columns: 1fr;
  }
  .mr-rollcall-options {
    justify-content: flex-start;
  }
}
@media (max-width: 680px) {
  .mr-session-board__header {
    flex-direction: column;
    padding: 22px;
  }
  .mr-form-row {
    grid-template-columns: 1fr;
  }
  .mr-rollcall-option span {
    min-height: 38px;
    padding: 0 10px;
    font-size: 12px;
  }
}

/* MUN Revolution OS pase de lista premium y evaluacion firmada */
.mr-session-board {
  display: grid;
  gap: 26px;
}
.mr-session-board__header {
  border: 1px solid rgba(185, 145, 45, .24);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 12%, rgba(198, 157, 56, .14), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(250,248,242,.92));
  box-shadow: 0 22px 70px rgba(15, 23, 42, .07);
}
.mr-session-layout {
  grid-template-columns: minmax(300px, .72fr) minmax(320px, 1fr);
  align-items: stretch;
}
.mr-session-create-panel,
.mr-session-status-panel,
.mr-rollcall-card,
.mr-final-evaluation-panel {
  border-color: rgba(193, 160, 91, .26) !important;
  box-shadow: 0 20px 60px rgba(15, 23, 42, .055) !important;
}
.mr-session-create-panel .mr-app-form,
.mr-final-evaluation-form {
  max-width: 100%;
}
.mr-session-create-panel input,
.mr-session-create-panel textarea {
  min-width: 0;
}
.mr-rollcall-card {
  padding: 34px !important;
}
.mr-rollcall-head {
  align-items: center;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  padding-bottom: 20px;
  margin-bottom: 22px;
}
.mr-rollcall-head h2 {
  letter-spacing: -.04em;
  font-size: clamp(32px, 4vw, 54px);
  line-height: .95;
}
.mr-rollcall-list {
  border: 0;
  display: grid;
  gap: 14px;
}
.mr-rollcall-row {
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(260px, 1fr) minmax(520px, 1.25fr);
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 22px;
  background: linear-gradient(135deg, #fff, #fffdf8);
  box-shadow: 0 12px 32px rgba(15, 23, 42, .035);
}
.mr-rollcall-delegation {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.mr-rollcall-flag {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: #f8f5ec;
  border: 1px solid rgba(185, 145, 45, .22);
  font-size: 29px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.mr-rollcall-country strong,
.mr-rollcall-person strong {
  display: block;
  color: #111827;
  font-weight: 850;
  letter-spacing: -.018em;
}
.mr-rollcall-country span,
.mr-rollcall-person span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mr-rollcall-options {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.mr-rollcall-option span {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 16px;
  border-color: rgba(15, 23, 42, .12);
  background: rgba(255,255,255,.96);
  box-shadow: 0 6px 18px rgba(15, 23, 42, .035);
  color: #334155;
  font-size: 13px;
}
.mr-rollcall-option input:checked + span {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(17, 24, 39, .12);
}
.mr-rollcall-option--present input:checked + span,
.mr-rollcall-option--present_voting input:checked + span {
  background: #146c3a;
  border-color: #146c3a;
}
.mr-rollcall-option--late input:checked + span {
  background: #b7791f;
  border-color: #b7791f;
}
.mr-rollcall-option--absent input:checked + span {
  background: #b42318;
  border-color: #b42318;
}
.mr-rollcall-option--excused input:checked + span {
  background: #475569;
  border-color: #475569;
}
.mr-evaluation-guidance {
  display: grid;
  gap: 4px;
  margin: 18px 0 26px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(185, 145, 45, .24);
  background: linear-gradient(135deg, #fffaf0, #ffffff);
  color: #475569;
}
.mr-evaluation-guidance strong {
  color: #8a6510;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
}
.mr-score-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 14px;
}
.mr-score-card {
  display: grid !important;
  gap: 10px;
  align-content: start;
  padding: 18px !important;
  border-radius: 20px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .035);
}
.mr-score-card > span {
  color: #111827;
  font-weight: 850;
  font-size: 16px;
}
.mr-score-card input {
  max-width: 110px;
  font-size: 22px;
  font-weight: 850;
  color: #111827;
  text-align: center;
}
.mr-score-card small {
  color: #64748b;
  font-weight: 650;
  line-height: 1.45;
}
.mr-signature-box {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding: 22px;
  border: 1px solid rgba(185, 145, 45, .28);
  border-radius: 24px;
  background: linear-gradient(135deg, #fffdf6, #ffffff);
}
.mr-signature-box h3 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 22px;
  letter-spacing: -.025em;
}
.mr-signature-box p {
  margin: 0 0 16px;
  color: #64748b;
}
.mr-integrity-check {
  display: grid !important;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: start;
  margin-top: 14px;
  padding: 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
  color: #334155;
  font-weight: 700;
  line-height: 1.45;
}
.mr-integrity-check input {
  width: 18px;
  height: 18px;
  margin-top: 3px;
}
.mr-app-empty--warning {
  border-color: rgba(217, 119, 6, .25) !important;
  background: #fffbeb !important;
}
@media (max-width: 1200px) {
  .mr-rollcall-row {
    grid-template-columns: 1fr;
  }
  .mr-rollcall-options {
    justify-content: flex-start;
  }
  .mr-score-grid {
    grid-template-columns: repeat(2, minmax(170px, 1fr));
  }
}
@media (max-width: 720px) {
  .mr-rollcall-card {
    padding: 22px !important;
  }
  .mr-rollcall-row {
    padding: 16px;
  }
  .mr-score-grid {
    grid-template-columns: 1fr;
  }
  .mr-rollcall-flag {
    width: 48px;
    height: 48px;
    font-size: 26px;
  }
}

/* MUN Revolution OS ranking readiness and Mesa evaluation ledger */
.mr-evaluation-ledger {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(184, 138, 27, 0.18);
}
.mr-readiness-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 22px;
}
.mr-readiness-grid > div {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,247,239,.92));
  border: 1px solid rgba(184, 138, 27, .18);
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
  color: #475569;
  font-weight: 700;
}
.mr-readiness-grid span {
  display: block;
  color: #111827;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.05;
  margin-bottom: 6px;
  letter-spacing: -0.04em;
}
.mr-ranking-panel .mr-app-table td strong + span,
.mr-ranking-panel .mr-app-table td strong + span + small {
  display: block;
  margin-top: 6px;
}
.mr-ranking-panel .mr-app-table small {
  color: #64748b;
  font-weight: 700;
}
@media (max-width: 900px) {
  .mr-readiness-grid { grid-template-columns: 1fr; }
}

/* === MUN Revolution OS 0.5.1-ui institutional visual system START === */
:root {
	--mr-bg: #f7f5ef;
	--mr-surface: #ffffff;
	--mr-surface-soft: #fbfaf7;
	--mr-text: #111827;
	--mr-muted: #667085;
	--mr-border: #e5e0d6;
	--mr-gold: #b88a1b;
	--mr-gold-soft: #e7d8a3;
	--mr-gold-light: #f6ebc5;
	--mr-ink: #151a2d;
	--mr-success: #166534;
	--mr-warning: #b45309;
	--mr-danger: #b91c1c;
	--mr-info: #1d4ed8;
	--mr-radius: 18px;
	--mr-radius-sm: 12px;
	--mr-shadow-xs: 0 1px 2px rgba(17, 24, 39, 0.05);
	--mr-shadow-sm: 0 14px 38px rgba(17, 24, 39, 0.08);
}

body.mr-os-portal-body,
body.mr-os-portal-body .mr-app,
body.mr-os-portal-body .mr-system-login,
.mr-public-shell {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(247, 245, 239, 0.96)), var(--mr-bg) !important;
	color: var(--mr-text) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: 0 !important;
}

body.mr-os-portal-body * {
	box-sizing: border-box;
}

body.mr-os-portal-body :focus-visible,
.mr-public-shell :focus-visible {
	border-radius: 10px;
	box-shadow: 0 0 0 4px rgba(184, 138, 27, 0.22) !important;
	outline: 2px solid rgba(184, 138, 27, 0.72) !important;
	outline-offset: 2px;
}

body.mr-os-portal-body .mr-app {
	grid-template-columns: 276px minmax(0, 1fr) !important;
	min-height: 100dvh;
}

body.mr-os-portal-body .mr-app-sidebar {
	background: rgba(255, 255, 255, 0.88) !important;
	border-right: 1px solid var(--mr-border) !important;
	box-shadow: 18px 0 48px rgba(21, 26, 45, 0.05) !important;
	min-height: 100dvh;
	padding: 22px 16px !important;
}

body.mr-os-portal-body .mr-app-brand {
	background: transparent !important;
	border: 0 !important;
	gap: 10px !important;
	margin: 0 0 22px !important;
	padding: 8px 6px !important;
}

body.mr-os-portal-body .mr-app-brand img {
	max-width: 178px !important;
	width: 178px !important;
}

body.mr-os-portal-body .mr-app-brand span,
body.mr-os-portal-body .mr-login-logo span {
	background: var(--mr-ink) !important;
	border: 1px solid rgba(184, 138, 27, 0.28) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: var(--mr-gold-light) !important;
	font-size: 16px !important;
	font-weight: 850 !important;
	padding: 8px 10px !important;
}

body.mr-os-portal-body .mr-app-nav {
	gap: 7px !important;
}

body.mr-os-portal-body .mr-app-nav a {
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	color: var(--mr-text) !important;
	gap: 5px !important;
	padding: 12px 13px !important;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.mr-os-portal-body .mr-app-nav a:hover,
body.mr-os-portal-body .mr-app-nav a:focus {
	background: rgba(246, 235, 197, 0.34) !important;
	border-color: rgba(184, 138, 27, 0.2) !important;
	transform: translateY(-1px);
}

body.mr-os-portal-body .mr-app-nav a.is-active {
	background: linear-gradient(135deg, rgba(246, 235, 197, 0.72), rgba(255, 255, 255, 0.84)) !important;
	border-color: rgba(184, 138, 27, 0.3) !important;
	box-shadow: inset 3px 0 0 var(--mr-gold), var(--mr-shadow-xs) !important;
}

body.mr-os-portal-body .mr-app-nav span,
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-app-hero p,
body.mr-os-portal-body .mr-kicker {
	color: #72540d !important;
	font-size: 10px !important;
	font-weight: 820 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-app-nav strong {
	color: var(--mr-ink) !important;
	font-size: 14px !important;
	font-weight: 720 !important;
}

body.mr-os-portal-body .mr-app-main {
	padding: clamp(18px, 3vw, 34px) !important;
}

body.mr-os-portal-body .mr-app-topbar {
	border-bottom: 1px solid rgba(229, 224, 214, 0.82);
	margin: 0 0 24px !important;
	padding: 0 0 18px;
}

body.mr-os-portal-body .mr-app-topbar p {
	color: var(--mr-muted) !important;
	font-size: 13px;
	font-weight: 680;
}

body.mr-os-portal-body .mr-app-topbar h1 {
	color: var(--mr-ink) !important;
	font-size: clamp(27px, 3vw, 42px) !important;
	font-weight: 760 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.04 !important;
}

body.mr-os-portal-body .mr-app-user {
	align-items: center;
	background: rgba(255, 255, 255, 0.76) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 999px !important;
	box-shadow: var(--mr-shadow-xs) !important;
	display: flex !important;
	gap: 14px;
	padding: 8px 10px 8px 16px !important;
}

body.mr-os-portal-body .mr-app-user span {
	color: var(--mr-ink);
	font-size: 14px;
	font-weight: 740;
}

body.mr-os-portal-body .mr-app-user a {
	background: var(--mr-ink);
	border-radius: 999px;
	color: #fff !important;
	font-size: 12px;
	font-weight: 760;
	padding: 8px 12px;
	text-decoration: none;
}

body.mr-os-portal-body .mr-app-hero,
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-stats div,
.mr-confirm-card {
	background: rgba(255, 255, 255, 0.92) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: var(--mr-radius) !important;
	box-shadow: var(--mr-shadow-sm) !important;
}

body.mr-os-portal-body .mr-app-hero {
	align-items: center !important;
	margin-bottom: 18px !important;
	padding: clamp(18px, 2.4vw, 30px) !important;
}

body.mr-os-portal-body .mr-app-hero h2,
body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-glass-panel h2,
body.mr-os-portal-body .mr-glass-panel h3,
body.mr-os-portal-body .mr-session-board__header h2,
body.mr-os-portal-body .mr-rollcall-head h2 {
	color: var(--mr-ink) !important;
	font-weight: 760 !important;
	letter-spacing: -0.03em !important;
	line-height: 1.12 !important;
}

body.mr-os-portal-body .mr-app-hero h2 {
	font-size: clamp(28px, 4vw, 52px) !important;
	max-width: 820px;
}

body.mr-os-portal-body .mr-glass-panel {
	margin-bottom: 18px;
	padding: clamp(18px, 2.2vw, 28px) !important;
}

body.mr-os-portal-body .mr-panel-head {
	align-items: center !important;
	border-bottom: 1px solid rgba(229, 224, 214, 0.76);
	gap: 14px !important;
	margin-bottom: 18px !important;
	padding-bottom: 14px;
}

body.mr-os-portal-body .mr-app-grid {
	gap: 18px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.mr-os-portal-body .mr-app-stats {
	gap: 14px !important;
	grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
}

body.mr-os-portal-body .mr-app-stats div {
	color: var(--mr-muted) !important;
	font-size: 13px;
	font-weight: 700 !important;
	min-height: 102px;
	padding: 18px !important;
}

body.mr-os-portal-body .mr-app-stats span {
	color: var(--mr-ink) !important;
	font-size: clamp(28px, 4vw, 42px) !important;
	font-weight: 760 !important;
	letter-spacing: -0.04em;
	margin-bottom: 8px !important;
}

body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-app-form,
body.mr-os-portal-body .mr-upload-box,
body.mr-os-portal-body .mr-scan-box,
body.mr-os-portal-body .mr-final-evaluation-form {
	background: var(--mr-surface-soft) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: var(--mr-radius) !important;
	box-shadow: none !important;
	gap: 12px !important;
	padding: 14px !important;
}

body.mr-os-portal-body .mr-app-form {
	grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
}

body.mr-os-portal-body .mr-app-form label,
body.mr-os-portal-body .mr-public-form label,
body.mr-os-portal-body .mr-login-card label,
.mr-public-form label {
	color: var(--mr-ink) !important;
	font-size: 13px !important;
	font-weight: 690 !important;
	gap: 7px !important;
}

body.mr-os-portal-body input,
body.mr-os-portal-body select,
body.mr-os-portal-body textarea,
.mr-public-shell input,
.mr-public-shell select,
.mr-public-shell textarea {
	background: #fff !important;
	border: 1px solid #d8d3c8 !important;
	border-radius: 12px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
	color: var(--mr-text) !important;
	font-size: 14px !important;
	min-height: 42px;
	padding: 10px 12px !important;
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body.mr-os-portal-body textarea,
.mr-public-shell textarea {
	line-height: 1.45;
	min-height: 106px;
}

body.mr-os-portal-body input:focus,
body.mr-os-portal-body select:focus,
body.mr-os-portal-body textarea:focus,
.mr-public-shell input:focus,
.mr-public-shell select:focus,
.mr-public-shell textarea:focus {
	border-color: rgba(184, 138, 27, 0.72) !important;
	box-shadow: 0 0 0 4px rgba(184, 138, 27, 0.14) !important;
	outline: 0 !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-app-quick a,
body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-app-form button,
body.mr-os-portal-body .mr-upload-box button,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-login-card button,
body.mr-os-portal-body .mr-button-primary,
.mr-public-actions button,
.mr-public-link {
	align-items: center;
	background: var(--mr-ink) !important;
	border: 1px solid var(--mr-ink) !important;
	border-radius: 999px !important;
	box-shadow: 0 12px 24px rgba(21, 26, 45, 0.12) !important;
	color: #fff !important;
	cursor: pointer;
	display: inline-flex;
	font-size: 13px !important;
	font-weight: 760 !important;
	justify-content: center;
	line-height: 1 !important;
	min-height: 38px;
	padding: 10px 16px !important;
	text-decoration: none !important;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
	white-space: nowrap;
}

body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-button-secondary,
.mr-secondary-link {
	background: #fff !important;
	border-color: #d8d3c8 !important;
	box-shadow: var(--mr-shadow-xs) !important;
	color: var(--mr-ink) !important;
}

body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-upload-box button,
body.mr-os-portal-body .mr-actions form:nth-of-type(2) button,
body.mr-os-portal-body .mr-action-requires_review {
	background: var(--mr-gold) !important;
	border-color: var(--mr-gold) !important;
	color: #201806 !important;
}

body.mr-os-portal-body .mr-action-absent,
body.mr-os-portal-body .mr-danger {
	background: var(--mr-danger) !important;
	border-color: var(--mr-danger) !important;
	color: #fff !important;
}

body.mr-os-portal-body button:hover,
body.mr-os-portal-body .mr-app-button:hover,
body.mr-os-portal-body .mr-actions a:hover,
.mr-public-link:hover {
	box-shadow: 0 16px 34px rgba(21, 26, 45, 0.16) !important;
	transform: translateY(-1px);
}

body.mr-os-portal-body .mr-actions {
	align-items: center;
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px !important;
}

body.mr-os-portal-body .mr-actions form {
	margin: 0 !important;
}

body.mr-os-portal-body .mr-app-table-wrap {
	background: #fff !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: var(--mr-radius) !important;
	box-shadow: var(--mr-shadow-xs) !important;
	overflow: auto !important;
}

body.mr-os-portal-body .mr-app-table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	color: var(--mr-text);
	min-width: 760px;
	width: 100%;
}

body.mr-os-portal-body .mr-app-table thead th {
	background: var(--mr-surface-soft) !important;
	border-bottom: 1px solid var(--mr-border) !important;
	color: #475467 !important;
	font-size: 11px !important;
	font-weight: 760 !important;
	letter-spacing: 0.08em !important;
	padding: 13px 16px !important;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-app-table td {
	background: #fff !important;
	border-bottom: 1px solid #eee9df !important;
	color: var(--mr-text) !important;
	font-size: 14px;
	padding: 15px 16px !important;
	vertical-align: middle !important;
}

body.mr-os-portal-body .mr-app-table tbody tr:hover td {
	background: #fffdf7 !important;
}

body.mr-os-portal-body .mr-app-table td > strong,
body.mr-os-portal-body .mr-compact-list strong {
	color: var(--mr-ink) !important;
	font-weight: 760 !important;
}

body.mr-os-portal-body .mr-app-table td > span:not(.mr-status),
body.mr-os-portal-body .mr-compact-list span,
body.mr-os-portal-body .mr-app-empty p {
	color: var(--mr-muted) !important;
	font-size: 13px;
	line-height: 1.5;
}

body.mr-os-portal-body .mr-compact-list {
	display: grid;
	gap: 10px !important;
}

body.mr-os-portal-body .mr-compact-list div {
	background: var(--mr-surface-soft) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 14px !important;
	padding: 13px 14px !important;
}

body.mr-os-portal-body .mr-status,
body.mr-os-portal-body .mr-app-table td .mr-status,
.mr-public-shell .mr-status {
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	display: inline-flex;
	font-size: 11px !important;
	font-weight: 760 !important;
	letter-spacing: 0.01em;
	line-height: 1 !important;
	padding: 7px 10px !important;
	white-space: nowrap;
}

body.mr-os-portal-body .mr-status-confirmed,
body.mr-os-portal-body .mr-status-checked_in,
body.mr-os-portal-body .mr-status-present,
body.mr-os-portal-body .mr-status-present_voting,
body.mr-os-portal-body .mr-status-validated,
body.mr-os-portal-body .mr-status-approved,
body.mr-os-portal-body .mr-status-processed,
body.mr-os-portal-body .mr-status-final {
	background: #ecfdf3 !important;
	border-color: #bbf7d0 !important;
	color: var(--mr-success) !important;
}

body.mr-os-portal-body .mr-status-pending,
body.mr-os-portal-body .mr-status-pending_confirmation,
body.mr-os-portal-body .mr-status-pending_chair,
body.mr-os-portal-body .mr-status-pending_delegates,
body.mr-os-portal-body .mr-status-invited,
body.mr-os-portal-body .mr-status-loaded,
body.mr-os-portal-body .mr-status-late,
body.mr-os-portal-body .mr-status-excused,
body.mr-os-portal-body .mr-status-waitlisted {
	background: #fffbeb !important;
	border-color: #fde68a !important;
	color: var(--mr-warning) !important;
}

body.mr-os-portal-body .mr-status-declined,
body.mr-os-portal-body .mr-status-absent,
body.mr-os-portal-body .mr-status-rejected,
body.mr-os-portal-body .mr-status-failed,
body.mr-os-portal-body .mr-status-critical {
	background: #fef2f2 !important;
	border-color: #fecaca !important;
	color: var(--mr-danger) !important;
}

body.mr-os-portal-body .mr-status-requires_review,
body.mr-os-portal-body .mr-status-review,
body.mr-os-portal-body .mr-status-discrepancy,
body.mr-os-portal-body .mr-status-needs_revision {
	background: #eff6ff !important;
	border-color: #bfdbfe !important;
	color: var(--mr-info) !important;
}

body.mr-os-portal-body .mr-status-missing,
body.mr-os-portal-body .mr-status-replaced,
body.mr-os-portal-body .mr-status-open,
body.mr-os-portal-body .mr-status-closed,
body.mr-os-portal-body .mr-status-scheduled {
	background: #f8fafc !important;
	border-color: #d0d5dd !important;
	color: #475467 !important;
}

body.mr-os-portal-body .mr-country,
body.mr-os-portal-body .mr-committee {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	gap: 9px !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-country-flag,
body.mr-os-portal-body .mr-committee-mark,
body.mr-os-portal-body .mr-rollcall-flag {
	align-items: center;
	background: var(--mr-surface-soft) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 999px !important;
	box-shadow: var(--mr-shadow-xs) !important;
	display: inline-flex;
	justify-content: center;
}

body.mr-os-portal-body .mr-session-board__header,
body.mr-os-portal-body .mr-session-create-panel,
body.mr-os-portal-body .mr-session-status-panel,
body.mr-os-portal-body .mr-rollcall-card,
body.mr-os-portal-body .mr-final-evaluation-panel,
body.mr-os-portal-body .mr-ranking-panel {
	background: rgba(255, 255, 255, 0.94) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 24px !important;
	box-shadow: var(--mr-shadow-sm) !important;
}

body.mr-os-portal-body .mr-session-board__header {
	padding: clamp(20px, 3vw, 32px) !important;
}

body.mr-os-portal-body .mr-session-live-badge {
	background: var(--mr-ink) !important;
	border-radius: 18px !important;
	box-shadow: var(--mr-shadow-sm) !important;
}

body.mr-os-portal-body .mr-rollcall-row {
	background: linear-gradient(135deg, #fff, #fffdf8) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 18px !important;
	box-shadow: var(--mr-shadow-xs) !important;
}

body.mr-os-portal-body .mr-rollcall-option span {
	background: #fff !important;
	border: 1px solid #d8d3c8 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--mr-ink) !important;
	font-size: 12px !important;
	font-weight: 760 !important;
	min-height: 38px !important;
	padding: 0 13px !important;
}

body.mr-os-portal-body .mr-rollcall-option input:checked + span {
	background: var(--mr-ink) !important;
	border-color: var(--mr-ink) !important;
	color: #fff !important;
}

body.mr-os-portal-body .mr-rollcall-option--present input:checked + span,
body.mr-os-portal-body .mr-rollcall-option--present_voting input:checked + span {
	background: var(--mr-success) !important;
	border-color: var(--mr-success) !important;
}

body.mr-os-portal-body .mr-rollcall-option--late input:checked + span {
	background: var(--mr-warning) !important;
	border-color: var(--mr-warning) !important;
}

body.mr-os-portal-body .mr-rollcall-option--absent input:checked + span {
	background: var(--mr-danger) !important;
	border-color: var(--mr-danger) !important;
}

body.mr-os-portal-body .mr-evaluation-guidance,
body.mr-os-portal-body .mr-signature-box,
body.mr-os-portal-body .mr-integrity-check {
	background: var(--mr-surface-soft) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 18px !important;
	color: var(--mr-muted) !important;
}

body.mr-os-portal-body .mr-score-card,
body.mr-os-portal-body .mr-readiness-grid > div {
	background: #fff !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 16px !important;
	box-shadow: var(--mr-shadow-xs) !important;
}

body.mr-os-portal-body .mr-section-tabs {
	background: rgba(255, 255, 255, 0.88) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 999px !important;
	box-shadow: var(--mr-shadow-xs) !important;
	gap: 6px !important;
	margin-bottom: 20px !important;
	padding: 6px !important;
}

body.mr-os-portal-body .mr-section-tabs a {
	border-radius: 999px !important;
	min-width: 0 !important;
	padding: 9px 13px !important;
}

body.mr-os-portal-body .mr-section-tabs a.is-active {
	background: var(--mr-ink) !important;
	border-color: var(--mr-ink) !important;
	box-shadow: none !important;
}

body.mr-os-portal-body .mr-section-tabs a.is-active span,
body.mr-os-portal-body .mr-section-tabs a.is-active strong {
	color: #fff !important;
}

body.mr-os-portal-body .mr-login-card {
	border-radius: 24px !important;
	max-width: 430px !important;
	padding: 28px !important;
}

body.mr-os-portal-body .mr-login-card h2,
.mr-confirm-card h1,
.mr-confirm-card h2 {
	color: var(--mr-ink) !important;
	font-weight: 760 !important;
	letter-spacing: -0.035em;
}

body.mr-os-portal-body .mr-login-brand h1 {
	color: var(--mr-ink) !important;
	font-size: clamp(34px, 4.2vw, 58px) !important;
	font-weight: 760 !important;
	letter-spacing: -0.055em !important;
}

body.mr-os-portal-body .mr-login-brand p,
body.mr-os-portal-body .mr-login-copy span {
	color: var(--mr-muted) !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}

.mr-public-shell {
	padding: clamp(22px, 5vw, 64px) 16px !important;
}

.mr-confirm-card {
	max-width: 760px !important;
	padding: clamp(22px, 4vw, 38px) !important;
}

.mr-participant-summary,
.mr-pass-qr,
.mr-certificate-card {
	background: var(--mr-surface-soft) !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 16px !important;
}

.mr-certificate-card {
	border-color: rgba(184, 138, 27, 0.34) !important;
	text-align: center;
}

.mr-certificate-card h2 {
	color: var(--mr-ink) !important;
}

.mr-certificate-lead {
	color: #72540d !important;
}

@media (max-width: 1180px) {
	body.mr-os-portal-body .mr-app {
		grid-template-columns: 1fr !important;
	}

	body.mr-os-portal-body .mr-app-sidebar {
		border-bottom: 1px solid var(--mr-border) !important;
		border-right: 0 !important;
		min-height: auto !important;
		position: sticky !important;
		top: 0;
		z-index: 30;
	}

	body.mr-os-portal-body .mr-app-brand {
		margin-bottom: 10px !important;
	}

	body.mr-os-portal-body .mr-app-nav {
		display: flex !important;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: thin;
	}

	body.mr-os-portal-body .mr-app-nav a {
		min-width: 142px;
	}

	body.mr-os-portal-body .mr-app-grid,
	body.mr-os-portal-body .mr-app-stats,
	body.mr-os-portal-body .mr-readiness-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	body.mr-os-portal-body .mr-app-main,
	body.mr-os-portal-body .mr-app-sidebar {
		padding: 14px !important;
	}

	body.mr-os-portal-body .mr-app-brand img {
		width: 150px !important;
	}

	body.mr-os-portal-body .mr-app-topbar,
	body.mr-os-portal-body .mr-panel-head,
	body.mr-os-portal-body .mr-app-hero,
	body.mr-os-portal-body .mr-session-board__header,
	body.mr-os-portal-body .mr-rollcall-head {
		align-items: flex-start !important;
		flex-direction: column !important;
	}

	body.mr-os-portal-body .mr-app-user {
		border-radius: 16px !important;
		justify-content: space-between;
		width: 100%;
	}

	body.mr-os-portal-body .mr-app-grid,
	body.mr-os-portal-body .mr-app-stats,
	body.mr-os-portal-body .mr-app-form,
	body.mr-os-portal-body .mr-scan-box,
	body.mr-os-portal-body .mr-inline-form,
	body.mr-os-portal-body .mr-score-grid,
	body.mr-os-portal-body .mr-readiness-grid {
		grid-template-columns: 1fr !important;
	}

	body.mr-os-portal-body .mr-app-filters {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	body.mr-os-portal-body .mr-app-filters input,
	body.mr-os-portal-body .mr-app-filters select,
	body.mr-os-portal-body .mr-app-filters button,
	body.mr-os-portal-body .mr-actions button,
	body.mr-os-portal-body .mr-actions a {
		width: 100%;
	}

	body.mr-os-portal-body .mr-app-table-wrap {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	body.mr-os-portal-body .mr-app-table {
		min-width: 680px;
	}

	body.mr-os-portal-body .mr-section-tabs {
		border-radius: 18px !important;
		overflow-x: auto;
	}

	body.mr-os-portal-body .mr-section-tabs a {
		min-width: 126px !important;
	}

	body.mr-os-portal-body .mr-system-login {
		gap: 20px !important;
		padding: 22px !important;
	}

	body.mr-os-portal-body .mr-login-logo img {
		max-width: 280px !important;
	}
}
/* === MUN Revolution OS 0.5.1-ui institutional visual system END === */

/* === MUN Revolution OS 0.5.5 communications/inbox polish START === */
.mr-inbox-list .mr-inbox-item {
	align-items: flex-start;
	border-left: 4px solid transparent;
}
.mr-inbox-list .mr-inbox-item.is-unread {
	border-left-color: var(--mr-gold, #B88A1B);
	background: #fffdf7;
}
.mr-inbox-list .mr-inbox-item small {
	color: var(--mr-muted, #667085);
	display: inline-block;
	font-size: 11px;
	margin-top: 8px;
}
.mr-inline-action {
	margin-top: 8px;
}
.mr-inline-action button {
	background: var(--mr-ink, #151A2D);
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-size: 11px;
	font-weight: 700;
	padding: 6px 10px;
}
.mr-app-form select[multiple] {
	min-height: 140px;
}
/* === MUN Revolution OS 0.5.5 communications/inbox polish END === */

/* === MUN Revolution OS 0.6.0 multi-MUN controls START === */
.mr-topbar-tools {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: flex-end;
}
.mr-event-switcher label {
	align-items: center;
	color: var(--mr-muted, #667085);
	display: flex;
	font-size: 11px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.mr-event-switcher select {
	background: var(--mr-surface, #fff);
	border: 1px solid var(--mr-border, #DADDE3);
	border-radius: 999px;
	color: var(--mr-text, #111827);
	font-size: 13px;
	font-weight: 650;
	max-width: 260px;
	min-height: 34px;
	padding: 6px 32px 6px 12px;
	text-transform: none;
}
.mr-active-event-card .mr-event-meta,
.mr-event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mr-event-meta > span:not(.mr-status) {
	background: var(--mr-surface2, #F8FAFC);
	border: 1px solid var(--mr-border, #DADDE3);
	border-radius: 999px;
	color: var(--mr-muted, #667085);
	font-size: 12px;
	font-weight: 650;
	padding: 6px 10px;
}
.mr-app-link {
	background: var(--mr-surface, #fff);
	border: 1px solid var(--mr-border, #DADDE3);
	border-radius: 999px;
	color: var(--mr-text, #111827);
	display: inline-flex;
	font-size: 13px;
	font-weight: 650;
	padding: 8px 13px;
	text-decoration: none;
}
.mr-app-link:hover { background: var(--mr-gold-pale, #F6EBC5); }
@media (max-width: 768px) {
	.mr-topbar-tools { align-items: stretch; flex-direction: column; width: 100%; }
	.mr-event-switcher label { align-items: stretch; flex-direction: column; gap: 4px; }
	.mr-event-switcher select { max-width: 100%; width: 100%; }
}
/* === MUN Revolution OS 0.6.0 multi-MUN controls END === */

/* === MUN Revolution OS 0.6.2 platform complete: responsive/app and operational UI fixes START === */
html,
body.mr-os-portal-body {
	max-width: 100%;
	overflow-x: hidden;
}
body.mr-os-portal-body .mr-app,
body.mr-os-portal-body .mr-app-main,
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-section-tabs,
body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-app-form,
body.mr-os-portal-body .mr-session-board,
body.mr-os-portal-body .mr-session-layout,
body.mr-os-portal-body .mr-rollcall-row {
	min-width: 0 !important;
}
body.mr-os-portal-body .mr-app {
	background: #f0f2f5 !important;
	grid-template-columns: 248px minmax(0, 1fr) !important;
}
body.mr-os-portal-body .mr-app-sidebar {
	background: #fff !important;
	border-right: 1px solid #dadde3 !important;
	box-shadow: none !important;
}
body.mr-os-portal-body .mr-app-brand {
	align-items: center !important;
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: 1fr !important;
	padding: 16px 14px !important;
}
body.mr-os-portal-body .mr-app-brand img {
	max-width: 172px !important;
	width: 172px !important;
}
body.mr-os-portal-body .mr-app-brand span {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #7a540a !important;
	font-size: 10px !important;
	line-height: 1.35 !important;
	padding: 0 !important;
}
body.mr-os-portal-body .mr-app-nav a {
	align-items: flex-start !important;
	border-left: 3px solid transparent !important;
	border-radius: 10px !important;
	padding: 9px 11px !important;
}
body.mr-os-portal-body .mr-app-nav a.is-active {
	background: #f6ebc5 !important;
	border-left-color: #b88a1b !important;
}
body.mr-os-portal-body .mr-app-topbar {
	position: sticky !important;
	top: 0 !important;
	z-index: 40 !important;
}
body.mr-os-portal-body .mr-topbar-tools {
	min-width: 0 !important;
}
body.mr-os-portal-body .mr-event-switcher select {
	max-width: min(320px, 52vw) !important;
}
body.mr-os-portal-body .mr-app-main {
	padding-bottom: 18px !important;
}
body.mr-os-portal-body .mr-app-main > .mr-app-notice,
body.mr-os-portal-body .mr-app-main > .mr-app-hero,
body.mr-os-portal-body .mr-app-main > .mr-app-stats,
body.mr-os-portal-body .mr-app-main > .mr-glass-panel,
body.mr-os-portal-body .mr-app-main > .mr-app-grid,
body.mr-os-portal-body .mr-app-main > .mr-section-tabs,
body.mr-os-portal-body .mr-app-main > .mr-app-filters,
body.mr-os-portal-body .mr-app-main > .mr-session-board {
	margin-left: 18px !important;
	margin-right: 18px !important;
}
body.mr-os-portal-body .mr-glass-panel {
	border-radius: 18px !important;
	box-shadow: 0 1px 2px rgba(17,24,39,.06), 0 8px 24px rgba(17,24,39,.04) !important;
	overflow: hidden;
}
body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-glass-panel h2,
body.mr-os-portal-body .mr-glass-panel h3 {
	font-size: clamp(18px, 1.45vw, 24px) !important;
	line-height: 1.15 !important;
}
body.mr-os-portal-body .mr-app-hero h2 {
	font-size: clamp(26px, 3vw, 44px) !important;
	max-width: 720px !important;
}
body.mr-os-portal-body .mr-app-quick a,
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-app-link,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-app-form button,
body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-upload-box button,
body.mr-os-portal-body .mr-button-primary,
body.mr-os-portal-body .mr-button-secondary {
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	min-height: 34px !important;
	padding: 7px 13px !important;
	white-space: nowrap !important;
}
body.mr-os-portal-body .mr-actions {
	align-items: center !important;
	column-gap: 7px !important;
	row-gap: 6px !important;
}
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button {
	box-shadow: none !important;
	font-size: 12px !important;
	min-height: 30px !important;
	padding: 6px 11px !important;
}
body.mr-os-portal-body .mr-app-table-wrap {
	border-radius: 18px !important;
	overflow-x: auto !important;
}
body.mr-os-portal-body .mr-app-table {
	min-width: 820px !important;
}
body.mr-os-portal-body .mr-app-table thead th {
	font-size: 11px !important;
	padding: 12px 14px !important;
}
body.mr-os-portal-body .mr-app-table tbody td {
	font-size: 13px !important;
	padding: 13px 14px !important;
}
body.mr-os-portal-body .mr-app-table td > strong {
	font-size: 14px !important;
}
body.mr-os-portal-body .mr-status {
	align-items: center !important;
	display: inline-flex !important;
	font-size: 12px !important;
	gap: 6px !important;
	padding: 6px 10px !important;
}
body.mr-os-portal-body .mr-status::before {
	background: currentColor;
	border-radius: 999px;
	content: "";
	display: inline-block;
	height: 6px;
	width: 6px;
}
body.mr-os-portal-body .mr-committee-logo,
body.mr-os-portal-body .mr-committee-mark {
	align-items: center !important;
	display: inline-flex !important;
	flex: 0 0 auto !important;
	height: 30px !important;
	justify-content: center !important;
	min-width: 30px !important;
}
body.mr-os-portal-body .mr-committee-logo img {
	border-radius: 8px !important;
	display: block !important;
	height: 30px !important;
	object-fit: contain !important;
	width: 30px !important;
}
body.mr-os-portal-body .mr-committee > span:last-child,
body.mr-os-portal-body .mr-country > span:last-child {
	white-space: normal !important;
}
body.mr-os-portal-body .mr-session-board__header {
	border-radius: 18px !important;
	margin-bottom: 14px !important;
	padding: 18px 20px !important;
}
body.mr-os-portal-body .mr-session-board__header h2 {
	font-size: clamp(24px, 2.4vw, 34px) !important;
}
body.mr-os-portal-body .mr-session-layout--control {
	display: grid !important;
	gap: 14px !important;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
	align-items: stretch !important;
}
body.mr-os-portal-body .mr-session-create-panel,
body.mr-os-portal-body .mr-session-status-panel {
	overflow: hidden !important;
}
body.mr-os-portal-body .mr-session-create-form {
	background: #fbfaf7 !important;
	border: 1px solid #e5e0d6 !important;
	border-radius: 16px !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	padding: 14px !important;
	width: 100% !important;
}
body.mr-os-portal-body .mr-session-create-form label,
body.mr-os-portal-body .mr-session-create-form input,
body.mr-os-portal-body .mr-session-create-form textarea,
body.mr-os-portal-body .mr-session-create-form select {
	max-width: 100% !important;
	min-width: 0 !important;
	width: 100% !important;
}
body.mr-os-portal-body .mr-session-create-form .mr-form-row {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	min-width: 0 !important;
}
body.mr-os-portal-body .mr-session-create-form .mr-wide,
body.mr-os-portal-body .mr-session-create-form button {
	grid-column: 1 / -1 !important;
}
body.mr-os-portal-body .mr-session-state-card {
	align-items: flex-start !important;
	background: #fff !important;
	border: 1px solid #e5e0d6 !important;
	border-radius: 16px !important;
	padding: 18px !important;
	text-align: left !important;
}
body.mr-os-portal-body .mr-rollcall-row {
	grid-template-columns: minmax(220px, .85fr) minmax(190px, .75fr) minmax(0, 1.35fr) !important;
	padding: 14px !important;
}
body.mr-os-portal-body .mr-rollcall-options {
	justify-content: flex-end !important;
	min-width: 0 !important;
}
body.mr-os-portal-body .mr-rollcall-option span {
	font-size: 12px !important;
	min-height: 34px !important;
	padding: 7px 10px !important;
}
body.mr-os-portal-body .mr-scan-preview-card {
	background: #f8fafc;
	border: 1px solid #dadde3;
	border-radius: 16px;
	margin: 0 0 14px;
	padding: 14px;
}
body.mr-os-portal-body .mr-scan-preview-card.is-error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #b91c1c;
}
body.mr-os-portal-body .mr-scan-preview-grid {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
}
body.mr-os-portal-body .mr-scan-preview-grid span {
	color: #667085;
	display: block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.mr-os-portal-body .mr-scan-preview-grid strong {
	color: #151a2d;
	display: block;
	font-size: 15px;
}
body.mr-os-portal-body .mr-scan-preview-grid small {
	color: #667085;
	display: block;
	font-size: 12px;
}
body.mr-os-portal-body .mr-user-edit-card,
body.mr-os-portal-body details.mr-user-edit-card {
	background: #fff;
	border: 1px solid #dadde3;
	border-radius: 14px;
	padding: 12px 14px;
}
body.mr-os-portal-body .mr-user-edit-card summary {
	cursor: pointer;
	font-weight: 700;
}
body.mr-os-portal-body .mr-user-edit-form {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 12px;
}
body.mr-os-portal-body .mr-public-card-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	margin: 14px 0 18px;
}
body.mr-os-portal-body .mr-public-mini-card,
body.mr-os-portal-body .mr-public-post {
	background: #f8fafc;
	border: 1px solid #dadde3;
	border-radius: 14px;
	padding: 14px;
}
body.mr-os-portal-body .mr-participant-message-card textarea,
body.mr-os-portal-body .mr-participant-message-card select,
body.mr-os-portal-body .mr-public-shell select,
body.mr-os-portal-body .mr-public-shell textarea,
.mr-public-shell select,
.mr-public-shell textarea {
	background: #f8fafc;
	border: 1px solid #dadde3;
	border-radius: 7px;
	color: #111827;
	font-size: 15px;
	padding: 10px 13px;
	width: 100%;
}
body.mr-os-portal-body .mr-app-footer-version {
	color: #98a2b3;
	font-size: 11px;
	margin: 10px 18px 0 !important;
	padding: 12px 0 0 !important;
	text-align: right;
}
body.mr-os-portal-body .mr-app-footer-version strong {
	color: #667085;
}
@media (max-width: 1100px) {
	body.mr-os-portal-body .mr-app {
		grid-template-columns: 1fr !important;
	}
	body.mr-os-portal-body .mr-app-sidebar {
		border-bottom: 1px solid #dadde3 !important;
		border-right: 0 !important;
		min-height: auto !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 60 !important;
	}
	body.mr-os-portal-body .mr-app-brand {
		display: flex !important;
		justify-content: space-between !important;
		padding: 10px 12px !important;
	}
	body.mr-os-portal-body .mr-app-brand img { width: 138px !important; }
	body.mr-os-portal-body .mr-app-brand span { display: none !important; }
	body.mr-os-portal-body .mr-app-nav {
		display: flex !important;
		flex-direction: row !important;
		overflow-x: auto !important;
		padding: 6px 8px 8px !important;
		-webkit-overflow-scrolling: touch;
	}
	body.mr-os-portal-body .mr-app-nav a {
		align-items: center !important;
		border-left: 0 !important;
		border-bottom: 3px solid transparent !important;
		flex: 0 0 auto !important;
		min-width: 112px !important;
		padding: 7px 10px !important;
	}
	body.mr-os-portal-body .mr-app-nav a span { display: none !important; }
	body.mr-os-portal-body .mr-app-nav a.is-active { border-bottom-color: #b88a1b !important; }
	body.mr-os-portal-body .mr-session-layout--control,
	body.mr-os-portal-body .mr-rollcall-row,
	body.mr-os-portal-body .mr-scan-preview-grid {
		grid-template-columns: 1fr !important;
	}
	body.mr-os-portal-body .mr-rollcall-options { justify-content: flex-start !important; }
}
@media (max-width: 760px) {
	body.mr-os-portal-body .mr-app-main > .mr-app-notice,
	body.mr-os-portal-body .mr-app-main > .mr-app-hero,
	body.mr-os-portal-body .mr-app-main > .mr-app-stats,
	body.mr-os-portal-body .mr-app-main > .mr-glass-panel,
	body.mr-os-portal-body .mr-app-main > .mr-app-grid,
	body.mr-os-portal-body .mr-app-main > .mr-section-tabs,
	body.mr-os-portal-body .mr-app-main > .mr-app-filters,
	body.mr-os-portal-body .mr-app-main > .mr-session-board {
		margin-left: 10px !important;
		margin-right: 10px !important;
	}
	body.mr-os-portal-body .mr-app-topbar {
		align-items: flex-start !important;
		flex-direction: column !important;
		gap: 8px !important;
		position: static !important;
	}
	body.mr-os-portal-body .mr-topbar-tools {
		align-items: stretch !important;
		flex-direction: column !important;
		width: 100% !important;
	}
	body.mr-os-portal-body .mr-app-stats,
	body.mr-os-portal-body .mr-app-grid,
	body.mr-os-portal-body .mr-app-form,
	body.mr-os-portal-body .mr-user-edit-form,
	body.mr-os-portal-body .mr-session-create-form,
	body.mr-os-portal-body .mr-session-create-form .mr-form-row {
		grid-template-columns: 1fr !important;
	}
	body.mr-os-portal-body .mr-app-table-wrap {
		border: 0 !important;
		overflow: visible !important;
	}
	body.mr-os-portal-body .mr-app-table,
	body.mr-os-portal-body .mr-app-table thead,
	body.mr-os-portal-body .mr-app-table tbody,
	body.mr-os-portal-body .mr-app-table tr,
	body.mr-os-portal-body .mr-app-table th,
	body.mr-os-portal-body .mr-app-table td {
		display: block !important;
		min-width: 0 !important;
		width: 100% !important;
	}
	body.mr-os-portal-body .mr-app-table thead { display: none !important; }
	body.mr-os-portal-body .mr-app-table tbody {
		display: grid !important;
		gap: 10px !important;
	}
	body.mr-os-portal-body .mr-app-table tbody tr {
		background: #fff !important;
		border: 1px solid #dadde3 !important;
		border-radius: 14px !important;
		box-shadow: var(--mr-shadow, 0 1px 2px rgba(17,24,39,.05)) !important;
		overflow: hidden !important;
	}
	body.mr-os-portal-body .mr-app-table tbody td {
		border-bottom: 1px solid #f0f2f5 !important;
		display: grid !important;
		gap: 7px !important;
		grid-template-columns: 92px minmax(0, 1fr) !important;
		padding: 10px 12px !important;
	}
	body.mr-os-portal-body .mr-app-table tbody td::before {
		color: #667085;
		content: attr(data-label);
		font-size: 10px;
		font-weight: 800;
		letter-spacing: .06em;
		padding-top: 3px;
		text-transform: uppercase;
	}
	body.mr-os-portal-body .mr-actions {
		justify-content: flex-start !important;
	}
	body.mr-os-portal-body .mr-actions a,
	body.mr-os-portal-body .mr-actions button {
		white-space: normal !important;
	}
}
@media (max-width: 430px) {
	body.mr-os-portal-body .mr-app-table tbody td {
		grid-template-columns: 74px minmax(0, 1fr) !important;
	}
	body.mr-os-portal-body .mr-rollcall-option span {
		font-size: 11px !important;
		padding: 6px 8px !important;
	}
}
/* === MUN Revolution OS 0.6.2 platform complete: responsive/app and operational UI fixes END === */

/* === MUN Revolution OS 0.6.2 final visual containment patch START === */
body.mr-os-portal-body::before,
body.mr-os-portal-body::after {
	display: none !important;
	content: none !important;
}
body.mr-os-portal-body .mr-app,
body.mr-os-portal-body .mr-app-main,
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-session-board,
body.mr-os-portal-body .mr-session-layout,
body.mr-os-portal-body .mr-app-table-wrap {
	max-width: 100% !important;
	min-width: 0 !important;
}
body.mr-os-portal-body .mr-session-layout--control {
	align-items: start !important;
	display: grid !important;
	gap: 18px !important;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
	overflow: hidden !important;
}
body.mr-os-portal-body .mr-session-create-panel,
body.mr-os-portal-body .mr-session-status-panel {
	overflow: hidden !important;
}
body.mr-os-portal-body .mr-session-create-form {
	align-items: end !important;
	display: grid !important;
	gap: 12px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-width: 100% !important;
	overflow: hidden !important;
}
body.mr-os-portal-body .mr-session-create-form > label,
body.mr-os-portal-body .mr-session-create-form .mr-form-row,
body.mr-os-portal-body .mr-session-create-form .mr-wide,
body.mr-os-portal-body .mr-session-create-form button {
	min-width: 0 !important;
}
body.mr-os-portal-body .mr-session-create-form > label:first-of-type,
body.mr-os-portal-body .mr-session-create-form .mr-form-row,
body.mr-os-portal-body .mr-session-create-form .mr-wide {
	grid-column: 1 / -1 !important;
}
body.mr-os-portal-body .mr-session-create-form .mr-form-row {
	display: grid !important;
	gap: 12px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.mr-os-portal-body .mr-session-create-form input,
body.mr-os-portal-body .mr-session-create-form textarea,
body.mr-os-portal-body .mr-session-create-form select {
	max-width: 100% !important;
	width: 100% !important;
}
body.mr-os-portal-body .mr-session-create-form button {
	justify-self: start !important;
	max-width: 260px !important;
	width: 100% !important;
}
body.mr-os-portal-body .mr-session-state-card {
	background: #f8fafc !important;
	border: 1px solid #dadde3 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 16px !important;
	text-align: left !important;
}
body.mr-os-portal-body .mr-rollcall-card {
	overflow: hidden !important;
}
body.mr-os-portal-body .mr-rollcall-row {
	grid-template-columns: minmax(220px, 0.95fr) minmax(180px, 0.75fr) minmax(300px, 1.2fr) !important;
}
body.mr-os-portal-body .mr-rollcall-options {
	justify-content: flex-end !important;
}
body.mr-os-portal-body .mr-rollcall-option span {
	min-height: 34px !important;
	padding: 7px 10px !important;
}
body.mr-os-portal-body .mr-actions {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}
body.mr-os-portal-body .mr-actions form {
	display: inline-flex !important;
	margin: 0 !important;
}
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-actions a {
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	line-height: 1 !important;
	min-height: 34px !important;
	padding: 8px 13px !important;
	white-space: nowrap !important;
}
body.mr-os-portal-body .mr-app-table td,
body.mr-os-portal-body .mr-app-table th {
	word-break: normal !important;
}
body.mr-os-portal-body .mr-country > span:last-child,
body.mr-os-portal-body .mr-committee > span:last-child {
	overflow-wrap: anywhere !important;
	white-space: normal !important;
}
body.mr-os-portal-body .mr-user-edit-card summary {
	align-items: center !important;
	display: flex !important;
	gap: 12px !important;
	justify-content: space-between !important;
}
body.mr-os-portal-body .mr-user-edit-card summary span {
	display: grid !important;
	min-width: 0 !important;
}
body.mr-os-portal-body .mr-user-edit-card summary small {
	color: #667085 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	overflow-wrap: anywhere !important;
}
body.mr-os-portal-body .mr-user-edit-card summary em {
	background: #f6ebc5 !important;
	border-radius: 999px !important;
	color: #72540d !important;
	font-size: 11px !important;
	font-style: normal !important;
	font-weight: 800 !important;
	padding: 5px 9px !important;
}
@media (max-width: 1180px) {
	body.mr-os-portal-body .mr-session-layout--control,
	body.mr-os-portal-body .mr-rollcall-row {
		grid-template-columns: 1fr !important;
	}
	body.mr-os-portal-body .mr-rollcall-options {
		justify-content: flex-start !important;
	}
}
@media (max-width: 760px) {
	body.mr-os-portal-body .mr-session-create-form,
	body.mr-os-portal-body .mr-session-create-form .mr-form-row,
	body.mr-os-portal-body .mr-user-edit-form {
		grid-template-columns: 1fr !important;
	}
	body.mr-os-portal-body .mr-session-create-form button {
		max-width: none !important;
	}
	body.mr-os-portal-body .mr-actions button,
	body.mr-os-portal-body .mr-actions a {
		white-space: normal !important;
	}
}
/* === MUN Revolution OS 0.6.2 final visual containment patch END === */
body .mr-public-shell::before { display: none !important; content: none !important; }

/* === MUN Revolution OS 0.6.3 internal access polish START === */
.mr-login-reset {
	border-top: 1px solid var(--mr-border, #DADDE3);
	margin-top: 18px;
	padding-top: 16px;
}
.mr-login-reset summary {
	color: var(--mr-gold, #B88A1B);
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
}
.mr-login-reset p {
	color: var(--mr-muted, #667085);
	font-size: 13px;
	line-height: 1.45;
	margin: 10px 0 12px;
}
.mr-login-reset form {
	display: grid;
	gap: 12px;
}
.mr-access-actions {
	border-top: 1px solid var(--mr-border, #DADDE3);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
	padding-top: 12px;
}
.mr-access-actions form { margin: 0; }
.mr-access-panel { max-width: 980px; }
.mr-access-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(180px, 1fr));
	gap: 10px;
	margin: 16px 0;
}
.mr-access-summary div {
	background: var(--mr-surface2, #F8FAFC);
	border: 1px solid var(--mr-border, #DADDE3);
	border-radius: var(--mr-radius, 8px);
	padding: 12px 14px;
}
.mr-access-summary span {
	color: var(--mr-muted, #667085);
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	margin-bottom: 4px;
	text-transform: uppercase;
}
.mr-access-summary strong {
	color: var(--mr-ink, #151A2D);
	display: block;
	font-size: 14px;
	font-weight: 700;
	overflow-wrap: anywhere;
}
.mr-user-edit-form + .mr-access-actions .mr-button-secondary,
.mr-access-actions .mr-button-secondary {
	background: var(--mr-surface, #FFFFFF) !important;
	border: 1px solid var(--mr-border, #DADDE3) !important;
	color: var(--mr-text, #111827) !important;
}
@media (max-width: 768px) {
	.mr-access-summary { grid-template-columns: 1fr; }
	.mr-access-actions { display: grid; }
	.mr-access-actions button { width: 100%; }
}
/* === MUN Revolution OS 0.6.3 internal access polish END === */


/* === MUN Revolution OS 0.6.4 committee flow polish START === */
body.mr-os-portal-body .mr-app-main,
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-session-layout,
body.mr-os-portal-body .mr-app-grid { min-width: 0; }
body.mr-os-portal-body .mr-session-create-panel,
body.mr-os-portal-body .mr-session-status-panel { overflow: hidden; }
body.mr-os-portal-body .mr-session-create-panel .mr-app-form,
body.mr-os-portal-body .mr-session-status-panel .mr-app-form { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 100%; overflow: hidden; }
body.mr-os-portal-body .mr-session-create-panel input,
body.mr-os-portal-body .mr-session-create-panel textarea,
body.mr-os-portal-body .mr-session-create-panel select { min-width: 0; width: 100%; }
body.mr-os-portal-body .mr-my-committee-panel .mr-app-table-wrap,
body.mr-os-portal-body .mr-committee-roster-table { min-width: 0; }
body.mr-os-portal-body .mr-committee-profile-grid { display: grid; gap: 14px; margin-bottom: 18px; }
body.mr-os-portal-body .mr-committee-profile-card { background: var(--mr-surface, #fff); border: 1px solid var(--mr-border, #DADDE3); border-radius: 18px; box-shadow: var(--mr-shadow, 0 1px 2px rgba(17,24,39,.05)); display: grid; gap: 16px; padding: 16px; }
body.mr-os-portal-body .mr-committee-profile-main { align-items: center; display: flex; gap: 12px; min-width: 0; }
body.mr-os-portal-body .mr-committee-profile-main > div { min-width: 0; }
body.mr-os-portal-body .mr-committee-profile-main strong { color: var(--mr-ink, #151A2D); display: block; font-size: 18px; font-weight: 800; line-height: 1.15; }
body.mr-os-portal-body .mr-committee-profile-main span { color: var(--mr-muted, #667085); display: block; font-size: 13px; line-height: 1.4; margin-top: 4px; }
body.mr-os-portal-body .mr-committee-authorities { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.mr-os-portal-body .mr-authority-card { align-items: center; background: #F8FAFC; border: 1px solid var(--mr-border, #DADDE3); border-radius: 14px; display: flex; gap: 11px; min-width: 0; padding: 10px; }
body.mr-os-portal-body .mr-authority-card img { aspect-ratio: 1 / 1; border-radius: 999px; box-shadow: 0 1px 4px rgba(17,24,39,.12); flex: 0 0 auto; height: 44px; object-fit: cover; width: 44px; }
body.mr-os-portal-body .mr-authority-card div { min-width: 0; }
body.mr-os-portal-body .mr-authority-card strong { color: var(--mr-ink, #151A2D); display: block; font-size: 14px; font-weight: 750; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mr-os-portal-body .mr-authority-card span { color: var(--mr-gold, #B88A1B); display: block; font-size: 11px; font-weight: 750; letter-spacing: .04em; line-height: 1.25; margin-top: 3px; text-transform: uppercase; }
body.mr-os-portal-body .mr-participation-form { display: grid; gap: 16px; grid-template-columns: minmax(260px, .72fr) minmax(320px, 1fr); }
body.mr-os-portal-body .mr-participation-picker,
body.mr-os-portal-body .mr-participation-controls { background: var(--mr-surface, #fff); border: 1px solid var(--mr-border, #DADDE3); border-radius: 18px; box-shadow: var(--mr-shadow, 0 1px 2px rgba(17,24,39,.05)); min-width: 0; padding: 14px; }
body.mr-os-portal-body .mr-participation-controls { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.mr-os-portal-body .mr-participation-controls label { display: grid; font-size: 13px; font-weight: 700; gap: 6px; }
body.mr-os-portal-body .mr-participation-picker-head { display: grid; gap: 2px; margin-bottom: 10px; }
body.mr-os-portal-body .mr-participation-picker-head span,
body.mr-os-portal-body .mr-chip-group > span { color: var(--mr-gold, #B88A1B); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
body.mr-os-portal-body .mr-participation-picker-head strong { color: var(--mr-ink, #151A2D); font-size: 16px; font-weight: 800; }
body.mr-os-portal-body .mr-participant-choice-list { display: grid; gap: 6px; max-height: 420px; overflow: auto; padding-right: 3px; }
body.mr-os-portal-body .mr-participant-choice { cursor: pointer; display: block; }
body.mr-os-portal-body .mr-participant-choice input,
body.mr-os-portal-body .mr-choice-chip input { position: absolute; opacity: 0; pointer-events: none; }
body.mr-os-portal-body .mr-participant-choice > span { align-items: center; background: #fff; border: 1px solid var(--mr-border, #DADDE3); border-radius: 12px; display: grid; gap: 2px; padding: 9px 11px; transition: background .12s ease, border-color .12s ease, box-shadow .12s ease; }
body.mr-os-portal-body .mr-participant-choice:hover > span,
body.mr-os-portal-body .mr-participant-choice.is-selected > span,
body.mr-os-portal-body .mr-participant-choice input:checked + span { background: var(--mr-gold-pale, #F6EBC5); border-color: var(--mr-gold-soft, #E7D8A3); box-shadow: 0 0 0 2px rgba(184,138,27,.11); }
body.mr-os-portal-body .mr-participant-choice strong { color: var(--mr-ink, #151A2D); font-size: 14px; font-weight: 800; }
body.mr-os-portal-body .mr-participant-choice small { color: var(--mr-muted, #667085); font-size: 12px; font-weight: 600; }
body.mr-os-portal-body .mr-chip-group { display: flex; flex-wrap: wrap; gap: 7px; }
body.mr-os-portal-body .mr-chip-group > span { flex: 1 0 100%; }
body.mr-os-portal-body .mr-choice-chip { cursor: pointer; display: inline-flex !important; gap: 0 !important; }
body.mr-os-portal-body .mr-choice-chip > span { align-items: center; background: #fff; border: 1px solid var(--mr-border, #DADDE3); border-radius: 999px; color: var(--mr-text, #111827); display: inline-flex; font-size: 12px; font-weight: 700; min-height: 34px; padding: 7px 12px; transition: background .12s ease, border-color .12s ease, color .12s ease; }
body.mr-os-portal-body .mr-choice-chip input:checked + span { background: var(--mr-ink, #151A2D); border-color: var(--mr-ink, #151A2D); color: #fff; }
body.mr-os-portal-body .mr-participation-controls .mr-wide { grid-column: 1 / -1; }
body.mr-os-portal-body .mr-participation-controls button[type="submit"] { justify-self: start; }
@media (max-width: 1180px) { body.mr-os-portal-body .mr-participation-form, body.mr-os-portal-body .mr-session-layout { grid-template-columns: 1fr !important; } }
@media (max-width: 760px) { body.mr-os-portal-body .mr-committee-authorities, body.mr-os-portal-body .mr-participation-controls, body.mr-os-portal-body .mr-session-create-panel .mr-app-form, body.mr-os-portal-body .mr-session-status-panel .mr-app-form { grid-template-columns: 1fr !important; } body.mr-os-portal-body .mr-participant-choice-list { max-height: 320px; } body.mr-os-portal-body .mr-authority-card strong { white-space: normal; } }
/* === MUN Revolution OS 0.6.4 committee flow polish END === */

/* === MUN Revolution OS 0.6.5 evaluation/audit polish START === */
.mr-user-edit-card summary { align-items: center; }
.mr-user-edit-avatar, .mr-authority-card img { width: 56px; height: 56px; border-radius: 999px; object-fit: cover; background: #eef2f5; border: 1px solid var(--mr-border); flex: 0 0 auto; }
.mr-authority-card { display: flex; align-items: center; gap: 14px; }
.mr-country { display: inline-flex; align-items: center; gap: 8px; }
.mr-country-flag { font-size: 1.15em; line-height: 1; flex: 0 0 auto; }
.mr-participant-choice span .mr-country { font-weight: 800; }
.mr-participation-form { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(320px, 1fr); gap: 18px; align-items: start; }
.mr-participant-choice-list { max-height: 520px; overflow: auto; padding-right: 4px; }
.mr-participant-choice > span { display: grid; gap: 4px; }
.mr-participation-controls { min-width: 0; }
.mr-chip-group { min-width: 0; }
.mr-choice-chip span { white-space: nowrap; }
.mr-ranking-panel .mr-app-table td span { display: block; color: var(--mr-muted); font-size: 12px; margin-top: 4px; }
@media (max-width: 980px) { .mr-participation-form { grid-template-columns: 1fr; } .mr-participant-choice-list { max-height: 360px; } }
@media (max-width: 640px) { .mr-authority-card { align-items: flex-start; } .mr-user-edit-avatar, .mr-authority-card img { width: 48px; height: 48px; } }
/* === MUN Revolution OS 0.6.5 evaluation/audit polish END === */


/* MUN Revolution OS 0.6.6 QR access and report cleanup */
.mr-qr-access-card {
	align-items: center;
	background: #fff;
	border: 1px solid var(--mr-border, #DADDE3);
	border-radius: 16px;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-top: 18px;
	padding: 18px;
}
.mr-qr-access-card h3 { color: var(--mr-ink, #151A2D); font-size: 20px; margin: 4px 0 8px; }
.mr-qr-access-card p { color: var(--mr-muted, #667085); margin: 0; max-width: 680px; }
.mr-local-qr { align-items: center; display: grid; gap: 6px; justify-items: center; min-width: 150px; }
.mr-local-qr-canvas { background: #fff; border: 1px solid #E5E0D6; border-radius: 14px; box-shadow: 0 8px 22px rgba(17,24,39,.08); height: auto; padding: 10px; width: min(100%, 210px); }
.mr-local-qr p { color: #151A2D; font-size: 12px; font-weight: 800; margin: 0; text-align: center; }
.mr-local-qr code { background: #F6EBC5; border-radius: 999px; color: #72540d; font-size: 10px; padding: 4px 8px; }
.mr-pass-qr .mr-local-qr { margin: 0 auto; }
@media (max-width: 760px) {
	.mr-qr-access-card { align-items: flex-start; flex-direction: column; }
	.mr-local-qr { width: 100%; }
}

/* === MUN Revolution OS 0.6.7 academic sessions + social notifications START === */
.mr-app-nav a.has-notification {
	position: relative;
}

.mr-app-nav a strong {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
}

.mr-nav-badge {
	align-items: center;
	background: #d93025;
	border: 2px solid #fff;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(217, 48, 37, .28);
	color: #fff;
	display: inline-flex;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	height: 22px;
	justify-content: center;
	line-height: 1;
	min-width: 22px;
	padding: 0 6px;
}

.mr-inbox-item.is-unread {
	background: #f0f7ff;
	border-color: #bfdbfe;
}

.mr-inbox-item.is-unread::before {
	background: #1d4ed8;
	border-radius: 999px;
	content: "";
	display: inline-block;
	height: 9px;
	margin-right: 8px;
	width: 9px;
}

.mr-session-layout,
.mr-session-board__header,
.mr-rollcall-card,
.mr-glass-panel {
	max-width: 100%;
	overflow: visible;
}

.mr-session-create-panel .mr-app-form,
.mr-session-create-panel .mr-compact-form,
.mr-session-status-panel .mr-app-form,
.mr-session-status-panel .mr-compact-form {
	align-items: end;
	display: grid;
	grid-template-columns: minmax(220px, 1.3fr) minmax(150px, .7fr) minmax(150px, .7fr);
	max-width: 100%;
}

.mr-session-create-panel input,
.mr-session-create-panel select,
.mr-session-create-panel textarea,
.mr-session-status-panel input,
.mr-session-status-panel select,
.mr-session-status-panel textarea {
	min-width: 0;
	width: 100%;
}

.mr-session-create-panel .mr-wide,
.mr-session-status-panel .mr-wide {
	grid-column: 1 / -1;
}

@media (max-width: 980px) {
	.mr-session-layout,
	.mr-session-create-panel .mr-app-form,
	.mr-session-create-panel .mr-compact-form,
	.mr-session-status-panel .mr-app-form,
	.mr-session-status-panel .mr-compact-form {
		grid-template-columns: 1fr !important;
	}

	.mr-app-nav a strong {
		justify-content: flex-start;
	}

	.mr-nav-badge {
		height: 20px;
		min-width: 20px;
	}
}
/* === MUN Revolution OS 0.6.7 academic sessions + social notifications END === */

/* === MUN Revolution OS 0.6.8 audit stabilization polish START === */
body.mr-os-portal-body {
	--mr-ink: #101828;
	--mr-navy: #17213a;
	--mr-navy-2: #22304f;
	--mr-gold: #a56a1b;
	--mr-gold-soft: #e7c98f;
	--mr-accent: #2563eb;
	--mr-border: #d9e0ea;
	--mr-surface: rgba(255, 255, 255, .86);
	background:
		linear-gradient(135deg, rgba(23, 33, 58, .08), rgba(37, 99, 235, .04) 42%, rgba(165, 106, 27, .07)),
		#f5f7fb !important;
	color: var(--mr-ink);
}

body.mr-os-portal-body .mr-app-shell,
body.mr-os-portal-body .mr-login-shell {
	background: transparent !important;
}

body.mr-os-portal-body .mr-app-sidebar,
body.mr-os-portal-body .mr-login-card,
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-user-card {
	background: var(--mr-surface) !important;
	border: 1px solid rgba(217, 224, 234, .92) !important;
	box-shadow: 0 20px 55px rgba(16, 24, 40, .10) !important;
	backdrop-filter: blur(18px);
}

body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-login-card {
	border-radius: 28px !important;
}

body.mr-os-portal-body .mr-app-nav a,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-compact-list > div,
body.mr-os-portal-body .mr-user-edit-card,
body.mr-os-portal-body .mr-committee-profile-card {
	border-radius: 18px !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active,
body.mr-os-portal-body .mr-app-nav a:hover {
	background: linear-gradient(135deg, rgba(23, 33, 58, .95), rgba(34, 48, 79, .95)) !important;
	border-color: rgba(23, 33, 58, .55) !important;
	color: #fff !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active span,
body.mr-os-portal-body .mr-app-nav a.is-active strong,
body.mr-os-portal-body .mr-app-nav a:hover span,
body.mr-os-portal-body .mr-app-nav a:hover strong {
	color: #fff !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-app-table button,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-login-card button {
	background: var(--mr-navy) !important;
	border: 1px solid rgba(23, 33, 58, .18) !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 24px rgba(23, 33, 58, .16) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	min-height: 38px !important;
	padding: 9px 16px !important;
	width: auto !important;
}

body.mr-os-portal-body .mr-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.mr-os-portal-body .mr-actions form {
	margin: 0;
}

body.mr-os-portal-body .mr-app-button:hover,
body.mr-os-portal-body .mr-app-table button:hover,
body.mr-os-portal-body .mr-actions button:hover,
body.mr-os-portal-body .mr-login-card button:hover {
	background: var(--mr-navy-2) !important;
	transform: translateY(-1px);
}

body.mr-os-portal-body .mr-status {
	border-radius: 999px !important;
	border-width: 1px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	padding: 7px 10px !important;
}

body.mr-os-portal-body .mr-status-confirmed,
body.mr-os-portal-body .mr-status-checked_in,
body.mr-os-portal-body .mr-status-approved,
body.mr-os-portal-body .mr-status-final,
body.mr-os-portal-body .mr-status-sent {
	background: #e9f8ef !important;
	border-color: #b7e4c7 !important;
	color: #17633a !important;
}

body.mr-os-portal-body .mr-status-declined,
body.mr-os-portal-body .mr-status-absent,
body.mr-os-portal-body .mr-status-rejected,
body.mr-os-portal-body .mr-status-failed {
	background: #fff0f0 !important;
	border-color: #ffc9c9 !important;
	color: #a12b2b !important;
}

body.mr-os-portal-body .mr-status-pending,
body.mr-os-portal-body .mr-status-pending_confirmation,
body.mr-os-portal-body .mr-status-open,
body.mr-os-portal-body .mr-status-scheduled,
body.mr-os-portal-body .mr-status-under_review {
	background: #eef4ff !important;
	border-color: #c7d7fe !important;
	color: #244aa5 !important;
}

body.mr-os-portal-body .mr-status-requires_review,
body.mr-os-portal-body .mr-status-needs_revision,
body.mr-os-portal-body .mr-status-break {
	background: #fff7e6 !important;
	border-color: #f3d19b !important;
	color: #875515 !important;
}

body.mr-os-portal-body .mr-status-replaced,
body.mr-os-portal-body .mr-status-archived,
body.mr-os-portal-body .mr-status-closed {
	background: #f2f4f7 !important;
	border-color: #d0d5dd !important;
	color: #475467 !important;
}

body.mr-os-portal-body .mr-country {
	background: #fff !important;
	border: 1px solid #e3e8ef !important;
	border-radius: 999px !important;
	color: var(--mr-navy) !important;
	font-weight: 800 !important;
	max-width: 100%;
	padding: 6px 10px !important;
}

body.mr-os-portal-body .mr-country > span:last-child {
	min-width: 0;
	overflow-wrap: anywhere;
}

body.mr-os-portal-body .mr-country-flag {
	background: #f8fafc;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(16, 24, 40, .08);
	display: inline-grid;
	height: 26px;
	place-items: center;
	width: 26px;
}

body.mr-os-portal-body .mr-app-table-wrap {
	overflow-x: auto !important;
}

body.mr-os-portal-body .mr-app-table {
	table-layout: auto;
}

body.mr-os-portal-body .mr-app-table th {
	background: #f8fafc !important;
	color: #667085 !important;
	font-size: 12px !important;
}

body.mr-os-portal-body .mr-app-table td {
	vertical-align: middle !important;
}

@media (max-width: 760px) {
	body.mr-os-portal-body {
		background: #f5f7fb !important;
	}

	body.mr-os-portal-body .mr-app-shell {
		min-height: 100vh;
		overflow-x: hidden;
		width: 100%;
	}

	body.mr-os-portal-body .mr-app-main,
	body.mr-os-portal-body .mr-glass-panel {
		min-width: 0;
		width: 100%;
	}

	body.mr-os-portal-body .mr-glass-panel,
	body.mr-os-portal-body .mr-login-card {
		border-radius: 22px !important;
	}

	body.mr-os-portal-body .mr-app-table-wrap {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	body.mr-os-portal-body .mr-app-table tbody tr {
		border: 1px solid #e3e8ef !important;
		border-radius: 18px !important;
		box-shadow: 0 12px 28px rgba(16, 24, 40, .07) !important;
		margin-bottom: 12px !important;
	}

	body.mr-os-portal-body .mr-app-table td {
		align-items: flex-start !important;
		gap: 12px !important;
		min-width: 0;
	}

	body.mr-os-portal-body .mr-actions,
	body.mr-os-portal-body .mr-app-table td:last-child {
		display: flex !important;
		gap: 8px !important;
		width: 100%;
	}

	body.mr-os-portal-body .mr-actions button,
	body.mr-os-portal-body .mr-app-table td:last-child button {
		min-height: 34px !important;
		padding: 8px 12px !important;
	}
}
/* === MUN Revolution OS 0.6.8 audit stabilization polish END === */

/* 0.6.8.2 Academic Area hotfix */
.mr-academic-panel .mr-session-stack{display:grid;gap:18px;margin-top:18px}.mr-session-card{background:#fff;border:1px solid #DADDE3;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(17,24,39,.06)}.mr-session-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.mr-session-card-head strong{display:block;color:#111827;font-size:1.05rem}.mr-session-card-head span,.mr-muted-text{color:#667085}.mr-attendance-grid,.mr-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:10px}.mr-attendance-row,.mr-choice-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #DADDE3;border-radius:14px;background:#F8FAFC;padding:12px}.mr-attendance-row strong,.mr-choice-card strong{display:block;color:#111827}.mr-attendance-row span,.mr-choice-card span span{display:block;color:#667085;font-size:.92rem}.mr-attendance-row select{max-width:170px}.mr-inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.mr-app-button,.mr-button-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 14px;border:1px solid #DADDE3;text-decoration:none;font-weight:700}.mr-app-button{background:#151A2D;color:#fff}.mr-button-secondary{background:#fff;color:#151A2D}.mr-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mr-chip-option input,.mr-choice-card input{position:absolute;opacity:0;pointer-events:none}.mr-chip-option span{display:inline-flex;align-items:center;border:1px solid #DADDE3;border-radius:999px;background:#fff;padding:9px 13px;color:#111827;font-weight:700;cursor:pointer}.mr-chip-option input:checked+span,.mr-choice-card:has(input:checked){border-color:#B88A1B;background:#F6EBC5;box-shadow:0 0 0 3px rgba(184,138,27,.14)}.mr-participation-form .mr-wide>strong,.mr-final-eval-form .mr-wide>strong{display:block;color:#111827;margin-bottom:4px}.mr-choice-card{justify-content:flex-start;cursor:pointer}.mr-choice-card>span{display:block}.mr-session-create-form{margin-bottom:18px}@media(max-width:720px){.mr-session-card-head{display:block}.mr-attendance-row{align-items:flex-start;flex-direction:column}.mr-attendance-row select{max-width:100%;width:100%}.mr-choice-grid{grid-template-columns:1fr}.mr-inline-form .mr-app-button,.mr-inline-form button{width:100%}}


/* === MUN Revolution OS 0.6.8.3 flow/persistence polish START === */
body.mr-os-portal-body .mr-app-brand {
  align-items: center !important;
  justify-items: center !important;
  text-align: center !important;
}
body.mr-os-portal-body .mr-app-brand img {
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body.mr-os-portal-body .mr-app-brand .mr-brand-os-badge,
body.mr-os-portal-body .mr-app-brand span.mr-brand-os-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 48px !important;
  margin: 2px auto 0 !important;
  padding: 5px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.34)) !important;
  backdrop-filter: blur(16px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 22px rgba(17,24,39,.08) !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
}
body.mr-os-portal-body .mr-participation-form .mr-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
body.mr-os-portal-body .mr-country-choice-card {
  min-height: 78px !important;
  padding: 12px 14px !important;
}
body.mr-os-portal-body .mr-country-choice-card span {
  align-items: center !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 100% !important;
  text-align: center !important;
}
body.mr-os-portal-body .mr-country-choice-card .mr-country-badge {
  font-size: 15px !important;
  font-weight: 900 !important;
  justify-content: center !important;
  width: 100% !important;
}
body.mr-os-portal-body .mr-inbox-item.is-read strong:last-child small,
body.mr-os-portal-body .mr-inbox-read-time {
  color: #667085 !important;
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin-top: 6px !important;
}
@media (max-width: 1180px) {
  body.mr-os-portal-body .mr-participation-form .mr-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
  body.mr-os-portal-body .mr-participation-form .mr-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 520px) {
  body.mr-os-portal-body .mr-participation-form .mr-choice-grid { grid-template-columns: 1fr !important; }
}
/* === MUN Revolution OS 0.6.8.3 flow/persistence polish END === */

/* === MUN Revolution OS 0.6.8.4 brand, QR and admin safety START === */
body.mr-os-portal-body .mr-app-brand .mr-brand-os-badge,
body.mr-os-portal-body .mr-app-brand span.mr-brand-os-badge {
  min-width: 76px !important;
  padding: 9px 20px !important;
  border-radius: 18px !important;
  color: #111827 !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.38)) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 14px 34px rgba(17,24,39,.12) !important;
  backdrop-filter: blur(18px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(180%) !important;
}
body.mr-os-portal-body .mr-event-logo-preview,
body.mr-os-portal-body .mr-event-list-main {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body.mr-os-portal-body .mr-event-logo-preview img,
body.mr-os-portal-body .mr-event-list-logo {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
  border: 1px solid var(--mr-border, #DADDE3) !important;
  border-radius: 14px !important;
  background: #fff !important;
  padding: 5px !important;
}
body.mr-os-portal-body .mr-event-list-item {
  align-items: center !important;
}
body.mr-os-portal-body .mr-danger-details {
  position: relative;
  font-weight: 700;
}
body.mr-os-portal-body .mr-danger-details summary {
  cursor: pointer;
  color: #B91C1C;
  list-style: none;
}
body.mr-os-portal-body .mr-danger-details form {
  margin-top: 10px;
  display: grid;
  gap: 8px;
  min-width: 260px;
  padding: 12px;
  border: 1px solid rgba(185,28,28,.22);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(17,24,39,.14);
}
body.mr-os-portal-body .mr-danger-details input {
  width: 100%;
}
body.mr-os-portal-body .mr-danger-button {
  background: #B91C1C !important;
  color: #fff !important;
  border-color: #B91C1C !important;
}
body.mr-os-portal-body .mr-profile-required-card,
body.mr-os-portal-body .mr-profile-gate {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--mr-border, #DADDE3);
  border-radius: 22px;
  background: linear-gradient(145deg, #FFFFFF, #F8FAFC);
  box-shadow: 0 12px 28px rgba(17,24,39,.07);
}
body.mr-os-portal-body .mr-profile-required-card.is-required,
body.mr-os-portal-body .mr-profile-gate {
  border-color: rgba(184,138,27,.45);
  background: linear-gradient(145deg, #FFFFFF, #F6EBC5);
}
body.mr-os-portal-body .mr-profile-required-card img {
  width: 78px;
  height: 78px;
  flex: 0 0 78px;
  border-radius: 24px;
  object-fit: cover;
  background: #fff;
  border: 1px solid var(--mr-border, #DADDE3);
}
body.mr-os-portal-body .mr-profile-required-card h3,
body.mr-os-portal-body .mr-profile-gate h2 {
  margin: 3px 0 6px;
  color: #111827;
}
body.mr-os-portal-body .mr-profile-required-card .mr-inline-form {
  margin-top: 12px;
}
@media (max-width: 720px) {
  body.mr-os-portal-body .mr-profile-required-card,
  body.mr-os-portal-body .mr-profile-gate { align-items: flex-start; flex-direction: column; }
  body.mr-os-portal-body .mr-app-brand .mr-brand-os-badge,
  body.mr-os-portal-body .mr-app-brand span.mr-brand-os-badge { display: inline-flex !important; font-size: 18px !important; min-width: 68px !important; }
  body.mr-os-portal-body .mr-danger-details form { min-width: 100%; }
}
/* === MUN Revolution OS 0.6.8.4 brand, QR and admin safety END === */

/* === MUN Revolution OS 0.6.8.5 QR, inbox and brand refinement START === */
body.mr-os-portal-body .mr-app-brand .mr-brand-os-badge,
body.mr-os-portal-body .mr-app-brand span.mr-brand-os-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  min-height: 42px !important;
  padding: 7px 22px !important;
  margin-top: 10px !important;
  border-radius: 22px !important;
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  font-weight: 950 !important;
  color: #111827 !important;
  background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,255,255,.48)) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 10px 24px rgba(17,24,39,.10) !important;
  backdrop-filter: blur(18px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.35) !important;
}
body.mr-os-portal-body .mr-accreditation-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 10px 16px;
  border-radius: 16px;
  background: #151A2D;
  color: #FFFFFF;
  font-size: 22px;
  letter-spacing: .08em;
  font-weight: 900;
  width: fit-content;
}
body.mr-os-portal-body .mr-inbox-list a.mr-inbox-item {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
body.mr-os-portal-body .mr-inbox-open-card {
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid rgba(184,138,27,.24);
  border-radius: 24px;
  background: linear-gradient(145deg, #FFFFFF, #F8FAFC);
  box-shadow: 0 14px 34px rgba(17,24,39,.07);
}
body.mr-os-portal-body .mr-inbox-open-card h3 {
  margin: 8px 0 6px;
  color: #111827;
  font-size: clamp(24px, 3vw, 34px);
}
body.mr-os-portal-body .mr-inbox-meta,
body.mr-os-portal-body .mr-inbox-read-time {
  color: #667085;
  font-weight: 700;
}
body.mr-os-portal-body .mr-inbox-body {
  margin-top: 16px;
  color: #111827;
  font-size: 17px;
  line-height: 1.65;
}
@media (max-width: 720px) {
  body.mr-os-portal-body .mr-app-brand .mr-brand-os-badge,
  body.mr-os-portal-body .mr-app-brand span.mr-brand-os-badge {
    min-width: 88px !important;
    min-height: 36px !important;
    font-size: 24px !important;
  }
}
/* === MUN Revolution OS 0.6.8.5 QR, inbox and brand refinement END === */

/* Bulk participant actions */
.mr-bulk-actions {
  align-items: center;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--mr-border, #DADDE3);
  border-radius: 18px;
  padding: 12px;
}
.mr-select-col {
  width: 42px;
  text-align: center;
}
.mr-select-col input[type="checkbox"],
.mr-participant-check {
  width: 18px;
  height: 18px;
  accent-color: var(--mr-gold, #B88A1B);
}
@media (max-width: 720px) {
  .mr-select-col {
    width: auto;
    text-align: left;
  }
  .mr-app-table .mr-select-col::before {
    display: none;
  }
}

/* === MUN Revolution OS 0.6.8.8 participant list visual refinement START === */
body.mr-os-portal-body .mr-participants-shell .mr-panel-head {
  align-items: center;
  gap: 18px;
}
body.mr-os-portal-body .mr-participants-shell .mr-app-filters {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(218,221,227,.95);
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(21,26,45,.045);
  padding: 14px;
}
body.mr-os-portal-body .mr-participants-shell .mr-bulk-actions {
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,250,252,.9));
  border: 1px solid rgba(231,216,163,.85);
  border-radius: 24px;
  box-shadow: 0 16px 34px rgba(21,26,45,.06);
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(190px, .9fr) minmax(220px, 1fr) auto;
  gap: 10px;
  margin-top: 14px;
}
body.mr-os-portal-body .mr-participants-shell .mr-bulk-actions select,
body.mr-os-portal-body .mr-participants-shell .mr-bulk-actions input {
  min-height: 46px;
  border-radius: 16px;
  background: #fff;
}
body.mr-os-portal-body .mr-participants-shell .mr-bulk-actions button {
  min-height: 46px;
  border-radius: 999px;
  padding: 0 20px;
  white-space: nowrap;
}
body.mr-os-portal-body .mr-participants-shell .mr-app-table-wrap {
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  margin-top: 16px;
}
body.mr-os-portal-body .mr-participants-table {
  border-collapse: separate !important;
  border-spacing: 0 10px;
  width: 100%;
}
body.mr-os-portal-body .mr-participants-table thead th {
  background: transparent !important;
  border: 0 !important;
  color: #667085;
  font-size: 11px;
  letter-spacing: .12em;
  padding: 0 14px 4px !important;
  text-transform: uppercase;
}
body.mr-os-portal-body .mr-participants-table tbody tr {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(21,26,45,.045);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.mr-os-portal-body .mr-participants-table tbody tr:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(21,26,45,.075);
}
body.mr-os-portal-body .mr-participants-table tbody td {
  border-top: 1px solid rgba(218,221,227,.8) !important;
  border-bottom: 1px solid rgba(218,221,227,.8) !important;
  padding: 15px 14px !important;
  vertical-align: middle;
}
body.mr-os-portal-body .mr-participants-table tbody td:first-child {
  border-left: 1px solid rgba(218,221,227,.8) !important;
  border-radius: 24px 0 0 24px;
}
body.mr-os-portal-body .mr-participants-table tbody td:last-child {
  border-right: 1px solid rgba(218,221,227,.8) !important;
  border-radius: 0 24px 24px 0;
}
body.mr-os-portal-body .mr-participant-cell .mr-participant-main {
  display: grid;
  gap: 3px;
  min-width: 240px;
}
body.mr-os-portal-body .mr-participant-cell strong {
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
}
body.mr-os-portal-body .mr-participant-cell span {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
body.mr-os-portal-body .mr-committee-cell {
  color: #475467;
  font-size: 13px;
  font-weight: 800;
  max-width: 180px;
}
body.mr-os-portal-body .mr-country-cell .mr-country {
  align-items: center;
  background: #fff;
  border: 1px solid #DADDE3;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(21,26,45,.04);
  color: #475467;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  gap: 8px;
  line-height: 1.1;
  max-width: 210px;
  padding: 8px 12px;
  white-space: normal;
  word-break: normal;
}
body.mr-os-portal-body .mr-country-cell .mr-country-flag {
  align-items: center;
  background: #F8FAFC;
  border: 1px solid #EAECF0;
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 28px;
  font-size: 16px;
  height: 28px;
  justify-content: center;
  width: 28px;
}
body.mr-os-portal-body .mr-status-cell .mr-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  gap: 6px;
  justify-content: center;
  min-width: 108px;
  padding: 8px 12px;
  white-space: nowrap;
}
body.mr-os-portal-body .mr-participant-actions {
  align-items: center;
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
  min-width: 220px;
}
body.mr-os-portal-body .mr-participant-actions form {
  margin: 0;
}
body.mr-os-portal-body .mr-mini-action,
body.mr-os-portal-body .mr-participant-actions .mr-mini-action {
  align-items: center;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  height: 36px !important;
  justify-content: center;
  line-height: 1 !important;
  min-width: 78px;
  padding: 0 13px !important;
  text-decoration: none !important;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease;
}
body.mr-os-portal-body .mr-mini-action:hover {
  transform: translateY(-1px);
}
body.mr-os-portal-body .mr-mini-action-light {
  background: #fff !important;
  border-color: #DADDE3 !important;
  color: #151A2D !important;
}
body.mr-os-portal-body .mr-mini-action-primary {
  background: #151A2D !important;
  border-color: #151A2D !important;
  color: #fff !important;
}
body.mr-os-portal-body .mr-mini-action-gold {
  background: #F6EBC5 !important;
  border-color: #E7D8A3 !important;
  color: #7A5610 !important;
}
body.mr-os-portal-body .mr-participant-actions .mr-danger-details {
  flex-basis: 100%;
  margin-top: 2px;
  text-align: right;
}
body.mr-os-portal-body .mr-participant-actions .mr-danger-details > summary {
  color: #B91C1C;
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  list-style: none;
  padding: 4px 6px;
}
body.mr-os-portal-body .mr-participant-actions .mr-danger-details > summary::-webkit-details-marker {
  display: none;
}
body.mr-os-portal-body .mr-participant-actions .mr-danger-details[open] {
  background: #FFF7F7;
  border: 1px solid rgba(185,28,28,.22);
  border-radius: 18px;
  padding: 10px;
}
body.mr-os-portal-body .mr-participant-actions .mr-danger-details form {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  min-width: 260px;
  text-align: left;
}
body.mr-os-portal-body .mr-select-col input[type="checkbox"],
body.mr-os-portal-body .mr-participant-check {
  appearance: none;
  background: #fff;
  border: 2px solid #BFC5D2;
  border-radius: 7px;
  cursor: pointer;
  height: 22px;
  position: relative;
  width: 22px;
}
body.mr-os-portal-body .mr-select-col input[type="checkbox"]:checked,
body.mr-os-portal-body .mr-participant-check:checked {
  background: #B88A1B;
  border-color: #B88A1B;
}
body.mr-os-portal-body .mr-select-col input[type="checkbox"]:checked::after,
body.mr-os-portal-body .mr-participant-check:checked::after {
  color: #fff;
  content: "✓";
  font-size: 15px;
  font-weight: 900;
  left: 4px;
  position: absolute;
  top: 0;
}
@media (max-width: 1180px) {
  body.mr-os-portal-body .mr-participants-shell .mr-bulk-actions {
    grid-template-columns: 1fr 1fr;
  }
  body.mr-os-portal-body .mr-participant-actions {
    justify-content: flex-start;
    min-width: 180px;
  }
}
@media (max-width: 820px) {
  body.mr-os-portal-body .mr-participants-table,
  body.mr-os-portal-body .mr-participants-table thead,
  body.mr-os-portal-body .mr-participants-table tbody,
  body.mr-os-portal-body .mr-participants-table th,
  body.mr-os-portal-body .mr-participants-table td,
  body.mr-os-portal-body .mr-participants-table tr {
    display: block;
  }
  body.mr-os-portal-body .mr-participants-table thead {
    display: none;
  }
  body.mr-os-portal-body .mr-participants-table tbody tr {
    border: 1px solid #DADDE3;
    border-radius: 24px;
    margin-bottom: 12px;
    padding: 14px;
  }
  body.mr-os-portal-body .mr-participants-table tbody td,
  body.mr-os-portal-body .mr-participants-table tbody td:first-child,
  body.mr-os-portal-body .mr-participants-table tbody td:last-child {
    border: 0 !important;
    border-radius: 0;
    padding: 8px 0 !important;
  }
  body.mr-os-portal-body .mr-participants-table tbody td[data-label]::before {
    color: #667085;
    content: attr(data-label);
    display: block;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    margin-bottom: 4px;
    text-transform: uppercase;
  }
  body.mr-os-portal-body .mr-participant-actions {
    justify-content: flex-start;
    min-width: 0;
  }
  body.mr-os-portal-body .mr-participants-shell .mr-bulk-actions {
    grid-template-columns: 1fr;
  }
}
/* === MUN Revolution OS 0.6.8.8 participant list visual refinement END === */


/* === MUN Revolution OS 0.6.8.9 committee/country polish START === */
body.mr-os-portal-body .mr-committee-profile-card {
  padding: 22px !important;
}
body.mr-os-portal-body .mr-committee-profile-main {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  flex-wrap: wrap !important;
}
body.mr-os-portal-body .mr-committee-profile-identity {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-width: 280px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity .mr-committee {
  gap: 14px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity .mr-committee-logo,
body.mr-os-portal-body .mr-committee-profile-identity .mr-committee-mark {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  border-radius: 16px !important;
  font-size: 18px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity .mr-committee-logo img {
  width: 58px !important;
  height: 58px !important;
  object-fit: contain !important;
}
body.mr-os-portal-body .mr-committee-profile-identity .mr-committee > span:last-child {
  color: #111827 !important;
  font-size: clamp(22px, 2vw, 31px) !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
}
body.mr-os-portal-body .mr-committee-profile-identity .mr-committee-topic {
  display: block !important;
  margin-top: 4px !important;
  color: #667085 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}
body.mr-os-portal-body .mr-committee-profile-event {
  margin-left: auto !important;
  min-width: 220px !important;
  text-align: right !important;
}
body.mr-os-portal-body .mr-committee-profile-event span {
  display: block !important;
  color: #B88A1B !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
body.mr-os-portal-body .mr-committee-profile-event strong {
  display: block !important;
  color: #151A2D !important;
  font-size: clamp(19px, 1.45vw, 25px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}
body.mr-os-portal-body .mr-country,
body.mr-os-portal-body .mr-country-cell .mr-country {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  gap: 10px !important;
  max-width: none !important;
  padding: 0 !important;
  white-space: normal !important;
}
body.mr-os-portal-body .mr-country-flag,
body.mr-os-portal-body .mr-country-cell .mr-country-flag {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 25px !important;
  height: auto !important;
  justify-content: center !important;
  line-height: 1 !important;
  width: auto !important;
}
body.mr-os-portal-body .mr-country > span:last-child,
body.mr-os-portal-body .mr-country-cell .mr-country > span:last-child {
  color: #475467 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
body.mr-os-portal-body .mr-committee-roster-table th:nth-child(2),
body.mr-os-portal-body .mr-committee-roster-table td:nth-child(2),
body.mr-os-portal-body .mr-participants-table th:nth-child(4),
body.mr-os-portal-body .mr-participants-table td:nth-child(4),
body.mr-os-portal-body .mr-country-cell {
  text-align: left !important;
}
body.mr-os-portal-body .mr-committee-roster-table td:nth-child(2) {
  width: 28% !important;
}
@media (max-width: 760px) {
  body.mr-os-portal-body .mr-committee-profile-main { align-items: flex-start !important; }
  body.mr-os-portal-body .mr-committee-profile-event { margin-left: 0 !important; text-align: left !important; width: 100% !important; }
  body.mr-os-portal-body .mr-committee-profile-identity { min-width: 0 !important; width: 100% !important; }
}
/* === MUN Revolution OS 0.6.8.9 committee/country polish END === */

/* === MUN Revolution OS 0.6.9.0 committee logos + bulk cleanup START === */
body.mr-os-portal-body .mr-committee-profile-card--polished .mr-committee-profile-main {
  align-items: center !important;
  gap: 28px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee {
  gap: 16px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border-radius: 20px !important;
  background: #fff !important;
  border: 1px solid #DADDE3 !important;
  box-shadow: 0 10px 24px rgba(21, 26, 45, .08) !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 8px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee strong,
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-name {
  font-size: clamp(25px, 2.4vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.05em !important;
  color: #111827 !important;
}
body.mr-os-portal-body .mr-committee-profile-event--with-logo {
  align-items: center !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: flex-end !important;
  margin-left: auto !important;
  min-width: 260px !important;
  text-align: left !important;
}
body.mr-os-portal-body .mr-committee-profile-event--with-logo img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 16px !important;
  object-fit: contain !important;
  background: rgba(255, 255, 255, .74) !important;
  border: 1px solid rgba(218, 221, 227, .92) !important;
  padding: 7px !important;
  box-shadow: 0 12px 28px rgba(21, 26, 45, .07) !important;
}
body.mr-os-portal-body .mr-committee-profile-event--with-logo strong {
  display: block !important;
  font-size: clamp(20px, 1.7vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}
body.mr-os-portal-body .mr-danger-bulk-actions {
  background: #fff7f7 !important;
  border-color: rgba(185, 28, 28, .22) !important;
  margin: 0 0 18px !important;
}
body.mr-os-portal-body .mr-danger-bulk-actions strong {
  color: #B91C1C !important;
}
body.mr-os-portal-body .mr-danger-bulk-actions input {
  max-width: 220px !important;
}
body.mr-os-portal-body .mr-admin-select {
  align-items: center !important;
  background: #F8FAFC !important;
  border: 1px solid #DADDE3 !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  gap: 8px !important;
  padding: 8px 10px !important;
}
body.mr-os-portal-body .mr-admin-select span {
  color: #667085 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
body.mr-os-portal-body .mr-session-card-head .mr-committee {
  display: inline-flex !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
body.mr-os-portal-body .mr-session-card-head .mr-committee-logo {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
}
@media (max-width: 820px) {
  body.mr-os-portal-body .mr-committee-profile-card--polished .mr-committee-profile-main {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.mr-os-portal-body .mr-committee-profile-event--with-logo {
    justify-content: flex-start !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-danger-bulk-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  body.mr-os-portal-body .mr-danger-bulk-actions input,
  body.mr-os-portal-body .mr-danger-bulk-actions button {
    max-width: none !important;
    width: 100% !important;
  }
}
/* === MUN Revolution OS 0.6.9.0 committee logos + bulk cleanup END === */

/* === MUN Revolution OS 0.6.9.1 brand/topbar/committee polish START === */
body.mr-os-portal-body .mr-event-switcher--brand {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  gap: 14px !important;
  padding: 0 !important;
}
body.mr-os-portal-body .mr-active-event-logo {
  display: block !important;
  height: 74px !important;
  max-width: 250px !important;
  object-fit: contain !important;
  width: auto !important;
}
body.mr-os-portal-body .mr-active-event-name-fallback {
  color: #111827 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  max-width: 260px !important;
  white-space: normal !important;
}
body.mr-os-portal-body .mr-event-switcher--brand select {
  background: rgba(255,255,255,.68) !important;
  border: 1px solid rgba(218, 221, 227, .95) !important;
  border-radius: 15px !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  max-width: 210px !important;
  min-height: 42px !important;
  padding: 8px 34px 8px 12px !important;
  width: auto !important;
}
body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  gap: 10px !important;
  padding-left: 12px !important;
}
body.mr-os-portal-body .mr-app-user-photo {
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 16px rgba(21, 26, 45, .12) !important;
  display: block !important;
  height: 46px !important;
  object-fit: cover !important;
  width: 46px !important;
}
body.mr-os-portal-body .mr-committee-admin-list {
  gap: 14px !important;
}
body.mr-os-portal-body .mr-committee-admin-row {
  align-items: center !important;
  display: flex !important;
  justify-content: space-between !important;
  padding: 18px 20px !important;
}
body.mr-os-portal-body .mr-committee-admin-identity {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  min-width: 0 !important;
}
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee {
  align-items: center !important;
  display: inline-flex !important;
  gap: 14px !important;
}
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo,
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-mark {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #151A2D !important;
  font-size: 22px !important;
  height: 56px !important;
  min-width: 56px !important;
  padding: 0 !important;
  width: 56px !important;
}
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo img {
  height: 100% !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: 100% !important;
}
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee > span:last-child {
  color: #111827 !important;
  display: inline !important;
  font-size: clamp(20px, 1.6vw, 27px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
  white-space: normal !important;
}
body.mr-os-portal-body .mr-committee-admin-identity small {
  color: #667085 !important;
  display: block !important;
  flex-basis: 100% !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-left: 70px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo,
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark,
body.mr-os-portal-body .mr-session-card-head .mr-committee-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body.mr-os-portal-body .mr-committee-profile-event--with-logo img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
@media (max-width: 900px) {
  body.mr-os-portal-body .mr-topbar-tools { align-items: stretch !important; }
  body.mr-os-portal-body .mr-event-switcher--brand { justify-content: flex-start !important; width: 100% !important; }
  body.mr-os-portal-body .mr-active-event-logo { height: 58px !important; max-width: 180px !important; }
  body.mr-os-portal-body .mr-event-switcher--brand select { flex: 1 1 auto !important; max-width: none !important; }
  body.mr-os-portal-body .mr-app-user { justify-content: flex-start !important; width: 100% !important; }
  body.mr-os-portal-body .mr-committee-admin-row { align-items: flex-start !important; flex-direction: column !important; gap: 14px !important; }
  body.mr-os-portal-body .mr-committee-admin-identity small { margin-left: 0 !important; }
}
/* === MUN Revolution OS 0.6.9.1 brand/topbar/committee polish END === */


/* === MUN Revolution OS 0.6.9.2 role/brand polish START === */
body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  gap: 18px !important;
}
body.mr-os-portal-body .mr-event-switcher--logo-only {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: auto !important;
  padding: 0 !important;
  position: relative !important;
}
body.mr-os-portal-body .mr-event-switcher--logo-only .mr-active-event-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  height: clamp(64px, 5.8vw, 104px) !important;
  max-width: clamp(170px, 18vw, 330px) !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: auto !important;
}
body.mr-os-portal-body .mr-event-switcher--logo-only .mr-event-switcher-select {
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  bottom: 0 !important;
  color: transparent !important;
  cursor: pointer !important;
  font-size: 0 !important;
  height: 100% !important;
  left: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  z-index: 3 !important;
}
body.mr-os-portal-body .mr-active-event-name-fallback {
  border: 1px solid #DADDE3 !important;
  border-radius: 18px !important;
  display: inline-flex !important;
  font-size: 18px !important;
  padding: 12px 16px !important;
}
body.mr-os-portal-body .mr-app-user {
  gap: 12px !important;
  min-height: 74px !important;
  padding: 10px 12px !important;
}
body.mr-os-portal-body .mr-app-user-photo {
  height: 56px !important;
  width: 56px !important;
}
body.mr-os-portal-body .mr-app-user span {
  max-width: 180px !important;
}
body.mr-os-portal-body .mr-committee-profile-event--logo-only {
  align-items: center !important;
  display: flex !important;
  justify-content: flex-end !important;
  min-width: 170px !important;
}
body.mr-os-portal-body .mr-committee-profile-event--logo-only img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: clamp(58px, 5vw, 96px) !important;
  max-width: clamp(170px, 18vw, 330px) !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: auto !important;
}
body.mr-os-portal-body .mr-committee-profile-event--logo-only strong {
  font-size: clamp(24px, 2.2vw, 38px) !important;
  font-weight: 900 !important;
}
body.mr-os-portal-body .mr-committee-profile-main {
  align-items: center !important;
  gap: 28px !important;
  justify-content: space-between !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee {
  gap: 18px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo,
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark {
  height: 84px !important;
  min-width: 84px !important;
  width: 84px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee > span:last-child {
  font-size: clamp(34px, 3vw, 54px) !important;
  line-height: 1.02 !important;
}
body.mr-os-portal-body .mr-committee-admin-row .mr-committee-logo,
body.mr-os-portal-body .mr-committee-admin-row .mr-committee-mark {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.mr-os-portal-body .mr-role-icon {
  align-items: center !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-style: normal !important;
  height: 34px !important;
  justify-content: center !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
  width: 34px !important;
}
body.mr-os-portal-body .mr-role-icon-standard {
  background: #F6EBC5 !important;
  color: #7A4E00 !important;
}
body.mr-os-portal-body .mr-role-icon-justice,
body.mr-os-portal-body .mr-committee-context-justice .mr-committee-mark {
  background: #E0F2FE !important;
  color: #075985 !important;
}
body.mr-os-portal-body .mr-role-icon-press,
body.mr-os-portal-body .mr-committee-context-press .mr-committee-mark {
  background: #FCE7F3 !important;
  color: #9D174D !important;
}
body.mr-os-portal-body .mr-role-icon-council,
body.mr-os-portal-body .mr-committee-context-council .mr-committee-mark {
  background: #ECFDF5 !important;
  color: #047857 !important;
}
body.mr-os-portal-body .mr-committee-context-justice > span:last-child,
body.mr-os-portal-body .mr-committee-context-press > span:last-child,
body.mr-os-portal-body .mr-committee-context-council > span:last-child {
  letter-spacing: -0.04em !important;
}
body.mr-os-portal-body .mr-committee-roster-table td:first-child strong {
  align-items: center !important;
  display: inline-flex !important;
}
@media (max-width: 1100px) {
  body.mr-os-portal-body .mr-app-topbar {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.mr-os-portal-body .mr-topbar-tools {
    justify-content: space-between !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-committee-profile-main {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.mr-os-portal-body .mr-committee-profile-event--logo-only {
    justify-content: flex-start !important;
  }
}
@media (max-width: 700px) {
  body.mr-os-portal-body .mr-topbar-tools {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.mr-os-portal-body .mr-event-switcher--logo-only .mr-active-event-logo {
    height: 62px !important;
    max-width: 220px !important;
  }
  body.mr-os-portal-body .mr-app-user {
    width: 100% !important;
  }
}
/* === MUN Revolution OS 0.6.9.2 role/brand polish END === */

/* === MUN Revolution OS 0.7.0 visual app leap START === */
:root {
  --mr-app-bg: #eef2f7;
  --mr-app-bg-soft: #f6f8fb;
  --mr-ink: #101828;
  --mr-navy: #111827;
  --mr-navy-2: #1f2f55;
  --mr-blue: #243e86;
  --mr-blue-soft: #e9efff;
  --mr-gold: #b67812;
  --mr-gold-2: #d59a24;
  --mr-gold-soft: #fff3cf;
  --mr-border: #d9e1ec;
  --mr-muted: #667085;
  --mr-card: rgba(255,255,255,.92);
  --mr-shadow: 0 20px 60px rgba(16,24,40,.10);
  --mr-shadow-soft: 0 10px 30px rgba(16,24,40,.08);
}

body.mr-os-portal-body {
  background:
    radial-gradient(circle at 18% 8%, rgba(182, 120, 18, .16), transparent 26%),
    radial-gradient(circle at 85% 14%, rgba(36, 62, 134, .14), transparent 28%),
    linear-gradient(135deg, #f9fafb 0%, var(--mr-app-bg) 52%, #f7f0df 100%) !important;
  color: var(--mr-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.mr-os-portal-body::before {
  background: linear-gradient(90deg, var(--mr-navy), var(--mr-blue), var(--mr-gold)) !important;
  content: "" !important;
  display: block !important;
  height: 6px !important;
  left: 0 !important;
  position: fixed !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 10000 !important;
}

body.mr-os-portal-body .mr-app {
  background: transparent !important;
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) !important;
  margin: 0 auto !important;
  max-width: 1920px !important;
  min-height: 100vh !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-app-sidebar {
  background:
    radial-gradient(circle at 34% 0%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(180deg, #233f91 0%, #132a65 38%, #0f214f 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 18px 0 55px rgba(16, 24, 40, .14) !important;
  min-height: 100vh !important;
  padding: 34px 28px 28px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
}

body.mr-os-portal-body .mr-app-brand {
  align-items: center !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  margin: -4px 0 28px !important;
  padding: 0 0 28px !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-brand img {
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.12)) !important;
  height: auto !important;
  max-height: 100px !important;
  max-width: 230px !important;
  object-fit: contain !important;
  width: 86% !important;
}

body.mr-os-portal-body .mr-brand-os-badge {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.7) !important;
  color: #0c1428 !important;
  font-size: clamp(32px, 3.2vw, 46px) !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
  padding: 18px 34px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.mr-os-portal-body .mr-app-nav a {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 4px solid transparent !important;
  border-radius: 24px !important;
  color: rgba(255,255,255,.95) !important;
  display: flex !important;
  justify-content: space-between !important;
  min-height: 58px !important;
  padding: 12px 16px !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

body.mr-os-portal-body .mr-app-nav a:hover,
body.mr-os-portal-body .mr-app-nav a:focus {
  background: rgba(255,255,255,.12) !important;
  transform: translateX(2px) !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
  background: linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.10)) !important;
  border-color: var(--mr-gold-2) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 14px 30px rgba(0,0,0,.12) !important;
}

body.mr-os-portal-body .mr-app-nav span {
  color: #f2cc77 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav strong {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 850 !important;
  letter-spacing: -.03em !important;
}

body.mr-os-portal-body .mr-nav-badge {
  background: #ef4444 !important;
  border: 2px solid rgba(255,255,255,.85) !important;
  box-shadow: 0 8px 18px rgba(239,68,68,.35) !important;
  color: #fff !important;
  margin-left: 8px !important;
}

body.mr-os-portal-body .mr-app-main {
  background: transparent !important;
  min-width: 0 !important;
  padding: clamp(28px, 3vw, 54px) clamp(22px, 4vw, 72px) 80px !important;
}

body.mr-os-portal-body .mr-app-topbar {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(182,120,18,.24) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 22px !important;
  justify-content: space-between !important;
  margin: 0 0 32px !important;
  padding: 0 0 26px !important;
}

body.mr-os-portal-body .mr-app-topbar p {
  color: var(--mr-muted) !important;
  font-size: 17px !important;
  font-weight: 850 !important;
  letter-spacing: .09em !important;
  margin: 0 0 7px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
  color: var(--mr-ink) !important;
  font-size: clamp(44px, 5vw, 82px) !important;
  font-weight: 950 !important;
  letter-spacing: -.075em !important;
  line-height: .95 !important;
  margin: 0 !important;
  max-width: 980px !important;
}

body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  gap: 22px !important;
  justify-content: flex-end !important;
}

body.mr-os-portal-body .mr-event-switcher--logo-only,
body.mr-os-portal-body .mr-event-switcher--brand {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 16px !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-event-switcher--logo-only .mr-active-event-logo,
body.mr-os-portal-body .mr-active-event-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: clamp(62px, 6vw, 110px) !important;
  max-width: clamp(180px, 21vw, 390px) !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-event-switcher-select {
  background: rgba(255,255,255,.78) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 26px rgba(16,24,40,.07) !important;
  color: var(--mr-ink) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  max-width: 190px !important;
  min-height: 56px !important;
  padding: 0 18px !important;
}

body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 28px !important;
  box-shadow: var(--mr-shadow-soft) !important;
  display: flex !important;
  gap: 14px !important;
  min-height: 76px !important;
  padding: 10px 12px 10px 12px !important;
}

body.mr-os-portal-body .mr-app-user-photo {
  border: 3px solid rgba(255,255,255,.96) !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.16) !important;
  display: block !important;
  height: 58px !important;
  object-fit: cover !important;
  width: 58px !important;
}

body.mr-os-portal-body .mr-app-user span {
  color: var(--mr-ink) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  line-height: 1.1 !important;
  max-width: 220px !important;
}

body.mr-os-portal-body .mr-app-user a {
  background: #101828 !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 24px rgba(16,24,40,.18) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  padding: 14px 18px !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-section-tabs {
  align-items: center !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 38px !important;
  box-shadow: var(--mr-shadow-soft) !important;
  display: flex !important;
  gap: 8px !important;
  margin: 0 0 28px !important;
  overflow-x: auto !important;
  padding: 12px !important;
  scrollbar-width: none !important;
}

body.mr-os-portal-body .mr-section-tabs::-webkit-scrollbar { display: none !important; }

body.mr-os-portal-body .mr-section-tabs a {
  border-radius: 30px !important;
  color: var(--mr-ink) !important;
  flex: 0 0 auto !important;
  min-width: fit-content !important;
  padding: 14px 18px !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-section-tabs a.is-active {
  background: #101828 !important;
  box-shadow: 0 14px 34px rgba(16,24,40,.20) !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-section-tabs span {
  color: var(--mr-gold) !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  margin-bottom: 5px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-section-tabs strong {
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

body.mr-os-portal-body .mr-panel,
body.mr-os-portal-body .mr-app-card,
body.mr-os-portal-body .mr-app-grid > *,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-committee-profile,
body.mr-os-portal-body .mr-app-notice,
body.mr-os-portal-body .mr-app-stats div {
  background: var(--mr-card) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 34px !important;
  box-shadow: var(--mr-shadow-soft) !important;
}

body.mr-os-portal-body .mr-panel,
body.mr-os-portal-body .mr-app-card {
  padding: clamp(24px, 3vw, 44px) !important;
}

body.mr-os-portal-body .mr-panel-head {
  border-bottom: 1px solid rgba(217,225,236,.8) !important;
  margin-bottom: 22px !important;
  padding-bottom: 18px !important;
}

body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-panel h3 + p,
body.mr-os-portal-body .mr-committee-profile-event span,
body.mr-os-portal-body .mr-panel-head div > p {
  color: var(--mr-gold) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-panel h2,
body.mr-os-portal-body .mr-panel h3 {
  color: var(--mr-ink) !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
}

body.mr-os-portal-body .mr-app-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.22), transparent 28%),
    linear-gradient(135deg, #2d5bd6 0%, #2444a2 48%, #101828 100%) !important;
  border: 0 !important;
  border-radius: 36px !important;
  box-shadow: 0 24px 70px rgba(36,68,162,.25) !important;
  color: #fff !important;
  overflow: hidden !important;
  padding: clamp(30px, 4vw, 58px) !important;
  position: relative !important;
}

body.mr-os-portal-body .mr-app-hero::after {
  background: rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  content: "" !important;
  height: 280px !important;
  position: absolute !important;
  right: -70px !important;
  top: -70px !important;
  width: 280px !important;
}

body.mr-os-portal-body .mr-app-hero p,
body.mr-os-portal-body .mr-app-hero h2,
body.mr-os-portal-body .mr-app-hero .mr-muted {
  color: #fff !important;
  position: relative !important;
  z-index: 1 !important;
}

body.mr-os-portal-body .mr-app-hero h2 {
  font-size: clamp(42px, 5.2vw, 78px) !important;
  letter-spacing: -.07em !important;
  line-height: .98 !important;
  max-width: 760px !important;
}

body.mr-os-portal-body .mr-app-quick a,
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-app-form button,
body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-action-button,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button {
  align-items: center !important;
  border-radius: 18px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-form button,
body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-action-button,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-actions a:nth-child(2) {
  background: #101828 !important;
  border: 1px solid #101828 !important;
  box-shadow: 0 14px 30px rgba(16,24,40,.18) !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-app-link,
body.mr-os-portal-body .mr-app-button-secondary {
  background: #fff !important;
  border: 1px solid var(--mr-border) !important;
  color: var(--mr-ink) !important;
}

body.mr-os-portal-body .mr-danger-button,
body.mr-os-portal-body .mr-actions .mr-danger-button,
body.mr-os-portal-body .mr-actions a[href*="delete"],
body.mr-os-portal-body .mr-danger-details summary {
  background: #fff5f5 !important;
  border-color: #fecaca !important;
  color: #b91c1c !important;
}

body.mr-os-portal-body .mr-app-table {
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
}

body.mr-os-portal-body .mr-app-table th {
  background: transparent !important;
  color: var(--mr-muted) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  padding: 10px 18px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-table td {
  background: #fff !important;
  border-bottom: 1px solid #edf1f7 !important;
  border-top: 1px solid #edf1f7 !important;
  padding: 18px !important;
  vertical-align: middle !important;
}

body.mr-os-portal-body .mr-app-table tr td:first-child {
  border-left: 1px solid #edf1f7 !important;
  border-radius: 22px 0 0 22px !important;
}

body.mr-os-portal-body .mr-app-table tr td:last-child {
  border-right: 1px solid #edf1f7 !important;
  border-radius: 0 22px 22px 0 !important;
}

body.mr-os-portal-body .mr-app-table td strong,
body.mr-os-portal-body .mr-participant-name {
  color: var(--mr-ink) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

body.mr-os-portal-body .mr-status-badge,
body.mr-os-portal-body .mr-chip,
body.mr-os-portal-body .mr-country-badge {
  border-radius: 999px !important;
  font-weight: 900 !important;
}

body.mr-os-portal-body .mr-country-badge {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--mr-ink) !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-country-badge .mr-country-flag,
body.mr-os-portal-body .mr-country-flag {
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 12px rgba(16,24,40,.10) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  margin-right: 8px !important;
  min-width: 32px !important;
}

body.mr-os-portal-body .mr-committee-profile {
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.92)) !important;
  border-radius: 34px !important;
  padding: clamp(24px, 3vw, 48px) !important;
}

body.mr-os-portal-body .mr-committee-profile-main {
  align-items: center !important;
}

body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee > span:last-child {
  font-size: clamp(38px, 4vw, 68px) !important;
}

body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo,
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark {
  height: clamp(86px, 7vw, 128px) !important;
  width: clamp(86px, 7vw, 128px) !important;
}

body.mr-os-portal-body .mr-committee-profile-event--logo-only img {
  height: clamp(76px, 7vw, 134px) !important;
  max-width: clamp(220px, 24vw, 440px) !important;
}

body.mr-os-portal-body .mr-person-card,
body.mr-os-portal-body .mr-chair-card,
body.mr-os-portal-body .mr-delegation-card,
body.mr-os-portal-body .mr-message-card,
body.mr-os-portal-body .mr-quick-delegation {
  background: rgba(255,255,255,.86) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 26px !important;
  box-shadow: 0 10px 26px rgba(16,24,40,.06) !important;
}

body.mr-os-portal-body .mr-quick-delegation.is-selected,
body.mr-os-portal-body .mr-delegation-card.is-selected {
  background: linear-gradient(135deg, #fff8df, #fff) !important;
  border-color: var(--mr-gold-2) !important;
  box-shadow: 0 18px 38px rgba(182,120,18,.16) !important;
}

body.mr-os-portal-body .mr-choice-pill,
body.mr-os-portal-body .mr-chip-button,
body.mr-os-portal-body .mr-pill-button {
  background: #fff !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(16,24,40,.05) !important;
  color: var(--mr-ink) !important;
  font-weight: 900 !important;
}

body.mr-os-portal-body .mr-choice-pill.is-selected,
body.mr-os-portal-body input:checked + .mr-choice-pill,
body.mr-os-portal-body .mr-chip-button.is-active,
body.mr-os-portal-body .mr-pill-button.is-active {
  background: #101828 !important;
  border-color: #101828 !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-app-form input,
body.mr-os-portal-body .mr-app-form select,
body.mr-os-portal-body .mr-app-form textarea,
body.mr-os-portal-body .mr-app-filters input,
body.mr-os-portal-body .mr-app-filters select {
  background: #fff !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 18px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
  color: var(--mr-ink) !important;
  min-height: 52px !important;
}

body.mr-os-portal-body .mr-app-form input:focus,
body.mr-os-portal-body .mr-app-form select:focus,
body.mr-os-portal-body .mr-app-form textarea:focus,
body.mr-os-portal-body .mr-app-filters input:focus,
body.mr-os-portal-body .mr-app-filters select:focus {
  border-color: var(--mr-gold-2) !important;
  box-shadow: 0 0 0 4px rgba(182,120,18,.14) !important;
  outline: 0 !important;
}

body.mr-os-portal-body .mr-bulk-actions,
body.mr-os-portal-body .mr-bulk-bar {
  background: rgba(255,255,255,.86) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 28px !important;
  box-shadow: var(--mr-shadow-soft) !important;
  padding: 14px !important;
}

body.mr-os-portal-body .mr-check,
body.mr-os-portal-body input[type="checkbox"] {
  accent-color: var(--mr-gold) !important;
}

@media (max-width: 1280px) {
  body.mr-os-portal-body .mr-app {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }
  body.mr-os-portal-body .mr-app-main {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
  body.mr-os-portal-body .mr-app-topbar {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.mr-os-portal-body .mr-topbar-tools {
    justify-content: space-between !important;
    width: 100% !important;
  }
}

@media (max-width: 900px) {
  body.mr-os-portal-body {
    padding-bottom: 104px !important;
  }
  body.mr-os-portal-body .mr-app {
    display: block !important;
  }
  body.mr-os-portal-body .mr-app-sidebar {
    background: transparent !important;
    box-shadow: none !important;
    min-height: 0 !important;
    padding: 26px 18px 0 !important;
    position: static !important;
  }
  body.mr-os-portal-body .mr-app-brand {
    border: 0 !important;
    flex-direction: row !important;
    gap: 14px !important;
    justify-content: center !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
  }
  body.mr-os-portal-body .mr-app-brand img {
    max-height: 76px !important;
    max-width: 200px !important;
    width: auto !important;
  }
  body.mr-os-portal-body .mr-brand-os-badge {
    border-radius: 22px !important;
    font-size: 26px !important;
    padding: 13px 22px !important;
  }
  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav {
    background: rgba(17, 34, 80, .96) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 30px 30px 0 0 !important;
    bottom: 0 !important;
    box-shadow: 0 -18px 50px rgba(16,24,40,.22) !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    left: 0 !important;
    overflow-x: auto !important;
    padding: 12px 12px 18px !important;
    position: fixed !important;
    right: 0 !important;
    scrollbar-width: none !important;
    z-index: 9998 !important;
  }
  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav::-webkit-scrollbar { display: none !important; }
  body.mr-os-portal-body .mr-app-nav a {
    align-items: center !important;
    border: 0 !important;
    border-radius: 24px !important;
    flex: 0 0 132px !important;
    justify-content: center !important;
    min-height: 78px !important;
    padding: 12px !important;
    text-align: center !important;
  }
  body.mr-os-portal-body .mr-app-nav a.is-active {
    background: rgba(255,255,255,.16) !important;
  }
  body.mr-os-portal-body .mr-app-nav span {
    display: none !important;
  }
  body.mr-os-portal-body .mr-app-nav strong {
    font-size: 15px !important;
    line-height: 1.08 !important;
  }
  body.mr-os-portal-body .mr-app-main {
    padding: 18px 16px 28px !important;
  }
  body.mr-os-portal-body .mr-app-topbar {
    align-items: center !important;
    border-bottom: 0 !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    text-align: center !important;
  }
  body.mr-os-portal-body .mr-app-topbar p {
    font-size: 13px !important;
  }
  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: clamp(36px, 11vw, 58px) !important;
    line-height: .98 !important;
  }
  body.mr-os-portal-body .mr-topbar-tools {
    flex-direction: column !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-event-switcher--logo-only,
  body.mr-os-portal-body .mr-event-switcher--brand {
    justify-content: center !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-event-switcher--logo-only .mr-active-event-logo,
  body.mr-os-portal-body .mr-active-event-logo {
    height: auto !important;
    max-height: 94px !important;
    max-width: min(76vw, 360px) !important;
  }
  body.mr-os-portal-body .mr-event-switcher-select {
    max-width: min(78vw, 360px) !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-app-user {
    justify-content: center !important;
    width: min(100%, 430px) !important;
  }
  body.mr-os-portal-body .mr-section-tabs {
    border-radius: 28px !important;
    margin-left: -4px !important;
    margin-right: -4px !important;
    padding: 10px !important;
  }
  body.mr-os-portal-body .mr-section-tabs a {
    padding: 12px 14px !important;
  }
  body.mr-os-portal-body .mr-section-tabs strong {
    font-size: 16px !important;
  }
  body.mr-os-portal-body .mr-panel,
  body.mr-os-portal-body .mr-app-card,
  body.mr-os-portal-body .mr-app-grid > *,
  body.mr-os-portal-body .mr-app-table-wrap,
  body.mr-os-portal-body .mr-committee-profile {
    border-radius: 28px !important;
    padding: 22px !important;
  }
  body.mr-os-portal-body .mr-app-hero {
    border-radius: 30px !important;
    padding: 32px 26px !important;
  }
  body.mr-os-portal-body .mr-app-hero h2 {
    font-size: clamp(42px, 13vw, 64px) !important;
  }
  body.mr-os-portal-body .mr-app-table thead {
    display: none !important;
  }
  body.mr-os-portal-body .mr-app-table,
  body.mr-os-portal-body .mr-app-table tbody,
  body.mr-os-portal-body .mr-app-table tr,
  body.mr-os-portal-body .mr-app-table td {
    display: block !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-app-table tr {
    background: #fff !important;
    border: 1px solid var(--mr-border) !important;
    border-radius: 24px !important;
    box-shadow: 0 10px 24px rgba(16,24,40,.06) !important;
    margin-bottom: 14px !important;
    overflow: hidden !important;
  }
  body.mr-os-portal-body .mr-app-table td {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 14px 18px !important;
  }
  body.mr-os-portal-body .mr-app-table tr td:first-child,
  body.mr-os-portal-body .mr-app-table tr td:last-child {
    border: 0 !important;
    border-radius: 0 !important;
  }
  body.mr-os-portal-body .mr-actions {
    align-items: stretch !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
}

@media (max-width: 520px) {
  body.mr-os-portal-body .mr-app-main {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.mr-os-portal-body .mr-app-brand {
    align-items: center !important;
    flex-direction: column !important;
  }
  body.mr-os-portal-body .mr-app-user {
    align-items: center !important;
    border-radius: 24px !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 54px 1fr auto !important;
    padding: 9px !important;
    text-align: left !important;
  }
  body.mr-os-portal-body .mr-app-user-photo {
    height: 52px !important;
    width: 52px !important;
  }
  body.mr-os-portal-body .mr-app-user span {
    font-size: 17px !important;
  }
  body.mr-os-portal-body .mr-app-user a {
    font-size: 13px !important;
    padding: 12px 14px !important;
  }
  body.mr-os-portal-body .mr-panel-head h2,
  body.mr-os-portal-body .mr-panel h2,
  body.mr-os-portal-body .mr-panel h3 {
    font-size: 28px !important;
  }
}
/* === MUN Revolution OS 0.7.0 visual app leap END === */


/* === MUN Revolution OS 0.7.1 FUNAJIT app polish START ===
   Corrección visual mayor: aproxima el portal a la lógica del sistema interno FUNAJIT.
   Se limita a capa visual; no cambia datos ni lógica operativa. */
body.mr-os-portal-body {
  --mr-app-bg: #EEF2F7;
  --mr-app-bg-2: #F7F9FC;
  --mr-navy: #142B66;
  --mr-navy-2: #1E3A7A;
  --mr-navy-3: #0D1730;
  --mr-gold: #B67812;
  --mr-gold-2: #D9A53A;
  --mr-gold-soft: #FFE8A6;
  --mr-border: #D9E1ED;
  --mr-ink: #0F172A;
  --mr-muted: #647087;
  --mr-card: #FFFFFF;
  --mr-shadow-card: 0 16px 42px rgba(15, 23, 42, .08);
  --mr-shadow-soft: 0 8px 22px rgba(15, 23, 42, .06);
  background:
    radial-gradient(circle at 82% 8%, rgba(182,120,18,.12), transparent 30%),
    linear-gradient(180deg, #F7F9FC 0%, #EEF2F7 48%, #E9EEF6 100%) !important;
  color: var(--mr-ink) !important;
}
body.mr-os-portal-body .mr-app {
  background: transparent !important;
  display: grid !important;
  grid-template-columns: 292px minmax(0, 1fr) !important;
  min-height: 100vh !important;
}
body.mr-os-portal-body .mr-app-sidebar {
  background: linear-gradient(180deg, #244897 0%, #172F70 48%, #0F245A 100%) !important;
  border-right: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 20px 0 50px rgba(15, 23, 42, .12) !important;
  min-height: 100vh !important;
  padding: 30px 24px 26px !important;
  position: sticky !important;
  top: 0 !important;
}
body.mr-os-portal-body .mr-app-brand {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 24px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  justify-content: center !important;
  margin: 0 0 34px !important;
  padding: 26px 20px !important;
  text-align: center !important;
}
body.mr-os-portal-body .mr-app-brand img {
  filter: none !important;
  height: auto !important;
  margin: 0 auto !important;
  max-height: 92px !important;
  max-width: 220px !important;
  object-fit: contain !important;
  width: min(100%, 220px) !important;
}
body.mr-os-portal-body .mr-brand-os-badge {
  align-self: center !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.92) !important;
  color: #0F172A !important;
  display: inline-flex !important;
  font-size: 30px !important;
  font-weight: 950 !important;
  letter-spacing: .20em !important;
  line-height: 1 !important;
  min-width: 128px !important;
  padding: 15px 30px !important;
  text-align: center !important;
  text-indent: .20em !important;
}
body.mr-os-portal-body .mr-app-nav {
  display: grid !important;
  gap: 10px !important;
}
body.mr-os-portal-body .mr-app-nav a {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 4px solid transparent !important;
  border-radius: 22px !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.92) !important;
  display: grid !important;
  grid-template-columns: minmax(80px, 1fr) minmax(92px, auto) !important;
  gap: 14px !important;
  min-height: 58px !important;
  padding: 12px 16px !important;
}
body.mr-os-portal-body .mr-app-nav a span {
  color: #FFD86A !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .22em !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
}
body.mr-os-portal-body .mr-app-nav a strong {
  color: #FFFFFF !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-align: right !important;
}
body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255,255,255,.18) !important;
  border-left-color: var(--mr-gold-2) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 10px 24px rgba(0,0,0,.08) !important;
}
body.mr-os-portal-body .mr-app-nav a.is-active strong,
body.mr-os-portal-body .mr-app-nav a.is-active span { color: #fff !important; }
body.mr-os-portal-body .mr-app-main {
  max-width: 1440px !important;
  min-width: 0 !important;
  padding: 34px 42px 52px !important;
  width: 100% !important;
}
body.mr-os-portal-body .mr-app-topbar {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(182,120,18,.22) !important;
  box-shadow: none !important;
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  margin: 0 0 28px !important;
  min-height: 116px !important;
  padding: 0 0 24px !important;
  position: relative !important;
  top: auto !important;
  z-index: 20 !important;
}
body.mr-os-portal-body .mr-app-topbar > div:first-child {
  min-width: 0 !important;
}
body.mr-os-portal-body .mr-app-topbar p {
  color: #6E7890 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  margin: 0 0 8px !important;
  text-transform: uppercase !important;
}
body.mr-os-portal-body .mr-app-topbar h1 {
  color: var(--mr-ink) !important;
  font-size: clamp(30px, 3.6vw, 54px) !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  line-height: .98 !important;
  margin: 0 !important;
  max-width: 760px !important;
}
body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}
body.mr-os-portal-body .mr-event-switcher--brand,
body.mr-os-portal-body .mr-event-switcher--logo-only {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 0 !important;
}
body.mr-os-portal-body .mr-active-event-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  height: auto !important;
  max-height: 84px !important;
  max-width: 210px !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: auto !important;
}
body.mr-os-portal-body .mr-event-switcher-select {
  background: rgba(255,255,255,.84) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--mr-shadow-soft) !important;
  color: var(--mr-ink) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  min-height: 54px !important;
  max-width: 180px !important;
  padding: 0 40px 0 18px !important;
}
body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.08) !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 58px minmax(110px, auto) auto !important;
  padding: 10px 10px !important;
}
body.mr-os-portal-body .mr-app-user-photo {
  border: 3px solid #fff !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.12) !important;
  height: 58px !important;
  object-fit: cover !important;
  width: 58px !important;
}
body.mr-os-portal-body .mr-app-user span {
  color: var(--mr-ink) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  max-width: 170px !important;
}
body.mr-os-portal-body .mr-app-user a {
  background: var(--mr-navy-3) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  padding: 13px 18px !important;
  text-decoration: none !important;
}
body.mr-os-portal-body .mr-section-tabs {
  background: rgba(255,255,255,.90) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 34px !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.07) !important;
  display: flex !important;
  gap: 10px !important;
  margin: 0 0 28px !important;
  overflow-x: auto !important;
  padding: 12px !important;
  scrollbar-width: none !important;
}
body.mr-os-portal-body .mr-section-tabs::-webkit-scrollbar { display: none !important; }
body.mr-os-portal-body .mr-section-tabs a {
  border: 0 !important;
  border-radius: 26px !important;
  flex: 0 0 auto !important;
  min-width: 142px !important;
  padding: 14px 18px !important;
}
body.mr-os-portal-body .mr-section-tabs a.is-active {
  background: var(--mr-navy-3) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.16) !important;
  color: #fff !important;
}
body.mr-os-portal-body .mr-section-tabs a span {
  color: var(--mr-gold) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
}
body.mr-os-portal-body .mr-section-tabs a.is-active span,
body.mr-os-portal-body .mr-section-tabs a.is-active strong { color: #fff !important; }
body.mr-os-portal-body .mr-section-tabs a strong {
  color: var(--mr-ink) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-panel,
body.mr-os-portal-body .mr-app-card,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-app-grid > * {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 28px !important;
  box-shadow: var(--mr-shadow-card) !important;
}
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-panel {
  padding: 28px !important;
}
body.mr-os-portal-body .mr-panel-head {
  align-items: center !important;
  border-bottom: 1px solid rgba(217,225,237,.85) !important;
  display: flex !important;
  gap: 18px !important;
  justify-content: space-between !important;
  margin: 0 0 22px !important;
  padding: 0 0 20px !important;
}
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-glass-panel > p:first-child,
body.mr-os-portal-body .mr-app-hero p {
  color: var(--mr-gold) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}
body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-glass-panel h2,
body.mr-os-portal-body .mr-panel h2 {
  color: var(--mr-ink) !important;
  font-size: clamp(22px, 2vw, 34px) !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
}
body.mr-os-portal-body .mr-app-hero {
  background:
    radial-gradient(circle at 86% 0%, rgba(255,255,255,.20) 0 16%, transparent 17%),
    linear-gradient(135deg, #2764E8 0%, #234BBA 54%, #0D1730 100%) !important;
  border: 0 !important;
  border-radius: 32px !important;
  box-shadow: 0 18px 44px rgba(26,78,184,.24) !important;
  color: #fff !important;
  padding: 36px !important;
}
body.mr-os-portal-body .mr-app-hero h2 {
  color: #fff !important;
  font-size: clamp(36px, 4.5vw, 62px) !important;
  letter-spacing: -.055em !important;
  max-width: 760px !important;
}
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body button.mr-app-button,
body.mr-os-portal-body input[type="submit"].mr-app-button {
  border-radius: 16px !important;
  font-weight: 850 !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
}
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-actions .mr-action-primary,
body.mr-os-portal-body .mr-actions a[href*="enlace"],
body.mr-os-portal-body .mr-actions button[type="submit"] {
  background: var(--mr-navy-3) !important;
  border-color: var(--mr-navy-3) !important;
  color: #fff !important;
}
body.mr-os-portal-body .mr-app-table {
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
}
body.mr-os-portal-body .mr-app-table th {
  background: transparent !important;
  border: 0 !important;
  color: var(--mr-muted) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  padding: 0 14px 8px !important;
  text-transform: uppercase !important;
}
body.mr-os-portal-body .mr-app-table td {
  background: #fff !important;
  border-bottom: 1px solid rgba(217,225,237,.65) !important;
  border-top: 1px solid rgba(217,225,237,.65) !important;
  padding: 18px 16px !important;
  vertical-align: middle !important;
}
body.mr-os-portal-body .mr-app-table td:first-child {
  border-left: 1px solid rgba(217,225,237,.65) !important;
  border-radius: 18px 0 0 18px !important;
}
body.mr-os-portal-body .mr-app-table td:last-child {
  border-right: 1px solid rgba(217,225,237,.65) !important;
  border-radius: 0 18px 18px 0 !important;
}
body.mr-os-portal-body .mr-committee-profile,
body.mr-os-portal-body .mr-committee-profile-card {
  background: #fff !important;
  border-radius: 28px !important;
  box-shadow: var(--mr-shadow-card) !important;
}
body.mr-os-portal-body .mr-committee-logo,
body.mr-os-portal-body .mr-committee-logo-large,
body.mr-os-portal-body .mr-committee-badge img,
body.mr-os-portal-body .mr-committee-profile-main img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body.mr-os-portal-body .mr-country-badge {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  gap: 10px !important;
  padding: 0 !important;
}
body.mr-os-portal-body .mr-country-badge .mr-country-flag,
body.mr-os-portal-body .mr-country-flag {
  border-radius: 6px !important;
  box-shadow: 0 5px 10px rgba(15,23,42,.10) !important;
  font-size: 25px !important;
  line-height: 1 !important;
}
body.mr-os-portal-body .mr-country-badge strong,
body.mr-os-portal-body .mr-country-badge span:last-child {
  color: var(--mr-muted) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}

@media (max-width: 1180px) {
  body.mr-os-portal-body .mr-app { grid-template-columns: 270px minmax(0, 1fr) !important; }
  body.mr-os-portal-body .mr-app-main { padding: 28px 28px 48px !important; }
  body.mr-os-portal-body .mr-app-topbar { grid-template-columns: 1fr !important; }
  body.mr-os-portal-body .mr-topbar-tools { justify-content: space-between !important; width: 100% !important; }
}
@media (max-width: 900px) {
  body.mr-os-portal-body { padding-bottom: 112px !important; }
  body.mr-os-portal-body .mr-app { display: block !important; }
  body.mr-os-portal-body .mr-app-sidebar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
    padding: 20px 18px 0 !important;
    position: static !important;
  }
  body.mr-os-portal-body .mr-app-brand {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    gap: 12px !important;
    margin: 0 auto 18px !important;
    padding: 0 !important;
  }
  body.mr-os-portal-body .mr-app-brand img {
    max-height: 78px !important;
    max-width: 210px !important;
  }
  body.mr-os-portal-body .mr-brand-os-badge {
    font-size: 28px !important;
    min-width: 116px !important;
    padding: 13px 24px !important;
  }
  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav {
    background: linear-gradient(180deg, rgba(35,72,151,.98), rgba(18,45,105,.98)) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 28px 28px 0 0 !important;
    bottom: 0 !important;
    box-shadow: 0 -18px 44px rgba(15,23,42,.24) !important;
    display: flex !important;
    gap: 10px !important;
    left: 0 !important;
    overflow-x: auto !important;
    padding: 12px 14px 18px !important;
    position: fixed !important;
    right: 0 !important;
    scrollbar-width: none !important;
    z-index: 9998 !important;
  }
  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav::-webkit-scrollbar { display: none !important; }
  body.mr-os-portal-body .mr-app-nav a {
    border: 0 !important;
    border-radius: 22px !important;
    display: flex !important;
    flex: 0 0 122px !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 76px !important;
    padding: 10px !important;
    text-align: center !important;
  }
  body.mr-os-portal-body .mr-app-nav a span { display: none !important; }
  body.mr-os-portal-body .mr-app-nav a strong {
    font-size: 14px !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }
  body.mr-os-portal-body .mr-app-main { padding: 12px 18px 32px !important; }
  body.mr-os-portal-body .mr-app-topbar {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    margin-bottom: 24px !important;
    min-height: 0 !important;
    padding-bottom: 20px !important;
    text-align: center !important;
  }
  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: clamp(30px, 8vw, 44px) !important;
    max-width: 100% !important;
  }
  body.mr-os-portal-body .mr-topbar-tools {
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-active-event-logo {
    max-height: 82px !important;
    max-width: min(72vw, 300px) !important;
  }
  body.mr-os-portal-body .mr-event-switcher-select {
    display: none !important;
  }
  body.mr-os-portal-body .mr-app-user {
    grid-template-columns: 58px 1fr auto !important;
    max-width: 470px !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-section-tabs {
    border-radius: 28px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.mr-os-portal-body .mr-section-tabs a { min-width: 138px !important; }
  body.mr-os-portal-body .mr-glass-panel,
  body.mr-os-portal-body .mr-panel,
  body.mr-os-portal-body .mr-app-card,
  body.mr-os-portal-body .mr-app-table-wrap,
  body.mr-os-portal-body .mr-app-grid > * {
    border-radius: 26px !important;
    padding: 22px !important;
  }
}
@media (max-width: 520px) {
  body.mr-os-portal-body .mr-app-main { padding-left: 12px !important; padding-right: 12px !important; }
  body.mr-os-portal-body .mr-app-topbar p { font-size: 12px !important; }
  body.mr-os-portal-body .mr-app-topbar h1 { font-size: clamp(28px, 10vw, 40px) !important; }
  body.mr-os-portal-body .mr-app-user { border-radius: 22px !important; grid-template-columns: 54px 1fr auto !important; }
  body.mr-os-portal-body .mr-app-user-photo { height: 54px !important; width: 54px !important; }
  body.mr-os-portal-body .mr-app-user span { font-size: 16px !important; max-width: none !important; }
  body.mr-os-portal-body .mr-app-user a { padding: 12px 14px !important; }
  body.mr-os-portal-body .mr-app-hero { padding: 28px 24px !important; }
  body.mr-os-portal-body .mr-app-hero h2 { font-size: clamp(36px, 13vw, 56px) !important; }
}
/* === MUN Revolution OS 0.7.1 FUNAJIT app polish END === */

/* === MUN Revolution OS 0.7.2 FUNAJIT App Reference Leap START ===
   Recalibración visual basada en el sistema interno FUNAJIT: sidebar sólido,
   topbar funcional, cards limpias, navegación móvil tipo app.
   ============================================================ */
:root {
	--mr-app-blue: #1E3A8A;
	--mr-app-blue-dark: #172554;
	--mr-app-blue-soft: #DBEAFE;
	--mr-app-gold: #F59E0B;
	--mr-app-gold-deep: #B88A1B;
	--mr-app-bg: #F8FAFC;
	--mr-app-surface: #FFFFFF;
	--mr-app-text: #111827;
	--mr-app-muted: #6B7280;
	--mr-app-border: #E5E7EB;
	--mr-app-shadow: 0 10px 32px rgba(15, 23, 42, 0.08);
	--mr-app-shadow-strong: 0 20px 55px rgba(15, 23, 42, 0.10);
	--mr-mobile-nav-height: 82px;
}

body.mr-os-portal-body,
body.mr-os-portal-body .mr-system {
	background:
		radial-gradient(circle at 42% 0%, rgba(219, 234, 254, 0.68), transparent 420px),
		var(--mr-app-bg) !important;
	color: var(--mr-app-text) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
	letter-spacing: 0 !important;
}

body.mr-os-portal-body .mr-app {
	background: transparent !important;
	display: grid !important;
	grid-template-columns: 270px minmax(0, 1fr) !important;
	min-height: 100vh !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-app-sidebar {
	background: linear-gradient(180deg, var(--mr-app-blue) 0%, var(--mr-app-blue-dark) 100%) !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100vh !important;
	min-height: 100vh !important;
	overflow-y: auto !important;
	padding: 26px 0 18px !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 60 !important;
}

body.mr-os-portal-body .mr-app-brand {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: grid !important;
	gap: 18px !important;
	justify-items: center !important;
	margin: 0 22px 28px !important;
	padding: 8px 0 24px !important;
	text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-brand img {
	filter: none !important;
	height: auto !important;
	max-height: 110px !important;
	max-width: 190px !important;
	object-fit: contain !important;
	width: auto !important;
}

body.mr-os-portal-body .mr-brand-os-badge,
body.mr-os-portal-body .mr-app-brand span {
	align-items: center !important;
	background: rgba(255,255,255,0.92) !important;
	border: 1px solid rgba(255,255,255,0.58) !important;
	border-radius: 999px !important;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.24), inset 0 1px 0 rgba(255,255,255,0.55) !important;
	color: #111827 !important;
	display: inline-flex !important;
	font-size: 28px !important;
	font-weight: 950 !important;
	justify-content: center !important;
	letter-spacing: 0.18em !important;
	line-height: 1 !important;
	min-width: 118px !important;
	padding: 14px 24px !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav {
	display: grid !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 12px 20px 0 !important;
}

body.mr-os-portal-body .mr-app-nav a {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-left: 3px solid transparent !important;
	border-radius: 0 999px 999px 0 !important;
	box-shadow: none !important;
	color: rgba(255,255,255,0.88) !important;
	display: grid !important;
	gap: 2px !important;
	grid-template-columns: minmax(0, 1fr) !important;
	margin: 0 !important;
	min-height: 58px !important;
	padding: 10px 22px !important;
	text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-nav a:hover,
body.mr-os-portal-body .mr-app-nav a:focus {
	background: rgba(255,255,255,0.08) !important;
	color: #fff !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
	background: rgba(255,255,255,0.16) !important;
	border-left-color: var(--mr-app-gold) !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08) !important;
	color: #fff !important;
}

body.mr-os-portal-body .mr-app-nav span {
	color: #FDE68A !important;
	font-size: 11px !important;
	font-weight: 950 !important;
	letter-spacing: 0.18em !important;
	line-height: 1.1 !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav strong {
	align-items: center !important;
	color: inherit !important;
	display: inline-flex !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	gap: 8px !important;
	letter-spacing: -0.02em !important;
	line-height: 1.15 !important;
}

body.mr-os-portal-body .mr-nav-badge {
	background: #EF4444 !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 10px !important;
	font-style: normal !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	min-width: 20px !important;
	padding: 5px 6px !important;
	text-align: center !important;
}

body.mr-os-portal-body .mr-app-main {
	background: transparent !important;
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-app-topbar {
	align-items: center !important;
	backdrop-filter: blur(16px) !important;
	background: rgba(255,255,255,0.93) !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(229,231,235,0.92) !important;
	display: grid !important;
	gap: 18px !important;
	grid-template-columns: minmax(230px, 1fr) auto !important;
	min-height: 94px !important;
	padding: 16px 32px !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 50 !important;
}

body.mr-os-portal-body .mr-topbar-page,
body.mr-os-portal-body .mr-app-topbar > div:first-child {
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-app-topbar p {
	color: #667085 !important;
	font-size: 13px !important;
	font-weight: 950 !important;
	letter-spacing: 0.10em !important;
	line-height: 1 !important;
	margin: 0 0 6px !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
	color: var(--mr-app-text) !important;
	font-size: clamp(26px, 3.2vw, 44px) !important;
	font-weight: 950 !important;
	letter-spacing: -0.065em !important;
	line-height: 0.98 !important;
	margin: 0 !important;
	max-width: 720px !important;
}

body.mr-os-portal-body .mr-topbar-tools {
	align-items: center !important;
	display: flex !important;
	gap: 14px !important;
	justify-content: flex-end !important;
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-event-switcher--brand {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: flex !important;
	gap: 12px !important;
	min-width: 0 !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-active-event-logo {
	display: block !important;
	filter: drop-shadow(0 10px 18px rgba(15,23,42,0.12)) !important;
	height: 48px !important;
	max-width: 190px !important;
	object-fit: contain !important;
	width: auto !important;
}

body.mr-os-portal-body .mr-active-event-name-fallback,
body.mr-os-portal-body .mr-event-switcher-select {
	background: #fff !important;
	border: 1px solid var(--mr-app-border) !important;
	border-radius: 14px !important;
	box-shadow: 0 8px 20px rgba(15,23,42,0.05) !important;
	color: var(--mr-app-text) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	max-width: 190px !important;
	padding: 11px 14px !important;
}

body.mr-os-portal-body .mr-event-switcher--static .mr-active-event-name-fallback {
	display: none !important;
}

body.mr-os-portal-body .mr-app-user {
	align-items: center !important;
	background: linear-gradient(180deg, #fff, #F8FAFC) !important;
	border: 1px solid rgba(226,232,240,0.94) !important;
	border-radius: 22px !important;
	box-shadow: 0 10px 26px rgba(15,23,42,0.08) !important;
	display: grid !important;
	gap: 4px 12px !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	min-width: 220px !important;
	padding: 10px 12px !important;
}

body.mr-os-portal-body .mr-app-user-photo {
	border: 2px solid #fff !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 16px rgba(15,23,42,0.12) !important;
	height: 46px !important;
	object-fit: cover !important;
	width: 46px !important;
}

body.mr-os-portal-body .mr-app-user span {
	color: var(--mr-app-text) !important;
	font-size: 15px !important;
	font-weight: 950 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.1 !important;
	max-width: 145px !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-user a {
	align-items: center !important;
	background: #111827 !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #fff !important;
	display: inline-flex !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	justify-content: center !important;
	padding: 10px 14px !important;
	text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-main > .mr-section-tabs,
body.mr-os-portal-body .mr-app-main > section,
body.mr-os-portal-body .mr-app-main > div:not(.mr-app-notice) {
	max-width: 1280px !important;
}

body.mr-os-portal-body .mr-section-tabs,
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-hero,
body.mr-os-portal-body .mr-app-stats div,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-app-empty,
body.mr-os-portal-body .mr-upload-box,
body.mr-os-portal-body .mr-profile-required-card {
	background: var(--mr-app-surface) !important;
	border: 1px solid rgba(226,232,240,0.92) !important;
	border-radius: 18px !important;
	box-shadow: var(--mr-app-shadow) !important;
}

body.mr-os-portal-body .mr-section-tabs {
	display: flex !important;
	gap: 10px !important;
	margin: 24px auto 20px !important;
	overflow-x: auto !important;
	padding: 12px !important;
	-webkit-overflow-scrolling: touch !important;
}

body.mr-os-portal-body .mr-section-tabs a {
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--mr-app-text) !important;
	flex: 0 0 auto !important;
	min-width: 126px !important;
	padding: 14px 20px !important;
	text-decoration: none !important;
}

body.mr-os-portal-body .mr-section-tabs a.is-active {
	background: #111827 !important;
	color: #fff !important;
}

body.mr-os-portal-body .mr-section-tabs span {
	color: var(--mr-app-gold-deep) !important;
	font-size: 11px !important;
	font-weight: 950 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-section-tabs a.is-active span {
	color: #FDE68A !important;
}

body.mr-os-portal-body .mr-section-tabs strong {
	font-size: 16px !important;
	font-weight: 950 !important;
	letter-spacing: -0.02em !important;
}

body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-hero,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-app-empty,
body.mr-os-portal-body .mr-profile-required-card {
	margin: 22px auto !important;
	padding: 24px !important;
}

body.mr-os-portal-body .mr-panel-head {
	align-items: center !important;
	border-bottom: 1px solid var(--mr-app-border) !important;
	display: flex !important;
	gap: 16px !important;
	justify-content: space-between !important;
	margin: 0 0 20px !important;
	padding-bottom: 16px !important;
}

body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-app-hero p {
	color: var(--mr-app-gold-deep) !important;
	font-size: 12px !important;
	font-weight: 950 !important;
	letter-spacing: 0.16em !important;
	line-height: 1 !important;
	margin: 0 0 6px !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-app-hero h2 {
	color: var(--mr-app-text) !important;
	font-size: clamp(24px, 2.2vw, 34px) !important;
	font-weight: 950 !important;
	letter-spacing: -0.045em !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}

body.mr-os-portal-body .mr-app-stats {
	display: grid !important;
	gap: 14px !important;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
	margin: 18px auto !important;
	max-width: 1280px !important;
}

body.mr-os-portal-body .mr-app-stats div {
	padding: 18px !important;
}

body.mr-os-portal-body .mr-app-stats span {
	color: var(--mr-app-blue) !important;
	font-size: 34px !important;
	font-weight: 950 !important;
	letter-spacing: -0.04em !important;
}

body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-bulk-actions,
body.mr-os-portal-body .mr-upload-box,
body.mr-os-portal-body .mr-app-form,
body.mr-os-portal-body .mr-compact-form,
body.mr-os-portal-body .mr-participation-live-form {
	background: #fff !important;
	border: 1px solid rgba(226,232,240,0.92) !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	gap: 12px !important;
	padding: 16px !important;
}

body.mr-os-portal-body input,
body.mr-os-portal-body select,
body.mr-os-portal-body textarea {
	background: #fff !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: var(--mr-app-text) !important;
	font: inherit !important;
	font-size: 15px !important;
	min-height: 46px !important;
	padding: 10px 13px !important;
}

body.mr-os-portal-body textarea {
	min-height: 108px !important;
}

body.mr-os-portal-body input:focus,
body.mr-os-portal-body select:focus,
body.mr-os-portal-body textarea:focus {
	border-color: var(--mr-app-blue) !important;
	box-shadow: 0 0 0 4px var(--mr-app-blue-soft) !important;
	outline: none !important;
}

body.mr-os-portal-body button,
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-row-actions a {
	align-items: center !important;
	border-radius: 12px !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	justify-content: center !important;
	line-height: 1.1 !important;
	min-height: 42px !important;
	padding: 11px 16px !important;
	text-decoration: none !important;
}

body.mr-os-portal-body button,
body.mr-os-portal-body .mr-app-button {
	background: #111827 !important;
	border: 1px solid #111827 !important;
	color: #fff !important;
}

body.mr-os-portal-body .mr-actions .mr-secondary,
body.mr-os-portal-body .mr-row-actions .mr-secondary,
body.mr-os-portal-body .mr-app-button.mr-secondary,
body.mr-os-portal-body button.mr-secondary {
	background: #fff !important;
	border-color: var(--mr-app-border) !important;
	color: var(--mr-app-text) !important;
}

body.mr-os-portal-body .mr-danger,
body.mr-os-portal-body .mr-actions .mr-danger,
body.mr-os-portal-body .mr-row-actions .mr-danger {
	background: #fff !important;
	border-color: #FECACA !important;
	color: #B91C1C !important;
}

body.mr-os-portal-body .mr-app-table-wrap {
	padding: 0 !important;
	overflow: hidden !important;
}

body.mr-os-portal-body .mr-app-table {
	border-collapse: collapse !important;
	min-width: 820px !important;
	width: 100% !important;
}

body.mr-os-portal-body .mr-app-table th {
	background: #F8FAFC !important;
	color: #667085 !important;
	font-size: 12px !important;
	font-weight: 950 !important;
	letter-spacing: 0.10em !important;
	padding: 14px 18px !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-table td {
	background: #fff !important;
	border-bottom: 1px solid var(--mr-app-border) !important;
	color: var(--mr-app-text) !important;
	font-size: 14px !important;
	padding: 16px 18px !important;
	vertical-align: middle !important;
}

body.mr-os-portal-body .mr-app-table tr:last-child td {
	border-bottom: 0 !important;
}

body.mr-os-portal-body .mr-app-table strong {
	font-weight: 950 !important;
}

body.mr-os-portal-body .mr-app-table td span,
body.mr-os-portal-body .mr-muted {
	color: var(--mr-app-muted) !important;
}

body.mr-os-portal-body .mr-status,
body.mr-os-portal-body .mr-badge,
body.mr-os-portal-body mark {
	align-items: center !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	gap: 6px !important;
	line-height: 1 !important;
	padding: 7px 11px !important;
}

body.mr-os-portal-body .mr-country-badge {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--mr-app-text) !important;
	display: inline-flex !important;
	gap: 10px !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-country-flag {
	font-size: 28px !important;
	line-height: 1 !important;
}

body.mr-os-portal-body .mr-country-name {
	font-size: 15px !important;
	font-weight: 900 !important;
}

body.mr-os-portal-body .mr-committee-profile-card {
	background: linear-gradient(180deg, #FFFFFF, #F8FAFC) !important;
	border: 1px solid rgba(226,232,240,0.95) !important;
	border-radius: 22px !important;
	box-shadow: var(--mr-app-shadow) !important;
	padding: 24px !important;
}

body.mr-os-portal-body .mr-committee-profile-main {
	align-items: center !important;
	display: grid !important;
	gap: 20px !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
}

body.mr-os-portal-body .mr-committee-badge,
body.mr-os-portal-body .mr-committee-profile-identity {
	align-items: center !important;
	display: flex !important;
	gap: 16px !important;
}

body.mr-os-portal-body .mr-committee-logo,
body.mr-os-portal-body .mr-committee-badge img {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	height: 74px !important;
	max-width: 92px !important;
	object-fit: contain !important;
	width: auto !important;
}

body.mr-os-portal-body .mr-committee-badge strong,
body.mr-os-portal-body .mr-committee-profile-identity strong {
	color: var(--mr-app-text) !important;
	font-size: clamp(26px, 3vw, 42px) !important;
	font-weight: 950 !important;
	letter-spacing: -0.055em !important;
	line-height: 1 !important;
}

body.mr-os-portal-body .mr-committee-profile-event img {
	height: 54px !important;
	max-width: 180px !important;
	object-fit: contain !important;
	width: auto !important;
}

body.mr-os-portal-body .mr-authority-card {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid var(--mr-app-border) !important;
	border-radius: 18px !important;
	display: flex !important;
	gap: 14px !important;
	max-width: 520px !important;
	padding: 14px !important;
}

body.mr-os-portal-body .mr-authority-card img {
	border: 2px solid #fff !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 20px rgba(15,23,42,0.12) !important;
	height: 58px !important;
	object-fit: cover !important;
	width: 58px !important;
}

body.mr-os-portal-body .mr-participant-picker-grid,
body.mr-os-portal-body .mr-delegate-card-grid {
	display: grid !important;
	gap: 12px !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

body.mr-os-portal-body .mr-participant-choice,
body.mr-os-portal-body .mr-delegate-option {
	background: #fff !important;
	border: 1px solid var(--mr-app-border) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	min-height: 84px !important;
	padding: 14px !important;
}

body.mr-os-portal-body .mr-participant-choice.is-selected,
body.mr-os-portal-body .mr-delegate-option.is-selected,
body.mr-os-portal-body input:checked + .mr-participant-choice,
body.mr-os-portal-body input:checked + .mr-delegate-option {
	background: #FEF3C7 !important;
	border-color: var(--mr-app-gold) !important;
	box-shadow: 0 0 0 3px rgba(245,158,11,0.14) !important;
}

@media (max-width: 1100px) {
	body.mr-os-portal-body .mr-app-topbar {
		grid-template-columns: 1fr !important;
		position: relative !important;
	}
	body.mr-os-portal-body .mr-topbar-tools {
		justify-content: space-between !important;
		width: 100% !important;
	}
}

@media (max-width: 900px) {
	body.mr-os-portal-body .mr-app {
		display: block !important;
		padding-bottom: var(--mr-mobile-nav-height) !important;
	}

	body.mr-os-portal-body .mr-app-sidebar {
		bottom: 0 !important;
		height: var(--mr-mobile-nav-height) !important;
		left: 0 !important;
		min-height: 0 !important;
		overflow: visible !important;
		padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
		position: fixed !important;
		right: 0 !important;
		top: auto !important;
		z-index: 1000 !important;
		border-radius: 24px 24px 0 0 !important;
		box-shadow: 0 -16px 34px rgba(15, 23, 42, 0.22) !important;
	}

	body.mr-os-portal-body .mr-app-brand {
		display: none !important;
	}

	body.mr-os-portal-body .mr-app-nav {
		display: grid !important;
		gap: 6px !important;
		grid-auto-columns: minmax(74px, 1fr) !important;
		grid-auto-flow: column !important;
		height: 100% !important;
		overflow-x: auto !important;
		padding: 0 2px !important;
		scrollbar-width: none !important;
	}

	body.mr-os-portal-body .mr-app-nav::-webkit-scrollbar {
		display: none !important;
	}

	body.mr-os-portal-body .mr-app-nav a {
		align-items: center !important;
		border: 0 !important;
		border-radius: 18px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		justify-content: center !important;
		min-height: 58px !important;
		padding: 6px 8px !important;
		text-align: center !important;
	}

	body.mr-os-portal-body .mr-app-nav span {
		font-size: 9px !important;
		letter-spacing: 0.08em !important;
	}

	body.mr-os-portal-body .mr-app-nav strong {
		display: block !important;
		font-size: 11px !important;
		max-width: 72px !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	body.mr-os-portal-body .mr-app-topbar {
		gap: 14px !important;
		min-height: 0 !important;
		padding: 18px 16px !important;
		text-align: center !important;
	}

	body.mr-os-portal-body .mr-app-topbar h1 {
		font-size: 30px !important;
		max-width: none !important;
	}

	body.mr-os-portal-body .mr-topbar-tools {
		align-items: center !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		justify-items: center !important;
	}

	body.mr-os-portal-body .mr-event-switcher--brand {
		justify-content: center !important;
	}

	body.mr-os-portal-body .mr-active-event-logo {
		height: 58px !important;
		max-width: min(78vw, 280px) !important;
	}

	body.mr-os-portal-body .mr-event-switcher-select {
		display: none !important;
	}

	body.mr-os-portal-body .mr-app-user {
		max-width: 460px !important;
		width: 100% !important;
	}

	body.mr-os-portal-body .mr-section-tabs {
		margin: 16px 16px !important;
	}

	body.mr-os-portal-body .mr-glass-panel,
	body.mr-os-portal-body .mr-app-hero,
	body.mr-os-portal-body .mr-app-table-wrap,
	body.mr-os-portal-body .mr-app-empty,
	body.mr-os-portal-body .mr-profile-required-card {
		margin: 16px !important;
		padding: 20px !important;
	}

	body.mr-os-portal-body .mr-app-table {
		min-width: 0 !important;
	}

	body.mr-os-portal-body .mr-app-table thead {
		display: none !important;
	}

	body.mr-os-portal-body .mr-app-table,
	body.mr-os-portal-body .mr-app-table tbody,
	body.mr-os-portal-body .mr-app-table tr,
	body.mr-os-portal-body .mr-app-table td {
		display: block !important;
		width: 100% !important;
	}

	body.mr-os-portal-body .mr-app-table tr {
		border-bottom: 1px solid var(--mr-app-border) !important;
		padding: 12px 0 !important;
	}

	body.mr-os-portal-body .mr-app-table td {
		align-items: start !important;
		border: 0 !important;
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: 112px minmax(0, 1fr) !important;
		padding: 10px 14px !important;
	}

	body.mr-os-portal-body .mr-app-table td::before {
		color: var(--mr-app-muted) !important;
		content: attr(data-label) !important;
		font-size: 10px !important;
		font-weight: 950 !important;
		letter-spacing: 0.08em !important;
		padding-top: 3px !important;
		text-transform: uppercase !important;
	}

	body.mr-os-portal-body .mr-committee-profile-main {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 520px) {
	body.mr-os-portal-body .mr-app-topbar h1 {
		font-size: 26px !important;
	}
	body.mr-os-portal-body .mr-app-user {
		grid-template-columns: auto minmax(0,1fr) auto !important;
	}
	body.mr-os-portal-body .mr-app-user span {
		max-width: 118px !important;
	}
	body.mr-os-portal-body .mr-app-table td {
		grid-template-columns: 88px minmax(0, 1fr) !important;
	}
}
/* === MUN Revolution OS 0.7.2 FUNAJIT App Reference Leap END === */


/* === MUN Revolution OS 0.7.3 Clean App UI START ===
   Ajuste visual fino basado en la referencia FUNAJIT interna: menos peso tipográfico,
   distribución tipo producto, navegación limpia y legibilidad estable. */
body.mr-os-portal-body {
  --mr-clean-navy: #173276;
  --mr-clean-navy-2: #12245a;
  --mr-clean-gold: #c58a08;
  --mr-clean-bg: #f4f7fb;
  --mr-clean-surface: #ffffff;
  --mr-clean-text: #111827;
  --mr-clean-muted: #667085;
  --mr-clean-border: #d8e0ec;
  --mr-clean-soft: #f8fafc;
  background: var(--mr-clean-bg) !important;
  color: var(--mr-clean-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
}

body.mr-os-portal-body .mr-app {
  grid-template-columns: 270px minmax(0, 1fr) !important;
  background: radial-gradient(circle at 58% 0%, rgba(219,234,254,.52), transparent 420px), #f4f7fb !important;
}

body.mr-os-portal-body .mr-app-sidebar {
  background: linear-gradient(180deg, #213f91 0%, #14275f 100%) !important;
  box-shadow: 14px 0 34px rgba(15, 23, 42, .08) !important;
  padding: 22px 0 !important;
  width: 270px !important;
}

body.mr-os-portal-body .mr-app-brand {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 22px !important;
  margin: 0 18px 22px !important;
  padding: 22px 18px 20px !important;
  text-align: center !important;
}

body.mr-os-portal-body .mr-app-brand img {
  background: rgba(255,255,255,.92) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.10) !important;
  height: auto !important;
  max-height: 92px !important;
  max-width: 190px !important;
  object-fit: contain !important;
  padding: 14px !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-app-brand .mr-os-badge,
body.mr-os-portal-body .mr-app-brand span {
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.14) !important;
  color: #111827 !important;
  display: inline-flex !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  margin-top: 18px !important;
  padding: 12px 28px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav {
  gap: 2px !important;
  padding: 0 0 18px !important;
}

body.mr-os-portal-body .mr-app-nav a {
  align-items: center !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 999px 999px 0 !important;
  color: rgba(255,255,255,.88) !important;
  display: grid !important;
  grid-template-columns: minmax(96px, 1fr) minmax(0, 1.25fr) !important;
  gap: 8px !important;
  margin: 2px 14px 2px 0 !important;
  min-height: 52px !important;
  padding: 9px 18px 9px 24px !important;
  text-align: left !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255,255,255,.14) !important;
  border-left-color: #fbbf24 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

body.mr-os-portal-body .mr-app-nav span {
  color: #fde68a !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav strong {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
  line-height: 1.15 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
}

body.mr-os-portal-body .mr-app-main {
  min-width: 0 !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-app-topbar {
  align-items: center !important;
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid #e5eaf2 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.04) !important;
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: minmax(230px, 1fr) auto !important;
  min-height: 96px !important;
  padding: 18px 30px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 60 !important;
}

body.mr-os-portal-body .mr-app-topbar p {
  color: var(--mr-clean-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  margin: 0 0 4px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
  color: var(--mr-clean-text) !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  font-weight: 750 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
  margin: 0 !important;
  max-width: 780px !important;
}

body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-active-event-logo {
  height: 46px !important;
  max-width: 210px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 8px 16px rgba(15,23,42,.10)) !important;
}

body.mr-os-portal-body .mr-event-switcher--brand,
body.mr-os-portal-body .mr-event-switcher {
  align-items: center !important;
  display: flex !important;
  gap: 10px !important;
}

body.mr-os-portal-body .mr-event-switcher-select {
  background: #fff !important;
  border: 1px solid #d8e0ec !important;
  border-radius: 14px !important;
  color: var(--mr-clean-text) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  height: 42px !important;
  max-width: 170px !important;
  padding: 0 12px !important;
}

body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  background: linear-gradient(180deg,#fff,#f8fafc) !important;
  border: 1px solid #d8e0ec !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.07) !important;
  display: flex !important;
  gap: 10px !important;
  max-width: 310px !important;
  min-height: 60px !important;
  padding: 8px 10px !important;
}

body.mr-os-portal-body .mr-app-user img,
body.mr-os-portal-body .mr-user-photo {
  border: 2px solid #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 12px rgba(15,23,42,.10) !important;
  height: 44px !important;
  object-fit: cover !important;
  width: 44px !important;
}

body.mr-os-portal-body .mr-app-user strong,
body.mr-os-portal-body .mr-app-user span {
  color: var(--mr-clean-text) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
  line-height: 1.2 !important;
}

body.mr-os-portal-body .mr-app-user a,
body.mr-os-portal-body .mr-app-user .mr-logout {
  background: #111827 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-section-tabs {
  background: #fff !important;
  border: 1px solid #d8e0ec !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.055) !important;
  gap: 6px !important;
  margin: 22px auto !important;
  max-width: 1180px !important;
  padding: 8px !important;
}

body.mr-os-portal-body .mr-section-tabs a {
  border-radius: 16px !important;
  color: var(--mr-clean-text) !important;
  min-height: 52px !important;
  padding: 11px 14px !important;
}

body.mr-os-portal-body .mr-section-tabs a.is-active {
  background: #111827 !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-section-tabs span {
  color: var(--mr-clean-gold) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-section-tabs strong {
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
  line-height: 1.15 !important;
}

body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-hero,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-app-empty,
body.mr-os-portal-body .mr-profile-required-card {
  background: #fff !important;
  border: 1px solid #d8e0ec !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.055) !important;
  margin: 22px auto !important;
  max-width: 1180px !important;
  padding: 22px !important;
}

body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-app-hero p {
  color: var(--mr-clean-gold) !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
  letter-spacing: .16em !important;
  line-height: 1.2 !important;
  margin: 0 0 4px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-app-hero h2,
body.mr-os-portal-body .mr-app-empty h3 {
  color: var(--mr-clean-text) !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  font-weight: 760 !important;
  letter-spacing: -.035em !important;
  line-height: 1.12 !important;
  margin: 0 !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-button-secondary,
body.mr-os-portal-body .mr-mini-action,
body.mr-os-portal-body button:not(.ql-toolbar button) {
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  min-height: 38px !important;
  padding: 9px 13px !important;
}

body.mr-os-portal-body .mr-mini-action-primary,
body.mr-os-portal-body .mr-app-button {
  background: #12334d !important;
  border-color: #12334d !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-mini-action-gold {
  background: #fff7e6 !important;
  border-color: #f3d695 !important;
  color: #8a5a00 !important;
}

body.mr-os-portal-body .mr-mini-action-light {
  background: #fff !important;
  border-color: #d8e0ec !important;
  color: #111827 !important;
}

/* Listas y tablas compactas estilo producto/Facebook */
body.mr-os-portal-body .mr-app-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  color: var(--mr-clean-text) !important;
  font-size: 14px !important;
  min-width: 860px !important;
  table-layout: fixed !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-app-table th {
  background: #fff !important;
  border-bottom: 1px solid #d8e0ec !important;
  color: #667085 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  padding: 12px 14px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-table td {
  border-bottom: 1px solid #edf1f6 !important;
  color: var(--mr-clean-text) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  padding: 14px !important;
  vertical-align: middle !important;
  word-break: normal !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(1),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(1) { width: 46px !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(2),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(2) { width: 31% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(3),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(3) { width: 18% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(4),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(4) { width: 18% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(5),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(5) { width: 13% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(6),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(6) { width: 20% !important; }

body.mr-os-portal-body .mr-participant-main strong {
  color: #111827 !important;
  display: block !important;
  font-size: 14.5px !important;
  font-weight: 760 !important;
  letter-spacing: -.015em !important;
  line-height: 1.25 !important;
}

body.mr-os-portal-body .mr-participant-main span {
  color: #667085 !important;
  display: block !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin-top: 3px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-committee-cell .mr-committee-badge,
body.mr-os-portal-body .mr-app-table .mr-committee-badge {
  align-items: center !important;
  display: inline-flex !important;
  gap: 8px !important;
  max-width: 100% !important;
}

body.mr-os-portal-body .mr-committee-cell .mr-committee-badge img,
body.mr-os-portal-body .mr-app-table .mr-committee-badge img {
  flex: 0 0 auto !important;
  height: 22px !important;
  max-width: 34px !important;
  object-fit: contain !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-committee-cell .mr-committee-badge strong,
body.mr-os-portal-body .mr-app-table .mr-committee-badge strong {
  color: #475467 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
}

body.mr-os-portal-body .mr-country,
body.mr-os-portal-body .mr-country-cell .mr-country {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #475467 !important;
  display: inline-flex !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  max-width: 100% !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-country-flag,
body.mr-os-portal-body .mr-country-cell .mr-country-flag {
  background: #fff !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 6px rgba(15,23,42,.12) !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 18px !important;
  line-height: 1 !important;
  padding: 2px !important;
}

body.mr-os-portal-body .mr-country > span:last-child,
body.mr-os-portal-body .mr-country-cell .mr-country > span:last-child,
body.mr-os-portal-body .mr-country-name {
  color: #475467 !important;
  display: inline !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  word-break: normal !important;
}

body.mr-os-portal-body .mr-status {
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  padding: 6px 10px !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-participant-actions,
body.mr-os-portal-body .mr-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

body.mr-os-portal-body .mr-danger-details summary {
  color: #b91c1c !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  padding: 6px 4px !important;
}

/* Comités: logos presentes, pero texto controlado */
body.mr-os-portal-body .mr-committee-list,
body.mr-os-portal-body .mr-existing-committees,
body.mr-os-portal-body .mr-compact-list {
  gap: 10px !important;
}

body.mr-os-portal-body .mr-committee-list > div,
body.mr-os-portal-body .mr-compact-list > div {
  border-radius: 16px !important;
  min-height: 76px !important;
  padding: 14px 16px !important;
}

body.mr-os-portal-body .mr-committee-list .mr-committee-badge img,
body.mr-os-portal-body .mr-compact-list .mr-committee-badge img {
  height: 46px !important;
  max-width: 58px !important;
}

body.mr-os-portal-body .mr-committee-list .mr-committee-badge strong,
body.mr-os-portal-body .mr-compact-list .mr-committee-badge strong {
  font-size: 18px !important;
  font-weight: 760 !important;
  letter-spacing: -.025em !important;
  line-height: 1.15 !important;
}

body.mr-os-portal-body .mr-committee-profile-card {
  border-radius: 18px !important;
  padding: 22px !important;
}

body.mr-os-portal-body .mr-committee-badge img,
body.mr-os-portal-body .mr-committee-profile-identity img {
  height: 58px !important;
  max-width: 72px !important;
}

body.mr-os-portal-body .mr-committee-badge strong,
body.mr-os-portal-body .mr-committee-profile-identity strong {
  font-size: clamp(22px, 2vw, 30px) !important;
  font-weight: 780 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
}

body.mr-os-portal-body .mr-committee-profile-event img {
  height: 42px !important;
  max-width: 160px !important;
}

/* Sesiones / pase de lista: cards legibles, no bloques gigantes ni palabras rotas */
body.mr-os-portal-body .mr-academic-panel .mr-session-stack {
  gap: 12px !important;
}

body.mr-os-portal-body .mr-session-card {
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.045) !important;
  padding: 16px !important;
}

body.mr-os-portal-body .mr-session-card-head strong {
  font-size: 15px !important;
  font-weight: 760 !important;
}

body.mr-os-portal-body .mr-attendance-grid,
body.mr-os-portal-body .mr-choice-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 10px !important;
}

body.mr-os-portal-body .mr-attendance-row,
body.mr-os-portal-body .mr-choice-card {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid #d8e0ec !important;
  border-radius: 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  min-height: 82px !important;
  padding: 12px !important;
}

body.mr-os-portal-body .mr-attendance-row strong,
body.mr-os-portal-body .mr-choice-card strong {
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
}

body.mr-os-portal-body .mr-attendance-row span,
body.mr-os-portal-body .mr-choice-card span,
body.mr-os-portal-body .mr-choice-card .mr-country {
  color: #667085 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.mr-os-portal-body .mr-attendance-row select {
  border-radius: 12px !important;
  font-size: 13px !important;
  height: 38px !important;
  max-width: 150px !important;
}

/* Formularios y filtros */
body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-app-form {
  border-radius: 16px !important;
  gap: 10px !important;
  padding: 14px !important;
}

body.mr-os-portal-body .mr-app-filters input,
body.mr-os-portal-body .mr-app-filters select,
body.mr-os-portal-body .mr-app-form input,
body.mr-os-portal-body .mr-app-form select,
body.mr-os-portal-body .mr-app-form textarea {
  border-radius: 12px !important;
  font-size: 14px !important;
  min-height: 40px !important;
  padding: 9px 12px !important;
}

@media (max-width: 1100px) {
  body.mr-os-portal-body .mr-app {
    grid-template-columns: 240px minmax(0, 1fr) !important;
  }
  body.mr-os-portal-body .mr-app-sidebar { width: 240px !important; }
  body.mr-os-portal-body .mr-app-nav a { grid-template-columns: 86px minmax(0,1fr) !important; padding-left: 18px !important; }
  body.mr-os-portal-body .mr-active-event-logo { height: 40px !important; max-width: 150px !important; }
}

@media (max-width: 900px) {
  body.mr-os-portal-body .mr-app {
    display: block !important;
    padding-bottom: var(--mr-mobile-nav-height, 78px) !important;
  }
  body.mr-os-portal-body .mr-app-sidebar {
    background: linear-gradient(180deg, #1e3a8a, #172554) !important;
    border-radius: 22px 22px 0 0 !important;
    bottom: 0 !important;
    height: var(--mr-mobile-nav-height, 78px) !important;
    left: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    width: auto !important;
    z-index: 1000 !important;
  }
  body.mr-os-portal-body .mr-app-brand { display: none !important; }
  body.mr-os-portal-body .mr-app-nav {
    display: grid !important;
    grid-auto-columns: minmax(70px, 1fr) !important;
    grid-auto-flow: column !important;
    gap: 6px !important;
    height: 100% !important;
    overflow-x: auto !important;
    padding: 0 !important;
    scrollbar-width: none !important;
  }
  body.mr-os-portal-body .mr-app-nav a {
    border: 0 !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 58px !important;
    padding: 6px !important;
    text-align: center !important;
  }
  body.mr-os-portal-body .mr-app-nav span {
    font-size: 8.5px !important;
    letter-spacing: .1em !important;
  }
  body.mr-os-portal-body .mr-app-nav strong {
    font-size: 10.5px !important;
    max-width: 68px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.mr-os-portal-body .mr-app-topbar {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
    text-align: left !important;
  }
  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: 24px !important;
  }
  body.mr-os-portal-body .mr-topbar-tools {
    justify-content: space-between !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-active-event-logo {
    height: 34px !important;
    max-width: 138px !important;
  }
  body.mr-os-portal-body .mr-event-switcher-select { display: none !important; }
  body.mr-os-portal-body .mr-app-user {
    max-width: 220px !important;
    min-height: 50px !important;
    padding: 7px 8px !important;
  }
  body.mr-os-portal-body .mr-app-user img,
  body.mr-os-portal-body .mr-user-photo {
    height: 36px !important;
    width: 36px !important;
  }
  body.mr-os-portal-body .mr-app-user strong,
  body.mr-os-portal-body .mr-app-user span {
    font-size: 12px !important;
  }
  body.mr-os-portal-body .mr-glass-panel,
  body.mr-os-portal-body .mr-app-hero,
  body.mr-os-portal-body .mr-app-table-wrap,
  body.mr-os-portal-body .mr-app-empty,
  body.mr-os-portal-body .mr-profile-required-card {
    margin: 14px !important;
    padding: 16px !important;
  }
  body.mr-os-portal-body .mr-section-tabs { margin: 14px !important; }

  body.mr-os-portal-body .mr-app-table { min-width: 0 !important; }
  body.mr-os-portal-body .mr-app-table thead { display: none !important; }
  body.mr-os-portal-body .mr-app-table,
  body.mr-os-portal-body .mr-app-table tbody,
  body.mr-os-portal-body .mr-app-table tr,
  body.mr-os-portal-body .mr-app-table td {
    display: block !important;
    width: 100% !important;
  }
  body.mr-os-portal-body .mr-app-table tr {
    background: #fff !important;
    border: 1px solid #d8e0ec !important;
    border-radius: 16px !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
  }
  body.mr-os-portal-body .mr-app-table td {
    align-items: start !important;
    border: 0 !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    padding: 7px 4px !important;
  }
  body.mr-os-portal-body .mr-app-table td::before {
    color: #667085 !important;
    content: attr(data-label) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }
  body.mr-os-portal-body .mr-participant-actions { justify-content: flex-start !important; }
  body.mr-os-portal-body .mr-attendance-grid,
  body.mr-os-portal-body .mr-choice-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 520px) {
  body.mr-os-portal-body .mr-app-topbar h1 { font-size: 22px !important; }
  body.mr-os-portal-body .mr-topbar-tools { align-items: center !important; }
  body.mr-os-portal-body .mr-active-event-logo { height: 30px !important; max-width: 112px !important; }
  body.mr-os-portal-body .mr-app-user { max-width: 190px !important; }
  body.mr-os-portal-body .mr-app-user a { padding: 8px 11px !important; }
  body.mr-os-portal-body .mr-app-table td { grid-template-columns: 82px minmax(0,1fr) !important; }
}
/* === MUN Revolution OS 0.7.3 Clean App UI END === */

/* === MUN Revolution OS 0.7.4 Meta-clean interface correction START ===
   Objetivo: menos cartel, más producto. Tipografías sobrias, sidebar legible,
   topbar compacta, tablas/listas limpias y móvil tipo app sin palabras rotas. */
body.mr-os-portal-body {
  --mr-bg: #f0f2f5 !important;
  --mr-surface: #ffffff !important;
  --mr-soft: #f7f9fc !important;
  --mr-ink: #111827 !important;
  --mr-muted: #667085 !important;
  --mr-border: #d8e0ec !important;
  --mr-primary: #1e3a8a !important;
  --mr-primary-dark: #172554 !important;
  --mr-gold: #b7791f !important;
  --mr-gold-soft: #f0cf75 !important;
  --mr-radius: 16px !important;
  --mr-shadow: 0 8px 22px rgba(15, 23, 42, .065) !important;
  background: radial-gradient(circle at top center, rgba(219,234,254,.42), transparent 410px), var(--mr-bg) !important;
  color: var(--mr-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.mr-os-portal-body .mr-app {
  background: transparent !important;
  display: grid !important;
  grid-template-columns: 264px minmax(0, 1fr) !important;
  min-height: 100vh !important;
}

/* Sidebar limpio, no gigantesco */
body.mr-os-portal-body .mr-app-sidebar {
  background: linear-gradient(180deg, #1e3a8a 0%, #172554 100%) !important;
  border-right: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 10px 0 28px rgba(15,23,42,.08) !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  padding: 22px 0 18px !important;
  position: sticky !important;
  top: 0 !important;
  width: 264px !important;
}

body.mr-os-portal-body .mr-app-brand {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  justify-content: center !important;
  margin: 0 18px 24px !important;
  min-height: auto !important;
  padding: 8px 10px 18px !important;
  text-align: center !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-brand img {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 30px rgba(2,6,23,.18) !important;
  display: block !important;
  height: auto !important;
  max-height: 96px !important;
  max-width: 190px !important;
  object-fit: contain !important;
  padding: 14px 16px !important;
  width: 190px !important;
}

body.mr-os-portal-body .mr-brand-os-badge {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(229,236,255,.88)) !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 24px rgba(2,6,23,.14), inset 0 1px 0 rgba(255,255,255,.92) !important;
  color: #111827 !important;
  display: inline-flex !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
  min-width: 92px !important;
  padding: 11px 20px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav {
  display: grid !important;
  gap: 3px !important;
  padding: 0 10px 16px !important;
}

body.mr-os-portal-body .mr-app-nav a {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 999px 999px 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.86) !important;
  display: grid !important;
  gap: 2px !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  margin: 0 !important;
  min-height: 52px !important;
  padding: 9px 16px !important;
  text-align: left !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-nav a:hover {
  background: rgba(255,255,255,.08) !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255,255,255,.14) !important;
  border-left-color: var(--mr-gold-soft) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

body.mr-os-portal-body .mr-app-nav span {
  color: #fedb76 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .15em !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-nav strong {
  color: inherit !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
  line-height: 1.18 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Topbar: funcional y discreta */
body.mr-os-portal-body .mr-app-main {
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-app-topbar {
  align-items: center !important;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(216,224,236,.9) !important;
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  min-height: 86px !important;
  padding: 14px 26px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
}

body.mr-os-portal-body .mr-topbar-page p,
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-app-hero p {
  color: #667085 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1.1 !important;
  margin: 0 0 5px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
  color: #111827 !important;
  font-size: clamp(21px, 2.2vw, 30px) !important;
  font-weight: 760 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
  margin: 0 !important;
  max-width: 680px !important;
}

body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-event-switcher,
body.mr-os-portal-body .mr-event-switcher--brand,
body.mr-os-portal-body .mr-event-switcher--logo-only {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  gap: 10px !important;
  margin: 0 !important;
  max-width: 240px !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-active-event-logo {
  display: block !important;
  filter: drop-shadow(0 8px 14px rgba(15,23,42,.08)) !important;
  height: 44px !important;
  max-width: 170px !important;
  object-fit: contain !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-event-switcher-select {
  background: #fff !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 999px !important;
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  height: 36px !important;
  max-width: 160px !important;
  padding: 0 12px !important;
}

body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.07) !important;
  display: flex !important;
  gap: 9px !important;
  min-height: 48px !important;
  padding: 6px 8px !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-user-photo,
body.mr-os-portal-body .mr-app-user img:not(.mr-active-event-logo) {
  border-radius: 13px !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  height: 36px !important;
  object-fit: cover !important;
  width: 36px !important;
}

body.mr-os-portal-body .mr-app-user span {
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 730 !important;
  line-height: 1.1 !important;
  max-width: 140px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.mr-os-portal-body .mr-app-user a {
  background: #111827 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  padding: 9px 12px !important;
  text-decoration: none !important;
}

/* Paneles, tarjetas y títulos sin gigantismo */
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-hero,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-app-empty,
body.mr-os-portal-body .mr-profile-required-card {
  background: #fff !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--mr-shadow) !important;
  margin: 18px 24px !important;
  padding: 20px !important;
}

body.mr-os-portal-body .mr-panel-head {
  align-items: center !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}

body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-app-hero h2 {
  color: #111827 !important;
  font-size: clamp(20px, 1.8vw, 24px) !important;
  font-weight: 760 !important;
  letter-spacing: -.025em !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

body.mr-os-portal-body .mr-muted,
body.mr-os-portal-body .mr-muted-text {
  color: #667085 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.mr-os-portal-body button,
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-button-secondary,
body.mr-os-portal-body .mr-mini-action,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-participant-actions button,
body.mr-os-portal-body .mr-participant-actions a {
  align-items: center !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 720 !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  white-space: nowrap !important;
}

/* Participantes: lista tipo producto, sin columnas absurdas */
body.mr-os-portal-body .mr-participants-shell .mr-app-table-wrap {
  overflow-x: auto !important;
}

body.mr-os-portal-body .mr-app-table,
body.mr-os-portal-body .mr-participants-table {
  border-collapse: collapse !important;
  font-size: 14px !important;
  min-width: 980px !important;
  table-layout: auto !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-participants-table th,
body.mr-os-portal-body .mr-participants-table td {
  box-sizing: border-box !important;
}

body.mr-os-portal-body .mr-participants-table th:nth-child(1),
body.mr-os-portal-body .mr-participants-table td:nth-child(1) { width: 52px !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(2),
body.mr-os-portal-body .mr-participants-table td:nth-child(2) { width: 30% !important; min-width: 250px !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(3),
body.mr-os-portal-body .mr-participants-table td:nth-child(3) { width: 22% !important; min-width: 170px !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(4),
body.mr-os-portal-body .mr-participants-table td:nth-child(4) { width: 18% !important; min-width: 160px !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(5),
body.mr-os-portal-body .mr-participants-table td:nth-child(5) { width: 12% !important; min-width: 130px !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(6),
body.mr-os-portal-body .mr-participants-table td:nth-child(6) { width: 18% !important; min-width: 210px !important; }

body.mr-os-portal-body .mr-app-table th,
body.mr-os-portal-body .mr-app-table td {
  border-bottom: 1px solid #edf1f6 !important;
  padding: 12px 14px !important;
  vertical-align: middle !important;
}

body.mr-os-portal-body .mr-app-table th {
  color: #667085 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-participant-main strong,
body.mr-os-portal-body .mr-app-table td strong {
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 720 !important;
  letter-spacing: -.01em !important;
  line-height: 1.22 !important;
}

body.mr-os-portal-body .mr-participant-main span,
body.mr-os-portal-body .mr-app-table td span {
  color: #667085 !important;
  font-size: 12.5px !important;
  font-weight: 550 !important;
  line-height: 1.25 !important;
}

body.mr-os-portal-body .mr-participant-actions,
body.mr-os-portal-body .mr-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

body.mr-os-portal-body .mr-danger-details summary,
body.mr-os-portal-body .mr-danger-link {
  color: #b91c1c !important;
  font-size: 12.5px !important;
  font-weight: 720 !important;
}

/* Países y banderas: una línea, nunca letra por letra */
body.mr-os-portal-body .mr-country,
body.mr-os-portal-body .mr-country-cell .mr-country,
body.mr-os-portal-body .mr-attendance-row .mr-country,
body.mr-os-portal-body .mr-choice-card .mr-country {
  align-items: center !important;
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  justify-content: flex-start !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

body.mr-os-portal-body .mr-country-flag {
  border-radius: 4px !important;
  flex: 0 0 auto !important;
  font-size: 17px !important;
  line-height: 1 !important;
  padding: 1px !important;
}

body.mr-os-portal-body .mr-country-name,
body.mr-os-portal-body .mr-country > span:last-child {
  display: inline-block !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  max-width: 180px !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  text-overflow: ellipsis !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

/* Comités */
body.mr-os-portal-body .mr-committee-list > div,
body.mr-os-portal-body .mr-compact-list > div {
  align-items: center !important;
  border-radius: 16px !important;
  min-height: 72px !important;
  padding: 12px 14px !important;
}

body.mr-os-portal-body .mr-committee-badge {
  align-items: center !important;
  display: inline-flex !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-committee-badge img,
body.mr-os-portal-body .mr-committee-profile-identity img {
  flex: 0 0 auto !important;
  height: 48px !important;
  max-width: 62px !important;
  object-fit: contain !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-committee-badge strong,
body.mr-os-portal-body .mr-committee-profile-identity strong {
  color: #111827 !important;
  font-size: clamp(17px, 1.55vw, 22px) !important;
  font-weight: 740 !important;
  letter-spacing: -.025em !important;
  line-height: 1.12 !important;
}

body.mr-os-portal-body .mr-committee-profile-card {
  border-radius: 18px !important;
  padding: 20px !important;
}

body.mr-os-portal-body .mr-committee-profile-event img {
  height: 34px !important;
  max-width: 130px !important;
}

/* Sesiones y asistencia */
body.mr-os-portal-body .mr-session-card {
  border-radius: 16px !important;
  padding: 16px !important;
}

body.mr-os-portal-body .mr-session-card-head {
  align-items: center !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
}

body.mr-os-portal-body .mr-session-card-head strong {
  font-size: 15px !important;
  font-weight: 730 !important;
}

body.mr-os-portal-body .mr-attendance-grid,
body.mr-os-portal-body .mr-choice-grid {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)) !important;
}

body.mr-os-portal-body .mr-attendance-row,
body.mr-os-portal-body .mr-choice-card {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mr-border) !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(0, 1fr) 142px !important;
  min-height: 76px !important;
  padding: 12px !important;
}

body.mr-os-portal-body .mr-attendance-row > div,
body.mr-os-portal-body .mr-choice-card > div {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-attendance-row strong,
body.mr-os-portal-body .mr-choice-card strong {
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
}

body.mr-os-portal-body .mr-attendance-row select {
  border-radius: 12px !important;
  font-size: 13px !important;
  height: 38px !important;
  max-width: 142px !important;
  padding: 0 10px !important;
}

body.mr-os-portal-body .mr-status {
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 720 !important;
  padding: 5px 9px !important;
  white-space: nowrap !important;
}

/* Forms */
body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-app-form,
body.mr-os-portal-body .mr-bulk-actions {
  border-radius: 16px !important;
  gap: 10px !important;
  padding: 14px !important;
}

body.mr-os-portal-body input,
body.mr-os-portal-body select,
body.mr-os-portal-body textarea {
  font-size: 14px !important;
}

@media (max-width: 1120px) {
  body.mr-os-portal-body .mr-app { grid-template-columns: 238px minmax(0,1fr) !important; }
  body.mr-os-portal-body .mr-app-sidebar { width: 238px !important; }
  body.mr-os-portal-body .mr-app-nav a { grid-template-columns: 76px minmax(0,1fr) !important; padding-left: 13px !important; }
  body.mr-os-portal-body .mr-app-brand img { width: 168px !important; max-width: 168px !important; }
  body.mr-os-portal-body .mr-active-event-logo { height: 38px !important; max-width: 145px !important; }
}

@media (max-width: 900px) {
  body.mr-os-portal-body .mr-app {
    display: block !important;
    padding-bottom: 84px !important;
  }
  body.mr-os-portal-body .mr-app-sidebar {
    background: linear-gradient(180deg, #1e3a8a, #172554) !important;
    border-radius: 22px 22px 0 0 !important;
    bottom: 0 !important;
    box-shadow: 0 -14px 30px rgba(15,23,42,.24) !important;
    height: 78px !important;
    left: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    width: auto !important;
    z-index: 1000 !important;
  }
  body.mr-os-portal-body .mr-app-brand { display: none !important; }
  body.mr-os-portal-body .mr-app-nav {
    display: grid !important;
    grid-auto-columns: minmax(70px, 1fr) !important;
    grid-auto-flow: column !important;
    gap: 6px !important;
    height: 100% !important;
    overflow-x: auto !important;
    padding: 0 !important;
    scrollbar-width: none !important;
  }
  body.mr-os-portal-body .mr-app-nav a {
    border: 0 !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    min-height: 58px !important;
    padding: 6px !important;
    text-align: center !important;
  }
  body.mr-os-portal-body .mr-app-nav span { font-size: 8.5px !important; letter-spacing: .1em !important; }
  body.mr-os-portal-body .mr-app-nav strong { font-size: 10.5px !important; max-width: 70px !important; text-align: center !important; }
  body.mr-os-portal-body .mr-app-topbar {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    position: sticky !important;
  }
  body.mr-os-portal-body .mr-app-topbar h1 { font-size: 22px !important; }
  body.mr-os-portal-body .mr-topbar-tools { justify-content: space-between !important; width: 100% !important; }
  body.mr-os-portal-body .mr-active-event-logo { height: 30px !important; max-width: 112px !important; }
  body.mr-os-portal-body .mr-event-switcher-select { display: none !important; }
  body.mr-os-portal-body .mr-app-user { max-width: 210px !important; }
  body.mr-os-portal-body .mr-app-user span { max-width: 92px !important; }
  body.mr-os-portal-body .mr-glass-panel,
  body.mr-os-portal-body .mr-app-hero,
  body.mr-os-portal-body .mr-app-table-wrap,
  body.mr-os-portal-body .mr-app-empty,
  body.mr-os-portal-body .mr-profile-required-card {
    margin: 14px !important;
    padding: 16px !important;
  }
  body.mr-os-portal-body .mr-section-tabs { margin: 14px !important; }
  body.mr-os-portal-body .mr-app-table { min-width: 0 !important; }
  body.mr-os-portal-body .mr-app-table thead { display: none !important; }
  body.mr-os-portal-body .mr-app-table,
  body.mr-os-portal-body .mr-app-table tbody,
  body.mr-os-portal-body .mr-app-table tr,
  body.mr-os-portal-body .mr-app-table td { display: block !important; width: 100% !important; }
  body.mr-os-portal-body .mr-app-table tr {
    background: #fff !important;
    border: 1px solid var(--mr-border) !important;
    border-radius: 16px !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
  }
  body.mr-os-portal-body .mr-app-table td {
    border: 0 !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 86px minmax(0,1fr) !important;
    padding: 7px 4px !important;
  }
  body.mr-os-portal-body .mr-app-table td::before {
    color: #667085 !important;
    content: attr(data-label) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }
  body.mr-os-portal-body .mr-attendance-grid,
  body.mr-os-portal-body .mr-choice-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 520px) {
  body.mr-os-portal-body .mr-app-topbar h1 { font-size: 21px !important; }
  body.mr-os-portal-body .mr-topbar-tools { align-items: center !important; }
  body.mr-os-portal-body .mr-app-user { max-width: 188px !important; padding: 6px !important; }
  body.mr-os-portal-body .mr-app-user a { padding: 8px 10px !important; }
  body.mr-os-portal-body .mr-country-name,
  body.mr-os-portal-body .mr-country > span:last-child { max-width: 150px !important; }
  body.mr-os-portal-body .mr-app-table td { grid-template-columns: 76px minmax(0,1fr) !important; }
  body.mr-os-portal-body .mr-attendance-row,
  body.mr-os-portal-body .mr-choice-card { grid-template-columns: 1fr !important; }
  body.mr-os-portal-body .mr-attendance-row select { max-width: 100% !important; width: 100% !important; }
}
/* === MUN Revolution OS 0.7.4 Meta-clean interface correction END === */

/* === MUN Revolution OS 0.7.5 Controlled Meta App UI START ===
   Final visual stabilization patch: compact Facebook/Meta-style scale, clean sidebar,
   smaller MUN branding, non-breaking country badges, organized participants and attendance.
=== */

body.mr-os-portal-body {
	--mr-app-bg: #f0f2f5 !important;
	--mr-surface: #ffffff !important;
	--mr-surface-soft: #f8fafc !important;
	--mr-text: #111827 !important;
	--mr-muted: #667085 !important;
	--mr-navy: #172554 !important;
	--mr-navy-2: #1e3a8a !important;
	--mr-gold: #b88a1b !important;
	--mr-gold-soft: #f6ebc5 !important;
	--mr-border: #d9e2ef !important;
	--mr-radius-sm: 10px !important;
	--mr-radius-md: 14px !important;
	--mr-radius-lg: 18px !important;
	--mr-shadow-soft: 0 10px 28px rgba(15, 23, 42, .07) !important;
	--mr-shadow-card: 0 8px 24px rgba(15, 23, 42, .06) !important;
	--mr-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	background: var(--mr-app-bg) !important;
	color: var(--mr-text) !important;
	font-family: var(--mr-font) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

body.mr-os-portal-body *,
body.mr-os-portal-body *::before,
body.mr-os-portal-body *::after {
	box-sizing: border-box !important;
}

body.mr-os-portal-body .mr-app {
	background: radial-gradient(circle at 52% -180px, rgba(184, 138, 27, .11), transparent 390px), var(--mr-app-bg) !important;
	grid-template-columns: 244px minmax(0, 1fr) !important;
	min-height: 100vh !important;
}

/* Sidebar limpio: marca visible, navegación compacta y acento dorado sobrio. */
body.mr-os-portal-body .mr-app-sidebar {
	background: linear-gradient(180deg, #173985 0%, #13285f 100%) !important;
	border: 0 !important;
	box-shadow: 10px 0 30px rgba(15, 23, 42, .10) !important;
	padding: 18px 12px 20px !important;
	position: sticky !important;
	top: 0 !important;
	width: 244px !important;
	min-width: 244px !important;
	height: 100vh !important;
	overflow-y: auto !important;
}

body.mr-os-portal-body .mr-app-brand {
	background: rgba(255, 255, 255, .95) !important;
	border: 1px solid rgba(255, 255, 255, .7) !important;
	border-radius: 20px !important;
	box-shadow: 0 14px 34px rgba(4, 16, 44, .18) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 18px !important;
	padding: 18px 16px !important;
	text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-brand img {
	display: block !important;
	width: min(172px, 100%) !important;
	height: auto !important;
	max-height: 78px !important;
	object-fit: contain !important;
	filter: none !important;
	margin: 0 !important;
	transform: none !important;
}

body.mr-os-portal-body .mr-brand-os-badge {
	background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(229,236,252,.88)) !important;
	border: 1px solid rgba(226, 232, 240, .95) !important;
	border-radius: 999px !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 8px 18px rgba(15,23,42,.10) !important;
	color: #111827 !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: .16em !important;
	line-height: 1 !important;
	min-width: 86px !important;
	padding: 10px 20px !important;
	text-align: center !important;
}

body.mr-os-portal-body .mr-app-nav {
	display: grid !important;
	gap: 3px !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-app-nav a {
	background: transparent !important;
	border: 0 !important;
	border-left: 3px solid transparent !important;
	border-radius: 0 16px 16px 0 !important;
	box-shadow: none !important;
	color: rgba(255,255,255,.90) !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1px !important;
	margin: 0 0 0 -12px !important;
	min-height: 48px !important;
	padding: 8px 12px 8px 22px !important;
	text-align: left !important;
	text-decoration: none !important;
	transition: background .18s ease, border-color .18s ease, color .18s ease !important;
}

body.mr-os-portal-body .mr-app-nav a:hover {
	background: rgba(255,255,255,.08) !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
	background: rgba(255,255,255,.13) !important;
	border-left-color: var(--mr-gold) !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
	color: #ffffff !important;
}

body.mr-os-portal-body .mr-app-nav span,
body.mr-os-portal-body .mr-section-tabs span,
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-app-hero p,
body.mr-os-portal-body .mr-topbar-page p {
	color: var(--mr-gold-soft) !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	letter-spacing: .16em !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav strong {
	color: inherit !important;
	font-size: 14px !important;
	font-weight: 650 !important;
	letter-spacing: -.01em !important;
	line-height: 1.18 !important;
	max-width: none !important;
	text-align: left !important;
}

body.mr-os-portal-body .mr-nav-badge {
	background: #ef4444 !important;
	border: 2px solid #fff !important;
	border-radius: 999px !important;
	color: #fff !important;
	display: inline-flex !important;
	font-size: 10px !important;
	font-style: normal !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	margin-left: 6px !important;
	min-width: 18px !important;
	padding: 3px 5px !important;
	vertical-align: top !important;
}

/* Topbar con jerarquía controlada, sin hero gigante ni logo dominante. */
body.mr-os-portal-body .mr-app-main {
	min-width: 0 !important;
	background: transparent !important;
}

body.mr-os-portal-body .mr-app-topbar {
	background: rgba(255, 255, 255, .92) !important;
	backdrop-filter: blur(16px) !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(217, 226, 239, .9) !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 16px !important;
	align-items: center !important;
	min-height: 82px !important;
	padding: 16px 26px !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 50 !important;
}

body.mr-os-portal-body .mr-topbar-page {
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
	color: var(--mr-text) !important;
	font-size: clamp(22px, 2vw, 28px) !important;
	font-weight: 720 !important;
	letter-spacing: -.035em !important;
	line-height: 1.08 !important;
	margin: 2px 0 0 !important;
	max-width: 720px !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body.mr-os-portal-body .mr-topbar-tools {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	justify-content: flex-end !important;
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-event-switcher,
body.mr-os-portal-body .mr-event-switcher--brand,
body.mr-os-portal-body .mr-event-switcher--logo-only,
body.mr-os-portal-body .mr-event-switcher--static {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	min-width: 0 !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-active-event-logo {
	display: block !important;
	height: 42px !important;
	max-height: 42px !important;
	max-width: 154px !important;
	object-fit: contain !important;
	filter: none !important;
	margin: 0 !important;
}

body.mr-os-portal-body .mr-active-event-name-fallback {
	background: #fff !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--mr-text) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	padding: 9px 12px !important;
	white-space: nowrap !important;
}

body.mr-os-portal-body .mr-event-switcher-select {
	font-size: 13px !important;
	min-height: 34px !important;
	padding: 6px 30px 6px 10px !important;
}

body.mr-os-portal-body .mr-app-user {
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 18px !important;
	box-shadow: var(--mr-shadow-soft) !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	max-width: 310px !important;
	min-width: 0 !important;
	padding: 7px 8px !important;
}

body.mr-os-portal-body .mr-app-user-photo {
	border: 2px solid #fff !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 12px rgba(15,23,42,.10) !important;
	flex: 0 0 auto !important;
	height: 42px !important;
	object-fit: cover !important;
	width: 42px !important;
}

body.mr-os-portal-body .mr-app-user span {
	color: var(--mr-text) !important;
	font-size: 14px !important;
	font-weight: 680 !important;
	letter-spacing: -.01em !important;
	line-height: 1.18 !important;
	max-width: 142px !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-user a {
	background: var(--mr-navy) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	padding: 10px 13px !important;
	text-decoration: none !important;
}

/* Contenido: cards limpias, escala sobria y espaciado tipo producto. */
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-hero,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-app-empty,
body.mr-os-portal-body .mr-profile-required-card {
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 18px !important;
	box-shadow: var(--mr-shadow-card) !important;
	margin: 20px 24px !important;
	padding: 22px !important;
}

body.mr-os-portal-body .mr-panel-head {
	align-items: center !important;
	border-bottom: 1px solid rgba(217,226,239,.8) !important;
	display: flex !important;
	gap: 14px !important;
	justify-content: space-between !important;
	margin: 0 0 18px !important;
	padding: 0 0 14px !important;
}

body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-app-hero h2,
body.mr-os-portal-body .mr-session-board-head h2,
body.mr-os-portal-body .mr-rollcall-head h2,
body.mr-os-portal-body .mr-committee-display-main h2 {
	color: var(--mr-text) !important;
	font-size: clamp(20px, 2.1vw, 24px) !important;
	font-weight: 720 !important;
	letter-spacing: -.035em !important;
	line-height: 1.14 !important;
	margin: 0 !important;
}

body.mr-os-portal-body .mr-app-hero {
	background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 62%, #111827 100%) !important;
	color: #fff !important;
	padding: 24px !important;
}

body.mr-os-portal-body .mr-app-hero h2,
body.mr-os-portal-body .mr-app-hero p {
	color: #fff !important;
}

body.mr-os-portal-body .mr-app-stats {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
	gap: 14px !important;
	margin: 18px 24px !important;
}

body.mr-os-portal-body .mr-app-stats div {
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 16px !important;
	box-shadow: var(--mr-shadow-card) !important;
	color: var(--mr-muted) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	padding: 16px !important;
	text-transform: none !important;
}

body.mr-os-portal-body .mr-app-stats span {
	color: var(--mr-navy-2) !important;
	display: block !important;
	font-size: 26px !important;
	font-weight: 760 !important;
	letter-spacing: -.03em !important;
	line-height: 1 !important;
	margin: 0 0 4px !important;
}

body.mr-os-portal-body .mr-muted,
body.mr-os-portal-body .mr-card-sub,
body.mr-os-portal-body small {
	color: var(--mr-muted) !important;
	font-size: 13px !important;
	font-weight: 450 !important;
	line-height: 1.45 !important;
}

/* Botones más tipo producto: compactos, consistentes, sin cápsulas enormes. */
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-mini-action,
body.mr-os-portal-body button,
body.mr-os-portal-body input[type="submit"] {
	align-items: center !important;
	border-radius: 11px !important;
	display: inline-flex !important;
	font-size: 13px !important;
	font-weight: 680 !important;
	gap: 6px !important;
	justify-content: center !important;
	line-height: 1.1 !important;
	min-height: 36px !important;
	padding: 9px 13px !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

body.mr-os-portal-body .mr-mini-action-primary,
body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-actions button:not(.mr-danger-button) {
	background: var(--mr-navy) !important;
	border: 1px solid var(--mr-navy) !important;
	color: #fff !important;
}

body.mr-os-portal-body .mr-mini-action-light,
body.mr-os-portal-body .mr-actions a {
	background: #fff !important;
	border: 1px solid var(--mr-border) !important;
	color: var(--mr-text) !important;
}

body.mr-os-portal-body .mr-mini-action-gold {
	background: #fff7df !important;
	border: 1px solid #ead49b !important;
	color: #7a540a !important;
}

body.mr-os-portal-body .mr-danger-details summary,
body.mr-os-portal-body .mr-danger-button {
	background: #fff1f1 !important;
	border: 1px solid #ffd2d2 !important;
	border-radius: 10px !important;
	color: #b91c1c !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	padding: 8px 11px !important;
}

/* Formularios: escala controlada y inputs tipo app. */
body.mr-os-portal-body input,
body.mr-os-portal-body select,
body.mr-os-portal-body textarea {
	background: #fff !important;
	border: 1px solid var(--mr-border) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: var(--mr-text) !important;
	font-size: 14px !important;
	font-weight: 450 !important;
	min-height: 38px !important;
	padding: 9px 12px !important;
}

body.mr-os-portal-body label,
body.mr-os-portal-body .mr-form-label {
	color: var(--mr-text) !important;
	font-size: 12px !important;
	font-weight: 680 !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
}

body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-bulk-actions {
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	gap: 10px !important;
	padding: 12px !important;
}

/* Tablas: compactas, legibles y sin columnas imposibles. */
body.mr-os-portal-body .mr-app-table-wrap {
	overflow-x: auto !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-app-table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	font-size: 14px !important;
	min-width: 920px !important;
	table-layout: auto !important;
	width: 100% !important;
}

body.mr-os-portal-body .mr-app-table th,
body.mr-os-portal-body .mr-app-table td {
	border-bottom: 1px solid rgba(217,226,239,.82) !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	padding: 13px 14px !important;
	vertical-align: middle !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body.mr-os-portal-body .mr-app-table th {
	background: #f8fafc !important;
	color: #475467 !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	letter-spacing: .10em !important;
	text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-table tr:hover td {
	background: #fbfdff !important;
}

body.mr-os-portal-body .mr-select-col {
	text-align: center !important;
	width: 46px !important;
}

body.mr-os-portal-body .mr-select-col input[type="checkbox"],
body.mr-os-portal-body input[type="checkbox"] {
	accent-color: var(--mr-navy-2) !important;
	min-height: auto !important;
	width: 16px !important;
	height: 16px !important;
	padding: 0 !important;
}

body.mr-os-portal-body .mr-participants-table {
	min-width: 1040px !important;
}

body.mr-os-portal-body .mr-participants-table th:nth-child(1),
body.mr-os-portal-body .mr-participants-table td:nth-child(1) { width: 50px !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(2),
body.mr-os-portal-body .mr-participants-table td:nth-child(2) { width: 33% !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(3),
body.mr-os-portal-body .mr-participants-table td:nth-child(3) { width: 22% !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(4),
body.mr-os-portal-body .mr-participants-table td:nth-child(4) { width: 20% !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(5),
body.mr-os-portal-body .mr-participants-table td:nth-child(5) { width: 14% !important; }
body.mr-os-portal-body .mr-participants-table th:nth-child(6),
body.mr-os-portal-body .mr-participants-table td:nth-child(6) { width: 170px !important; }

body.mr-os-portal-body .mr-participant-main {
	display: grid !important;
	gap: 2px !important;
}

body.mr-os-portal-body .mr-participant-main strong,
body.mr-os-portal-body .mr-app-table td > strong {
	color: var(--mr-text) !important;
	display: block !important;
	font-size: 14.5px !important;
	font-weight: 680 !important;
	letter-spacing: -.01em !important;
	line-height: 1.25 !important;
}

body.mr-os-portal-body .mr-participant-main span,
body.mr-os-portal-body .mr-app-table td > span,
body.mr-os-portal-body .mr-app-table td small {
	color: var(--mr-muted) !important;
	font-size: 12.5px !important;
	font-weight: 450 !important;
	line-height: 1.25 !important;
}

body.mr-os-portal-body .mr-participant-actions,
body.mr-os-portal-body .mr-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

body.mr-os-portal-body .mr-participant-actions form,
body.mr-os-portal-body .mr-actions form {
	display: inline-flex !important;
	margin: 0 !important;
}

/* Países y banderas: nunca partir palabras por letras. */
body.mr-os-portal-body .mr-country,
body.mr-os-portal-body .mr-country-cell .mr-country,
body.mr-os-portal-body .mr-attendance-row .mr-country,
body.mr-os-portal-body .mr-choice-card .mr-country {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 999px !important;
	color: #344054 !important;
	display: inline-flex !important;
	flex: 0 0 auto !important;
	gap: 8px !important;
	max-width: 100% !important;
	min-width: max-content !important;
	padding: 6px 10px 6px 7px !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body.mr-os-portal-body .mr-country-flag,
body.mr-os-portal-body .mr-country-cell .mr-country-flag,
body.mr-os-portal-body .mr-attendance-row .mr-country-flag {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 19px !important;
	line-height: 1 !important;
	min-width: 22px !important;
	padding: 0 !important;
	width: auto !important;
}

body.mr-os-portal-body .mr-country-name,
body.mr-os-portal-body .mr-country > span:last-child,
body.mr-os-portal-body .mr-country-cell .mr-country > span:last-child {
	color: #344054 !important;
	font-size: 13px !important;
	font-weight: 620 !important;
	line-height: 1.15 !important;
	max-width: none !important;
	overflow: visible !important;
	overflow-wrap: normal !important;
	text-overflow: clip !important;
	white-space: nowrap !important;
	word-break: normal !important;
}

body.mr-os-portal-body .mr-committee,
body.mr-os-portal-body .mr-committee-cell .mr-committee,
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee {
	align-items: center !important;
	display: inline-flex !important;
	gap: 8px !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-committee-mark,
body.mr-os-portal-body .mr-committee-logo,
body.mr-os-portal-body .mr-committee-list-logo {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	flex: 0 0 auto !important;
	height: 30px !important;
	object-fit: contain !important;
	padding: 0 !important;
	width: 38px !important;
}

body.mr-os-portal-body .mr-committee span,
body.mr-os-portal-body .mr-committee-name {
	color: var(--mr-text) !important;
	font-size: 13.5px !important;
	font-weight: 650 !important;
	line-height: 1.2 !important;
	min-width: 0 !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

/* Comités existentes: logos sobrios y texto sin gigantismo. */
body.mr-os-portal-body .mr-committee-admin-list {
	display: grid !important;
	gap: 10px !important;
}

body.mr-os-portal-body .mr-committee-admin-row {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	display: grid !important;
	grid-template-columns: minmax(0,1fr) auto !important;
	gap: 12px !important;
	min-height: 74px !important;
	padding: 12px 14px !important;
}

body.mr-os-portal-body .mr-committee-admin-identity {
	align-items: center !important;
	display: flex !important;
	gap: 12px !important;
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-mark {
	height: 42px !important;
	width: 48px !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee span,
body.mr-os-portal-body .mr-committee-admin-row strong:not(.mr-actions) {
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: -.02em !important;
	line-height: 1.2 !important;
}

/* Mi comité: jerarquía institucional sin repetir ni sobredimensionar. */
body.mr-os-portal-body .mr-committee-display,
body.mr-os-portal-body .mr-committee-showcase {
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 18px !important;
	box-shadow: var(--mr-shadow-card) !important;
	padding: 20px !important;
}

body.mr-os-portal-body .mr-committee-display-logo,
body.mr-os-portal-body .mr-committee-showcase-logo {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	height: 72px !important;
	object-fit: contain !important;
	width: 86px !important;
}

body.mr-os-portal-body .mr-committee-display-main h2 {
	font-size: clamp(22px, 2.2vw, 28px) !important;
}

body.mr-os-portal-body .mr-committee-context-logo,
body.mr-os-portal-body .mr-committee-event-logo {
	height: 34px !important;
	max-width: 128px !important;
	object-fit: contain !important;
}

/* Sesiones / asistencia: tarjetas funcionales y compactas. */
body.mr-os-portal-body .mr-session-board,
body.mr-os-portal-body .mr-rollcall-board {
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 18px !important;
	box-shadow: var(--mr-shadow-card) !important;
	padding: 20px !important;
}

body.mr-os-portal-body .mr-session-board-head,
body.mr-os-portal-body .mr-rollcall-head {
	align-items: center !important;
	display: flex !important;
	gap: 12px !important;
	justify-content: space-between !important;
	margin-bottom: 14px !important;
}

body.mr-os-portal-body .mr-attendance-grid,
body.mr-os-portal-body .mr-rollcall-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 10px !important;
}

body.mr-os-portal-body .mr-attendance-row,
body.mr-os-portal-body .mr-rollcall-row {
	align-items: center !important;
	background: #f8fafc !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 16px !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 134px !important;
	gap: 10px !important;
	min-height: 92px !important;
	padding: 12px !important;
}

body.mr-os-portal-body .mr-attendance-row > div:first-child,
body.mr-os-portal-body .mr-rollcall-country {
	display: grid !important;
	gap: 7px !important;
	min-width: 0 !important;
}

body.mr-os-portal-body .mr-attendance-row strong,
body.mr-os-portal-body .mr-rollcall-country strong {
	color: var(--mr-text) !important;
	font-size: 14px !important;
	font-weight: 650 !important;
	line-height: 1.25 !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body.mr-os-portal-body .mr-attendance-row select,
body.mr-os-portal-body .mr-rollcall-row select {
	border-radius: 12px !important;
	font-size: 14px !important;
	min-height: 38px !important;
	max-width: 134px !important;
	width: 100% !important;
}

body.mr-os-portal-body .mr-rollcall-flag {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 21px !important;
	height: auto !important;
	width: auto !important;
}

/* Participación: selección rápida sin tarjetas enormes. */
body.mr-os-portal-body .mr-choice-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
	gap: 10px !important;
}

body.mr-os-portal-body .mr-choice-card {
	background: #fff !important;
	border: 1px solid rgba(217,226,239,.95) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	min-height: 72px !important;
	padding: 11px 12px !important;
}

body.mr-os-portal-body .mr-choice-card strong {
	font-size: 14px !important;
	font-weight: 650 !important;
}

body.mr-os-portal-body .mr-choice-card.is-selected,
body.mr-os-portal-body .mr-choice-card:has(input:checked) {
	background: #fff8e6 !important;
	border-color: #d9a736 !important;
	box-shadow: 0 0 0 2px rgba(184, 138, 27, .13) !important;
}

body.mr-os-portal-body .mr-chip-row,
body.mr-os-portal-body .mr-toggle-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

body.mr-os-portal-body .mr-chip,
body.mr-os-portal-body .mr-toggle-chip {
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 650 !important;
	min-height: 34px !important;
	padding: 8px 12px !important;
}

/* Estados/badges compactos. */
body.mr-os-portal-body .mr-status,
body.mr-os-portal-body .mr-badge,
body.mr-os-portal-body .mr-pill {
	align-items: center !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	gap: 6px !important;
	line-height: 1 !important;
	padding: 7px 10px !important;
	white-space: nowrap !important;
}

/* Responsive: sidebar se convierte en bottom nav tipo app, sin romper contenido. */
@media (max-width: 1100px) {
	body.mr-os-portal-body .mr-app {
		grid-template-columns: 1fr !important;
	}

	body.mr-os-portal-body .mr-app-sidebar {
		border-radius: 22px 22px 0 0 !important;
		bottom: 0 !important;
		height: 74px !important;
		left: 0 !important;
		min-height: 0 !important;
		min-width: 0 !important;
		overflow: visible !important;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
		position: fixed !important;
		right: 0 !important;
		top: auto !important;
		width: 100% !important;
		z-index: 120 !important;
	}

	body.mr-os-portal-body .mr-app-brand {
		display: none !important;
	}

	body.mr-os-portal-body .mr-app-nav {
		display: grid !important;
		grid-auto-columns: minmax(72px, 1fr) !important;
		grid-auto-flow: column !important;
		gap: 7px !important;
		height: 100% !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding: 0 !important;
		scrollbar-width: none !important;
	}

	body.mr-os-portal-body .mr-app-nav::-webkit-scrollbar {
		display: none !important;
	}

	body.mr-os-portal-body .mr-app-nav a {
		background: rgba(255,255,255,.10) !important;
		border: 0 !important;
		border-radius: 16px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		justify-content: center !important;
		margin: 0 !important;
		min-height: 56px !important;
		padding: 6px 8px !important;
		text-align: center !important;
	}

	body.mr-os-portal-body .mr-app-nav a.is-active {
		background: rgba(255,255,255,.20) !important;
		box-shadow: inset 0 0 0 1px rgba(255,255,255,.12) !important;
	}

	body.mr-os-portal-body .mr-app-nav span {
		font-size: 8px !important;
		letter-spacing: .10em !important;
		max-width: 68px !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	body.mr-os-portal-body .mr-app-nav strong {
		font-size: 10.5px !important;
		font-weight: 700 !important;
		line-height: 1.08 !important;
		max-width: 68px !important;
		overflow: hidden !important;
		text-align: center !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	body.mr-os-portal-body .mr-app-main {
		padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
	}

	body.mr-os-portal-body .mr-app-topbar {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		padding: 14px 16px !important;
	}

	body.mr-os-portal-body .mr-topbar-tools {
		justify-content: space-between !important;
		width: 100% !important;
	}

	body.mr-os-portal-body .mr-active-event-logo {
		height: 34px !important;
		max-width: 130px !important;
	}

	body.mr-os-portal-body .mr-app-topbar h1 {
		font-size: 21px !important;
		max-width: none !important;
	}

	body.mr-os-portal-body .mr-glass-panel,
	body.mr-os-portal-body .mr-app-hero,
	body.mr-os-portal-body .mr-app-table-wrap,
	body.mr-os-portal-body .mr-app-empty,
	body.mr-os-portal-body .mr-profile-required-card,
	body.mr-os-portal-body .mr-app-stats {
		margin-left: 14px !important;
		margin-right: 14px !important;
	}
}

@media (max-width: 760px) {
	body.mr-os-portal-body .mr-glass-panel,
	body.mr-os-portal-body .mr-app-hero,
	body.mr-os-portal-body .mr-app-table-wrap,
	body.mr-os-portal-body .mr-app-empty,
	body.mr-os-portal-body .mr-profile-required-card {
		border-radius: 16px !important;
		margin: 12px !important;
		padding: 16px !important;
	}

	body.mr-os-portal-body .mr-section-tabs {
		margin: 12px !important;
		overflow-x: auto !important;
		padding: 8px !important;
	}

	body.mr-os-portal-body .mr-section-tabs a {
		flex: 0 0 auto !important;
		min-width: 132px !important;
		padding: 10px 12px !important;
	}

	body.mr-os-portal-body .mr-app-table {
		min-width: 0 !important;
	}

	body.mr-os-portal-body .mr-app-table thead {
		display: none !important;
	}

	body.mr-os-portal-body .mr-app-table,
	body.mr-os-portal-body .mr-app-table tbody,
	body.mr-os-portal-body .mr-app-table tr,
	body.mr-os-portal-body .mr-app-table td {
		display: block !important;
		width: 100% !important;
	}

	body.mr-os-portal-body .mr-app-table tr {
		background: #fff !important;
		border: 1px solid rgba(217,226,239,.95) !important;
		border-radius: 15px !important;
		margin: 0 0 10px !important;
		padding: 10px !important;
	}

	body.mr-os-portal-body .mr-app-table td {
		border: 0 !important;
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: 96px minmax(0,1fr) !important;
		padding: 7px 4px !important;
	}

	body.mr-os-portal-body .mr-app-table td::before {
		color: #667085 !important;
		content: attr(data-label) !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		letter-spacing: .08em !important;
		line-height: 1.2 !important;
		text-transform: uppercase !important;
	}

	body.mr-os-portal-body .mr-participant-actions,
	body.mr-os-portal-body .mr-actions {
		justify-content: flex-start !important;
	}

	body.mr-os-portal-body .mr-attendance-grid,
	body.mr-os-portal-body .mr-rollcall-grid,
	body.mr-os-portal-body .mr-choice-grid {
		grid-template-columns: 1fr !important;
	}

	body.mr-os-portal-body .mr-attendance-row,
	body.mr-os-portal-body .mr-rollcall-row {
		grid-template-columns: 1fr !important;
		min-height: auto !important;
	}

	body.mr-os-portal-body .mr-attendance-row select,
	body.mr-os-portal-body .mr-rollcall-row select {
		max-width: 100% !important;
	}

	body.mr-os-portal-body .mr-committee-admin-row {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 520px) {
	body.mr-os-portal-body .mr-app-topbar h1 {
		font-size: 20px !important;
	}

	body.mr-os-portal-body .mr-topbar-tools {
		align-items: center !important;
		gap: 8px !important;
	}

	body.mr-os-portal-body .mr-app-user {
		max-width: 190px !important;
		padding: 6px !important;
	}

	body.mr-os-portal-body .mr-app-user-photo {
		height: 36px !important;
		width: 36px !important;
	}

	body.mr-os-portal-body .mr-app-user span {
		font-size: 12.5px !important;
		max-width: 78px !important;
	}

	body.mr-os-portal-body .mr-app-user a {
		font-size: 12px !important;
		padding: 9px 10px !important;
	}

	body.mr-os-portal-body .mr-active-event-logo {
		height: 28px !important;
		max-width: 108px !important;
	}

	body.mr-os-portal-body .mr-app-table td {
		grid-template-columns: 82px minmax(0,1fr) !important;
	}

	body.mr-os-portal-body .mr-country {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.mr-os-portal-body .mr-country-name,
	body.mr-os-portal-body .mr-country > span:last-child {
		max-width: none !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}
}

/* === MUN Revolution OS 0.7.5 Controlled Meta App UI END === */

/* === MUN Revolution OS 0.7.6 UI Refinement - Meta/FUNAJIT compact layer START === */
body.mr-os-portal-body {
  --mr-ref-primary: #1E3A8A;
  --mr-ref-primary-dark: #172554;
  --mr-ref-primary-light: #DBEAFE;
  --mr-ref-accent: #B88A1B;
  --mr-ref-accent-soft: #F6EBC5;
  --mr-ref-bg: #F0F2F5;
  --mr-ref-surface: #FFFFFF;
  --mr-ref-soft: #F8FAFC;
  --mr-ref-text: #111827;
  --mr-ref-muted: #667085;
  --mr-ref-border: #DADDE3;
  --mr-ref-shadow: 0 8px 26px rgba(15, 23, 42, 0.075);
  --mr-ref-shadow-soft: 0 3px 12px rgba(15, 23, 42, 0.055);
  background: var(--mr-ref-bg) !important;
  color: var(--mr-ref-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.mr-os-portal-body *,
body.mr-os-portal-body *::before,
body.mr-os-portal-body *::after {
  box-sizing: border-box;
}

body.mr-os-portal-body strong,
body.mr-os-portal-body b {
  font-weight: 650 !important;
}

body.mr-os-portal-body .mr-app {
  background: var(--mr-ref-bg) !important;
  display: grid !important;
  grid-template-columns: 248px minmax(0, 1fr) !important;
  min-height: 100vh !important;
}

body.mr-os-portal-body .mr-app-sidebar {
  background: linear-gradient(180deg, var(--mr-ref-primary) 0%, var(--mr-ref-primary-dark) 100%) !important;
  border-right: 0 !important;
  box-shadow: 12px 0 28px rgba(23, 37, 84, 0.14) !important;
  min-height: 100vh !important;
  padding: 20px 0 18px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
}

body.mr-os-portal-body .mr-app-brand {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 18px 16px !important;
  padding: 0 0 16px !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body.mr-os-portal-body .mr-app-brand img {
  background: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 32px rgba(2, 6, 23, 0.24) !important;
  display: block !important;
  height: 96px !important;
  max-height: 96px !important;
  max-width: 134px !important;
  object-fit: contain !important;
  padding: 12px !important;
  width: 134px !important;
}

body.mr-os-portal-body .mr-brand-os-badge {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.74) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(2, 6, 23, 0.16) !important;
  color: #0f172a !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: 0.16em !important;
  line-height: 1 !important;
  padding: 7px 13px !important;
}

body.mr-os-portal-body .mr-app-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: 0 12px !important;
}

body.mr-os-portal-body .mr-app-nav a {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 999px 999px 0 !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.88) !important;
  display: grid !important;
  gap: 2px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin: 0 0 0 -12px !important;
  padding: 10px 18px 10px 22px !important;
  text-decoration: none !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}

body.mr-os-portal-body .mr-app-nav a:hover {
  background: rgba(255, 255, 255, 0.09) !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255, 255, 255, 0.15) !important;
  border-left-color: var(--mr-ref-accent) !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-app-nav a span {
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-nav a strong {
  align-items: center !important;
  color: inherit !important;
  display: flex !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  gap: 7px !important;
  line-height: 1.24 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-nav-badge {
  background: #EF4444 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  min-width: 18px !important;
  padding: 4px 6px !important;
  text-align: center !important;
}

body.mr-os-portal-body .mr-app-main {
  min-width: 0 !important;
  background: var(--mr-ref-bg) !important;
}

body.mr-os-portal-body .mr-app-topbar {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--mr-ref-border) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02) !important;
  display: flex !important;
  gap: 18px !important;
  justify-content: space-between !important;
  min-height: 72px !important;
  padding: 12px 28px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 24 !important;
  backdrop-filter: blur(16px) !important;
}

body.mr-os-portal-body .mr-topbar-page {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.mr-os-portal-body .mr-topbar-page p,
body.mr-os-portal-body .mr-app-topbar p {
  color: var(--mr-ref-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.15 !important;
  margin: 0 0 4px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-topbar-page h1,
body.mr-os-portal-body .mr-app-topbar h1 {
  color: var(--mr-ref-text) !important;
  font-size: clamp(21px, 2vw, 25px) !important;
  font-weight: 650 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.14 !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 auto !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-event-switcher,
body.mr-os-portal-body .mr-event-switcher--brand,
body.mr-os-portal-body .mr-event-switcher--logo-only {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  gap: 9px !important;
  min-height: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-active-event-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  height: 42px !important;
  max-height: 42px !important;
  max-width: 150px !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-event-switcher-select {
  background: #fff !important;
  border: 1px solid #D8DEE7 !important;
  border-radius: 999px !important;
  color: var(--mr-ref-text) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  height: 34px !important;
  max-width: 160px !important;
  padding: 0 30px 0 12px !important;
}

body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid #DDE3EA !important;
  border-radius: 999px !important;
  box-shadow: var(--mr-ref-shadow-soft) !important;
  color: var(--mr-ref-text) !important;
  display: inline-flex !important;
  gap: 9px !important;
  min-height: 40px !important;
  padding: 5px 8px 5px 5px !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-user img,
body.mr-os-portal-body .mr-app-user-photo {
  border: 1px solid #E5E7EB !important;
  border-radius: 50% !important;
  height: 30px !important;
  object-fit: cover !important;
  width: 30px !important;
}

body.mr-os-portal-body .mr-app-user span {
  color: var(--mr-ref-text) !important;
  display: inline-block !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  max-width: 132px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-user a {
  color: var(--mr-ref-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

body.mr-os-portal-body .mr-app-content,
body.mr-os-portal-body .mr-content,
body.mr-os-portal-body .mr-app-main > .mr-shell,
body.mr-os-portal-body .mr-app-main > div:not(.mr-app-topbar) {
  max-width: 1240px !important;
}

body.mr-os-portal-body .mr-app-main > *:not(.mr-app-topbar) {
  padding-left: clamp(16px, 2.4vw, 30px) !important;
  padding-right: clamp(16px, 2.4vw, 30px) !important;
}

body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-card,
body.mr-os-portal-body .mr-compact-card,
body.mr-os-portal-body .mr-public-card,
body.mr-os-portal-body .mr-score-card,
body.mr-os-portal-body .mr-active-event-card,
body.mr-os-portal-body .mr-app-table-wrap {
  background: #fff !important;
  border: 1px solid #DDE3EA !important;
  border-radius: 14px !important;
  box-shadow: var(--mr-ref-shadow-soft) !important;
  color: var(--mr-ref-text) !important;
}

body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-card,
body.mr-os-portal-body .mr-compact-card {
  padding: 18px !important;
}

body.mr-os-portal-body .mr-glass-panel h2,
body.mr-os-portal-body .mr-card h2,
body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-rollcall-head h2,
body.mr-os-portal-body .mr-session-board-head h2,
body.mr-os-portal-body .mr-public-hero h1,
body.mr-os-portal-body .mr-pass-hero h1,
body.mr-os-portal-body .mr-login-brand h1 {
  color: var(--mr-ref-text) !important;
  font-size: clamp(19px, 2.2vw, 24px) !important;
  font-weight: 650 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.18 !important;
  margin: 0 0 6px !important;
}

body.mr-os-portal-body .mr-glass-panel h3,
body.mr-os-portal-body .mr-card h3,
body.mr-os-portal-body .mr-card-title,
body.mr-os-portal-body .mr-table-title {
  color: var(--mr-ref-text) !important;
  font-size: 16.5px !important;
  font-weight: 650 !important;
  line-height: 1.24 !important;
  margin: 0 0 6px !important;
}

body.mr-os-portal-body .mr-muted,
body.mr-os-portal-body .mr-card-sub,
body.mr-os-portal-body .mr-glass-panel p,
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-rollcall-head p,
body.mr-os-portal-body .mr-session-board-head p {
  color: var(--mr-ref-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

body.mr-os-portal-body .mr-app-stats,
body.mr-os-portal-body .mr-score-grid,
body.mr-os-portal-body .mr-grid,
body.mr-os-portal-body .mr-card-grid {
  gap: 12px !important;
}

body.mr-os-portal-body .mr-app-stats article,
body.mr-os-portal-body .mr-stat-card {
  background: #fff !important;
  border: 1px solid #DDE3EA !important;
  border-radius: 14px !important;
  box-shadow: var(--mr-ref-shadow-soft) !important;
  padding: 14px !important;
}

body.mr-os-portal-body .mr-app-stats article span,
body.mr-os-portal-body .mr-stat-value,
body.mr-os-portal-body .mr-score-card strong {
  color: var(--mr-ref-text) !important;
  font-size: clamp(22px, 2.4vw, 28px) !important;
  font-weight: 650 !important;
  line-height: 1.05 !important;
}

body.mr-os-portal-body .mr-app-stats article small,
body.mr-os-portal-body .mr-stat-label {
  color: var(--mr-ref-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-button,
body.mr-os-portal-body button,
body.mr-os-portal-body input[type="submit"],
body.mr-os-portal-body .button {
  align-items: center !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  gap: 6px !important;
  justify-content: center !important;
  line-height: 1.1 !important;
  min-height: 36px !important;
  padding: 8px 12px !important;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease !important;
}

body.mr-os-portal-body .mr-app-button:hover,
body.mr-os-portal-body .mr-button:hover,
body.mr-os-portal-body button:hover {
  transform: translateY(-1px) !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-button:not(.mr-button-danger),
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button {
  background: #fff !important;
  border: 1px solid #D7DEE8 !important;
  color: #263244 !important;
}

body.mr-os-portal-body .mr-button-primary,
body.mr-os-portal-body .mr-app-button-primary,
body.mr-os-portal-body button[type="submit"]:not(.mr-button-danger),
body.mr-os-portal-body input[type="submit"] {
  background: var(--mr-ref-primary) !important;
  border-color: var(--mr-ref-primary) !important;
  color: #fff !important;
}

body.mr-os-portal-body .mr-button-danger,
body.mr-os-portal-body .mr-actions .mr-button-danger {
  background: #fff !important;
  border-color: #F2C7C7 !important;
  color: #B91C1C !important;
}

body.mr-os-portal-body .mr-button-danger:hover,
body.mr-os-portal-body .mr-actions .mr-button-danger:hover {
  background: #FEE2E2 !important;
  border-color: #FCA5A5 !important;
  color: #991B1B !important;
}

body.mr-os-portal-body input,
body.mr-os-portal-body select,
body.mr-os-portal-body textarea,
body.mr-os-portal-body .mr-input,
body.mr-os-portal-body .mr-select {
  background: #fff !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 8px !important;
  color: var(--mr-ref-text) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  min-height: 36px !important;
  padding: 8px 11px !important;
}

body.mr-os-portal-body textarea {
  min-height: 92px !important;
}

body.mr-os-portal-body input:focus,
body.mr-os-portal-body select:focus,
body.mr-os-portal-body textarea:focus {
  border-color: var(--mr-ref-primary) !important;
  box-shadow: 0 0 0 3px var(--mr-ref-primary-light) !important;
  outline: none !important;
}

body.mr-os-portal-body label,
body.mr-os-portal-body .mr-label,
body.mr-os-portal-body .mr-field-label {
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin-bottom: 6px !important;
}

body.mr-os-portal-body .mr-status,
body.mr-os-portal-body .mr-badge,
body.mr-os-portal-body .mr-chip,
body.mr-os-portal-body .mr-role-chip {
  align-items: center !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  gap: 5px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  min-height: 24px !important;
  padding: 5px 9px !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-country {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--mr-ref-text) !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  gap: 7px !important;
  line-height: 1.24 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-country > span:last-child {
  display: inline-block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

body.mr-os-portal-body .mr-country-flag {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  font-size: 21px !important;
  height: auto !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-committee,
body.mr-os-portal-body .mr-committee-badge {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid #E3E8EF !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--mr-ref-text) !important;
  display: inline-flex !important;
  font-size: 12.5px !important;
  font-weight: 550 !important;
  gap: 8px !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  overflow: hidden !important;
  padding: 4px 10px 4px 5px !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-committee-logo,
body.mr-os-portal-body .mr-committee-mark,
body.mr-os-portal-body .mr-committee img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  height: 24px !important;
  max-width: 30px !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: 24px !important;
}

body.mr-os-portal-body .mr-app-table-wrap {
  overflow: hidden !important;
}

body.mr-os-portal-body .mr-app-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: 13px !important;
  min-width: 900px !important;
  table-layout: auto !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-app-table th,
body.mr-os-portal-body .mr-app-table td {
  border-bottom: 1px solid #EEF2F6 !important;
  color: var(--mr-ref-text) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  padding: 10px 12px !important;
  text-align: left !important;
  vertical-align: middle !important;
}

body.mr-os-portal-body .mr-app-table th {
  background: #F8FAFC !important;
  color: #667085 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-table tbody tr:hover td {
  background: #FAFBFC !important;
}

body.mr-os-portal-body .mr-app-table td:first-child,
body.mr-os-portal-body .mr-app-table th:first-child {
  padding-left: 16px !important;
}

body.mr-os-portal-body .mr-app-table td:last-child,
body.mr-os-portal-body .mr-app-table th:last-child {
  padding-right: 16px !important;
}

body.mr-os-portal-body .mr-app-table td[data-label="País"],
body.mr-os-portal-body .mr-app-table td[data-label="País / rol"],
body.mr-os-portal-body .mr-app-table td[data-label="Comité"] {
  min-width: 148px !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-actions,
body.mr-os-portal-body td[data-label="Acciones"] {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body td[data-label="Acciones"] a,
body.mr-os-portal-body td[data-label="Acciones"] button {
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 550 !important;
  min-height: 31px !important;
  padding: 6px 9px !important;
}

body.mr-os-portal-body .mr-app-filters,
body.mr-os-portal-body .mr-toolbar,
body.mr-os-portal-body .mr-bulk-toolbar,
body.mr-os-portal-body .mr-participants-actions {
  align-items: end !important;
  background: #fff !important;
  border: 1px solid #E3E8EF !important;
  border-radius: 14px !important;
  box-shadow: var(--mr-ref-shadow-soft) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 12px !important;
}

body.mr-os-portal-body .mr-chip-group,
body.mr-os-portal-body .mr-choice-group,
body.mr-os-portal-body .mr-participation-picker,
body.mr-os-portal-body .mr-rollcall-grid {
  gap: 8px !important;
}

body.mr-os-portal-body .mr-choice-chip,
body.mr-os-portal-body .mr-presence-card,
body.mr-os-portal-body .mr-participation-card,
body.mr-os-portal-body .mr-rollcall-card {
  background: #fff !important;
  border: 1px solid #E3E8EF !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--mr-ref-text) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  padding: 10px 11px !important;
}

body.mr-os-portal-body .mr-choice-chip:hover,
body.mr-os-portal-body .mr-presence-card:hover,
body.mr-os-portal-body .mr-participation-card:hover,
body.mr-os-portal-body .mr-rollcall-card:hover {
  border-color: #CBD5E1 !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05) !important;
}

body.mr-os-portal-body .mr-choice-chip.is-selected,
body.mr-os-portal-body .mr-presence-card.is-selected,
body.mr-os-portal-body .mr-participation-card.is-selected,
body.mr-os-portal-body .mr-rollcall-card.is-selected {
  background: #F8FAFC !important;
  border-color: var(--mr-ref-primary) !important;
  box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.10) !important;
}

body.mr-os-portal-body .mr-rollcall,
body.mr-os-portal-body .mr-session-board,
body.mr-os-portal-body .mr-participation-log {
  background: #fff !important;
  border: 1px solid #DDE3EA !important;
  border-radius: 16px !important;
  box-shadow: var(--mr-ref-shadow-soft) !important;
  padding: 16px !important;
}

body.mr-os-portal-body .mr-rollcall-head,
body.mr-os-portal-body .mr-session-board-head {
  align-items: start !important;
  border-bottom: 1px solid #EEF2F6 !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: space-between !important;
  margin: 0 0 12px !important;
  padding: 0 0 12px !important;
}

body.mr-os-portal-body .mr-rollcall-row {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid #E5EAF0 !important;
  border-radius: 12px !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: minmax(190px, 1fr) minmax(150px, auto) !important;
  padding: 10px 12px !important;
}

body.mr-os-portal-body .mr-rollcall-country {
  align-items: center !important;
  display: flex !important;
  gap: 9px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.mr-os-portal-body .mr-rollcall-flag {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  font-size: 24px !important;
  height: auto !important;
  line-height: 1 !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-rollcall-country strong {
  color: var(--mr-ref-text) !important;
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

body.mr-os-portal-body .mr-rollcall-country span:not(.mr-rollcall-flag) {
  color: var(--mr-ref-muted) !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-rollcall-presence select,
body.mr-os-portal-body .mr-rollcall-row select {
  min-width: 140px !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-committee-hero,
body.mr-os-portal-body .mr-committee-card,
body.mr-os-portal-body .mr-committee-list-item {
  background: #fff !important;
  border: 1px solid #DDE3EA !important;
  border-radius: 16px !important;
  box-shadow: var(--mr-ref-shadow-soft) !important;
}

body.mr-os-portal-body .mr-committee-title,
body.mr-os-portal-body .mr-committee-hero h2 {
  font-size: clamp(19px, 2.2vw, 24px) !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
}

body.mr-os-portal-body .mr-committee-hero-logo,
body.mr-os-portal-body .mr-committee-card-logo,
body.mr-os-portal-body .mr-committee-list-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  max-height: 54px !important;
  max-width: 86px !important;
  object-fit: contain !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-inbox-item,
body.mr-os-portal-body .mr-message-row,
body.mr-os-portal-body .mr-document-row,
body.mr-os-portal-body .mr-event-list-item {
  background: #fff !important;
  border: 1px solid #E3E8EF !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  padding: 12px !important;
}

body.mr-os-portal-body .mr-inbox-item:hover,
body.mr-os-portal-body .mr-message-row:hover,
body.mr-os-portal-body .mr-document-row:hover,
body.mr-os-portal-body .mr-event-list-item:hover {
  border-color: #CBD5E1 !important;
  box-shadow: var(--mr-ref-shadow-soft) !important;
}

@media (max-width: 1100px) {
  body.mr-os-portal-body .mr-app {
    display: block !important;
  }

  body.mr-os-portal-body .mr-app-sidebar {
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom: 1px solid #DDE3EA !important;
    border-right: 0 !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06) !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 45 !important;
  }

  body.mr-os-portal-body .mr-app-brand {
    border-bottom: 0 !important;
    flex-direction: row !important;
    justify-content: center !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  body.mr-os-portal-body .mr-app-brand img {
    border-radius: 12px !important;
    height: 42px !important;
    max-height: 42px !important;
    max-width: 94px !important;
    padding: 6px !important;
    width: 94px !important;
  }

  body.mr-os-portal-body .mr-brand-os-badge {
    font-size: 11px !important;
    padding: 6px 10px !important;
  }

  body.mr-os-portal-body .mr-app-nav {
    display: flex !important;
    flex-direction: row !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding: 0 0 2px !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-app-nav::-webkit-scrollbar {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-nav a {
    background: #fff !important;
    border: 1px solid #E3E8EF !important;
    border-radius: 999px !important;
    color: var(--mr-ref-text) !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    min-width: 112px !important;
    padding: 8px 12px !important;
  }

  body.mr-os-portal-body .mr-app-nav a.is-active {
    background: var(--mr-ref-primary) !important;
    border-color: var(--mr-ref-primary) !important;
    color: #fff !important;
  }

  body.mr-os-portal-body .mr-app-nav a span {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-nav a strong {
    font-size: 12.5px !important;
    justify-content: center !important;
  }

  body.mr-os-portal-body .mr-app-topbar {
    position: sticky !important;
    top: 0 !important;
    min-height: 64px !important;
    padding: 10px 16px !important;
  }
}

@media (max-width: 760px) {
  body.mr-os-portal-body {
    padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;
  }

  body.mr-os-portal-body .mr-app-sidebar {
    background: linear-gradient(180deg, var(--mr-ref-primary) 0%, var(--mr-ref-primary-dark) 100%) !important;
    border-radius: 22px 22px 0 0 !important;
    border: 0 !important;
    bottom: 0 !important;
    box-shadow: 0 -14px 34px rgba(15, 23, 42, 0.24) !important;
    height: calc(76px + env(safe-area-inset-bottom)) !important;
    left: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    z-index: 1000 !important;
  }

  body.mr-os-portal-body .mr-app-brand {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-nav {
    align-items: stretch !important;
    display: grid !important;
    gap: 6px !important;
    grid-auto-columns: minmax(72px, 1fr) !important;
    grid-auto-flow: column !important;
    height: 100% !important;
    overflow-x: auto !important;
    padding: 0 2px !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-app-nav a {
    align-items: center !important;
    background: rgba(255, 255, 255, 0.10) !important;
    border: 0 !important;
    border-radius: 17px !important;
    color: rgba(255, 255, 255, 0.86) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    height: 58px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 6px 8px !important;
    text-align: center !important;
  }

  body.mr-os-portal-body .mr-app-nav a.is-active {
    background: rgba(255, 255, 255, 0.20) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
    color: #fff !important;
  }

  body.mr-os-portal-body .mr-app-nav a span {
    color: rgba(255, 255, 255, 0.58) !important;
    display: block !important;
    font-size: 9px !important;
    letter-spacing: 0.08em !important;
    max-width: 64px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-app-nav a strong {
    color: inherit !important;
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    max-width: 68px !important;
    overflow: hidden !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-nav-badge {
    position: absolute !important;
    right: 7px !important;
    top: 5px !important;
  }

  body.mr-os-portal-body .mr-app-topbar {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
  }

  body.mr-os-portal-body .mr-topbar-page h1,
  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: 21px !important;
    white-space: normal !important;
  }

  body.mr-os-portal-body .mr-topbar-tools {
    align-items: center !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-active-event-logo {
    height: 32px !important;
    max-height: 32px !important;
    max-width: 112px !important;
  }

  body.mr-os-portal-body .mr-event-switcher-select {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-user {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 154px) !important;
  }

  body.mr-os-portal-body .mr-app-user span {
    max-width: 90px !important;
  }

  body.mr-os-portal-body .mr-app-main > *:not(.mr-app-topbar) {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.mr-os-portal-body .mr-glass-panel,
  body.mr-os-portal-body .mr-card,
  body.mr-os-portal-body .mr-compact-card,
  body.mr-os-portal-body .mr-app-table-wrap {
    border-radius: 13px !important;
    padding: 14px !important;
  }

  body.mr-os-portal-body .mr-app-table {
    min-width: 0 !important;
  }

  body.mr-os-portal-body .mr-app-table thead {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-table,
  body.mr-os-portal-body .mr-app-table tbody,
  body.mr-os-portal-body .mr-app-table tr,
  body.mr-os-portal-body .mr-app-table td {
    display: block !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-app-table tr {
    background: #fff !important;
    border: 1px solid #E3E8EF !important;
    border-radius: 13px !important;
    box-shadow: none !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
  }

  body.mr-os-portal-body .mr-app-table td {
    align-items: start !important;
    border-bottom: 0 !important;
    display: grid !important;
    gap: 7px !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    padding: 7px 0 !important;
  }

  body.mr-os-portal-body .mr-app-table td::before {
    color: #667085 !important;
    content: attr(data-label) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    letter-spacing: 0.035em !important;
    text-transform: uppercase !important;
  }

  body.mr-os-portal-body .mr-app-table td[data-label="Acciones"] {
    display: flex !important;
    grid-template-columns: none !important;
    padding-top: 10px !important;
  }

  body.mr-os-portal-body .mr-app-table td[data-label="Acciones"]::before {
    display: none !important;
  }

  body.mr-os-portal-body .mr-country {
    max-width: 100% !important;
  }

  body.mr-os-portal-body .mr-rollcall-row {
    grid-template-columns: 1fr !important;
  }

  body.mr-os-portal-body .mr-rollcall-presence select,
  body.mr-os-portal-body .mr-rollcall-row select {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  body.mr-os-portal-body .mr-topbar-page h1,
  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: 19px !important;
  }

  body.mr-os-portal-body .mr-app-nav {
    grid-auto-columns: minmax(66px, 1fr) !important;
  }

  body.mr-os-portal-body .mr-app-table td {
    grid-template-columns: 88px minmax(0, 1fr) !important;
  }

  body.mr-os-portal-body .mr-actions a,
  body.mr-os-portal-body .mr-actions button,
  body.mr-os-portal-body td[data-label="Acciones"] a,
  body.mr-os-portal-body td[data-label="Acciones"] button {
    flex: 1 1 calc(50% - 6px) !important;
  }
}
/* === MUN Revolution OS 0.7.6 UI Refinement - Meta/FUNAJIT compact layer END === */

/* === MUN Revolution OS 0.7.7 General Stability Audit START === */
body.mr-os-portal-body,
body.mr-os-portal-body * {
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.mr-os-portal-body {
  --mr-077-navy: #102452;
  --mr-077-navy-2: #183978;
  --mr-077-gold: #b67812;
  --mr-077-ink: #111827;
  --mr-077-muted: #667085;
  --mr-077-line: #dfe5ee;
  --mr-077-surface: rgba(255, 255, 255, .92);
  background: #f4f7fb !important;
  color: var(--mr-077-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  overflow-x: hidden !important;
}

body.mr-os-portal-body::before {
  background: var(--mr-077-navy) !important;
  height: 4px !important;
}

body.mr-os-portal-body .mr-app-sidebar {
  background: linear-gradient(180deg, var(--mr-077-navy-2), var(--mr-077-navy)) !important;
  border-right: 1px solid rgba(255, 255, 255, .12) !important;
}

body.mr-os-portal-body .mr-app-brand,
body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255, 255, 255, .12) !important;
}

body.mr-os-portal-body .mr-brand-os-badge {
  border-radius: 18px !important;
  font-size: 24px !important;
  font-weight: 750 !important;
  min-width: 92px !important;
  padding: 12px 20px !important;
  text-indent: 0 !important;
}

body.mr-os-portal-body .mr-app-nav a,
body.mr-os-portal-body .mr-section-tabs a,
body.mr-os-portal-body .mr-app-user,
body.mr-os-portal-body .mr-panel,
body.mr-os-portal-body .mr-app-card,
body.mr-os-portal-body .mr-app-grid > *,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-glass-panel {
  border-radius: 22px !important;
}

body.mr-os-portal-body .mr-app-nav span,
body.mr-os-portal-body .mr-section-tabs span,
body.mr-os-portal-body .mr-panel-head p,
body.mr-os-portal-body .mr-app-topbar p {
  color: var(--mr-077-gold) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav strong,
body.mr-os-portal-body .mr-section-tabs strong,
body.mr-os-portal-body .mr-app-user span,
body.mr-os-portal-body .mr-app-table td strong,
body.mr-os-portal-body .mr-participant-name {
  font-weight: 700 !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
  color: var(--mr-077-ink) !important;
  font-size: clamp(28px, 3.5vw, 48px) !important;
  font-weight: 720 !important;
  line-height: 1.05 !important;
  max-width: 920px !important;
}

body.mr-os-portal-body .mr-panel-head h2,
body.mr-os-portal-body .mr-panel h2,
body.mr-os-portal-body .mr-panel h3,
body.mr-os-portal-body .mr-glass-panel h2,
body.mr-os-portal-body .mr-glass-panel h3 {
  color: var(--mr-077-ink) !important;
  font-size: clamp(22px, 2.1vw, 34px) !important;
  font-weight: 720 !important;
  line-height: 1.12 !important;
}

body.mr-os-portal-body .mr-app-hero {
  background: linear-gradient(135deg, var(--mr-077-navy-2), var(--mr-077-navy)) !important;
  border-radius: 26px !important;
}

body.mr-os-portal-body .mr-app-hero::after {
  display: none !important;
}

body.mr-os-portal-body .mr-app-hero h2 {
  font-size: clamp(28px, 4vw, 52px) !important;
  font-weight: 720 !important;
  line-height: 1.08 !important;
}

body.mr-os-portal-body .mr-status {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 7px 11px !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-status-confirmed,
body.mr-os-portal-body .mr-status-checked_in,
body.mr-os-portal-body .mr-status-accredited,
body.mr-os-portal-body .mr-status-validated,
body.mr-os-portal-body .mr-status-present {
  background: #e8f7ee !important;
  border-color: #b7e2c5 !important;
  color: #17643a !important;
}

body.mr-os-portal-body .mr-status-declined,
body.mr-os-portal-body .mr-status-absent,
body.mr-os-portal-body .mr-status-rejected,
body.mr-os-portal-body .mr-status-critical {
  background: #fff0f0 !important;
  border-color: #ffd0d0 !important;
  color: #a12828 !important;
}

body.mr-os-portal-body .mr-status-pending,
body.mr-os-portal-body .mr-status-pending_confirmation,
body.mr-os-portal-body .mr-status-invited,
body.mr-os-portal-body .mr-status-suggested {
  background: #fff6df !important;
  border-color: #efd28a !important;
  color: #81540b !important;
}

body.mr-os-portal-body .mr-status-requires_review,
body.mr-os-portal-body .mr-status-review,
body.mr-os-portal-body .mr-status-waitlisted {
  background: #eaf1ff !important;
  border-color: #c8d8ff !important;
  color: #244b9b !important;
}

body.mr-os-portal-body .mr-app-notice-warning {
  background: #fff7e6 !important;
  border-color: #efcf8a !important;
  color: #7a4f08 !important;
}

body.mr-os-portal-body .mr-country {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--mr-077-ink) !important;
  display: inline-flex !important;
  gap: 8px !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
}

body.mr-os-portal-body .mr-country > span:last-child {
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-country-flag {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 21px !important;
  height: auto !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-committee,
body.mr-os-portal-body .mr-country {
  line-height: 1.25 !important;
}

body.mr-os-portal-body .mr-actions,
body.mr-os-portal-body td[data-label="Acciones"] {
  gap: 8px !important;
}

body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body td[data-label="Acciones"] a,
body.mr-os-portal-body td[data-label="Acciones"] button,
body.mr-os-portal-body .mr-app-form button,
body.mr-os-portal-body .mr-app-filters button,
body.mr-os-portal-body .mr-action-button {
  border-radius: 13px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  min-height: 38px !important;
  padding: 9px 13px !important;
}

body.mr-os-portal-body .mr-app-table td {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

body.mr-os-portal-body .mr-app-table td span,
body.mr-os-portal-body .mr-muted {
  color: var(--mr-077-muted) !important;
}

body.mr-os-portal-body .mr-certificate-card h2 {
  font-size: clamp(1.7rem, 4vw, 3rem) !important;
  font-weight: 720 !important;
}

body.mr-os-portal-body .mr-certificate-lead {
  font-weight: 680 !important;
  text-transform: none !important;
}

.mr-system-login,
.mr-system-login * {
  letter-spacing: 0 !important;
}

.mr-system-login {
  align-items: center !important;
  background: #f6f8fb !important;
  color: #111827 !important;
  display: grid !important;
  gap: clamp(28px, 5vw, 72px) !important;
  grid-template-columns: minmax(280px, 520px) minmax(300px, 440px) !important;
  min-height: 100vh !important;
  padding: clamp(28px, 6vw, 84px) !important;
}

.mr-login-logo img {
  max-width: min(360px, 78vw) !important;
}

.mr-login-copy h1 {
  color: #111827 !important;
  font-size: clamp(34px, 4.6vw, 58px) !important;
  font-weight: 720 !important;
  line-height: 1.04 !important;
}

.mr-login-copy p,
.mr-login-card > p {
  color: #b67812 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.mr-login-card {
  background: rgba(255, 255, 255, .9) !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 45px rgba(17, 24, 39, .10) !important;
  padding: clamp(24px, 4vw, 38px) !important;
}

.mr-login-card h2 {
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 720 !important;
}

.mr-login-card input {
  border-radius: 14px !important;
  min-height: 46px !important;
}

.mr-login-card button {
  background: #102452 !important;
  border-radius: 14px !important;
  font-weight: 720 !important;
  min-height: 46px !important;
}

@media (max-width: 980px) {
  body.mr-os-portal-body .mr-app {
    display: block !important;
  }

  body.mr-os-portal-body .mr-app-sidebar {
    background: #102452 !important;
    min-height: 0 !important;
    padding: 16px 14px 0 !important;
    position: static !important;
  }

  body.mr-os-portal-body .mr-app-brand {
    align-items: center !important;
    flex-direction: row !important;
    gap: 12px !important;
    margin: 0 auto 12px !important;
    max-width: 420px !important;
    padding: 12px 14px !important;
  }

  body.mr-os-portal-body .mr-app-brand img {
    max-height: 54px !important;
    max-width: 172px !important;
  }

  body.mr-os-portal-body .mr-brand-os-badge {
    font-size: 18px !important;
    min-width: 64px !important;
    padding: 9px 13px !important;
  }

  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav {
    background: rgba(16, 36, 82, .98) !important;
    border-radius: 22px 22px 0 0 !important;
    bottom: 0 !important;
    box-shadow: 0 -12px 34px rgba(17, 24, 39, .18) !important;
    display: grid !important;
    gap: 8px !important;
    grid-auto-columns: minmax(86px, 1fr) !important;
    grid-auto-flow: column !important;
    left: 0 !important;
    overflow-x: auto !important;
    padding: 10px 10px 14px !important;
    position: fixed !important;
    right: 0 !important;
    z-index: 9998 !important;
  }

  body.mr-os-portal-body .mr-app-nav a {
    border: 0 !important;
    border-radius: 17px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-height: 58px !important;
    padding: 9px 8px !important;
    text-align: center !important;
  }

  body.mr-os-portal-body .mr-app-nav span {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-nav strong {
    font-size: 12px !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  body.mr-os-portal-body .mr-app-main {
    padding: 18px 14px 96px !important;
  }

  body.mr-os-portal-body .mr-app-topbar {
    align-items: stretch !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
  }

  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: clamp(24px, 7vw, 34px) !important;
    text-align: left !important;
  }

  body.mr-os-portal-body .mr-topbar-tools {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.mr-os-portal-body .mr-app-user {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    min-height: 58px !important;
    padding: 8px !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-app-user-photo {
    border-radius: 15px !important;
    height: 44px !important;
    width: 44px !important;
  }

  body.mr-os-portal-body .mr-app-user span {
    font-size: 15px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-app-user a {
    font-size: 13px !important;
    padding: 10px 12px !important;
  }

  body.mr-os-portal-body .mr-app-table-wrap {
    overflow: visible !important;
  }

  body.mr-os-portal-body .mr-app-table,
  body.mr-os-portal-body .mr-app-table tbody,
  body.mr-os-portal-body .mr-app-table tr,
  body.mr-os-portal-body .mr-app-table td {
    display: block !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-app-table thead {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-table tr {
    background: #fff !important;
    border: 1px solid var(--mr-077-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 22px rgba(17, 24, 39, .06) !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
  }

  body.mr-os-portal-body .mr-app-table td {
    border: 0 !important;
    border-radius: 0 !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 100px minmax(0, 1fr) !important;
    padding: 12px 14px !important;
  }

  body.mr-os-portal-body .mr-app-table td::before {
    color: var(--mr-077-muted) !important;
    content: attr(data-label) !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }

  body.mr-os-portal-body .mr-app-table td[data-label="Acciones"] {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  body.mr-os-portal-body .mr-app-table td[data-label="Acciones"]::before {
    flex-basis: 100% !important;
  }

  .mr-system-login {
    display: block !important;
    padding: 22px !important;
  }

  .mr-login-brand {
    margin: 0 auto 22px !important;
    max-width: 460px !important;
    text-align: center !important;
  }

  .mr-login-card {
    margin: 0 auto !important;
    max-width: 440px !important;
  }
}

@media (max-width: 520px) {
  body.mr-os-portal-body .mr-app-table td {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }

  body.mr-os-portal-body .mr-actions a,
  body.mr-os-portal-body .mr-actions button,
  body.mr-os-portal-body td[data-label="Acciones"] a,
  body.mr-os-portal-body td[data-label="Acciones"] button {
    flex: 1 1 calc(50% - 6px) !important;
    min-width: 0 !important;
  }
}
/* === MUN Revolution OS 0.7.7 General Stability Audit END === */

/* === MUN Revolution OS 0.7.8 Visual Alignment Hotfix START === */
:root {
  --mr-078-navy: #16336f;
  --mr-078-navy-dark: #102452;
  --mr-078-gold: #b98513;
  --mr-078-bg: #f3f6fa;
  --mr-078-surface: #ffffff;
  --mr-078-border: #dbe3ee;
  --mr-078-text: #111827;
  --mr-078-muted: #667085;
  --mr-078-soft: 0 1px 2px rgba(16,24,40,.05), 0 10px 26px rgba(16,24,40,.06);
}

body.mr-os-portal-body {
  background: var(--mr-078-bg) !important;
  color: var(--mr-078-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* Sidebar: menos cartel, más app. */
body.mr-os-portal-body .mr-app-sidebar {
  background: linear-gradient(180deg, #1d3f85 0%, #143064 100%) !important;
  border-right: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 10px 0 30px rgba(16,24,40,.09) !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  scrollbar-width: none !important;
  width: 244px !important;
}

body.mr-os-portal-body .mr-app-sidebar::-webkit-scrollbar,
body.mr-os-portal-body .mr-app-nav::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

body.mr-os-portal-body .mr-app-brand {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 18px 18px 14px !important;
  padding: 14px 14px 13px !important;
}

body.mr-os-portal-body .mr-app-brand img {
  background: #fff !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.10) !important;
  display: block !important;
  height: auto !important;
  max-height: 88px !important;
  max-width: 168px !important;
  object-fit: contain !important;
  padding: 14px 18px !important;
  width: 168px !important;
}

body.mr-os-portal-body .mr-brand-os-badge {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  min-width: auto !important;
  padding: 7px 13px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav {
  gap: 2px !important;
  max-height: calc(100vh - 175px) !important;
  overflow: hidden !important;
  padding: 0 10px 14px !important;
  scrollbar-width: none !important;
}

body.mr-os-portal-body .mr-app-nav a {
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 18px 18px 0 !important;
  box-shadow: none !important;
  gap: 3px !important;
  min-height: 50px !important;
  padding: 9px 14px !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255,255,255,.13) !important;
  border-left-color: var(--mr-078-gold) !important;
  box-shadow: none !important;
}

body.mr-os-portal-body .mr-app-nav a span {
  color: rgba(255,255,255,.68) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: .13em !important;
  line-height: 1.05 !important;
}

body.mr-os-portal-body .mr-app-nav a strong {
  color: rgba(255,255,255,.95) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  line-height: 1.17 !important;
}

/* Topbar y logos: presencia institucional sin desbordes. */
body.mr-os-portal-body .mr-app-topbar {
  background: rgba(255,255,255,.94) !important;
  border: 1px solid var(--mr-078-border) !important;
  border-radius: 20px !important;
  box-shadow: var(--mr-078-soft) !important;
  gap: 14px !important;
  margin-bottom: 22px !important;
  padding: 16px 18px !important;
}

body.mr-os-portal-body .mr-app-topbar h1,
body.mr-os-portal-body .mr-glass-panel > h2,
body.mr-os-portal-body .mr-card-title,
body.mr-os-portal-body .mr-panel-title {
  color: var(--mr-078-text) !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
  font-size: clamp(22px, 2.2vw, 27px) !important;
  line-height: 1.08 !important;
}

body.mr-os-portal-body .mr-topbar-page p,
body.mr-os-portal-body .mr-glass-panel > p:first-child,
body.mr-os-portal-body .mr-kicker {
  color: var(--mr-078-gold) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .12em !important;
}

body.mr-os-portal-body .mr-event-switcher,
body.mr-os-portal-body .mr-event-switcher--brand,
body.mr-os-portal-body .mr-event-switcher--logo-only,
body.mr-os-portal-body .mr-event-switcher--static {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-active-event-logo {
  height: auto !important;
  max-height: 50px !important;
  max-width: 210px !important;
  object-fit: contain !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-app-user {
  border-radius: 16px !important;
  min-height: 50px !important;
  padding: 7px 8px !important;
}

body.mr-os-portal-body .mr-app-user-photo {
  border-radius: 13px !important;
  height: 40px !important;
  width: 40px !important;
}

body.mr-os-portal-body .mr-app-user span {
  font-size: 14px !important;
  font-weight: 600 !important;
}

body.mr-os-portal-body .mr-app-user a {
  border-radius: 13px !important;
  font-size: 13px !important;
  min-height: 36px !important;
  padding: 8px 12px !important;
}

/* Contenedores: menos aire vacío, mejor ritmo. */
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-committee-admin-row,
body.mr-os-portal-body .mr-event-list-item,
body.mr-os-portal-body .mr-public-mini-card,
body.mr-os-portal-body .mr-public-card,
body.mr-os-portal-body .mr-session-board,
body.mr-os-portal-body .mr-rollcall-row {
  border-color: var(--mr-078-border) !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.05) !important;
}

body.mr-os-portal-body .mr-glass-panel {
  border-radius: 18px !important;
  padding: 20px !important;
}

body.mr-os-portal-body .mr-glass-panel > h2 {
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.14 !important;
  margin-bottom: 14px !important;
}

/* Comités existentes: sin cápsulas gigantes ni nombres partidos. */
body.mr-os-portal-body .mr-committee-admin-list {
  gap: 9px !important;
}

body.mr-os-portal-body .mr-committee-admin-row {
  align-items: center !important;
  border-radius: 15px !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 68px !important;
  padding: 12px 14px !important;
}

body.mr-os-portal-body .mr-committee-admin-identity {
  align-items: center !important;
  display: grid !important;
  gap: 3px 12px !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: contents !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo,
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-mark {
  align-items: center !important;
  align-self: center !important;
  background: #fff !important;
  border: 1px solid #edf1f6 !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  grid-row: 1 / span 3 !important;
  height: 46px !important;
  justify-content: center !important;
  max-height: 46px !important;
  max-width: 46px !important;
  padding: 4px !important;
  width: 46px !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo img {
  height: 100% !important;
  max-height: 38px !important;
  max-width: 38px !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee > span:last-child,
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee span:not(.mr-committee-mark):not(.mr-committee-logo),
body.mr-os-portal-body .mr-committee-admin-row strong:not(.mr-actions) {
  color: var(--mr-078-text) !important;
  display: block !important;
  font-size: 17px !important;
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
  line-height: 1.15 !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  word-break: normal !important;
}

body.mr-os-portal-body .mr-committee-admin-identity small {
  color: var(--mr-078-muted) !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  grid-column: 2 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

body.mr-os-portal-body .mr-committee-admin-row .mr-actions {
  flex-wrap: nowrap !important;
  gap: 8px !important;
}

/* Participantes: tabla más compacta y acciones dentro del contenedor. */
body.mr-os-portal-body .mr-participants-shell .mr-app-table-wrap,
body.mr-os-portal-body .mr-app-table-wrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table {
  min-width: 780px !important;
  table-layout: fixed !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th,
body.mr-os-portal-body .mr-participants-shell .mr-app-table td {
  font-size: 13px !important;
  line-height: 1.26 !important;
  padding: 11px 10px !important;
  vertical-align: middle !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table tr {
  min-height: 0 !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(1),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(1) { width: 48px !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(2),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(2) { width: 27% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(3),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(3) { width: 17% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(4),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(4) { width: 18% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(5),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(5) { width: 14% !important; }
body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(6),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(6) { width: 178px !important; }

body.mr-os-portal-body .mr-participants-shell .mr-app-table td > strong,
body.mr-os-portal-body .mr-app-table td > strong {
  display: block !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  margin-bottom: 3px !important;
  white-space: normal !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table td > span,
body.mr-os-portal-body .mr-participants-shell .mr-app-table td small,
body.mr-os-portal-body .mr-app-table td small {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.24 !important;
  margin-top: 0 !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-committee {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  gap: 6px !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-committee span:not(.mr-committee-mark):not(.mr-committee-logo) {
  color: var(--mr-078-muted) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-country {
  color: var(--mr-078-text) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-country > span:last-child {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-country-flag {
  font-size: 16px !important;
}

body.mr-os-portal-body .mr-status {
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  gap: 5px !important;
  min-height: 26px !important;
  padding: 5px 10px !important;
}

body.mr-os-portal-body .mr-actions,
body.mr-os-portal-body td[data-label="Acciones"] {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

body.mr-os-portal-body .mr-participants-shell td[data-label="Acciones"] .mr-actions,
body.mr-os-portal-body .mr-participants-shell .mr-actions {
  max-width: 170px !important;
}

body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body td[data-label="Acciones"] a,
body.mr-os-portal-body td[data-label="Acciones"] button,
body.mr-os-portal-body .mr-danger-details summary {
  border-radius: 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  min-height: 30px !important;
  padding: 7px 10px !important;
}

body.mr-os-portal-body .mr-actions a[href*="token"],
body.mr-os-portal-body .mr-actions .mr-button-primary,
body.mr-os-portal-body td[data-label="Acciones"] .mr-button-primary,
body.mr-os-portal-body td[data-label="Acciones"] button:not(.mr-danger-button) {
  background: var(--mr-078-navy-dark) !important;
  border-color: var(--mr-078-navy-dark) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.mr-os-portal-body .mr-danger-details summary,
body.mr-os-portal-body .mr-danger-button {
  background: #fff6f6 !important;
  border-color: #ffd0d0 !important;
  color: #a11a1a !important;
}

body.mr-os-portal-body .mr-select-col,
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:first-child {
  text-align: center !important;
}

body.mr-os-portal-body .mr-select-col input[type="checkbox"],
body.mr-os-portal-body input.mr-participant-check {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #fff !important;
  border: 1.8px solid #c7d2e3 !important;
  border-radius: 999px !important;
  box-shadow: inset 0 0 0 2px #fff !important;
  cursor: pointer !important;
  height: 18px !important;
  margin: 0 !important;
  position: relative !important;
  width: 18px !important;
}

body.mr-os-portal-body .mr-select-col input[type="checkbox"]:checked,
body.mr-os-portal-body input.mr-participant-check:checked {
  background: #1e63d8 !important;
  border-color: #1e63d8 !important;
  box-shadow: inset 0 0 0 4px #fff, 0 0 0 3px rgba(30,99,216,.18) !important;
}

body.mr-os-portal-body .mr-select-col input[type="checkbox"]:checked::after,
body.mr-os-portal-body input.mr-participant-check:checked::after {
  display: none !important;
}

/* Móvil/tablet: barra inferior real, topbar compacta y logos proporcionados. */
@media (max-width: 1100px) {
  body.mr-os-portal-body .mr-app {
    display: block !important;
  }

  body.mr-os-portal-body .mr-app-sidebar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    bottom: 0 !important;
    height: auto !important;
    left: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    z-index: 9998 !important;
  }

  body.mr-os-portal-body .mr-app-brand {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav {
    background: rgba(16,36,82,.98) !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 -12px 28px rgba(15,23,42,.18) !important;
    display: grid !important;
    gap: 7px !important;
    grid-auto-columns: minmax(82px, 1fr) !important;
    grid-auto-flow: column !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 8px 9px calc(8px + env(safe-area-inset-bottom)) !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-app-nav a {
    align-items: center !important;
    background: rgba(255,255,255,.09) !important;
    border: 0 !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    justify-content: center !important;
    min-height: 54px !important;
    min-width: 0 !important;
    padding: 7px 7px !important;
    text-align: center !important;
  }

  body.mr-os-portal-body .mr-app-nav a.is-active {
    background: rgba(255,255,255,.18) !important;
    box-shadow: inset 0 -3px 0 var(--mr-078-gold) !important;
  }

  body.mr-os-portal-body .mr-app-nav a span {
    display: block !important;
    font-size: 8.5px !important;
    font-weight: 650 !important;
    letter-spacing: .10em !important;
    max-width: 74px !important;
    opacity: .72 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-app-nav a strong {
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    max-width: 76px !important;
    overflow: hidden !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-app-main {
    padding: 16px 12px 92px !important;
  }

  body.mr-os-portal-body .mr-app-topbar {
    align-items: stretch !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-bottom: 16px !important;
    padding: 14px !important;
  }

  body.mr-os-portal-body .mr-topbar-page p {
    font-size: 10.5px !important;
    margin-bottom: 4px !important;
  }

  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: clamp(22px, 5.5vw, 28px) !important;
    line-height: 1.05 !important;
  }

  body.mr-os-portal-body .mr-topbar-tools {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
  }

  body.mr-os-portal-body .mr-event-switcher,
  body.mr-os-portal-body .mr-event-switcher--brand,
  body.mr-os-portal-body .mr-event-switcher--logo-only,
  body.mr-os-portal-body .mr-event-switcher--static {
    justify-content: center !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-active-event-logo {
    max-height: 46px !important;
    max-width: min(220px, 70vw) !important;
  }

  body.mr-os-portal-body .mr-app-user {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    padding: 7px !important;
  }

  body.mr-os-portal-body .mr-app-user-photo {
    height: 40px !important;
    width: 40px !important;
  }

  body.mr-os-portal-body .mr-app-user span {
    font-size: 14px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-section-tabs,
  body.mr-os-portal-body .mr-public-card-grid,
  body.mr-os-portal-body .mr-score-grid,
  body.mr-os-portal-body .mr-app-grid {
    gap: 10px !important;
  }

  body.mr-os-portal-body .mr-section-tabs a,
  body.mr-os-portal-body .mr-section-tabs button {
    border-radius: 14px !important;
    font-size: 12px !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
  }
}

@media (max-width: 760px) {
  body.mr-os-portal-body .mr-glass-panel {
    border-radius: 16px !important;
    padding: 16px !important;
  }

  body.mr-os-portal-body .mr-glass-panel > h2 {
    font-size: 19px !important;
  }

  body.mr-os-portal-body .mr-committee-admin-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.mr-os-portal-body .mr-committee-admin-row .mr-actions {
    justify-content: flex-start !important;
    max-width: none !important;
  }

  body.mr-os-portal-body .mr-committee-admin-identity {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }

  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo,
  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-mark {
    height: 40px !important;
    width: 40px !important;
  }

  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee > span:last-child,
  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee span:not(.mr-committee-mark):not(.mr-committee-logo) {
    font-size: 16px !important;
  }

  body.mr-os-portal-body .mr-app-table-wrap {
    overflow: visible !important;
  }

  body.mr-os-portal-body .mr-app-table,
  body.mr-os-portal-body .mr-app-table tbody,
  body.mr-os-portal-body .mr-app-table tr,
  body.mr-os-portal-body .mr-app-table td {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-app-table thead {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-table tr {
    background: #fff !important;
    border: 1px solid var(--mr-078-border) !important;
    border-radius: 16px !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
  }

  body.mr-os-portal-body .mr-app-table td {
    align-items: start !important;
    border: 0 !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    padding: 10px 12px !important;
  }

  body.mr-os-portal-body .mr-app-table td::before {
    color: var(--mr-078-muted) !important;
    content: attr(data-label) !important;
    font-size: 10.5px !important;
    font-weight: 650 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
  }

  body.mr-os-portal-body .mr-app-table td[data-label="Acciones"] {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  body.mr-os-portal-body .mr-app-table td[data-label="Acciones"]::before {
    flex: 0 0 100% !important;
  }

  body.mr-os-portal-body .mr-participants-shell td[data-label="Acciones"] .mr-actions,
  body.mr-os-portal-body .mr-participants-shell .mr-actions {
    max-width: none !important;
  }

  body.mr-os-portal-body .mr-actions a,
  body.mr-os-portal-body .mr-actions button,
  body.mr-os-portal-body td[data-label="Acciones"] a,
  body.mr-os-portal-body td[data-label="Acciones"] button {
    flex: 0 0 auto !important;
  }
}

@media (max-width: 520px) {
  body.mr-os-portal-body .mr-app-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav {
    grid-auto-columns: minmax(74px, 1fr) !important;
    gap: 6px !important;
  }

  body.mr-os-portal-body .mr-app-nav a {
    min-height: 52px !important;
    padding: 7px 6px !important;
  }

  body.mr-os-portal-body .mr-app-nav a span {
    font-size: 8px !important;
    max-width: 66px !important;
  }

  body.mr-os-portal-body .mr-app-nav a strong {
    font-size: 10.5px !important;
    max-width: 68px !important;
  }

  body.mr-os-portal-body .mr-active-event-logo {
    max-height: 40px !important;
    max-width: min(170px, 62vw) !important;
  }

  body.mr-os-portal-body .mr-app-user a {
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
}
/* === MUN Revolution OS 0.7.8 Visual Alignment Hotfix END === */

/* === MUN Revolution OS 0.7.9 Visual Recovery Patch START === */
:root {
  --mr-079-navy: #173a78;
  --mr-079-navy-dark: #10285a;
  --mr-079-gold: #b8860b;
  --mr-079-bg: #f4f6f9;
  --mr-079-card: #ffffff;
  --mr-079-border: #d9e2ee;
  --mr-079-text: #111827;
  --mr-079-muted: #667085;
  --mr-079-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 22px rgba(16,24,40,.05);
}

body.mr-os-portal-body {
  background: var(--mr-079-bg) !important;
  color: var(--mr-079-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* Sidebar: limpio, sin nested card pesado ni scrollbar visible. */
body.mr-os-portal-body .mr-app-sidebar {
  background: linear-gradient(180deg, var(--mr-079-navy) 0%, var(--mr-079-navy-dark) 100%) !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 6px 0 18px rgba(15,23,42,.08) !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  width: 236px !important;
}

body.mr-os-portal-body .mr-app-sidebar::-webkit-scrollbar,
body.mr-os-portal-body .mr-app-nav::-webkit-scrollbar {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

body.mr-os-portal-body .mr-app-brand {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 18px 18px 14px !important;
}

body.mr-os-portal-body .mr-app-brand img {
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.10) !important;
  display: block !important;
  height: auto !important;
  max-height: 82px !important;
  max-width: 150px !important;
  object-fit: contain !important;
  padding: 12px 14px !important;
  width: 150px !important;
}

body.mr-os-portal-body .mr-brand-os-badge {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  min-width: 0 !important;
  padding: 6px 10px !important;
  text-transform: uppercase !important;
}

body.mr-os-portal-body .mr-app-nav {
  gap: 2px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 4px 10px 18px !important;
}

body.mr-os-portal-body .mr-app-nav a {
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: none !important;
  min-height: 46px !important;
  padding: 8px 12px !important;
}

body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255,255,255,.13) !important;
  border-left-color: var(--mr-079-gold) !important;
  box-shadow: none !important;
}

body.mr-os-portal-body .mr-app-nav a span {
  color: rgba(255,255,255,.62) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-nav a strong {
  color: rgba(255,255,255,.94) !important;
  font-size: 13.5px !important;
  font-weight: 550 !important;
  letter-spacing: -.01em !important;
  line-height: 1.16 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Topbar: compacto y sin logos gigantes. */
body.mr-os-portal-body .mr-app-main {
  min-width: 0 !important;
  padding: 22px 24px 36px !important;
}

body.mr-os-portal-body .mr-app-topbar {
  align-items: center !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--mr-079-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--mr-079-shadow) !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: minmax(160px, 1fr) auto !important;
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
}

body.mr-os-portal-body .mr-topbar-page p,
body.mr-os-portal-body .mr-kicker,
body.mr-os-portal-body .mr-glass-panel > p:first-child {
  color: var(--mr-079-gold) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  line-height: 1.1 !important;
}

body.mr-os-portal-body .mr-app-topbar h1,
body.mr-os-portal-body .mr-glass-panel > h2,
body.mr-os-portal-body .mr-panel-title,
body.mr-os-portal-body .mr-card-title {
  color: var(--mr-079-text) !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
}

body.mr-os-portal-body .mr-app-topbar h1 {
  font-size: clamp(20px, 2.1vw, 25px) !important;
  line-height: 1.1 !important;
  margin: 2px 0 0 !important;
}

body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher,
html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--brand,
html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--logo-only,
html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--static {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  flex: 0 1 auto !important;
  justify-content: center !important;
  max-width: 160px !important;
  min-height: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher img.mr-active-event-logo,
html body.mr-os-portal-body .mr-app-topbar img.mr-active-event-logo,
html body.mr-os-portal-body img.mr-active-event-logo {
  display: block !important;
  height: auto !important;
  max-height: 38px !important;
  max-width: 150px !important;
  object-fit: contain !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  min-height: 42px !important;
  padding: 6px 7px !important;
}

body.mr-os-portal-body .mr-app-user-photo {
  border-radius: 11px !important;
  height: 34px !important;
  width: 34px !important;
}

body.mr-os-portal-body .mr-app-user span {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-app-user a {
  align-items: center !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 550 !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 7px 10px !important;
}

/* Paneles, formularios y títulos: menos cartel, más producto. */
body.mr-os-portal-body .mr-glass-panel,
body.mr-os-portal-body .mr-app-table-wrap,
body.mr-os-portal-body .mr-public-card,
body.mr-os-portal-body .mr-public-mini-card,
body.mr-os-portal-body .mr-event-list-item,
body.mr-os-portal-body .mr-session-board,
body.mr-os-portal-body .mr-rollcall-row {
  background: #fff !important;
  border: 1px solid var(--mr-079-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--mr-079-shadow) !important;
}

body.mr-os-portal-body .mr-glass-panel {
  padding: 18px !important;
}

body.mr-os-portal-body .mr-glass-panel > h2 {
  font-size: clamp(18px, 1.9vw, 21px) !important;
  line-height: 1.16 !important;
  margin: 0 0 12px !important;
}

body.mr-os-portal-body .mr-app-button,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button,
body.mr-os-portal-body .mr-section-tabs a,
body.mr-os-portal-body .mr-section-tabs button {
  border-radius: 10px !important;
  font-size: 12.5px !important;
  font-weight: 550 !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
}

body.mr-os-portal-body .mr-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-actions .mr-app-button,
body.mr-os-portal-body .mr-actions a,
body.mr-os-portal-body .mr-actions button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Comités existentes: sin cápsulas internas enormes. */
body.mr-os-portal-body .mr-committee-admin-row {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mr-079-border) !important;
  border-radius: 15px !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  padding: 13px 14px !important;
}

body.mr-os-portal-body .mr-committee-admin-identity,
body.mr-os-portal-body .mr-committee-admin-row .mr-committee-admin-identity {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee,
body.mr-os-portal-body .mr-committee-admin-row .mr-committee {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: contents !important;
  padding: 0 !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo,
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-mark,
body.mr-os-portal-body .mr-committee-admin-row .mr-committee-logo,
body.mr-os-portal-body .mr-committee-admin-row .mr-committee-mark {
  align-self: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 42px !important;
  justify-self: center !important;
  max-height: 42px !important;
  max-width: 42px !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: 42px !important;
}

body.mr-os-portal-body .mr-committee-admin-identity .mr-committee > span:last-child,
body.mr-os-portal-body .mr-committee-admin-identity .mr-committee span:not(.mr-committee-mark):not(.mr-committee-logo),
body.mr-os-portal-body .mr-committee-admin-row .mr-committee span:not(.mr-committee-mark):not(.mr-committee-logo) {
  color: var(--mr-079-text) !important;
  display: block !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
  line-height: 1.12 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  word-break: normal !important;
}

body.mr-os-portal-body .mr-committee-admin-row .mr-actions {
  justify-content: flex-end !important;
  max-width: 190px !important;
}

/* Participantes: filas más compactas, columnas balanceadas y checkbox visible. */
body.mr-os-portal-body .mr-participants-shell .mr-app-table {
  table-layout: fixed !important;
  width: 100% !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th,
body.mr-os-portal-body .mr-participants-shell .mr-app-table td {
  border-color: #e7edf5 !important;
  font-size: 13px !important;
  padding: 12px 14px !important;
  vertical-align: middle !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th {
  color: #475467 !important;
  font-size: 10.5px !important;
  font-weight: 650 !important;
  letter-spacing: .11em !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:first-child,
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:first-child {
  width: 44px !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(2),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(2) {
  width: 29% !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(3),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(3) {
  width: 15% !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(4),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(4) {
  width: 16% !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(5),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(5) {
  width: 13% !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(6),
body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(6) {
  width: 27% !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table strong {
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: -.01em !important;
  line-height: 1.16 !important;
}

body.mr-os-portal-body .mr-participants-shell .mr-app-table .description,
body.mr-os-portal-body .mr-participants-shell .mr-app-table small {
  color: var(--mr-079-muted) !important;
  display: block !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  margin-top: 2px !important;
}

body.mr-os-portal-body .mr-participants-shell input[type="checkbox"],
body.mr-os-portal-body .mr-app-table input[type="checkbox"] {
  accent-color: #2563eb !important;
  appearance: auto !important;
  background: #fff !important;
  border: 1px solid #b8c7dc !important;
  box-shadow: none !important;
  height: 16px !important;
  width: 16px !important;
}

body.mr-os-portal-body .mr-participants-shell input[type="checkbox"]:checked,
body.mr-os-portal-body .mr-app-table input[type="checkbox"]:checked {
  accent-color: #2563eb !important;
  background-color: #2563eb !important;
}

body.mr-os-portal-body .mr-status,
body.mr-os-portal-body .mr-country,
body.mr-os-portal-body .mr-committee {
  font-size: 12px !important;
  font-weight: 550 !important;
  min-height: 28px !important;
}

body.mr-os-portal-body .mr-country {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #344054 !important;
  display: inline-flex !important;
  gap: 7px !important;
  line-height: 1.1 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding: 5px 9px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-country > span:last-child {
  display: inline !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: normal !important;
}

body.mr-os-portal-body .mr-country-flag {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline !important;
  flex: 0 0 auto !important;
  font-size: 14px !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  width: auto !important;
}

body.mr-os-portal-body .mr-participants-shell td[data-label="Acciones"] .mr-actions,
body.mr-os-portal-body .mr-participants-shell .mr-actions {
  justify-content: flex-end !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.mr-os-portal-body .mr-participants-shell td[data-label="Acciones"] a,
body.mr-os-portal-body .mr-participants-shell td[data-label="Acciones"] button,
body.mr-os-portal-body .mr-participants-shell .mr-actions a,
body.mr-os-portal-body .mr-participants-shell .mr-actions button {
  border-radius: 10px !important;
  flex: 0 0 auto !important;
  font-size: 12px !important;
  font-weight: 550 !important;
  min-height: 31px !important;
  min-width: 0 !important;
  padding: 6px 10px !important;
  white-space: nowrap !important;
}

/* Sesiones y asistencia: compactas y sin cortes de país. */
body.mr-os-portal-body .mr-rollcall-head h2,
body.mr-os-portal-body .mr-session-board h2 {
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
}

body.mr-os-portal-body .mr-rollcall-grid {
  gap: 10px !important;
}

body.mr-os-portal-body .mr-rollcall-row {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(190px, .85fr) minmax(150px, .7fr) minmax(160px, .75fr) !important;
  padding: 13px !important;
}

body.mr-os-portal-body .mr-rollcall-country {
  align-items: center !important;
  display: inline-flex !important;
  gap: 8px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-rollcall-country strong {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.mr-os-portal-body .mr-rollcall-flag {
  background: transparent !important;
  box-shadow: none !important;
  font-size: 18px !important;
  height: auto !important;
  width: auto !important;
}

/* Mobile: barra inferior real, sin duplicados arriba, sin tapar contenido. */
@media (max-width: 1100px) {
  body.mr-os-portal-body .mr-app {
    display: block !important;
  }

  body.mr-os-portal-body .mr-app-main {
    padding: 14px 12px calc(96px + env(safe-area-inset-bottom)) !important;
  }

  body.mr-os-portal-body .mr-app-sidebar {
    background: var(--mr-079-navy-dark) !important;
    border: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    bottom: 0 !important;
    box-shadow: 0 -8px 22px rgba(15,23,42,.22) !important;
    height: calc(76px + env(safe-area-inset-bottom)) !important;
    left: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    z-index: 9998 !important;
  }

  body.mr-os-portal-body .mr-app-brand {
    display: none !important;
  }

  body.mr-os-portal-body .mr-app-sidebar .mr-app-nav {
    align-items: stretch !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 6px !important;
    grid-auto-columns: minmax(78px, 1fr) !important;
    grid-auto-flow: column !important;
    height: 100% !important;
    max-height: 60px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-app-nav a {
    align-items: center !important;
    background: rgba(255,255,255,.08) !important;
    border: 0 !important;
    border-radius: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    justify-content: center !important;
    min-height: 56px !important;
    min-width: 0 !important;
    padding: 6px 7px !important;
    text-align: center !important;
  }

  body.mr-os-portal-body .mr-app-nav a.is-active {
    background: rgba(255,255,255,.17) !important;
    box-shadow: inset 0 -3px 0 var(--mr-079-gold) !important;
  }

  body.mr-os-portal-body .mr-app-nav a span {
    display: block !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: .10em !important;
    max-width: 70px !important;
    opacity: .70 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-app-nav a strong {
    color: #fff !important;
    font-size: 10.5px !important;
    font-weight: 550 !important;
    line-height: 1.05 !important;
    max-width: 72px !important;
    overflow: hidden !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-app-topbar {
    align-items: stretch !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0,1fr) !important;
    margin-bottom: 14px !important;
    padding: 13px !important;
  }

  body.mr-os-portal-body .mr-app-topbar h1 {
    font-size: clamp(20px, 5vw, 26px) !important;
  }

  body.mr-os-portal-body .mr-topbar-tools {
    align-items: center !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
    justify-content: stretch !important;
  }

  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--brand,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--logo-only,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--static {
    justify-content: flex-start !important;
    max-width: 150px !important;
    width: auto !important;
  }

  html body.mr-os-portal-body .mr-app-topbar img.mr-active-event-logo,
  html body.mr-os-portal-body img.mr-active-event-logo {
    max-height: 34px !important;
    max-width: 140px !important;
  }

  body.mr-os-portal-body .mr-app-user {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    justify-self: stretch !important;
    min-width: 0 !important;
    padding: 6px !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-section-tabs {
    display: grid !important;
    gap: 8px !important;
    grid-auto-columns: minmax(130px, 1fr) !important;
    grid-auto-flow: column !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
  }

  body.mr-os-portal-body .mr-section-tabs a,
  body.mr-os-portal-body .mr-section-tabs button {
    min-height: 40px !important;
    padding: 8px 11px !important;
    white-space: nowrap !important;
  }

  body.mr-os-portal-body .mr-hero,
  body.mr-os-portal-body .mr-event-list,
  body.mr-os-portal-body .mr-public-card-grid,
  body.mr-os-portal-body .mr-score-grid,
  body.mr-os-portal-body .mr-app-grid {
    gap: 10px !important;
  }
}

@media (max-width: 760px) {
  body.mr-os-portal-body .mr-glass-panel {
    padding: 14px !important;
  }

  body.mr-os-portal-body .mr-glass-panel > h2 {
    font-size: 18px !important;
  }

  body.mr-os-portal-body .mr-committee-admin-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.mr-os-portal-body .mr-committee-admin-row .mr-actions {
    justify-content: flex-start !important;
    max-width: none !important;
  }

  body.mr-os-portal-body .mr-committee-admin-identity {
    grid-template-columns: 40px minmax(0,1fr) !important;
  }

  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo,
  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-mark {
    height: 36px !important;
    max-height: 36px !important;
    max-width: 36px !important;
    width: 36px !important;
  }

  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee > span:last-child,
  body.mr-os-portal-body .mr-committee-admin-identity .mr-committee span:not(.mr-committee-mark):not(.mr-committee-logo),
  body.mr-os-portal-body .mr-committee-admin-row .mr-committee span:not(.mr-committee-mark):not(.mr-committee-logo) {
    font-size: 16px !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table-wrap {
    overflow: visible !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table,
  body.mr-os-portal-body .mr-participants-shell .mr-app-table tbody,
  body.mr-os-portal-body .mr-participants-shell .mr-app-table tr,
  body.mr-os-portal-body .mr-participants-shell .mr-app-table td {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table thead {
    display: none !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table tr {
    background: #fff !important;
    border: 1px solid var(--mr-079-border) !important;
    border-radius: 14px !important;
    margin-bottom: 9px !important;
    overflow: hidden !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table td {
    align-items: center !important;
    border: 0 !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 82px minmax(0,1fr) !important;
    padding: 9px 11px !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table td::before {
    color: var(--mr-079-muted) !important;
    content: attr(data-label) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table td[data-label="Acciones"] {
    align-items: start !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }

  body.mr-os-portal-body .mr-participants-shell .mr-app-table td[data-label="Acciones"]::before {
    flex: 0 0 100% !important;
  }

  body.mr-os-portal-body .mr-rollcall-row {
    grid-template-columns: minmax(0,1fr) !important;
  }
}

@media (max-width: 520px) {
  body.mr-os-portal-body .mr-app-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.mr-os-portal-body .mr-topbar-tools {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--brand,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--logo-only,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--static {
    justify-content: center !important;
    max-width: none !important;
    width: 100% !important;
  }

  html body.mr-os-portal-body .mr-app-topbar img.mr-active-event-logo,
  html body.mr-os-portal-body img.mr-active-event-logo {
    max-height: 30px !important;
    max-width: 118px !important;
  }

  body.mr-os-portal-body .mr-app-user {
    grid-template-columns: 32px minmax(0, 1fr) auto !important;
  }

  body.mr-os-portal-body .mr-app-user-photo {
    height: 32px !important;
    width: 32px !important;
  }

  body.mr-os-portal-body .mr-app-user span {
    font-size: 12.5px !important;
  }

  body.mr-os-portal-body .mr-app-user a {
    font-size: 11.5px !important;
    min-height: 30px !important;
    padding: 6px 9px !important;
  }
}
/* === MUN Revolution OS 0.7.9 Visual Recovery Patch END === */


/* === MUN Revolution OS 0.8.0 Visual Structure Cleanup START === */
:root {
  --mr-080-navy: #172554;
  --mr-080-navy-2: #1e3a8a;
  --mr-080-gold: #b88912;
  --mr-080-bg: #f3f6fb;
  --mr-080-surface: #ffffff;
  --mr-080-text: #111827;
  --mr-080-muted: #667085;
  --mr-080-border: #d9e2ef;
  --mr-080-border-soft: #edf1f7;
  --mr-080-shadow: 0 10px 26px rgba(15, 23, 42, 0.07);
  --mr-080-radius: 18px;
  --mr-080-sidebar: 254px;
  --mr-080-bottom-nav: 76px;
}

html body.mr-os-portal-body,
html body.mr-os-portal-body * {
  box-sizing: border-box;
}

html body.mr-os-portal-body {
  background: var(--mr-080-bg) !important;
  color: var(--mr-080-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  overflow-x: hidden !important;
}

/* Layout base: keep structure predictable instead of switching too early. */
html body.mr-os-portal-body .mr-app {
  display: grid !important;
  grid-template-columns: var(--mr-080-sidebar) minmax(0, 1fr) !important;
  gap: 0 !important;
  min-height: 100vh !important;
  width: 100% !important;
}

html body.mr-os-portal-body .mr-app-main {
  min-width: 0 !important;
  padding: 26px clamp(18px, 2.6vw, 34px) 40px !important;
  width: 100% !important;
  max-width: none !important;
}

html body.mr-os-portal-body .mr-app-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}

@media (max-width: 1240px) {
  html body.mr-os-portal-body .mr-app-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Sidebar: one clean surface, no nested card illusion. */
html body.mr-os-portal-body .mr-app-sidebar {
  position: sticky !important;
  top: 0 !important;
  height: 100vh !important;
  min-height: 100vh !important;
  width: var(--mr-080-sidebar) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  background: linear-gradient(180deg, #1e3a8a 0%, #172554 100%) !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: none !important;
  padding: 22px 14px 18px !important;
}

html body.mr-os-portal-body .mr-app-sidebar::-webkit-scrollbar {
  display: none !important;
}

html body.mr-os-portal-body .mr-app-brand {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  justify-content: center !important;
  margin: 0 0 18px !important;
  min-height: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
}

html body.mr-os-portal-body .mr-app-brand img {
  background: #fff !important;
  border: 1px solid rgba(255, 255, 255, .75) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 26px rgba(2, 6, 23, .18) !important;
  display: block !important;
  height: auto !important;
  max-height: 96px !important;
  max-width: 168px !important;
  object-fit: contain !important;
  padding: 18px 20px !important;
  width: 168px !important;
}

html body.mr-os-portal-body .mr-brand-os-badge {
  background: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .9) !important;
  display: inline-flex !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  height: 24px !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  padding: 0 11px !important;
  text-transform: uppercase !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-app-nav {
  display: grid !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.mr-os-portal-body .mr-app-nav a {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 10px !important;
  color: rgba(255, 255, 255, .72) !important;
  display: grid !important;
  gap: 2px !important;
  min-height: 48px !important;
  padding: 8px 12px !important;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}

html body.mr-os-portal-body .mr-app-nav a:hover {
  background: rgba(255, 255, 255, .08) !important;
  color: #fff !important;
}

html body.mr-os-portal-body .mr-app-nav a.is-active {
  background: rgba(255, 255, 255, .12) !important;
  border-left-color: var(--mr-080-gold) !important;
  color: #fff !important;
  box-shadow: none !important;
}

html body.mr-os-portal-body .mr-app-nav a span {
  color: rgba(255, 255, 255, .56) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: .12em !important;
  line-height: 1.15 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-app-nav a strong {
  color: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-nav-badge {
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #ef4444 !important;
  color: #fff !important;
  font-size: 10px !important;
}

/* Topbar: compact product header, not hero. */
html body.mr-os-portal-body .mr-app-topbar {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .05) !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  margin: 0 0 18px !important;
  min-height: 82px !important;
  padding: 14px 18px !important;
}

html body.mr-os-portal-body .mr-topbar-page p,
html body.mr-os-portal-body .mr-panel-head p,
html body.mr-os-portal-body .mr-kicker {
  color: var(--mr-080-gold) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
  margin: 0 0 5px !important;
  text-transform: uppercase !important;
}

html body.mr-os-portal-body .mr-app-topbar h1,
html body.mr-os-portal-body .mr-panel-head h2,
html body.mr-os-portal-body .mr-glass-panel > h2,
html body.mr-os-portal-body .mr-app-hero h2 {
  color: var(--mr-080-text) !important;
  font-size: clamp(22px, 2.4vw, 26px) !important;
  font-weight: 650 !important;
  letter-spacing: -.03em !important;
  line-height: 1.12 !important;
  margin: 0 !important;
}

html body.mr-os-portal-body .mr-glass-panel > h2 {
  font-size: 22px !important;
  margin-bottom: 14px !important;
}

html body.mr-os-portal-body .mr-topbar-tools {
  align-items: center !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-event-switcher,
html body.mr-os-portal-body .mr-event-switcher--brand,
html body.mr-os-portal-body .mr-event-switcher--logo-only,
html body.mr-os-portal-body .mr-event-switcher--static {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  flex: 0 1 auto !important;
  justify-content: center !important;
  max-width: 210px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-active-event-logo,
html body.mr-os-portal-body .mr-app-topbar img.mr-active-event-logo {
  display: block !important;
  height: auto !important;
  max-height: 52px !important;
  max-width: 190px !important;
  object-fit: contain !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-event-switcher-select {
  inset: 0 !important;
  opacity: .01 !important;
}

html body.mr-os-portal-body .mr-app-user {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 15px rgba(15, 23, 42, .04) !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, auto) auto !important;
  gap: 10px !important;
  min-height: 48px !important;
  min-width: 0 !important;
  padding: 6px 8px !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-app-user-photo {
  border-radius: 10px !important;
  height: 36px !important;
  width: 36px !important;
  object-fit: cover !important;
}

html body.mr-os-portal-body .mr-app-user span {
  color: var(--mr-080-text) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  max-width: 150px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-app-user a {
  align-items: center !important;
  background: var(--mr-080-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 7px 12px !important;
  text-decoration: none !important;
}

/* Panels/cards: one surface, not four nested boxes. */
html body.mr-os-portal-body .mr-glass-panel,
html body.mr-os-portal-body .mr-app-table-wrap,
html body.mr-os-portal-body .mr-compact-list,
html body.mr-os-portal-body .mr-section-tabs {
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--mr-080-shadow) !important;
}

html body.mr-os-portal-body .mr-glass-panel {
  padding: 22px !important;
}

html body.mr-os-portal-body .mr-panel-head {
  align-items: center !important;
  border-bottom: 1px solid var(--mr-080-border-soft) !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: space-between !important;
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
}

html body.mr-os-portal-body .mr-panel-head > div {
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-muted,
html body.mr-os-portal-body small {
  color: var(--mr-080-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

/* Forms: no grid overflow. */
html body.mr-os-portal-body .mr-app-form,
html body.mr-os-portal-body .mr-app-filters,
html body.mr-os-portal-body .mr-compact-form {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
}

html body.mr-os-portal-body .mr-app-form label,
html body.mr-os-portal-body .mr-app-filters label,
html body.mr-os-portal-body .mr-compact-form label {
  color: var(--mr-080-text) !important;
  display: grid !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  gap: 7px !important;
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-app-form .mr-wide,
html body.mr-os-portal-body .mr-app-form label.mr-wide,
html body.mr-os-portal-body .mr-app-form button[type="submit"] {
  grid-column: 1 / -1 !important;
}

html body.mr-os-portal-body input,
html body.mr-os-portal-body select,
html body.mr-os-portal-body textarea {
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--mr-080-text) !important;
  font: inherit !important;
  font-size: 14px !important;
  min-height: 40px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 9px 12px !important;
  width: 100% !important;
}

html body.mr-os-portal-body textarea {
  min-height: 108px !important;
  resize: vertical !important;
}

html body.mr-os-portal-body input:focus,
html body.mr-os-portal-body select:focus,
html body.mr-os-portal-body textarea:focus {
  border-color: #93b4e6 !important;
  outline: 2px solid rgba(30, 58, 138, .14) !important;
  outline-offset: 0 !important;
}

/* Buttons/actions. */
html body.mr-os-portal-body button,
html body.mr-os-portal-body .mr-app-button,
html body.mr-os-portal-body .mr-mini-action,
html body.mr-os-portal-body .mr-actions a,
html body.mr-os-portal-body .mr-actions button,
html body.mr-os-portal-body .mr-danger-details > summary,
html body.mr-os-portal-body .mr-danger-button {
  align-items: center !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-actions form {
  display: inline-flex !important;
  margin: 0 !important;
}

html body.mr-os-portal-body .mr-mini-action-primary,
html body.mr-os-portal-body .mr-actions button,
html body.mr-os-portal-body .mr-app-button {
  background: var(--mr-080-navy) !important;
  border: 1px solid var(--mr-080-navy) !important;
  color: #fff !important;
}

html body.mr-os-portal-body .mr-mini-action-light,
html body.mr-os-portal-body .mr-actions a,
html body.mr-os-portal-body .mr-danger-details > summary {
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  color: var(--mr-080-text) !important;
}

html body.mr-os-portal-body .mr-mini-action-gold {
  background: #f8f3e7 !important;
  border: 1px solid #ead6a7 !important;
  color: #7a5208 !important;
}

html body.mr-os-portal-body .mr-danger-details > summary,
html body.mr-os-portal-body .mr-danger-button {
  background: #fff5f5 !important;
  border-color: #fecaca !important;
  color: #b91c1c !important;
}

html body.mr-os-portal-body .mr-danger-details[open] {
  position: relative !important;
  z-index: 10 !important;
}

html body.mr-os-portal-body .mr-danger-details form {
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 38px rgba(15,23,42,.16) !important;
  display: grid !important;
  gap: 10px !important;
  margin-top: 8px !important;
  min-width: 260px !important;
  padding: 12px !important;
  position: absolute !important;
  right: 0 !important;
}

/* Tables: compact desktop, card mobile. */
html body.mr-os-portal-body .mr-app-table-wrap {
  overflow-x: auto !important;
  padding: 0 !important;
  -webkit-overflow-scrolling: touch !important;
}

html body.mr-os-portal-body .mr-app-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  min-width: 760px !important;
  table-layout: fixed !important;
  width: 100% !important;
}

html body.mr-os-portal-body .mr-app-table th,
html body.mr-os-portal-body .mr-app-table td {
  border-bottom: 1px solid var(--mr-080-border-soft) !important;
  color: var(--mr-080-text) !important;
  font-size: 13.5px !important;
  line-height: 1.28 !important;
  padding: 12px 14px !important;
  text-align: left !important;
  vertical-align: middle !important;
}

html body.mr-os-portal-body .mr-app-table th {
  background: #f8fafc !important;
  color: var(--mr-080-muted) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

html body.mr-os-portal-body .mr-app-table tr:hover td {
  background: #fbfdff !important;
}

/* Product completeness: no table-in-card nesting. */
html body.mr-os-portal-body .mr-product-status-panel .mr-panel-head {
  margin-bottom: 14px !important;
}

html body.mr-os-portal-body .mr-product-status-list {
  display: grid !important;
  gap: 10px !important;
}

html body.mr-os-portal-body .mr-product-status-card {
  align-items: start !important;
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  padding: 14px !important;
}

html body.mr-os-portal-body .mr-product-status-copy strong {
  color: var(--mr-080-text) !important;
  display: block !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
}

html body.mr-os-portal-body .mr-product-status-copy p {
  color: var(--mr-080-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* Participants: CRM-like list. */
html body.mr-os-portal-body .mr-participants-shell .mr-app-table-wrap {
  border-radius: 18px !important;
}

html body.mr-os-portal-body .mr-participants-table {
  min-width: 980px !important;
  table-layout: fixed !important;
}

html body.mr-os-portal-body .mr-participants-table th:nth-child(1),
html body.mr-os-portal-body .mr-participants-table td:nth-child(1) { width: 48px !important; }
html body.mr-os-portal-body .mr-participants-table th:nth-child(2),
html body.mr-os-portal-body .mr-participants-table td:nth-child(2) { width: 28% !important; }
html body.mr-os-portal-body .mr-participants-table th:nth-child(3),
html body.mr-os-portal-body .mr-participants-table td:nth-child(3) { width: 18% !important; }
html body.mr-os-portal-body .mr-participants-table th:nth-child(4),
html body.mr-os-portal-body .mr-participants-table td:nth-child(4) { width: 16% !important; }
html body.mr-os-portal-body .mr-participants-table th:nth-child(5),
html body.mr-os-portal-body .mr-participants-table td:nth-child(5) { width: 12% !important; }
html body.mr-os-portal-body .mr-participants-table th:nth-child(6),
html body.mr-os-portal-body .mr-participants-table td:nth-child(6) { width: 26% !important; }

html body.mr-os-portal-body .mr-participants-table td,
html body.mr-os-portal-body .mr-participants-table th {
  padding: 11px 12px !important;
}

html body.mr-os-portal-body .mr-participant-main {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-participant-main strong {
  color: var(--mr-080-text) !important;
  font-size: 14.5px !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-participant-main span {
  color: var(--mr-080-muted) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-select-col {
  text-align: center !important;
}

html body.mr-os-portal-body .mr-participant-check,
html body.mr-os-portal-body input[type="checkbox"].mr-participant-check,
html body.mr-os-portal-body input[type="checkbox"] {
  accent-color: var(--mr-080-navy-2) !important;
  appearance: auto !important;
  background: #fff !important;
  border: 1px solid #b8c6d9 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: inline-block !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  vertical-align: middle !important;
  width: 18px !important;
}

html body.mr-os-portal-body input[type="checkbox"]:checked {
  background-color: var(--mr-080-navy-2) !important;
  border-color: var(--mr-080-navy-2) !important;
}

html body.mr-os-portal-body .mr-participant-actions {
  justify-content: flex-end !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-participant-actions .mr-mini-action,
html body.mr-os-portal-body .mr-participant-actions summary,
html body.mr-os-portal-body .mr-participant-actions button {
  min-height: 32px !important;
  padding: 7px 10px !important;
}

/* Country/committee badges: one-line, no double frame. */
html body.mr-os-portal-body .mr-country,
html body.mr-os-portal-body .mr-committee {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--mr-080-text) !important;
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

html body.mr-os-portal-body .mr-country > span:last-child,
html body.mr-os-portal-body .mr-committee > span:last-child {
  color: var(--mr-080-muted) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

html body.mr-os-portal-body .mr-country-flag {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 16px !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-committee-mark,
html body.mr-os-portal-body .mr-committee-logo,
html body.mr-os-portal-body .mr-committee img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  height: 26px !important;
  max-height: 26px !important;
  max-width: 40px !important;
  object-fit: contain !important;
  padding: 0 !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-committee-cell,
html body.mr-os-portal-body .mr-country-cell,
html body.mr-os-portal-body .mr-status-cell {
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-status {
  align-items: center !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  gap: 5px !important;
  line-height: 1 !important;
  min-height: 26px !important;
  padding: 6px 10px !important;
  white-space: nowrap !important;
}

/* Committees existing: a single row, no inner pill. */
html body.mr-os-portal-body .mr-clean-list,
html body.mr-os-portal-body .mr-committee-admin-list {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  gap: 10px !important;
  padding: 0 !important;
}

html body.mr-os-portal-body .mr-committee-admin-row,
html body.mr-os-portal-body .mr-clean-committee-row {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 68px !important;
  padding: 12px 14px !important;
}

html body.mr-os-portal-body .mr-committee-admin-identity,
html body.mr-os-portal-body .mr-clean-committee-identity {
  align-items: center !important;
  display: grid !important;
  gap: 9px 12px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-committee-admin-identity .mr-committee {
  display: inline-grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
}

html body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-mark,
html body.mr-os-portal-body .mr-committee-admin-identity .mr-committee-logo,
html body.mr-os-portal-body .mr-committee-admin-identity .mr-committee img {
  height: 38px !important;
  max-height: 38px !important;
  max-width: 42px !important;
}

html body.mr-os-portal-body .mr-committee-admin-identity .mr-committee > span:last-child {
  color: var(--mr-080-text) !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
}

html body.mr-os-portal-body .mr-committee-admin-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-left: 52px !important;
}

html body.mr-os-portal-body .mr-committee-admin-meta small {
  background: #f8fafc !important;
  border: 1px solid var(--mr-080-border-soft) !important;
  border-radius: 999px !important;
  padding: 4px 8px !important;
}

html body.mr-os-portal-body .mr-committee-actions {
  justify-content: flex-end !important;
}

/* Session/rollcall compacting. */
html body.mr-os-portal-body .mr-rollcall-head h2,
html body.mr-os-portal-body .mr-session-board h2 {
  font-size: 21px !important;
  font-weight: 650 !important;
}

html body.mr-os-portal-body .mr-rollcall-row,
html body.mr-os-portal-body .mr-rollcall-card {
  border: 1px solid var(--mr-080-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  padding: 12px !important;
}

html body.mr-os-portal-body .mr-rollcall-country {
  align-items: center !important;
  display: flex !important;
  gap: 8px !important;
  min-width: 0 !important;
}

html body.mr-os-portal-body .mr-rollcall-flag {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  font-size: 20px !important;
  height: auto !important;
  width: auto !important;
}

html body.mr-os-portal-body .mr-rollcall-country strong,
html body.mr-os-portal-body .mr-rollcall-country span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

/* Restore desktop-like layout for tablet; old CSS collapsed too early at 1100px. */
@media (min-width: 861px) and (max-width: 1100px) {
  html body.mr-os-portal-body .mr-app {
    display: grid !important;
    grid-template-columns: 226px minmax(0,1fr) !important;
  }
  html body.mr-os-portal-body .mr-app-sidebar {
    position: sticky !important;
    top: 0 !important;
    width: 226px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding: 18px 12px !important;
  }
  html body.mr-os-portal-body .mr-app-brand {
    display: flex !important;
    margin-bottom: 14px !important;
  }
  html body.mr-os-portal-body .mr-app-brand img {
    max-width: 145px !important;
    width: 145px !important;
    padding: 15px 17px !important;
  }
  html body.mr-os-portal-body .mr-app-nav {
    display: grid !important;
    grid-auto-flow: row !important;
    overflow: visible !important;
  }
  html body.mr-os-portal-body .mr-app-nav a {
    min-width: 0 !important;
    width: 100% !important;
  }
  html body.mr-os-portal-body .mr-app-nav a span {
    display: block !important;
  }
  html body.mr-os-portal-body .mr-app-main {
    padding: 22px 20px 36px !important;
  }
}

/* Mobile: bottom app nav that does not cut content. */
@media (max-width: 860px) {
  html body.mr-os-portal-body .mr-app {
    display: block !important;
    min-height: 100vh !important;
  }

  html body.mr-os-portal-body .mr-app-main {
    padding: 14px 14px calc(var(--mr-080-bottom-nav) + 28px + env(safe-area-inset-bottom)) !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    align-items: center !important;
    background: rgba(23, 37, 84, .98) !important;
    border-radius: 22px 22px 0 0 !important;
    border-right: 0 !important;
    bottom: 0 !important;
    box-shadow: 0 -12px 32px rgba(15, 23, 42, .22) !important;
    display: flex !important;
    height: calc(var(--mr-080-bottom-nav) + env(safe-area-inset-bottom)) !important;
    left: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    z-index: 999 !important;
  }

  html body.mr-os-portal-body .mr-app-brand {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-app-nav {
    display: grid !important;
    gap: 7px !important;
    grid-auto-columns: minmax(88px, 1fr) !important;
    grid-auto-flow: column !important;
    height: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 2px !important;
    scrollbar-width: none !important;
    width: 100% !important;
  }

  html body.mr-os-portal-body .mr-app-nav::-webkit-scrollbar { display: none !important; }

  html body.mr-os-portal-body .mr-app-nav a {
    align-content: center !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 16px !important;
    display: grid !important;
    gap: 3px !important;
    justify-items: center !important;
    min-height: 56px !important;
    min-width: 88px !important;
    padding: 6px 8px !important;
    text-align: center !important;
  }

  html body.mr-os-portal-body .mr-app-nav a.is-active {
    background: rgba(255,255,255,.16) !important;
  }

  html body.mr-os-portal-body .mr-app-nav a span {
    display: block !important;
    font-size: 9px !important;
    letter-spacing: .08em !important;
    max-width: 78px !important;
    text-align: center !important;
  }

  html body.mr-os-portal-body .mr-app-nav a strong {
    color: #fff !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    max-width: 78px !important;
    text-align: center !important;
  }

  html body.mr-os-portal-body .mr-app-topbar {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    padding: 14px !important;
  }

  html body.mr-os-portal-body .mr-app-topbar h1,
  html body.mr-os-portal-body .mr-panel-head h2 {
    font-size: 22px !important;
  }

  html body.mr-os-portal-body .mr-topbar-tools {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
  }

  html body.mr-os-portal-body .mr-event-switcher,
  html body.mr-os-portal-body .mr-event-switcher--brand,
  html body.mr-os-portal-body .mr-event-switcher--logo-only,
  html body.mr-os-portal-body .mr-event-switcher--static {
    justify-self: center !important;
    max-width: 220px !important;
    width: min(220px, 70vw) !important;
  }

  html body.mr-os-portal-body .mr-active-event-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-active-event-logo {
    max-height: 54px !important;
    max-width: 220px !important;
  }

  html body.mr-os-portal-body .mr-app-user {
    grid-template-columns: 36px minmax(0, 1fr) auto !important;
    justify-self: stretch !important;
    width: 100% !important;
  }

  html body.mr-os-portal-body .mr-section-tabs {
    display: grid !important;
    gap: 8px !important;
    grid-auto-columns: minmax(126px, max-content) !important;
    grid-auto-flow: column !important;
    overflow-x: auto !important;
    padding: 8px !important;
  }

  html body.mr-os-portal-body .mr-section-tabs a {
    min-height: 42px !important;
    padding: 8px 11px !important;
  }
}

@media (max-width: 760px) {
  html body.mr-os-portal-body .mr-glass-panel {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  html body.mr-os-portal-body .mr-panel-head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  html body.mr-os-portal-body .mr-app-form,
  html body.mr-os-portal-body .mr-app-filters,
  html body.mr-os-portal-body .mr-compact-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mr-os-portal-body .mr-product-status-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html body.mr-os-portal-body .mr-committee-admin-row,
  html body.mr-os-portal-body .mr-clean-committee-row {
    grid-template-columns: minmax(0,1fr) !important;
  }

  html body.mr-os-portal-body .mr-committee-admin-meta {
    margin-left: 0 !important;
  }

  html body.mr-os-portal-body .mr-committee-actions,
  html body.mr-os-portal-body .mr-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  html body.mr-os-portal-body .mr-participants-shell .mr-app-table-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.mr-os-portal-body .mr-participants-table,
  html body.mr-os-portal-body .mr-participants-table tbody,
  html body.mr-os-portal-body .mr-participants-table tr,
  html body.mr-os-portal-body .mr-participants-table td {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  html body.mr-os-portal-body .mr-participants-table thead {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-participants-table tr {
    background: #fff !important;
    border: 1px solid var(--mr-080-border) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
    padding: 2px 0 !important;
  }

  html body.mr-os-portal-body .mr-participants-table td {
    align-items: center !important;
    border-bottom: 1px solid var(--mr-080-border-soft) !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 9px 12px !important;
  }

  html body.mr-os-portal-body .mr-participants-table td:last-child {
    border-bottom: 0 !important;
  }

  html body.mr-os-portal-body .mr-participants-table td::before {
    color: var(--mr-080-muted) !important;
    content: attr(data-label) !important;
    font-size: 10.5px !important;
    font-weight: 650 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  html body.mr-os-portal-body .mr-participants-table td.mr-select-col {
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-start !important;
  }

  html body.mr-os-portal-body .mr-participants-table td.mr-select-col::before {
    flex: 0 0 92px !important;
  }

  html body.mr-os-portal-body .mr-participants-table .mr-participant-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    justify-content: flex-start !important;
    white-space: normal !important;
  }

  html body.mr-os-portal-body .mr-participants-table .mr-participant-actions::before {
    flex: 0 0 100% !important;
  }

  html body.mr-os-portal-body .mr-danger-details form {
    left: 0 !important;
    right: auto !important;
    width: min(320px, calc(100vw - 40px)) !important;
  }
}

@media (max-width: 520px) {
  html body.mr-os-portal-body .mr-app-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html body.mr-os-portal-body .mr-app-topbar h1,
  html body.mr-os-portal-body .mr-panel-head h2,
  html body.mr-os-portal-body .mr-glass-panel > h2 {
    font-size: 20px !important;
  }

  html body.mr-os-portal-body .mr-app-user span {
    max-width: 118px !important;
  }

  html body.mr-os-portal-body .mr-participants-table td {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }

  html body.mr-os-portal-body .mr-participants-table td.mr-select-col::before {
    flex-basis: 86px !important;
  }
}
/* === MUN Revolution OS 0.8.0 Visual Structure Cleanup END === */


/* === MUN Revolution OS 0.8.1 Desktop/Mobile Nav Hotfix START ===
   Correcciones puntuales sobre 0.8.0:
   - Desktop: elimina el logo duplicado/cortado del sidebar y estabiliza la barra lateral.
   - Mobile: bottom nav con scroll horizontal real para ver todas las opciones.
   - Ajustes menores de topbar/logo para evitar recortes y exceso visual.
*/
:root {
  --mr-081-sidebar: 246px;
  --mr-081-bottom-nav: 82px;
}

@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-app {
    grid-template-columns: var(--mr-081-sidebar) minmax(0, 1fr) !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    width: var(--mr-081-sidebar) !important;
    padding: 18px 12px 18px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  /* El logo ya vive en la topbar. En desktop el duplicado lateral se estaba cortando y ensuciaba la navegación. */
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-app-nav {
    padding-top: 2px !important;
    gap: 2px !important;
  }

  html body.mr-os-portal-body .mr-app-nav a {
    border-radius: 9px !important;
    min-height: 43px !important;
    padding: 7px 10px !important;
  }

  html body.mr-os-portal-body .mr-app-nav a span {
    font-size: 9.5px !important;
    letter-spacing: .11em !important;
  }

  html body.mr-os-portal-body .mr-app-nav a strong {
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  html body.mr-os-portal-body .mr-app-topbar {
    min-height: 72px !important;
    padding: 12px 16px !important;
  }

  html body.mr-os-portal-body .mr-active-event-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-active-event-logo {
    max-height: 46px !important;
    max-width: 160px !important;
  }
}

@media (max-width: 860px) {
  html body.mr-os-portal-body {
    overflow-x: hidden !important;
  }

  html body.mr-os-portal-body .mr-app-main {
    padding-bottom: calc(var(--mr-081-bottom-nav) + 24px + env(safe-area-inset-bottom)) !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    height: calc(var(--mr-081-bottom-nav) + env(safe-area-inset-bottom)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 8px 0 calc(8px + env(safe-area-inset-bottom)) !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand {
    display: none !important;
  }

  /* Scroll horizontal real: no distribuir en 1fr, porque eso corta los últimos módulos. */
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 8px !important;
    height: 100% !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 14px 0 14px !important;
    scroll-padding-inline: 14px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    min-height: 58px !important;
    scroll-snap-align: start !important;
    padding: 7px 8px !important;
    border-radius: 16px !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a span,
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a strong {
    max-width: 88px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a span {
    font-size: 9px !important;
    letter-spacing: .08em !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a strong {
    font-size: 11.5px !important;
    line-height: 1.15 !important;
  }

  html body.mr-os-portal-body .mr-app-topbar {
    padding: 16px 14px !important;
  }

  html body.mr-os-portal-body .mr-event-switcher,
  html body.mr-os-portal-body .mr-event-switcher--brand,
  html body.mr-os-portal-body .mr-event-switcher--logo-only,
  html body.mr-os-portal-body .mr-event-switcher--static {
    width: min(190px, 68vw) !important;
    max-width: 190px !important;
  }

  html body.mr-os-portal-body .mr-active-event-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-active-event-logo {
    max-height: 42px !important;
    max-width: 190px !important;
  }
}

@media (max-width: 520px) {
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a {
    flex-basis: 98px !important;
    width: 98px !important;
    min-width: 98px !important;
    max-width: 98px !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a span,
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a strong {
    max-width: 82px !important;
  }
}
/* === MUN Revolution OS 0.8.1 Desktop/Mobile Nav Hotfix END === */

/* === MUN Revolution OS 0.8.2 OS/Product Branding START ===
   - Topbar: MUN Revolution OS product logo.
   - Sidebar: active MUN/event logo.
   - Restores brand area after 0.8.1 hid it, without returning the old OS badge.
*/
@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand,
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event {
    display: flex !important;
    width: 100% !important;
    min-height: 96px !important;
    max-height: 118px !important;
    padding: 12px 10px !important;
    margin: 0 0 14px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(226, 232, 240, .22) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 10px 28px rgba(2, 6, 23, .16) !important;
    overflow: hidden !important;
  }

  html body.mr-os-portal-body .mr-sidebar-event-logo,
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand img.mr-sidebar-event-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 184px !important;
    max-height: 74px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }
}

html body.mr-os-portal-body .mr-brand-os-badge {
  display: none !important;
}

html body.mr-os-portal-body .mr-topbar-tools {
  gap: 12px !important;
}

html body.mr-os-portal-body .mr-event-switcher--brand,
html body.mr-os-portal-body .mr-event-switcher--logo-only,
html body.mr-os-portal-body .mr-event-switcher--static {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.mr-os-portal-body .mr-os-product-logo,
html body.mr-os-portal-body .mr-app-topbar img.mr-os-product-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 265px !important;
  max-height: 58px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

html body.mr-os-portal-body .mr-event-switcher--brand select.mr-event-switcher-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 860px) {
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand,
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-event-switcher,
  html body.mr-os-portal-body .mr-event-switcher--brand,
  html body.mr-os-portal-body .mr-event-switcher--logo-only,
  html body.mr-os-portal-body .mr-event-switcher--static {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: center !important;
  }

  html body.mr-os-portal-body .mr-os-product-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-os-product-logo {
    max-width: min(320px, 72vw) !important;
    max-height: 52px !important;
  }
}

@media (max-width: 520px) {
  html body.mr-os-portal-body .mr-os-product-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-os-product-logo {
    max-width: min(285px, 74vw) !important;
    max-height: 48px !important;
  }
}
/* === MUN Revolution OS 0.8.2 OS/Product Branding END === */

/* === MUN Revolution OS 0.8.3 OS Logo/Layout Hotfix START ===
   Objetivo: restaurar identidad del producto en topbar, mantener logo del MUN activo en sidebar,
   compactar participantes y convertir hero dashboard a dorado moderno sin aumentar deuda visual.
*/

:root {
  --mr-083-gold-1: #fff8df;
  --mr-083-gold-2: #f6d37a;
  --mr-083-gold-3: #d7a21f;
  --mr-083-gold-4: #a97108;
  --mr-083-navy: #10224b;
  --mr-083-ink: #111827;
  --mr-083-muted: #667085;
  --mr-083-border: #dbe4ef;
}

/* Topbar: logo del producto MUN Revolution OS, no logo del evento. */
html body.mr-os-portal-body .mr-app-topbar .mr-os-product-logo,
html body.mr-os-portal-body .mr-app-topbar img.mr-os-product-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 300px !important;
  max-height: 54px !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body.mr-os-portal-body .mr-event-switcher--brand,
html body.mr-os-portal-body .mr-event-switcher--logo-only,
html body.mr-os-portal-body .mr-event-switcher--static {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 320px !important;
}

/* Sidebar: logo del MUN activo, compacto y legible. */
@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event {
    display: flex !important;
    min-height: 70px !important;
    max-height: 90px !important;
    padding: 10px 12px !important;
    margin: 0 0 16px !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(226,232,240,.22) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 22px rgba(2, 6, 23, .18) !important;
    overflow: hidden !important;
  }
  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-logo {
    max-width: 190px !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }
}

/* Dashboard hero: degradado dorado moderno para reducir saturación azul. */
html body.mr-os-portal-body .mr-app-hero {
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.92), rgba(255,255,255,0) 30%),
    linear-gradient(135deg, var(--mr-083-gold-1) 0%, #fffefa 22%, var(--mr-083-gold-2) 54%, var(--mr-083-gold-3) 100%) !important;
  border: 1px solid rgba(215, 162, 31, .34) !important;
  border-left: 5px solid var(--mr-083-gold-4) !important;
  box-shadow: 0 18px 42px rgba(169, 113, 8, .18) !important;
  color: var(--mr-083-ink) !important;
}
html body.mr-os-portal-body .mr-app-hero p {
  color: #8a5e07 !important;
  letter-spacing: .16em !important;
  font-weight: 700 !important;
}
html body.mr-os-portal-body .mr-app-hero h2 {
  color: #172033 !important;
  font-weight: 650 !important;
  text-shadow: none !important;
}
html body.mr-os-portal-body .mr-app-hero .mr-app-quick a,
html body.mr-os-portal-body .mr-app-hero a {
  background: rgba(16, 34, 75, .92) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  box-shadow: 0 12px 26px rgba(16, 34, 75, .16) !important;
}
html body.mr-os-portal-body .mr-app-hero .mr-app-quick a:hover,
html body.mr-os-portal-body .mr-app-hero a:hover {
  background: #0f1a2c !important;
}

/* Participantes: tabla CRM compacta y sin solapes entre país y acciones. */
html body.mr-os-portal-body .mr-participants-shell .mr-app-table-wrap {
  overflow-x: auto !important;
  max-width: 100% !important;
  border-radius: 16px !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table {
  width: 100% !important;
  min-width: 1120px !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table th,
html body.mr-os-portal-body .mr-participants-shell .mr-app-table td {
  padding: 12px 12px !important;
  vertical-align: middle !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(1),
html body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(1) {
  width: 46px !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(2),
html body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(2) {
  width: 29% !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(3),
html body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(3) {
  width: 16% !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(4),
html body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(4) {
  width: 16% !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(5),
html body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(5) {
  width: 13% !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-app-table th:nth-child(6),
html body.mr-os-portal-body .mr-participants-shell .mr-app-table td:nth-child(6) {
  width: 260px !important;
  min-width: 260px !important;
}

html body.mr-os-portal-body .mr-participants-shell .mr-country-cell,
html body.mr-os-portal-body .mr-participants-shell .mr-committee-cell,
html body.mr-os-portal-body .mr-participants-shell .mr-participant-cell {
  min-width: 0 !important;
  overflow: hidden !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-country {
  max-width: 170px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  vertical-align: middle !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-country > span:last-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body.mr-os-portal-body .mr-participants-shell .mr-participant-actions,
html body.mr-os-portal-body .mr-participants-shell td.mr-participant-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  min-width: 260px !important;
  overflow: visible !important;
  white-space: nowrap !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-participant-actions form,
html body.mr-os-portal-body .mr-participants-shell .mr-participant-actions details {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-mini-action,
html body.mr-os-portal-body .mr-participants-shell .mr-participant-actions button,
html body.mr-os-portal-body .mr-participants-shell .mr-participant-actions summary {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 30px !important;
}
html body.mr-os-portal-body .mr-participants-shell .mr-danger-details summary {
  color: #b42318 !important;
  background: #fff7f7 !important;
  border: 1px solid #ffd0d0 !important;
}

/* Checkboxes visibles y coherentes. */
html body.mr-os-portal-body .mr-participant-check,
html body.mr-os-portal-body #mr-select-all-participants {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid #b8c4d6 !important;
  border-radius: 6px !important;
  background: #fff !important;
  display: inline-grid !important;
  place-content: center !important;
  box-shadow: none !important;
}
html body.mr-os-portal-body .mr-participant-check:checked,
html body.mr-os-portal-body #mr-select-all-participants:checked {
  background: #1e3a8a !important;
  border-color: #1e3a8a !important;
}
html body.mr-os-portal-body .mr-participant-check:checked::after,
html body.mr-os-portal-body #mr-select-all-participants:checked::after {
  content: "" !important;
  width: 8px !important;
  height: 4px !important;
  border-left: 2px solid #fff !important;
  border-bottom: 2px solid #fff !important;
  transform: rotate(-45deg) translate(1px, -1px) !important;
}

@media (max-width: 860px) {
  html body.mr-os-portal-body .mr-app-topbar .mr-os-product-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-os-product-logo {
    max-width: min(330px, 78vw) !important;
    max-height: 50px !important;
  }
  html body.mr-os-portal-body .mr-app-hero {
    padding: 24px 18px !important;
  }
  html body.mr-os-portal-body .mr-app-hero h2 {
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.08 !important;
  }
  html body.mr-os-portal-body .mr-app-hero .mr-app-quick {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch !important;
  }
  html body.mr-os-portal-body .mr-app-hero .mr-app-quick a {
    flex: 0 0 auto !important;
  }

  html body.mr-os-portal-body .mr-participants-shell .mr-app-table {
    min-width: 0 !important;
    table-layout: auto !important;
  }
  html body.mr-os-portal-body .mr-participants-shell .mr-app-table tr {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px 12px !important;
  }
  html body.mr-os-portal-body .mr-participants-shell .mr-app-table thead tr {
    display: none !important;
  }
  html body.mr-os-portal-body .mr-participants-shell .mr-app-table td {
    width: auto !important;
    min-width: 0 !important;
    padding: 4px 0 !important;
    border: 0 !important;
  }
  html body.mr-os-portal-body .mr-participants-shell .mr-app-table td.mr-select-col {
    grid-row: 1 / span 5 !important;
    align-self: start !important;
    padding-top: 6px !important;
  }
  html body.mr-os-portal-body .mr-participants-shell .mr-participant-actions,
  html body.mr-os-portal-body .mr-participants-shell td.mr-participant-actions {
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    padding-top: 10px !important;
  }
  html body.mr-os-portal-body .mr-participants-shell .mr-country {
    max-width: 100% !important;
  }
}
/* === MUN Revolution OS 0.8.3 OS Logo/Layout Hotfix END === */


/* === MUN Revolution OS 0.8.5 Visual Launch Hotfix START ===
   Ajustes solicitados para lanzamiento: respiración izquierda de sidebar,
   logo oficial del producto OS en topbar sin recorte, sidebar fija en desktop
   y nombre completo del MUN activo bajo el logo institucional.
*/

@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-app {
    align-items: start !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    align-self: start !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    overflow-x: hidden !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 112px !important;
    max-height: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 12px !important;
    margin: 0 0 18px !important;
    text-decoration: none !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-logo {
    display: block !important;
    max-width: 192px !important;
    max-height: 56px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-name {
    display: block !important;
    max-width: 100% !important;
    color: #172033 !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
  }

  html body.mr-os-portal-body .mr-app-topbar .mr-topbar-tools {
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.mr-os-portal-body .mr-event-switcher--brand,
  html body.mr-os-portal-body .mr-event-switcher--logo-only,
  html body.mr-os-portal-body .mr-event-switcher--static {
    max-width: 410px !important;
    overflow: visible !important;
    flex: 0 1 auto !important;
  }

  html body.mr-os-portal-body .mr-app-topbar .mr-os-product-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-os-product-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(360px, 24vw) !important;
    max-height: 58px !important;
    object-fit: contain !important;
    object-position: center !important;
    overflow: visible !important;
    flex: 0 1 auto !important;
  }
}

@media (max-width: 860px) {
  html body.mr-os-portal-body .mr-sidebar-event-name {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-app-topbar .mr-os-product-logo,
  html body.mr-os-portal-body .mr-app-topbar img.mr-os-product-logo {
    width: auto !important;
    height: auto !important;
    max-width: min(340px, 80vw) !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }
}

/* === MUN Revolution OS 0.8.5 Visual Launch Hotfix END === */


/* === MUN Revolution OS 0.8.7 Visual Rescue Hotfix START ===
   Rescate conservador desde 0.8.5. No heredar la ruptura de 0.8.6.
   Objetivo: sidebar fija sin comprimir contenido, logo OS real visible,
   MUN activo como texto limpio y nombres de comités visibles.
*/

html:has(body.mr-os-portal-body),
html body.mr-os-portal-body,
body.mr-os-portal-body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.mr-os-portal-body #wpadminbar {
  display: none !important;
}

html body.mr-os-portal-body .mr-app {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-app {
    display: grid !important;
    grid-template-columns: 318px minmax(0, 1fr) !important;
    min-height: 100vh !important;
    width: 100% !important;
    max-width: none !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    z-index: 60 !important;
    width: 318px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding: 24px 20px 24px 24px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: linear-gradient(180deg, #243f91 0%, #162e73 54%, #10245d 100%) !important;
    border-right: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 12px 0 30px rgba(16, 34, 75, .12) !important;
  }

  html body.mr-os-portal-body .mr-app-main {
    grid-column: 2 !important;
    margin-left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 24px 28px 36px !important;
    box-sizing: border-box !important;
  }

  html body.mr-os-portal-body .mr-app-main > .mr-app-notice,
  html body.mr-os-portal-body .mr-app-main > .mr-app-hero,
  html body.mr-os-portal-body .mr-app-main > .mr-app-stats,
  html body.mr-os-portal-body .mr-app-main > .mr-glass-panel,
  html body.mr-os-portal-body .mr-app-main > .mr-app-grid,
  html body.mr-os-portal-body .mr-app-main > .mr-section-tabs,
  html body.mr-os-portal-body .mr-app-main > .mr-app-filters,
  html body.mr-os-portal-body .mr-app-main > .mr-session-board {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-nav a {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 14px !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 148px !important;
    max-height: none !important;
    padding: 16px 14px !important;
    margin: 0 0 20px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.96) !important;
    overflow: hidden !important;
    text-decoration: none !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-logo {
    display: block !important;
    max-width: 218px !important;
    max-height: 62px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-name {
    display: block !important;
    width: 100% !important;
    max-width: 238px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #172033 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  html body.mr-os-portal-body .mr-app-topbar {
    position: static !important;
    top: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    min-height: 88px !important;
    padding: 18px 22px !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    box-sizing: border-box !important;
  }

  html body.mr-os-portal-body .mr-topbar-page {
    flex: 1 1 auto !important;
    min-width: 180px !important;
  }

  html body.mr-os-portal-body .mr-os-topbar-logo-lock {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 360px !important;
    max-width: min(360px, 28vw) !important;
    min-width: 180px !important;
    overflow: visible !important;
  }

  html body.mr-os-portal-body .mr-os-topbar-logo-lock img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 62px !important;
    object-fit: contain !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--brand,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--logo-only,
  html body.mr-os-portal-body .mr-app-topbar .mr-event-switcher--static {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-topbar-tools {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    justify-content: flex-end !important;
  }
}

html body.mr-os-portal-body .mr-committee-admin-identity,
html body.mr-os-portal-body .mr-clean-committee-identity {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px 12px !important;
}

html body.mr-os-portal-body .mr-committee-admin-identity .mr-committee {
  grid-column: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  min-width: 46px !important;
}

html body.mr-os-portal-body .mr-committee-admin-identity .mr-committee > span:last-child {
  display: none !important;
}

html body.mr-os-portal-body .mr-committee-admin-name-lock {
  grid-column: 2 !important;
  display: block !important;
  min-width: 0 !important;
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

html body.mr-os-portal-body .mr-committee-admin-meta {
  grid-column: 2 !important;
  margin-left: 0 !important;
}

@media (max-width: 860px) {
  html body.mr-os-portal-body .mr-os-topbar-logo-lock {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-sidebar-event-name {
    display: none !important;
  }
}
/* === MUN Revolution OS 0.8.7 Visual Rescue Hotfix END === */


/* === MUN Revolution OS 0.8.8 Responsive Mobile Hotfix START ===
   Rescate responsive para lanzamiento:
   - Muestra el logo del MUN activo en móvil debajo del logo OS.
   - Mantiene bottom nav con desplazamiento horizontal real.
   - Evita franja superior y recortes en móvil/tablet.
   - No modifica rutas, tokens, nonces ni lógica funcional.
*/

html body.mr-os-portal-body .mr-mobile-event-brand-lock {
  display: none !important;
}

@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-mobile-event-brand-lock {
    display: none !important;
  }
}

@media (max-width: 860px) {
  html:has(body.mr-os-portal-body),
  html body.mr-os-portal-body,
  body.mr-os-portal-body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  body.mr-os-portal-body #wpadminbar {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-app {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
  }

  html body.mr-os-portal-body .mr-app-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 12px calc(112px + env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
  }

  html body.mr-os-portal-body .mr-app-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    justify-items: stretch !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  html body.mr-os-portal-body .mr-topbar-page {
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  html body.mr-os-portal-body .mr-topbar-page p {
    font-size: 11px !important;
    letter-spacing: .18em !important;
    margin: 0 0 4px !important;
  }

  html body.mr-os-portal-body .mr-topbar-page h1 {
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }

  html body.mr-os-portal-body .mr-os-topbar-logo-lock {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    padding: 2px 0 0 !important;
  }

  html body.mr-os-portal-body .mr-os-topbar-logo-lock img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(330px, 78vw) !important;
    max-height: 70px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  html body.mr-os-portal-body .mr-mobile-event-brand-lock {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 310px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    text-align: center !important;
  }

  html body.mr-os-portal-body .mr-mobile-event-brand-lock img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(210px, 58vw) !important;
    max-height: 46px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  html body.mr-os-portal-body .mr-mobile-event-brand-lock span {
    display: block !important;
    max-width: min(320px, 82vw) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #172033 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body.mr-os-portal-body .mr-topbar-tools {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.mr-os-portal-body .mr-app-user {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
  }

  html body.mr-os-portal-body .mr-app-user-photo {
    width: 44px !important;
    height: 44px !important;
  }

  html body.mr-os-portal-body .mr-app-user span {
    min-width: 0 !important;
    max-width: none !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    height: calc(92px + env(safe-area-inset-bottom)) !important;
    min-height: 0 !important;
    padding: 8px 10px calc(10px + env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 22px 22px 0 0 !important;
    z-index: 9999 !important;
    background: rgba(23, 37, 84, .98) !important;
    box-shadow: 0 -12px 32px rgba(15, 23, 42, .22) !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-app-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    touch-action: pan-x !important;
  }

  html body.mr-os-portal-body .mr-app-nav::-webkit-scrollbar {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-app-nav a {
    flex: 0 0 auto !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 3px !important;
    width: auto !important;
    min-width: 106px !important;
    max-width: 156px !important;
    min-height: 62px !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    text-align: center !important;
    scroll-snap-align: start !important;
    white-space: normal !important;
  }

  html body.mr-os-portal-body .mr-app-nav a span {
    display: block !important;
    max-width: 132px !important;
    font-size: 9.5px !important;
    line-height: 1.1 !important;
    letter-spacing: .10em !important;
    text-align: center !important;
  }

  html body.mr-os-portal-body .mr-app-nav a strong {
    display: block !important;
    max-width: 132px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 420px) {
  html body.mr-os-portal-body .mr-app-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html body.mr-os-portal-body .mr-os-topbar-logo-lock img {
    max-width: min(300px, 82vw) !important;
    max-height: 62px !important;
  }

  html body.mr-os-portal-body .mr-mobile-event-brand-lock img {
    max-width: min(190px, 58vw) !important;
    max-height: 40px !important;
  }

  html body.mr-os-portal-body .mr-app-nav a {
    min-width: 98px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

@media (min-width: 861px) and (max-width: 1180px) {
  html body.mr-os-portal-body .mr-app {
    grid-template-columns: 270px minmax(0, 1fr) !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    width: 270px !important;
    padding: 20px 16px !important;
  }

  html body.mr-os-portal-body .mr-app-main {
    padding: 20px 22px 34px !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-logo {
    max-width: 198px !important;
  }
}
/* === MUN Revolution OS 0.8.8 Responsive Mobile Hotfix END === */


/* 0.8.9 Mobile Logo Dedupe Hotfix
   Evita que el logo de producto MUN Revolution OS aparezca duplicado en móvil y desktop.
   El logo oficial del OS vive solo en .mr-os-topbar-logo-lock; el MUN activo vive en .mr-mobile-event-brand-lock en móvil y en sidebar en desktop. */
html body.mr-os-portal-body .mr-topbar-tools .mr-event-switcher--deduped-os-logo,
html body.mr-os-portal-body .mr-topbar-tools .mr-event-switcher--brand.mr-event-switcher--logo-only {
  display: none !important;
}

@media (max-width: 860px) {
  html body.mr-os-portal-body .mr-app-topbar .mr-os-topbar-logo-lock {
    margin-bottom: 10px !important;
  }
  html body.mr-os-portal-body .mr-app-topbar .mr-mobile-event-brand-lock {
    margin-top: 2px !important;
    margin-bottom: 18px !important;
  }
}

/* === MUN Revolution OS 0.8.10 Sidebar Navigation Hotfix START ===
   Objetivo: navegación lateral más limpia y jerárquica, color institucional #0D1E46,
   logo del MUN sin tarjeta en desktop y mobile bottom nav independiente con scroll horizontal.
*/

html body.mr-os-portal-body .mr-mobile-bottom-nav {
  display: none !important;
}

@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-app {
    grid-template-columns: 318px minmax(0, 1fr) !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar {
    width: 318px !important;
    padding: 22px 20px 26px 22px !important;
    background:
      radial-gradient(circle at 22% 0%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 34%),
      linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,0) 44%),
      linear-gradient(180deg, #10265a 0%, #0D1E46 54%, #07142f 100%) !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 12px 0 34px rgba(13,30,70,.20) !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255,255,255,.28) transparent !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar::-webkit-scrollbar {
    width: 6px !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.24) !important;
    border-radius: 999px !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 10px 8px 20px !important;
    margin: 0 0 14px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    text-decoration: none !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event::before,
  html body.mr-os-portal-body .mr-app-sidebar .mr-app-brand.mr-app-brand--event::after {
    display: none !important;
    content: none !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-logo {
    display: block !important;
    width: auto !important;
    max-width: 215px !important;
    max-height: 72px !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.mr-os-portal-body .mr-app-sidebar .mr-sidebar-event-name {
    display: block !important;
    max-width: 245px !important;
    margin: 0 auto !important;
    color: rgba(255,255,255,.94) !important;
    font-size: 11px !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
    letter-spacing: .055em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.22) !important;
  }

  html body.mr-os-portal-body .mr-app-nav.mr-app-nav--grouped {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 4px 0 0 !important;
  }

  html body.mr-os-portal-body .mr-nav-group {
    display: block !important;
    width: 100% !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
  }

  html body.mr-os-portal-body .mr-nav-group[open],
  html body.mr-os-portal-body .mr-nav-group.is-active {
    background: rgba(255,255,255,.065) !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: inset 3px 0 0 rgba(212,166,54,.95) !important;
  }

  html body.mr-os-portal-body .mr-nav-group summary {
    list-style: none !important;
    cursor: pointer !important;
    user-select: none !important;
    padding: 12px 13px 11px 15px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
    align-items: center !important;
    color: #fff !important;
  }

  html body.mr-os-portal-body .mr-nav-group summary::-webkit-details-marker {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-nav-group summary::after {
    content: "›" !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transform: rotate(90deg) !important;
    transition: transform .18s ease !important;
  }

  html body.mr-os-portal-body .mr-nav-group[open] summary::after {
    transform: rotate(-90deg) !important;
  }

  html body.mr-os-portal-body .mr-nav-group summary span {
    grid-column: 1 / -1 !important;
    display: block !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .20em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }

  html body.mr-os-portal-body .mr-nav-group summary strong {
    display: block !important;
    min-width: 0 !important;
    color: rgba(255,255,255,.96) !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
  }

  html body.mr-os-portal-body .mr-nav-submenu {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding: 0 8px 9px 10px !important;
  }

  html body.mr-os-portal-body .mr-nav-submenu a,
  html body.mr-os-portal-body .mr-app-sidebar .mr-nav-submenu a {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2px !important;
    width: 100% !important;
    min-height: 40px !important;
    padding: 8px 10px 8px 14px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  html body.mr-os-portal-body .mr-nav-submenu a:hover,
  html body.mr-os-portal-body .mr-nav-submenu a:focus {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.10) !important;
  }

  html body.mr-os-portal-body .mr-nav-submenu a.is-active {
    background: rgba(255,255,255,.13) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: inset 3px 0 0 #d4a636 !important;
  }

  html body.mr-os-portal-body .mr-nav-submenu a span {
    display: block !important;
    color: rgba(255,255,255,.52) !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }

  html body.mr-os-portal-body .mr-nav-submenu a strong {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    max-width: none !important;
    color: rgba(255,255,255,.92) !important;
    font-size: 13.5px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    text-align: left !important;
    white-space: normal !important;
  }
}

@media (max-width: 1100px) {
  html body.mr-os-portal-body .mr-app-sidebar {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-mobile-bottom-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    background: rgba(13,30,70,.96) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 -14px 30px rgba(13,30,70,.24) !important;
    box-sizing: border-box !important;
  }

  html body.mr-os-portal-body .mr-mobile-bottom-nav::-webkit-scrollbar {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-mobile-bottom-nav a {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
    min-width: 118px !important;
    max-width: 158px !important;
    min-height: 54px !important;
    padding: 9px 12px !important;
    border-radius: 16px !important;
    display: grid !important;
    align-content: center !important;
    gap: 5px !important;
    color: #fff !important;
    text-decoration: none !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
  }

  html body.mr-os-portal-body .mr-mobile-bottom-nav a.is-active {
    background: rgba(255,255,255,.16) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: inset 0 3px 0 #d4a636 !important;
  }

  html body.mr-os-portal-body .mr-mobile-bottom-nav a span {
    display: block !important;
    color: rgba(255,255,255,.56) !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  html body.mr-os-portal-body .mr-mobile-bottom-nav a strong {
    display: block !important;
    color: #fff !important;
    font-size: 13.5px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }
}

/* === MUN Revolution OS 0.8.10 Sidebar Navigation Hotfix END === */


/* === MUN Revolution OS 0.8.11 Sidebar Clean Hotfix START ===
   Sidebar de escritorio sin despliegue de submenús: cada sección funciona como entrada principal.
   Las subsecciones se mantienen en las pestañas superiores del contenido para conservar limpieza visual.
*/
@media (min-width: 861px) {
  html body.mr-os-portal-body .mr-app-nav.mr-app-nav--clean {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 4px 0 0 !important;
  }

  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group,
  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-submenu {
    display: none !important;
  }

  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group-link {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
    align-items: center !important;
    min-height: 58px !important;
    width: 100% !important;
    padding: 12px 16px 11px 17px !important;
    border-radius: 16px !important;
    color: #fff !important;
    text-decoration: none !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
  }

  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group-link::after {
    content: "›" !important;
    color: rgba(255,255,255,.64) !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group-link:hover,
  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group-link:focus {
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.14) !important;
    transform: translateX(1px) !important;
  }

  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group-link.is-active {
    background: linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.07)) !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: inset 3px 0 0 #d4a636, 0 10px 22px rgba(0,0,0,.08) !important;
  }

  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group-link span {
    grid-column: 1 / -1 !important;
    display: block !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .20em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }

  html body.mr-os-portal-body .mr-app-nav--clean .mr-nav-group-link strong {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    color: rgba(255,255,255,.96) !important;
    font-size: 15px !important;
    line-height: 1.14 !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }
}
/* === MUN Revolution OS 0.8.11 Sidebar Clean Hotfix END === */

/* 0.8.12 Academic Flow Hotfix - definitive delegate cards, voting import and awards validation */
body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(270px,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card{
  min-height:132px !important;
  height:auto !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding:18px 18px !important;
  overflow:visible !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card > span{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  line-height:1.15 !important;
  font-size:16px !important;
  letter-spacing:-.01em !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card .mr-country{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  white-space:normal !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card .mr-country span:last-child{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body.mr-os-portal-body .mr-vote-stats{margin:16px 0 18px !important;}
body.mr-os-portal-body .mr-app-form textarea[name="delegate_votes_csv"]{min-height:150px !important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;font-size:13px !important;}
body.mr-os-portal-body .mr-app-table .mr-inline-form{margin-top:0 !important;}
body.mr-os-portal-body .mr-app-table .mr-inline-form button{min-height:34px !important;padding:8px 12px !important;border-radius:12px !important;}
@media (min-width:1280px){body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr)) !important;}}
@media (max-width:720px){body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{grid-template-columns:1fr !important;}body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card{min-height:auto !important;}}

/* === MUN Revolution OS 0.8.13 Awards & Vote Flow Hotfix START === */
body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr)) !important;
  gap:16px !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card{
  min-height:112px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card > span{
  display:grid !important;
  grid-template-rows:auto auto !important;
  gap:8px !important;
  width:100% !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card strong{
  font-size:15.5px !important;
  line-height:1.18 !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
  max-width:100% !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card .mr-country{
  max-width:100% !important;
  width:max-content !important;
  min-width:0 !important;
  white-space:nowrap !important;
}
body.mr-os-portal-body .mr-awards-ranking-table td:first-child strong{
  color:#0D1E46 !important;
  white-space:nowrap !important;
}
body.mr-os-portal-body .mr-awards-ranking-table td:nth-child(2){
  min-width:260px !important;
}
body.mr-os-portal-body .mr-awards-ranking-table td:nth-child(2) > strong,
body.mr-os-portal-body .mr-awards-ranking-table td:nth-child(2) > span{
  display:block !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}
body.mr-os-portal-body .mr-awards-ranking-table .mr-inline-form button{
  min-width:96px !important;
}
@media (min-width:1500px){
  body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
@media (max-width:920px){
  body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  }
}
@media (max-width:560px){
  body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{
    grid-template-columns:1fr !important;
  }
  body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card{
    min-height:auto !important;
  }
}
/* === MUN Revolution OS 0.8.13 Awards & Vote Flow Hotfix END === */

/* === MUN Revolution OS 0.8.14 Mesa Responsive Ranking Hotfix START === */
/* Panel de Mesa: jerarquía proporcionada, sin título gigante ni logo diminuto. */
body.mr-os-portal-body .mr-committee-profile-card--polished .mr-committee-profile-main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:28px !important;
  padding:22px 28px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  align-items:center !important;
  gap:20px !important;
  width:100% !important;
  max-width:100% !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo,
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  border-radius:18px !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee > span:last-child{
  display:block !important;
  font-size:clamp(30px,3.1vw,48px) !important;
  line-height:1.02 !important;
  font-weight:800 !important;
  letter-spacing:-.045em !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
body.mr-os-portal-body .mr-committee-profile-event--logo-only img{
  width:min(180px,18vw) !important;
  max-height:64px !important;
  object-fit:contain !important;
}

/* Países/delegaciones: una sola superficie, alineada, sin cápsulas flotando sobre cuadros. */
body.mr-os-portal-body .mr-country-choice-card{
  min-height:62px !important;
  padding:12px 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}
body.mr-os-portal-body .mr-country-choice-card > span{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
body.mr-os-portal-body .mr-country-choice-card .mr-country,
body.mr-os-portal-body .mr-country-choice-card .mr-country-badge{
  position:static !important;
  transform:none !important;
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:10px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.mr-os-portal-body .mr-country-choice-card .mr-country span:last-child,
body.mr-os-portal-body .mr-country-choice-card .mr-country-badge span:last-child{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* Evaluación final: 4 tarjetas por fila en escritorio, compactas y estables. */
body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card{
  min-height:104px !important;
  padding:16px !important;
  border-radius:18px !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card > span{
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  width:100% !important;
  min-width:0 !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card strong{
  font-size:14.5px !important;
  line-height:1.16 !important;
  letter-spacing:-.015em !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:none !important;
}
body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card .mr-country{
  max-width:100% !important;
  width:max-content !important;
  border-radius:999px !important;
  padding:6px 10px !important;
  display:inline-flex !important;
  align-items:center !important;
}
body.mr-os-portal-body .mr-ranking-locked{
  border-left:4px solid #B8860B !important;
}
@media (max-width:1350px){
  body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:980px){
  body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body.mr-os-portal-body .mr-committee-profile-card--polished .mr-committee-profile-main{grid-template-columns:1fr !important;}
  body.mr-os-portal-body .mr-committee-profile-event--logo-only{justify-self:start !important;}
}
@media (max-width:620px){
  body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{grid-template-columns:1fr !important;}
  body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee{grid-template-columns:56px minmax(0,1fr) !important;gap:14px !important;}
  body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo,
  body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark{width:56px !important;height:56px !important;min-width:56px !important;}
  body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee > span:last-child{font-size:26px !important;}
}
/* === MUN Revolution OS 0.8.14 Mesa Responsive Ranking Hotfix END === */

/* === MUN Revolution OS 0.8.15 Mesa Card Layout Hotfix START === */
/* Corrige la causa raíz de las distorsiones: el radio input no debe ocupar una columna visible dentro de las cards. */
html body.mr-os-portal-body .mr-choice-card{
  position:relative !important;
  cursor:pointer !important;
}
html body.mr-os-portal-body .mr-choice-card > input[type="radio"],
html body.mr-os-portal-body .mr-choice-card > input[type="checkbox"]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  margin:0 !important;
  z-index:2 !important;
  cursor:pointer !important;
}
html body.mr-os-portal-body .mr-choice-card > span{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  z-index:1 !important;
}
html body.mr-os-portal-body .mr-choice-card:has(> input:checked),
html body.mr-os-portal-body .mr-choice-card.is-selected{
  border-color:#B8860B !important;
  box-shadow:0 0 0 3px rgba(184,134,11,.14), 0 12px 26px rgba(13,30,70,.10) !important;
}

/* Quórum y votación: delegaciones centradas, sin cápsulas superpuestas ni textos cortados. */
html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
html body.mr-os-portal-body .mr-participation-form .mr-country-choice-card{
  min-height:88px !important;
  padding:18px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  text-align:center !important;
}
html body.mr-os-portal-body .mr-participation-form .mr-country-choice-card > span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:100% !important;
  text-align:center !important;
}
html body.mr-os-portal-body .mr-participation-form .mr-country-choice-card .mr-country{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  position:static !important;
  color:#667085 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body.mr-os-portal-body .mr-participation-form .mr-country-choice-card .mr-country-flag{
  display:inline-flex !important;
  flex:0 0 auto !important;
  font-size:19px !important;
  line-height:1 !important;
  margin:0 !important;
  transform:none !important;
}
html body.mr-os-portal-body .mr-participation-form .mr-country-choice-card .mr-country > span:last-child{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#667085 !important;
  font-size:16px !important;
  font-weight:750 !important;
  line-height:1.15 !important;
}

/* Evaluación final: 4 columnas reales, contenido centrado y nombres legibles dentro de cada tarjeta. */
html body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}
html body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card{
  min-height:128px !important;
  padding:18px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  overflow:hidden !important;
}
html body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card > span{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:100% !important;
  text-align:center !important;
}
html body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  color:#111827 !important;
  font-size:15.5px !important;
  font-weight:760 !important;
  line-height:1.18 !important;
  letter-spacing:-.01em !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
html body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card .mr-country{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:7px 11px !important;
  border:1px solid #dbe4f0 !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#667085 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}
html body.mr-os-portal-body .mr-final-eval-form .mr-delegate-eval-card .mr-country > span:last-child{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:13.5px !important;
  font-weight:700 !important;
}

/* Mi comité: jerarquía equilibrada. Nombre importante, pero no gigante; logo del comité visible y proporcionado. */
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-main,
html body.mr-os-portal-body .mr-committee-profile-card--polished .mr-committee-profile-main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:28px !important;
  padding:28px 34px !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee,
html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee{
  display:grid !important;
  grid-template-columns:104px minmax(0,1fr) !important;
  align-items:center !important;
  gap:24px !important;
  width:100% !important;
  max-width:100% !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee-logo,
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee-mark,
html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo,
html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark{
  width:104px !important;
  height:104px !important;
  min-width:104px !important;
  border-radius:22px !important;
}
html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo img,
html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee > span:last-child,
html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee > span:last-child{
  display:block !important;
  color:#111827 !important;
  font-size:clamp(28px,2.25vw,38px) !important;
  font-weight:780 !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
html body.mr-os-portal-body .mr-committee-profile-event--logo-only img{
  width:min(210px,18vw) !important;
  max-height:74px !important;
  object-fit:contain !important;
}

@media (max-width:1350px){
  html body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid,
  html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:980px){
  html body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid,
  html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body.mr-os-portal-body .mr-committee-profile-card--polished .mr-committee-profile-main{grid-template-columns:1fr !important;}
  html body.mr-os-portal-body .mr-committee-profile-event--logo-only{justify-self:center !important;}
}
@media (max-width:620px){
  html body.mr-os-portal-body .mr-final-eval-form .mr-final-delegate-grid,
  html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{grid-template-columns:1fr !important;}
  html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee{grid-template-columns:72px minmax(0,1fr) !important;gap:16px !important;}
  html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-logo,
  html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee-mark{width:72px !important;height:72px !important;min-width:72px !important;}
  html body.mr-os-portal-body .mr-committee-profile-identity--large .mr-committee > span:last-child{font-size:25px !important;}
}
/* === MUN Revolution OS 0.8.15 Mesa Card Layout Hotfix END === */


/* === MUN Revolution OS 0.8.16 Ranking Weights + Committee Logo Hotfix START ===
   Objetivo: pesos oficiales 60/25/15 y correcciones visuales finales del panel de Mesa.
   No cambia rutas, tokens ni acciones POST. */

/* Panel de Mesa: logo del comité realmente visible y título proporcionado. */
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-card--polished{
  overflow: visible !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-card--polished .mr-committee-profile-main{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:center !important;
  gap:clamp(28px, 4vw, 72px) !important;
  min-height:220px !important;
  padding:clamp(22px, 3vw, 42px) !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee{
  display:grid !important;
  grid-template-columns:clamp(92px, 7vw, 132px) minmax(0, 1fr) !important;
  align-items:center !important;
  justify-content:start !important;
  gap:clamp(22px, 3vw, 34px) !important;
  width:100% !important;
  max-width:100% !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee-logo,
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee-mark{
  width:clamp(92px, 7vw, 132px) !important;
  height:clamp(92px, 7vw, 132px) !important;
  min-width:clamp(92px, 7vw, 132px) !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee-logo img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  transform:scale(1.35) !important;
  transform-origin:center !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee > span:last-child{
  font-size:clamp(30px, 3vw, 48px) !important;
  line-height:1.04 !important;
  letter-spacing:-0.055em !important;
  font-weight:750 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-event--logo-only img{
  width:clamp(150px, 13vw, 230px) !important;
  max-height:90px !important;
  object-fit:contain !important;
}

/* Quórum y votación: una sola superficie por país, todo centrado y sin cápsulas flotantes. */
html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{
  grid-template-columns:repeat(4, minmax(180px, 1fr)) !important;
  gap:18px !important;
}
html body.mr-os-portal-body .mr-country-choice-card{
  min-height:112px !important;
  padding:18px 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  overflow:hidden !important;
}
html body.mr-os-portal-body .mr-country-choice-card input[type="radio"]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  opacity:0 !important;
  z-index:2 !important;
  cursor:pointer !important;
}
html body.mr-os-portal-body .mr-country-choice-card > span{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  transform:none !important;
}
html body.mr-os-portal-body .mr-country-choice-card .mr-country{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:#667085 !important;
  font-size:clamp(18px, 1.35vw, 26px) !important;
  font-weight:650 !important;
  line-height:1.1 !important;
  white-space:normal !important;
  overflow:visible !important;
}
html body.mr-os-portal-body .mr-country-choice-card .mr-country-flag{
  flex:0 0 auto !important;
  margin:0 !important;
  line-height:1 !important;
  transform:none !important;
}
html body.mr-os-portal-body .mr-country-choice-card .mr-country > span:last-child{
  min-width:0 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

/* Evaluación final: 4 columnas útiles, contenido centrado y nombres legibles sin partir letras. */
html body.mr-os-portal-body .mr-final-delegate-grid{
  grid-template-columns:repeat(4, minmax(220px, 1fr)) !important;
  gap:18px !important;
}
html body.mr-os-portal-body .mr-delegate-eval-card{
  min-height:172px !important;
  padding:20px 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  overflow:hidden !important;
}
html body.mr-os-portal-body .mr-delegate-eval-card input[type="radio"]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  margin:0 !important;
  z-index:2 !important;
  cursor:pointer !important;
}
html body.mr-os-portal-body .mr-delegate-eval-card > span{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  text-align:center !important;
}
html body.mr-os-portal-body .mr-delegate-eval-card > span > strong{
  width:100% !important;
  max-width:100% !important;
  font-size:clamp(17px, 1.05vw, 22px) !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-align:center !important;
}
html body.mr-os-portal-body .mr-delegate-eval-card .mr-country{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  max-width:100% !important;
  padding:8px 13px !important;
  margin:0 auto !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body.mr-os-portal-body .mr-delegate-eval-card .mr-country > span:last-child{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

@media (max-width: 1280px){
  html body.mr-os-portal-body .mr-final-delegate-grid,
  html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{grid-template-columns:repeat(3, minmax(190px, 1fr)) !important;}
}
@media (max-width: 920px){
  html body.mr-os-portal-body .mr-final-delegate-grid,
  html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{grid-template-columns:repeat(2, minmax(160px, 1fr)) !important;}
  html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-card--polished .mr-committee-profile-main{grid-template-columns:1fr !important;text-align:center !important;}
  html body.mr-os-portal-body .mr-my-committee-panel .mr-committee-profile-identity--large .mr-committee{grid-template-columns:1fr !important;justify-items:center !important;}
}
@media (max-width: 560px){
  html body.mr-os-portal-body .mr-final-delegate-grid,
  html body.mr-os-portal-body .mr-participation-form .mr-choice-grid{grid-template-columns:1fr !important;}
  html body.mr-os-portal-body .mr-delegate-eval-card{min-height:136px !important;}
  html body.mr-os-portal-body .mr-country-choice-card{min-height:96px !important;}
}
/* === MUN Revolution OS 0.8.16 Ranking Weights + Committee Logo Hotfix END === */

/* 0.8.17 Confirmation Email Delivery Hotfix */
body.mr-os-portal-body .mr-invite-meta {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-top: 4px !important;
}
body.mr-os-portal-body .mr-resend-details {
  display: inline-block !important;
  position: relative !important;
}
body.mr-os-portal-body .mr-resend-details > summary {
  list-style: none !important;
  cursor: pointer !important;
  border: 1px solid rgba(13,30,70,.14) !important;
  border-radius: 12px !important;
  padding: 8px 12px !important;
  font-weight: 800 !important;
  color: #0D1E46 !important;
  background: #fff !important;
}
body.mr-os-portal-body .mr-resend-details > summary::-webkit-details-marker { display: none !important; }
body.mr-os-portal-body .mr-resend-form {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  min-width: 340px !important;
  max-width: min(520px, 92vw) !important;
  margin-top: 8px !important;
  padding: 12px !important;
  border: 1px solid rgba(13,30,70,.14) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 18px 40px rgba(13,30,70,.16) !important;
  z-index: 50 !important;
}
body.mr-os-portal-body .mr-resend-form input[type="email"] {
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 12px !important;
}
body.mr-os-portal-body .mr-resend-check {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  font-size: 12px !important;
}
@media (max-width: 720px) {
  body.mr-os-portal-body .mr-resend-form {
    grid-template-columns: 1fr !important;
    min-width: min(320px, 88vw) !important;
  }
}

/* 0.8.18 Confirmation Test Send Hotfix */
.mr-confirmation-send-panel {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  margin: 18px 0;
  border: 1px solid rgba(219, 229, 242, .95);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.92));
  box-shadow: 0 12px 26px rgba(13,30,70,.07);
}
.mr-confirmation-send-panel strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 4px;
}
.mr-confirmation-send-panel span {
  display: block;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}
.mr-inline-form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.mr-inline-form input[type="email"] {
  min-width: 240px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid #dbe5f2;
  padding: 0 12px;
}
@media (max-width: 1180px) {
  .mr-confirmation-send-panel { grid-template-columns: 1fr; }
  .mr-inline-form { width: 100%; }
  .mr-inline-form input[type="email"] { flex: 1; min-width: 0; }
  .mr-inline-form button { flex: 0 0 auto; }
}
@media (max-width: 760px) {
  .mr-inline-form { flex-direction: column; align-items: stretch; }
  .mr-inline-form input[type="email"], .mr-inline-form button { width: 100%; }
}


/* 0.8.19 Confirmation Copy Visual Hotfix */
body .mr-public-shell .mr-confirm-card {
  background: #ffffff !important;
  border: 1px solid rgba(219, 229, 242, .98) !important;
  border-radius: 24px !important;
  box-shadow: 0 20px 50px rgba(13, 30, 70, .12) !important;
  overflow: hidden !important;
  padding: 0 !important;
}
body .mr-public-shell .mr-confirm-card h1 {
  display: block !important;
  margin: 0 !important;
  padding: 28px 30px !important;
  background: linear-gradient(135deg, #0D1E46 0%, #172E66 72%, #0D1E46 100%) !important;
  border-bottom: 4px solid #D4AF37 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .25) !important;
  font-size: clamp(28px, 5vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}
body .mr-public-shell .mr-confirm-card h1::after {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
}
body .mr-public-shell .mr-confirm-card > *:not(h1) {
  margin-left: clamp(18px, 4vw, 30px) !important;
  margin-right: clamp(18px, 4vw, 30px) !important;
}
body .mr-public-shell .mr-confirm-event-note {
  margin-top: 24px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(212, 175, 55, .42) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(255, 248, 225, .88), rgba(255, 255, 255, .94)) !important;
  color: #1f2937 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
body .mr-public-shell .mr-confirm-event-note strong {
  color: #0D1E46 !important;
  font-weight: 850 !important;
}
body .mr-public-shell .mr-participant-summary p:first-child {
  border-top: 0 !important;
}

/* 0.8.21 Confirmation Copy Cleanup Hotfix: removes postponement/alcaldia wording from confirmation flow. */

/* 0.8.21 Confirmation Copy Dedupe Hotfix */

/* 0.8.22 Confirmation Send Safety Hotfix */
body .mr-confirmation-send-panel--safe {
  border: 1px solid rgba(13, 30, 70, .10) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.94)) !important;
}
body .mr-send-safety-warning,
body .mr-send-safety-ok {
  display: block !important;
  margin-top: 8px !important;
  padding: 9px 12px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
}
body .mr-send-safety-warning {
  color: #7c2d12 !important;
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
}
body .mr-send-safety-ok {
  color: #064e3b !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
}
body .mr-send-confirm-check {
  max-width: 460px !important;
  align-items: flex-start !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
body .mr-resend-form .mr-resend-check {
  font-size: 11px !important;
  line-height: 1.25 !important;
}
body button.is-processing,
body .mr-app-button.is-processing {
  opacity: .68 !important;
  cursor: wait !important;
  pointer-events: none !important;
}


/* 0.8.23 Auto Bulk Confirmation Send Hotfix */
body .mr-bulk-invite-continue[data-mr-auto-bulk-continue="1"] {
  border: 1px solid rgba(13, 30, 70, .14) !important;
  background: linear-gradient(135deg, rgba(236, 253, 245, .88), rgba(255, 255, 255, .96)) !important;
  border-radius: 16px !important;
  padding: 12px !important;
}
body .mr-auto-bulk-countdown {
  display: block !important;
  width: 100% !important;
  margin-top: 8px !important;
  color: #0D1E46 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

/* 0.8.24 Sandbox Mode Hotfix */
.mr-sandbox-panel {
  border: 1px solid rgba(13, 30, 70, 0.14) !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(245,248,255,0.96)) !important;
}
.mr-sandbox-safety-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 14px 0 18px !important;
}
.mr-sandbox-safety-list span {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(13, 30, 70, 0.055) !important;
  border: 1px solid rgba(13, 30, 70, 0.08) !important;
  color: #0D1E46 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.mr-sandbox-form {
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(13,30,70,.08) !important;
}
.mr-sandbox-checklist {
  margin-top: 16px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(13, 30, 70, 0.045) !important;
}
.mr-sandbox-checklist h3 {
  margin: 0 0 10px !important;
  color: #0D1E46 !important;
  font-size: 16px !important;
}
.mr-sandbox-checklist ol {
  margin: 0 !important;
  padding-left: 20px !important;
}
.mr-sandbox-checklist li {
  margin: 6px 0 !important;
  color: #223150 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
@media (max-width: 760px) {
  .mr-sandbox-safety-list {
    grid-template-columns: 1fr !important;
  }
}


/* 0.8.25 Sandbox Users Isolation Hotfix */
.mr-sandbox-panel .mr-sandbox-safety-list span{border-color:rgba(255,255,255,.18)}
.mr-alert-info{background:rgba(13,30,70,.06);border:1px solid rgba(13,30,70,.14);color:#0d1e46;border-radius:14px;padding:12px 14px;margin:12px 0 18px}

/* 0.8.26 Participant + Staff Flow Hotfix */
.mr-delegate-portal-card,
.mr-staff-flow-card {
  max-width: 980px;
}
.mr-public-lead {
  color: #475569;
  font-size: 15px;
  line-height: 1.65;
  margin: 10px 0 18px;
}
.mr-token-portal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin: 18px 0 22px;
}
.mr-token-portal-grid > div {
  background: #f8fafc;
  border: 1px solid #dbe5f2;
  border-radius: 16px;
  padding: 14px 15px;
  min-width: 0;
}
.mr-token-portal-grid span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.mr-token-portal-grid strong {
  display: block;
  color: #0D1E46;
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.mr-token-portal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.mr-token-portal-section {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e2e8f0;
}
.mr-token-portal-section h2 {
  color: #0D1E46;
  font-size: 20px;
  line-height: 1.25;
  margin: 0 0 12px;
}
.mr-token-list {
  display: grid;
  gap: 10px;
}
.mr-token-list article {
  background: #ffffff;
  border: 1px solid #dbe5f2;
  border-radius: 16px;
  padding: 14px 15px;
  box-shadow: 0 8px 18px rgba(13,30,70,.06);
}
.mr-token-list article strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  line-height: 1.35;
}
.mr-token-list article span {
  display: block;
  color: #64748b;
  font-size: 12px;
  margin-top: 4px;
}
.mr-token-list article p {
  color: #475569;
  font-size: 14px;
  line-height: 1.55;
  margin: 8px 0 0;
}
.mr-token-list article a {
  display: inline-flex;
  margin-top: 10px;
  color: #0D1E46;
  font-weight: 800;
  text-decoration: none;
}
.mr-status-confirmed,
.mr-status-not_available,
.mr-status-no_response,
.mr-status-pending {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}
.mr-status-confirmed { background: #dcfce7; color: #166534; }
.mr-status-not_available { background: #fee2e2; color: #991b1b; }
.mr-status-no_response { background: #e2e8f0; color: #334155; }
.mr-status-pending { background: #fef3c7; color: #92400e; }
.mr-row-actions .mr-inline-form {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
}
.mr-row-actions .mr-inline-form select {
  min-width: 130px;
  min-height: 34px;
}
@media (max-width: 720px) {
  .mr-token-portal-grid { grid-template-columns: 1fr; }
  .mr-token-portal-actions { flex-direction: column; align-items: stretch; }
  .mr-token-portal-actions a { text-align: center; justify-content: center; }
}

/* 0.8.27 Staff Registration Profile Hotfix */
.mr-staff-registration-section .mr-public-form {
  gap: 14px;
}
.mr-staff-registration-section input[type="file"] {
  background: rgba(255,255,255,.92);
  border: 1px dashed rgba(13,30,70,.28);
  border-radius: 14px;
  padding: 12px;
}
.mr-public-checkbox {
  align-items: flex-start;
  display: flex !important;
  gap: 10px;
  line-height: 1.45;
}
.mr-public-checkbox input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 3px;
}
.mr-public-checkbox span {
  color: #334155;
  font-size: 13px;
}

/* 0.8.28 Staff Bulk Import Send Hotfix */
.mr-staff-bulk-grid {
	align-items: stretch;
	margin-top: 18px;
}
.mr-staff-bulk-grid textarea {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 12px;
	line-height: 1.5;
}


/* 0.8.29 Forensic Safety Hotfix */

/* 0.8.30 Bulk Mail Circuit Breaker Hotfix */
.mr-bulk-invite-halted{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
  color:#7c2d12!important;
}
.mr-bulk-invite-halted small{
  display:block;
  width:100%;
  color:#9a3412;
  line-height:1.45;
}

/* 0.8.31 Bulk Mail Delivery Ledger Hotfix */
.mr-invite-error{color:#b42318;font-weight:600;}

/* 0.8.32 Response Waiting Label Hotfix */
.mr-status-awaiting-response{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  margin-top:6px;
  background:#eff6ff!important;
  border:1px solid #bfdbfe!important;
  color:#1d4ed8!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:normal!important;
}
.mr-status-awaiting-response::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
  flex:0 0 auto;
}

/* 0.8.33 Mail Diagnostics Hotfix */
.mr-os-mail-diagnostic-detail {
	font-size: 12px;
	line-height: 1.55;
	word-break: break-word;
}

/* 0.8.34 Timezone Display Hotfix */


/* 0.8.35 Throttled Mail Batches Hotfix */
.mr-bulk-invite-form .mr-auto-bulk-countdown{font-weight:650;}

/* 0.8.36 Token Failure Rollback Hotfix */

/* 0.8.37 Staff Date Deadline Email Hotfix */

/* 0.8.38 Staff Invitation Ledger Fatal Fix */

/* 0.8.39 Token Overlap Recovery Hotfix */

/* 0.8.40 Staff Sent Token Recovery Hotfix */
.mr-staff-recovery-panel textarea { min-height: 170px; }


/* 0.8.41 Staff UI Reliability Hotfix */
body.mr-os-portal-body .mr-staff-bulk-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid > .mr-glass-panel,
body.mr-os-portal-body .mr-confirmation-send-panel {
  min-width: 0 !important;
  overflow: hidden !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-confirmation-send-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: clamp(16px, 2vw, 22px) !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-confirmation-send-panel strong {
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-confirmation-send-panel span:not(.mr-send-safety-warning) {
  max-width: 62ch !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-send-safety-warning {
  width: 100% !important;
  max-width: none !important;
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-inline-form,
body.mr-os-portal-body .mr-staff-bulk-grid .mr-bulk-invite-form {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
  min-width: 0 !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-inline-form input[type="email"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 40px !important;
  font-size: 14px !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-inline-form button,
body.mr-os-portal-body .mr-staff-bulk-grid .mr-bulk-invite-form button {
  min-height: 40px !important;
  max-width: 100% !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  padding: 9px 14px !important;
  font-size: 13px !important;
  text-align: center !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-send-confirm-check {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-bulk-invite-form .mr-send-confirm-check + button {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-bulk-invite-halted,
body.mr-os-portal-body .mr-staff-bulk-grid .mr-bulk-invite-continue {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
}
body.mr-os-portal-body .mr-staff-bulk-grid .mr-auto-bulk-status,
body.mr-os-portal-body .mr-staff-bulk-grid .mr-auto-bulk-countdown {
  width: 100% !important;
  max-width: none !important;
  overflow-wrap: anywhere !important;
}
body.mr-os-portal-body .mr-table-wrap {
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
body.mr-os-portal-body .mr-staff-candidates-table {
  table-layout: fixed !important;
  min-width: 1040px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
body.mr-os-portal-body .mr-staff-candidates-table th,
body.mr-os-portal-body .mr-staff-candidates-table td {
  padding: 12px 14px !important;
  vertical-align: top !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}
body.mr-os-portal-body .mr-staff-candidates-table th:nth-child(1),
body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(1) { width: 19% !important; }
body.mr-os-portal-body .mr-staff-candidates-table th:nth-child(2),
body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(2) { width: 16% !important; }
body.mr-os-portal-body .mr-staff-candidates-table th:nth-child(3),
body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(3) { width: 14% !important; }
body.mr-os-portal-body .mr-staff-candidates-table th:nth-child(4),
body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(4) { width: 14% !important; }
body.mr-os-portal-body .mr-staff-candidates-table th:nth-child(5),
body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(5) { width: 13% !important; }
body.mr-os-portal-body .mr-staff-candidates-table th:nth-child(6),
body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(6) { width: 24% !important; min-width: 210px !important; }
body.mr-os-portal-body .mr-staff-candidates-table td > strong {
  display: block !important;
  max-width: 100% !important;
  color: #0f172a !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  overflow-wrap: break-word !important;
}
body.mr-os-portal-body .mr-staff-candidates-table small,
body.mr-os-portal-body .mr-staff-candidates-table .mr-invite-meta {
  display: block !important;
  max-width: 100% !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
body.mr-os-portal-body .mr-staff-candidates-table .mr-status {
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}
body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions form,
body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions .mr-inline-form {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
}
body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions button,
body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions .mr-button-secondary,
body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  border-radius: 12px !important;
  padding: 7px 12px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: center !important;
}
body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions select {
  text-align: left !important;
  background-position: right 10px center !important;
}
@media (max-width: 1180px) {
  body.mr-os-portal-body .mr-staff-bulk-grid { grid-template-columns: 1fr !important; }
  body.mr-os-portal-body .mr-staff-bulk-grid .mr-inline-form,
  body.mr-os-portal-body .mr-staff-bulk-grid .mr-bulk-invite-form { grid-template-columns: minmax(0, 1fr) !important; }
  body.mr-os-portal-body .mr-staff-bulk-grid .mr-inline-form button,
  body.mr-os-portal-body .mr-staff-bulk-grid .mr-bulk-invite-form button { width: 100% !important; }
}
@media (max-width: 900px) {
  /* Tablet + móvil: la tabla se convierte en tarjetas apiladas (etiqueta + valor) a todo lo ancho.
     El apilado genérico de .mr-app-table se activa hasta 900px, así que el reset de los anchos
     de escritorio (min-width 1040, table-layout fixed, % por columna, overflow-wrap anywhere) debe
     cubrir el MISMO rango; antes era solo 720px y la franja 721–900 (tablet) quedaba rota
     (el correo se partía letra por letra al colapsar la columna). */
  body.mr-os-portal-body .mr-staff-candidates-table { min-width: 0 !important; width: 100% !important; table-layout: auto !important; display: block !important; }
  body.mr-os-portal-body .mr-staff-candidates-table th,
  body.mr-os-portal-body .mr-staff-candidates-table td { width: 100% !important; min-width: 0 !important; overflow-wrap: break-word !important; word-break: normal !important; }
  body.mr-os-portal-body .mr-staff-candidates-table thead { display: none !important; }
  body.mr-os-portal-body .mr-staff-candidates-table tbody { display: block !important; width: 100% !important; }
  body.mr-os-portal-body .mr-staff-candidates-table tr { display: block !important; width: 100% !important; margin: 0 0 12px !important; }
  body.mr-os-portal-body .mr-staff-candidates-table td {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(1),
  body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(2),
  body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(3),
  body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(4),
  body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(5),
  body.mr-os-portal-body .mr-staff-candidates-table td:nth-child(6) { width: 100% !important; min-width: 0 !important; }
  body.mr-os-portal-body .mr-staff-candidates-table td::before {
    content: attr(data-label);
    font-weight: 700 !important;
    font-size: 10px !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    color: #64748b !important;
    padding-top: 2px !important;
  }
  body.mr-os-portal-body .mr-staff-candidates-table td > strong,
  body.mr-os-portal-body .mr-staff-candidates-table small,
  body.mr-os-portal-body .mr-staff-candidates-table .mr-invite-meta { overflow-wrap: anywhere !important; word-break: break-word !important; }
  body.mr-os-portal-body .mr-staff-candidates-table .mr-row-actions {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
}

/* Diagnóstico del portal — rejilla de métricas (versión plugin / DB).
   Clases nuevas (.mr-metrics-grid/.mr-metric) que el panel ya usaba pero
   no tenían estilo en ninguna hoja; armonizadas con la paleta del portal. */
body.mr-os-portal-body .mr-metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}
body.mr-os-portal-body .mr-metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  background: rgba(248, 250, 252, 0.72);
  border: 1px solid rgba(31, 48, 71, 0.12);
  border-radius: 8px;
}
body.mr-os-portal-body .mr-metric span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #5f6b7a;
}
body.mr-os-portal-body .mr-metric strong {
  font-size: 16px;
  font-weight: 700;
  color: #121a27;
  word-break: break-word;
}
@media (max-width: 720px) {
  body.mr-os-portal-body .mr-metrics-grid { grid-template-columns: 1fr; }
}

body.mr-os-portal-body .mr-mun101-shell {
	align-items: start;
	background: #eef2f7;
	color: #111827;
	display: grid;
	min-height: 100vh;
	padding: 32px 18px;
}

body.mr-os-portal-body .mr-mun101-card {
	background: #fff;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	box-shadow: 0 22px 70px rgba(15, 23, 42, .14);
	margin: 0 auto;
	max-width: 1360px;
	overflow: hidden;
	width: 100%;
}

body.mr-os-portal-body .mr-mun101-topbar {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #dbe2ea;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 14px 30px;
}

body.mr-os-portal-body .mr-mun101-brand {
	align-items: center;
	display: flex;
	gap: 12px;
	min-width: 0;
}

body.mr-os-portal-body .mr-mun101-brand img {
	display: block;
	height: 48px;
	object-fit: contain;
	width: 48px;
}

body.mr-os-portal-body .mr-mun101-brand strong,
body.mr-os-portal-body .mr-mun101-user strong {
	color: #111827;
	display: block;
	font-size: 15px;
	font-weight: 850;
	line-height: 1.2;
}

body.mr-os-portal-body .mr-mun101-brand span,
body.mr-os-portal-body .mr-mun101-user span {
	color: #64748b;
	display: block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 2px;
}

body.mr-os-portal-body .mr-mun101-user {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	display: flex;
	gap: 10px;
	min-width: 220px;
	padding: 8px 10px;
}

body.mr-os-portal-body .mr-mun101-user > div {
	min-width: 0;
}

body.mr-os-portal-body .mr-mun101-user strong,
body.mr-os-portal-body .mr-mun101-user span {
	overflow-wrap: anywhere;
}

body.mr-os-portal-body .mr-mun101-user i {
	align-items: center;
	background: #132653;
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	flex: 0 0 38px;
	font-size: 13px;
	font-style: normal;
	font-weight: 850;
	height: 38px;
	justify-content: center;
	width: 38px;
}

body.mr-os-portal-body .mr-mun101-access-chip {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 8px;
	color: #9a3412;
	font-size: 12px;
	font-weight: 850;
	padding: 8px 10px;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-mun101-hero {
	align-items: end;
	background: #132653;
	border-bottom: 4px solid #b88224;
	color: #fff;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 22px 30px;
}

body.mr-os-portal-body .mr-mun101-hero p {
	color: #f1c46d;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .18em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-mun101-hero h1 {
	color: #fff;
	font-size: 34px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-hero span {
	color: rgba(255,255,255,.72);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

body.mr-os-portal-body .mr-mun101-lead {
	color: #775316;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.55;
	margin: 0;
	padding: 16px 30px 0;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-mun101-grid,
body.mr-os-portal-body .mr-mun101-course {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
	padding: 26px 30px 30px;
}

body.mr-os-portal-body .mr-mun101-grid .mr-public-form,
body.mr-os-portal-body .mr-mun101-access-form,
body.mr-os-portal-body .mr-mun101-module-panel,
body.mr-os-portal-body .mr-mun101-modules,
body.mr-os-portal-body .mr-mun101-welcome,
body.mr-os-portal-body .mr-mun101-placeholder {
	background: #f8fafc;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	padding: 18px;
}

body.mr-os-portal-body .mr-mun101-grid .mr-public-form {
	background: #fff;
	border-color: transparent;
	box-shadow: none;
	padding: 0;
}

body.mr-os-portal-body .mr-mun101-grid h2 {
	color: #111827;
	font-size: 28px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 12px;
}

body.mr-os-portal-body .mr-mun101-grid label,
body.mr-os-portal-body .mr-mun101-quiz label {
	color: #1f2a44;
	font-size: 13px;
	font-weight: 760;
	gap: 6px;
}

body.mr-os-portal-body .mr-mun101-grid input,
body.mr-os-portal-body .mr-mun101-grid textarea,
body.mr-os-portal-body .mr-mun101-quiz textarea {
	background: #fff;
	border: 1px solid #d5dce5;
	border-radius: 8px;
	box-shadow: none;
	color: #111827;
	font-size: 15px;
	min-height: 44px;
	padding: 10px 12px;
	width: 100%;
}

body.mr-os-portal-body .mr-mun101-grid textarea {
	min-height: 94px;
	resize: vertical;
}

body.mr-os-portal-body .mr-mun101-button,
body.mr-os-portal-body .mr-mun101-link-button {
	align-items: center;
	background: #b47a22;
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	min-height: 44px;
	padding: 11px 18px;
	text-decoration: none;
	width: fit-content;
}

body.mr-os-portal-body .mr-mun101-grid .mr-mun101-button {
	width: 100%;
}

body.mr-os-portal-body .mr-mun101-button-secondary,
body.mr-os-portal-body .mr-mun101-link-button {
	background: #132653;
}

body.mr-os-portal-body .mr-mun101-button:disabled {
	background: #94a3b8;
	cursor: not-allowed;
}

body.mr-os-portal-body .mr-mun101-access-form {
	align-content: start;
	display: grid;
	gap: 18px;
}

body.mr-os-portal-body .mr-mun101-access-form p {
	color: #475569;
	font-size: 15px;
	line-height: 1.5;
	margin: 0;
}

body.mr-os-portal-body .mr-public-alert {
	background: #eef6ff;
	border: 1px solid #b8d9f5;
	border-radius: 8px;
	color: #174365;
	font-weight: 700;
	margin: 18px 30px 0;
	padding: 12px 14px;
}

body.mr-os-portal-body .mr-public-alert-error {
	background: #fff1f2;
	border-color: #fecdd3;
	color: #9f1239;
}

body.mr-os-portal-body .mr-public-alert-success {
	background: #ecfdf3;
	border-color: #bbf7d0;
	color: #166534;
}

body.mr-os-portal-body .mr-mun101-module-panel .mr-public-alert,
body.mr-os-portal-body .mr-mun101-quiz .mr-public-alert {
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-welcome {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 20px 30px 0;
}

body.mr-os-portal-body .mr-mun101-welcome span,
body.mr-os-portal-body .mr-mun101-module-link em {
	color: #64748b;
	display: block;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-mun101-welcome strong {
	color: #111827;
	display: block;
	font-size: 16px;
	margin-top: 3px;
}

body.mr-os-portal-body .mr-mun101-course {
	grid-template-columns: 260px minmax(0, 1fr);
}

body.mr-os-portal-body .mr-mun101-modules {
	align-self: start;
	display: grid;
	gap: 8px;
}

body.mr-os-portal-body .mr-mun101-module-link {
	background: #fff;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	color: #111827;
	display: grid;
	gap: 5px;
	padding: 11px;
	text-decoration: none;
}

body.mr-os-portal-body .mr-mun101-module-link span {
	align-items: center;
	background: #132653;
	border-radius: 7px;
	color: #fff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 850;
	height: 26px;
	justify-content: center;
	min-width: 42px;
	padding: 0 8px;
	width: fit-content;
}

body.mr-os-portal-body .mr-mun101-module-link strong {
	font-size: 13px;
	line-height: 1.3;
}

body.mr-os-portal-body .mr-mun101-module-link.is-active {
	border-color: #b47a22;
	box-shadow: 0 0 0 3px rgba(180, 122, 34, .16);
}

body.mr-os-portal-body .mr-mun101-module-link.is-locked {
	opacity: .55;
	pointer-events: none;
}

body.mr-os-portal-body .mr-mun101-module-panel h2 {
	color: #111827;
	font-size: 24px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0 0 8px;
}

body.mr-os-portal-body .mr-mun101-module-panel > p {
	color: #475569;
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-learning-layout {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(360px, .9fr) minmax(460px, 1.1fr);
	margin-top: 18px;
}

body.mr-os-portal-body .mr-mun101-lessons-panel,
body.mr-os-portal-body .mr-mun101-assessment-panel {
	background: #fff;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	display: grid;
	gap: 14px;
	min-width: 0;
	padding: 16px;
}

body.mr-os-portal-body .mr-mun101-assessment-panel {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border-color: rgba(180, 122, 34, .28);
	box-shadow: inset 4px 0 0 rgba(180, 122, 34, .82);
}

body.mr-os-portal-body .mr-mun101-panel-heading {
	align-items: start;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

body.mr-os-portal-body .mr-mun101-panel-heading span {
	color: #8a611f;
	display: block;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-mun101-panel-heading strong {
	color: #111827;
	display: block;
	font-size: 18px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.12;
	margin-top: 3px;
}

body.mr-os-portal-body .mr-mun101-panel-heading em {
	background: #f1f5f9;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	color: #475569;
	flex: 0 0 auto;
	font-size: 12px;
	font-style: normal;
	font-weight: 850;
	padding: 7px 9px;
	white-space: nowrap;
}

body.mr-os-portal-body .mr-mun101-video {
	aspect-ratio: 16 / 9;
	background: #0b1620;
	border-radius: 8px;
	overflow: hidden;
}

body.mr-os-portal-body .mr-mun101-video iframe {
	border: 0;
	height: 100%;
	width: 100%;
}

body.mr-os-portal-body .mr-mun101-resource-list {
	display: grid;
	gap: 12px;
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-resource {
	background: #f8fafc;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	display: grid;
	gap: 10px;
	padding: 12px;
}

body.mr-os-portal-body .mr-mun101-resource h3 {
	color: #111827;
	font-size: 15px;
	font-weight: 850;
	line-height: 1.25;
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-resource p {
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-placeholder {
	display: grid;
	gap: 6px;
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-placeholder strong {
	color: #132653;
}

body.mr-os-portal-body .mr-mun101-quiz {
	display: grid;
	gap: 12px;
	margin-top: 0;
}

body.mr-os-portal-body .mr-mun101-quiz fieldset {
	background: #fff;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	display: grid;
	gap: 9px;
	margin: 0;
	min-width: 0;
	padding: 14px 14px 12px;
}

body.mr-os-portal-body .mr-mun101-quiz legend {
	color: #111827;
	display: block;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	padding: 0 5px;
}

body.mr-os-portal-body .mr-mun101-quiz legend span {
	overflow-wrap: anywhere;
}

body.mr-os-portal-body .mr-mun101-points {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 999px;
	color: #9a3412;
	display: inline-flex;
	font-size: 11px;
	font-weight: 850;
	margin-left: 6px;
	padding: 3px 8px;
	vertical-align: middle;
	white-space: nowrap;
}

body.mr-os-portal-body .mr-mun101-quiz label {
	align-items: center;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	display: flex;
	gap: 10px;
	line-height: 1.35;
	padding: 10px 11px;
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

body.mr-os-portal-body .mr-mun101-quiz label:hover,
body.mr-os-portal-body .mr-mun101-quiz label:focus-within {
	background: #f8fafc;
	border-color: rgba(180, 122, 34, .52);
	box-shadow: 0 0 0 3px rgba(180, 122, 34, .12);
}

body.mr-os-portal-body .mr-mun101-quiz input[type="radio"] {
	flex: 0 0 auto;
	margin: 0;
}

body.mr-os-portal-body .mr-mun101-quiz label span {
	color: #1f2937;
	font-size: 13px;
	font-weight: 720;
	overflow-wrap: anywhere;
}

body.mr-os-portal-body .mr-mun101-assessment-summary {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.mr-os-portal-body .mr-mun101-assessment-summary div,
body.mr-os-portal-body .mr-mun101-assessment-empty {
	background: #fff;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	display: grid;
	gap: 3px;
	padding: 12px;
}

body.mr-os-portal-body .mr-mun101-assessment-summary span,
body.mr-os-portal-body .mr-mun101-assessment-empty span {
	color: #64748b;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.mr-os-portal-body .mr-mun101-assessment-summary strong,
body.mr-os-portal-body .mr-mun101-assessment-empty strong {
	color: #132653;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.1;
}

body.mr-os-portal-body .mr-mun101-assessment-empty {
	align-content: center;
	min-height: 130px;
}

@media (max-width: 1180px) {
	body.mr-os-portal-body .mr-mun101-learning-layout {
		grid-template-columns: 1fr;
	}
	body.mr-os-portal-body .mr-mun101-assessment-panel {
		order: -1;
	}
}

@media (max-width: 900px) {
	body.mr-os-portal-body .mr-mun101-shell {
		padding: 14px;
	}
	body.mr-os-portal-body .mr-mun101-hero {
		align-items: start;
		display: grid;
		padding: 20px;
	}
	body.mr-os-portal-body .mr-mun101-topbar {
		align-items: start;
		display: grid;
		padding: 12px 20px;
	}
	body.mr-os-portal-body .mr-mun101-user {
		min-width: 0;
		width: 100%;
	}
	body.mr-os-portal-body .mr-mun101-hero span {
		white-space: normal;
	}
	body.mr-os-portal-body .mr-mun101-lead,
	body.mr-os-portal-body .mr-mun101-grid,
	body.mr-os-portal-body .mr-mun101-course {
		padding-left: 20px;
		padding-right: 20px;
	}
	body.mr-os-portal-body .mr-mun101-grid,
	body.mr-os-portal-body .mr-mun101-course,
	body.mr-os-portal-body .mr-mun101-welcome,
	body.mr-os-portal-body .mr-mun101-learning-layout {
		grid-template-columns: 1fr;
	}
	body.mr-os-portal-body .mr-public-alert,
	body.mr-os-portal-body .mr-mun101-welcome {
		margin-left: 20px;
		margin-right: 20px;
	}
}

@media (max-width: 560px) {
	body.mr-os-portal-body .mr-mun101-assessment-summary {
		grid-template-columns: 1fr;
	}
	body.mr-os-portal-body .mr-mun101-lessons-panel,
	body.mr-os-portal-body .mr-mun101-assessment-panel {
		padding: 12px;
	}
	body.mr-os-portal-body .mr-mun101-panel-heading {
		display: grid;
	}
	body.mr-os-portal-body .mr-mun101-panel-heading em {
		width: fit-content;
	}
}

/* ============================================================
   MUN 101 — UX de evaluación (estado de intento, progreso)  [0.8.77]
   ============================================================ */
body.mr-os-portal-body .mr-mun101-status-pill {
	border-radius: 999px;
	font-size: 12px !important;
	font-weight: 850;
	padding: 4px 12px;
	width: fit-content;
	line-height: 1.2;
}
body.mr-os-portal-body .mr-mun101-status-pill.is-passed { background: #e9f7ef; color: #14784a; }
body.mr-os-portal-body .mr-mun101-status-pill.is-blocked { background: #fdeef0; color: #9a2530; }
body.mr-os-portal-body .mr-mun101-status-pill.is-progress { background: #eaf2fd; color: #1f4f9c; }
body.mr-os-portal-body .mr-mun101-status-pill.is-new { background: #f1f5f9; color: #475569; }

body.mr-os-portal-body .mr-mun101-result-card {
	align-items: baseline;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin-top: 12px;
	padding: 14px 16px;
}
body.mr-os-portal-body .mr-mun101-result-card.is-passed { background: #e9f7ef; border: 1px solid #aedcc1; }
body.mr-os-portal-body .mr-mun101-result-card.is-failed { background: #fdf3df; border: 1px solid #ecca8a; }
body.mr-os-portal-body .mr-mun101-result-card span { color: #475569; font-size: 11px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; width: 100%; }
body.mr-os-portal-body .mr-mun101-result-card strong { color: #132653; font-size: 26px; font-weight: 900; line-height: 1; }
body.mr-os-portal-body .mr-mun101-result-card em { color: #475569; font-size: 13px; font-style: normal; font-weight: 700; }

body.mr-os-portal-body .mr-mun101-assessment-state {
	border-radius: 10px;
	display: grid;
	gap: 5px;
	margin-top: 12px;
	padding: 18px 16px;
}
body.mr-os-portal-body .mr-mun101-assessment-state.is-passed { background: #e9f7ef; border: 1px solid #aedcc1; }
body.mr-os-portal-body .mr-mun101-assessment-state.is-blocked { background: #fdeef0; border: 1px solid #f0aeb5; }
body.mr-os-portal-body .mr-mun101-assessment-state strong { color: #132653; font-size: 16px; font-weight: 900; }
body.mr-os-portal-body .mr-mun101-assessment-state span { color: #475569; font-size: 13px; font-weight: 650; line-height: 1.45; }

body.mr-os-portal-body .mr-mun101-quiz-note {
	color: #64748b;
	font-size: 12.5px;
	font-weight: 700;
	margin: 0;
}
body.mr-os-portal-body .mr-mun101-quiz-progress {
	align-items: center;
	display: flex;
	gap: 10px;
	margin: 2px 0 4px;
}
body.mr-os-portal-body .mr-mun101-quiz-progress-bar {
	background: #e2e8f0;
	border-radius: 999px;
	flex: 1 1 auto;
	height: 7px;
	overflow: hidden;
}
body.mr-os-portal-body .mr-mun101-quiz-progress-bar i {
	background: linear-gradient(90deg, #b47a22, #d9a441);
	border-radius: 999px;
	display: block;
	height: 100%;
	transition: width .2s ease;
}
body.mr-os-portal-body .mr-mun101-quiz-progress span {
	color: #475569;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}
body.mr-os-portal-body .mr-mun101-quiz-progress b { color: #132653; }
body.mr-os-portal-body .mr-mun101-quiz-actions { margin-top: 4px; }

@media (max-width: 900px) {
	body.mr-os-portal-body .mr-mun101-quiz-actions {
		background: rgba(255, 255, 255, .96);
		border-top: 1px solid #e2e8f0;
		bottom: 0;
		margin: 0 -12px -12px;
		padding: 12px;
		position: sticky;
		z-index: 5;
	}
	body.mr-os-portal-body .mr-mun101-quiz-actions .mr-mun101-button { width: 100%; }
}

/* ============================================================
   MUN 101 — Rediseño LMS limpio (namespace mr-c101)  [0.8.79]
   Minimalista, transparente, jerarquía clara. Reemplaza visualmente
   al namespace antiguo mr-mun101 (que queda inerte).
   ============================================================ */
body.mr-os-portal-body .mr-c101 {
	--c101-navy: #132653;
	--c101-navy-2: #1d3b6b;
	--c101-gold: #b47a22;
	--c101-gold-2: #c79238;
	--c101-ink: #0f172a;
	--c101-muted: #5b6678;
	--c101-faint: #8a93a3;
	--c101-line: #e7ebf2;
	--c101-canvas: #f3f5f9;
	--c101-surface: #ffffff;
	--c101-radius: 16px;
	--c101-radius-sm: 11px;
	--c101-shadow: 0 1px 2px rgba(16,24,40,.04), 0 10px 30px rgba(16,24,40,.05);
	background: var(--c101-canvas);
	color: var(--c101-ink);
	display: block;
	min-height: 100vh;
	font-family: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}
body.mr-os-portal-body .mr-c101 *,
body.mr-os-portal-body .mr-c101 *::before,
body.mr-os-portal-body .mr-c101 *::after { box-sizing: border-box; }

/* --- Barra superior slim --- */
body.mr-os-portal-body .mr-c101-bar {
	align-items: center;
	background: rgba(255,255,255,.85);
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--c101-line);
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 12px clamp(16px, 4vw, 34px);
	position: sticky;
	top: 0;
	z-index: 20;
}
body.mr-os-portal-body .mr-c101-brand { align-items: center; display: flex; gap: 11px; text-decoration: none; min-width: 0; }
body.mr-os-portal-body .mr-c101-brand img { height: 40px; width: 40px; object-fit: contain; display: block; }
body.mr-os-portal-body .mr-c101-brand strong { color: var(--c101-ink); display: block; font-size: 14.5px; font-weight: 800; line-height: 1.15; }
body.mr-os-portal-body .mr-c101-brand small { color: var(--c101-muted); display: block; font-size: 11.5px; font-weight: 600; }
body.mr-os-portal-body .mr-c101-user { align-items: center; display: flex; gap: 10px; min-width: 0; }
body.mr-os-portal-body .mr-c101-user i {
	align-items: center; background: var(--c101-navy); border-radius: 10px; color: #fff;
	display: inline-flex; flex: 0 0 38px; font-size: 13px; font-style: normal; font-weight: 800;
	height: 38px; justify-content: center; width: 38px;
}
body.mr-os-portal-body .mr-c101-user strong { color: var(--c101-ink); display: block; font-size: 13.5px; font-weight: 750; line-height: 1.15; overflow-wrap: anywhere; }
body.mr-os-portal-body .mr-c101-user small { color: var(--c101-muted); display: block; font-size: 11.5px; font-weight: 600; overflow-wrap: anywhere; }
body.mr-os-portal-body .mr-c101-chip {
	background: var(--c101-gold-tint, #fbf6ea); border: 1px solid #f0e2c2; border-radius: 999px;
	color: #8a5a08; font-size: 11.5px; font-weight: 800; letter-spacing: .02em; padding: 6px 13px;
}

/* --- Contenedor --- */
body.mr-os-portal-body .mr-c101-wrap {
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(18px, 4vw, 34px) clamp(16px, 4vw, 34px) 80px;
}

/* --- Alertas --- */
body.mr-os-portal-body .mr-c101-alert { border-radius: var(--c101-radius-sm); font-size: 14px; font-weight: 600; margin: 0 0 18px; padding: 13px 16px; }
body.mr-os-portal-body .mr-c101-alert.is-error { background: #fdeef0; border: 1px solid #f4c2c8; color: #9a2530; }
body.mr-os-portal-body .mr-c101-alert.is-success { background: #e9f7ef; border: 1px solid #b6e2c8; color: #14784a; }

/* --- Encabezado del curso --- */
body.mr-os-portal-body .mr-c101-kicker { color: var(--c101-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em; margin: 0 0 8px; text-transform: uppercase; }
body.mr-os-portal-body .mr-c101-head {
	align-items: center; background: var(--c101-surface); border: 1px solid var(--c101-line);
	border-radius: var(--c101-radius); box-shadow: var(--c101-shadow); display: flex; flex-wrap: wrap;
	gap: 22px; justify-content: space-between; margin-bottom: 22px; padding: clamp(22px, 3.5vw, 34px);
}
body.mr-os-portal-body .mr-c101-head h1 { color: var(--c101-ink); font-size: clamp(28px, 5vw, 40px); font-weight: 820; letter-spacing: -.01em; line-height: 1; margin: 0; }
body.mr-os-portal-body .mr-c101-sub { color: var(--c101-muted); font-size: 15px; line-height: 1.5; margin: 12px 0 0; max-width: 540px; }
body.mr-os-portal-body .mr-c101-head-meta { align-items: stretch; display: flex; flex-wrap: wrap; gap: 12px; }
body.mr-os-portal-body .mr-c101-stat { background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm); min-width: 92px; padding: 12px 16px; }
body.mr-os-portal-body .mr-c101-stat small { color: var(--c101-faint); display: block; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
body.mr-os-portal-body .mr-c101-stat strong { color: var(--c101-navy); display: block; font-size: 22px; font-weight: 850; line-height: 1.1; margin-top: 4px; }
body.mr-os-portal-body .mr-c101-progress { background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm); min-width: 220px; padding: 12px 16px; display: flex; flex-direction: column; justify-content: center; }
body.mr-os-portal-body .mr-c101-progress-top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 8px; }
body.mr-os-portal-body .mr-c101-progress-top small { color: var(--c101-faint); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
body.mr-os-portal-body .mr-c101-progress-top span { color: var(--c101-navy); font-size: 12.5px; font-weight: 800; }
body.mr-os-portal-body .mr-c101-progress-bar { background: #e3e8f0; border-radius: 999px; height: 7px; overflow: hidden; }
body.mr-os-portal-body .mr-c101-progress-bar i { background: linear-gradient(90deg, var(--c101-gold), var(--c101-gold-2)); border-radius: 999px; display: block; height: 100%; transition: width .25s ease; }

/* --- Auth (sin sesión) --- */
body.mr-os-portal-body .mr-c101-hero-lite { margin-bottom: 22px; text-align: center; padding: 8px 0; }
body.mr-os-portal-body .mr-c101-hero-lite h1 { color: var(--c101-ink); font-size: clamp(30px, 6vw, 44px); font-weight: 820; letter-spacing: -.01em; margin: 0; }
body.mr-os-portal-body .mr-c101-hero-lite .mr-c101-sub { margin: 12px auto 0; }
body.mr-os-portal-body .mr-c101-auth { display: grid; gap: 18px; grid-template-columns: 1.3fr .9fr; align-items: start; }
body.mr-os-portal-body .mr-c101-form { background: var(--c101-surface); border: 1px solid var(--c101-line); border-radius: var(--c101-radius); box-shadow: var(--c101-shadow); display: grid; gap: 14px; padding: clamp(20px, 3vw, 28px); }
body.mr-os-portal-body .mr-c101-form.is-ghost { background: var(--c101-canvas); box-shadow: none; }
body.mr-os-portal-body .mr-c101-form h2 { color: var(--c101-ink); font-size: 21px; font-weight: 800; margin: 0; }
body.mr-os-portal-body .mr-c101-form-help { color: var(--c101-muted); font-size: 13.5px; line-height: 1.5; margin: -6px 0 4px; }
body.mr-os-portal-body .mr-c101-form label { display: grid; gap: 6px; }
body.mr-os-portal-body .mr-c101-form label span { color: var(--c101-ink); font-size: 13px; font-weight: 700; }
body.mr-os-portal-body .mr-c101-form input,
body.mr-os-portal-body .mr-c101-form textarea {
	background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm);
	color: var(--c101-ink); font: inherit; font-size: 15px; padding: 11px 13px; width: 100%;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.mr-os-portal-body .mr-c101-form input:focus,
body.mr-os-portal-body .mr-c101-form textarea:focus { background: #fff; border-color: var(--c101-gold-2); box-shadow: 0 0 0 3px rgba(184,132,47,.18); outline: none; }
body.mr-os-portal-body .mr-c101-form textarea { min-height: 96px; resize: vertical; }

/* --- Botones --- */
body.mr-os-portal-body .mr-c101-btn {
	align-items: center; background: linear-gradient(180deg, var(--c101-gold-2), var(--c101-gold));
	border: 0; border-radius: 999px; color: #fff; cursor: pointer; display: inline-flex; font: inherit;
	font-size: 15px; font-weight: 750; justify-content: center; min-height: 46px; padding: 12px 26px;
	text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
	box-shadow: 0 1px 2px rgba(16,24,40,.06);
}
body.mr-os-portal-body .mr-c101-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(180,122,34,.25); filter: saturate(1.05); }
body.mr-os-portal-body .mr-c101-btn.is-secondary { background: var(--c101-navy); }
body.mr-os-portal-body .mr-c101-btn:disabled { background: #aab3c2; cursor: not-allowed; transform: none; box-shadow: none; }

/* --- Layout curso: riel + principal --- */
body.mr-os-portal-body .mr-c101-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: 290px minmax(0, 1fr); }
body.mr-os-portal-body .mr-c101-rail { position: sticky; top: 78px; }
body.mr-os-portal-body .mr-c101-rail-title { color: var(--c101-faint); font-size: 11px; font-weight: 800; letter-spacing: .08em; margin: 0 0 10px 4px; text-transform: uppercase; }
body.mr-os-portal-body .mr-c101-modlist { counter-reset: none; display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
body.mr-os-portal-body .mr-c101-mod {
	align-items: center; background: var(--c101-surface); border: 1px solid var(--c101-line);
	border-radius: var(--c101-radius-sm); color: var(--c101-ink); display: flex; gap: 12px; padding: 11px 13px;
	text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.mr-os-portal-body .mr-c101-mod:hover { border-color: #cfd7e4; }
body.mr-os-portal-body .mr-c101-mod-ic {
	align-items: center; background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: 50%;
	color: var(--c101-muted); display: inline-flex; flex: 0 0 30px; font-size: 13px; font-weight: 800;
	height: 30px; justify-content: center; width: 30px;
}
body.mr-os-portal-body .mr-c101-mod-body { min-width: 0; }
body.mr-os-portal-body .mr-c101-mod-body strong { color: var(--c101-ink); display: block; font-size: 13.5px; font-weight: 700; line-height: 1.25; }
body.mr-os-portal-body .mr-c101-mod-body em { color: var(--c101-faint); display: block; font-size: 11.5px; font-style: normal; font-weight: 700; margin-top: 2px; }
body.mr-os-portal-body .mr-c101-mod.is-active { border-color: var(--c101-gold); box-shadow: 0 0 0 3px rgba(180,122,34,.14); }
body.mr-os-portal-body .mr-c101-mod.is-active .mr-c101-mod-ic { background: var(--c101-gold); border-color: var(--c101-gold); color: #fff; }
body.mr-os-portal-body .mr-c101-mod.is-done .mr-c101-mod-ic { background: #e9f7ef; border-color: #b6e2c8; color: #14784a; }
body.mr-os-portal-body .mr-c101-mod.is-done.is-active .mr-c101-mod-ic { background: var(--c101-gold); border-color: var(--c101-gold); color: #fff; }
body.mr-os-portal-body .mr-c101-mod.is-locked { opacity: .6; pointer-events: none; }

/* --- Columna principal --- */
body.mr-os-portal-body .mr-c101-main { display: grid; gap: 18px; min-width: 0; }
body.mr-os-portal-body .mr-c101-unit-head { padding: 2px 2px 0; }
body.mr-os-portal-body .mr-c101-unit-head h2 { color: var(--c101-ink); font-size: clamp(22px, 3vw, 28px); font-weight: 800; letter-spacing: -.01em; line-height: 1.15; margin: 0; }
body.mr-os-portal-body .mr-c101-unit-head p { color: var(--c101-muted); font-size: 15px; line-height: 1.55; margin: 8px 0 0; }
body.mr-os-portal-body .mr-c101-note { background: #eef4ff; border: 1px solid #cfe0fb; border-radius: var(--c101-radius-sm); color: #1f4f9c; font-size: 14px; font-weight: 600; padding: 14px 16px; }

/* --- Paneles (material / examen) --- */
body.mr-os-portal-body .mr-c101-panel { background: var(--c101-surface); border: 1px solid var(--c101-line); border-radius: var(--c101-radius); box-shadow: var(--c101-shadow); padding: clamp(18px, 2.6vw, 26px); }
body.mr-os-portal-body .mr-c101-panel-head { align-items: center; border-bottom: 1px solid var(--c101-line); display: flex; gap: 12px; justify-content: space-between; margin-bottom: 18px; padding-bottom: 14px; }
body.mr-os-portal-body .mr-c101-panel-head h3 { color: var(--c101-ink); font-size: 17px; font-weight: 800; margin: 0; }
body.mr-os-portal-body .mr-c101-tag { background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: 999px; color: var(--c101-muted); font-size: 11.5px; font-weight: 800; padding: 5px 12px; white-space: nowrap; }
body.mr-os-portal-body .mr-c101-empty { background: var(--c101-canvas); border: 1px dashed #cfd7e4; border-radius: var(--c101-radius-sm); display: grid; gap: 4px; padding: 22px; text-align: center; }
body.mr-os-portal-body .mr-c101-empty strong { color: var(--c101-ink); font-size: 15px; }
body.mr-os-portal-body .mr-c101-empty span { color: var(--c101-muted); font-size: 13.5px; }

/* --- Lecciones / videos --- */
body.mr-os-portal-body .mr-c101-lessons { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
body.mr-os-portal-body .mr-c101-lesson { background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm); overflow: hidden; }
body.mr-os-portal-body .mr-c101-video { aspect-ratio: 16 / 9; background: #0b1220; width: 100%; }
body.mr-os-portal-body .mr-c101-video iframe { border: 0; display: block; height: 100%; width: 100%; }
body.mr-os-portal-body .mr-c101-lesson-foot { align-items: center; display: flex; gap: 12px; justify-content: space-between; padding: 12px 14px; }
body.mr-os-portal-body .mr-c101-lesson-foot h4 { color: var(--c101-ink); font-size: 14px; font-weight: 700; margin: 0; }
body.mr-os-portal-body .mr-c101-lesson-foot a { color: var(--c101-gold); font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; }
body.mr-os-portal-body .mr-c101-lesson-foot a:hover { text-decoration: underline; }

/* --- Examen: stats --- */
body.mr-os-portal-body .mr-c101-exam-stats { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0,1fr)); margin-bottom: 18px; }
body.mr-os-portal-body .mr-c101-exam-stats > div { background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm); padding: 11px 14px; }
body.mr-os-portal-body .mr-c101-exam-stats small { color: var(--c101-faint); display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
body.mr-os-portal-body .mr-c101-exam-stats strong { color: var(--c101-navy); display: block; font-size: 18px; font-weight: 850; line-height: 1.1; margin-top: 4px; }
body.mr-os-portal-body .mr-c101-pill { border-radius: 999px; display: inline-block; font-size: 12px; font-weight: 800; margin-top: 6px; padding: 3px 11px; }
body.mr-os-portal-body .mr-c101-pill.is-passed { background: #e9f7ef; color: #14784a; }
body.mr-os-portal-body .mr-c101-pill.is-blocked { background: #fdeef0; color: #9a2530; }
body.mr-os-portal-body .mr-c101-pill.is-progress { background: #eaf2fd; color: #1f4f9c; }
body.mr-os-portal-body .mr-c101-pill.is-new { background: #eef1f6; color: #5b6678; }

/* --- Resultado / estados --- */
body.mr-os-portal-body .mr-c101-result { align-items: center; border-radius: var(--c101-radius-sm); display: flex; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding: 16px 18px; }
body.mr-os-portal-body .mr-c101-result.is-passed { background: #e9f7ef; border: 1px solid #b6e2c8; }
body.mr-os-portal-body .mr-c101-result.is-failed { background: #fdf3df; border: 1px solid #ecca8a; }
body.mr-os-portal-body .mr-c101-result small { color: var(--c101-ink); display: block; font-size: 12px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
body.mr-os-portal-body .mr-c101-result em { color: var(--c101-muted); display: block; font-size: 13px; font-style: normal; font-weight: 600; margin-top: 3px; }
body.mr-os-portal-body .mr-c101-result strong { color: var(--c101-navy); font-size: 30px; font-weight: 850; line-height: 1; }
body.mr-os-portal-body .mr-c101-state { border-radius: var(--c101-radius-sm); display: grid; gap: 5px; padding: 18px; }
body.mr-os-portal-body .mr-c101-state.is-passed { background: #e9f7ef; border: 1px solid #b6e2c8; }
body.mr-os-portal-body .mr-c101-state.is-blocked { background: #fdeef0; border: 1px solid #f4c2c8; }
body.mr-os-portal-body .mr-c101-state strong { color: var(--c101-ink); font-size: 16px; font-weight: 800; }
body.mr-os-portal-body .mr-c101-state span { color: var(--c101-muted); font-size: 14px; line-height: 1.5; }

/* --- Quiz --- */
body.mr-os-portal-body .mr-c101-quiz { display: grid; gap: 16px; }
body.mr-os-portal-body .mr-c101-quiz-progress { align-items: center; display: flex; gap: 12px; position: sticky; top: 70px; background: var(--c101-surface); padding: 6px 0; z-index: 5; }
body.mr-os-portal-body .mr-c101-quiz-progress .mr-c101-progress-bar { flex: 1 1 auto; height: 7px; }
body.mr-os-portal-body .mr-c101-quiz-progress span { color: var(--c101-muted); font-size: 12.5px; font-weight: 800; white-space: nowrap; }
body.mr-os-portal-body .mr-c101-quiz-progress b { color: var(--c101-navy); }
body.mr-os-portal-body .mr-c101-quiz-note { color: var(--c101-muted); font-size: 13px; font-weight: 600; margin: 0; }
body.mr-os-portal-body .mr-c101-q { border: 0; border-top: 1px solid var(--c101-line); margin: 0; padding: 18px 0 4px; }
body.mr-os-portal-body .mr-c101-q-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; padding: 0; width: 100%; }
body.mr-os-portal-body .mr-c101-q-text { color: var(--c101-ink); font-size: 15.5px; font-weight: 750; line-height: 1.45; flex: 1 1 280px; min-width: 0; overflow-wrap: anywhere; }
body.mr-os-portal-body .mr-c101-q-pts { background: var(--c101-gold-tint, #fbf6ea); border: 1px solid #f0e2c2; border-radius: 999px; color: #8a5a08; font-size: 11px; font-style: normal; font-weight: 800; padding: 3px 10px; white-space: nowrap; }
body.mr-os-portal-body .mr-c101-opts { display: grid; gap: 9px; }
body.mr-os-portal-body .mr-c101-opt {
	align-items: center; background: var(--c101-surface); border: 1.5px solid var(--c101-line); border-radius: 12px;
	cursor: pointer; display: flex; gap: 12px; padding: 13px 15px;
	transition: border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
body.mr-os-portal-body .mr-c101-opt:hover { background: #fbfcfe; border-color: #cfd7e4; }
body.mr-os-portal-body .mr-c101-opt input { position: absolute; opacity: 0; pointer-events: none; }
body.mr-os-portal-body .mr-c101-opt-mark { align-items: center; border: 2px solid #c2cad8; border-radius: 50%; display: inline-flex; flex: 0 0 20px; height: 20px; justify-content: center; transition: border-color .14s ease; width: 20px; }
body.mr-os-portal-body .mr-c101-opt-mark::after { background: var(--c101-gold); border-radius: 50%; content: ""; height: 10px; transform: scale(0); transition: transform .14s ease; width: 10px; }
body.mr-os-portal-body .mr-c101-opt-text { color: var(--c101-ink); font-size: 14.5px; font-weight: 600; line-height: 1.4; flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
body.mr-os-portal-body .mr-c101-opt:has(input:checked) { background: #fdf8ee; border-color: var(--c101-gold); box-shadow: 0 0 0 3px rgba(180,122,34,.12); }
body.mr-os-portal-body .mr-c101-opt:has(input:checked) .mr-c101-opt-mark { border-color: var(--c101-gold); }
body.mr-os-portal-body .mr-c101-opt:has(input:checked) .mr-c101-opt-mark::after { transform: scale(1); }
body.mr-os-portal-body .mr-c101-opt:focus-within { border-color: var(--c101-gold); box-shadow: 0 0 0 3px rgba(180,122,34,.18); }

/* --- Acciones del examen --- */
body.mr-os-portal-body .mr-c101-quiz-actions { align-items: center; border-top: 1px solid var(--c101-line); display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; margin-top: 4px; padding-top: 18px; }
body.mr-os-portal-body .mr-c101-quiz-hint { color: var(--c101-muted); font-size: 12.5px; font-weight: 600; margin-right: auto; }

/* --- Responsive --- */
@media (max-width: 920px) {
	body.mr-os-portal-body .mr-c101-layout { grid-template-columns: 1fr; }
	body.mr-os-portal-body .mr-c101-rail { position: static; }
	body.mr-os-portal-body .mr-c101-modlist { grid-auto-flow: row; }
	body.mr-os-portal-body .mr-c101-auth { grid-template-columns: 1fr; }
	body.mr-os-portal-body .mr-c101-exam-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
	body.mr-os-portal-body .mr-c101-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) {
	body.mr-os-portal-body .mr-c101-quiz-progress { top: 64px; }
	body.mr-os-portal-body .mr-c101-quiz-actions { position: sticky; bottom: 0; background: rgba(255,255,255,.96); margin: 0 -18px -18px; padding: 14px 18px; border-radius: 0 0 var(--c101-radius) var(--c101-radius); }
	body.mr-os-portal-body .mr-c101-quiz-actions .mr-c101-btn { width: 100%; }
	body.mr-os-portal-body .mr-c101-quiz-hint { margin: 0 0 4px; width: 100%; text-align: center; }
}
/* Fallback (navegadores sin :has): marca de radio seleccionada por hermano adyacente. */
body.mr-os-portal-body .mr-c101-opt input:checked + .mr-c101-opt-mark { border-color: var(--c101-gold); }
body.mr-os-portal-body .mr-c101-opt input:checked + .mr-c101-opt-mark::after { transform: scale(1); }

/* ============================================================
   MUN 101 — refinamiento de bordes y video sin recorte  [0.8.84]
   Bordes hairline; el reproductor no se corta (sin sliver, esquinas suaves).
   ============================================================ */
body.mr-os-portal-body .mr-c101-lesson {
	border: 1px solid #eaeef4;
	border-radius: 12px;
	overflow: hidden;
	background: var(--c101-surface);
}
body.mr-os-portal-body .mr-c101-video {
	aspect-ratio: 16 / 9;
	background: #000;
	display: block;
	font-size: 0;       /* evita el sliver inferior por espacio en línea */
	line-height: 0;
	width: 100%;
}
body.mr-os-portal-body .mr-c101-video iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}
/* El divisor bajo el video y el marco de la tarjeta, en hairline fino. */
body.mr-os-portal-body .mr-c101-lesson-foot { border-top: 1px solid #f0f3f8; }
body.mr-os-portal-body .mr-c101-panel { border: 1px solid #eaeef4; }
body.mr-os-portal-body .mr-c101-head { border: 1px solid #eaeef4; }

/* ============================================================
   MUN 101 — video de Introducción en formato vertical  [0.8.86]
   El intro (9:16) va arriba, a todo el ancho de la fila y centrado;
   el resto del material sigue en 16:9 en la rejilla.
   ============================================================ */
body.mr-os-portal-body .mr-c101-lesson.is-vertical {
	grid-column: 1 / -1;
	background: transparent;
	border: 0;
	overflow: visible;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
body.mr-os-portal-body .mr-c101-lesson.is-vertical .mr-c101-video {
	aspect-ratio: 9 / 16;
	width: 100%;
	max-width: 300px;
	border: 1px solid #eaeef4;
	border-radius: 12px;
	overflow: hidden;
}
body.mr-os-portal-body .mr-c101-lesson.is-vertical .mr-c101-lesson-foot {
	border-top: 0;
	padding: 0;
	justify-content: center;
	text-align: center;
}

/* ============================================================
   MUN 101 — Panel de administración (dashboard) + select  [0.8.87]
   ============================================================ */
/* Select de institución en el formulario de solicitud */
body.mr-os-portal-body .mr-c101-form select {
	background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm);
	color: var(--c101-ink); font: inherit; font-size: 15px; padding: 11px 13px; width: 100%;
}
body.mr-os-portal-body .mr-c101-form select:focus { background: #fff; border-color: var(--c101-gold-2); box-shadow: 0 0 0 3px rgba(184,132,47,.18); outline: none; }

/* Botón pequeño */
body.mr-os-portal-body .mr-c101-btn-sm { min-height: 38px; padding: 8px 16px; font-size: 13.5px; }
body.mr-os-portal-body .mr-c101-dash-preview { min-height: 38px; padding: 8px 16px; font-size: 13.5px; }

/* Solicitudes pendientes */
body.mr-os-portal-body .mr-c101-dash-cards { display: grid; gap: 12px; }
body.mr-os-portal-body .mr-c101-dash-app { align-items: center; border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm); display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; padding: 14px 16px; }
body.mr-os-portal-body .mr-c101-dash-app-info { min-width: 0; flex: 1 1 280px; }
body.mr-os-portal-body .mr-c101-dash-app-info strong { color: var(--c101-ink); display: block; font-size: 15px; }
body.mr-os-portal-body .mr-c101-dash-app-info span { color: var(--c101-muted); display: block; font-size: 13px; }
body.mr-os-portal-body .mr-c101-dash-inst { color: var(--c101-navy) !important; font-weight: 700; }
body.mr-os-portal-body .mr-c101-dash-app-info p { color: var(--c101-muted); font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
body.mr-os-portal-body .mr-c101-dash-app-actions { display: flex; gap: 8px; }

/* Tabla de participantes */
body.mr-os-portal-body .mr-c101-dash-tablewrap { overflow-x: auto; }
body.mr-os-portal-body .mr-c101-dash-table { border-collapse: collapse; width: 100%; min-width: 720px; }
body.mr-os-portal-body .mr-c101-dash-table th { background: var(--c101-canvas); border-bottom: 1px solid var(--c101-line); color: var(--c101-faint); font-size: 11px; font-weight: 800; letter-spacing: .03em; padding: 10px 12px; text-align: left; text-transform: uppercase; white-space: nowrap; }
body.mr-os-portal-body .mr-c101-dash-table td { border-bottom: 1px solid #f0f3f8; padding: 11px 12px; vertical-align: middle; }
body.mr-os-portal-body .mr-c101-dash-table td strong { color: var(--c101-ink); display: block; font-size: 14px; }
body.mr-os-portal-body .mr-c101-dash-table td span { color: var(--c101-muted); font-size: 12px; }
body.mr-os-portal-body .mr-c101-dash-modcol { text-align: center !important; }
body.mr-os-portal-body .mr-c101-dash-score { border-radius: 999px; display: inline-block; font-size: 12px; font-weight: 800; min-width: 44px; padding: 3px 8px; }
body.mr-os-portal-body .mr-c101-dash-score.is-pass { background: #e9f7ef; color: #14784a; }
body.mr-os-portal-body .mr-c101-dash-score.is-fail { background: #fdf3df; color: #8a5a08; }
body.mr-os-portal-body .mr-c101-dash-score.is-none { background: transparent; color: #b6bfcd; }
body.mr-os-portal-body .mr-c101-dash-foot { color: var(--c101-faint); font-size: 12px; margin: 12px 0 0; }

/* Dos columnas: lectores + instituciones */
body.mr-os-portal-body .mr-c101-dash-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; align-items: start; }
body.mr-os-portal-body .mr-c101-dash-hint { color: var(--c101-muted); font-size: 13px; line-height: 1.5; margin: 0 0 14px; }
body.mr-os-portal-body .mr-c101-dash-inline { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
body.mr-os-portal-body .mr-c101-dash-inline input { flex: 1 1 140px; min-width: 0; background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: var(--c101-radius-sm); color: var(--c101-ink); font: inherit; font-size: 14px; padding: 9px 12px; }
body.mr-os-portal-body .mr-c101-dash-inline input:focus { background: #fff; border-color: var(--c101-gold-2); box-shadow: 0 0 0 3px rgba(184,132,47,.18); outline: none; }
body.mr-os-portal-body .mr-c101-dash-list { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
body.mr-os-portal-body .mr-c101-dash-list li { align-items: center; background: var(--c101-canvas); border: 1px solid var(--c101-line); border-radius: 10px; display: flex; gap: 10px; justify-content: space-between; padding: 9px 12px; }
body.mr-os-portal-body .mr-c101-dash-list strong { color: var(--c101-ink); display: block; font-size: 13.5px; }
body.mr-os-portal-body .mr-c101-dash-list small { color: var(--c101-muted); display: block; font-size: 12px; }
body.mr-os-portal-body .mr-c101-dash-list button { background: rgba(154,37,48,.08); border: 0; border-radius: 50%; color: #9a2530; cursor: pointer; flex: 0 0 26px; font-weight: 700; height: 26px; line-height: 1; width: 26px; }
body.mr-os-portal-body .mr-c101-dash-list button:hover { background: #fdeef0; }
body.mr-os-portal-body .mr-c101-dash-list form { margin: 0; }

@media (max-width: 820px) {
	body.mr-os-portal-body .mr-c101-dash-grid { grid-template-columns: 1fr; }
}

/* 0.94 — Reseteo de respaldo: si algo fuerza la barra de admin, WordPress pone margin-top al <html>;
   aquí lo neutralizamos (este CSS solo carga en el portal, así que no afecta al resto del sitio). */
html.wp-toolbar { margin-top: 0 !important; padding-top: 0 !important; }

/* 0.95 — La insignia/barra decorativa del ::before del body quedó visible al aligerar el portal (antes la
   tapaba el CSS del tema). Reglas iteradas la re-activaban (líneas ~7990 y ~14070); aquí la quitamos en
   definitiva. Solo afecta al pseudo del propio body, no a los ::before de tablas (data-label) ni de tarjetas. */
body.mr-os-portal-body::before,
body.mr-os-portal-body::after { content: none !important; display: none !important; }
