/* Panel de colegiados. Todo vive dentro de .mns-panel para no pisar el tema. */

.mns-panel {
	--mns-azul: #2471a3;
	--mns-azul-oscuro: #1f618d;
	--mns-azul-claro: #f0f7fc;
	--mns-texto: #2d3748;
	--mns-suave: #5a6577;
	--mns-borde: #e2e8f0;
	--mns-fondo: #ffffff;
	--mns-ok-fondo: #e6f4ea;
	--mns-ok-texto: #1e6b34;
	--mns-ok-borde: #b7dfc2;
	--mns-error-fondo: #fdecea;
	--mns-error-texto: #a12a1f;
	--mns-error-borde: #f5c2bd;

	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 16px 60px;
	color: var(--mns-texto);
	font-size: 16px;
	line-height: 1.55;
	transition: opacity 0.15s ease;
}
.mns-panel *,
.mns-panel *::before,
.mns-panel *::after {
	box-sizing: border-box;
}
.mns-panel.mns-ocupado {
	opacity: 0.6;
}
.mns-panel [data-mns-foco]:focus {
	outline: none;
}

.mns-cargando {
	text-align: center;
	color: var(--mns-suave);
	padding: 40px 0;
}

/* Tarjetas */
.mns-tarjeta {
	background: var(--mns-fondo);
	border: 1px solid var(--mns-borde);
	border-radius: 8px;
	padding: 28px;
	margin: 0 0 24px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.mns-tarjeta--angosta {
	max-width: 440px;
	margin-left: auto;
	margin-right: auto;
}
.mns-grilla {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}
.mns-grilla .mns-tarjeta {
	margin-bottom: 0;
}

/* Textos */
.mns-titulo {
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--mns-texto);
}
.mns-subtitulo {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--mns-borde);
	color: var(--mns-texto);
}
.mns-sobretitulo {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--mns-azul);
}
.mns-bajada,
.mns-texto {
	margin: 0 0 16px;
}
.mns-texto p {
	margin: 0 0 12px;
}
.mns-texto--suave {
	color: var(--mns-suave);
	font-size: 14px;
}

/* Cabecera del panel */
.mns-cabecera {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin: 0 0 24px;
}
.mns-cabecera .mns-titulo {
	margin: 0;
}

/* Formularios */
.mns-form {
	margin: 0;
}
.mns-form + .mns-form,
.mns-form--pie {
	margin-top: 16px;
}
.mns-panel .mns-etiqueta {
	display: block;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--mns-texto);
}
.mns-campo {
	display: block;
	width: 100%;
	margin: 0 0 16px;
	padding: 11px 12px;
	font-size: 16px;
	font-family: inherit;
	color: var(--mns-texto);
	background: #fff;
	border: 1px solid #b8c2cf;
	border-radius: 6px;
}
.mns-campo:focus {
	outline: 2px solid var(--mns-azul);
	outline-offset: 1px;
	border-color: var(--mns-azul);
}
.mns-campo + .mns-texto--suave {
	margin-top: -10px;
}

/* Botones */
.mns-boton {
	display: inline-block;
	width: 100%;
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 600;
	font-family: inherit;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: var(--mns-azul);
	border: 1px solid var(--mns-azul);
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.mns-boton:hover,
.mns-boton:focus-visible {
	background: var(--mns-azul-oscuro);
	border-color: var(--mns-azul-oscuro);
	color: #fff;
}
.mns-boton--secundario {
	color: var(--mns-azul);
	background: #fff;
}
.mns-boton--secundario:hover,
.mns-boton--secundario:focus-visible {
	color: var(--mns-azul-oscuro);
	background: var(--mns-azul-claro);
}
.mns-boton--chico {
	width: auto;
	padding: 8px 16px;
	font-size: 14px;
}
.mns-boton:focus-visible,
.mns-enlace:focus-visible {
	outline: 2px solid var(--mns-azul-oscuro);
	outline-offset: 2px;
}
.mns-boton:disabled,
.mns-enlace:disabled {
	cursor: wait;
}
.mns-enlace {
	padding: 0;
	font: inherit;
	font-size: 14px;
	color: var(--mns-azul);
	text-decoration: underline;
	background: none;
	border: 0;
	cursor: pointer;
}
.mns-enlace:hover {
	color: var(--mns-azul-oscuro);
}

/* Ingreso */
.mns-dni-actual {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 20px;
	padding: 10px 14px;
	font-size: 14px;
	background: var(--mns-azul-claro);
	border-radius: 6px;
}
.mns-separador {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0;
	font-size: 13px;
	color: var(--mns-suave);
}
.mns-separador::before,
.mns-separador::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--mns-borde);
}
.mns-form--pie {
	text-align: center;
}
.mns-ayuda {
	margin: 20px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--mns-borde);
	font-size: 14px;
	text-align: center;
	color: var(--mns-suave);
}
.mns-ayuda a {
	color: var(--mns-azul);
	font-weight: 600;
}

/* Avisos */
.mns-aviso {
	margin: 0 0 20px;
	padding: 12px 16px;
	font-size: 15px;
	font-weight: 600;
	border: 1px solid;
	border-radius: 6px;
}
.mns-aviso--ok {
	color: var(--mns-ok-texto);
	background: var(--mns-ok-fondo);
	border-color: var(--mns-ok-borde);
}
.mns-aviso--error {
	color: var(--mns-error-texto);
	background: var(--mns-error-fondo);
	border-color: var(--mns-error-borde);
}

/* Datos del colegiado */
.mns-datos {
	margin: 0 0 16px;
}
.mns-dato {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	border-bottom: 1px solid var(--mns-borde);
}
.mns-dato dt {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--mns-suave);
}
.mns-dato dd {
	margin: 0;
	text-align: right;
	overflow-wrap: anywhere;
}
.mns-datos + .mns-texto--suave {
	margin-bottom: 20px;
}

/* Curso: card en el panel */
.mns-curso-tarjeta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px;
	background: var(--mns-azul-claro);
	border-left: 4px solid var(--mns-azul);
	border-radius: 6px;
}
.mns-curso-info {
	min-width: 0;
}
.mns-curso-info > :last-child {
	margin-bottom: 0;
}
.mns-curso-titulo {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--mns-texto);
}
.mns-curso-entrar {
	flex: 0 0 auto;
}
.mns-curso-entrar .mns-boton {
	width: auto;
	white-space: nowrap;
}
.mns-curso-descripcion {
	margin-bottom: 24px;
}

/* Curso: módulos */
.mns-modulo {
	margin: 0 0 16px;
	background: var(--mns-fondo);
	border: 1px solid var(--mns-borde);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.mns-modulo-cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 24px;
	cursor: pointer;
	list-style: none;
	border-radius: 8px;
}
.mns-modulo-cabecera::-webkit-details-marker {
	display: none;
}
.mns-modulo-cabecera::after {
	content: '';
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--mns-azul);
	border-bottom: 2px solid var(--mns-azul);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}
.mns-modulo[open] > .mns-modulo-cabecera::after {
	transform: rotate(-135deg);
}
.mns-modulo-cabecera:hover {
	background: var(--mns-azul-claro);
}
.mns-modulo-cabecera:focus-visible {
	outline: 2px solid var(--mns-azul-oscuro);
	outline-offset: 2px;
}
.mns-modulo-textos {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.mns-modulo-textos .mns-sobretitulo {
	margin: 0;
}
.mns-modulo-titulo {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--mns-texto);
}
.mns-modulo-cuerpo {
	padding: 4px 24px 24px;
}
.mns-modulo-cuerpo > :last-child {
	margin-bottom: 0;
}
.mns-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 0 20px;
	background: #000;
	border-radius: 6px;
	overflow: hidden;
}
.mns-video iframe,
.mns-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.mns-curso-acciones {
	margin: 0;
}
.mns-curso-acciones .mns-boton {
	width: auto;
}

/* Secretaría */
.mns-sec-dispositivo {
	margin: 0;
}
.mns-sec-fila {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.mns-sec-fila .mns-campo {
	flex: 1;
	margin-bottom: 0;
}
.mns-sec-fila .mns-boton {
	width: auto;
	flex: 0 0 auto;
}
.mns-sec-resultados {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	border-top: 1px solid var(--mns-borde);
}
.mns-sec-resultado {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--mns-borde);
}
.mns-sec-persona {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow-wrap: anywhere;
}
.mns-sec-persona span {
	font-size: 14px;
	color: var(--mns-suave);
}
.mns-sec-resultado form {
	flex: 0 0 auto;
}
.mns-sec-vacio {
	margin: 20px 0 0;
}
.mns-sec-link {
	border-color: var(--mns-azul);
	border-width: 2px;
}
.mns-sec-acciones {
	display: flex;
	gap: 12px;
	margin: 0 0 16px;
}
.mns-sec-acciones .mns-boton {
	flex: 1;
}
.mns-sec-pie {
	text-align: center;
}

@media (max-width: 782px) {
	.mns-panel {
		padding-top: 24px;
	}
	.mns-tarjeta {
		padding: 20px;
	}
	.mns-grilla {
		grid-template-columns: 1fr;
	}
	.mns-titulo {
		font-size: 21px;
	}
	.mns-curso-acciones .mns-boton,
	.mns-curso-entrar .mns-boton {
		width: 100%;
	}
	.mns-curso-tarjeta {
		flex-direction: column;
		align-items: stretch;
	}
	.mns-modulo-cabecera {
		padding: 16px 18px;
	}
	.mns-sec-fila,
	.mns-sec-acciones,
	.mns-sec-resultado {
		flex-direction: column;
		align-items: stretch;
	}
	.mns-sec-fila .mns-boton,
	.mns-sec-resultado .mns-boton {
		width: 100%;
	}
	.mns-modulo-cuerpo {
		padding: 4px 18px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mns-panel,
	.mns-boton,
	.mns-modulo-cabecera::after {
		transition: none;
	}
}
