/* =========================================================================
   Prográmame-UDIS · marco común novo
   - Todas as clases levan prefixo pu- para non chocar co CSS antigo.
   - Os !important son necesarios: funciones.js pon cores e tamaños en liña
     (style="...") nos botóns, e aquí neutralízanse sen tocar ese JS.
   - O contido interior de cada pantalla (legado) segue co seu ancho fixo,
     centrado, ata que se rehaga.
   ========================================================================= */

:root {
	--pu-marca: #B3261E;
	--pu-cartafol: #0B7A47;
	--pu-programacion: #1A6FD0;
	--pu-udis: #A51D1D;
	--pu-diario: #A3197C;
	--pu-alumnado: #D46A0A;
	--pu-arquivos: #8F6838;

	--pu-texto: #1F2329;
	--pu-texto-2: #4F5763;
	--pu-texto-3: #8A919C;
	--pu-borde: #E1E4E8;
	--pu-fondo: #EEF0F3;
	--pu-branco: #FFFFFF;
	--pu-radio: 14px;
	--pu-fonte: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--pu-acento: var(--pu-cartafol);
}

body[data-pu-zona="cartafoles"]   { --pu-acento: var(--pu-cartafol); }
body[data-pu-zona="programacion"] { --pu-acento: var(--pu-programacion); }
body[data-pu-zona="udis"]         { --pu-acento: var(--pu-udis); }
body[data-pu-zona="diario"]       { --pu-acento: var(--pu-diario); }
body[data-pu-zona="alumnado"]     { --pu-acento: var(--pu-alumnado); }
body[data-pu-zona="arquivos"]     { --pu-acento: var(--pu-arquivos); }

.pu-oculto { display: none !important; }

.pu-icona {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ---------- Contedor xeral: ancho completo, sen auto-zoom ---------- */

#maxi_contenedor.pu-marco {
	width: auto !important;
	max-width: 1800px;
	margin: 0 auto !important;
	padding: 0 16px !important;
	box-sizing: border-box;
	position: relative;
	transform: none !important;
	-ms-transform: none !important;
}

/* indicador de carga e avisos flotantes (antes colocados con marxes negativas) */
#cargando_pagina {
	position: fixed !important;
	top: 14px !important;
	left: 50% !important;
	margin: 0 !important;
	transform: translateX(-50%);
	z-index: 99999 !important;
}

#avisos_mensaxes,
#aviso_codigo_centro {
	position: fixed !important;
	margin-top: 0 !important;
	top: 90px;
	z-index: 9000 !important;
}

/* ---------- Cabeceira da aplicación ---------- */

.pu-cabeceira {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 20px;
	padding: 44px 0 18px;
	font-family: var(--pu-fonte);
}

.pu-titulo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	min-width: 0;
}

.pu-titulo-icona {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--pu-marca);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.pu-titulo-icona .pu-icona { width: 24px; height: 24px; }

.pu-titulo-textos { display: flex; flex-direction: column; min-width: 0; }

.pu-titulo-nome {
	font-size: 24px;
	font-weight: 600;
	color: var(--pu-texto);
	line-height: 1.15;
}

.pu-titulo-sub {
	font-size: 12px;
	color: var(--pu-texto-3);
	margin-top: 2px;
}

.pu-cabeceira-accions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

/* "O teu centro" vai no subtítulo, ao lado de "LOMLOE · xerador de ..." (enlaza ao perfil) */
.pu-centro { color: inherit; cursor: pointer; white-space: nowrap; }
.pu-centro:hover #codigo_centro_usuario { color: var(--pu-texto-2); text-decoration: underline; }

/* usos da intelixencia artificial hoxe (marco_novo.js) */
.pu-usos-ia { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 13px; box-sizing: border-box; border: 1px solid var(--pu-borde); border-radius: 10px; background: #fff; font: 500 13px var(--pu-fonte); color: var(--pu-texto); white-space: nowrap; cursor: pointer; }
.pu-usos-ia:hover { border-color: var(--pu-udis); }
.pu-usos-ia[style*="display: none"], .pu-usos-ia[style*="display:none"] { display: none !important; }
.pu-usos-ia svg { width: 17px; height: 17px; color: var(--pu-udis); }
.pu-usos-ia.pu-usos-ia-poucos { border-color: #EED48A; background: #FCF6E3; }
.pu-usos-ia.pu-usos-ia-esgotados { border-color: #F0B8BC; background: #FDEEEF; color: #B0303A; }
@media (max-width: 700px) { .pu-usos-ia span.pu-usos-ia-txt-longo { display: none; } }

#codigo_centro_usuario {
	margin: 0 !important;
	float: none !important;
	cursor: pointer;
}

.pu-boton-accion {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	height: 36px;
	padding: 0 13px !important;
	margin: 0 !important;
	float: none !important;
	width: auto !important;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: var(--pu-branco) !important;
	color: var(--pu-texto) !important;
	font: 500 13px var(--pu-fonte) !important;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
}

.pu-boton-accion:hover { background: var(--pu-fondo) !important; }

.pu-boton-axuda {
	background: #FFF4D6 !important;
	border-color: #F0D58C;
	color: #6B4E00 !important;
}

.pu-boton-axuda:hover { background: #FCEBB8 !important; }

#boton_app.pu-apps {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 0 0 4px !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	float: none !important;
	background: transparent !important;
}

.pu-apps img {
	height: 22px;
	opacity: 0.55;
	cursor: pointer;
	display: block;
}

.pu-apps img:hover { opacity: 0.9; }

/* ---------- Barra do cartafol (contedor de todo) ---------- */

#caja_superior_botones.pu-barra-cartafol {
	background: var(--pu-cartafol) !important;
	width: auto !important;
	height: auto !important;
	min-height: 54px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding: 8px 14px;
	border-radius: var(--pu-radio) var(--pu-radio) 0 0;
	position: relative;
	box-sizing: border-box;
	color: #fff;
	font-family: var(--pu-fonte);
}

#boton_cursos.pu-miga {
	display: flex !important;
	align-items: center;
	gap: 8px;
	min-width: 0;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 6px 10px !important;
	float: none !important;
	border: 0 !important;
	border-radius: 10px;
	background: transparent !important;
	color: #fff !important;
	font: 400 15px var(--pu-fonte) !important;
	cursor: pointer;
}

#boton_cursos.pu-miga:hover { background: rgba(255, 255, 255, 0.12) !important; }

.pu-miga-raiz {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	opacity: 0.8;
	font-weight: 500;
	white-space: nowrap;
}

body[data-pu-zona="cartafoles"] .pu-miga-raiz { opacity: 1; }

.pu-miga-sep { opacity: 0.6; font-size: 18px; line-height: 1; }

.pu-miga-actual {
	font-weight: 600;
	font-size: 17px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pu-miga:has(#pu_cartafol_nome:empty) .pu-miga-sep { display: none; }

.pu-barra-dereita {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.85);
	min-width: 0;
}

#curso_index_activos_total {
	margin: 0 !important;
	float: none !important;
	color: rgba(255, 255, 255, 0.85) !important;
	white-space: nowrap;
}

#curso_index_activos_total img { filter: brightness(0) invert(1); opacity: 0.8; margin-right: 4px; }

#curso_index_activos {
	margin: 0 !important;
	float: none !important;
	width: auto !important;
	max-width: 320px;
	max-height: 38px;
	overflow-x: hidden;
	overflow-y: auto;
	color: #fff;
}

#chat {
	position: absolute !important;
	margin: 0 !important;
	left: auto !important;
	right: 14px;
	top: calc(100% + 12px);
}

/* ---------- Pestanas de sección (cada zona coa súa cor) ---------- */

.pu-seccions {
	display: flex;
	align-items: flex-end;
	gap: 4px;
	padding: 8px 8px 0;
	background: var(--pu-branco);
	border-left: 1px solid var(--pu-borde);
	border-right: 1px solid var(--pu-borde);
	overflow-x: auto;
	scrollbar-width: none;
	font-family: var(--pu-fonte);
}

.pu-seccions::-webkit-scrollbar { display: none; }

.pu-seccion {
	--pu-c: var(--pu-texto-2);
	display: flex;
	align-items: center;
	gap: 8px;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 11px 16px !important;
	border-radius: 10px 10px 0 0;
	background: transparent !important;
	color: var(--pu-texto-2) !important;
	font: 500 14px var(--pu-fonte) !important;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
	transition: background-color 0.15s;
}

.pu-seccion .pu-icona { color: var(--pu-c); }

.pu-seccion[data-zona="programacion"] { --pu-c: var(--pu-programacion); }
.pu-seccion[data-zona="udis"]         { --pu-c: var(--pu-udis); }
.pu-seccion[data-zona="diario"]       { --pu-c: var(--pu-diario); }
.pu-seccion[data-zona="alumnado"]     { --pu-c: var(--pu-alumnado); }
.pu-seccion[data-zona="arquivos"]     { --pu-c: var(--pu-arquivos); }

.pu-seccion:hover { background: var(--pu-fondo) !important; color: var(--pu-texto) !important; }

.pu-seccion.pu-activa,
.pu-seccion.pu-activa:hover {
	background: var(--pu-c) !important;
	color: #fff !important;
}

.pu-seccion.pu-activa .pu-icona { color: #fff; }

/* ---------- Subpestanas (apartados da UDI, Xerar...) ---------- */

.pu-subpestanas {
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 0 10px;
	background: var(--pu-branco);
	border: 1px solid var(--pu-borde);
	border-top: 3px solid var(--pu-acento);
	overflow-x: auto;
	scrollbar-width: thin;
	font-family: var(--pu-fonte);
}

/* se non hai ningunha subpestana visible queda só a liña de cor */
.pu-subpestanas:not(:has(> .pu-subpestana:not([style*="display: none"]):not([style*="display:none"]))) {
	border-bottom: 0;
	padding: 0;
}

.pu-subpestana {
	display: flex;
	align-items: center;
	gap: 7px;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 13px 12px 11px !important;
	border-bottom: 2px solid transparent;
	background: transparent !important;
	color: var(--pu-texto-2) !important;
	font: 500 13px var(--pu-fonte) !important;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
}

.pu-subpestana:hover { color: var(--pu-texto) !important; }

.pu-subpestana.pu-activa {
	color: var(--pu-acento) !important;
	border-bottom-color: var(--pu-acento);
}

.pu-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	box-sizing: border-box;
	border-radius: 10px;
	background: var(--pu-fondo);
	color: var(--pu-texto-2);
	font-size: 11px;
	font-weight: 600;
}

.pu-subpestana.pu-activa .pu-num {
	background: var(--pu-acento);
	color: #fff;
}

#boton_tipo_udi_tarefa img { vertical-align: middle; }

/* Xerar: botón de acción á dereita */
#boton_xerar.pu-subpestana {
	margin: 8px 0 8px auto !important;
	padding: 8px 16px !important;
	border: 0;
	border-radius: 9px;
	background: var(--pu-acento) !important;
	color: #fff !important;
}

#boton_xerar.pu-subpestana:hover { filter: brightness(1.08); }

#boton_xerar.pu-subpestana.pu-activa {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-acento) 25%, transparent);
}

/* ---------- Zona de contido (legado: ancho fixo centrado) ---------- */

#contenedor.pu-contenedor {
	position: relative;
	width: auto !important;
	min-width: 1190px;
	min-height: 200px;
	box-sizing: border-box;
	padding: 20px max(20px, calc((100% - 1150px) / 2)) !important;
	background: var(--pu-fondo) !important;
	border: 1px solid var(--pu-borde);
	border-top: 0;
	border-radius: 0 0 var(--pu-radio) var(--pu-radio);
}

/* ---------- Pantallas estreitas ---------- */

@media (max-width: 700px) {
	.pu-cabeceira { padding: 14px 0 12px; }
	.pu-titulo-nome { font-size: 20px; }
	.pu-titulo-icona { width: 38px; height: 38px; }
	.pu-boton-accion .pu-texto-largo { display: none; }
	.pu-barra-dereita { display: none; }
	.pu-seccion { padding: 10px 12px !important; }
}

/* =========================================================================
   Pantalla de escoller etapa (lanzadera_novo.php)
   ========================================================================= */

#maxi_contenedor.pu-lanzadera {
	max-width: 880px;
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
	font-family: var(--pu-fonte);
}

.pu-l-cabeceira { padding: 8px 0 4px; text-align: center; }

.pu-l-nome {
	font-size: 34px;
	font-weight: 600;
	color: var(--pu-texto);
	letter-spacing: -0.01em;
	font-family: var(--pu-fonte);
}

.pu-l-sub {
	margin-top: 4px;
	font-size: 13px;
	color: var(--pu-texto-3);
	font-family: var(--pu-fonte);
}

.pu-l-sub a { color: var(--pu-marca); text-decoration: none; }

.pu-l-pregunta {
	margin: 22px 0 26px;
	font-size: 16px;
	color: var(--pu-texto-2);
	text-align: center;
	font-family: var(--pu-fonte);
}

.pu-l-etapas {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.pu-l-etapa {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 22px;
	background: var(--pu-branco);
	border: 1px solid var(--pu-borde);
	border-radius: 16px;
	text-decoration: none;
	color: var(--pu-texto);
	transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}

.pu-l-etapa:hover {
	border-color: var(--pu-marca);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(179, 38, 30, 0.10);
}

.pu-l-etapa-icona {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #FCEBEA;
	color: var(--pu-marca);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.pu-l-etapa-icona .pu-icona { width: 26px; height: 26px; }

.pu-l-etapa-textos { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }

.pu-l-etapa-nome { font-size: 20px; font-weight: 600; }

.pu-l-etapa-sub { font-size: 13px; color: var(--pu-texto-3); }

/* número de áreas ou materias de cada etapa (lanzadera.php) */
.pu-l-etapa-conta { flex: 0 0 auto; padding: 4px 10px; border-radius: 999px; background: #F1F3F4; color: var(--pu-texto-2); font-size: 12px; font-weight: 600; white-space: nowrap; opacity: 0.6; }

.pu-l-etiqueta {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 6px;
	background: var(--pu-fondo);
	color: var(--pu-texto-2);
	font-size: 11px;
	font-weight: 500;
	vertical-align: 3px;
}

.pu-l-chevron { color: var(--pu-texto-3); }

.pu-l-etapa:hover .pu-l-chevron { color: var(--pu-marca); }

.pu-l-info {
	display: flex;
	gap: 12px;
	margin-top: 26px;
	padding: 16px 18px;
	background: var(--pu-branco);
	border: 1px solid var(--pu-borde);
	border-radius: 14px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--pu-texto-2);
	text-align: left;
}

.pu-l-info > .pu-icona { color: var(--pu-texto-3); margin-top: 1px; }

.pu-l-info a { color: var(--pu-marca); text-decoration: none; }

.pu-l-info a:hover { text-decoration: underline; }

.pu-l-axuda {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
	margin: 28px 0 30px;
}

.pu-l-plataformas {
	width: 100%;
	max-width: 380px;
	border-radius: 18px;
}

@media (max-width: 640px) {
	.pu-l-nome { font-size: 28px; }
	.pu-l-etapas { grid-template-columns: 1fr; }
	.pu-l-etapa { padding: 16px; }
}

/* ---------- Acceso (sen sesión iniciada) ---------- */

.pu-l-acceso { margin: 0 auto; font-family: var(--pu-fonte); }

.pu-l-acceso .pu-l-pregunta a { color: var(--pu-marca); text-decoration: none; font-weight: 500; }

.pu-l-nota { font-size: 12px; color: var(--pu-texto-3); }

.pu-l-acceso-caixas {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	gap: 16px;
	text-align: left;
}

.pu-l-caixa {
	display: flex;
	flex-direction: column;
	padding: 22px;
	background: var(--pu-branco);
	border: 1px solid var(--pu-borde);
	border-radius: 16px;
}

.pu-l-caixa-titulo {
	font-size: 16px;
	font-weight: 600;
	color: var(--pu-texto);
	margin-bottom: 14px;
}

.pu-l-form { display: flex; flex-direction: column; margin: 0; }

.pu-l-etiqueta-campo {
	font-size: 12px;
	font-weight: 500;
	color: var(--pu-texto-2);
	margin-bottom: 5px;
}

.pu-l-campo {
	height: 40px;
	padding: 0 12px;
	margin: 0 0 14px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #FAFBFC;
	font: 15px var(--pu-fonte);
	color: var(--pu-texto);
	box-sizing: border-box;
	width: 100%;
	outline: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.pu-l-campo:focus {
	border-color: var(--pu-marca);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(179, 38, 30, 0.12);
}

.pu-l-fila-contrasinal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.pu-l-ver {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: var(--pu-texto-3);
	cursor: pointer;
}

.pu-l-ver input { margin: 0; }

.pu-l-entrar {
	height: 42px;
	margin-top: 4px;
	border: 0;
	border-radius: 10px;
	background: var(--pu-marca);
	color: #fff;
	font: 600 15px var(--pu-fonte);
	cursor: pointer;
}

.pu-l-entrar:hover { filter: brightness(1.08); }

.pu-l-recuperar {
	margin-top: 12px;
	font-size: 12px;
	color: var(--pu-texto-3);
	text-decoration: none;
	text-align: center;
}

.pu-l-recuperar:hover { color: var(--pu-texto-2); text-decoration: underline; }

.pu-l-ou {
	align-self: center;
	font-size: 12px;
	color: var(--pu-texto-3);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.pu-l-caixa-qr { align-items: center; text-align: center; }

.pu-l-qr-texto {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--pu-texto-2);
}

.pu-l-qr-texto a { color: var(--pu-marca); text-decoration: none; }

.pu-l-qr {
	height: 130px;
	cursor: pointer;
	border-radius: 10px;
	margin-top: auto;
}

@media (max-width: 640px) {
	.pu-l-acceso-caixas { grid-template-columns: 1fr; }
	.pu-l-ou { justify-self: center; }
}

/* =========================================================================
   Compoñentes comúns das pantallas rehechas
   ========================================================================= */

/* cando a pantalla visible xa está rehecha, o contido usa o ancho completo */
#contenedor.pu-contenedor:has(> .pu-pantalla:not([style*="display: none"]):not([style*="display:none"])) {
	min-width: 0;
	padding: 20px !important;
}

.pu-pantalla {
	font-family: var(--pu-fonte);
	color: var(--pu-texto);
	height: auto !important;
}

.pu-tarxeta {
	background: var(--pu-branco);
	border: 1px solid var(--pu-borde);
	border-radius: var(--pu-radio);
	padding: 16px 18px;
	box-sizing: border-box;
}

.pu-tarxeta-titulo {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 600;
	color: var(--pu-texto);
}

.pu-tarxeta-subtitulo {
	margin-top: 3px;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--pu-texto-3);
}

.pu-campo {
	height: 38px;
	padding: 0 12px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #FAFBFC;
	font: 14px var(--pu-fonte);
	color: var(--pu-texto);
	box-sizing: border-box;
	outline: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.pu-campo:focus {
	border-color: var(--pu-acento);
	background: #fff;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-acento) 15%, transparent);
}

.pu-select {
	height: 34px;
	padding: 0 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 13px var(--pu-fonte);
	color: var(--pu-texto-2);
	cursor: pointer;
}

.pu-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 38px;
	padding: 0 14px;
	border-radius: 10px;
	font: 600 13px var(--pu-fonte);
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
	box-sizing: border-box;
}

.pu-boton:hover { filter: brightness(1.08); }

.pu-boton-cartafol { background: var(--pu-cartafol); color: #fff; }

.pu-segmentado {
	display: flex;
	gap: 2px;
	padding: 3px;
	border-radius: 10px;
	background: var(--pu-fondo);
}

.pu-segmentado > div {
	flex: 1;
	padding: 6px 4px;
	border-radius: 8px;
	text-align: center;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--pu-texto-2);
	cursor: pointer;
	user-select: none;
	opacity: 1 !important;
}

.pu-segmentado > div:hover { color: var(--pu-texto); }

.pu-segmentado > div.pu-on {
	background: #fff;
	color: var(--pu-acento);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.pu-ligazon-pequena {
	font-size: 12px;
	color: var(--pu-texto-3);
	cursor: pointer;
}

.pu-ligazon-pequena:hover { color: var(--pu-texto-2); text-decoration: underline; }

/* pastillas xeradas por funciones.js (niveis, áreas): só se cambia a forma;
   as cores de fondo que levan significado (optativa, libre elección) mantéñense */
.pu-pastillas { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }

.pu-pastillas > div {
	float: none !important;
	margin: 0 !important;
	padding: 5px 10px !important;
	border-radius: 7px !important;
	border: 1px solid transparent;
	font: 500 12px var(--pu-fonte);
	color: var(--pu-texto-2) !important;
	cursor: pointer;
	white-space: nowrap;
}

.pu-pastillas > div font { font: inherit !important; color: inherit !important; }

.pu-pastillas > div[style*="background-color: rgb(216, 216, 216)"],
.pu-pastillas > div[style*="background-color:#D8D8D8"],
.pu-pastillas > div[style*="background-color: rgb(248, 234, 234)"],
.pu-pastillas > div[style*="background-color:#F8EAEA"] {
	background-color: var(--pu-fondo) !important;
}

.pu-pastillas > div[style*="background-color: white"],
.pu-pastillas > div[style*="background-color:white"] {
	background-color: #fff !important;
	border-color: var(--pu-acento);
	color: var(--pu-acento) !important;
}

/* =========================================================================
   Pantalla de Cartafoles
   ========================================================================= */

.pu-cf-columnas {
	display: grid;
	grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.pu-cf-esquerda { position: relative; }

.pu-cf-esquerda > .pu-tarxeta { display: flex; flex-direction: column; gap: 12px; }

.pu-cf-crear { display: flex; gap: 8px; }

.pu-cf-crear .pu-campo { flex: 1; min-width: 0; }

.pu-cf-orde {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: -2px;
}

.pu-cf-orde-select {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--pu-texto-3);
	min-width: 0;
}

.pu-cf-orde-select .pu-icona { width: 15px; height: 15px; }

.pu-cf-orde-select select {
	border: 0;
	background: transparent;
	font: 12.5px var(--pu-fonte);
	color: var(--pu-texto-2);
	cursor: pointer;
	padding: 2px 0;
	max-width: 100%;
	outline: none;
}

/* lista */
#caixa_cursos.pu-cf-lista {
	height: auto !important;
	max-height: 460px;
	min-height: 120px;
	overflow-y: auto;
	margin: 0 -8px;
	padding: 0 4px;
	background: transparent !important;
	width: auto !important;
}

.pu-cf-fila {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 3px 4px 3px 6px;
	border-radius: 10px;
	transition: background-color 0.12s;
}

.pu-cf-fila:hover { background: var(--pu-fondo); }

.pu-cf-fila:has(.cajita_cursos_activo) {
	background: color-mix(in srgb, var(--pu-cartafol) 10%, white);
	box-shadow: inset 3px 0 0 var(--pu-cartafol);
}

.pu-cf-asa {
	display: flex;
	margin-left: -2px;
	color: var(--pu-texto-3);
	cursor: grab;
	opacity: 0.35;
	transition: opacity 0.12s;
}

.pu-cf-asa .pu-icona { width: 16px; height: 16px; }

.pu-cf-fila:hover .pu-cf-asa { opacity: 1; }

.pu-cf-asa:hover { color: var(--pu-cartafol); }

.pu-cf-fila.ui-sortable-helper {
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
	cursor: grabbing;
}

.pu-cf-fila.ui-sortable-helper .pu-cf-asa { cursor: grabbing; opacity: 1; color: var(--pu-cartafol); }

.pu-cf-fila-oco {
	border: 2px dashed color-mix(in srgb, var(--pu-cartafol) 45%, transparent);
	border-radius: 10px;
	background: color-mix(in srgb, var(--pu-cartafol) 6%, white);
	visibility: visible !important;
	box-sizing: border-box;
}

#caixa_cursos.pu-cf-gardando { opacity: 0.55; pointer-events: none; }

.pu-cf-icona {
	position: relative;
	display: flex;
	color: var(--pu-texto-3);
	flex-shrink: 0;
}

.pu-cf-fila:has(.cajita_cursos_activo) .pu-cf-icona { color: var(--pu-cartafol); }

.pu-cf-icona .pu-cf-candado {
	position: absolute;
	right: -5px;
	bottom: -3px;
	width: 11px;
	height: 11px;
	padding: 1px;
	border-radius: 4px;
	background: #fff;
	color: var(--pu-texto-2);
	stroke-width: 2.4;
}

/* nome do cartafol (as clases cajita_cursos* ponas tamén ver_curso) */
#caixa_cursos .cajita_cursos,
#caixa_cursos .cajita_cursos_activo {
	all: unset;
	flex: 1;
	min-width: 0;
	padding: 8px 4px;
	font: 14px var(--pu-fonte);
	color: var(--pu-texto);
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#caixa_cursos .cajita_cursos_activo { font-weight: 600; color: #08542F; }

.pu-cf-accions {
	display: flex;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
}

.pu-cf-accion {
	display: flex;
	padding: 5px;
	border-radius: 7px;
	color: var(--pu-texto-3);
	cursor: pointer;
	background-color: transparent !important;
}

.pu-cf-accion .pu-icona { width: 17px; height: 17px; }

.pu-cf-accion:hover { color: var(--pu-texto); background-color: rgba(0, 0, 0, 0.05) !important; }

.pu-cf-compartido { color: var(--pu-cartafol); }

.pu-cf-sen-click { cursor: default; }

.pu-cf-sen-click:hover { background-color: transparent !important; color: var(--pu-texto-3); }

/* o cartafol que se está a xestionar (ver_compartido pono en amarelo) */
.pu-cf-accion[style*="yellow"] { color: var(--pu-cartafol); box-shadow: 0 0 0 2px color-mix(in srgb, var(--pu-cartafol) 30%, transparent); }

.pu-cf-cargando,
.pu-cf-baleiro {
	padding: 16px 8px;
	font-size: 13px;
	color: var(--pu-texto-3);
	text-align: center;
}

.pu-cf-cargando img { vertical-align: middle; margin-right: 6px; }

.pu-cf-lenda {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	padding-top: 10px;
	border-top: 1px solid var(--pu-borde);
	font-size: 11.5px;
	color: var(--pu-texto-3);
}

.pu-cf-lenda span { display: inline-flex; align-items: center; gap: 4px; }

.pu-cf-lenda .pu-icona { width: 14px; height: 14px; }

/* situación curricular */
.pu-cf-situacion { display: flex; flex-direction: column; gap: 12px; min-width: 0; }

.pu-cf-situacion-cabeceira {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.pu-cf-filtros {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--pu-borde);
}

.pu-cf-filtros > #botons_cursos_portada,
.pu-cf-filtros > #botons_areas_portada {
	position: static !important;
	height: auto !important;
	width: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	min-height: 0 !important;
}

.pu-cf-filtros-separador { width: 1px; height: 20px; background: var(--pu-borde); }

/* nome completo da área escollida (pu_nome_area_portada en funciones.js) */
/* fila propia debaixo dos niveis e das áreas: nome á esquerda, "Só os non traballados" á dereita */
.pu-cf-pe-filtros { flex: 0 0 100%; display: flex; align-items: center; gap: 10px; }
.pu-cf-nome-area { flex: 1 1 auto; min-width: 0; align-self: flex-end; padding-top: 10px; margin-bottom: -6px; text-align: left; font: 400 12px var(--pu-fonte); color: #9AA0A6; }

.pu-cf-non-traballados {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	font-size: 12.5px;
	color: var(--pu-texto-2);
	cursor: pointer;
	white-space: nowrap;
}

/* táboa xerada por mostrar_lista_indicadores_portada (funciones.js) */
#indicadores_portada.pu-cf-taboa {
	position: relative;
	height: auto !important;
	max-height: 560px;
	width: auto !important;
	padding: 0 4px 0 0 !important;
	overflow-y: auto;
	overflow-x: hidden;
	font-family: var(--pu-fonte);
}

#indicadores_portada > div[style*="float:left"] {
	box-sizing: border-box;
	border: 0 !important;
	height: auto !important;
	min-height: 22px;
	max-height: 64px;
	margin-top: 0 !important;
	padding: 6px 8px !important;
	overflow-y: auto !important;
	font-size: 12.5px;
	line-height: 1.45;
}

#indicadores_portada > div font { font: inherit !important; }

#indicadores_portada > div[style*="width:80px"]  { width: 13% !important; font-weight: 600; }
#indicadores_portada > div[style*="width:200px"] { width: 45% !important; }
#indicadores_portada > div[style*="width:300px"] { width: 59% !important; }
#indicadores_portada > div[style*="width:150px"] { width: 26% !important; }
#indicadores_portada > div[style*="width:100px"] { width: 16% !important; }

/* cabeceira da táboa (primeira fila, en vermello no orixinal) */
#indicadores_portada > div[style*="float:left"] font[color="#B50808"],
#indicadores_portada > div[style*="float:left"] font[color=" #B50808"] {
	color: var(--pu-texto-3) !important;
	font-size: 11.5px !important;
	font-weight: 500;
}

/* separación entre filas */
#indicadores_portada > div[style*="clear:both; height:5px"] {
	height: 0 !important;
	margin-bottom: 2px;
	border-bottom: 1px solid var(--pu-borde);
}

/* título de bloque */
#indicadores_portada > div[style="margin-top:10px"],
#indicadores_portada > div[style="margin-top:10px;"] {
	margin-top: 26px !important;
	padding: 6px 10px;
	border-radius: 8px;
	background: var(--pu-fondo);
	font-size: 12.5px;
	font-weight: 500;
	color: var(--pu-texto-2);
}

/* datas de avaliación */
.pu-cf-datas {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px 24px;
	margin-top: 16px;
}

.pu-cf-datas-texto { flex: 1; min-width: 240px; }

.pu-cf-datas-texto .pu-icona { color: var(--pu-cartafol); }

#caixa_curso_datas_avaliacion.pu-cf-datas-campos {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	height: auto !important;
	width: auto !important;
	background: transparent !important;
	overflow: visible !important;
}

.pu-cf-datas-campos label {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 500;
	color: var(--pu-texto-2);
}

.pu-cf-datas-campos .pu-campo { width: 130px; text-align: center; cursor: pointer; }

@media (max-width: 900px) {
	.pu-cf-columnas { grid-template-columns: 1fr; }
	#xestionar_grupo { left: 0; top: 100%; width: 100% !important; }
}

/* na pantalla de cartafoles non hai nada que xerar (funciones.js amosa o botón ao escoller un cartafol) */
body[data-pu-zona="cartafoles"] #boton_xerar { display: none !important; }

/* ---------- Marcas da táboa de situación (veñen de operacions.php) ---------- */

#indicadores_portada > div[id^="portada_udis_indicador_"],
#indicadores_portada > div[id^="portada_udis_avaliado_indicador_"] {
	display: flex !important;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: center;
	gap: 4px;
}

#indicadores_portada > div[id^="portada_udis_indicador_"] > div,
#indicadores_portada > div[id^="portada_udis_avaliado_indicador_"] > div {
	float: none !important;
	margin: 0 !important;
	width: 14px !important;
	height: 14px !important;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}

#indicadores_portada > div[id^="portada_udis_avaliado_indicador_"] > div { border-radius: 50%; }

/* semanas no diario de clase: "9s" */
#indicadores_portada > div[id^="portada_udis_indicador_"] > div[id^="no_diario_aula_"] {
	width: auto !important;
	height: 18px !important;
	padding: 0 7px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: color-mix(in srgb, var(--pu-diario) 12%, white) !important;
	color: var(--pu-diario) !important;
	font: 600 11px/18px var(--pu-fonte) !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

/* ---------- Panel "Xestionar o cartafol" ---------- */

#xestionar_grupo.pu-cf-panel {
	position: absolute;
	left: calc(100% + 12px);
	top: 0;
	z-index: 999;
	width: min(720px, 72vw);
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--pu-borde);
	border-radius: var(--pu-radio);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
	font-family: var(--pu-fonte);
	box-sizing: border-box;
}

.pu-cf-panel-cabeceira {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	border-bottom: 1px solid var(--pu-borde);
}

.pu-cf-panel-cabeceira .pu-tarxeta-titulo .pu-icona { color: var(--pu-cartafol); }

.pu-cf-panel-pechar {
	display: flex;
	padding: 6px;
	border-radius: 8px;
	color: var(--pu-texto-3);
	cursor: pointer;
}

.pu-cf-panel-pechar:hover { background: var(--pu-fondo); color: var(--pu-texto); }

.pu-cf-panel-corpo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.pu-cf-panel-col { padding: 6px 18px 16px; }

.pu-cf-panel-col + .pu-cf-panel-col { border-left: 1px solid var(--pu-borde); }

.pu-cf-panel-seccion { padding: 12px 0; }

.pu-cf-panel-seccion + .pu-cf-panel-seccion { border-top: 1px solid var(--pu-borde); }

.pu-cf-panel-etiqueta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pu-texto);
}

.pu-cf-contador {
	padding: 1px 8px;
	border-radius: 9px;
	background: color-mix(in srgb, var(--pu-cartafol) 12%, white);
	color: var(--pu-cartafol);
	font-size: 11.5px;
	font-weight: 600;
}

.pu-cf-contador:empty { display: none; }

.pu-cf-panel-axuda {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--pu-texto-3);
}

.pu-cf-panel-axuda a { color: var(--pu-cartafol); text-decoration: none; }

.pu-cf-panel-axuda a:hover { text-decoration: underline; }

/* nome do cartafol (textarea e botón postos por ver_compartido) */
#editar_nome_cartafol textarea {
	display: block;
	width: 100% !important;
	height: 40px !important;
	min-height: 40px;
	margin: 0 !important;
	padding: 9px 12px;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 10px !important;
	background: #FAFBFC;
	font: 14px var(--pu-fonte);
	color: var(--pu-texto);
	box-sizing: border-box;
	resize: vertical;
	outline: none;
}

#editar_nome_cartafol textarea:focus {
	border-color: var(--pu-cartafol) !important;
	background: #fff;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-cartafol) 15%, transparent);
}

#boton_ok_gardar_nome {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	height: 32px;
	margin: 8px 0 0 !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--pu-cartafol);
	font-size: 0 !important;
	cursor: pointer;
}

#boton_ok_gardar_nome::before { content: "Gardar nome"; font: 600 13px var(--pu-fonte); color: #fff; }

#boton_ok_gardar_nome img { height: 14px; margin-left: 6px; }

#boton_ok_gardar_nome:hover { filter: brightness(1.08); }

/* opcións: bloqueado / centro (postas por ver_compartido) */
.pu-cf-opcion {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 6px 0;
	width: auto !important;
	margin: 0 !important;
}

.pu-cf-opcion input { float: none !important; margin: 2px 0 0 !important; flex-shrink: 0; cursor: pointer; accent-color: var(--pu-cartafol); }

.pu-cf-opcion img { float: none !important; margin: 0 !important; height: 16px !important; width: auto !important; opacity: 0.7; flex-shrink: 0; }

.pu-cf-opcion font { font-size: 0 !important; }

.pu-cf-opcion font::after { font: 13px/1.45 var(--pu-fonte); color: var(--pu-texto-2); }

#bloqueado font::after { content: "Bloqueado: impide o acceso. Só se poderán copiar as UD-UDIs, os perfís e a programación."; }

#colexio font::after { content: "Cartafol de centro: engade a icona identificativa."; }

/* engadir usuario / código de centro */
.pu-cf-engadir { display: flex; gap: 8px; margin-top: 10px; }

.pu-cf-engadir .pu-campo { flex: 1; min-width: 0; height: 36px; }

.pu-boton-secundario {
	height: 36px;
	border: 1px solid color-mix(in srgb, var(--pu-cartafol) 40%, white);
	background: #fff;
	color: var(--pu-cartafol);
	font-size: 0 !important;
}

.pu-boton-secundario::before { content: "Engadir"; font: 600 13px var(--pu-fonte); }

.pu-boton-secundario:hover { background: color-mix(in srgb, var(--pu-cartafol) 8%, white); filter: none; }

.pu-boton-secundario img { height: 12px; }

/* lista de convidados (posta por ver_compartido): avatar, nome, quitar */
#contenedor_grupo_cartafol.pu-cf-convidados {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr) auto 0;
	align-items: center;
	column-gap: 8px;
	row-gap: 2px;
	width: auto !important;
	height: auto !important;
	max-height: 230px;
	margin-top: 10px !important;
	overflow-y: auto;
	font-family: var(--pu-fonte);
}

#contenedor_grupo_cartafol > img {
	float: none !important;
	width: 26px !important;
	height: 26px !important;
	margin: 0 !important;
	border-radius: 50%;
	object-fit: cover;
}

#contenedor_grupo_cartafol > div:not([style*="clear"]) { float: none !important; margin: 0 !important; }

#contenedor_grupo_cartafol > div[style*="background-color:#f8f8f8"] {
	width: auto !important;
	padding: 6px 0 !important;
	background: transparent !important;
	font: 13.5px var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#contenedor_grupo_cartafol > div[onclick^="quitar_permiso_usuario"] {
	width: auto !important;
	padding: 4px 10px !important;
	border: 0 !important;
	border-radius: 8px !important;
	color: var(--pu-texto-3) !important;
	font-size: 0 !important;
}

#contenedor_grupo_cartafol > div[onclick^="quitar_permiso_usuario"]::before { content: "Quitar"; font: 500 12px var(--pu-fonte); }

#contenedor_grupo_cartafol > div[onclick^="quitar_permiso_usuario"]:hover { background: #FCEBEA; color: var(--pu-marca) !important; }

#contenedor_grupo_cartafol > div[style*="clear"] { height: 0 !important; }

/* =========================================================================
   Pé da aplicación
   ========================================================================= */

.pu-pe {
	margin: 18px 0 30px;
	font-family: var(--pu-fonte);
	color: var(--pu-texto-2);
}

.pu-pe-barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 16px;
	padding: 0 4px 18px;
	border-bottom: 1px solid var(--pu-borde);
}

.pu-pe-lenda,
.pu-pe-ligazons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.pu-pe-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 11px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font-size: 12.5px;
	color: var(--pu-texto-2);
}

.pu-pe-chip i {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 3px;
}

.pu-pe-chip-check { cursor: pointer; }

.pu-pe-chip-check input { margin: 0; accent-color: var(--pu-acento); cursor: pointer; }

.pu-pe-chip a { color: var(--pu-marca); text-decoration: none; }

.pu-pe-ligazon {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 34px;
	padding: 0 13px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #fff;
	font: 500 13px var(--pu-fonte);
	color: var(--pu-texto) !important;
	text-decoration: none;
}

.pu-pe-ligazon .pu-icona { width: 16px; height: 16px; color: var(--pu-texto-3); }

.pu-pe-ligazon:hover { background: var(--pu-fondo); }

#maxi_texto.pu-pe-info {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	padding: 22px 4px 8px;
	position: static !important;
	left: 0 !important;
	width: auto !important;
}

.pu-pe-titulo {
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pu-texto-3);
}

.pu-pe-bloque p {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--pu-texto-2);
}

.pu-pe-bloque a { color: var(--pu-marca); text-decoration: none; }

.pu-pe-bloque a:hover { text-decoration: underline; }

.pu-pe-colaboran { color: var(--pu-texto) !important; }

.pu-pe-creditos {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--pu-borde);
	text-align: center;
	font-size: 12px;
	color: var(--pu-texto-3);
}

.pu-pe-creditos a { color: inherit; text-decoration: none; }

.pu-pe-creditos a:hover { color: var(--pu-texto-2); }

@media (max-width: 900px) {
	#maxi_texto.pu-pe-info { grid-template-columns: 1fr; gap: 14px; }
	#xestionar_grupo.pu-cf-panel { left: 0; top: 100%; width: 100%; }
	.pu-cf-panel-corpo { grid-template-columns: 1fr; }
	.pu-cf-panel-col + .pu-cf-panel-col { border-left: 0; border-top: 1px solid var(--pu-borde); }
}

/* sen liñas sobrantes: a do principio da táboa (xa está a dos filtros) e a de debaixo do título de bloque */
#indicadores_portada > div[style*="clear:both; height:5px"]:first-child,
#indicadores_portada > div[style^="margin-top:10px"] + div[style*="clear:both"] {
	border-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* nomes de cartafol longos: que nunca ensanchen a páxina */
#boton_cursos.pu-miga { max-width: 100%; box-sizing: border-box; }
.pu-miga-actual { min-width: 0; }
.pu-cf-esquerda, .pu-cf-dereita { min-width: 0; }

@media (max-width: 900px) {
	.pu-cf-columnas { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 700px) {
	#caja_superior_botones.pu-barra-cartafol { padding: 8px 10px; }
	#boton_cursos.pu-miga { flex-wrap: wrap; row-gap: 2px; padding: 6px !important; }
	.pu-miga-actual { white-space: normal; overflow-wrap: anywhere; font-size: 15px; line-height: 1.3; }
	.pu-cf-crear .pu-boton span { display: none; }
}
.pu-cf-orde-select { flex: 1; }
.pu-cf-orde-select select { flex: 1; min-width: 0; width: 100%; text-overflow: ellipsis; }

/* o primeiro bloque, xusto debaixo da cabeceira da táboa, non precisa tanto */
#indicadores_portada > div[style*="clear:both; height:2px"] + div[style^="margin-top:10px"] { margin-top: 12px !important; }

/* =========================================================================
   Pantalla da lista de UD-UDIs
   ========================================================================= */

.pu-boton-udis { background: var(--pu-udis); color: #fff; }

.pu-boton-ud { background: #5B6470; color: #fff; }

.pu-boton-ia {
	background: #fff;
	color: var(--pu-udis);
	border: 1px solid color-mix(in srgb, var(--pu-udis) 40%, white);
}

.pu-boton-ia:hover { background: color-mix(in srgb, var(--pu-udis) 6%, white); filter: none; }

.pu-boton-contorno {
	background: #fff;
	color: var(--pu-texto);
	border: 1px solid var(--pu-borde);
	font-weight: 500;
}

.pu-boton-contorno:hover { background: var(--pu-fondo); filter: none; }

.pu-boton-contorno .pu-icona { width: 16px; height: 16px; color: var(--pu-texto-3); }

.pu-boton-pequeno { height: 32px; padding: 0 11px; font-size: 12.5px; }

.pu-ud-columna {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pu-ud-tarxeta { position: relative; display: flex; flex-direction: column; gap: 14px; }

.pu-ud-cabeceira {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.pu-ud-cabeceira .pu-tarxeta-titulo .pu-icona { color: var(--pu-udis); }

.pu-ud-crear {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	padding: 12px;
	border-radius: 12px;
	background: var(--pu-fondo);
}

.pu-ud-crear .pu-campo { flex: 1 1 320px; min-width: 0; background: #fff; }

.pu-ud-crear-botons { display: flex; gap: 8px; flex-wrap: wrap; }

/* lista */
.pu-ud-lista {
	display: flex;
	flex-direction: column;
	max-height: 520px;
	overflow-y: auto;
	margin: 0 -6px;
	padding: 0 2px;
}

.pu-ud-fila {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 3px 6px;
	border-radius: 10px;
	transition: background-color 0.12s;
}

.pu-ud-fila:hover { background: var(--pu-fondo); }

.pu-ud-estrela {
	display: flex;
	padding: 4px;
	border-radius: 7px;
	color: #C9CDD3;
	cursor: pointer;
}

.pu-ud-estrela .pu-icona { width: 18px; height: 18px; }

.pu-ud-estrela:hover { color: var(--pu-texto-3); }

.pu-ud-estrela.pu-on { color: #2E9E5B; }

.pu-ud-estrela.pu-on .pu-icona { fill: currentColor; }

.pu-ud-estrela img { height: 14px; }

.pu-ud-cor {
	display: inline-block;
	width: 6px;
	height: 26px;
	border-radius: 3px;
	flex-shrink: 0;
	cursor: pointer;
	transition: transform 0.12s;
}

.pu-ud-cor:hover { transform: scaleX(1.6); }

#caixa_udis .cajita_udi_2 {
	all: unset;
	flex: 1;
	min-width: 0;
	padding: 9px 4px;
	font: 14.5px var(--pu-fonte);
	color: var(--pu-texto);
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#caixa_udis .cajita_udi_2:hover { color: var(--pu-udis); }

.pu-ud-tipo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 20px;
	padding: 0 6px;
	border-radius: 6px;
	font: 700 10.5px var(--pu-fonte);
	letter-spacing: 0.04em;
	box-sizing: border-box;
	flex-shrink: 0;
}

.pu-ud-tipo-udi { background: #FCEBEA; color: var(--pu-udis); }

.pu-ud-tipo-ud { background: #ECEEF1; color: #4A525D; }

.pu-ud-tipo-boton { display: flex; cursor: pointer; border-radius: 7px; }

.pu-ud-tipo-boton:hover .pu-ud-tipo { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pu-udis) 25%, transparent); }

.pu-ud-tipo-boton img { height: 14px; }

.pu-ud-accion {
	display: flex;
	padding: 5px;
	border-radius: 7px;
	color: var(--pu-texto-3);
	cursor: pointer;
}

.pu-ud-accion .pu-icona { width: 17px; height: 17px; }

.pu-ud-accion:hover { color: var(--pu-texto); background: rgba(0, 0, 0, 0.05); }

.pu-ud-publica {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 8px;
	border-radius: 8px;
	font-size: 12px;
	color: var(--pu-texto-3);
	cursor: pointer;
	white-space: nowrap;
}

.pu-ud-publica input { margin: 0; accent-color: var(--pu-udis); cursor: pointer; }

.pu-ud-publica:has(input:checked) { color: var(--pu-udis); background: #FCEBEA; }

/* mover a outro cartafol (contido posto por mover_udi) */
.pu-ud-mover:not([style*="display: none"]):not([style*="display:none"]) {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 2px 6px 8px 48px;
	padding: 8px 12px;
	border-radius: 10px;
	background: var(--pu-fondo);
	height: auto !important;
	font-family: var(--pu-fonte);
}

.pu-ud-mover font { font: 12.5px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }

.pu-ud-mover a { margin-right: 4px !important; }

.pu-ud-mover a font { font-size: 15px !important; }

.pu-ud-mover select {
	height: 32px;
	padding: 0 8px;
	border: 1px solid var(--pu-borde);
	border-radius: 8px;
	background: #fff;
	font: 13px var(--pu-fonte);
}

.pu-ud-lenda {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	padding-top: 10px;
	border-top: 1px solid var(--pu-borde);
	font-size: 11.5px;
	color: var(--pu-texto-3);
}

.pu-ud-lenda > span { display: inline-flex; align-items: center; gap: 6px; }

.pu-ud-lenda .pu-ud-tipo { min-width: 26px; height: 17px; font-size: 9.5px; }

.pu-ud-estrela-lenda { width: 14px; height: 14px; color: #2E9E5B; fill: currentColor; }

.pu-ud-cor-lenda { height: 14px; width: 5px; background: linear-gradient(#A462D6, #5BA3A3); cursor: default; }

/* panel copiar unha UD-UDI */
#panel_copiar.pu-ud-panel {
	position: absolute;
	inset: 60px 16px auto 16px;
	z-index: 50;
	max-height: 70vh;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--pu-borde);
	border-radius: var(--pu-radio);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
	font-family: var(--pu-fonte);
}

#panel_copiar.pu-ud-panel[style*="display: none"],
#panel_copiar.pu-ud-panel[style*="display:none"] { display: none !important; }

.pu-ud-panel-axuda { padding: 10px 18px 0; }

#panel_copiar_dentro.pu-ud-panel-dentro {
	flex: 1;
	min-height: 120px;
	height: auto !important;
	margin: 0 !important;
	padding: 10px 18px 16px;
	overflow-y: auto;
	overflow-x: hidden;
}

#panel_copiar_dentro > div[style*="float:left"] { float: none !important; }

#panel_copiar_dentro { display: grid !important; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; column-gap: 8px; row-gap: 6px; align-content: start; }

#panel_copiar_dentro > br, #panel_copiar_dentro > img[src*="loader"] { grid-column: 1 / -1; }

#panel_copiar_dentro > div[id^="curso_copiar_"],
#panel_copiar_dentro > div[id^="udi_"] {
	width: auto !important;
	padding: 8px 10px !important;
	border-radius: 8px;
	background: var(--pu-fondo) !important;
	font: 13.5px var(--pu-fonte);
}

#panel_copiar_dentro > div[id^="curso_copiar_"] { grid-column: 2 / 4; cursor: pointer; }

#panel_copiar_dentro > div[id^="curso_copiar_"]:hover { background: color-mix(in srgb, var(--pu-udis) 8%, white) !important; }

#panel_copiar_dentro font { font: inherit !important; }

#panel_copiar_dentro .cajita_udi_izquierda { float: none !important; margin: 0 !important; display: flex; justify-content: center; }

#panel_copiar_dentro .cajita_udi_izquierda img { height: 18px !important; width: auto !important; }

#panel_copiar_dentro > div[style*="clear:both"], #panel_copiar_dentro > .pu-copiar-texto { display: none !important; }

#panel_copiar_dentro > div[id^="udi_"] { overflow-wrap: anywhere; line-height: 1.35; }

#panel_copiar_dentro > div.pu-copiar-boton { padding: 5px 10px !important; white-space: nowrap; }

#panel_copiar_dentro > div[title*="copiar"] { float: none !important; width: auto !important; padding: 4px !important; cursor: pointer; }

/* UD-UDIs públicas */
.pu-ud-pub-ferramentas {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	height: auto !important;
}

.pu-ud-pub-usuario {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--pu-texto-2);
}

.pu-ud-pub-buscar {
	position: relative;
	display: flex;
	gap: 8px;
	flex: 1 1 340px;
	min-width: 0;
}

.pu-ud-pub-buscar .pu-campo { flex: 1; min-width: 0; padding-left: 36px; }

.pu-ud-pub-buscar-icona {
	position: absolute;
	left: 11px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	color: var(--pu-texto-3);
	pointer-events: none;
}

.pu-ud-pub-buscar-icona .pu-icona { width: 17px; height: 17px; }

#caixa_udis_publicas.pu-ud-pub-lista {
	height: auto !important;
	max-height: 520px;
	overflow-y: auto;
	margin: 0 -6px;
	padding: 0 2px;
}

#caixa_udis_publicas.pu-ud-pub-lista:empty::before {
	content: "Escolle un usuario ou busca unha palabra para ver as UD-UDIs públicas.";
	display: block;
	padding: 18px 8px;
	text-align: center;
	font-size: 13px;
	color: var(--pu-texto-3);
}

.pu-ud-pub-cartafol {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 14px 6px 4px;
	font-size: 12px;
	font-weight: 600;
	color: var(--pu-texto-3);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.pu-ud-pub-cartafol:first-child { margin-top: 2px; }

.pu-ud-pub-cartafol .pu-icona { width: 15px; height: 15px; }

.pu-ud-pub-fila {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 6px;
	border-radius: 10px;
	border-bottom: 1px solid var(--pu-borde);
}

.pu-ud-pub-fila:hover { background: var(--pu-fondo); }

.pu-ud-pub-textos { flex: 1; min-width: 0; }

#caixa_udis_publicas .cajita_udi_2 {
	all: unset;
	display: block;
	font: 500 14px var(--pu-fonte);
	color: var(--pu-texto);
	cursor: pointer;
}

#caixa_udis_publicas .cajita_udi_2[style*="display: none"],
#caixa_udis_publicas .cajita_udi_2[style*="display:none"] { display: none !important; }

#caixa_udis_publicas .cajita_udi_2:hover { color: var(--pu-udis); }

.pu-ud-pub-descarga, .pu-ud-pub-descarga font { font: 13px var(--pu-fonte) !important; color: var(--pu-cartafol) !important; }

.pu-ud-pub-descarga img { vertical-align: middle; margin-right: 6px; height: 16px; }

.pu-ud-pub-autor { margin-top: 2px; font-size: 12px; color: var(--pu-texto-3); }

.pu-ud-pub-autor b { font-weight: 500; color: var(--pu-texto-2); }

.pu-ud-pub-lei { margin-left: 4px; }

.pu-ud-pub-accions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

@media (max-width: 700px) {
	.pu-ud-crear-botons { width: 100%; }
	.pu-ud-crear-botons .pu-boton { flex: 1; padding: 0 8px; }
	.pu-ud-publica span { display: none; }
	.pu-ud-pub-accions .pu-boton span { display: none; }
}


/* subpestana activa: só cambia a cor, sen liña debaixo */
.pu-subpestana.pu-activa { border-bottom-color: transparent; }

/* lista de UD-UDIs sen ningunha aberta: apartados da UDI en gris e desactivados */
body.pu-udi-pechada .pu-subpestana.pu-udi-apartado {
	display: flex !important;
	opacity: 0.4;
	pointer-events: none;
	cursor: default;
}

/* "Xerar" desde a lista de UD-UDIs (sen ningunha aberta): non se ofrece xerar a UD-UDI actual */
body.pu-udi-pechada #boton_xerar_udi_dentro,
body.pu-udi-pechada #boton_xerar_udi_dentro_falso { display: none !important; }

/* bocadillo: triángulo baixo a subpestana escollida, da cor da zona de contido */
.pu-subpestana { position: relative; }

.pu-subpestana.pu-activa:not(#boton_xerar)::before,
.pu-subpestana.pu-activa:not(#boton_xerar)::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-top-width: 0;
	pointer-events: none;
}

/* contorno (da cor do bordo) */
.pu-subpestana.pu-activa:not(#boton_xerar)::before {
	bottom: 0;
	border-width: 0 14px 12px 14px;
	border-bottom-color: var(--pu-borde);
}

/* recheo (da cor da caixa de contido) */
.pu-subpestana.pu-activa:not(#boton_xerar)::after {
	bottom: 0;
	border-width: 0 13px 11px 13px;
	border-bottom-color: var(--pu-fondo);
}

/* a liña inferior das subpestanas toma a cor da caixa, así o bocadillo únese a ela */
.pu-subpestanas { border-bottom-color: var(--pu-fondo); }

/* as subpestanas ocupan todo o alto da barra, así o bocadillo sempre toca a caixa gris */
.pu-subpestanas { align-items: stretch; }
#boton_xerar.pu-subpestana { align-self: center; }

/* o bocadillo sae un pouco por debaixo da barra para solaparse coa caixa gris
   (en pantallas anchas a barra non precisa desprazamento, así que non o recorta) */
@media (min-width: 901px) {
	.pu-subpestanas { overflow: visible; flex-wrap: wrap; position: relative; z-index: 2; }
	.pu-subpestana.pu-activa:not(#boton_xerar)::before { bottom: -3px; }
	.pu-subpestana.pu-activa:not(#boton_xerar)::after { bottom: -4px; border-width: 0 13px 13px 13px; }
	.pu-subpestana.pu-activa:not(#boton_xerar)::before { border-width: 0 14px 14px 14px; }
}

/* =========================================================================
   Pantallas dunha UD-UDI aberta (compoñentes comúns)
   ========================================================================= */

.pu-udi-pantalla {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: left;
}

.pu-udi-barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	flex-wrap: wrap;
}

.pu-udi-titulo {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	font-size: 17px;
	font-weight: 600;
	color: var(--pu-texto);
}

.pu-udi-titulo-cor {
	width: 8px;
	height: 26px;
	border-radius: 4px;
	flex-shrink: 0;
	float: none !important;
	margin: 0 !important;
}

.pu-udi-titulo label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.pu-udi-titulo img { height: 15px; vertical-align: middle; }

/* gardar (o contido pono funciones.js: "GARDAR CAMBIOS", "gardando...", "(gardado ás ...)") */
.pu-gardar {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-family: var(--pu-fonte);
	width: auto !important;
	height: auto !important;
	float: none !important;
	margin: 0 !important;
}

.pu-gardar br { display: none; }

.pu-gardar font[color="#B50808"] {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 16px;
	border-radius: 10px;
	background: var(--pu-udis);
	font-size: 0 !important;
	order: 2;
}

.pu-gardar font[color="#B50808"]::before {
	content: "Gardar cambios";
	font: 600 13px var(--pu-fonte);
	color: #fff;
}

.pu-gardar:hover font[color="#B50808"] { filter: brightness(1.08); }

.pu-gardar font[color="gray"] {
	order: 1;
	font: 12px var(--pu-fonte) !important;
	color: var(--pu-texto-3) !important;
}

.pu-gardar font:not([color]) { font: 13px var(--pu-fonte) !important; color: var(--pu-texto-2); }

.pu-gardar img { height: 16px; float: none !important; }

/* seccións */
.pu-udi-seccion { display: flex; flex-direction: column; gap: 14px; }

.pu-udi-seccion-cabeceira {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	flex-wrap: wrap;
}

.pu-udi-seccion-titulo {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 600;
	color: var(--pu-texto);
}

.pu-udi-seccion-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 24px;
	padding: 0 7px;
	border-radius: 7px;
	background: color-mix(in srgb, var(--pu-acento) 12%, white);
	color: var(--pu-acento);
	font-size: 12px;
	font-weight: 700;
	box-sizing: border-box;
}

.pu-boton-perigo {
	height: 32px;
	padding: 0 12px;
	background: #fff;
	color: var(--pu-marca);
	border: 1px solid #F3C9C6;
	font-size: 12.5px;
}

.pu-boton-perigo:hover { background: #FCEBEA; filter: none; }

.pu-boton-perigo .pu-icona { width: 16px; height: 16px; }

/* formulario en grella */
.pu-udi-formulario {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px 16px;
}

.pu-udi-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }

.pu-udi-ancho-medio { grid-column: span 2; }

.pu-udi-ancho-completo { grid-column: 1 / -1; }

.pu-udi-etiqueta {
	font-size: 12px;
	font-weight: 600;
	color: var(--pu-texto-2);
}

/* campos editables (contenteditable) */
.pu-editable {
	min-height: 40px;
	padding: 9px 12px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #FAFBFC;
	font: 14.5px/1.5 var(--pu-fonte) !important;
	color: var(--pu-texto);
	box-sizing: border-box;
	outline: none;
	overflow-wrap: anywhere;
	transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}

.pu-editable font { font: inherit !important; }

.pu-editable:hover { border-color: #CDD2D8; }

.pu-editable:focus {
	border-color: var(--pu-acento);
	background: #fff;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-acento) 14%, transparent);
}

.pu-editable-grande { min-height: 180px; max-height: 520px; overflow-y: auto; resize: vertical; }

.pu-editable-medio { min-height: 110px; max-height: 420px; overflow-y: auto; resize: vertical; }

/* ferramentas de texto enriquecido */
.pu-editor-ferramentas {
	display: flex;
	gap: 2px;
	padding: 3px;
	border-radius: 9px;
	background: var(--pu-fondo);
	float: none !important;
	margin: 0 !important;
}

.pu-editor-ferramentas button {
	width: 30px;
	height: 28px;
	padding: 0 !important;
	border: 0;
	border-radius: 7px;
	background: transparent;
	font: 14px var(--pu-fonte);
	color: var(--pu-texto-2);
	cursor: pointer;
}

.pu-editor-ferramentas button:hover { background: #fff; color: var(--pu-texto); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); }

/* duración e trimestres */
.pu-udi-duracion { display: flex; align-items: center; gap: 8px; }

.pu-udi-calendario {
	flex: 1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #FAFBFC;
	font-size: 13.5px;
	color: var(--pu-texto);
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
}

.pu-udi-calendario:hover { border-color: var(--pu-acento); }

.pu-udi-calendario .pu-icona { color: var(--pu-acento); }

#dias_no_calendario_udi { font: inherit !important; color: inherit !important; text-transform: lowercase; }

.pu-udi-auto {
	padding: 6px 10px;
	border-radius: 8px;
	background: color-mix(in srgb, var(--pu-acento) 10%, white);
	color: var(--pu-acento);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	user-select: none;
}

.pu-udi-auto:hover { background: color-mix(in srgb, var(--pu-acento) 18%, white); }

.pu-udi-auto-accions { display: flex; gap: 8px; flex-wrap: wrap; }

.pu-udi-auto-accions:not(:has(> div:not([style*="display: none"]):not([style*="display:none"]))) { display: none; }

.pu-udi-trimestres { display: flex; gap: 6px; }

.pu-udi-trimestres label {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 40px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #FAFBFC;
	font-size: 13.5px;
	color: var(--pu-texto-2);
	cursor: pointer;
	box-sizing: border-box;
}

.pu-udi-trimestres input { margin: 0; accent-color: var(--pu-acento); cursor: pointer; }

.pu-udi-trimestres label:has(input:checked) {
	border-color: color-mix(in srgb, var(--pu-acento) 45%, white);
	background: color-mix(in srgb, var(--pu-acento) 8%, white);
	color: var(--pu-acento);
	font-weight: 600;
}

@media (max-width: 800px) {
	.pu-udi-formulario { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pu-udi-titulo label { white-space: normal; }
}

@media (max-width: 500px) {
	.pu-udi-formulario { grid-template-columns: minmax(0, 1fr); }
	.pu-udi-ancho-medio { grid-column: 1 / -1; }
}

/* =========================================================================
   App (editar_udi_novo.php: páxinas cargadas no móbil)
   ========================================================================= */

body.pu-app { margin: 0; font-family: var(--pu-fonte); }

.pu-app .pu-so-web { display: none !important; }

.pu-app .pu-udi-pantalla {
	max-width: none;
	width: 100% !important;
	padding: 12px;
	background: #fff;
	box-sizing: border-box;
	min-height: 100vh;
}

.pu-app .pu-udi-barra { flex-direction: column; align-items: stretch; gap: 10px; }

.pu-app .pu-gardar { justify-content: space-between; }

.pu-app .pu-udi-titulo { font-size: 15px; }

.pu-app .pu-tarxeta { padding: 14px; }

/* =========================================================================
   UDI · Estrutura en árbore
   ========================================================================= */

.pu-estrutura { display: flex; flex-direction: column; gap: 14px; text-align: left; }

/* estado do gardado automático (pono funciones.js) */
.pu-gardado-estado,
.pu-gardado-estado font {
	font: 12px var(--pu-fonte) !important;
	color: var(--pu-texto-3) !important;
	width: auto !important;
	height: auto !important;
	float: none !important;
	margin: 0 !important;
}

.pu-ar {
	--pu-ar-alto: 124px;          /* alto das caixas */
	--pu-ar-medio: 62px;          /* altura das liñas (metade da caixa) */
	--pu-ar-liña-ac: #B5D4F4;
	--pu-ar-liña-ex: #C0DD97;
	background: #fff;
	border: 1px solid var(--pu-borde);
	border-radius: var(--pu-radio);
	padding: 16px 18px 20px;
	overflow-x: auto;
	font-family: var(--pu-fonte);
}

#contenedor_estructura_udis_dentro.pu-ar-gardando { opacity: 0.55; pointer-events: none; }

.pu-ar-barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.pu-ar-axuda {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	color: var(--pu-texto-3);
}

.pu-ar-axuda .pu-icona { width: 15px; height: 15px; }

.pu-ar-boton {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 12px;
	border: 1px dashed var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 500 12.5px var(--pu-fonte);
	color: var(--pu-texto-2);
	cursor: pointer;
	white-space: nowrap;
	user-select: none;
}

.pu-ar-boton .pu-icona { width: 15px; height: 15px; }

.pu-ar-boton-tema { border-color: #EBC27A; color: #8A5A07; }
.pu-ar-boton-tema:hover { background: #FDF5E6; border-style: solid; }

.pu-ar-boton-actividade { border-color: #9DC3EE; color: #185FA5; margin-left: 30px; }
.pu-ar-boton-actividade:hover { background: #EEF5FC; border-style: solid; }

.pu-ar-boton-exercicio { border-color: #A9D17C; color: #3B6D11; align-self: center; margin-left: 4px; }
.pu-ar-boton-exercicio:hover { background: #F2F8EA; border-style: solid; }

/* temas */
.pu-ar-temas { display: flex; flex-direction: column; gap: 26px; }

.pu-ar-tema {
	display: grid;
	grid-template-columns: 200px max-content;
	align-items: start;
	padding-bottom: 6px;
}

.pu-ar-tema + .pu-ar-tema { padding-top: 22px; border-top: 1px dashed var(--pu-borde); }

/* caixas */
.pu-ar-caixa {
	display: flex;
	flex-direction: column;
	height: var(--pu-ar-alto);
	padding: 7px 9px 9px;
	border-radius: 11px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.pu-ar-caixa-tema { width: 200px; background: #FAEEDA; color: #633806; }
.pu-ar-caixa-actividade { width: 200px; background: #E6F1FB; color: #0C447C; }
.pu-ar-caixa-exercicio { width: 160px; background: #fff; border: 1px solid #C0DD97; color: var(--pu-texto); }

.pu-ar-cab {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 5px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pu-ar-caixa-exercicio .pu-ar-cab { color: #3B6D11; }

.pu-ar-etiqueta { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }

.pu-ar-asa { display: flex; cursor: grab; opacity: 0.45; margin-left: -3px; }

.pu-ar-asa .pu-icona { width: 15px; height: 15px; }

.pu-ar-caixa:hover .pu-ar-asa { opacity: 0.9; }

.pu-ar-borrar, .pu-ar-frechas span {
	display: flex;
	padding: 2px;
	border-radius: 5px;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.12s;
}

.pu-ar-borrar .pu-icona, .pu-ar-frechas .pu-icona { width: 14px; height: 14px; }

.pu-ar-caixa:hover .pu-ar-borrar { opacity: 0.55; }

.pu-ar-borrar:hover { opacity: 1 !important; background: rgba(0, 0, 0, 0.06); color: var(--pu-marca); }

/* as frechas só en pantallas táctiles, onde arrastrar é máis incómodo */
.pu-ar-frechas { display: none; gap: 1px; }

@media (hover: none) {
	.pu-ar-frechas { display: flex; }
	.pu-ar-frechas span, .pu-ar-borrar { opacity: 0.7; }
	.pu-ar-asa { opacity: 0.8; }
}

.pu-ar-texto {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 6px 8px;
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.85);
	font: 13.5px/1.4 var(--pu-fonte) !important;
	color: var(--pu-texto);
	outline: none;
	overflow-wrap: anywhere;
}

.pu-ar-caixa-exercicio .pu-ar-texto { background: transparent; padding: 2px 2px; font-size: 13px !important; }

.pu-ar-texto:focus { background: #fff; box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12); }

.pu-ar-texto font { font: inherit !important; color: inherit !important; }

/* rama: liñas do tema ás actividades */
.pu-ar-rama { position: relative; padding-left: 30px; }

.pu-ar-rama::before {           /* do tema á rama */
	content: "";
	position: absolute;
	left: 0;
	top: var(--pu-ar-medio);
	width: 30px;
	border-top: 2px solid var(--pu-ar-liña-ac);
}

.pu-ar-actividades { display: flex; flex-direction: column; gap: 14px; min-height: 40px; padding-bottom: 12px; }

.pu-ar-actividade {
	position: relative;
	display: flex;
	align-items: flex-start;
	padding-left: 24px;
}

.pu-ar-actividade::before {     /* liña vertical */
	content: "";
	position: absolute;
	left: 0;
	top: -14px;
	bottom: 0;
	border-left: 2px solid var(--pu-ar-liña-ac);
}

.pu-ar-actividade:first-child::before { top: var(--pu-ar-medio); }

.pu-ar-actividade:last-child::before { bottom: auto; height: calc(var(--pu-ar-medio) + 14px); }

.pu-ar-actividade:first-child:last-child::before { display: none; }

.pu-ar-actividade::after {      /* liña horizontal ata a actividade */
	content: "";
	position: absolute;
	left: 0;
	top: var(--pu-ar-medio);
	width: 24px;
	border-top: 2px solid var(--pu-ar-liña-ac);
}

/* exercicios */
.pu-ar-conector { width: 16px; margin-top: var(--pu-ar-medio); border-top: 2px solid var(--pu-ar-liña-ex); flex-shrink: 0; }

.pu-ar-exercicios { display: flex; gap: 8px; min-height: var(--pu-ar-alto); min-width: 40px; }

.pu-ar-exercicio { flex-shrink: 0; }

/* arrastrando */
.ui-sortable-helper .pu-ar-caixa,
.pu-ar-tema.ui-sortable-helper { box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18); }

.ui-sortable-helper .pu-ar-asa { cursor: grabbing; opacity: 1; }

.pu-ar-oco {
	border: 2px dashed var(--pu-borde);
	border-radius: 11px;
	box-sizing: border-box;
	visibility: visible !important;
}

.pu-ar-oco-exercicio { width: 160px; height: var(--pu-ar-alto); border-color: #A9D17C; background: #F2F8EA; flex-shrink: 0; }

.pu-ar-oco-actividade { border-color: #9DC3EE; background: #EEF5FC; margin-left: 24px; }

.pu-ar-oco-tema { border-color: #EBC27A; background: #FDF5E6; }

/* exercicios: nunha fila se caben; se non, en dúas (estrutura_novo.js
   pon .pu-ar-dous-filas e o ancho); se tampouco caben, desprázase */
.pu-ar-exercicios { flex-wrap: nowrap; align-content: flex-start; row-gap: 8px; }
.pu-ar-exercicios.pu-ar-dous-filas { flex-wrap: wrap; flex-shrink: 0; }

/* subpestanas sempre nunha soa liña (se non caben, desprázanse sen barra visible):
   así o bocadillo da pestana escollida toca sempre a caixa gris, tamén no móbil */
.pu-subpestanas {
	flex-wrap: nowrap !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none;
}
.pu-subpestanas::-webkit-scrollbar { display: none; }
.pu-subpestana.pu-activa:not(#boton_xerar)::before { bottom: 0 !important; border-width: 0 14px 12px 14px !important; }
.pu-subpestana.pu-activa:not(#boton_xerar)::after { bottom: 0 !important; border-width: 0 13px 12px 13px !important; }

/* bocadillo: a pestana non leva bordo inferior (era transparente e deixaba
   ver 2px de branco entre o triángulo e a caixa gris) */
.pu-subpestana:not(#boton_xerar) { border-bottom: 0 !important; padding-bottom: 13px !important; }

/* bocadillo (v3): a barra remata nunha franxa da cor da caixa gris e o
   triángulo apóiase nela; así nunca queda unha liña branca entre ambos,
   nin no ordenador nin no móbil (onde a barra se despraza) */
.pu-subpestanas {
	border-bottom: 0 !important;
	background: linear-gradient(to top, var(--pu-fondo) 3px, var(--pu-branco) 3px) !important;
}
.pu-subpestana.pu-activa:not(#boton_xerar)::before { bottom: 2px !important; border-width: 0 14px 12px 14px !important; }
.pu-subpestana.pu-activa:not(#boton_xerar)::after { bottom: 2px !important; border-width: 0 13px 12px 13px !important; }
#pu_subpestanas + #contenedor.pu-contenedor { margin-top: -1px; }

/* estrutura: ao arrastrar unha actividade non leva as liñas da árbore;
   o oco onde vai caer si as ten, para que a árbore non quede cortada */
.pu-ar-actividade.ui-sortable-helper::before,
.pu-ar-actividade.ui-sortable-helper::after { display: none !important; }

.pu-ar-oco-actividade { position: relative; }
.pu-ar-oco-actividade::before {
	content: "";
	position: absolute;
	left: -26px;
	top: -16px;
	bottom: -16px;
	border-left: 2px solid var(--pu-ar-liña-ac);
}
.pu-ar-oco-actividade::after {
	content: "";
	position: absolute;
	left: -26px;
	top: 50%;
	width: 24px;
	border-top: 2px solid var(--pu-ar-liña-ac);
}

/* indicador de carga: substitúe o loader.gif antigo (liñas negras) por un
   círculo xirando, sen tocar funciones.js (a imaxe segue no sitio e co
   mesmo alto, só se cambia o que se debuxa) */
.pu-contenedor img[src="loader.gif"],
.pu-app img[src="loader.gif"] {
	aspect-ratio: 1 / 1 !important;
	width: auto !important;
	object-position: -9999px 0;
	vertical-align: middle;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23E1E4E8' stroke-width='3'/%3E%3Cpath d='M12 3a9 9 0 0 1 9 9' fill='none' stroke='%238A919C' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.8s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat;
	margin-right: 6px;
}

/* botón «+ Exercicio» dentro da fila de exercicios, despois do último */
.pu-ar-exercicios > .pu-ar-boton-exercicio { margin-left: 0; align-self: center; flex-shrink: 0; }

/* actividade que se está arrastrando: só a caixa, por riba de todo */
.pu-ar-arrastre { z-index: 1000; font-family: var(--pu-fonte); }
.pu-ar-arrastre .pu-ar-caixa { height: 100%; box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18); opacity: 0.95; }
.pu-ar-arrastre .pu-ar-asa { cursor: grabbing; opacity: 1; }

/* mentres se arrastra unha actividade: a orixinal queda oculta na lista,
   así que a primeira/última visible (ou o oco) remata a liña vertical
   no medio, como se fose a primeira/última de verdade */
.pu-ar-oco-actividade:first-child::before,
.pu-ar-actividades > [style*="display: none"]:first-child + .pu-ar-oco-actividade::before { top: 50%; }
.pu-ar-oco-actividade:last-child::before,
.pu-ar-oco-actividade:has(+ [style*="display: none"]:last-child)::before { bottom: 50%; }
.pu-ar-actividades > [style*="display: none"]:first-child + .pu-ar-actividade::before { top: var(--pu-ar-medio); }
.pu-ar-actividade:has(+ [style*="display: none"]:last-child)::before { bottom: auto; height: calc(var(--pu-ar-medio) + 14px); }

/* =========================================================================
   UDI · 2.1 Tarefa / tema
   ========================================================================= */

:root {
	--pu-ta-cor: #8A5A07;
	--pu-ta-forte: #A8730F;
	--pu-ta-suave: #FAEEDA;
	--pu-ta-borde: #EBC27A;
}

.pu-ta-pantalla { overflow-x: auto; }

.pu-ta, .pu-ta-envoltorio { display: flex; flex-direction: column; gap: 14px; text-align: left; font-family: var(--pu-fonte); }

.pu-ta-num { background: var(--pu-ta-suave) !important; color: var(--pu-ta-cor) !important; }

#label_numero_tarefa, #label_numero_tarefa_app { font: inherit; color: inherit; }

/* pestanas dos temas/tarefas (debúxaas funciones.js con estilos en liña) */
.pu-ta-pestanas { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }

.pu-ta-pestanas > div[id^="boton_tarefa_"] {
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 7px 14px !important;
	border: 1px solid var(--pu-ta-borde);
	border-radius: 999px;
	background: #fff !important;
	color: var(--pu-ta-cor) !important;
	font: 600 13px var(--pu-fonte);
	cursor: pointer;
}

.pu-ta-pestanas > div[id^="boton_tarefa_"] font { font: inherit !important; color: inherit !important; }

.pu-ta-pestanas > div[id^="boton_tarefa_"]:hover { background: var(--pu-ta-suave) !important; }

.pu-ta-pestanas > div[id^="boton_tarefa_"][style*="background-color: rgb(176, 141, 0)"],
.pu-ta-pestanas > div[id^="boton_tarefa_"][style*="background-color:#b08d00"],
.pu-ta-pestanas > #fake_t {
	background: var(--pu-ta-forte) !important;
	border-color: var(--pu-ta-forte);
	color: #fff !important;
}

.pu-ta-pestanas > #fake_t { float: none !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 7px 18px !important; border-radius: 999px; }

/* botón "+" (sen id) */
.pu-ta-pestanas > div:not([id]) {
	float: none !important;
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px dashed var(--pu-ta-borde);
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	box-sizing: border-box;
}

.pu-ta-pestanas > div:not([id]) font { font: 600 18px var(--pu-fonte) !important; color: var(--pu-ta-cor) !important; line-height: 1; }

.pu-ta-pestanas > div:not([id]):hover { background: var(--pu-ta-suave); border-style: solid; }

/* tarxeta */
.pu-ta-tarxeta { border-top: 3px solid var(--pu-ta-borde); }

.pu-ta-accions { display: flex; gap: 8px; flex-wrap: wrap; }

.pu-ta-accions .pu-boton { height: 32px; }

.pu-ta-etiqueta-ferramentas { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }

.pu-ta-axuda { font-weight: 400; color: var(--pu-texto-3); }

.pu-ta-tarxeta .pu-editable:focus {
	border-color: var(--pu-ta-forte);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-ta-forte) 16%, transparent);
}

.pu-ta-tarxeta #tarefa_textarea_nome { font-size: 16px !important; font-weight: 600 !important; }

/* competencias clave */
.pu-ta-cc { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }

.pu-ta-cc-item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-height: 74px;
	padding: 10px 10px 9px;
	border: 1px solid var(--pu-borde);
	border-radius: 11px;
	background: #FAFBFC;
	cursor: pointer;
	user-select: none;
	box-sizing: border-box;
	transition: border-color 0.15s, background-color 0.15s;
}

.pu-ta-cc-item:hover { border-color: var(--pu-ta-borde); }

.pu-ta-cc-item input {
	position: absolute;
	top: 9px;
	right: 9px;
	margin: 0;
	width: 16px;
	height: 16px;
	accent-color: var(--pu-ta-forte);
	cursor: pointer;
}

.pu-ta-cc-sigla { font-size: 14px; font-weight: 700; color: var(--pu-texto); padding-right: 20px; }

.pu-ta-cc-nome { font-size: 11.5px; line-height: 1.3; color: var(--pu-texto-3); }

.pu-ta-cc-item:has(input:checked) { border-color: var(--pu-ta-borde); background: var(--pu-ta-suave); }

.pu-ta-cc-item:has(input:checked) .pu-ta-cc-sigla { color: var(--pu-ta-cor); }

.pu-ta-cc-item:has(input:checked) .pu-ta-cc-nome { color: var(--pu-ta-cor); opacity: 0.8; }

.pu-ta-aviso {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
	padding: 9px 12px;
	border-radius: 10px;
	background: #FCEBEA;
	color: var(--pu-marca);
	font-size: 13px;
}

.pu-ta-aviso[style*="display: none"], .pu-ta-aviso[style*="display:none"] { display: none !important; }

.pu-ta-aviso .pu-icona { width: 18px; height: 18px; color: var(--pu-marca); flex-shrink: 0; }

@media (max-width: 1000px) { .pu-ta-cc { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

@media (max-width: 520px) {
	.pu-ta-cc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pu-ta-etiqueta-ferramentas { flex-direction: column; align-items: stretch; }
	.pu-ta-etiqueta-ferramentas .pu-editor-ferramentas { align-self: flex-end; }
}

/* app */
.pu-so-app { display: none !important; }
.pu-app .pu-so-app { display: revert !important; }
.pu-app .pu-ta-app { padding: 12px; box-sizing: border-box; }

/* =========================================================================
   Ventás (paneis que antes flotaban en posicións fixas)
   ========================================================================= */

.pu-modal {
	position: fixed !important;
	inset: 0;
	z-index: 99995;   /* por riba da barra superior de recursoseducativos e da pantalla completa */
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(20, 24, 30, 0.45);
	box-sizing: border-box;
	font-family: var(--pu-fonte);
}

.pu-modal[style*="display: none"], .pu-modal[style*="display:none"] { display: none !important; }

.pu-modal-caixa {
	display: flex;
	flex-direction: column;
	width: min(760px, 100%);
	max-height: calc(100vh - 40px);
	border-radius: var(--pu-radio);
	background: #fff;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
	overflow: hidden;
	text-align: left;
}

.pu-modal-cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 14px 12px 18px;
	background: var(--pu-modal-cor, var(--pu-acento));
	color: #fff;
	font-size: 15px;
	font-weight: 600;
}

.pu-modal-pechar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	cursor: pointer;
}

.pu-modal-pechar:hover { background: rgba(255, 255, 255, 0.18); }

.pu-modal-pechar .pu-icona { width: 18px; height: 18px; color: #fff; }

.pu-modal-corpo { padding: 16px 18px; overflow: auto; font-size: 14px; }

.pu-modal-ta { --pu-modal-cor: var(--pu-ta-forte); }

#panel_ordear_tarefas_dentro_1:empty { display: none; }

/* lista de ordenar (xérana funciones.js) */
#panel_ordear_tarefas_dentro > div[id^="orden_"] { border-color: var(--pu-ta-borde) !important; border-radius: 8px; box-sizing: border-box; height: auto !important; min-height: 40px; }
#panel_ordear_tarefas_dentro > div[id^="orden_descricion_"] { width: calc(100% - 200px) !important; margin-left: 6px; }
#panel_ordear_tarefas_dentro font { font-family: var(--pu-fonte) !important; }

/* lista para ordenar arrastrando (ventás de Ordenar) */
.pu-or-axuda { margin-bottom: 10px; font-size: 12.5px; color: var(--pu-texto-3); }
.pu-or-asa-mini .pu-icona { width: 13px; height: 13px; vertical-align: -2px; color: var(--pu-texto-3); }
.pu-or-lista { display: flex; flex-direction: column; gap: 6px; }
.pu-or-gardando .pu-or-lista { opacity: 0.55; pointer-events: none; }
.pu-or-fila {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
}
.pu-or-fila.ui-sortable-helper { box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18); }
.pu-or-asa { display: flex; cursor: grab; color: var(--pu-texto-3); }
.pu-or-asa .pu-icona { width: 18px; height: 18px; color: inherit; }
.pu-or-fila:hover .pu-or-asa { color: var(--pu-texto-2); }
.pu-or-num {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 26px; height: 26px; border-radius: 8px;
	background: var(--pu-modal-cor, var(--pu-acento)); color: #fff;
	font-size: 12.5px; font-weight: 700; flex-shrink: 0;
}
.pu-or-texto { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--pu-texto-2); }
.pu-or-texto b { color: var(--pu-texto); font-weight: 600; }
.pu-or-frechas { display: none; gap: 2px; }
.pu-or-frechas span { display: inline-flex; padding: 4px; border-radius: 7px; cursor: pointer; color: var(--pu-texto-2); }
.pu-or-frechas .pu-icona { width: 18px; height: 18px; color: inherit; }
.pu-or-fila:first-child .pu-or-subir, .pu-or-fila:last-child .pu-or-baixar { opacity: 0.25; pointer-events: none; }
.pu-or-oco { border: 2px dashed var(--pu-borde); border-radius: 10px; background: var(--pu-fondo); visibility: visible !important; }
@media (hover: none) {
	.pu-or-frechas { display: flex; }
	.pu-or-asa, .pu-or-axuda { display: none; }
}

/* =========================================================================
   UDI · 2.2 Actividades e exercicios
   ========================================================================= */

:root {
	--pu-ac-cor: #0C447C;
	--pu-ac-forte: #185FA5;
	--pu-ac-suave: #E6F1FB;
	--pu-ac-borde: #9DC3EE;
	--pu-ex-cor: #3B6D11;
	--pu-ex-forte: #4C8A17;
	--pu-ex-suave: #F2F8EA;
	--pu-ex-borde: #C0DD97;
}

.pu-ac { display: flex; flex-direction: column; gap: 14px; text-align: left; font-family: var(--pu-fonte); margin-top: 10px; }
.pu-ac[style*="display: none"], .pu-ac[style*="display:none"] { display: none !important; }
.pu-app .pu-ac { padding: 0 12px 24px; }

.pu-ac-cargando { justify-content: center; padding: 30px 0; }

/* cabeceira */
.pu-ac-dentro { display: flex; align-items: baseline; gap: 8px; min-width: 0; flex: 1; }
.pu-ac-dentro-etq { flex-shrink: 0; font-size: 12px; font-weight: 600; color: var(--pu-texto-3); }
#tipo_dentro_de_tarefa { text-transform: lowercase; }
.pu-ac-dentro-texto { min-width: 0; font-size: 14px; font-weight: 600; color: var(--pu-texto); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pu-ac-dentro-texto img { height: 14px; }

/* pestanas das actividades */
.pu-ac-pestanas { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; position: relative; }

.pu-ac-pestanas > div[id^="boton_actividade_en_tarefa_"],
.pu-ac-pestanas > #fake {
	float: none !important;
	height: auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 7px 14px !important;
	border: 1px solid var(--pu-ac-borde);
	border-radius: 999px;
	background: #fff !important;
	color: var(--pu-ac-forte) !important;
	font: 600 13px var(--pu-fonte);
	cursor: pointer;
}

.pu-ac-pestanas > div[id^="boton_actividade_en_tarefa_"] font { font: inherit !important; color: inherit !important; }

.pu-ac-pestanas > div[id^="boton_actividade_en_tarefa_"]:hover { background: var(--pu-ac-suave) !important; }

.pu-ac-pestanas > div[id^="boton_actividade_en_tarefa_"][style*="background-color: rgb(88, 130, 250)"],
.pu-ac-pestanas > div[id^="boton_actividade_en_tarefa_"][style*="background-color:#5882FA"],
.pu-ac-pestanas > #fake {
	background: var(--pu-ac-forte) !important;
	border-color: var(--pu-ac-forte);
	color: #fff !important;
}

/* "+" nova actividade */
.pu-ac-pestanas > div[title^="engadir"] {
	float: none !important;
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px dashed var(--pu-ac-borde);
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	box-sizing: border-box;
}
.pu-ac-pestanas > div[title^="engadir"] font { font: 600 18px var(--pu-fonte) !important; color: var(--pu-ac-forte) !important; line-height: 1; }
.pu-ac-pestanas > div[title^="engadir"]:hover { background: var(--pu-ac-suave); border-style: solid; }

/* importar unha actividade */
.pu-ac-pestanas > div[title^="importar"] {
	position: static !important;
	margin: 0 0 0 auto !important;
	cursor: pointer;
}
.pu-ac-pestanas > div[title^="importar"] > div {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 12px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 10px;
	background: #fff;
	font: 600 12.5px var(--pu-fonte) !important;
	color: var(--pu-texto-2) !important;
	text-transform: lowercase;
	box-sizing: border-box;
}
.pu-ac-pestanas > div[title^="importar"] > div::first-letter { text-transform: uppercase; }
.pu-ac-pestanas > div[title^="importar"]:hover > div { background: var(--pu-fondo); }

/* tarxeta da actividade */
.pu-ac-tarxeta { border-top: 3px solid var(--pu-ac-borde); }
.pu-ac-num { background: var(--pu-ac-suave) !important; color: var(--pu-ac-forte) !important; }
#label_numero_actividade { font: inherit; color: inherit; }

.pu-ac-corpo { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: 18px; align-items: start; }

.pu-ac-esquerda { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

.pu-ac-etq-fila { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 26px; }

.pu-ac-descricion { min-height: 120px; max-height: 360px; overflow-y: auto; resize: vertical; }

.pu-ac-tarxeta .pu-editable:focus {
	border-color: var(--pu-ac-forte);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-ac-forte) 15%, transparent);
}

.pu-ac-anexos { display: flex; gap: 4px; }
.pu-ac-anexo { float: none !important; height: auto !important; margin: 0 !important; display: flex; }
.pu-ac-anexo img { height: 22px; padding: 3px; border-radius: 7px; cursor: pointer; }
.pu-ac-anexo img:hover { background: var(--pu-fondo); }

/* obxectivos e criterios (preme para escoller) */
.pu-ac-curr {
	min-height: 44px;
	max-height: 150px;
	overflow-y: auto;
	padding: 8px 10px;
	border: 1px solid var(--pu-ac-borde);
	border-radius: 10px;
	background: var(--pu-ac-suave);
	font: 12px/1.45 var(--pu-fonte) !important;
	color: var(--pu-ac-cor);
	cursor: pointer;
	box-sizing: border-box;
}
.pu-ac-curr font { font: inherit !important; }
.pu-ac-curr:hover { border-color: var(--pu-ac-forte); }
.pu-ac-curr:empty::before { content: "Preme para escoller"; color: var(--pu-texto-3); font-style: italic; }

.pu-ac-limpar {
	padding: 3px 9px;
	border-radius: 7px;
	background: var(--pu-ac-suave);
	color: var(--pu-ac-forte);
	font-size: 11.5px;
	font-weight: 600;
	cursor: pointer;
	user-select: none;
}
.pu-ac-limpar:hover { background: color-mix(in srgb, var(--pu-ac-forte) 16%, white); }

/* exercicios */
.pu-ac-dereita { min-width: 0; display: flex; flex-direction: column; gap: 10px; }

.pu-ex-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; align-items: stretch; }

.pu-ex {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 10px 11px 11px;
	border: 1px solid var(--pu-ex-borde);
	border-radius: 12px;
	background: #fff;
	min-width: 0;
}

.pu-ex-cab { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 2px; }
.pu-ex-titulo { font-size: 11.5px; font-weight: 700; color: var(--pu-ex-cor); text-transform: uppercase; letter-spacing: 0.03em; white-space: nowrap; }
.pu-ex-accions { display: flex; gap: 1px; }
.pu-ex-boton { display: inline-flex; padding: 4px; border-radius: 7px; cursor: pointer; color: var(--pu-texto-3); }
.pu-ex-boton .pu-icona { width: 15px; height: 15px; color: inherit; }
.pu-ex-boton:hover { background: var(--pu-ex-suave); color: var(--pu-ex-cor); }
.pu-ex-boton.pu-ex-ten { color: var(--pu-ex-forte); background: var(--pu-ex-suave); }
.pu-ex-boton.pu-ex-borrar:hover { background: #FCEBEA; color: var(--pu-marca); }

.pu-ex-etq { font-size: 11px; font-weight: 600; color: var(--pu-texto-3); margin-top: 4px; }
.pu-ex-etq a { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; margin-left: 3px; border-radius: 50%; background: var(--pu-fondo); color: var(--pu-texto-2); font-size: 10px; text-decoration: none; }

.pu-ex-texto, .pu-ex-bloom {
	padding: 7px 9px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #FAFBFC;
	font: 13.5px/1.45 var(--pu-fonte) !important;
	color: var(--pu-texto);
	outline: none;
	overflow-y: auto;
	overflow-wrap: anywhere;
	box-sizing: border-box;
}
.pu-ex-texto { min-height: 96px; max-height: 220px; }
.pu-ex-bloom { min-height: 34px; max-height: 80px; }
.pu-ex-texto font, .pu-ex-bloom font { font: inherit !important; }
.pu-ex-texto:focus, .pu-ex-bloom:focus {
	border-color: var(--pu-ex-forte);
	background: #fff;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-ex-forte) 15%, transparent);
}

.pu-ex-contidos {
	min-height: 40px;
	max-height: 120px;
	overflow-y: auto;
	padding: 7px 9px;
	border: 1px solid var(--pu-ex-borde);
	border-radius: 9px;
	background: var(--pu-ex-suave);
	font: 11.5px/1.45 var(--pu-fonte) !important;
	color: var(--pu-ex-cor);
	cursor: pointer;
	box-sizing: border-box;
}
.pu-ex-contidos font { font: inherit !important; }
.pu-ex-contidos:hover { border-color: var(--pu-ex-forte); }
.pu-ex-contidos:empty::before { content: "Preme para escoller"; color: var(--pu-texto-3); font-style: italic; }

.pu-ex-axuda { font-size: 10.5px; color: var(--pu-texto-3); line-height: 1.35; }

.pu-ex-novo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 120px;
	border: 1.5px dashed var(--pu-ex-borde);
	border-radius: 12px;
	color: var(--pu-ex-cor);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.pu-ex-novo .pu-icona { width: 16px; height: 16px; color: inherit; }
.pu-ex-novo:hover { background: var(--pu-ex-suave); border-style: solid; }

/* paneis de criterios / contidos: ocupan o sitio dos exercicios */
.pu-ac-dereita:has(> .pu-ac-panel:not([style*="display: none"]):not([style*="display:none"])) > #actividade_dereita { display: none; }

.pu-ac-panel {
	position: static !important;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--pu-ac-borde);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	--pu-panel-cor: var(--pu-ac-forte);
	--pu-panel-suave: var(--pu-ac-suave);
}
.pu-ac-panel[style*="display: none"], .pu-ac-panel[style*="display:none"] { display: none !important; }
.pu-ac-panel-contidos { border-color: var(--pu-ex-borde); --pu-panel-cor: var(--pu-ex-forte); --pu-panel-suave: var(--pu-ex-suave); }

.pu-ac-panel-cab {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	padding: 8px 8px 8px 14px;
	background: var(--pu-panel-cor);
	color: #fff;
	font-size: 13px;
}
.pu-ac-panel-cab > div { position: static !important; margin: 0 !important; width: auto !important; height: auto !important; padding: 0 !important; overflow: visible !important; background: transparent !important; }
.pu-ac-panel-titulo { font-weight: 600; font-size: 14px; margin-right: auto !important; }
.pu-ac-panel-titulo, .pu-ac-panel-titulo * { color: #fff !important; font-family: var(--pu-fonte) !important; }
.pu-ac-panel-cab font { font-family: var(--pu-fonte) !important; }
.pu-ac-panel-cab input[type=text] { height: 30px; padding: 0 10px; border: 0 !important; border-radius: 8px; font: 13px var(--pu-fonte); box-sizing: border-box; }
.pu-ac-panel-cab img { vertical-align: middle; }

.pu-ac-panel-cursos, .pu-ac-panel-areas { position: static !important; margin: 0 !important; display: flex; flex-wrap: wrap; gap: 4px; padding: 8px 12px 0; }
.pu-ac-panel-areas { padding: 8px 12px; }
.pu-ac-panel-cursos:empty, .pu-ac-panel-areas:empty, .pu-ac-panel-agregador:empty, .pu-ac-panel-subtitulo:empty { display: none; }
.pu-ac-panel-cursos > *, .pu-ac-panel-areas > * { float: none !important; margin: 0 !important; position: static !important; }

.pu-ac-panel-subtitulo { padding: 10px 14px 0; font-size: 13.5px; color: var(--pu-texto); width: auto !important; height: auto !important; float: none !important; margin: 0 !important; }

.pu-ac-panel-dentro {
	width: auto !important;
	height: 440px !important;
	max-height: 70vh;
	margin: 8px 12px !important;
	padding: 6px !important;
	overflow: auto !important;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font-family: var(--pu-fonte);
}

.pu-ac-panel-pe { display: flex; flex-direction: column; gap: 6px; padding-bottom: 8px; background: var(--pu-panel-suave); }
.pu-ac-panel-agregador { position: static !important; margin: 0 12px !important; color: var(--pu-texto-2) !important; font-size: 13px; }

/* metodoloxía */
.pu-ac-metodoloxia { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px 16px; }
.pu-ac-met-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pu-ac-met-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 6px; min-height: 34px; }
.pu-ac-met-cab .pu-udi-etiqueta { line-height: 1.3; }
.pu-ac-met-texto { min-height: 110px; max-height: 300px; overflow-y: auto; resize: vertical; }
.pu-ac-metodoloxia .pu-editable:focus {
	border-color: var(--pu-ac-forte);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-ac-forte) 15%, transparent);
}
.pu-ac-met-axuda { font-size: 11px; line-height: 1.4; color: var(--pu-texto-3); }
.pu-ac-met-axuda a { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; margin-right: 5px; border-radius: 50%; background: var(--pu-fondo); color: var(--pu-texto-2); font-size: 10px; font-weight: 700; text-decoration: none; }

@media (max-width: 1250px) { .pu-ac-metodoloxia { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
	.pu-ac-corpo { grid-template-columns: minmax(0, 1fr); }
	.pu-ac-metodoloxia { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.pu-ac-metodoloxia { grid-template-columns: minmax(0, 1fr); }
	.pu-ex-lista { grid-template-columns: minmax(0, 1fr); }
	.pu-ac-dentro { flex-direction: column; gap: 2px; }
	.pu-ac-dentro-texto { white-space: normal; }
	.pu-ac-pestanas > div[title^="importar"] { margin-left: 0 !important; }
}

/* ventás desta sección */
.pu-modal-ac { --pu-modal-cor: var(--pu-ac-forte); }
.pu-modal-ex { --pu-modal-cor: var(--pu-ex-forte); }
.pu-modal-importar { --pu-modal-cor: var(--pu-udis); }
.pu-modal-imaxe { --pu-modal-cor: var(--pu-udis); }
.pu-modal-ancha { width: min(980px, 100%); }
.pu-modal-estreita { width: min(420px, 100%); }
#panel_ordear_actividades_dentro_1:empty, #panel_ordear_exercicios_dentro_1:empty { display: none; }

/* subir_imaxe() / subir_adxunto() poñen marxes e medidas en liña: ignóranse */
#contenedor_imaxe.pu-modal { margin: 0 !important; width: auto !important; height: auto !important; top: 0 !important; }

.pu-modal-busca { display: flex; gap: 8px; padding: 12px 18px 0; }
.pu-modal-busca input {
	flex: 1;
	min-width: 0;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	font: 14px var(--pu-fonte);
	outline: none;
	box-sizing: border-box;
}
.pu-modal-busca input:focus { border-color: var(--pu-udis); }
.pu-modal-busca .pu-boton { height: 36px; }
#panel_importar_actividade_dentro { width: auto !important; height: auto !important; min-height: 200px; }
/* metodoloxía: ferramentas N C S máis compactas */
.pu-ac-met-cab .pu-editor-ferramentas { padding: 2px; flex-shrink: 0; }
.pu-ac-met-cab .pu-editor-ferramentas button { width: 24px; height: 24px; font-size: 12.5px; }

/* importar actividade: só icona; ao pasar o rato desprégase o texto */
.pu-ac-pestanas > div[title^="importar"] > div {
	position: relative;
	max-width: 34px;
	padding: 0 12px 0 33px !important;
	overflow: hidden;
	white-space: nowrap;
	transition: max-width 0.25s ease, background-color 0.15s;
}
.pu-ac-pestanas > div[title^="importar"] > div::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	width: 17px;
	height: 17px;
	margin-top: -8.5px;
	background: var(--pu-texto-2);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M4 15v4a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M4 15v4a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pu-ac-pestanas > div[title^="importar"]:hover > div { max-width: 340px; }
@media (hover: none) { .pu-ac-pestanas > div[title^="importar"] > div { max-width: 340px; } }

/* ventá de importar */
.pu-im-baleiro { padding: 26px 10px; text-align: center; color: var(--pu-texto-2); font-size: 14px; }
.pu-im-baleiro p { margin: 0 0 14px; }
.pu-im-fila {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--pu-borde);
	border-radius: 11px;
	margin-bottom: 8px;
}
.pu-im-fila:hover { border-color: var(--pu-ac-borde); background: #FBFDFF; }
.pu-im-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pu-im-ruta { display: flex; flex-wrap: wrap; gap: 2px 0; font-size: 11.5px; color: var(--pu-texto-3); }
.pu-im-ruta span:empty { display: none; }
.pu-im-ruta span + span::before { content: "›"; margin: 0 6px; color: var(--pu-borde); }
.pu-im-titulo { font-size: 14.5px; font-weight: 600; color: var(--pu-ac-cor); }
.pu-im-exercicios { font-size: 12.5px; color: var(--pu-ex-cor); }
.pu-im-boton { flex-shrink: 0; height: 34px; background: var(--pu-udis); color: #fff; font-size: 12.5px; }
.pu-im-boton img { height: 14px; }
@media (max-width: 560px) {
	.pu-im-fila { flex-direction: column; align-items: stretch; }
}

/* ventá de subir imaxe / adxunto */
.pu-su-actual { display: flex; align-items: center; gap: 14px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--pu-borde); }
.pu-su-miniatura img { display: block; width: 110px; height: 80px; object-fit: cover; border-radius: 9px; border: 1px solid var(--pu-borde); }
.pu-su-ficheiro { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; color: var(--pu-texto); text-decoration: none; font-size: 13.5px; }
.pu-su-ficheiro span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pu-su-ficheiro .pu-icona { width: 30px; height: 30px; color: var(--pu-texto-3); flex-shrink: 0; }
.pu-su-actual-accions { display: flex; gap: 8px; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.pu-su-actual-accions .pu-boton { text-decoration: none; }
.pu-su-zona {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 26px 16px;
	border: 2px dashed var(--pu-borde);
	border-radius: 12px;
	background: #FAFBFC;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s;
}
.pu-su-zona:hover, .pu-su-zona.pu-su-enriba { border-color: var(--pu-udis); background: #FDF6F6; }
.pu-su-zona input { display: none; }
.pu-su-zona .pu-icona { width: 30px; height: 30px; color: var(--pu-udis); }
.pu-su-zona-texto { font-size: 14px; color: var(--pu-texto); }
.pu-su-zona-texto b { color: var(--pu-udis); }
.pu-su-zona-axuda { font-size: 11.5px; color: var(--pu-texto-3); }
@media (hover: none) { .pu-so-rato { display: none; } }
.pu-su-progreso { padding: 10px 0; }
.pu-su-barra { height: 8px; border-radius: 4px; background: var(--pu-fondo); overflow: hidden; }
.pu-su-barra span { display: block; width: 0; height: 100%; background: var(--pu-udis); transition: width 0.2s; }
.pu-su-estado { margin-top: 8px; font-size: 13px; color: var(--pu-texto-2); }
.pu-su-erro { margin-top: 12px; padding: 9px 12px; border-radius: 10px; background: #FCEBEA; color: var(--pu-marca); font-size: 13px; }
.pu-ac-pestanas > div[title^="importar"] > div { box-sizing: border-box !important; color: transparent !important; padding-right: 0 !important; }
.pu-ac-pestanas > div[title^="importar"]:hover > div { color: var(--pu-texto-2) !important; padding-right: 12px !important; }
@media (hover: none) { .pu-ac-pestanas > div[title^="importar"] > div { color: var(--pu-texto-2) !important; padding-right: 12px !important; } }

/* =========================================================================
   Paneis de criterios e contidos (contido)
   ========================================================================= */

.pu-ac-panel-marcados, .pu-ac-panel-buscador { display: flex !important; align-items: center; gap: 10px; flex-wrap: wrap; }

.pu-pa-marcados { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: #fff; cursor: pointer; white-space: nowrap; }
.pu-pa-marcados input { margin: 0; accent-color: #fff; }

.pu-pa-ia {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 28px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	white-space: nowrap;
}
.pu-pa-ia:hover { background: rgba(255, 255, 255, 0.15); }
.pu-pa-ia .pu-icona { width: 15px; height: 15px; color: inherit; }
.pu-pa-ia-verde { border-color: var(--pu-ex-borde); color: var(--pu-ex-cor); background: #fff; }
.pu-pa-ia-verde:hover { background: var(--pu-ex-suave); }

.pu-pa-busca { display: inline-flex; align-items: center; height: 30px; border-radius: 8px; background: #fff; overflow: hidden; }
.pu-pa-busca input { width: 130px; height: 30px; padding: 0 8px 0 10px; border: 0 !important; outline: none; font: 13px var(--pu-fonte); color: var(--pu-texto); background: transparent; }
.pu-pa-busca-boton { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; cursor: pointer; color: var(--pu-panel-cor); }
.pu-pa-busca-boton .pu-icona { width: 16px; height: 16px; color: inherit; }

/* pestanas de curso (arriba) e de área (abaixo): funciones.js pon a cor en liña */
.pu-ac-panel-cursos > div, .pu-ac-panel-areas > div {
	padding: 5px 11px !important;
	border: 1px solid var(--pu-borde);
	border-radius: 999px;
	background: #fff !important;
	color: var(--pu-texto-2) !important;
	font: 600 12px var(--pu-fonte);
	cursor: pointer;
}
.pu-ac-panel-cursos > div font, .pu-ac-panel-areas > div font { font: inherit !important; color: inherit !important; }
.pu-ac-panel-cursos > div:hover, .pu-ac-panel-areas > div:hover { border-color: var(--pu-panel-cor); }
.pu-ac-panel-areas > div[style*="208, 245, 169"], .pu-ac-panel-areas > div[style*="#D0F5A9"] { background: #EEF8E2 !important; border-color: #C9E6A6; }
.pu-ac-panel-areas > div[style*="247, 211, 88"], .pu-ac-panel-areas > div[style*="#F7D358"] { background: #FCF1CC !important; border-color: #EED48A; }
/* materias de opción (laranxa) e de opción que tamén poden ser optativas (metade laranxa, metade verde) */
.pu-ac-panel-areas > div[style*="247, 190, 129"], .pu-ac-panel-areas > div[style*="#F7BE81"] { background: #FDEBD7 !important; border-color: #F2C08D; }
.pu-ac-panel-areas > div[style*="linear-gradient"] { background: linear-gradient(90deg, #FDEBD7 50%, #EEF8E2 50%) border-box !important; border-color: #E3CFA8; }
.pu-ac-panel-cursos > div[style*="background-color: white"], .pu-ac-panel-cursos > div[style*="background-color:white"],
.pu-ac-panel-areas > div[style*="background-color: white"], .pu-ac-panel-areas > div[style*="background-color:white"] {
	background: var(--pu-panel-cor) !important;
	border-color: var(--pu-panel-cor);
	color: #fff !important;
}

/* agregador de tipos (pé do panel de criterios) */
.pu-ac-panel-agregador > div { float: none !important; display: inline-flex; align-items: center; gap: 6px; margin: 0 8px 0 0 !important; font-size: 12.5px !important; }
.pu-ac-panel-agregador img { margin: 0 !important; }
.pu-ac-panel-agregador select { height: 28px; border: 1px solid var(--pu-borde); border-radius: 7px; font: 12.5px var(--pu-fonte); width: auto !important; max-width: 220px; }
#boton_marcar_tipos_indicadores { width: auto !important; padding: 5px 10px; border: 1px solid var(--pu-ac-borde) !important; border-radius: 8px; background: #fff; color: var(--pu-ac-forte); font-size: 11.5px !important; font-weight: 600; }

/* lista */
.pu-cr-cab {
	position: sticky;
	top: -6px;
	z-index: 1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 16px;
	padding: 6px 4px 8px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--pu-borde);
	background: #fff;
	font-size: 11.5px;
	color: var(--pu-texto-3);
}
.pu-cr-todos { padding: 3px 9px; border-radius: 7px; background: var(--pu-ac-suave); color: var(--pu-ac-forte); font-weight: 600; cursor: pointer; }
.pu-cr-todos:empty { display: none; }
.pu-cr-niveis { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.pu-cr-nivel { display: inline-flex; align-items: center; gap: 2px; }
.pu-cr-nivel input { margin: 0; }
.pu-cr-cab-udis { margin-left: auto; }
.pu-co-axuda { flex: 1; }

.pu-cr-bloque { margin: 12px 4px 6px; font-size: 11.5px; font-weight: 600; color: var(--pu-texto-2); }
.pu-co-criterio { margin: 14px 4px 0; font-size: 11px; color: var(--pu-texto-3); }
.pu-cr-baleiro { padding: 18px 6px; font-size: 13.5px; color: var(--pu-texto-2); }

.pu-cr-fila {
	display: grid;
	grid-template-columns: 24px 104px minmax(0, 1fr) 46px 170px;
	align-items: start;
	gap: 8px;
	padding: 7px 6px;
	border-radius: 9px;
	border: 1px solid transparent;
}
.pu-cr-fila + .pu-cr-fila { margin-top: 2px; }
.pu-cr-fila:hover { background: #F7F9FB; }
.pu-cr-check { padding-top: 1px; }
.pu-cr-check input { width: 17px; height: 17px; margin: 0; accent-color: var(--pu-panel-cor); cursor: pointer; }
.pu-cr-codigo, .pu-cr-texto { font: 13px/1.45 var(--pu-fonte); color: var(--pu-texto-2) !important; cursor: pointer; }
.pu-cr-codigo { font-weight: 600; font-size: 12.5px; }
.pu-cr-codigo font, .pu-cr-texto font { font: inherit !important; color: inherit !important; }
.pu-cr-fila:has(input:checked) { background: var(--pu-panel-suave); border-color: color-mix(in srgb, var(--pu-panel-cor) 30%, white); }
.pu-cr-fila:has(input:checked) .pu-cr-codigo, .pu-cr-fila:has(input:checked) .pu-cr-texto { color: var(--pu-texto) !important; }
.pu-cr-fila:has(input:checked) .pu-cr-codigo { color: var(--pu-panel-cor) !important; }

.pu-cr-extra { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.pu-cr-planning { display: flex; gap: 2px; }
.pu-cr-planning a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; border-radius: 6px;
	background: var(--pu-fondo); color: var(--pu-texto-2);
	font: 600 13px var(--pu-fonte); cursor: pointer; text-decoration: none;
}
.pu-cr-planning a:hover { background: var(--pu-panel-cor); color: #fff; }
.pu-cr-asociados { font-size: 10.5px; color: var(--pu-texto-3); }
.pu-cr-asociados:empty { display: none; }

.pu-cr-udis { min-width: 0; line-height: 0; }
.pu-cr-udis * { vertical-align: top; }

.pu-co-exercicio { flex: 1; min-width: 0; font-size: 13.5px; color: var(--pu-texto); }
#panel_contidos_nome_exercicio:not(:empty) { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

@media (max-width: 700px) {
	.pu-cr-fila { grid-template-columns: 24px minmax(0, 1fr) 46px; }
	.pu-cr-codigo { grid-column: 2; }
	.pu-cr-texto { grid-column: 2; grid-row: 2; }
	.pu-cr-extra { grid-column: 3; grid-row: 1 / span 2; }
	.pu-cr-udis { grid-column: 2 / -1; }
	.pu-cr-cab-udis { display: none; }
	.pu-ac-panel-dentro { height: 60vh !important; }
}
@media (max-width: 700px) {
	.pu-ac-panel-cab { position: relative; padding-right: 46px; }
	.pu-ac-panel-cab .pu-modal-pechar { position: absolute; top: 8px; right: 8px; }
}

/* filas: +/- antes do código e do texto */
.pu-cr-fila { grid-template-columns: 24px 46px 104px minmax(0, 1fr) 170px; }
@media (max-width: 700px) {
	.pu-cr-fila { grid-template-columns: 24px 46px minmax(0, 1fr); }
	.pu-cr-extra { grid-column: 2; grid-row: 1 / span 2; }
	.pu-cr-codigo { grid-column: 3; grid-row: 1; }
	.pu-cr-texto { grid-column: 3; grid-row: 2; }
	.pu-cr-udis { grid-column: 3; }
}

/* cadradiños das UD-UDIs e semanas no diario: igual que na táboa dos cartafoles */
.pu-cr-udis { display: flex; flex-wrap: wrap; align-content: flex-start; align-items: center; gap: 4px; line-height: normal; padding-top: 2px; }
.pu-cr-udis > div {
	float: none !important;
	margin: 0 !important;
	width: 14px !important;
	height: 14px !important;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}
.pu-cr-udis > div[id^="no_diario_aula_"] {
	width: auto !important;
	height: 18px !important;
	padding: 0 7px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: color-mix(in srgb, var(--pu-diario) 12%, white) !important;
	color: var(--pu-diario) !important;
	font: 600 11px/18px var(--pu-fonte) !important;
	box-shadow: none !important;
	box-sizing: border-box;
}
.pu-cr-udis > div[id^="no_diario_aula_"] * { font: inherit !important; color: inherit !important; }

/* paneis: o × sempre á dereita do todo */
.pu-ac-panel-cab .pu-ac-panel-titulo { margin-right: 6px !important; }
.pu-ac-panel-cab .pu-modal-pechar { margin-left: auto; flex-shrink: 0; }

/* =========================================================================
   UDI · 3 Avaliación
   ========================================================================= */

.pu-av .pu-udi-seccion-num { background: var(--pu-ac-suave); color: var(--pu-ac-forte); }

/* niveis: funciones.js pon a activa con fondo #5882FA */
.pu-av-niveis { display: flex; flex-wrap: wrap; gap: 6px; }
.pu-av-niveis > div {
	float: none !important;
	margin: 0 !important;
	padding: 7px 14px !important;
	border: 1px solid var(--pu-ac-borde);
	border-radius: 999px;
	background: #fff !important;
	color: var(--pu-ac-forte) !important;
	font: 600 13px var(--pu-fonte);
	cursor: pointer;
}
.pu-av-niveis > div font { font: inherit !important; color: inherit !important; text-transform: lowercase; }
.pu-av-niveis > div font::first-letter { text-transform: uppercase; }
.pu-av-niveis > div:hover { background: var(--pu-ac-suave) !important; }
.pu-av-niveis > div[style*="background-color:#5882FA"], .pu-av-niveis > div[style*="background-color: rgb(88, 130, 250)"] {
	background: var(--pu-ac-forte) !important;
	border-color: var(--pu-ac-forte);
	color: #fff !important;
}

.pu-av-filtros { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; }
.pu-av-areas { align-items: center; }
.pu-av-areas:empty { display: none; }
.pu-av-filtro-etq { font: 600 12px var(--pu-fonte); color: var(--pu-texto-2); text-transform: uppercase; letter-spacing: .04em; margin-right: 2px; }
.pu-av-ferramentas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pu-av-busca { border: 1px solid var(--pu-borde); --pu-panel-cor: var(--pu-ac-forte); }
.pu-av-busca input { width: 180px; }
.pu-av-so-avaliados { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--pu-texto-2); cursor: pointer; }
.pu-av-so-avaliados input { margin: 0; accent-color: var(--pu-ac-forte); }

.pu-av-axuda { padding: 10px 12px; border-radius: 10px; background: var(--pu-fondo); font-size: 13px; line-height: 1.5; color: var(--pu-texto-2); }
.pu-av-axuda b { color: var(--pu-texto); font-weight: 600; }

/* grella común da cabeceira e das filas */
.pu-av-cab, .pu-av-fila {
	display: grid;
	grid-template-columns: 130px minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, 1.1fr) 92px 118px;
	gap: 10px;
}

.pu-av-cab { padding: 0 10px 8px; border-bottom: 1px solid var(--pu-borde); font-size: 12px; font-weight: 600; color: var(--pu-texto-2); align-items: end; }
.pu-av-cab span { display: block; font-weight: 400; color: var(--pu-texto-3); font-size: 11.5px; }
.pu-av-axuda-ligazon { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 3px; border-radius: 50%; background: var(--pu-fondo); color: var(--pu-texto-2); font-size: 10.5px; text-decoration: none; vertical-align: 1px; }

.pu-av-lista { display: flex; flex-direction: column; }

.pu-av-fila {
	position: relative;
	align-items: start;
	padding: 12px 10px;
	border-bottom: 1px solid var(--pu-borde);
}
.pu-av-fila.pu-av-grupo-b { background: #F7FAFD; }
.pu-av-fila:last-child { border-bottom: 0; }

/* agregadas: sangradas e unidas ao criterio do que dependen */
.pu-av-fila.pu-av-agregada { margin-left: 28px; border-left: 2px solid var(--pu-borde); }
.pu-av-fila.pu-av-agregada::before { content: ""; position: absolute; left: -28px; top: 22px; width: 26px; border-top: 2px solid var(--pu-borde); }
.pu-av-fila.pu-av-agregada .pu-av-codigo-texto, .pu-av-fila.pu-av-agregada .pu-av-criterio { color: var(--pu-texto-3) !important; }

.pu-av-codigo { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; float: none !important; width: auto !important; height: auto !important; border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; overflow: visible !important; }
.pu-av-codigo-texto { font: 600 13px var(--pu-fonte); color: var(--pu-texto); }
.pu-av-codigo-texto font { font: inherit !important; color: inherit !important; }
.pu-av-xerar-listas {
	display: inline-flex;
	padding: 5px 9px;
	border-radius: 8px;
	background: #F3E8F6;
	color: #7B2D8B;
	font: 600 11.5px/1.25 var(--pu-fonte);
	cursor: pointer;
}
.pu-av-xerar-listas:hover { background: #E9D5EF; }

/* o style deste elemento lévao para marcar_como_rubrica(): ignórase */
.pu-av-criterio {
	float: none !important;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	overflow: visible !important;
	font: 13.5px/1.45 var(--pu-fonte) !important;
	color: var(--pu-texto);
}
.pu-av-criterio font { font: inherit !important; color: inherit !important; }

.pu-av-celda { display: flex; flex-direction: column; gap: 6px; min-width: 0; float: none !important; height: auto !important; border: 0 !important; background: transparent !important; overflow: visible !important; }
.pu-av-etq-movil { display: none; font-size: 11.5px; font-weight: 600; color: var(--pu-texto-3); }

.pu-av-campo {
	min-height: 64px;
	max-height: 200px;
	overflow-y: auto;
	padding: 8px 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff !important;
	font: 13.5px/1.45 var(--pu-fonte) !important;
	color: var(--pu-texto);
	outline: none;
	overflow-wrap: anywhere;
	box-sizing: border-box;
	width: auto !important;
	height: auto !important;
}
.pu-av-campo font { font: inherit !important; }
.pu-av-campo:focus { border-color: var(--pu-ac-forte); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-ac-forte) 15%, transparent); }
.pu-av-campo:not([contenteditable="true"]) { background: var(--pu-fondo) !important; color: var(--pu-texto-2); }
.pu-av-campo:not([contenteditable="true"]):empty { min-height: 40px; }

.pu-av-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pu-av-chip { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 7px; font: 600 11.5px var(--pu-fonte); cursor: pointer; float: none !important; margin: 0 !important; width: auto !important; }
.pu-av-chip-seguimento { background: #FCEBEA; color: var(--pu-marca); }
.pu-av-chip-seguimento:hover { background: #F8D7D4; }
.pu-av-chip-gris { background: var(--pu-fondo); color: var(--pu-texto-2); }
.pu-av-chip-gris:hover { background: #E2E5EA; }
.pu-av-agregado-a { font-size: 12px; color: var(--pu-marca); }

.pu-av-seguimento { position: static !important; margin: 0 !important; width: auto !important; height: auto !important; background: transparent !important; }
.pu-av-seguimento[style*="display: none"], .pu-av-seguimento[style*="display:none"] { display: none !important; }
.pu-av-seguimento select { width: 100%; height: 32px; border: 1px solid var(--pu-borde); border-radius: 8px; font: 12.5px var(--pu-fonte); background: #fff; }

.pu-av-udis { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 4px; padding-top: 4px; font-size: 11px; color: var(--pu-texto-3); min-width: 0; float: none !important; width: auto !important; height: auto !important; border: 0 !important; background: transparent !important; overflow: visible !important; }
.pu-av-udis > * { float: none !important; margin: 0 !important; }

.pu-av-accions { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; font-size: 12.5px; }
.pu-av-rubrica { margin: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.pu-av-rubrica-label { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--pu-texto); cursor: pointer; }
.pu-av-rubrica-label input { margin: 0; width: 16px; height: 16px; accent-color: var(--pu-ac-forte); }
.pu-av-desagregar { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--pu-marca); cursor: pointer; }
.pu-av-desagregar input { margin: 0; }
.pu-av-gardado label { font-size: 11.5px; color: var(--pu-texto-3) !important; cursor: pointer; }
.pu-av-gardado label[style*="red"] { color: var(--pu-marca) !important; font-weight: 600; }
.pu-av-gardado label img { height: 12px; vertical-align: middle; float: none !important; }
.pu-av-expandir { display: flex; flex-direction: column; gap: 4px; margin: 0 !important; }
.pu-av-expandir label { font-size: 11.5px; font-weight: 600; color: var(--pu-ac-forte); cursor: pointer; }
.pu-av-expandir label:empty { display: none; }
.pu-av-trimestres { font-size: 11px; color: var(--pu-ac-forte); }
.pu-av-fila.pu-av-con-rubrica .pu-av-rubrica-label { color: var(--pu-ac-forte); }

/* ventá "agregar a unha lista" e panel "listas de control" */
.pu-modal-agregar { --pu-modal-cor: #5B6470; }
.pu-av-agregar-criterio { padding: 12px 18px 0; font-size: 13px; color: var(--pu-texto-2); }

.pu-av-listas {
	position: absolute !important;
	top: 44px !important;
	left: 10px !important;
	z-index: 50;
	width: 300px;
	margin: 0 !important;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}
.pu-av-listas-cab { display: flex; align-items: center; justify-content: space-between; padding: 8px 8px 8px 14px; background: #7B2D8B; color: #fff; font-size: 13px; font-weight: 600; }
.pu-av-listas-dentro { max-height: 300px; overflow: auto; padding: 10px 12px; font-size: 13px; }

@media (max-width: 1100px) {
	.pu-av-cab { display: none; }
	.pu-av-fila { grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1fr); }
	.pu-av-codigo { grid-column: 1; grid-row: 1; }
	.pu-av-criterio { grid-column: 2 / -1; grid-row: 1; }
	.pu-av-udis { grid-column: 1; grid-row: 2; }
	.pu-av-aspectos { grid-column: 2; grid-row: 2; }
	.pu-av-instrumento { grid-column: 3; grid-row: 2; }
	.pu-av-accions { grid-column: 1 / -1; grid-row: 3; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
	.pu-av-etq-movil { display: block; }
	.pu-av-rubrica { flex-direction: row; }
	.pu-av-expandir { flex-direction: row; gap: 10px; }
}
@media (max-width: 640px) {
	.pu-av-fila { grid-template-columns: minmax(0, 1fr); }
	.pu-av-codigo { flex-direction: row; align-items: center; flex-wrap: wrap; }
	.pu-av-codigo, .pu-av-criterio, .pu-av-aspectos, .pu-av-instrumento, .pu-av-udis, .pu-av-accions { grid-column: 1; grid-row: auto; }
	.pu-av-fila.pu-av-agregada { margin-left: 14px; }
	.pu-av-fila.pu-av-agregada::before { left: -14px; width: 12px; }
	.pu-av-busca input { width: 140px; }
}
/* agregadas: sen cambiar a grella (a sangría vai dentro da cela do código) */
.pu-av-fila.pu-av-agregada { margin-left: 0 !important; border-left: 0; }
.pu-av-fila.pu-av-agregada::before { display: none; }
.pu-av-fila.pu-av-agregada .pu-av-codigo { position: relative; padding-left: 24px !important; }
.pu-av-fila.pu-av-agregada .pu-av-codigo::before {
	content: ""; position: absolute; left: 6px; top: -14px; width: 12px; height: 23px;
	border-left: 2px solid var(--pu-borde); border-bottom: 2px solid var(--pu-borde); border-bottom-left-radius: 6px;
}
.pu-av-niveis > div font { display: inline-block; }

/* todas as pantallas da UD-UDI usan o ancho completo, como a Estrutura */
.pu-udi-pantalla { max-width: none !important; }

/* ventá de agregar a unha lista de control */
.pu-modal-agregar { --pu-panel-cor: var(--pu-ac-forte); --pu-panel-suave: var(--pu-ac-suave); }
.pu-modal-agregar .pu-modal-cab { background: var(--pu-ac-forte); }
.pu-av-agregar-criterio { margin: 12px 18px 0; padding: 10px 12px; border-radius: 10px; background: var(--pu-fondo); font-size: 13.5px; color: var(--pu-texto); }
.pu-ag-fila { grid-template-columns: 24px 110px minmax(0, 1fr) !important; }
.pu-ag-fila .pu-cr-udis { display: none; }
.pu-ag-aspectos { margin-bottom: 4px; font-weight: 600; color: var(--pu-texto); }
@media (max-width: 700px) {
	.pu-ag-fila { grid-template-columns: 24px minmax(0, 1fr) !important; }
	.pu-ag-fila .pu-cr-codigo { grid-column: 2; grid-row: 1; }
	.pu-ag-fila .pu-cr-texto { grid-column: 2; grid-row: 2; }
}

/* =========================================================================
   UDI · 3.1 Rúbrica
   ========================================================================= */

.pu-ru-lista { display: flex; flex-direction: column; gap: 14px; }

.pu-ru-tarxeta { border: 1px solid var(--pu-borde); border-radius: 12px; overflow: hidden; background: #fff; }

.pu-ru-cab {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: start;
	padding: 12px 14px;
	background: #F7FAFD;
	border-bottom: 1px solid var(--pu-borde);
}
.pu-ru-codigo { font: 600 13px var(--pu-fonte); color: var(--pu-texto); }
.pu-ru-codigo font, .pu-ru-criterio font { font: inherit !important; color: inherit !important; }
.pu-ru-criterio { font: 13.5px/1.45 var(--pu-fonte); color: var(--pu-texto); }

.pu-ru-accions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 10px; max-width: 420px; }
.pu-ru-marcada { display: inline-flex; align-items: center; gap: 6px; font: 600 12.5px var(--pu-fonte); color: var(--pu-ac-forte); cursor: pointer; }
.pu-ru-marcada input { margin: 0; width: 16px; height: 16px; accent-color: var(--pu-ac-forte); }

.pu-ru-niveis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pu-ru-nivel { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid var(--pu-borde); }
.pu-ru-nivel:last-child { border-right: 0; }
.pu-ru-nivel-nome { padding: 7px 10px; border-bottom: 1px solid var(--pu-borde); font-size: 12px; color: var(--pu-texto-2); text-align: center; }
.pu-ru-nivel-nome b { font-size: 13px; color: var(--pu-ac-forte); }
.pu-ru-nivel-nome span { font-size: 11px; color: var(--pu-texto-3); }
.pu-ru-opcional .pu-ru-nivel-nome { background: #FAFBFC; }
.pu-ru-texto {
	flex: 1;
	min-height: 120px;
	max-height: 260px;
	overflow-y: auto;
	padding: 9px 10px;
	font: 13px/1.45 var(--pu-fonte) !important;
	color: var(--pu-texto);
	outline: none;
	overflow-wrap: anywhere;
}
.pu-ru-texto font { font: inherit !important; color: inherit !important; }
.pu-ru-texto:focus { background: #FBFDFF; box-shadow: inset 0 0 0 2px var(--pu-ac-borde); }
.pu-ru-opcional .pu-ru-texto { background: #FCFCFD; }

/* criterios agregados (novos e os que engade funciones.js co formato antigo) */
.pu-ru-tarxeta > div[id^="subcajita_"] {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 12px;
	padding: 8px 14px 8px 34px;
	border-top: 1px dashed var(--pu-borde);
	position: relative;
	font-size: 12.5px;
	color: var(--pu-texto-2);
}
.pu-ru-tarxeta > div[id^="subcajita_"]::before { content: "↳"; position: absolute; left: 14px; top: 8px; color: var(--pu-texto-3); }
.pu-ru-tarxeta > div[id^="subcajita_"] > div {
	float: none !important; margin: 0 !important; width: auto !important; height: auto !important;
	border: 0 !important; padding: 0 !important; background: transparent !important; overflow: visible !important;
}
.pu-ru-tarxeta > div[id^="subcajita_"] > div[style*="clear"] { display: none; }
.pu-ru-tarxeta > div[id^="subcajita_"] font { font: inherit !important; color: var(--pu-texto-2) !important; }
.pu-ru-tarxeta > div[id^="subcajita_"] > div:first-of-type,
.pu-ru-tarxeta > div[id^="subcajita_"] > div:not([style*="clear"]):nth-child(2) { font-weight: 600; }

/* ventá de copiar / agregar */
.pu-modal-rubrica { --pu-modal-cor: var(--pu-ac-forte); --pu-panel-cor: var(--pu-ac-forte); --pu-panel-suave: var(--pu-ac-suave); }
.pu-ru-copia { border: 1px solid var(--pu-borde); border-radius: 11px; margin-bottom: 10px; overflow: hidden; }
.pu-ru-copia-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; background: #F7FAFD; font-size: 13px; }
.pu-ru-copia-agregados { font-size: 11.5px; color: var(--pu-marca); }
.pu-ru-copia-niveis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pu-ru-copia-niveis > div { padding: 8px 10px; border-right: 1px solid var(--pu-borde); font-size: 12px; color: var(--pu-texto); min-width: 0; overflow-wrap: anywhere; }
.pu-ru-copia-niveis > div:last-child { border-right: 0; }
.pu-ru-copia-niveis > div > b { display: block; margin-bottom: 4px; color: var(--pu-ac-forte); }

@media (max-width: 1100px) {
	.pu-ru-cab { grid-template-columns: 110px minmax(0, 1fr); }
	.pu-ru-accions { grid-column: 1 / -1; justify-content: flex-start; max-width: none; }
	.pu-ru-niveis, .pu-ru-copia-niveis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pu-ru-nivel:nth-child(3n) { border-right: 0; }
	.pu-ru-nivel:nth-child(-n+3) { border-bottom: 1px solid var(--pu-borde); }
}
@media (max-width: 600px) {
	.pu-ru-cab { grid-template-columns: minmax(0, 1fr); }
	.pu-ru-niveis, .pu-ru-copia-niveis { grid-template-columns: minmax(0, 1fr); }
	.pu-ru-nivel { border-right: 0; border-bottom: 1px solid var(--pu-borde); }
	.pu-ru-nivel:last-child { border-bottom: 0; }
	.pu-ru-texto { min-height: 70px; }
	.pu-ru-tarxeta > div[id^="subcajita_"] { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.pu-ru-copia-cab { flex-direction: column; align-items: stretch; }
}

/* indicador de carga: en vez das bólas flotando, unha barra fina arriba de todo
   (cor da zona) que avanza mentres se cargan os datos */
#cargando_pagina {
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	height: 3px !important;
	padding: 0 !important;
	transform: none !important;
	background: color-mix(in srgb, var(--pu-acento) 18%, transparent) !important;
	overflow: hidden !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
#cargando_pagina > span { display: none !important; }
#cargando_pagina::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -40%;
	width: 40%;
	background: var(--pu-acento);
	border-radius: 0 2px 2px 0;
	animation: pu-carga 1.1s ease-in-out infinite;
}
@keyframes pu-carga {
	0% { left: -40%; width: 40%; }
	50% { width: 55%; }
	100% { left: 100%; width: 30%; }
}

/* procesos cognitivos (Bloom): campo que se preme e lista de caixiñas */
.pu-ex { position: relative; }
.pu-ex-bloom { cursor: pointer; background: var(--pu-ex-suave) !important; border-color: var(--pu-ex-borde) !important; color: var(--pu-ex-cor) !important; min-height: 34px; }
.pu-ex-bloom:hover { border-color: var(--pu-ex-forte) !important; }
.pu-ex-bloom:empty::before { content: "Preme para escoller"; color: var(--pu-texto-3); font-style: italic; }
.pu-bloom-menu {
	position: absolute;
	left: 10px;
	right: 10px;
	z-index: 30;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px;
	border: 1px solid var(--pu-ex-borde);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}
.pu-bloom-menu label { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border-radius: 7px; font-size: 13px; color: var(--pu-texto); cursor: pointer; }
.pu-bloom-menu label:hover { background: var(--pu-ex-suave); }
.pu-bloom-menu input { margin: 0; width: 16px; height: 16px; accent-color: var(--pu-ex-forte); }
.pu-bloom-axuda { margin-top: 4px; padding: 4px 6px; font-size: 11.5px; color: var(--pu-texto-3); text-decoration: none; }
.pu-bloom-axuda:hover { color: var(--pu-ex-cor); }
/* Bloom: sen fondo verde (como os demais campos) */
.pu-ex-bloom { background: #FAFBFC !important; border-color: var(--pu-borde) !important; color: var(--pu-texto) !important; }
.pu-ex-bloom:hover { border-color: var(--pu-ex-forte) !important; }

/* rúbrica: botón único «Copiar» cun menú de dúas opcións */
.pu-ru-copiar { position: relative; display: inline-flex; }
.pu-ru-copiar-menu {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	right: 0;
	z-index: 40;
	min-width: 190px;
	flex-direction: column;
	padding: 6px;
	border: 1px solid var(--pu-borde);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}
.pu-ru-copiar-menu.pu-aberto { display: flex; }
.pu-ru-copiar-menu > span { padding: 7px 10px; border-radius: 7px; font-size: 13px; color: var(--pu-texto); cursor: pointer; white-space: nowrap; }
.pu-ru-copiar-menu > span:hover { background: var(--pu-ac-suave); color: var(--pu-ac-forte); }
@media (max-width: 1100px) { .pu-ru-copiar-menu { right: auto; left: 0; } }

/* =========================================================================
   UDI · 3.2 Avaliación docente e 4 Familias
   ========================================================================= */
.pu-do .pu-udi-seccion-num { background: var(--pu-ac-suave); color: var(--pu-ac-forte); }
.pu-do-grella { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.pu-do-etq { min-height: 34px; align-items: flex-end; }
.pu-do-etq.pu-udi-etiqueta { display: flex; }
.pu-do-aspectos { display: flex; flex-direction: column; gap: 6px; }
.pu-do-aspectos .pu-editable { min-height: 40px; }
.pu-do-texto { min-height: 280px; max-height: 600px; overflow-y: auto; resize: vertical; }
@media (max-width: 1000px) { .pu-do-grella { grid-template-columns: minmax(0, 1fr); } .pu-do-texto { min-height: 160px; } }

/* =========================================================================
   UDI · Seguimento (só a parte de arriba; o resto xa estaba renovado)
   ========================================================================= */
.pu-se .pu-udi-seccion-num { background: color-mix(in srgb, var(--pu-udis) 12%, white); color: var(--pu-udis); }
.pu-se-ferramentas { display: flex; flex-direction: column; gap: 14px; }
.pu-se-fila:empty { display: none; }
.pu-se-fila, .pu-se-fila > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.pu-se-fila div, .pu-se-fila font { float: none !important; margin: 0 !important; }
.pu-se-fila font { font: 600 13px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
.pu-se-fila font[style*="display:none"], .pu-se-fila div[style*="display:none"], .pu-se-fila div[style*="display: none"] { display: none !important; }
.pu-se-fila a img { height: 18px !important; margin-right: 8px; vertical-align: middle; }
.pu-se-fila > div > a { display: inline-flex; }
.pu-se-fila select {
	height: 36px;
	min-width: 120px;
	padding: 0 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 14px var(--pu-fonte) !important;
	color: var(--pu-texto);
}
.pu-se-fila input[type=checkbox] { margin: 0 4px 0 0; width: 16px; height: 16px; accent-color: var(--pu-udis); vertical-align: middle; }
.pu-se-fila .esquinas_redondeadas[onclick]:not([style*="display:none"]):not([style*="display: none"]) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: 36px !important;
	padding: 0 16px !important;
	border-radius: 10px;
	background: var(--pu-udis) !important;
	color: #fff !important;
	font: 600 13px var(--pu-fonte) !important;
	box-sizing: border-box;
}
.pu-se-fila .esquinas_redondeadas[onclick] center { text-transform: lowercase; }
.pu-se-fila .esquinas_redondeadas[onclick] center::first-letter { text-transform: uppercase; }
.pu-se-fila .esquinas_redondeadas[onclick]:hover { filter: brightness(1.08); }
.pu-se-nota { margin-top: 6px; }
.pu-se-nota font { font: 13px/1.5 var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
.pu-se-nota br:first-child { display: none; }

/* seguimento: a parte de abaixo (xa renovada) tamén nunha caixa branca e a todo o ancho */
.pu-se #lista_alumnos_cualificar:not(:empty),
.pu-se #iframe_seguimento_udis_traballadas:not(:empty) {
	padding: 16px 18px;
	border: 1px solid var(--pu-borde);
	border-radius: var(--pu-radio);
	background: #fff;
}
.pu-se .su-root { max-width: none !important; margin: 0 !important; }
.pu-se > div[style*="clear:both"] { display: none; }

/* seguimento: grupo e nivel nunha soa liña (un único botón: "Facer seguimento") */
.pu-se-formulario { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.pu-se-formulario > .pu-se-fila { display: contents; }
.pu-se-formulario > .pu-se-fila > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
#lista_grupos_cualificar .esquinas_redondeadas[onclick*="cualificar_udi_alumnos_grupo"] { display: none !important; }
#lista_grupos_cualificar > font:last-child:empty { display: none !important; }

/* Xerar: unha subpestana máis (co bocadillo debaixo), pero á dereita */
#boton_xerar.pu-subpestana {
	margin: 0 0 0 auto !important;
	padding: 13px 12px 13px !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	color: var(--pu-texto-2) !important;
	align-self: stretch !important;
	box-shadow: none !important;
}
#boton_xerar.pu-subpestana:hover { filter: none; color: var(--pu-texto) !important; }
#boton_xerar.pu-subpestana.pu-activa { color: var(--pu-acento) !important; box-shadow: none !important; }
#boton_xerar.pu-subpestana.pu-activa::before,
#boton_xerar.pu-subpestana.pu-activa::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-top-width: 0;
	pointer-events: none;
}
#boton_xerar.pu-subpestana.pu-activa::before { bottom: 2px; border-width: 0 14px 12px 14px; border-bottom-color: var(--pu-borde); }
#boton_xerar.pu-subpestana.pu-activa::after { bottom: 2px; border-width: 0 13px 12px 13px; border-bottom-color: var(--pu-fondo); }
#boton_xerar.pu-subpestana > span { line-height: 1.2; }
#boton_xerar.pu-subpestana > .pu-icona { display: inline-block; vertical-align: middle; flex-shrink: 0; }
#boton_xerar.pu-subpestana > span { vertical-align: middle; }

/* =========================================================================
   Programación e currículo · marco
   Os botóns dos apartados (Control dos criterios, Modo planning, Perfil de
   saída, ACS...) están nas subpestanas e só se ven nesta zona.
   ========================================================================= */
body:not([data-pu-zona="programacion"]) .pu-prog-apartado { display: none !important; }
body[data-pu-zona="programacion"] .pu-prog-apartado:not([style*="display: none"]):not([style*="display:none"]) { display: flex !important; }
.pu-prog-apartado .pu-icona { width: 16px; height: 16px; flex-shrink: 0; }
.pu-prog-apartado.pu-activa .pu-icona { color: var(--pu-acento); }

/* fóra de Programación, os seus botóns non contan para despregar a barra */
body:not([data-pu-zona="programacion"]) .pu-subpestanas:not(:has(> .pu-subpestana:not(.pu-prog-apartado):not([style*="display: none"]):not([style*="display:none"]))) {
	padding: 0;
	background: var(--pu-branco) !important;
}

/* pantalla a todo o ancho */
#contenedor_programacion.pu-prog { max-width: none !important; }
#contenedor_inferior_cursos.pu-prog-corpo { float: none; width: 100%; margin: 0; }

/* =========================================================================
   Programación · Control dos criterios (#ponderacion_estandares)
   Filas xeradas por mostrar_lista_ponderacion_portada (funciones.js) e
   agrupadas en .pu-pc-fila por prog_novo.js
   ========================================================================= */
.pu-pc {
	--pu-pc-cols: 130px minmax(240px, 2.2fr) minmax(150px, 1fr) minmax(130px, 1fr) 110px;
	--pu-pc-tipo: #B3261E;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-family: var(--pu-fonte);
	color: var(--pu-texto);
}
.pu-pc-cartafol { margin-left: 4px; font-size: 14px; font-weight: 600; color: var(--pu-texto); white-space: nowrap; }
.pu-pc-copiar {
	background: #fff;
	border: 1px solid var(--pu-borde);
	color: var(--pu-texto-2);
	height: 34px;
	font-weight: 500;
}
.pu-pc-copiar:hover { border-color: var(--pu-acento); color: var(--pu-acento); filter: none; }
.pu-pc-copiar .pu-icona { width: 16px; height: 16px; }

.pu-pc .pu-cf-filtros > div { position: static !important; width: auto !important; height: auto !important; margin: 0 !important; overflow: visible !important; }
.pu-pastillas > div[style*="background-color:#E0ECF8"],
.pu-pastillas > div[style*="background-color: rgb(224, 236, 248)"] { background-color: var(--pu-fondo) !important; }

/* cabeceira das columnas */
#indicadores_portada_ponderacion_pre.pu-pc-cab {
	display: grid;
	grid-template-columns: var(--pu-pc-cols);
	column-gap: 14px;
	padding: 0 6px 8px;
	border-bottom: 1px solid var(--pu-borde);
	scrollbar-gutter: stable;
	overflow: hidden;
}
#indicadores_portada_ponderacion_pre.pu-pc-cab:empty { display: none; }
.pu-pc-cab > div[style*="clear:both"] { display: none !important; }
.pu-pc-cab > div {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
	font: 600 11.5px var(--pu-fonte);
	color: var(--pu-texto-3);
	text-transform: uppercase;
	letter-spacing: .03em;
}
.pu-pc-cab > div font { font: inherit !important; color: inherit !important; }
.pu-pc-cab label { text-transform: none; letter-spacing: 0; font-weight: 400 !important; font-size: 11.5px !important; color: var(--pu-texto-3) !important; }

/* corpo da táboa */
#indicadores_portada_ponderacion.pu-pc-taboa {
	position: relative;
	max-height: calc(100vh - 290px);
	min-height: 260px;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 6px 40px;
	scrollbar-gutter: stable;
	font-size: 13px;
}
#indicadores_portada_ponderacion > br, #indicadores_portada_ponderacion > img { display: none; }

/* bloque */
#indicadores_portada_ponderacion > div[style*="E0ECF8"] {
	width: auto !important;
	margin: 16px 0 4px !important;
	padding: 8px 12px !important;
	border-radius: 8px;
	background: var(--pu-fondo) !important;
	font: 600 12.5px var(--pu-fonte);
	color: var(--pu-texto-2);
}
#indicadores_portada_ponderacion > div[style*="E0ECF8"] font { font: inherit !important; color: inherit !important; }
#indicadores_portada_ponderacion > div[style*="clear:both"] { display: none; }

/* fila dun criterio */
.pu-pc-fila {
	position: relative;
	display: grid;
	grid-template-columns: var(--pu-pc-cols);
	column-gap: 14px;
	row-gap: 6px;
	align-items: start;
	padding: 12px 0;
	border-bottom: 1px solid var(--pu-borde);
}
.pu-pc-fila > * { display: none !important; }
.pu-pc-fila > [id^="portada_codigo_indicador_"],
.pu-pc-fila > [id^="portada_texto_indicador_"],
.pu-pc-fila > [id^="udis_indicador_traballado_"],
.pu-pc-fila > [id^="udis_indicador_avaliado_"],
.pu-pc-fila > [id^="boton_gardar_ponderacion_cargando_"],
.pu-pc-fila > [id^="boton_gardar_porcentaje_"] {
	display: block !important;
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
	box-sizing: border-box;
	grid-row: 1;
}
.pu-pc-fila > [id^="boton_gardar_porcentaje_"][style*="display: none"],
.pu-pc-fila > [id^="boton_gardar_porcentaje_"][style*="display:none"] { display: none !important; }
.pu-pc-fila > [id^="caixa_tipos_agrupar_"]:not([style*="display: none"]):not([style*="display:none"]) { display: flex !important; }

.pu-pc-fila > [id^="portada_codigo_indicador_"] {
	grid-column: 1;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	font: 600 12.5px var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
}
.pu-pc-fila > [id^="portada_texto_indicador_"] { grid-column: 2; font-size: 13px !important; line-height: 1.5; color: var(--pu-texto) !important; }
.pu-pc-fila > [id^="portada_texto_indicador_"] font { font: inherit !important; }
.pu-pc-fila > [id^="udis_indicador_traballado_"] { grid-column: 3; }
.pu-pc-fila > [id^="udis_indicador_avaliado_"] { grid-column: 4; }
.pu-pc-fila > [id^="boton_gardar_ponderacion_cargando_"],
.pu-pc-fila > [id^="boton_gardar_porcentaje_"] { grid-column: 5; justify-self: end; }
.pu-pc-fila > [id^="boton_gardar_ponderacion_cargando_"] { font-size: 12px; color: var(--pu-texto-3); }
.pu-pc-fila > [id^="boton_gardar_ponderacion_cargando_"] img { height: 14px; vertical-align: middle; float: none !important; margin-right: 4px; }
.pu-pc-fila > [id^="boton_gardar_ponderacion_cargando_"] font { font: inherit !important; color: inherit !important; }

/* marcas das UD-UDIs (cadrados = traballado, círculos = avaliado) */
.pu-pc-fila > [id^="udis_indicador_traballado_"],
.pu-pc-fila > [id^="udis_indicador_avaliado_"] {
	display: flex !important;
	flex-wrap: wrap;
	gap: 4px;
	padding-top: 2px !important;
}
.pu-pc-fila > [id^="udis_indicador_traballado_"] > div,
.pu-pc-fila > [id^="udis_indicador_avaliado_"] > div {
	float: none !important;
	margin: 0 !important;
	width: 14px !important;
	height: 14px !important;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}
.pu-pc-fila > [id^="udis_indicador_avaliado_"] > div { border-radius: 50% !important; }

/* botón "Agrupar por tipo" co contador */
:is(.pu-pc-fila, .pu-pl-celda) [id^="boton_agrupado_tipo_"] {
	position: relative;
	margin: 0 !important;
	padding: 6px 10px !important;
	border-radius: 8px !important;
	border: 1px solid color-mix(in srgb, var(--pu-pc-tipo) 30%, white);
	background: color-mix(in srgb, var(--pu-pc-tipo) 8%, white) !important;
	color: var(--pu-pc-tipo) !important;
	font: 600 11.5px var(--pu-fonte) !important;
	text-transform: lowercase;
	white-space: nowrap;
}
:is(.pu-pc-fila, .pu-pl-celda) [id^="boton_agrupado_tipo_"]:hover { background: color-mix(in srgb, var(--pu-pc-tipo) 14%, white) !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="boton_agrupado_tipo_"] center::first-letter { text-transform: uppercase; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="boton_agrupado_tipo_"].badge1[data-badge]::after {
	top: -8px;
	right: -8px;
	width: 18px;
	height: 18px;
	line-height: 18px;
	background: var(--pu-pc-tipo);
	font: 600 10px/18px var(--pu-fonte);
	text-transform: none;
	box-shadow: 0 0 0 2px #fff;
}

/* botón gardar */
.pu-pc-fila [id^="boton_gardar_porcentaje_"] {
	padding: 6px 12px !important;
	border-radius: 8px !important;
	border: 1px solid var(--pu-borde) !important;
	background: #fff !important;
	color: var(--pu-texto-2) !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
	white-space: nowrap;
	cursor: pointer;
}
.pu-pc-fila [id^="boton_gardar_porcentaje_"]:hover { border-color: var(--pu-acento) !important; color: var(--pu-acento) !important; }
.pu-pc-fila [id^="boton_gardar_porcentaje_"] font { font: inherit !important; color: inherit !important; }
.pu-pc-fila [id^="boton_gardar_porcentaje_"] center::first-letter { text-transform: uppercase; }

/* panel "Agrupar por tipo" / "Xestión tipos" */
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] {
	position: absolute !important;
	left: 136px !important;
	top: 8px !important;
	z-index: 20;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: min(460px, calc(100% - 150px)) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 12px 14px 14px !important;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-top: 3px solid var(--pu-pc-tipo);
	border-radius: 12px;
	background: #fff !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
	font-family: var(--pu-fonte);
}
/* frecha cara ao botón */
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > div:first-child {
	position: absolute !important;
	left: -7px;
	top: 18px;
	width: 12px !important;
	height: 12px !important;
	margin: 0 !important;
	border-style: solid !important;
	border-width: 0 0 1px 1px !important;
	border-color: var(--pu-borde) !important;
	background: #fff;
	transform: rotate(45deg);
}
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > div[onclick^="xestion_tipos"] {
	order: 1;
	position: static !important;
	height: auto !important;
	margin: 0 !important;
	padding: 6px 12px !important;
	border: 1px solid var(--pu-pc-tipo);
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--pu-pc-tipo) !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
}
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > div[onclick^="xestion_tipos"]::first-letter { text-transform: uppercase; }
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > div[onclick^="xestion_tipos"]:hover { background: color-mix(in srgb, var(--pu-pc-tipo) 8%, white) !important; }
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > div:nth-child(3) {
	order: 2;
	flex: 1;
	position: static !important;
	margin: 0 !important;
	font: 12px var(--pu-fonte) !important;
	color: var(--pu-texto-3) !important;
}
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > div[id^="total_tipo_peso_"] { order: 2; float: none !important; margin: 0 !important; color: var(--pu-texto-2) !important; }
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > div[id^="total_tipo_peso_"]:empty { display: none; }
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > label {
	order: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0 0 0 auto !important;
	border-radius: 8px;
	font-size: 0 !important;
	color: var(--pu-texto-2) !important;
}
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > label::before { content: "✕"; font-size: 15px; }
:is(.pu-pc-fila, .pu-pl-celda) > [id^="caixa_tipos_agrupar_"] > label:hover { background: var(--pu-fondo); }

:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] {
	order: 4;
	flex: 1 1 100%;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 10px;
	align-items: center;
	max-height: 280px;
	height: auto !important;
	margin: 0 !important;
	overflow-y: auto !important;
	font-size: 13px;
	color: var(--pu-texto-2);
}
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[style*="clear:both"],
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > br { display: none !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > font { grid-column: 1 / -1; font: 13px/1.5 var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > img { height: 14px; float: none !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	color: var(--pu-texto) !important;
	font: 13.5px/1.4 var(--pu-fonte) !important;
}
/* lista para marcar */
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div:not(:has(input)):not([id]) {
	padding: 8px 10px !important;
	border-radius: 8px;
	background: var(--pu-fondo);
}
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div:has(> input) { padding: 0 6px !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: var(--pu-pc-tipo); cursor: pointer; }
/* xestión de tipos: editar, gardar, engadir */
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="tipo_editar_"],
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="tipo_engadir_novo_"] {
	min-height: 36px;
	padding: 8px 10px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 8px !important;
	background: #FAFBFC !important;
	box-sizing: border-box;
	outline: none;
}
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="tipo_editar_"]:focus,
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="tipo_engadir_novo_"]:focus { border-color: var(--pu-pc-tipo) !important; background: #fff !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="tipo_engadir_novo_"] { border-style: dashed !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="tipo_engadir_novo_"]:empty::before { content: "Novo tipo…"; color: var(--pu-texto-3); }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="boton_gardar_tipo_editar_"],
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="boton_engadir_tipo_"] {
	padding: 7px 12px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--pu-texto-2) !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
	text-align: center;
	cursor: pointer;
}
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="boton_engadir_tipo_"] { border-color: var(--pu-pc-tipo) !important; background: var(--pu-pc-tipo) !important; color: #fff !important; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="boton_gardar_tipo_editar_"]::first-letter,
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="boton_engadir_tipo_"]::first-letter { text-transform: uppercase; }
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div[id^="boton_gardar_tipo_editar_"] img { height: 12px; vertical-align: middle; }

/* ventá de copiar */
.pu-pc-modal { --pu-modal-cor: var(--pu-programacion); }
.pu-pc-modal .pu-modal-caixa { width: min(820px, 100%); }
.pu-pc-modal .pu-modal-corpo { display: flex; flex-direction: column; gap: 12px; }
.pu-pc-copiar-lista {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 8px 10px;
}
.pu-pc-copiar-lista > :nth-child(7n+3),
.pu-pc-copiar-lista > :nth-child(7n+4),
.pu-pc-copiar-lista > :nth-child(7n) { display: none !important; }
.pu-pc-copiar-lista > br, .pu-pc-copiar-lista > img { display: none; }
.pu-pc-copiar-lista > div { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.pu-pc-copiar-lista > .cajita_udi_izquierda { background: none !important; border: 0 !important; height: auto !important; }
.pu-pc-copiar-lista > .cajita_udi_izquierda img { height: 18px; display: block; }
.pu-pc-copiar-lista > div[id^="curso_"] { background: none !important; font-size: 14px; }
.pu-pc-copiar-lista > div[id^="curso_"] font { font: inherit !important; }
.pu-pc-copiar-lista > div:nth-child(7n+5) font { font: 12px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-pc-copiar-lista select { width: auto !important; height: 30px; margin: 0 8px 0 4px; padding: 0 6px; border: 1px solid var(--pu-borde); border-radius: 8px; background: #fff; font: 13px var(--pu-fonte); }
.pu-pc-copiar-lista > div[onclick^="copiar_ponderacion"] {
	padding: 7px 12px !important;
	border-radius: 8px;
	background: var(--pu-programacion) !important;
	color: #fff !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
	white-space: nowrap;
}
.pu-pc-copiar-lista > div[onclick^="copiar_ponderacion"]::first-letter { text-transform: uppercase; }

/* móbil */
@media (max-width: 820px) {
	#indicadores_portada_ponderacion_pre.pu-pc-cab { display: none; }
	.pu-pc { --pu-pc-cols: minmax(0, 1fr) minmax(0, 1fr); }
	.pu-pc-fila > [id^="portada_codigo_indicador_"] { grid-column: 1; grid-row: 1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 10px; white-space: nowrap; }
	.pu-pc-fila > [id^="boton_gardar_ponderacion_cargando_"],
	.pu-pc-fila > [id^="boton_gardar_porcentaje_"] { grid-column: 2; grid-row: 1; }
	.pu-pc-fila > [id^="portada_texto_indicador_"] { grid-column: 1 / -1; grid-row: 2; }
	.pu-pc-fila > [id^="udis_indicador_traballado_"] { grid-column: 1; grid-row: 3; }
	.pu-pc-fila > [id^="udis_indicador_avaliado_"] { grid-column: 2; grid-row: 3; }
	.pu-pc-fila > [id^="udis_indicador_traballado_"]::before { content: "Traballado"; flex-basis: 100%; font-size: 11px; color: var(--pu-texto-3); }
	.pu-pc-fila > [id^="udis_indicador_avaliado_"]::before { content: "Avaliado"; flex-basis: 100%; font-size: 11px; color: var(--pu-texto-3); }
	.pu-pc-fila > [id^="caixa_tipos_agrupar_"] { left: 0 !important; top: 48px !important; width: 100% !important; }
	.pu-pc-fila > [id^="caixa_tipos_agrupar_"] > div:first-child { left: 30px; top: -7px; transform: rotate(135deg); }
	#indicadores_portada_ponderacion.pu-pc-taboa { max-height: none; }
	.pu-pc-copiar-lista { grid-template-columns: 22px minmax(0, 1fr); }
	.pu-pc-copiar-lista > div:nth-child(7n+5), .pu-pc-copiar-lista > div:nth-child(7n+6) { grid-column: 2; justify-self: start; }
}

/* =========================================================================
   Programación · Modo planning (#ponderacion_estandares_perfil)
   HTML de operacions.php: unha táboa por criterio asociado e unha columna
   por nivel. prog_novo.js marca .pu-pl-fila e .pu-pl-celda.
   ========================================================================= */
.pu-pl { --pu-pl-n: 6; }
.pu-pl[data-niveis="2"] { --pu-pl-n: 2; }
.pu-pl[data-niveis="3"] { --pu-pl-n: 3; }
.pu-pl[data-niveis="4"] { --pu-pl-n: 4; }
.pu-pl .pu-cf-filtros:not(:has(> div:not(:empty):not([style*="display: none"]))) { display: none; }

/* cabeceira cos niveis */
#indicadores_portada_ponderacion_perfil_pre.pu-pl-cab {
	display: grid;
	grid-template-columns: 40px repeat(var(--pu-pl-n), minmax(0, 1fr));
	column-gap: 12px;
	padding: 0 6px 8px;
	border-bottom: 1px solid var(--pu-borde);
	scrollbar-gutter: stable;
	overflow: hidden;
}
#indicadores_portada_ponderacion_perfil_pre.pu-pl-cab::before { content: ""; }
#indicadores_portada_ponderacion_perfil_pre.pu-pl-cab:empty { display: none; }
.pu-pl-cab > div[style*="clear:both"] { display: none !important; }
/* se vén da lista normal (non planning) non se amosa */
.pu-pl-cab > div:not([style*="width:170px"]):not([style*="clear:both"]) { display: none !important; }
.pu-pl-cab > div {
	float: none !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
	font: 600 12px var(--pu-fonte);
	color: var(--pu-texto-3);
	text-transform: uppercase;
	letter-spacing: .03em;
}
.pu-pl-cab > div, .pu-pl-cab > div center { text-align: center; }
.pu-pl-cab > div font { font: inherit !important; color: inherit !important; }
.pu-pl-cab > div:nth-child(n + 8) { display: none !important; }
.pu-pl[data-niveis="2"] .pu-pl-cab > div:nth-child(n + 4),
.pu-pl[data-niveis="3"] .pu-pl-cab > div:nth-child(n + 5),
.pu-pl[data-niveis="4"] .pu-pl-cab > div:nth-child(n + 6) { display: none !important; }

/* corpo */
#indicadores_portada_ponderacion_perfil.pu-pl-taboa {
	position: relative;
	max-height: calc(100vh - 270px);
	min-height: 260px;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 6px 60px;
	scrollbar-gutter: stable;
	font: 13px var(--pu-fonte);
	color: var(--pu-texto-2);
}
#indicadores_portada_ponderacion_perfil.pu-pl-taboa > font { font: inherit !important; }

table.pu-pl-fila, table.pu-pl-fila > tbody { display: block; width: 100%; border: 0 !important; }
table.pu-pl-fila { padding: 12px 0; border-bottom: 1px solid var(--pu-borde) !important; }
table.pu-pl-fila > tbody > tr:first-child { display: none; }
table.pu-pl-fila > tbody > tr:nth-child(2) {
	display: grid;
	grid-template-columns: 40px repeat(var(--pu-pl-n), minmax(0, 1fr));
	column-gap: 12px;
	align-items: stretch;
}
table.pu-pl-fila > tbody > tr > td { display: block; width: auto !important; padding: 0; min-width: 0; }
.pu-pl[data-niveis="2"] table.pu-pl-fila > tbody > tr > td:nth-child(n + 4),
.pu-pl[data-niveis="3"] table.pu-pl-fila > tbody > tr > td:nth-child(n + 5),
.pu-pl[data-niveis="4"] table.pu-pl-fila > tbody > tr > td:nth-child(n + 6) { display: none; }

/* número do criterio asociado */
table.pu-pl-fila > tbody > tr > td:first-child font {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 6px;
	box-sizing: border-box;
	border-radius: 14px;
	background: var(--pu-fondo);
	font: 600 13px var(--pu-fonte) !important;
	color: var(--pu-texto-2) !important;
}
table.pu-pl-fila > tbody > tr > td:first-child br { display: none; }

/* columna dun nivel */
table.pu-pl-fila > tbody > tr > td > table { display: block; width: 100%; height: 100%; }
table.pu-pl-fila > tbody > tr > td > table > tbody,
table.pu-pl-fila > tbody > tr > td > table > tbody > tr { display: block; height: 100%; }
table.pu-pl-fila > tbody > tr > td > table:empty { display: none; }

.pu-pl-celda {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	height: 100%;
	padding: 12px !important;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 12px;
	background: #fff;
}
.pu-pl-celda > div { box-sizing: border-box; }
.pu-pl-celda > div:first-child { display: none; }                         /* "CRITERIO:" */
.pu-pl-celda > div:nth-child(2) {                                          /* texto do criterio */
	width: 100%;
	height: auto !important;
	overflow: visible !important;
	background: none !important;
	border-radius: 0;
	font: 13px/1.5 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	flex: 1;
}
.pu-pl-celda > div[id^="boton_gardar_ponderacion_cargando_perfil_planing_"] {
	margin-top: 4px;
	font: 600 11px var(--pu-fonte) !important;
	color: var(--pu-texto-3);
	text-transform: uppercase;
	letter-spacing: .03em;
}
.pu-pl-celda > div[id^="boton_gardar_ponderacion_cargando_perfil_planing_"] center { text-align: left; }
.pu-pl-celda > div[id^="boton_gardar_ponderacion_cargando_perfil_planing_"]:has(+ div:empty) { display: none; }
.pu-pl-celda > div[id^="ponderacion_perfil_"] {
	width: 100%;
	height: auto !important;
	max-height: 96px;
	overflow-y: auto !important;
	padding: 0 !important;
	border: 0 !important;
	font: 12.5px/1.5 var(--pu-fonte) !important;
	color: var(--pu-texto-2) !important;
}
.pu-pl-celda > div[id^="ponderacion_perfil_"]:empty { display: none; }
.pu-pl-celda > div[style*="clear:both"] { display: none; }
.pu-pl-celda > [id^="boton_agrupado_tipo_"] { margin-top: 4px !important; }

/* panel de tipos debaixo do botón */
.pu-pl-celda > [id^="caixa_tipos_agrupar_"] {
	display: flex;
	top: calc(100% - 8px) !important;
	left: 0 !important;
	width: 420px !important;
}
.pu-pl[data-niveis="2"] table.pu-pl-fila > tbody > tr > td:nth-child(3) .pu-pl-celda > [id^="caixa_tipos_agrupar_"],
.pu-pl[data-niveis="3"] table.pu-pl-fila > tbody > tr > td:nth-child(4) .pu-pl-celda > [id^="caixa_tipos_agrupar_"],
.pu-pl[data-niveis="4"] table.pu-pl-fila > tbody > tr > td:nth-child(5) .pu-pl-celda > [id^="caixa_tipos_agrupar_"],
.pu-pl[data-niveis="6"] table.pu-pl-fila > tbody > tr > td:nth-child(n + 6) .pu-pl-celda > [id^="caixa_tipos_agrupar_"] { left: auto !important; right: 0 !important; }
.pu-pl[data-niveis="2"] table.pu-pl-fila > tbody > tr > td:nth-child(3) .pu-pl-celda > [id^="caixa_tipos_agrupar_"] > div:first-child,
.pu-pl[data-niveis="3"] table.pu-pl-fila > tbody > tr > td:nth-child(4) .pu-pl-celda > [id^="caixa_tipos_agrupar_"] > div:first-child,
.pu-pl[data-niveis="4"] table.pu-pl-fila > tbody > tr > td:nth-child(5) .pu-pl-celda > [id^="caixa_tipos_agrupar_"] > div:first-child,
.pu-pl[data-niveis="6"] table.pu-pl-fila > tbody > tr > td:nth-child(n + 6) .pu-pl-celda > [id^="caixa_tipos_agrupar_"] > div:first-child { display: none !important; }
/* frecha cara arriba */
.pu-pl-celda > [id^="caixa_tipos_agrupar_"] > div:first-child { left: 28px !important; top: -7px !important; transform: rotate(135deg) !important; }
.pu-pl-celda > [id^="caixa_tipos_agrupar_"] [id^="caixa_tipos_agrupar_dentro_"] { max-height: 240px; }

@media (max-width: 820px) {
	#indicadores_portada_ponderacion_perfil_pre.pu-pl-cab { display: none; }
	table.pu-pl-fila > tbody > tr:nth-child(2) { grid-template-columns: 1fr; row-gap: 10px; }
	#indicadores_portada_ponderacion_perfil.pu-pl-taboa { max-height: none; }
	.pu-pl-celda > [id^="caixa_tipos_agrupar_"] { left: 0 !important; right: auto !important; transform: none !important; width: 100% !important; }
}

/* =========================================================================
   Pantalla completa das listas do currículo (pu_maximizar en marco_novo.js)
   ========================================================================= */
.pu-maximizar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	color: var(--pu-texto-2);
	cursor: pointer;
}
.pu-maximizar:hover { border-color: var(--pu-acento); color: var(--pu-acento); }
.pu-maximizar .pu-icona { width: 17px; height: 17px; }

/* na cabeceira de cor dos paneis de criterios/contidos */
.pu-ac-panel-cab .pu-maximizar { width: 30px; height: 30px; border: 0; background: transparent; color: #fff; }
.pu-ac-panel-cab .pu-maximizar:hover { background: rgba(255, 255, 255, 0.18); color: #fff; }
.pu-ac-panel-cab .pu-maximizar .pu-icona { color: #fff; }

.pu-cf-situacion-cabeceira { align-items: center; }
.pu-cf-situacion-cabeceira > div:first-child { margin-right: auto; }

/* estado maximizado: ocupa toda a ventá */
body.pu-con-maximizado { overflow: hidden; }
.pu-maximizado {
	position: fixed !important;
	inset: 0 !important;
	z-index: 99990 !important;   /* por riba da barra superior de recursoseducativos (z-index 9999) */
	width: auto !important;
	max-width: none !important;
	height: 100vh !important;
	max-height: none !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	overflow: auto;
}
.pu-tarxeta.pu-maximizado { padding: 20px 28px !important; border: 0 !important; }

/* a lista ocupa o alto que queda */
.pu-pc.pu-maximizado, .pu-cf-situacion.pu-maximizado, .pu-ac-panel.pu-maximizado { display: flex !important; flex-direction: column; overflow: hidden; }
.pu-pc.pu-maximizado > .pu-pc-taboa,
.pu-pc.pu-maximizado > .pu-pl-taboa,
.pu-cf-situacion.pu-maximizado > #indicadores_portada,
.pu-ac-panel.pu-maximizado > .pu-ac-panel-dentro {
	flex: 1 1 auto;
	min-height: 0 !important;
	max-height: none !important;
	height: auto !important;
}
.pu-ac-panel.pu-maximizado { border: 0 !important; }

/* paneis de criterios/contidos: o botón de pantalla completa vai xusto á esquerda da X */
.pu-ac-panel-cab .pu-maximizar { margin-left: auto; }
.pu-ac-panel-cab .pu-maximizar + .pu-modal-pechar { margin-left: -10px; }
@media (max-width: 700px) {
	.pu-ac-panel-cab { padding-right: 80px; }
	.pu-ac-panel-cab .pu-maximizar { position: absolute; top: 8px; right: 42px; margin: 0; }
}

/* =========================================================================
   Programación · Perfil de saída (#ponderacion_estandares_competencial)
   ========================================================================= */
/* competencia, nivel e botón ver */
.pu-pf-filtros {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--pu-fondo);
}
.pu-pf-filtros:empty { display: none; }
.pu-pf-filtros > div {
	float: none !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	gap: 8px;
	font: 13px var(--pu-fonte);
	color: var(--pu-texto-2);
}
.pu-pf-filtros > div font { font: 600 13px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; white-space: nowrap; }
.pu-pf-filtros select {
	height: 36px;
	max-width: 100%;
	padding: 0 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 13.5px var(--pu-fonte);
	color: var(--pu-texto);
}
.pu-pf-filtros select#competencia_perfil { width: 320px !important; max-width: 100%; flex: 0 0 auto; text-overflow: ellipsis; }
.pu-pf-filtros > div { flex: 0 1 auto; min-width: 0; }
.pu-pf-filtros > div[onclick*="procesos_logro"] {
	width: auto !important;
	height: 36px !important;
	padding: 0 16px !important;
	border-radius: 9px;
	background: var(--pu-programacion) !important;
	cursor: pointer;
}
.pu-pf-filtros > div[onclick*="procesos_logro"]:hover { filter: brightness(1.08); }
.pu-pf-filtros > div[onclick*="procesos_logro"] font { color: #fff !important; text-transform: lowercase; font-weight: 600 !important; white-space: normal; }
.pu-pf-filtros > div[onclick*="procesos_logro"] { height: auto !important; min-height: 36px; text-align: center; }
.pu-pf-filtros > div[onclick*="procesos_logro"] center::first-letter { text-transform: uppercase; }
.pu-pf-filtros > div[onclick*="procesos_logro"] center { display: block; }
.pu-pf-filtros > div[onclick*="procesos_logro"] center font::first-letter { text-transform: uppercase; }

/* lista de criterios da competencia */
.pu-pf-lista { max-height: calc(100vh - 300px); overflow-y: auto; font: 13px var(--pu-fonte); color: var(--pu-texto-2); }
.pu-pf-lista:empty { display: none; }
.pu-pf-lista > br, .pu-pf-lista > img { display: none; }
.pu-pf-lista > font { display: block; padding: 18px 4px; font: 13.5px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-pf-lista > div[style*="clear:both"] { display: none; }
.pu-pf-lista > label { font: 12px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-pf-crit {
	display: grid;
	grid-template-columns: 130px minmax(220px, 1.6fr) 170px minmax(200px, 2fr);
	column-gap: 14px;
	row-gap: 6px;
	align-items: start;
	padding: 12px 0;
	border-bottom: 1px solid var(--pu-borde);
}
.pu-pf-crit > div {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
	font: 13px/1.5 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
}
.pu-pf-crit > div font { font: inherit !important; color: inherit !important; }
.pu-pf-crit > div[style*="clear:both"] { display: none !important; }
.pu-pf-crit > div:first-child { font-weight: 600 !important; }
.pu-pf-crit > div:first-child > div { margin-top: 6px !important; font: 500 12px var(--pu-fonte) !important; color: var(--pu-acento) !important; }
.pu-pf-crit > div:nth-child(3) center { display: flex; align-items: center; gap: 8px; font: 600 12px var(--pu-fonte); color: var(--pu-texto-2); text-transform: lowercase; white-space: nowrap; }
.pu-pf-crit > div:nth-child(3) center::first-letter { text-transform: uppercase; }
.pu-pf-crit > div:nth-child(3) input { width: 18px; height: 18px; margin: 0; accent-color: var(--pu-programacion); }
.pu-pf-crit > div[id^="lista_procesos_"] { color: var(--pu-texto-2) !important; }
.pu-pf-crit > div[id^="lista_procesos_"][style*="display:none"],
.pu-pf-crit > div[id^="lista_procesos_"][style*="display: none"] { display: none !important; }
.pu-pf-crit > div[id^="minimo_en_competencial_"] {
	grid-column: 2 / -1;
	padding: 8px 12px !important;
	border-radius: 8px;
	background: var(--pu-fondo);
	color: var(--pu-texto-2) !important;
}
.pu-pf-crit > div[id^="minimo_en_competencial_"][style*="display:none"],
.pu-pf-crit > div[id^="minimo_en_competencial_"][style*="display: none"] { display: none !important; }

/* indicadores de logro */
.pu-pc.pu-pf:has(#panel_procesos_logro:not([style*="display: none"]):not([style*="display:none"])) > .pu-pf-lista { display: none; }
.pu-pf-logro {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--pu-borde);
	border-radius: 12px;
	overflow: hidden;
}
.pu-pf-logro[style*="display: none"], .pu-pf-logro[style*="display:none"] { display: none !important; }
.pu-pf-logro-cab {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 10px 10px 16px;
	background: var(--pu-programacion);
	color: #fff;
}
.pu-pf-logro-titulo { flex: 1; font: 600 14px var(--pu-fonte); }
.pu-pf-logro-titulo label { margin-left: 6px; font-weight: 400; opacity: .9; }
.pu-pf-logro-dentro {
	max-height: calc(100vh - 340px);
	min-height: 200px;
	overflow-y: auto;
	padding: 0 14px 14px;
	font: 13px var(--pu-fonte);
	color: var(--pu-texto);
	scrollbar-gutter: stable;
}
.pu-pf-logro-dentro > font { display: block; padding: 18px 0; font: 13px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-pf-logro-dentro > font img { height: 14px; vertical-align: middle; margin-right: 6px; }
#aviso_faltan { margin: 10px 0 0; padding: 8px 12px; border-radius: 8px; background: #FDECEA !important; color: #A51D1D !important; font: 13px var(--pu-fonte) !important; }

.pu-pf-fila {
	display: grid;
	grid-template-columns: 56px minmax(200px, 1.5fr) repeat(4, minmax(110px, 1fr)) 140px;
	column-gap: 10px;
	align-items: stretch;
	padding: 12px 0;
	border-bottom: 1px solid var(--pu-borde);
}
.pu-pf-fila > div {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	box-sizing: border-box;
	overflow: visible !important;
}
.pu-pf-fila > div[style*="clear:both"] { display: none !important; }
.pu-pf-fila > div font { font: inherit !important; color: inherit !important; }

/* cabeceira (CC, descritor, A, B, C, D) */
.pu-pf-fila-cab { position: sticky; top: 0; z-index: 2; padding: 10px 0 8px; background: #fff; }
.pu-pf-fila-cab > div {
	padding: 0 !important;
	border: 0 !important;
	font: 600 11.5px var(--pu-fonte) !important;
	color: var(--pu-texto-3) !important;
	text-transform: uppercase;
	letter-spacing: .03em;
	text-align: left !important;
}
.pu-pf-fila-cab > div:nth-child(n + 4) { text-align: center !important; }

/* filas */
.pu-pf-fila:not(.pu-pf-fila-cab) > div:nth-child(1) { padding: 0 !important; border: 0 !important; font: 600 12.5px var(--pu-fonte) !important; color: var(--pu-texto) !important; }
.pu-pf-fila:not(.pu-pf-fila-cab) > div:nth-child(2) { padding: 0 !important; border: 0 !important; font: 13px/1.5 var(--pu-fonte) !important; color: var(--pu-texto) !important; }
.pu-pf-fila > div[id^="proceso_minimo_"] {
	min-height: 76px;
	padding: 8px 10px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 9px;
	background: #FAFBFC !important;
	font: 13px/1.45 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	outline: none;
	overflow-y: auto !important;
	max-height: 180px;
}
.pu-pf-fila > div[id^="proceso_minimo_"]:focus { border-color: var(--pu-programacion) !important; background: #fff !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-programacion) 15%, transparent); }
/* C = nivel de logro (resaltado como no orixinal) */
.pu-pf-fila > div[id^="proceso_minimo_"]:not([id$="_a"]):not([id$="_b"]):not([id$="_d"]) {
	border-color: color-mix(in srgb, var(--pu-programacion) 40%, white) !important;
	background: color-mix(in srgb, var(--pu-programacion) 7%, white) !important;
}
.pu-pf-fila-cab > div:nth-child(6) { color: var(--pu-programacion) !important; }

/* gardar / autocompletar / gardando: na última columna */
.pu-pf-fila > div[id^="gardar_logro_competencial_"],
.pu-pf-fila > div[id^="autocompletar_logro_competencial_"],
.pu-pf-fila > div[id^="cargando_gardar_logro_competencial_"] { grid-column: 7; grid-row: 1; align-self: start; }
.pu-pf-fila > div[id^="autocompletar_logro_competencial_"] { margin-top: 42px !important; }
.pu-pf-fila > div[id^="gardar_logro_competencial_"],
.pu-pf-fila > div[id^="autocompletar_logro_competencial_"] {
	padding: 7px 10px !important;
	border-radius: 8px;
	background: #fff !important;
	border: 1px solid var(--pu-borde);
	color: var(--pu-texto-2) !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
	text-align: center;
	cursor: pointer;
}
.pu-pf-fila > div[id^="gardar_logro_competencial_"]:hover { border-color: var(--pu-programacion); color: var(--pu-programacion) !important; }
.pu-pf-fila > div[id^="gardar_logro_competencial_"] center::first-letter,
.pu-pf-fila > div[id^="autocompletar_logro_competencial_"] center::first-letter { text-transform: uppercase; }
.pu-pf-fila > div[id^="gardar_logro_competencial_"][style*="display: none"],
.pu-pf-fila > div[id^="gardar_logro_competencial_"][style*="display:none"],
.pu-pf-fila > div[id^="autocompletar_logro_competencial_"][style*="display: none"],
.pu-pf-fila > div[id^="autocompletar_logro_competencial_"][style*="display:none"],
.pu-pf-fila > div[id^="cargando_gardar_logro_competencial_"][style*="display: none"],
.pu-pf-fila > div[id^="cargando_gardar_logro_competencial_"][style*="display:none"] { display: none !important; }
.pu-pf-fila > div[id^="cargando_gardar_logro_competencial_"] { font: 12px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; padding-top: 8px; }
.pu-pf-fila > div[id^="cargando_gardar_logro_competencial_"] img { height: 14px; vertical-align: middle; margin-right: 4px; }

/* pantalla completa */
.pu-pc.pu-pf.pu-maximizado > .pu-pf-lista,
.pu-pc.pu-pf.pu-maximizado > .pu-pf-logro { flex: 1 1 auto; min-height: 0; max-height: none; }
.pu-pc.pu-pf.pu-maximizado .pu-pf-logro-dentro { flex: 1 1 auto; max-height: none; }

@media (max-width: 900px) {
	.pu-pf-crit { grid-template-columns: minmax(0, 1fr) auto; }
	.pu-pf-crit > div:nth-child(2), .pu-pf-crit > div[id^="lista_procesos_"], .pu-pf-crit > div[id^="minimo_en_competencial_"] { grid-column: 1 / -1; }
	.pu-pf-crit > div:nth-child(3) { grid-column: 2; grid-row: 1; }
	.pu-pf-fila-cab { display: none; }
	.pu-pf-fila { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 8px; }
	.pu-pf-fila:not(.pu-pf-fila-cab) > div:nth-child(2) { grid-column: 1 / -1; }
	.pu-pf-fila > div[id^="gardar_logro_competencial_"],
	.pu-pf-fila > div[id^="cargando_gardar_logro_competencial_"] { grid-column: 2; grid-row: 1; justify-self: end; }
	.pu-pf-fila > div[id^="proceso_minimo_"]::before { display: block; margin-bottom: 4px; font: 600 11px var(--pu-fonte); color: var(--pu-texto-3); }
	.pu-pf-fila > div[id^="proceso_minimo_"][id$="_a"]::before { content: "A (3)"; }
	.pu-pf-fila > div[id^="proceso_minimo_"][id$="_b"]::before { content: "B (2)"; }
	.pu-pf-fila > div[id^="proceso_minimo_"]:not([id$="_a"]):not([id$="_b"]):not([id$="_d"])::before { content: "C (1) · nivel de logro"; color: var(--pu-programacion); }
	.pu-pf-fila > div[id^="proceso_minimo_"][id$="_d"]::before { content: "D (0)"; }
	.pu-pf-logro-dentro, .pu-pf-lista { max-height: none; }
}
.pu-pf-filtros select#competencia_curso { min-width: 110px; }

/* ventás de copiar: os despregables con ancho fixo para que o nome do cartafol se lea */
.pu-pc-copiar-lista select[id^="area_copiar_"] { width: 150px !important; text-overflow: ellipsis; }
.pu-pc-copiar-lista select[id^="curso_copiar_"] { width: 100px !important; }
.pu-pc-copiar-lista > div[id^="curso_"] { min-width: 160px; }
/* avisos (sweetAlert) sempre por riba de ventás e pantalla completa */
.sweet-overlay { z-index: 99998 !important; }
.sweet-alert { z-index: 99999 !important; }

/* =========================================================================
   Programación · Borrador de ACS (#acs_estandares)
   ========================================================================= */
.pu-acs-info { color: var(--pu-acento); text-decoration: none; font-weight: 500; }
.pu-acs-info:hover { text-decoration: underline; }
.pu-acs-aviso {
	padding: 10px 12px;
	border-radius: 10px;
	background: #FFF6E0;
	color: #7A5200;
	font: 13px var(--pu-fonte);
}
.pu-acs-aviso[style*="display: none"], .pu-acs-aviso[style*="display:none"] { display: none !important; }
.pu-acs-aviso img { float: none !important; height: 16px; vertical-align: middle; margin-right: 6px; cursor: pointer; filter: invert(1) opacity(.6); }

.pu-acs-ferramentas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px 18px;
	padding: 14px;
	border-radius: 12px;
	background: var(--pu-fondo);
}
.pu-acs-grupo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pu-acs-grupo[style*="display: none"], .pu-acs-grupo[style*="display:none"] { display: none !important; }
.pu-acs-etiqueta { font: 600 12px var(--pu-fonte); color: var(--pu-texto-2); }
.pu-acs-etiqueta span { font-weight: 400; color: var(--pu-texto-3); }
.pu-acs-controis { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pu-acs-controis select {
	width: 200px !important;
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 13.5px var(--pu-fonte);
	color: var(--pu-texto);
}
.pu-acs-campo {
	flex: 1 1 140px;
	min-width: 120px;
	min-height: 36px;
	max-height: 72px;
	overflow-y: auto;
	padding: 8px 10px;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 13.5px/1.4 var(--pu-fonte);
	color: var(--pu-texto);
	outline: none;
}
.pu-acs-campo:focus { border-color: var(--pu-acento); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-acento) 15%, transparent); }
.pu-acs-campo[style*="display: none"], .pu-acs-campo[style*="display:none"],
.pu-acs-boton[style*="display: none"], .pu-acs-boton[style*="display:none"] { display: none !important; }
.pu-acs-boton {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 14px;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 600 12.5px var(--pu-fonte);
	color: var(--pu-texto-2);
	cursor: pointer;
	white-space: nowrap;
}
.pu-acs-boton:hover { border-color: var(--pu-acento); color: var(--pu-acento); }
.pu-acs-boton-principal { border-color: var(--pu-acento); background: var(--pu-acento); color: #fff; }
.pu-acs-boton-principal:hover { color: #fff; filter: brightness(1.08); }
.pu-acs-nota { font: italic 12px var(--pu-fonte); color: var(--pu-texto-3); }
.pu-acs-nota[style*="display: none"], .pu-acs-nota[style*="display:none"] { display: none !important; }
.pu-acs-nota font { font: inherit !important; color: inherit !important; }

/* lista de bloques */
#indicadores_portada_acs_pre.pu-acs-cab { display: none; }
.pu-acs-lista {
	max-height: calc(100vh - 320px);
	min-height: 200px;
	overflow-y: auto;
	padding: 0 4px 20px;
	scrollbar-gutter: stable;
	font: 13px var(--pu-fonte);
	color: var(--pu-texto-2);
}
.pu-acs-lista > br, .pu-acs-lista > img { display: none; }
.pu-acs-lista > font { display: block; padding: 18px 0; font: 13px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-acs-lista > div[style*="clear:both"] { display: none; }
.pu-acs-lista > div[style*="CEE3F6"] {
	width: auto !important;
	margin: 16px 0 4px !important;
	padding: 8px 12px !important;
	border-radius: 8px;
	background: var(--pu-fondo) !important;
	font: 600 12.5px var(--pu-fonte);
	color: var(--pu-texto-2);
}
.pu-acs-lista > div[style*="CEE3F6"] font { font: inherit !important; color: inherit !important; }

.pu-acs-fila {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
	gap: 16px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--pu-borde);
}
.pu-acs-fila > div {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
}
.pu-acs-fila > div[style*="clear:both"] { display: none !important; }
.pu-acs-fila > div[id^="portada_texto_indicador_"] { grid-column: 1; grid-row: 1; font: 14px/1.5 var(--pu-fonte); color: var(--pu-texto) !important; }
.pu-acs-fila > div[id^="portada_codigo_indicador_"] { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.pu-acs-fila > div[id^="portada_texto_indicador_"] font { font: inherit !important; color: inherit !important; }
.pu-acs-fila [id^="boton_acs_criterio_contidos_"] {
	position: relative;
	width: auto !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: 1px solid color-mix(in srgb, var(--pu-acento) 35%, white);
	border-radius: 10px !important;
	background: color-mix(in srgb, var(--pu-acento) 7%, white) !important;
	color: var(--pu-texto-2) !important;
	font: 12px/1.45 var(--pu-fonte) !important;
	text-align: left !important;
	text-transform: lowercase;
}
.pu-acs-fila [id^="boton_acs_criterio_contidos_"]:hover { background: color-mix(in srgb, var(--pu-acento) 13%, white) !important; }
.pu-acs-fila [id^="boton_acs_criterio_contidos_"] > font:first-child {
	display: inline-block;
	margin-bottom: 2px;
	font: 600 14px var(--pu-fonte) !important;
	color: var(--pu-acento) !important;
	text-transform: lowercase;
}
.pu-acs-fila [id^="boton_acs_criterio_contidos_"] > font:first-child::first-letter { text-transform: uppercase; }
.pu-acs-fila [id^="boton_acs_criterio_contidos_"] > font:first-child b { font-weight: 600; }
.pu-acs-fila .badge1[data-badge]::after {
	top: -8px;
	right: -8px;
	width: 20px;
	height: 20px;
	background: var(--pu-acento);
	font: 600 10.5px/20px var(--pu-fonte);
	text-transform: none;
	box-shadow: 0 0 0 2px #fff;
}

/* panel de adaptar o bloque */
.pu-pc.pu-acs:has(#panel_acs_criterios:not([style*="display: none"]):not([style*="display:none"])) > .pu-acs-lista { display: none; }
.pu-acs-dentro { max-height: calc(100vh - 300px); }
.pu-acs-adapt {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) 200px minmax(0, 1.2fr) 90px;
	column-gap: 12px;
	align-items: start;
	padding: 10px 0;
	border-bottom: 1px solid var(--pu-borde);
}
.pu-acs-adapt > div {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	box-sizing: border-box;
	overflow: visible !important;
}
.pu-acs-adapt > div[style*="clear:both"] { display: none !important; }
.pu-acs-adapt > div font { font: inherit !important; color: inherit !important; }

/* cabeceira de sección: criterios / contidos / obxectivos */
.pu-acs-adapt-cab { padding: 10px 0 6px; border-bottom: 1px solid var(--pu-borde); }
.pu-acs-adapt-cab:not(:first-child) { margin-top: 22px; }
.pu-acs-adapt-cab > div {
	padding: 0 !important;
	border: 0 !important;
	font: 600 11.5px var(--pu-fonte) !important;
	color: var(--pu-texto-3) !important;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.pu-acs-adapt-cab > div:nth-child(1 of :not([style*="clear"])) { color: var(--pu-acento) !important; }

.pu-acs-adapt > div[id^="portada_texto_"] {
	padding: 0 !important;
	border: 0 !important;
	font: 13px/1.5 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
}
.pu-acs-adapt > div[id^="div_cs_"] { padding: 0 !important; border: 0 !important; }
.pu-acs-adapt > div[id^="div_cs_"] select {
	width: 100% !important;
	height: 34px;
	padding: 0 8px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 13px var(--pu-fonte) !important;
	color: var(--pu-texto);
}
.pu-acs-adapt > div[id$="_adaptado"] {
	min-height: 56px;
	max-height: 180px;
	overflow-y: auto !important;
	padding: 8px 10px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 9px;
	background: #FAFBFC;
	font: 13px/1.45 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	outline: none;
}
.pu-acs-adapt > div[id$="_adaptado"]:focus { border-color: var(--pu-acento) !important; background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-acento) 15%, transparent); }
.pu-acs-adapt > div[id^="boton_gardar_acs_"] { grid-column: 4; grid-row: 1; }
.pu-acs-adapt > div[id^="boton_gardar_acs_"][id*="_cargando_"] { font: 12px var(--pu-fonte); color: var(--pu-texto-3); }
.pu-acs-adapt > div[id^="boton_gardar_acs_"][id*="_cargando_"] img { height: 14px; vertical-align: middle; }
.pu-acs-adapt > div[id^="boton_gardar_acs_"]:not([id*="_cargando_"]) {
	padding: 7px 10px !important;
	border: 1px solid var(--pu-borde);
	border-radius: 8px;
	background: #fff !important;
	color: var(--pu-texto-2) !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
	text-align: center;
	cursor: pointer;
}
.pu-acs-adapt > div[id^="boton_gardar_acs_"]:not([id*="_cargando_"]):hover { border-color: var(--pu-acento); color: var(--pu-acento) !important; }
.pu-acs-adapt > div[id^="boton_gardar_acs_"]:not([id*="_cargando_"]) center::first-letter { text-transform: uppercase; }
.pu-acs-adapt > div[id^="boton_gardar_acs_"][style*="display: none"],
.pu-acs-adapt > div[id^="boton_gardar_acs_"][style*="display:none"] { display: none !important; }

/* traspasar / copiar */
.pu-acs-pe { display: flex; flex-wrap: wrap; gap: 14px 24px; padding-top: 4px; }
.pu-acs-pe:not(:has(> :not([style*="display: none"]):not([style*="display:none"]))) { display: none; }
.pu-acs-pe .pu-acs-grupo { flex: 1 1 320px; }

.pu-pc.pu-acs.pu-maximizado > .pu-acs-lista,
.pu-pc.pu-acs.pu-maximizado > .pu-acs-panel { flex: 1 1 auto; min-height: 0; max-height: none; }
.pu-pc.pu-acs.pu-maximizado .pu-acs-dentro { flex: 1 1 auto; max-height: none; }

@media (max-width: 900px) {
	.pu-acs-fila { grid-template-columns: 1fr; gap: 10px; }
	.pu-acs-adapt { grid-template-columns: minmax(0, 1fr) auto; row-gap: 8px; }
	.pu-acs-adapt > div[id^="portada_texto_"] { grid-column: 1 / -1; grid-row: 1; }
	.pu-acs-adapt > div[id^="div_cs_"] { grid-column: 1; grid-row: 2; }
	.pu-acs-adapt > div[id^="boton_gardar_acs_"] { grid-column: 2; grid-row: 2; }
	.pu-acs-adapt > div[id$="_adaptado"] { grid-column: 1 / -1; grid-row: 3; }
	.pu-acs-adapt-cab { display: none; }
	.pu-acs-lista, .pu-acs-dentro { max-height: none; }
}

/* pantalla completa na caixa de cabeceira azul (adaptar ACS, indicadores de logro) */
.pu-pf-logro-cab .pu-maximizar { width: 30px; height: 30px; border: 0; background: transparent; color: #fff; }
.pu-pf-logro-cab .pu-maximizar:hover { background: rgba(255, 255, 255, 0.18); color: #fff; }
.pu-pf-logro-cab .pu-maximizar .pu-icona { color: #fff; }
.pu-pf-logro-cab .pu-maximizar + .pu-modal-pechar { margin-left: -6px; }
.pu-pf-logro.pu-maximizado { display: flex !important; flex-direction: column; border: 0; border-radius: 0; background: #fff; }
.pu-pf-logro.pu-maximizado > .pu-pf-logro-cab { padding: 12px 16px 12px 28px; }
.pu-pf-logro.pu-maximizado > .pu-pf-logro-dentro { flex: 1 1 auto; max-height: none; min-height: 0; padding: 0 28px 20px; }

/* ACS: barras co estado da adaptación de cada bloque */
.pu-acs-fila > .pu-acs-estado { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; gap: 6px; }
.pu-acs-barra {
	display: grid;
	grid-template-columns: 70px minmax(120px, 340px) 44px;
	align-items: center;
	column-gap: 10px;
	row-gap: 3px;
	font: 12px var(--pu-fonte);
	color: var(--pu-texto-2);
}
.pu-acs-barra.pu-acs-cargando { display: block; color: var(--pu-texto-3); font-style: italic; }
.pu-acs-barra-nome { font-weight: 600; color: var(--pu-texto-2); }
.pu-acs-barra-pista { display: flex; height: 8px; border-radius: 4px; overflow: hidden; background: var(--pu-fondo); gap: 1px; }
.pu-acs-tramo { display: block; min-width: 4px; }
.pu-acs-barra-texto { font-variant-numeric: tabular-nums; color: var(--pu-texto-3); }
.pu-acs-lenda { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: 11.5px; color: var(--pu-texto-3); }
.pu-acs-lenda span { display: inline-flex; align-items: center; gap: 5px; }
.pu-acs-lenda i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; }
.pu-acs-lenda-falta { color: #9A6700; }
.pu-acs-lenda-ok { color: #1E7A46; font-weight: 600; }
.pu-acs-V   { background: #2E9E5B; }
.pu-acs-R   { background: #E0A100; }
.pu-acs-AMP { background: #2F7FD1; }
.pu-acs-S   { background: #C2453B; }
.pu-acs-falta { background: #D5D9DF; }
@media (max-width: 900px) {
	.pu-acs-fila > div[id^="portada_codigo_indicador_"] { grid-column: 1; grid-row: 3; }
	.pu-acs-barra { grid-template-columns: 64px minmax(0, 1fr) 40px; }
}

/* =========================================================================
   Diario de clase (#contenedor_diario_clase) · barra de semanas
   ========================================================================= */
.pu-di { --pu-di: var(--pu-diario); font-family: var(--pu-fonte); color: var(--pu-texto); }
.pu-di-barra { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
/* funciones.js fai .show() nestas filas (display:block en liña), por iso o !important */
.pu-di-fila {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
}
.pu-di-fila:empty { display: none !important; }
.pu-di-fila > div {
	float: none !important;
	margin: 0 !important;
	font-family: var(--pu-fonte) !important;
}
.pu-di-fila > div[style*="clear:both"] { display: none; }
.pu-di-fila font { font: inherit !important; color: inherit !important; }
.pu-di-fila > div:not([onclick]):not([id]) { font-size: 13.5px !important; color: var(--pu-texto-2); padding: 0 !important; }

/* despregable de semanas */
.pu-di-fila select#semana {
	width: 280px !important;
	max-width: 100%;
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	font: 13.5px var(--pu-fonte);
	color: var(--pu-texto);
	text-overflow: ellipsis;
}

/* botóns (recargar, crear, cambiar nome) */
.pu-di-fila > div[onclick][style*="B40486"] {
	display: inline-block;
	height: 36px;
	line-height: 36px;
	padding: 0 14px !important;
	box-sizing: border-box;
	border-radius: 9px;
	background: var(--pu-di) !important;
	color: #fff !important;
	font: 600 12.5px/36px var(--pu-fonte) !important;
	white-space: nowrap;
}
.pu-di-fila > div[onclick][style*="B40486"]:hover { filter: brightness(1.1); }
.pu-di-fila > div[onclick="ver_semana()"][style] {
	background: #fff !important;
	color: var(--pu-di) !important;
	border: 1px solid color-mix(in srgb, var(--pu-di) 40%, white);
}
/* o grupo "crear nova semana" vai á dereita */
#diario_clase_semanas > div:nth-child(4) { display: none; }
#diario_clase_semanas > div:nth-child(5) { margin-left: auto !important; }
#semana_nova {
	width: 220px !important;
	height: 36px !important;
	padding: 8px 10px;
	box-sizing: border-box;
	overflow: hidden !important;
	white-space: nowrap;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff !important;
	font: 13.5px var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	outline: none;
}
#semana_nova:focus, #semana_editar:focus { border-color: var(--pu-di); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-di) 15%, transparent); }
#semana_nova:empty::before { content: "Nome da nova semana"; color: var(--pu-texto-3); }
#diario_clase_semanas > div[onclick="autocompletar_semana_calendario()"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff;
	overflow: hidden;
}
#diario_clase_semanas > div[onclick="autocompletar_semana_calendario()"] img { margin: 0 !important; height: 18px !important; opacity: .75; }
#dia_para_nova_semana { position: absolute; width: 1px !important; height: 1px !important; padding: 0; opacity: 0; }

/* datos da semana escollida */
.pu-di-semana { padding-top: 12px; border-top: 1px solid var(--pu-borde); }
#semana_editar {
	width: 230px !important;
	height: 36px !important;
	padding: 8px 10px;
	box-sizing: border-box;
	overflow: hidden !important;
	white-space: nowrap;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	font: 600 13.5px var(--pu-fonte) !important;
	color: var(--pu-di) !important;
	outline: none;
}
#semana_editar[style*="fffbd1"] { background: #FFF8D6 !important; }
#div_data_semana { display: inline-flex; align-items: center; gap: 8px; font-size: 13px !important; color: var(--pu-texto-2); }
#data_semana {
	width: 110px !important;
	height: 36px;
	margin: 0 !important;
	padding: 0 10px;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 9px !important;
	font: 13.5px var(--pu-fonte) !important;
	cursor: pointer;
}
#div_semana_plantilla, #div_semana_compartir, #div_semana_compartir_estado {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
	height: 32px;
	padding: 0 10px !important;
	box-sizing: border-box;
	border-radius: 16px;
	font: 600 12px var(--pu-fonte) !important;
}
#div_semana_plantilla { background: #FFF6D1 !important; color: #8A6400 !important; }
#div_semana_compartir { border: 1px solid var(--pu-borde); color: var(--pu-texto-2) !important; }
#div_semana_compartir_estado { background: color-mix(in srgb, var(--pu-di) 10%, white) !important; color: var(--pu-di) !important; }
#div_semana_plantilla[style*="display:none"], #div_semana_plantilla[style*="display: none"],
#div_semana_compartir[style*="display:none"], #div_semana_compartir[style*="display: none"],
#div_semana_compartir_estado[style*="display:none"], #div_semana_compartir_estado[style*="display: none"] { display: none !important; }
#div_semana_plantilla input, #div_semana_compartir input { margin: 0; width: 16px; height: 16px; accent-color: var(--pu-di); }

/* xerar: grupo á dereita */
.pu-di-semana > div[onclick^="xerar_cola('xerar_taboa'"] { margin-left: auto !important; }
.pu-di-semana > div[onclick^="xerar_cola"], .pu-di-semana > div[onclick^="xerar_diario"] {
	display: inline-block;
	line-height: 34px !important;
	white-space: nowrap;
	width: auto !important;
	height: 36px !important;
	padding: 0 12px !important;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #fff !important;
	color: var(--pu-texto-2) !important;
	font: 600 12px/34px var(--pu-fonte) !important;
	text-align: center !important;
}
.pu-di-semana > div[onclick^="xerar_cola"] br, .pu-di-semana > div[onclick^="xerar_diario"] br { display: none; }
.pu-di-semana > div[onclick^="xerar_cola"]:hover, .pu-di-semana > div[onclick^="xerar_diario"]:hover { border-color: var(--pu-di); color: var(--pu-di) !important; }
.pu-di-semana > div[onclick^="xerar_cola"]::before, .pu-di-semana > div[onclick^="xerar_diario"]::before {
	content: "";
	width: 15px;
	height: 15px;
	margin-right: 6px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: -3px;
}
/* nota de borrar a semana */
.pu-di-semana > div:last-child:not([onclick]):not([id]) { flex-basis: 100%; font: italic 12px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-di-nota { font: italic 12px var(--pu-fonte); color: var(--pu-texto-3); }

/* ventá de xerar o diario */
#panel_xerar_diario.pu-modal { top: 0 !important; margin: 0 !important; --pu-modal-cor: var(--pu-diario); }
#panel_xerar_diario .pu-modal-caixa { width: min(520px, 100%); }
.pu-di-xerar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font: 13px var(--pu-fonte); color: var(--pu-texto-2); }
.pu-di-xerar img[src*="loader"] { height: 16px; float: none !important; vertical-align: middle; margin-right: 6px; }
.pu-di-xerar > a { text-decoration: none; }
.pu-di-xerar > a > div {
	display: flex;
	align-items: center;
	justify-content: center;
	float: none !important;
	width: 84px !important;
	height: 84px;
	margin: 0 !important;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 12px !important;
	background: #fff !important;
}
.pu-di-xerar > a > div:hover { border-color: var(--pu-diario); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); }
.pu-di-xerar > a > div > div { padding: 0 !important; }
.pu-di-xerar > a > div img { display: block; height: 52px !important; width: auto; max-width: 64px; object-fit: contain; }

@media (max-width: 900px) {
	#diario_clase_semanas > div:nth-child(5) { margin-left: 0 !important; }
	.pu-di-semana > div[onclick^="xerar_cola('xerar_taboa'"] { margin-left: 0 !important; }
}

/* =========================================================================
   Diario · axenda e táboa da semana (diario_novo.js pon as clases)
   ========================================================================= */
#contenedor_diario_clase.pu-di { height: auto !important; }
.pu-di { --pu-di-cols: 104px repeat(5, minmax(0, 1fr)); }
.pu-di-semana-tarxeta { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }

/* axenda */
.pu-di-axenda {
	position: relative;
	display: grid !important;
	grid-template-columns: var(--pu-di-cols);
	column-gap: 10px;
	align-items: stretch;
	width: auto !important;
	height: auto !important;
}
.pu-di-axenda:empty { display: none !important; }
.pu-di-axenda > div[style*="clear:both"], .pu-di-axenda > br { display: none; }
.pu-di-axenda > font { grid-column: 1 / -1; font: 13px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-di-axenda > img { display: none; }
.pu-di-ax-frecha {
	position: absolute;
	top: -2px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0 !important;
	float: none !important;
	border: 1px solid var(--pu-borde);
	border-radius: 8px;
	background: #fff;
	font: 600 15px var(--pu-fonte) !important;
	color: var(--pu-texto-2) !important;
}
.pu-di-ax-frecha:hover { border-color: var(--pu-di); color: var(--pu-di) !important; }
.pu-di-ax-anterior { left: 0; }
.pu-di-ax-seguinte { right: 0; }
.pu-di-ax-etiqueta {
	grid-column: 1;
	width: auto !important;
	margin: 0 !important;
	padding: 34px 0 0 !important;
	float: none !important;
	font: 11px/1.35 var(--pu-fonte) !important;
	color: var(--pu-texto-3) !important;
}
.pu-di-ax-etiqueta b { font-weight: 600; color: var(--pu-texto-2); }
.pu-di-ax-etiqueta a, .pu-di-ax-etiqueta font { color: var(--pu-texto-3) !important; }
.pu-di-ax-dia {
	width: auto !important;
	height: auto !important;
	min-height: 64px;
	max-height: 110px;
	margin: 34px 0 0 !important;
	padding: 8px 10px;
	box-sizing: border-box;
	float: none !important;
	border-radius: 10px !important;
	background: var(--pu-fondo) !important;
	font: 12.5px/1.4 var(--pu-fonte) !important;
	color: var(--pu-texto-2) !important;
	overflow-y: auto;
}
.pu-di-ax-dia center:first-child { margin-bottom: 4px; font-weight: 600; color: var(--pu-texto); text-align: left; }
.pu-di-ax-dia center:first-child img { vertical-align: middle; }
.pu-di-ax-dia > br:first-of-type { display: none; }
.pu-di-ax-dia img { max-height: 16px; vertical-align: -2px; }

/* táboa */
.pu-di-taboa {
	display: grid !important;
	grid-template-columns: var(--pu-di-cols);
	gap: 10px;
	align-items: stretch;
}
.pu-di-taboa > div[style*="clear:both"] { display: none !important; }
.pu-di-taboa > div {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* cabeceira */
.pu-di-cab {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px !important;
	padding: 0 !important;
	border-radius: 10px !important;
	background: color-mix(in srgb, var(--pu-di) 10%, white) !important;
	color: var(--pu-di) !important;
	font: 600 14px var(--pu-fonte) !important;
}
.pu-di-cab-horas { background: var(--pu-fondo) !important; color: var(--pu-texto-3) !important; font-size: 12.5px !important; }

/* hora */
.pu-di-hora {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: auto !important;
	min-height: 120px;
	padding: 0 !important;
	font-family: var(--pu-fonte) !important;
}
.pu-di-hora > div[id^="horario_dia_"] {
	width: auto !important;
	height: auto !important;
	min-height: 40px;
	padding: 8px 10px;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 10px !important;
	font: 600 13px/1.35 var(--pu-fonte) !important;
	color: var(--pu-di) !important;
	overflow: visible !important;
}
.pu-di-hora > div[id^="boton_gardar_horario_"] {
	align-self: flex-start;
	margin: 0 !important;
	padding: 4px 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 7px !important;
	background: #fff !important;
	color: var(--pu-texto-2) !important;
	font: 600 11.5px var(--pu-fonte) !important;
}
.pu-di-hora > div[id^="boton_gardar_horario_"]:hover { border-color: var(--pu-di); color: var(--pu-di) !important; }
.pu-di-hora > div[id^="boton_gardar_horario_"][style*="display: none"] { display: none !important; }
.pu-di-hora > div[id^="cargando_horario_"] { margin: 0 !important; font: 11.5px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
/* cambiar a hora: ventá flotante (a caixa fai de fondo escuro e o seu fillo de ventá) */
.pu-di-hora-editar { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20, 24, 30, .45); }
.pu-di-hora-editar > div { width: min(460px, 100%); height: auto !important; margin: 0 !important; padding: 0 18px 18px; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(0, 0, 0, .25); font: 14px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; overflow: hidden; }
.pu-di-hora-editar > div > div { float: none !important; margin: 0 !important; height: auto !important; }
.pu-di-hora-editar .pu-di-panel-cab { flex-basis: calc(100% + 36px); margin: 0 -18px 6px !important; padding: 12px 14px 12px 18px; display: flex; align-items: center; justify-content: space-between; background: var(--pu-di); color: #fff; font-weight: 600; }
.pu-di-hora-editar .pu-di-panel-cab .pu-modal-pechar { display: inline-flex; cursor: pointer; color: #fff; }
.pu-di-hora-etq { flex-basis: 100%; margin-top: 6px !important; font-size: 12.5px; font-weight: 600; color: var(--pu-texto-2); }
.pu-di-hora-editar [id^="hora_observacions_"] { flex-basis: 100%; width: auto !important; min-height: 64px !important; padding: 8px 10px !important; box-sizing: border-box; border: 1px solid var(--pu-borde); border-radius: 8px !important; background: #fff !important; font: 14px var(--pu-fonte); color: var(--pu-texto); overflow: auto; }
.pu-di-hora-botons { flex-basis: 100%; display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px !important; }
.pu-di-hora-botons > div { float: none !important; margin: 0 !important; padding: 8px 16px; border-radius: 8px !important; font: 600 13px var(--pu-fonte) !important; cursor: pointer; background: #fff !important; color: var(--pu-texto-2) !important; border: 1px solid var(--pu-borde); }
.pu-di-hora-botons > div.pu-di-hora-gardar { background: var(--pu-di) !important; border-color: var(--pu-di); color: #fff !important; }
.pu-di-hora-editar > div > div:empty:not([id]):not(.pu-di-hora-botons) { display: none; }
.pu-di-hora-editar input {
	float: none !important;
	width: 64px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 0 6px !important;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde);
	border-radius: 7px !important;
	font: 13px var(--pu-fonte) !important;
}

/* sesión */
.pu-di-sesion {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 6px;
	height: auto !important;
	min-height: 120px;
	padding: 8px !important;
	border: 1px solid var(--pu-borde);
	border-radius: 12px !important;
	overflow: visible !important;
	font-family: var(--pu-fonte);
}
.pu-di-sesion[style*="background-color:white"], .pu-di-sesion[style*="background-color: white"] { background-color: #fff !important; }
.pu-di-sesion > div[style*="clear:both"] { display: none; }
/* botóns de engadir */
.pu-di-sesion > div[id^="boton_desde_udi_"], .pu-di-sesion > div[id^="boton_nova_"], .pu-di-sesion > div[id^="boton_sen_clase_"] {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 3px 8px;
	border: 1px solid currentColor;
	border-radius: 7px !important;
	background: #fff !important;
	font: 600 11px/16px var(--pu-fonte) !important;
	white-space: nowrap;
	opacity: .85;
}
.pu-di-sesion > div[id^="boton_desde_udi_"] { color: #B3261E !important; }
.pu-di-sesion > div[id^="boton_nova_"] { color: #2E7D32 !important; }
.pu-di-sesion > div[id^="boton_sen_clase_"] { color: #6B7280 !important; }
.pu-di-sesion > div[id^="boton_desde_udi_"]:hover, .pu-di-sesion > div[id^="boton_nova_"]:hover, .pu-di-sesion > div[id^="boton_sen_clase_"]:hover { opacity: 1; background: color-mix(in srgb, currentColor 8%, white) !important; }

/* exercicios e "sen clase" (veñen de operacions.php) */
.pu-di-sesion > div[draggable] {
	flex: 1 1 100%;
	margin: 0 !important;
	padding: 6px 6px 6px 10px !important;
	border: 1px solid var(--pu-borde) !important;
	border-left: 3px solid #2E7D32 !important;
	border-radius: 8px;
	background: #fff !important;
	font: 12.5px/1.4 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	box-sizing: border-box;
}
.pu-di-sesion > div[draggable][style*="solid gray"] { border-left-color: #9AA0A8 !important; background: var(--pu-fondo) !important; }
.pu-di-sesion > div[draggable]:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
.pu-di-sesion > div[draggable] table { width: 100%; border-collapse: collapse; font: inherit !important; color: inherit !important; }
.pu-di-sesion > div[draggable] td { padding: 0; vertical-align: top; }
.pu-di-sesion > div[draggable] td:first-child { color: var(--pu-texto-2); }
.pu-di-sesion > div[draggable] [id^="fonte_"] { background: none !important; color: #2E7D32; }
.pu-di-sesion > div[draggable] [id^="fonte_"] > font[color] { color: var(--pu-texto-3) !important; }
.pu-di-sesion > div[draggable] font[id^="etiqueta_pequena_"] {
	float: none !important;
	display: inline-block;
	margin: 0 4px 4px 0;
	padding: 2px 6px !important;
	border-radius: 5px;
	font: 600 10px var(--pu-fonte) !important;
}
.pu-di-sesion > div[draggable] font[id^="etiqueta_pequena_"][style*="display:none"],
.pu-di-sesion > div[draggable] font[id^="etiqueta_pequena_"][style*="display: none"] { display: none !important; }
.pu-di-sesion > div[draggable] td:last-child { width: 16px !important; opacity: .5; }
.pu-di-sesion > div[draggable] td:last-child:hover { opacity: 1; }
.pu-di-sesion > div[draggable] td:last-child img { width: 14px; height: auto; }

/* pé: copiar horas, mover semana, número de sesións */
.pu-di-pe { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 24px; }
.pu-di-pe-bloque { display: grid; grid-template-columns: auto auto; justify-content: start; align-items: center; gap: 10px 10px; float: none !important; }
.pu-di-pe-bloque:empty { display: none; }
.pu-di-pe-bloque > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; float: none !important; height: auto !important; clear: none !important; }
.pu-di-pe-bloque > div[style*="clear:both"]:empty { display: none !important; }
.pu-di-pe-bloque div { float: none !important; margin-left: 0 !important; font-family: var(--pu-fonte) !important; }
.pu-di-pe-bloque div:not([onclick]), .pu-di-pe-bloque font { font: 13px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
.pu-di-pe-bloque select { height: 34px; margin-left: 8px; padding: 0 8px; border: 1px solid var(--pu-borde); border-radius: 8px; background: #fff; font: 13px var(--pu-fonte); max-width: 260px; }
.pu-di-pe-bloque div[onclick] {
	width: auto !important;
	height: 34px;
	padding: 0 14px;
	border-radius: 8px !important;
	background: #fff !important;
	border: 1px solid color-mix(in srgb, var(--pu-di) 40%, white);
	color: var(--pu-di) !important;
	font: 600 12px/34px var(--pu-fonte) !important;
	cursor: pointer;
}
.pu-di-pe-bloque div[onclick]:hover { background: color-mix(in srgb, var(--pu-di) 8%, white) !important; }

@media (max-width: 1100px) {
	.pu-di-semana-tarxeta { overflow-x: auto; }
	.pu-di-axenda, .pu-di-taboa { min-width: 980px; }
}

/* sesión: barra cos tres botóns de engadir, nunha liña */
.pu-di-sesion-botons {
	display: flex;
	flex: 1 1 100%;
	flex-wrap: nowrap;
	gap: 4px;
	min-width: 0;
}
.pu-di-sesion-botons > div {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center !important;
	padding: 3px 6px !important;
	font-size: 11px !important;
}
.pu-di-sesion .pu-di-sesion-botons > div[id^="boton_desde_udi_"] { color: #B3261E !important; }
.pu-di-sesion .pu-di-sesion-botons > div[id^="boton_nova_"] { color: #2E7D32 !important; }
.pu-di-sesion .pu-di-sesion-botons > div[id^="boton_sen_clase_"] { color: #6B7280 !important; }
.pu-di-sesion-botons > div {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	border: 1px solid currentColor;
	border-radius: 7px !important;
	background: #fff !important;
	font: 600 11px/16px var(--pu-fonte) !important;
	white-space: nowrap;
	opacity: .85;
	cursor: pointer;
}
.pu-di-sesion-botons > div:hover { opacity: 1; background: color-mix(in srgb, currentColor 8%, white) !important; }

/* ao arrastrar un exercicio: mover / duplicar / cancelar */
.pu-di-sesion > br { display: none; }
.pu-di-sesion > center { flex: 1 1 100%; display: flex; flex-direction: column; gap: 6px; padding-top: 4px; }
.pu-di-sesion > center > br { display: none; }
.pu-di-sesion > center > div {
	width: auto !important;
	padding: 7px 10px;
	border-radius: 8px !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
	text-align: center;
	cursor: pointer;
}
.pu-di-sesion > center > div::first-letter { text-transform: uppercase; }
.pu-di-sesion > center > div[style*="green"] { background: #2E7D32 !important; color: #fff !important; }
.pu-di-sesion > center > div[style*="gray"] { background: #fff !important; color: var(--pu-texto-2) !important; border: 1px solid var(--pu-borde); }
.pu-di-sesion > center > div:hover { filter: brightness(1.08); }

/* arrastre de exercicios (diario_novo.js) */
.pu-di-sesion > div[draggable] { cursor: grab; }
.pu-di-sesion > div[draggable].pu-di-arrastrando { opacity: .35; outline: 2px dashed var(--pu-diario); outline-offset: 2px; }
body.pu-di-arrastre .pu-di-sesion { border-style: dashed; border-color: color-mix(in srgb, var(--pu-diario) 35%, white); transition: background-color .12s, border-color .12s; }
body.pu-di-arrastre .pu-di-sesion.pu-di-destino {
	position: relative;
	border: 2px solid var(--pu-diario);
	background-color: color-mix(in srgb, var(--pu-diario) 8%, white) !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--pu-diario) 15%, transparent);
}
body.pu-di-arrastre .pu-di-sesion.pu-di-destino::after {
	content: "Soltar aquí";
	position: absolute;
	right: 8px;
	bottom: 6px;
	padding: 2px 8px;
	border-radius: 6px;
	background: var(--pu-diario);
	color: #fff;
	font: 600 11px/18px var(--pu-fonte);
	pointer-events: none;
}
.pu-di-sesion-botons { margin-bottom: 6px !important; }

/* =========================================================================
   Diario · ventás de cada sesión (sen clase, desde UDI-UD, nova/editar)
   ========================================================================= */
.pu-di-panel { --pu-dp: #2E7D32; }
.pu-di-panel-sen { --pu-dp: #5F6672; }
.pu-di-panel-udi { --pu-dp: #B3261E; }
.pu-di-panel:not([style*="display: none"]):not([style*="display:none"]) {
	position: fixed !important;
	inset: 0 !important;
	top: 0 !important;
	z-index: 99995 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 20px;
	box-sizing: border-box;
	background: rgba(20, 24, 30, 0.45);
	font-family: var(--pu-fonte);
}
.pu-di-panel > [id^="triangulo_"], .pu-di-panel > div[style*="clear:both"] { display: none !important; }
.pu-di-panel-caixa {
	width: min(760px, 100%) !important;
	height: auto !important;
	max-height: calc(100vh - 40px);
	overflow-y: auto !important;
	padding: 0 20px 18px !important;
	box-sizing: border-box;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
	color: var(--pu-texto);
	font: 13.5px var(--pu-fonte);
}
.pu-di-panel-cab {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 -20px 14px;
	padding: 12px 14px 12px 20px;
	background: var(--pu-dp);
	color: #fff;
	font: 600 15px var(--pu-fonte);
}
.pu-di-panel-cab .pu-modal-pechar { color: #fff; }
.pu-di-panel-cab .pu-modal-pechar .pu-icona { color: #fff; }

/* textos e bordos brancos do deseño antigo */
.pu-di-panel-caixa font[color="white"], .pu-di-panel-caixa font[color="White"] { color: var(--pu-texto-2) !important; }
.pu-di-panel-caixa [style*="color:white"], .pu-di-panel-caixa [style*="color: white"] { color: var(--pu-texto-2) !important; }
.pu-di-panel-caixa [style*="solid white"], .pu-di-panel-caixa [style*="white 1px solid"], .pu-di-panel-caixa [style*="border:white"] { border-color: var(--pu-borde) !important; }
.pu-di-panel-caixa [style*="margin-left"] { margin-left: 0 !important; }
.pu-di-panel-caixa font[size="2"] { font: 600 12px var(--pu-fonte) !important; letter-spacing: .02em; }
.pu-di-panel-caixa font[size="1"] i { font-style: italic; color: var(--pu-texto-3); }
.pu-di-panel-caixa img[src*="loader"] { height: 16px; vertical-align: middle; filter: invert(.6); }

/* campos editables */
.pu-di-panel-caixa [contenteditable="true"]:not([id^="nova_etiqueta_"]) {
	float: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 40px;
	max-height: 160px;
	margin: 4px 0 0 !important;
	padding: 8px 10px;
	box-sizing: border-box;
	overflow-y: auto !important;
	border: 1px solid var(--pu-borde);
	border-radius: 9px !important;
	background: #FAFBFC !important;
	font: 13.5px/1.45 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	outline: none;
}
.pu-di-panel-caixa [contenteditable="true"]:focus { border-color: var(--pu-dp); background: #fff !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-dp) 15%, transparent); }
.pu-di-panel-sen .pu-di-panel-caixa [contenteditable="true"] { min-height: 180px; max-height: 50vh; }
.pu-di-panel-caixa > div:has(> font[size="2"]) { margin-top: 12px !important; }

/* dúas columnas (agrupamentos / materiais) */
.pu-di-panel-caixa > div[style*="float:left"]:has(> [contenteditable]) { width: calc(50% - 6px) !important; }
.pu-di-panel-caixa > div[style*="float:left"]:has(> [contenteditable]) + div[style*="float:left"]:has(> [contenteditable]) { margin-left: 12px !important; }

/* campos co botón "xestionar" ao lado (editar) */
.pu-di-panel-caixa > [contenteditable][style*="float:left"]:not([id^="nova_etiqueta_"]) { float: left !important; width: calc(100% - 180px) !important; margin-right: 10px !important; }
.pu-di-panel-caixa > div[onclick*="xestionar_"] {
	float: left !important;
	width: 160px !important;
	margin-top: 8px !important;
	padding: 7px 8px;
	box-sizing: border-box;
	border: 1px solid color-mix(in srgb, var(--pu-dp) 45%, white) !important;
	border-radius: 8px !important;
	background: color-mix(in srgb, var(--pu-dp) 7%, white);
	color: var(--pu-dp) !important;
	font: 600 11.5px var(--pu-fonte) !important;
	text-transform: lowercase;
}
.pu-di-panel-caixa > div[onclick*="xestionar_"]::first-letter { text-transform: uppercase; }

/* botón principal (engadir, gardar cambios) */
.pu-di-panel-caixa div[onclick][style*="white 1px solid"]:not([onclick*="xestionar_"]) {
	display: block;
	width: fit-content !important;
	margin: 18px auto 0 !important;
	padding: 9px 22px;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--pu-dp) !important;
	color: #fff !important;
	font: 600 13px var(--pu-fonte) !important;
	text-transform: lowercase;
}
.pu-di-panel-caixa div[onclick][style*="white 1px solid"]:not([onclick*="xestionar_"])::first-letter { text-transform: uppercase; }
.pu-di-panel-caixa div[onclick][style*="white 1px solid"]:not([onclick*="xestionar_"]) img { height: 14px; filter: none; }

/* "Engadir como substitución por falta" */
.pu-di-panel-caixa font[onclick] {
	float: right !important;
	margin: 0 0 6px !important;
	padding: 3px 10px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 7px !important;
	font: 600 11.5px var(--pu-fonte) !important;
	color: var(--pu-dp) !important;
}
.pu-di-panel-caixa font[onclick]:hover { border-color: var(--pu-dp) !important; }

/* plantilla e resaltar */
.pu-di-panel-caixa > div:has(> input[type=checkbox]) { display: flex; align-items: center; gap: 6px; margin-top: 12px !important; font-size: 12px; }
.pu-di-panel-caixa > div:has(> input[type=checkbox]) font { font: 600 11.5px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-di-panel-caixa > div[title^="destacar"], .pu-di-panel-caixa > div[title="non destacar"] {
	width: 18px !important;
	height: 18px !important;
	margin: 0 0 0 4px !important;
	border: 1px solid var(--pu-borde);
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}
.pu-di-panel-caixa > div[title^="destacar"] input, .pu-di-panel-caixa > div[title="non destacar"] input { position: absolute; inset: 0; width: 100%; height: 100% !important; margin: 0; opacity: 0; cursor: pointer; }
.pu-di-panel-caixa > div[title^="destacar"]:has(input:checked), .pu-di-panel-caixa > div[title="non destacar"]:has(input:checked) { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pu-texto-2); }
.pu-di-panel-caixa > div:not([title]):not([onclick])[style*="float:right"]:not(:has(input)) { margin: 2px 8px 0 0 !important; font: 600 11px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }

/* desde UDI-UD: buscador e listas */
.pu-di-panel-udi .pu-di-panel-caixa > div[style*="float:right"]:not([title]) { display: none; }
.pu-di-panel-udi .pu-di-panel-caixa > div[style*="float:left"]:has(#palabra_desde_udi) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; float: none !important; margin: 0 0 12px !important; }
.pu-di-panel-udi .pu-di-panel-caixa > div:has(#palabra_desde_udi) > * { float: none !important; margin: 0 !important; }
.pu-di-panel-udi select, #palabra_desde_udi {
	height: 34px !important;
	padding: 0 10px;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--pu-texto) !important;
	font: 13px var(--pu-fonte) !important;
}
#palabra_desde_udi { width: 180px !important; }
.pu-di-panel-udi .pu-di-panel-caixa div[onclick*="desde_udi_buscar"] {
	padding: 0 12px;
	height: 34px;
	line-height: 32px;
	border: 1px solid var(--pu-dp) !important;
	border-radius: 8px !important;
	color: var(--pu-dp) !important;
	font: 600 12px/32px var(--pu-fonte) !important;
	text-decoration: none;
	text-transform: lowercase;
}
.pu-di-panel-udi .pu-di-panel-caixa div[onclick*="desde_udi_buscar"]::first-letter { text-transform: uppercase; }
/* "< volver" */
.pu-di-panel-udi .pu-di-panel-caixa > div[onclick*="desde_udi"]:not([class]) {
	float: none !important;
	display: inline-block;
	margin: 0 0 10px !important;
	color: var(--pu-dp) !important;
	font: 600 12.5px var(--pu-fonte) !important;
	text-transform: lowercase;
	cursor: pointer;
}
/* elementos da lista e botón escoller */
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas:not([onclick]) {
	width: calc(100% - 120px) !important;
	margin: 0 10px 0 0 !important;
	padding: 8px 12px;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 10px !important;
	color: var(--pu-texto) !important;
	font: 14px/1.4 var(--pu-fonte) !important;
}
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas:not([onclick]) font { color: var(--pu-texto-3) !important; font-size: 12px; }
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas[onclick] {
	width: auto !important;
	min-width: 30px;
	margin: 4px 6px 0 0 !important;
	padding: 6px 12px;
	border: 1px solid var(--pu-dp) !important;
	border-radius: 8px !important;
	color: var(--pu-dp) !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
}
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas[onclick]::first-letter { text-transform: uppercase; }
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas[onclick][style*="background-color:green"] { background: #2E7D32 !important; border-color: #2E7D32 !important; color: #fff !important; }
.pu-di-panel-udi .pu-di-panel-caixa > div[style*="height:20px"][style*="clear:both"] { height: 10px !important; }

/* paneis de criterios e contidos da semana: ventás (xestionar_*_semana pon top e margin-left en liña) */
.pu-modal.pu-di-cr { top: 0 !important; margin: 0 !important; z-index: 99996 !important; }
.pu-di-cr-caixa { width: min(980px, 100%); max-height: calc(100vh - 40px); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25); }
.pu-di-cr-caixa .pu-ac-panel-dentro { height: auto !important; min-height: 240px; max-height: calc(100vh - 260px); }
.pu-di-cr-caixa.pu-maximizado .pu-ac-panel-dentro { max-height: none; }
#triangulo_indicadores_semana, #triangulo_contidos_semana { display: none !important; }

@media (max-width: 700px) {
	.pu-di-panel-caixa > div[style*="float:left"]:has(> [contenteditable]) { width: 100% !important; margin-left: 0 !important; }
	.pu-di-panel-caixa > [contenteditable][style*="float:left"] { width: 100% !important; }
	.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas:not([onclick]) { width: 100% !important; }
}

/* desde UDI-UD: fila de actividade con "Escoller" e "+" na mesma liña */
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas:not([onclick]):has(+ div[onclick] + div[onclick][style*="background-color:green"]) { width: calc(100% - 160px) !important; }
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas[onclick][style*="background-color:green"] { width: 34px !important; min-width: 0; padding: 6px 0; text-align: center; margin-right: 0 !important; }

/* editar: etiquetas coa súa cor orixinal, as catro nunha fila */
.pu-di-panel-caixa > div:has(+ [id^="nova_etiqueta_1_"]) { float: left !important; width: 92px !important; margin: 14px 0 0 !important; clear: both; }
.pu-di-panel-caixa > [id^="nova_etiqueta_"] {
	float: left !important;
	width: calc(25% - 31px) !important;
	height: auto !important;
	min-height: 34px;
	max-height: 70px;
	margin: 8px 8px 0 0 !important;
	padding: 7px 10px;
	box-sizing: border-box;
	overflow-y: auto !important;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px !important;
	font: 600 12.5px/1.35 var(--pu-fonte) !important;
	color: #222 !important;
	outline: none;
}
.pu-di-panel-caixa > [id^="nova_etiqueta_"]:focus { box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12); }
.pu-di-panel-caixa > [id^="nova_etiqueta_4_"] { margin-right: 0 !important; }

/* resaltar: aire debaixo; as etiquetas de campo empezan liña nova */
.pu-di-panel-caixa > div:has(> font[size="2"]) { clear: both; }
.pu-di-panel-caixa > font[size="1"]:has(i) { display: inline-block; margin-bottom: 14px; }

/* editar: subir/baixar, mover e copiar a outro día ou semana (antes con marxes negativas) */
.pu-di-panel-caixa div:has(> div[onclick^="orden_clase"]) {
	float: none !important;
	clear: both;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 18px 0 0 !important;
	padding-top: 14px;
	border-top: 1px solid var(--pu-borde);
}
.pu-di-panel-caixa div:has(> div[onclick^="orden_clase"]) > div { float: none !important; margin: 0 !important; }
.pu-di-panel-caixa div:has(> div[onclick^="orden_clase"]) > div[style*="clear:both"] { flex-basis: 100%; height: 0; }
.pu-di-panel-caixa div[onclick^="orden_clase"] {
	width: 30px !important;
	height: 30px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 8px;
	background: #fff center / 14px no-repeat;
	box-sizing: border-box;
}
.pu-di-panel-caixa div[onclick*="'subir'"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F5763' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E"); }
.pu-di-panel-caixa div[onclick*="'baixar'"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F5763' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.pu-di-panel-caixa div[onclick^="orden_clase"]:hover { border-color: var(--pu-dp) !important; }
.pu-di-panel-caixa div:has(> div[onclick^="orden_clase"]) select {
	height: 32px;
	margin: 0 6px;
	padding: 0 8px;
	border: 1px solid var(--pu-borde);
	border-radius: 8px;
	background: #fff;
	font: 13px var(--pu-fonte);
	color: var(--pu-texto);
}
.pu-di-panel-caixa div:has(> div[onclick^="orden_clase"]), .pu-di-panel-caixa div:has(> div[onclick^="orden_clase"]) div { font: 13px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
.pu-di-panel-caixa > div[id^="gardar_exercicio_diario_"] { clear: both; }
/* aire debaixo dos botóns gardar / engadir */
.pu-di-panel-caixa div[onclick][style*="white 1px solid"]:not([onclick*="xestionar_"]) { margin-bottom: 18px !important; }

/* etiquetas: fondo branco, bordo e texto da súa cor */
.pu-di-panel-caixa > [id^="nova_etiqueta_"] { background: #fff !important; border-width: 2px !important; border-style: solid !important; }
.pu-di-panel-caixa > [id^="nova_etiqueta_1_"] { border-color: #E3C500 !important; color: #8A7400 !important; }
.pu-di-panel-caixa > [id^="nova_etiqueta_2_"] { border-color: #F2A7BA !important; color: #B23A5C !important; }
.pu-di-panel-caixa > [id^="nova_etiqueta_3_"] { border-color: #43CDFF !important; color: #0A7FA8 !important; }
.pu-di-panel-caixa > [id^="nova_etiqueta_4_"] { border-color: #FFB349 !important; color: #B5660A !important; }
.pu-di-panel-caixa > [id^="nova_etiqueta_1_"]:focus { box-shadow: 0 0 0 3px rgba(227, 197, 0, 0.25); }
.pu-di-panel-caixa > [id^="nova_etiqueta_2_"]:focus { box-shadow: 0 0 0 3px rgba(242, 167, 186, 0.3); }
.pu-di-panel-caixa > [id^="nova_etiqueta_3_"]:focus { box-shadow: 0 0 0 3px rgba(67, 205, 255, 0.25); }
.pu-di-panel-caixa > [id^="nova_etiqueta_4_"]:focus { box-shadow: 0 0 0 3px rgba(255, 179, 73, 0.3); }

/* paneis da semana: funciones.js fai .show() nas pestanas (display:block en liña) */
.pu-di-cr .pu-ac-panel-cursos, .pu-di-cr .pu-ac-panel-areas { display: flex !important; }
.pu-di-cr .pu-ac-panel-cursos:empty, .pu-di-cr .pu-ac-panel-areas:empty { display: none !important; }
.pu-di-cr .pu-ac-panel-cursos > div, .pu-di-cr .pu-ac-panel-areas > div { width: auto !important; float: none !important; margin: 0 !important; }

/* editar: etiquetas (o deseño antigo deixa un <font> aberto e poden quedar dentro del) */
.pu-di-panel-caixa :is(font, div):has(> [id^="nova_etiqueta_1_"]) { display: block; clear: both; }
.pu-di-panel-caixa div:has(+ [id^="nova_etiqueta_1_"]) { float: left !important; width: 92px !important; margin: 14px 0 0 !important; clear: both; }
.pu-di-panel .pu-di-panel-caixa [id^="nova_etiqueta_"][contenteditable] {
	float: left !important;
	width: calc(25% - 31px) !important;
	height: auto !important;
	min-height: 34px;
	max-height: 70px;
	margin: 8px 8px 0 0 !important;
	padding: 7px 10px;
	box-sizing: border-box;
	overflow-y: auto !important;
	border-width: 2px !important;
	border-style: solid !important;
	border-radius: 8px !important;
	background: #fff !important;
	font: 600 12.5px/1.35 var(--pu-fonte) !important;
	outline: none;
}
.pu-di-panel .pu-di-panel-caixa [id^="nova_etiqueta_4_"][contenteditable] { margin-right: 0 !important; }
.pu-di-panel-caixa [id^="nova_etiqueta_1_"] { border-color: #E3C500 !important; color: #8A7400 !important; }
.pu-di-panel-caixa [id^="nova_etiqueta_2_"] { border-color: #F2A7BA !important; color: #B23A5C !important; }
.pu-di-panel-caixa [id^="nova_etiqueta_3_"] { border-color: #43CDFF !important; color: #0A7FA8 !important; }
.pu-di-panel-caixa [id^="nova_etiqueta_4_"] { border-color: #FFB349 !important; color: #B5660A !important; }
.pu-di-panel-caixa :is(font, div):has(> [id^="nova_etiqueta_1_"])::after { content: ""; display: block; clear: both; }

/* axenda: a nota manuscrita do día como miniatura pequena (antes quedaba fóra da vista) */
.pu-di-ax-dia a[download] img { width: auto !important; max-width: 100%; max-height: 38px; margin: 4px 0 0 !important; border: 1px solid var(--pu-borde); border-radius: 6px !important; background: #fff; }
.pu-di-ax-dia center:has(> a[download]) { text-align: left; }
.pu-di-ax-dia > div[style*="opacity:0.6"] { background: none !important; opacity: 1 !important; }
.pu-di-ax-dia > div[style*="opacity:0.6"]:empty { display: none; }

/* agregador de tipos: botón "marcar todos" */
.pu-ac-panel-agregador > div[onclick^="marcar_todos_tipo"] {
	width: auto !important;
	padding: 6px 12px;
	border: 1px solid var(--pu-panel-cor) !important;
	border-radius: 8px !important;
	background: #fff;
	color: var(--pu-panel-cor) !important;
	font: 600 12px var(--pu-fonte) !important;
	white-space: nowrap;
	cursor: pointer;
}
.pu-ac-panel-agregador > div[onclick^="marcar_todos_tipo"]:hover { background: var(--pu-panel-cor); color: #fff !important; }
.pu-ac-panel-agregador > div:first-child { color: var(--pu-texto-2); }
.pu-ac-panel-agregador > div:first-child img { float: none !important; vertical-align: middle; }
/* aire enriba da fila de etiquetas */
.pu-di-panel-caixa div:has(+ [id^="nova_etiqueta_1_"]) { margin-top: 26px !important; }
.pu-di-panel .pu-di-panel-caixa [id^="nova_etiqueta_"][contenteditable] { margin-top: 20px !important; }

/* =========================================================================
   Diario · menú superior: semana actual (pestana activa) e Xerar á dereita
   ========================================================================= */
body:not([data-pu-zona="diario"]) .pu-di-apartado { display: none !important; }
body[data-pu-zona="diario"] #pu_di_semana_pestana { display: flex !important; cursor: default; }
body[data-pu-zona="diario"] #pu_di_semana_pestana:hover { color: var(--pu-acento) !important; }
#pu_di_semana_pestana { color: var(--pu-acento) !important; }
#pu_di_semana_pestana .pu-icona { width: 16px; height: 16px; flex-shrink: 0; }
.pu-di-semana-marca:empty { display: none; }
.pu-di-semana-marca {
	padding: 1px 8px;
	border-radius: 10px;
	background: #FFF6D1;
	color: #8A6400;
	font: 600 11px/18px var(--pu-fonte);
}

/* fóra do diario (e de programación) os seus elementos non contan para despregar a barra */
body:not([data-pu-zona="diario"]):not([data-pu-zona="programacion"]) .pu-subpestanas:not(:has(> .pu-subpestana:not(.pu-prog-apartado):not(.pu-di-apartado):not([style*="display: none"]):not([style*="display:none"]))) {
	padding: 0;
	background: var(--pu-branco) !important;
}

/* botóns de Xerar no menú */
body[data-pu-zona="diario"] .pu-di-xerar-nav:not(:empty) { display: flex !important; }
.pu-di-xerar-nav { align-items: center; gap: 2px; margin-left: auto; }
.pu-di-xerar-nav > .pu-di-xerar-boton {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 13px 12px 13px !important;
	background: transparent !important;
	color: var(--pu-texto-2) !important;
	font: 500 13px var(--pu-fonte) !important;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
}
.pu-di-xerar-nav > .pu-di-xerar-boton:hover { color: var(--pu-acento) !important; }
.pu-di-xerar-nav > .pu-di-xerar-boton br { display: none; }
.pu-di-xerar-nav > .pu-di-xerar-boton::before {
	content: "";
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* editar: menos aire debaixo de gardar; etiqueta aliñada coas caixas */
.pu-di-panel-caixa div[onclick][style*="white 1px solid"]:not([onclick*="xestionar_"]) { margin-bottom: 4px !important; }
.pu-di-panel-caixa > div:has(> input[type=checkbox]) { margin-top: 0 !important; }
.pu-di-panel-caixa div:has(+ [id^="nova_etiqueta_1_"]) { margin-top: 29px !important; }
/* caixa do calendario da nova semana: mesma altura que o resto */
#diario_clase_semanas > div[onclick="autocompletar_semana_calendario()"] {
	position: relative;
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	line-height: 0 !important;
}
#diario_clase_semanas > div[onclick="autocompletar_semana_calendario()"] img { height: 18px !important; margin: 0 !important; }
#diario_clase_semanas > div[onclick="autocompletar_semana_calendario()"] #dia_para_nova_semana { position: absolute !important; left: 0; top: 0; margin: 0 !important; border: 0 !important; }

/* notas da semana á dereita da fila */
.pu-di-semana > .pu-di-notas {
	margin-left: auto !important;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	text-align: right;
	font: italic 12px/1.45 var(--pu-fonte);
	color: var(--pu-texto-3);
}
.pu-di-semana > .pu-di-notas > div { margin: 0 !important; padding: 0 !important; font: inherit !important; color: inherit !important; }
.pu-di-semana > .pu-di-notas font { font: inherit !important; color: inherit !important; }
.pu-di-barra:has(.pu-di-notas) > .pu-di-nota { display: none; }
@media (max-width: 1100px) { .pu-di-semana > .pu-di-notas { margin-left: 0 !important; align-items: flex-start; text-align: left; flex-basis: 100%; } }

/* =========================================================================
   Calendario (jQuery UI datepicker) con deseño novo
   ========================================================================= */
.ui-datepicker {
	z-index: 100000 !important;
	width: 272px !important;
	padding: 10px !important;
	box-sizing: border-box;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16);
	font: 13px var(--pu-fonte) !important;
	color: var(--pu-texto);
}
.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: 4px 0 8px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	color: var(--pu-texto) !important;
}
.ui-datepicker .ui-datepicker-title { margin: 0 34px !important; line-height: 28px !important; font: 600 14px/28px var(--pu-fonte) !important; text-transform: capitalize; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
	top: 4px !important;
	width: 28px !important;
	height: 28px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 8px !important;
	background: #fff center / 14px no-repeat !important;
	cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev { left: 0 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F5763' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") !important; }
.ui-datepicker .ui-datepicker-next { right: 0 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F5763' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") !important; }
.ui-datepicker .ui-datepicker-prev:hover, .ui-datepicker .ui-datepicker-next:hover { border-color: var(--pu-acento) !important; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: none !important; }
.ui-datepicker table { width: 100%; margin: 0 !important; border-collapse: separate !important; border-spacing: 2px; font-size: 13px !important; }
.ui-datepicker th { padding: 4px 0 !important; font: 600 11px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; text-transform: uppercase; }
.ui-datepicker td { padding: 0 !important; }
.ui-datepicker td a, .ui-datepicker td span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: none !important;
	color: var(--pu-texto) !important;
	font: 13px var(--pu-fonte) !important;
	text-align: center !important;
}
.ui-datepicker td a:hover { background: var(--pu-fondo) !important; }
.ui-datepicker .ui-datepicker-other-month a, .ui-datepicker .ui-datepicker-other-month span { color: var(--pu-texto-3) !important; opacity: .6; }
.ui-datepicker .ui-datepicker-week-end a { color: var(--pu-texto-2) !important; }
.ui-datepicker .ui-datepicker-today a { box-shadow: inset 0 0 0 1.5px var(--pu-acento); color: var(--pu-acento) !important; font-weight: 600 !important; }
.ui-datepicker .ui-datepicker-current-day a, .ui-datepicker td a.ui-state-active { background: var(--pu-acento) !important; color: #fff !important; font-weight: 600 !important; }
.ui-datepicker .ui-datepicker-buttonpane { margin: 6px 0 0 !important; padding: 6px 0 0 !important; border-top: 1px solid var(--pu-borde) !important; }
.ui-datepicker .ui-datepicker-buttonpane button { margin: 0 !important; padding: 5px 10px !important; border: 1px solid var(--pu-borde) !important; border-radius: 7px !important; background: #fff !important; font: 600 12px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position: absolute !important; }
.ui-datepicker td a { text-decoration: none !important; }
.ui-datepicker .ui-datepicker-title { text-align: center; }
/* as notas na mesma liña que os datos da semana */
@media (min-width: 1101px) {
	#diario_clase_nome_semana.pu-di-semana { flex-wrap: nowrap !important; }
	.pu-di-semana > .pu-di-notas { flex: 1 1 260px; min-width: 0; }
	.pu-di-semana > .pu-di-notas > div { white-space: normal; }
	.pu-di-semana > * { flex-shrink: 0; }
	.pu-di-semana > .pu-di-notas { flex-shrink: 1; }
}
/* axenda: días con bordo en vez de fondo */
.pu-di-ax-dia { background: #fff !important; border: 1px solid var(--pu-borde); }
.pu-di-ax-dia { border-color: #C6DCF3 !important; }
/* axenda en azul: etiqueta, texto dos días e frechas */
.pu-di-axenda { --pu-di-ax: #6E9FD4; }
.pu-di-ax-etiqueta, .pu-di-ax-etiqueta b, .pu-di-ax-etiqueta a, .pu-di-ax-etiqueta font { color: var(--pu-di-ax) !important; }
.pu-di-ax-dia, .pu-di-ax-dia center:first-child, .pu-di-ax-dia font { color: var(--pu-di-ax) !important; }
.pu-di-ax-frecha { border-color: #C6DCF3 !important; color: var(--pu-di-ax) !important; }
.pu-di-ax-frecha:hover { background: #F3F8FE; }
/* máis aire entre a axenda e a táboa */
.pu-di-semana-tarxeta > .pu-di-axenda { margin-bottom: 14px; }

/* calendario como bocadillo: triángulo cara ao campo */
.ui-datepicker { margin-top: 10px !important; overflow: visible !important; }
.ui-datepicker::before, .ui-datepicker::after {
	content: "";
	position: absolute;
	left: 22px;
	width: 0;
	height: 0;
	border-style: solid;
}
.ui-datepicker::before { top: -10px; border-width: 0 10px 10px 10px; border-color: transparent transparent var(--pu-borde) transparent; }
.ui-datepicker::after { top: -8px; left: 23px; border-width: 0 9px 9px 9px; border-color: transparent transparent #fff transparent; }
/* se se abre por riba do campo, o triángulo vai abaixo */
.ui-datepicker.pu-dp-enriba { margin-top: -10px !important; }
.ui-datepicker.pu-dp-enriba::before { top: auto; bottom: -10px; border-width: 10px 10px 0 10px; border-color: var(--pu-borde) transparent transparent transparent; }
.ui-datepicker.pu-dp-enriba::after { top: auto; bottom: -8px; border-width: 9px 9px 0 9px; border-color: #fff transparent transparent transparent; }

/* app: a X e o botón de pantalla completa sempre á dereita da cabeceira */
.pu-ac-panel-cab .pu-modal-pechar { margin-left: auto; }
.pu-ac-panel-cab .pu-maximizar:not([style*="display: none"]) + .pu-modal-pechar { margin-left: -10px; }
@media (max-width: 700px) {
	.pu-ac-panel-cab { min-height: 46px; box-sizing: border-box; }
}

/* bocadillo do calendario máis visible: cadrado xirado con bordo e sombra */
#ui-datepicker-div.ui-datepicker::after { display: none !important; }
#ui-datepicker-div.ui-datepicker::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: -8px !important;
	bottom: auto !important;
	left: var(--pu-dp-frecha, 20px) !important;
	width: 14px !important;
	height: 14px !important;
	border: 0 !important;
	border-top: 1px solid #C9D2DE !important;
	border-left: 1px solid #C9D2DE !important;
	background: #fff !important;
	transform: rotate(45deg);
	box-shadow: -2px -2px 4px rgba(20, 40, 80, 0.06);
	z-index: 1;
	clear: none !important;
}
#ui-datepicker-div.ui-datepicker.pu-dp-enriba::before {
	top: auto !important;
	bottom: -8px !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-bottom: 1px solid #C9D2DE !important;
	border-right: 1px solid #C9D2DE !important;
	box-shadow: 2px 2px 4px rgba(20, 40, 80, 0.06);
}
#ui-datepicker-div.ui-datepicker { border-color: #C9D2DE !important; }

/* axenda (banda azul de días) máis suave */
.pu-di-semana-tarxeta > .pu-di-axenda { opacity: 0.7; transition: opacity .15s; }
.pu-di-semana-tarxeta > .pu-di-axenda:hover { opacity: 1; }

/* =========================================================================
   Alumnado e grupos · marco
   Os apartados (Anecdotario, Reunións, Caderno do docente...) están nas
   subpestanas e só se ven nesta zona. O caderno (caderno_novo.*) e a xestión
   do alumnado (iframe) xa teñen o deseño novo: aquí só vai o contedor.
   ========================================================================= */
body:not([data-pu-zona="alumnado"]) .pu-al-apartado { display: none !important; }
body[data-pu-zona="alumnado"] .pu-al-apartado:not([style*="display: none"]):not([style*="display:none"]) { display: flex !important; }
.pu-al-apartado { color: var(--pu-texto-2) !important; }
.pu-al-apartado.pu-activa { color: var(--pu-acento) !important; }
.pu-al-apartado .pu-icona { width: 16px; height: 16px; flex-shrink: 0; }
.pu-al-apartado.pu-activa .pu-icona { color: var(--pu-acento); }
body:not([data-pu-zona="diario"]):not([data-pu-zona="programacion"]):not([data-pu-zona="alumnado"]) .pu-subpestanas:not(:has(> .pu-subpestana:not(.pu-prog-apartado):not(.pu-di-apartado):not(.pu-al-apartado):not([style*="display: none"]):not([style*="display:none"]))) {
	padding: 0;
	background: var(--pu-branco) !important;
}

/* contedor: a todo o ancho, alto segundo o contido (caderno_novo.js pon alturas en liña) */
#contenedor_alumnos_grupos.pu-al { max-width: none !important; height: auto !important; min-height: 0 !important; }
#contenedor_interno_alumnado.pu-al-tarxeta {
	position: relative;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 16px 18px !important;
	overflow: visible !important;
	background: var(--pu-branco) !important;
}

/* barra superior: filtros (grupo, área, nivel...) á esquerda e xerar á dereita */
.pu-al-barra { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.pu-al-barra:has(> .pu-al-filtros:not(:empty):not([style*="display: none"]):not([style*="display:none"])) { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--pu-borde); }
.pu-al-filtros, .pu-al-xerar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; height: auto !important; margin: 0 !important; padding: 0 !important; color: var(--pu-texto) !important; }
.pu-al-filtros:empty, .pu-al-xerar:empty { display: none !important; }
.pu-al-xerar { margin-left: auto !important; }
.pu-al-filtros > div, .pu-al-xerar > div { float: none !important; margin: 0 !important; display: flex; align-items: center; gap: 6px; }
.pu-al-filtros font, .pu-al-xerar font { color: var(--pu-texto-2) !important; font: 600 12px var(--pu-fonte) !important; }
.pu-al-filtros select, .pu-al-xerar select {
	height: 34px;
	width: auto !important;
	min-width: 120px;
	max-width: 240px;
	padding: 0 28px 0 10px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: #FAFBFC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A919C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
	font: 13px var(--pu-fonte);
	color: var(--pu-texto);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.pu-al-filtros select:focus, .pu-al-xerar select:focus { outline: none; border-color: var(--pu-acento); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-acento) 18%, transparent); }
/* botóns da barra antiga (ver favoritos, abrir caderno, xerar...) */
.pu-al-filtros div[onclick], .pu-al-xerar div[onclick], .pu-al-filtros [class*="esquinas_redondeadas"][onclick] {
	height: 34px;
	padding: 0 14px !important;
	border: 1px solid var(--pu-acento) !important;
	border-radius: 9px !important;
	background: var(--pu-branco) !important;
	color: var(--pu-acento) !important;
	font: 600 13px var(--pu-fonte) !important;
	width: auto !important;
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
}
.pu-al-filtros div[onclick] *, .pu-al-xerar div[onclick] * { color: inherit !important; font: inherit !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.pu-al-filtros div[onclick]:hover, .pu-al-xerar div[onclick]:hover { background: color-mix(in srgb, var(--pu-acento) 8%, white) !important; }
.pu-al-filtros div[onclick] img { height: 15px !important; margin-right: 6px !important; }

/* corpo dos apartados antigos (anecdotario, reunións, fichas, equipos, seguimento) */
#frame_anecdotario_reunions.pu-al-corpo { height: auto !important; min-height: 300px; overflow: visible !important; padding: 0 !important; }

/* caderno do docente: o seu propio deseño (caderno_novo.css) */
#frame_caderno_docente.pu-al-caderno { height: auto !important; padding: 0 !important; background: transparent !important; overflow: visible !important; }

/* xestionar alumnado e grupos: o iframe ocupa o alto da ventá */
#frame_xestionar_alumnado.pu-al-xestionar { height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
#frame_xestionar_alumnado.pu-al-xestionar > iframe { display: block; width: 100%; height: calc(100vh - 250px); min-height: 520px; border: 0; }

/* imaxe do caderno (ventá flotante antiga) */
#contenedor_imaxe_caderno { z-index: 50; }

/* aviso de protección de datos, discreto ao pé */
.pu-al-protocolo { display: inline-block; margin-top: 14px; font: 12px var(--pu-fonte); color: var(--pu-texto-3) !important; text-decoration: none; }
.pu-al-protocolo:hover { color: var(--pu-acento) !important; text-decoration: underline; }
/* funciones.js fai .show() (display:block en liña) */
.pu-al-filtros:not([style*="display: none"]):not([style*="display:none"]):not(:empty),
.pu-al-xerar:not([style*="display: none"]):not([style*="display:none"]):not(:empty) { display: flex !important; }
.pu-al-filtros > div[onclick] { flex-direction: row; }
/* xestionar alumnado: botón de pantalla completa sobre o iframe */
#frame_xestionar_alumnado.pu-al-xestionar { position: relative; }
.pu-al-maximizar { position: absolute; top: -10px; right: -10px; z-index: 3; background: rgba(255, 255, 255, 0.92); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
#frame_xestionar_alumnado.pu-maximizado { position: fixed !important; inset: 0 !important; padding: 0 !important; background: var(--pu-branco); }
#frame_xestionar_alumnado.pu-maximizado > iframe { height: 100vh !important; min-height: 0; }
#frame_xestionar_alumnado.pu-maximizado > .pu-al-maximizar { top: 12px; right: 16px; }
/* botón máis pequeno */
.pu-al-maximizar { width: 28px !important; height: 28px !important; border-radius: 8px !important; top: -8px !important; right: -10px !important; }
.pu-al-maximizar .pu-icona { width: 14px !important; height: 14px !important; }
#frame_xestionar_alumnado.pu-maximizado > .pu-al-maximizar { top: 10px !important; right: 14px !important; }

/* =========================================================================
   Alumnado e grupos · apartados antigos (anecdotario, reunións, fichas,
   seguimento UD-UDIs, equipos): mensaxes, grella do alumnado e seguimento
   ========================================================================= */
/* mensaxe "Escolle un dos teus grupos..." */
.pu-al-corpo > font:only-child, .pu-al-corpo > font:first-child:last-child {
	display: block;
	padding: 48px 20px;
	text-align: center;
	font: 500 15px/1.5 var(--pu-fonte) !important;
	color: var(--pu-texto-2) !important;
}
.pu-al-corpo > font:only-child > br { display: none; }
/* cargando */
.pu-al-corpo > img[src*="loader"] { float: none !important; vertical-align: middle; margin: 40px 8px 0 0; }
.pu-al-corpo > img[src*="loader"] + font { font: 13px var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }

/* grella de alumnado para escoller */
.pu-al-corpo:has(> div[onclick^="anecdotario_alumno("], > div[onclick^="reunion_alumno("], > div[onclick^="ficha_dun_alumno("], > div[onclick^="abre_seguimento_udis("], > div[onclick^="equipo_alumno("]) {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 12px;
	align-content: start;
}
.pu-al-corpo:has(> div[onclick^="equipo_alumno("]) > div:not([onclick]) { grid-column: 1 / -1; }
.pu-al-corpo > div[onclick^="anecdotario_alumno("],
.pu-al-corpo > div[onclick^="reunion_alumno("],
.pu-al-corpo > div[onclick^="ficha_dun_alumno("],
.pu-al-corpo > div[onclick^="abre_seguimento_udis("],
.pu-al-corpo > div[onclick^="equipo_alumno("] {
	float: none !important;
	width: auto !important;
	height: auto !important;
	min-height: 150px;
	margin: 0 !important;
	padding: 16px 10px 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 2px;
	border: 1px solid var(--pu-borde);
	border-radius: 14px;
	background: var(--pu-branco);
	font: 600 13.5px/1.3 var(--pu-fonte) !important;
	color: var(--pu-texto) !important;
	text-align: center;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.pu-al-corpo > div[onclick^="anecdotario_alumno("]:hover,
.pu-al-corpo > div[onclick^="reunion_alumno("]:hover,
.pu-al-corpo > div[onclick^="ficha_dun_alumno("]:hover,
.pu-al-corpo > div[onclick^="abre_seguimento_udis("]:hover,
.pu-al-corpo > div[onclick^="equipo_alumno("]:hover {
	border-color: var(--pu-acento);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07);
	transform: translateY(-1px);
}
.pu-al-corpo > div[onclick] > img.avatar_circular {
	width: 76px !important;
	height: 76px !important;
	margin-bottom: 8px;
	border-radius: 50% !important;
	object-fit: cover;
	box-shadow: 0 0 0 3px var(--pu-branco), 0 0 0 4px var(--pu-borde);
}
.pu-al-corpo > div[onclick] > img.avatar_circular + br { display: none; }
.pu-al-corpo > div[onclick] > font {
	margin-top: 4px;
	padding: 1px 8px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--pu-alumnado) 10%, white);
	font: 600 11px/18px var(--pu-fonte) !important;
	color: var(--pu-alumnado) !important;
}
.pu-al-corpo > div[onclick] > font:empty { display: none; }
.pu-al-corpo > div[onclick^="equipo_alumno("] select { margin-top: 6px; height: 30px; padding: 0 8px; border: 1px solid var(--pu-borde); border-radius: 8px; background: #FAFBFC; font: 12px var(--pu-fonte); }

/* seguimento das UD-UDIs dun alumno: a todo o ancho */
.pu-al-seg { display: flex; flex-direction: column; gap: 10px; }
.pu-al-seg-iframe { display: block; width: 100%; height: calc(100vh - 260px); min-height: 520px; border: 0; }
.pu-al-volver {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 34px;
	padding: 0 14px 0 8px;
	border: 1px solid var(--pu-borde);
	border-radius: 9px;
	background: var(--pu-branco);
	font: 600 13px var(--pu-fonte);
	color: var(--pu-texto-2);
	cursor: pointer;
}
.pu-al-volver:hover { border-color: var(--pu-acento); color: var(--pu-acento); }
.pu-al-volver .pu-icona { width: 16px; height: 16px; }

/* Xerar de Alumnado no menú (á dereita), co mesmo aspecto que no Diario */
.pu-al-xerar-nav { display: none; align-items: center; gap: 2px; margin-left: auto; }
body[data-pu-zona="alumnado"] .pu-al-xerar-nav:has(.pu-di-xerar-boton) { display: flex !important; }
.pu-al-xerar-botons { display: flex !important; align-items: center; gap: 2px; margin: 0 !important; padding: 0 !important; height: auto !important; float: none !important; }
.pu-al-xerar-botons[style*="display: none"], .pu-al-xerar-botons[style*="display:none"] { display: none !important; }
.pu-al-xerar-botons:empty { display: none !important; }
.pu-al-xerar-botons > .pu-di-xerar-boton {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 13px 12px 13px !important;
	background: transparent !important;
	color: var(--pu-texto-2) !important;
	font: 500 13px var(--pu-fonte) !important;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
	border: 0 !important;
	width: auto !important;
	height: auto !important;
}
.pu-al-xerar-botons > .pu-di-xerar-boton:hover { color: var(--pu-acento) !important; }
.pu-al-xerar-botons > .pu-di-xerar-boton img[src*="loader"] { height: 14px; }
.pu-al-xerar-botons > .pu-di-xerar-boton::before {
	content: "";
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* o menú de Alumnado non se recolle aínda que só teña Xerar */
body:not([data-pu-zona="alumnado"]) .pu-al-xerar-nav { display: none !important; }

/* opcións da ficha de seguimento: ventá baixo o botón do menú */
#panel_xerar_ficha {
	position: fixed !important;
	margin: 0 !important;
	z-index: 9998 !important;
	height: auto !important;
	width: 260px !important;
	padding: 10px 12px 12px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 14px !important;
	background: var(--pu-branco) !important;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
}
#panel_xerar_ficha > div[style*="border-width: 0 15px"] { display: none; }
#panel_xerar_ficha > div[onclick*="panel_xerar_ficha"] { float: right; margin: 0 !important; }
#panel_xerar_ficha > div[onclick*="panel_xerar_ficha"] font { color: var(--pu-texto-3) !important; font: 600 11px var(--pu-fonte) !important; cursor: pointer; }
#panel_xerar_ficha_dentro { width: auto !important; height: auto !important; margin: 0 !important; padding: 6px 0 0 !important; background: transparent !important; overflow: visible !important; }
#panel_xerar_ficha_dentro font { font-family: var(--pu-fonte) !important; }
#panel_xerar_ficha_dentro div[onclick] { width: auto !important; padding: 9px 12px !important; border-radius: 9px !important; font: 600 13px var(--pu-fonte) !important; }
/* icona de equipos (a mesma da app: recheada) */
.pu-icona.pu-icona-chea { fill: currentColor !important; stroke: none !important; }

/* =========================================================================
   Alumnado · anecdotario e reunións dun alumno (alumnado_novo.js)
   ========================================================================= */
.pu-an { display: flex; flex-direction: column; gap: 14px; }
.pu-an-cab { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--pu-borde); }
.pu-an-foto { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--pu-branco), 0 0 0 4px var(--pu-borde); }
.pu-an-nome { display: flex; flex-direction: column; margin-right: auto; font-family: var(--pu-fonte); }
.pu-an-nome span { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--pu-alumnado); }
.pu-an-nome b { font-size: 18px; font-weight: 600; color: var(--pu-texto); }
.pu-an-nova {
	display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border: 0; border-radius: 10px;
	background: var(--pu-alumnado); color: #fff; font: 600 13.5px var(--pu-fonte); cursor: pointer;
}
.pu-an-nova:hover { filter: brightness(1.06); }
.pu-an-nova .pu-icona { width: 16px; height: 16px; }

.pu-an-lista { display: flex; flex-direction: column; gap: 12px; }
.pu-an-item { padding: 12px 14px; border: 1px solid var(--pu-borde); border-left: 3px solid var(--pu-alumnado); border-radius: 12px; background: var(--pu-branco); }
.pu-an-data { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; font: 13px var(--pu-fonte); color: var(--pu-texto-2); }
.pu-an-data > .pu-icona { width: 15px; height: 15px; margin-right: 4px; color: var(--pu-alumnado); }
.pu-an-etq { margin: 0 2px; color: var(--pu-texto-3); }
.pu-an-sep { color: var(--pu-texto-3); }
.pu-an-campo {
	display: inline-block; min-width: 22px; padding: 3px 5px; border: 1px solid var(--pu-borde); border-radius: 6px;
	background: #FAFBFC; font: 600 13px var(--pu-fonte); color: var(--pu-texto); text-align: center; outline: none;
}
.pu-an-campo.pu-an-4 { min-width: 42px; }
.pu-an-campo:focus { border-color: var(--pu-alumnado); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-alumnado) 15%, transparent); background: #fff; }
.pu-an-campo:empty::before { content: attr(data-ph); color: var(--pu-texto-3); font-weight: 400; }
.pu-an-axuda { margin-left: auto; font-size: 11.5px; font-style: italic; color: var(--pu-texto-3); }
.pu-an-texto {
	min-height: 60px; max-height: 320px; overflow-y: auto; padding: 10px 12px; border: 1px solid var(--pu-borde); border-radius: 10px;
	background: #FAFBFC; font: 14.5px/1.5 var(--pu-fonte); color: var(--pu-texto); outline: none;
}
.pu-an-texto:focus { border-color: var(--pu-alumnado); background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-alumnado) 15%, transparent); }
.pu-an-manuscrita { margin-top: 8px; }
.pu-an-manuscrita img { max-width: 100%; height: auto; border-radius: 8px; }
.pu-an-pe { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.pu-an-gardar {
	display: inline-block; height: 32px; line-height: 30px; padding: 0 16px; border: 1px solid var(--pu-alumnado); border-radius: 9px; box-sizing: border-box;
	background: var(--pu-branco); color: var(--pu-alumnado); font: 600 13px/30px var(--pu-fonte); cursor: pointer; text-transform: lowercase; white-space: nowrap;
}
.pu-an-gardar::first-letter { text-transform: uppercase; }
.pu-an-gardar:hover { background: color-mix(in srgb, var(--pu-alumnado) 8%, white); }
.pu-an-gardar img { height: 14px; float: none !important; }
.pu-an-gardar font { color: inherit !important; font: inherit !important; }
.pu-an-auto { font: 12px var(--pu-fonte); color: var(--pu-texto-3); }
.pu-an-baleiro { padding: 40px 20px; text-align: center; font: 15px/1.6 var(--pu-fonte); color: var(--pu-texto-2); }

.pu-an-gardar img { vertical-align: middle; margin-right: 6px; }
/* menú de Alumnado: un pouco máis compacto, para que caiba Xerar */
.pu-al-apartado { padding-left: 10px !important; padding-right: 10px !important; }

/* resultado de Xerar anecdotario/reunións: ventá baixo o botón do menú */
#panel_xerar_anecdotario.pu-al-panel-xerar {
	position: fixed !important;
	z-index: 9998;
	width: 280px;
	padding: 10px 12px 12px;
	border: 1px solid var(--pu-borde);
	border-radius: 14px;
	background: var(--pu-branco);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
	font: 13px var(--pu-fonte);
	color: var(--pu-texto-2);
}
.pu-al-panel-pechar { text-align: right; font: 600 11px var(--pu-fonte); color: var(--pu-texto-3); cursor: pointer; text-transform: uppercase; }
.pu-al-panel-pechar:hover { color: var(--pu-acento); }
#panel_xerar_anecdotario_dentro { padding-top: 6px; overflow: hidden; }
#panel_xerar_anecdotario_dentro font { font-family: var(--pu-fonte) !important; }
#panel_xerar_anecdotario_dentro img[src*="loader"] { margin-right: 8px; }
#panel_xerar_anecdotario_dentro a { text-decoration: none; }

/* =========================================================================
   Alumnado · ficha de seguimento dun alumno (alumnado_novo.js)
   ========================================================================= */
.pu-fi { display: flex; flex-direction: column; gap: 14px; font-family: var(--pu-fonte); }
.pu-fi h3 { margin: 0; font-size: 14px; font-weight: 650; color: var(--pu-texto); }
.pu-fi-cab { display: flex; align-items: center; gap: 14px 18px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--pu-borde); }
.pu-fi-cab .pu-an-nome { margin-right: auto; }
.pu-fi-dato { display: flex; flex-direction: column; padding: 6px 14px; border-left: 1px solid var(--pu-borde); }
.pu-fi-dato span { font-size: 11.5px; color: var(--pu-texto-3); }
.pu-fi-dato b { font-size: 15px; font-weight: 600; color: var(--pu-texto); }
.pu-fi-copiar {
	display: inline-block; height: 34px; line-height: 32px; padding: 0 14px; border: 1px solid var(--pu-borde); border-radius: 9px; box-sizing: border-box;
	background: var(--pu-branco); color: var(--pu-texto-2); font: 600 12.5px/32px var(--pu-fonte); cursor: pointer; white-space: nowrap;
}
.pu-fi-copiar:hover { border-color: var(--pu-alumnado); color: var(--pu-alumnado); }
.pu-fi-copia { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; border-radius: 10px; background: color-mix(in srgb, var(--pu-alumnado) 8%, white); font: 13px var(--pu-fonte); color: var(--pu-texto-2); }
.pu-fi-copia[style*="display: none"], .pu-fi-copia[style*="display:none"] { display: none !important; }
.pu-fi-copia font { color: var(--pu-texto-2) !important; font: 13px var(--pu-fonte) !important; }
.pu-fi-copia select { height: 32px; padding: 0 8px; border: 1px solid var(--pu-borde); border-radius: 8px; background: #fff; font: 13px var(--pu-fonte); }
.pu-fi-copia-boton {
	display: inline-block; margin-left: auto; height: 32px; padding: 0 14px; border-radius: 8px; background: var(--pu-alumnado); color: #fff;
	font: 600 13px/32px var(--pu-fonte); cursor: pointer; text-transform: lowercase; white-space: nowrap;
}
.pu-fi-copia-boton::first-letter { text-transform: uppercase; }
.pu-fi-aviso { padding: 10px 14px; border-radius: 10px; background: #FFF6D1; color: #6B5300; font: 13px var(--pu-fonte); }
.pu-fi-bloque { padding: 14px 16px; border: 1px solid var(--pu-borde); border-radius: 12px; background: var(--pu-branco); }
.pu-fi-bloque > h3 { margin-bottom: 8px; }
.pu-fi-iframe { display: block; width: 100%; height: 164px; border: 0; }
.pu-fi-bloque-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pu-fi-formato { display: inline-flex; gap: 4px; margin-left: auto; }
.pu-fi-formato button { width: 30px; height: 30px; border: 1px solid var(--pu-borde); border-radius: 8px; background: #fff; color: var(--pu-texto-2); font: 14px var(--pu-fonte); cursor: pointer; }
.pu-fi-formato button:hover { border-color: var(--pu-alumnado); color: var(--pu-alumnado); }
.pu-fi-bloque-cab .pu-fi-copiar { height: 30px; line-height: 28px; }
.pu-fi-gardando img { height: 13px; vertical-align: middle; }
.pu-fi-texto {
	min-height: 64px; max-height: 360px; overflow-y: auto; padding: 10px 12px; border: 1px solid var(--pu-borde); border-radius: 10px;
	background: #FAFBFC; font: 14px/1.5 var(--pu-fonte); color: var(--pu-texto); outline: none;
}
.pu-fi-texto-xeral { min-height: 90px; }
.pu-fi-texto:focus { border-color: var(--pu-alumnado); background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-alumnado) 15%, transparent); }
.pu-fi-lista-cab { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.pu-fi-filtro { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; height: 34px; padding: 0 10px; border: 1px solid var(--pu-borde); border-radius: 9px; background: #FAFBFC; }
.pu-fi-filtro:focus-within { border-color: var(--pu-alumnado); background: #fff; }
.pu-fi-filtro .pu-icona { width: 15px; height: 15px; color: var(--pu-texto-3); }
.pu-fi-filtro input { width: 240px; border: 0; background: transparent; outline: none; font: 13px var(--pu-fonte); color: var(--pu-texto); }
.pu-fi-lista { display: flex; flex-direction: column; gap: 12px; }
.pu-fi-crit { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 14px; padding: 14px 16px; border: 1px solid var(--pu-borde); border-left: 3px solid var(--pu-alumnado); border-radius: 12px; background: var(--pu-branco); }
.pu-fi-crit[style*="display: none"] { display: none !important; }
@media (max-width: 900px) { .pu-fi-crit { grid-template-columns: 1fr; } }
.pu-fi-crit-texto { font: 13.5px/1.45 var(--pu-fonte); color: var(--pu-texto); }
.pu-fi-crit-texto font { font-family: var(--pu-fonte) !important; }
.pu-fi-crit-etq { margin: 10px 0 6px; font: 600 12px var(--pu-fonte); color: var(--pu-texto-3); text-transform: uppercase; letter-spacing: .02em; }
.pu-fi-crit-udis { max-height: 220px; overflow-y: auto; padding: 10px 12px; border-radius: 10px; background: color-mix(in srgb, var(--pu-alumnado) 6%, white); font: 12.5px/1.5 var(--pu-fonte); color: var(--pu-texto-2); }
.pu-fi-crit-udis > b { display: block; margin-bottom: 6px; font-size: 12px; color: var(--pu-alumnado); }
.pu-fi-crit-udis font { font-family: var(--pu-fonte) !important; }

/* =========================================================================
   Alumnado · equipos cooperativos (alumnado_novo.js)
   ========================================================================= */
.pu-eq { display: flex; flex-direction: column; gap: 14px; font-family: var(--pu-fonte); }
.pu-eq-cab { display: flex; align-items: center; gap: 12px; }
.pu-eq-cab h3 { margin: 0 auto 0 0; font-size: 15px; font-weight: 650; color: var(--pu-texto); display: flex; align-items: center; gap: 8px; }
.pu-eq-cab-sen { margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--pu-borde); }
.pu-eq-conta { padding: 1px 8px; border-radius: 10px; background: color-mix(in srgb, var(--pu-alumnado) 12%, white); color: var(--pu-alumnado); font-size: 12px; font-weight: 700; }
.pu-eq-grella { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.pu-eq-equipo { display: flex; flex-direction: column; border: 1px solid var(--pu-borde); border-top: 3px solid var(--pu-alumnado); border-radius: 12px; background: var(--pu-branco); padding: 12px; }
.pu-eq-equipo-cab { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.pu-eq-nome { flex: 1; min-width: 0; padding: 6px 10px; border: 1px solid transparent; border-radius: 8px; font: 650 15px var(--pu-fonte); color: var(--pu-texto); outline: none; }
.pu-eq-nome:hover { border-color: var(--pu-borde); }
.pu-eq-nome:focus { border-color: var(--pu-alumnado); background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pu-alumnado) 15%, transparent); }
.pu-eq-cambiar, .pu-eq-ok {
	display: inline-block; height: 30px; padding: 0 12px; border: 1px solid var(--pu-alumnado); border-radius: 8px; background: #fff; color: var(--pu-alumnado);
	font: 600 12.5px/28px var(--pu-fonte); cursor: pointer; text-transform: lowercase; white-space: nowrap; box-sizing: border-box;
}
.pu-eq-cambiar::first-letter { text-transform: uppercase; }
.pu-eq-ok { text-transform: uppercase; padding: 0 10px; }
.pu-eq-cambiar img, .pu-eq-ok img { height: 12px; vertical-align: middle; }
.pu-eq-cambiar center, .pu-eq-ok center { display: inline; }
.pu-eq-membros { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pu-eq-membro { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 10px; background: #F6F7F9; }
.pu-eq-foto { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.pu-eq-foto-g { width: 64px; height: 64px; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--pu-borde); }
.pu-eq-membro-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pu-eq-membro-txt b { font-size: 13px; font-weight: 600; color: var(--pu-texto); }
.pu-eq-cargo-ver { font-size: 11.5px; color: var(--pu-alumnado); }
.pu-eq-cargo-ver:empty { display: none; }
.pu-eq-cargo-edit { display: flex; align-items: center; gap: 6px; }
.pu-eq-cargo { flex: 1; min-width: 0; margin-top: 4px; padding: 4px 8px; border: 1px solid var(--pu-borde); border-radius: 7px; background: #fff; font: 13px var(--pu-fonte); color: var(--pu-texto); outline: none; }
.pu-eq-cargo:focus { border-color: var(--pu-alumnado); }
.pu-eq-cargo:empty::before { content: attr(data-ph); color: var(--pu-texto-3); }
.pu-eq-cargo-edit .pu-eq-ok { margin-top: 4px; height: 28px; line-height: 26px; }
.pu-eq-accion { height: 28px; padding: 0 9px; border: 1px solid var(--pu-borde); border-radius: 7px; background: #fff; color: var(--pu-texto-2); font: 600 12px var(--pu-fonte); cursor: pointer; }
.pu-eq-accion:hover { border-color: var(--pu-alumnado); color: var(--pu-alumnado); }
.pu-eq-sacar { width: 28px; padding: 0; font-size: 16px; line-height: 1; }
.pu-eq-sacar:hover { border-color: #E5484D; color: #E5484D; }
.pu-eq-axuda { margin-top: 10px; font-size: 11.5px; font-style: italic; color: var(--pu-texto-3); }
.pu-eq-baleiro { font-size: 13px; color: var(--pu-texto-3); }
.pu-eq-sen { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.pu-eq-alumno { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 10px; border: 1px solid var(--pu-borde); border-radius: 14px; background: var(--pu-branco); text-align: center; }
.pu-eq-alumno b { font-size: 13.5px; font-weight: 600; color: var(--pu-texto); }
.pu-eq-alumno select { width: 100%; height: 32px; padding: 0 8px; border: 1px solid var(--pu-borde); border-radius: 8px; background: #FAFBFC; font: 13px var(--pu-fonte); cursor: pointer; }
/* cargo: caixa de escribir nunha liña propia, a todo o ancho do membro */
.pu-eq-membro { flex-wrap: wrap; }
.pu-eq-cargo-edit { flex: 0 0 100%; display: flex; align-items: center; gap: 6px; padding-left: 40px; box-sizing: border-box; }
.pu-eq-cargo-edit:has(> .pu-eq-cargo[style*="display: none"], > .pu-eq-cargo[style*="display:none"]) { display: none; }
.pu-eq-cargo-edit .pu-eq-cargo { flex: 1; min-width: 0; margin-top: 0; word-break: normal; }
.pu-eq-cargo-edit .pu-eq-ok { margin-top: 0; flex-shrink: 0; }
.pu-eq-grella { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }

/* =========================================================================
   Xerar (UD-UDIs e Programación) · deseño novo
   ========================================================================= */
#contenedor_xerar.pu-xe { max-width: none !important; }
.pu-xe-grella { display: grid; grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .pu-xe-grella { grid-template-columns: 1fr; } }
.pu-xe-opcions { display: flex; flex-direction: column; gap: 8px; }
.pu-xe-opcions > .pu-tarxeta-titulo { margin-bottom: 4px; }
.pu-xe-opcion {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--pu-borde); border-radius: 12px;
	background: var(--pu-branco); cursor: pointer; font-family: var(--pu-fonte); transition: border-color .15s, box-shadow .15s, background .15s;
}
.pu-xe-opcion:not([style*="display: none"]):not([style*="display:none"]) { display: flex !important; }
.pu-xe-opcion:hover { border-color: var(--pu-acento); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06); }
.pu-xe-opcion.pu-xe-activa { border-color: var(--pu-acento); background: color-mix(in srgb, var(--pu-acento) 6%, white); box-shadow: inset 3px 0 0 var(--pu-acento); }
.pu-xe-icona { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 10px; background: color-mix(in srgb, var(--pu-acento) 12%, white); color: var(--pu-acento); }
.pu-xe-icona .pu-icona { width: 20px; height: 20px; }
.pu-xe-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pu-xe-txt b { font-size: 14px; font-weight: 600; color: var(--pu-texto); }
.pu-xe-txt small { font-size: 12px; line-height: 1.4; color: var(--pu-texto-3); }
.pu-xe-txt small br { display: none; }
#boton_xerar_udi_dentro_falso { cursor: default; opacity: .6; box-shadow: none !important; border-color: var(--pu-borde) !important; }
#boton_xerar_udi_dentro_falso .pu-xe-icona { background: #EEF0F3; color: var(--pu-texto-3); }
#titulo_udi_boton { font: inherit !important; color: var(--pu-acento); font-weight: 600 !important; }

/* resultado */
.pu-xe-resultado { min-height: 320px; position: relative; font-family: var(--pu-fonte); }
.pu-xe-baleiro { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 280px; text-align: center; color: var(--pu-texto-3); }
.pu-xe-baleiro .pu-icona { width: 40px; height: 40px; color: color-mix(in srgb, var(--pu-acento) 55%, white); }
.pu-xe-baleiro b { font-size: 15px; font-weight: 600; color: var(--pu-texto-2); }
.pu-xe-baleiro span { font-size: 13px; max-width: 380px; }
.pu-xe-resultado:has(> .pu-xe-panel:not([style*="display: none"]):not([style*="display:none"])) > .pu-xe-baleiro { display: none; }
.pu-xe-panel { font: 13.5px/1.5 var(--pu-fonte); color: var(--pu-texto-2); }
.pu-xe-panel font { font-family: var(--pu-fonte) !important; }
.pu-xe-panel img[src*="loader"] { height: 22px !important; margin-right: 10px; }
.pu-xe-panel select { height: 34px; padding: 0 10px; border: 1px solid var(--pu-borde); border-radius: 9px; background: #FAFBFC; font: 13px var(--pu-fonte); color: var(--pu-texto); }
.pu-xe-panel input[type=text] { height: 34px; padding: 0 10px; border: 1px solid var(--pu-borde); border-radius: 9px; font: 13px var(--pu-fonte); }
/* tarxetas de descarga (odt / docx / pdf) */
.pu-xe-panel a { text-decoration: none; }
.pu-xe-panel a > div.esquinas_redondeadas_arriba {
	display: flex; flex-direction: column; align-items: center; gap: 0;
	width: 150px !important; margin: 0 12px 12px 0 !important; overflow: hidden;
	border: 1px solid var(--pu-borde); border-radius: 12px !important; background: #fff !important;
	transition: border-color .15s, box-shadow .15s;
}
.pu-xe-panel a > div.esquinas_redondeadas_arriba:hover { border-color: var(--pu-acento); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08); }
.pu-xe-panel a > div.esquinas_redondeadas_arriba > div:first-child { padding: 14px 10px 8px !important; }
.pu-xe-panel a > div.esquinas_redondeadas_arriba img { height: 56px !important; width: auto; }
.pu-xe-panel a > div.esquinas_redondeadas_arriba .esquinas_redondeadas_abajo {
	position: static !important; width: 100% !important; box-sizing: border-box; padding: 8px 10px 10px !important; border-radius: 0 !important;
	background: transparent !important; text-align: center;
}
.pu-xe-panel a > div.esquinas_redondeadas_arriba .esquinas_redondeadas_abajo font,
.pu-xe-panel a > div.esquinas_redondeadas_arriba .esquinas_redondeadas_abajo b { color: var(--pu-acento) !important; font: 600 11.5px/1.3 var(--pu-fonte) !important; }

/* Xerar · contido das caixas da dereita (o HTML pono funciones_php_template.js; xerar_novo.js retócao) */
.pu-xe-panel > *:first-child { margin-top: 0; }
.pu-xe-panel div[style*="float"] { float: none !important; margin-left: 0 !important; }
.pu-xe-panel div:not(.esquinas_redondeadas_abajo):not([style*="background"])[style*="clear:both"], .pu-xe-panel div:not(.esquinas_redondeadas_abajo):not([style*="background"])[style*="clear: both"] { height: 6px !important; }
/* triángulos antigos */
.pu-xe-panel div[style*="position:absolute"][style*="border-style: solid"],
.pu-xe-panel div[style*="position: absolute"][style*="border-style: solid"] { display: none !important; }
/* campos: etiqueta + despregable nunha liña */
.pu-xe-panel div:has(> select) { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 10px !important; }
.pu-xe-panel div:has(> select) > font { font: 600 13px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
.pu-xe-panel select { width: auto !important; max-width: 100%; min-width: 140px; }
.pu-xe-panel font[style*="font-size:11px"], .pu-xe-panel font[size="2"] { font-size: 13px !important; color: var(--pu-texto-2) !important; }
.pu-xe-panel input[type=checkbox] { accent-color: var(--pu-acento); margin: 3px 6px 3px 0; vertical-align: middle; }
/* botóns */
.pu-xe-panel .pu-xe-boton {
	display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px;
	min-height: 40px; margin: 4px 8px 4px 0; padding: 8px 16px; box-sizing: border-box; vertical-align: top;
	border: 1px solid var(--pu-acento); border-radius: 10px; background: var(--pu-acento); color: #fff;
	font: 600 13.5px/1.3 var(--pu-fonte); text-align: left; cursor: pointer; transition: filter .15s, box-shadow .15s;
}
.pu-xe-panel .pu-xe-boton[style*="display: none"], .pu-xe-panel .pu-xe-boton[style*="display:none"] { display: none !important; }
.pu-xe-panel .pu-xe-boton:hover { filter: brightness(1.07); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }
.pu-xe-panel .pu-xe-boton small { font-size: 11.5px; font-weight: 500; opacity: .85; }
.pu-xe-panel .pu-xe-boton-sec { background: #fff; color: var(--pu-acento); }
.pu-xe-panel .pu-xe-boton-sec:hover { background: color-mix(in srgb, var(--pu-acento) 6%, white); filter: none; }
/* textos destacados antigos en granate/azul */
.pu-xe-panel div:not([onclick]):not([style*="background"])[style*="color:#B50808"], .pu-xe-panel div:not([onclick]):not([style*="background"])[style*="color: #B50808"],
.pu-xe-panel div:not([onclick]):not([style*="background"])[style*="color:#0174DF"], .pu-xe-panel div:not([onclick]):not([style*="background"])[style*="color: #0174DF"] {
	margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--pu-borde); text-align: left !important;
	font: 600 13.5px var(--pu-fonte) !important; color: var(--pu-texto) !important;
}
.pu-xe-panel #lista_adxuntos, .pu-xe-panel #listas_control_xerar_fake { height: auto !important; max-height: 220px; overflow-y: auto; font-weight: 400; }
/* progreso (cadradiños con letras) */
.pu-xe-panel div[style*="background-color:rgb(181, 8, 8)"], .pu-xe-panel div[style*="background-color: rgb(181, 8, 8)"] {
	display: inline-flex !important; align-items: center; justify-content: center; float: none !important;
	min-width: 22px; height: 22px !important; width: auto !important; margin: 2px 4px 2px 0; padding: 0 6px !important; box-sizing: border-box;
	border-radius: 6px; background: var(--pu-acento) !important; font: 600 11px var(--pu-fonte) !important;
}
.pu-xe-panel div[style*="background-color:rgb(181, 8, 8)"]:empty { min-width: 10px; padding: 0 !important; opacity: .35; }
/* cargando */
.pu-xe-panel img[src*="loader"][align] { float: none !important; vertical-align: middle; }
.pu-xe-panel img[src*="loader"] + font { font: 14px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; vertical-align: middle; }
/* descargas en fila */
.pu-xe-panel div:has(> a > div.esquinas_redondeadas_arriba) { display: flex; flex-wrap: wrap; gap: 12px; }
.pu-xe-panel div:has(> a > div.esquinas_redondeadas_arriba) > a > div.esquinas_redondeadas_arriba { margin: 0 !important; }
.pu-xe-panel a[style*="display:none"], .pu-xe-panel a[style*="display: none"] { display: none !important; }
/* ventás flotantes antigas dentro dos xeradores (listas de control...) */
.pu-xe-panel div[id^="panel_"][style*="position:absolute"] {
	position: absolute !important; top: 40px !important; left: 50% !important; margin-left: -140px !important; width: 280px !important; height: auto !important;
	padding: 10px 12px 12px; border: 1px solid var(--pu-borde) !important; border-radius: 14px; background: #fff !important; box-shadow: 0 14px 40px rgba(0,0,0,.18); z-index: 50;
}
.pu-xe-panel div[id^="panel_"][style*="position:absolute"] font[color="white"] { color: var(--pu-texto-3) !important; font: 600 11px var(--pu-fonte) !important; }
.pu-xe-panel div[id^="panel_"][style*="position:absolute"] > div[id*="dentro"] { width: auto !important; height: auto !important; max-height: 260px; margin: 6px 0 0 !important; background: transparent !important; }
.pu-xe-panel a:not(:has(> div)) { color: var(--pu-acento); font-weight: 500; }
.pu-xe-panel a:not(:has(> div)):hover { text-decoration: underline; }

/* Xerar · todo centrado e botóns máis coidados */
.pu-xe-panel { text-align: center; }
.pu-xe-panel div:not([onclick]):not([style*="background"])[style*="color:#B50808"],
.pu-xe-panel div:not([onclick]):not([style*="background"])[style*="color:#0174DF"] { text-align: center !important; }
.pu-xe-panel div:has(> select) { justify-content: center; }
.pu-xe-panel > select, .pu-xe-panel center > select, .pu-xe-panel div > select { max-width: 360px !important; }
.pu-xe-panel center { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.pu-xe-panel center > div[style*="clear"] { display: none; }
.pu-xe-panel div:has(> a > div.esquinas_redondeadas_arriba) { justify-content: center; }
.pu-xe-panel img[src*="loader"] + font { text-align: left; }
/* botóns: tamén os que aínda non retocou xerar_novo.js (só CSS) */
.pu-xe-panel div[onclick][style*="background-color"]:not(.pu-xe-boton),
.pu-xe-panel .pu-xe-boton {
	display: inline-flex !important; flex-direction: column; align-items: center !important; justify-content: center; gap: 2px;
	width: auto !important; min-width: 220px; max-width: 100%; min-height: 44px; height: auto !important;
	margin: 6px auto !important; padding: 10px 22px !important; box-sizing: border-box; float: none !important;
	border: 0 !important; border-radius: 12px !important;
	background: linear-gradient(180deg, color-mix(in srgb, var(--pu-acento) 88%, white), var(--pu-acento)) !important;
	color: #fff !important; font: 600 14px/1.3 var(--pu-fonte) !important; text-align: center !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 4px 12px color-mix(in srgb, var(--pu-acento) 25%, transparent);
	cursor: pointer; transition: transform .12s, box-shadow .15s, filter .15s;
}
.pu-xe-panel div[onclick][style*="background-color"]:not(.pu-xe-boton):hover,
.pu-xe-panel .pu-xe-boton:hover { filter: brightness(1.06); transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 8px 20px color-mix(in srgb, var(--pu-acento) 30%, transparent); }
.pu-xe-panel .pu-xe-boton:active { transform: translateY(0); }
.pu-xe-panel .pu-xe-boton > span { display: inline-flex; align-items: center; gap: 8px; }
.pu-xe-panel .pu-xe-boton > span::before {
	content: ""; width: 16px; height: 16px; flex-shrink: 0; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M9 14l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pu-xe-panel .pu-xe-boton small { font-size: 11.5px; font-weight: 500; opacity: .9; color: #fff; }
.pu-xe-panel .pu-xe-boton-sec { background: #fff !important; color: var(--pu-acento) !important; border: 1px solid var(--pu-acento) !important; box-shadow: none; }
.pu-xe-panel .pu-xe-boton-sec small { color: var(--pu-acento); }
.pu-xe-panel .pu-xe-boton[style*="display: none"], .pu-xe-panel .pu-xe-boton[style*="display:none"],
.pu-xe-panel div[onclick][style*="display: none"], .pu-xe-panel div[onclick][style*="display:none"] { display: none !important; }

/* Xerar · indicador de progreso (cadradiños que se van engadindo): unha barra continua */
.pu-xe-panel div[style*="background-color:rgb(181, 8, 8)"], .pu-xe-panel div[style*="background-color: rgb(181, 8, 8)"] {
	display: inline-flex !important; vertical-align: middle; height: 26px !important; min-width: 22px; margin: 6px 0 !important; padding: 0 8px !important;
	border-radius: 0 !important; opacity: 1 !important; background: var(--pu-acento) !important; color: #fff !important;
	font: 600 11px/26px var(--pu-fonte) !important; letter-spacing: .03em;
}
.pu-xe-panel div[style*="background-color:rgb(181, 8, 8)"]:empty, .pu-xe-panel div[style*="background-color: rgb(181, 8, 8)"]:empty {
	min-width: 18px; padding: 0 !important; opacity: 1 !important; background: color-mix(in srgb, var(--pu-acento) 75%, white) !important;
}
.pu-xe-panel br + div[style*="background-color:rgb(181, 8, 8)"], .pu-xe-panel br + div[style*="background-color: rgb(181, 8, 8)"] { border-radius: 8px 0 0 8px !important; }
.pu-xe-panel div[style*="width:150px"][style*="rgb(181, 8, 8)"] { border-radius: 0 8px 8px 0 !important; padding: 0 14px !important; }

/* Xerar · tarxetas de descarga do mesmo tamaño e ben aliñadas */
.pu-xe-panel a > div.esquinas_redondeadas_arriba { height: auto !important; min-height: 150px; justify-content: flex-start; vertical-align: top; }
.pu-xe-panel a > div.esquinas_redondeadas_arriba .esquinas_redondeadas_abajo { height: auto !important; flex: 1; display: flex; align-items: center; justify-content: center; }
.pu-xe-panel a > div.esquinas_redondeadas_arriba > div:first-child { height: auto !important; }
.pu-xe-panel div:has(> a > div.esquinas_redondeadas_arriba) { align-items: stretch; margin-bottom: 12px; }
.pu-xe-panel div:has(> a > div.esquinas_redondeadas_arriba) > a { display: flex; }
.pu-xe-panel div:has(> a > div.esquinas_redondeadas_arriba) > br { display: none; }
/* progreso agrupado nunha barra (xerar_novo.js) */
.pu-xe-progreso { display: inline-flex; align-items: stretch; margin: 10px auto; border-radius: 8px; overflow: hidden; vertical-align: middle; }
.pu-xe-progreso > div { margin: 0 !important; border-radius: 0 !important; }
/* botóns de texto longo: filas (tarxeta) */
.pu-xe-panel .pu-xe-boton.pu-xe-boton-fila {
	display: flex !important; flex-direction: column; align-items: flex-start !important; width: 100% !important; max-width: 640px; min-width: 0;
	margin: 8px auto !important; padding: 12px 44px 12px 16px !important; position: relative;
	background: #fff !important; color: var(--pu-texto) !important; border: 1px solid var(--pu-borde) !important; border-left: 3px solid var(--pu-acento) !important;
	box-shadow: none; text-align: left !important; font: 600 13.5px/1.35 var(--pu-fonte) !important;
}
.pu-xe-panel .pu-xe-boton.pu-xe-boton-fila:hover { border-color: var(--pu-acento) !important; background: color-mix(in srgb, var(--pu-acento) 4%, white) !important; filter: none; transform: none; box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.pu-xe-panel .pu-xe-boton.pu-xe-boton-fila > span { color: var(--pu-texto); }
.pu-xe-panel .pu-xe-boton.pu-xe-boton-fila > span::before { color: var(--pu-acento); }
.pu-xe-panel .pu-xe-boton.pu-xe-boton-fila small { margin-left: 24px; color: var(--pu-texto-3); font-weight: 500; }
.pu-xe-panel .pu-xe-boton.pu-xe-boton-fila::after {
	content: "›"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font: 400 22px var(--pu-fonte); color: var(--pu-acento);
}
.pu-xe-progreso { border-radius: 9px !important; isolation: isolate; }
/* filas: dúas seguidas na mesma liña tamén van unha debaixo da outra */
.pu-xe-panel .pu-xe-boton.pu-xe-boton-fila { width: min(640px, 100%) !important; }
.pu-xe-panel .pu-xe-boton-sec.pu-xe-boton-fila { border-left-color: var(--pu-acento) !important; }
/* descargas: salto de fila antes dos anexos (xerar_novo.js) */
.pu-xe-panel .pu-xe-salto { flex-basis: 100%; height: 0 !important; margin: 0 !important; }

/* textos de dúas partes (p. ex. CSV + codificación): unha debaixo da outra */
.pu-xe-panel a > div.esquinas_redondeadas_arriba .esquinas_redondeadas_abajo { flex-direction: column; gap: 3px; }
.pu-xe-panel a > div.esquinas_redondeadas_arriba .esquinas_redondeadas_abajo font[size="1"] { font: 500 10px/1.3 var(--pu-fonte) !important; color: var(--pu-texto-3) !important; }
.pu-xe-panel a > div.esquinas_redondeadas_arriba .esquinas_redondeadas_abajo font[size="1"] br { display: none; }
/* Xerar · listas con viñetas dentro das caixas (p. ex. avisos da ACS): bloque centrado, texto á esquerda */
.pu-xe-panel ul { display: inline-block; max-width: 560px; margin: 8px auto 4px; padding: 0 0 0 20px; text-align: left; }
.pu-xe-panel ul li { margin: 3px 0; padding-left: 2px; line-height: 1.45; }
.pu-xe-panel ul li::marker { color: var(--pu-acento); }
.pu-xe-panel .pu-xe-descargas { margin-top: 14px; }

/* Alumnado · xerar ficha / anecdotario / reunións: ventá no medio da pantalla, coma no Diario */
#panel_xerar_ficha.pu-modal, #panel_xerar_anecdotario.pu-modal {
	position: fixed !important; inset: 0 !important; top: 0 !important; left: 0 !important; margin: 0 !important;
	width: auto !important; height: auto !important; padding: 20px !important; border: 0 !important; border-radius: 0 !important;
	background: rgba(20, 24, 30, 0.45) !important; box-shadow: none !important; z-index: 99995 !important;
	--pu-modal-cor: var(--pu-alumnado);
}
.pu-al-modal .pu-modal-caixa { width: min(520px, 100%); }
.pu-al-modal .pu-di-xerar { justify-content: center; text-align: center; }
.pu-al-modal .pu-di-xerar > a > div:hover { border-color: var(--pu-alumnado); }
.pu-al-modal .pu-di-xerar center { display: block; width: 100%; }
.pu-al-modal #panel_xerar_ficha_dentro div[onclick] {
	display: inline-flex !important; align-items: center; justify-content: center; flex-direction: column; min-width: 240px;
	margin: 6px auto 0 !important; padding: 10px 18px !important; border-radius: 10px !important;
	background: var(--pu-alumnado) !important; color: #fff !important; font: 600 13.5px/1.35 var(--pu-fonte) !important; cursor: pointer;
}
.pu-al-modal #panel_xerar_ficha_dentro div[onclick]:hover { filter: brightness(1.06); }
.pu-al-modal #panel_xerar_ficha_dentro input[type=checkbox] { accent-color: var(--pu-alumnado); vertical-align: middle; margin-right: 6px; }
.pu-al-modal #panel_xerar_ficha_dentro font[size="1"] { font: 13px var(--pu-fonte) !important; color: var(--pu-texto-2) !important; }
.pu-al-modal img[src*="loader"] { float: none !important; vertical-align: middle; height: 16px; margin-right: 6px; }

/* UD-UDIs · avaliación: descargas das listas de control coma tarxetas (igual ca no resto) */
[id^="panel_listas_control_dentro"]:has(> a > div) { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; align-items: center; padding: 6px 0; }
[id^="panel_listas_control_dentro"] > a { text-decoration: none; }
[id^="panel_listas_control_dentro"] > a > div {
	display: flex; align-items: center; justify-content: center; float: none !important;
	width: 72px !important; height: 72px; margin: 0 !important; box-sizing: border-box;
	border: 1px solid var(--pu-borde); border-radius: 12px !important; background: #fff !important;
	transition: border-color .15s, box-shadow .15s;
}
[id^="panel_listas_control_dentro"] > a > div:hover { border-color: var(--pu-acento); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); }
[id^="panel_listas_control_dentro"] > a > div > div { padding: 0 !important; }
[id^="panel_listas_control_dentro"] > a > div img { display: block; height: 44px !important; width: auto; max-width: 54px; object-fit: contain; }
[id^="panel_listas_control_dentro"] img[src*="loader"] { float: none !important; height: 16px !important; vertical-align: middle; margin-right: 6px; }


/* crear unha UDI coa IA: formulario único (udis_novo.js) */
.pu-udi-ia { display: flex; flex-direction: column; gap: 6px; }
.pu-udi-ia label { margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--pu-texto-2); }
.pu-udi-ia label span { font-weight: 400; color: var(--pu-texto-3); }
.pu-udi-ia .pu-campo { width: 100%; box-sizing: border-box; }
.pu-udi-ia textarea.pu-campo { min-height: 100px; padding: 10px 12px !important; line-height: 1.45; resize: vertical; font-family: var(--pu-fonte); }
.pu-udi-ia .pu-campo-erro { border-color: #C8323C !important; box-shadow: 0 0 0 3px rgba(200, 50, 60, .12); }
.pu-udi-ia-nota { margin: 6px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--pu-texto-3); }
.pu-udi-ia-botons { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }

/* avaliar coa IA (avaliacion_novo.js) */
.pu-av-chip-ia { border: 1px solid color-mix(in srgb, var(--pu-udis) 40%, white) !important; background: #fff; color: var(--pu-udis) !important; cursor: pointer; }
.pu-av-chip-ia:hover { background: color-mix(in srgb, var(--pu-udis) 7%, white); }
.pu-avia { display: flex; flex-direction: column; gap: 12px; max-height: 75vh; overflow-y: auto; }
.pu-avia-aspecto { border: 1px solid var(--pu-borde); border-radius: 12px; padding: 12px 14px; background: var(--pu-fondo); }
.pu-avia-aspecto-nome { margin-bottom: 8px; font-weight: 700; font-size: 14px; color: var(--pu-texto); text-transform: none; }
.pu-avia-aspecto-nome::first-letter { text-transform: uppercase; }
.pu-avia-sen { font-size: 13px; color: var(--pu-texto-3); font-style: italic; }
.pu-avia-crit { margin-top: 8px; padding: 10px 12px; border: 1px solid var(--pu-borde); border-radius: 10px; background: #fff; }
.pu-avia-crit.pu-avia-off .pu-avia-campos { display: none; }
.pu-avia-check { display: flex; align-items: flex-start; gap: 8px; margin: 0 !important; font-size: 13.5px !important; font-weight: 400 !important; color: var(--pu-texto) !important; cursor: pointer; }
.pu-avia-check input { margin-top: 3px; }
.pu-avia-nota { margin: 4px 0 0 24px; font-size: 12px; color: #9A6B00; }
.pu-avia-aviso { font-size: 12px; color: #9A6B00; }
.pu-avia-campos { margin: 8px 0 0 24px; display: flex; flex-direction: column; gap: 6px; }
.pu-avia-campos label { display: flex; flex-direction: column; gap: 3px; margin: 0 !important; font-size: 12px !important; font-weight: 600; color: var(--pu-texto-2); }
.pu-avia-campos .pu-campo { width: 100%; box-sizing: border-box; font: 13px/1.4 var(--pu-fonte); padding: 6px 9px !important; }
.pu-avia-rubrica { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
@media (max-width: 640px) { .pu-avia-rubrica { grid-template-columns: 1fr; } }

/* crear unha UDI coa IA desde a app (editar_udi.php?que=crear_udi_ia) */
.pu-app-udi-ia { position: absolute; inset: 0; z-index: 50; padding: 18px 16px 24px; box-sizing: border-box; overflow-y: auto; background: #fff; font-family: var(--pu-fonte); text-align: left; }
.pu-app-udi-ia[style*="display: none"], .pu-app-udi-ia[style*="display:none"] { display: none !important; }
.pu-app-udi-ia-cab { margin-bottom: 8px; font-size: 19px; font-weight: 700; color: var(--pu-udis); }
.pu-app-udi-ia .pu-campo { font-size: 16px; }
.pu-app-udi-ia textarea.pu-campo { min-height: 120px; padding: 10px 12px !important; line-height: 1.45; resize: vertical; }
.pu-app-udi-ia-pe { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.pu-app-udi-ia-pe .pu-boton { margin-left: auto; }

/* contador de usos da IA ao lado dos botóns de IA (só na app, onde non hai cabeceira) */
.pu-usos-ia.pu-usos-ia-app { height: 30px; padding: 0 10px; margin-left: 6px; font-size: 12.5px; vertical-align: middle; }
.pu-usos-ia.pu-usos-ia-app svg { width: 14px; height: 14px; }

/* botón "Borrar" (diario de clase e cartafoles) */
.pu-boton-borrar { display: inline-flex; align-items: center; justify-content: center; background: #fff !important; color: #B42318 !important; border: 1px solid #F0C4BF !important; border-radius: 9px; cursor: pointer; font-weight: 600; }
.pu-boton-borrar:hover { background: #FDF1F0 !important; }
.pu-di-borrar { margin-left: 20px; height: 26px !important; font-size: 12px !important; }
.pu-cf-nome-botons { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.pu-cf-nome-botons #boton_ok_gardar_nome { margin: 0 !important; }
.pu-cf-nome-botons .pu-boton-borrar { height: 32px; }
.pu-an-borrar { margin-left: auto; height: 26px !important; font-size: 12px !important; }
/* diario: fila "Resaltar" (esquerda) + "Borrar" (dereita) */
.pu-di-borrar-fila { display: flex; align-items: center; gap: 10px; clear: both; margin: 0 0 14px; }
.pu-di-borrar-fila .pu-di-borrar { margin-left: auto; }
.pu-di-resaltar { display: flex; align-items: center; gap: 4px; }
.pu-di-resaltar-etq { margin-right: 4px; font: 600 11px var(--pu-fonte); color: var(--pu-texto-3); }
.pu-di-resaltar > div[title^="destacar"], .pu-di-resaltar > div[title="non destacar"] {
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	border: 1px solid var(--pu-borde);
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}
.pu-di-resaltar > div input { position: absolute; inset: 0; width: 100%; height: 100% !important; margin: 0; opacity: 0; cursor: pointer; }
.pu-di-resaltar > div:has(input:checked) { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pu-texto-2); }
.pu-di-borrar-dereita { float: right; margin: 0 0 10px 10px !important; }
/* Xestión de tipos: "Gardar" e "Borrar" xuntos na segunda columna */
:is(.pu-pc-fila, .pu-pl-celda) [id^="caixa_tipos_agrupar_dentro_"] > div.pu-tipo-botons { display: flex; gap: 6px; padding: 0 !important; background: none !important; }
.pu-tipo-botons > div[id^="boton_gardar_tipo_editar_"] {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 7px 12px !important;
	border: 1px solid var(--pu-borde) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--pu-texto-2) !important;
	font: 600 12px var(--pu-fonte) !important;
	text-transform: lowercase;
	text-align: center;
	cursor: pointer;
}
.pu-tipo-botons > div[id^="boton_gardar_tipo_editar_"]::first-letter { text-transform: uppercase; }
.pu-tipo-botons .pu-boton-borrar { height: auto !important; padding: 7px 12px !important; font-size: 12px !important; border-radius: 8px !important; }
/* ACS: o botón Borrar só cando se ve "Cambiar nome"; o aviso baleiro non ocupa sitio */
#boton_cambiar_identificador[style*="display:none"] + #pu_borrar_identificador,
#boton_cambiar_identificador[style*="display: none"] + #pu_borrar_identificador { display: none; }
#texto_aviso_borrar_identificador:empty { display: none !important; }
/* exercicios: icona de borrar sempre en vermello */
.pu-ex-boton.pu-ex-borrar { color: #C0392B; }
.pu-ex-boton.pu-ex-borrar:hover { background: #FCEBEA; color: #A93226; }
/* exercicios: a papeleira de borrar en vermello */
.pu-ex-boton.pu-ex-borrar { color: #B42318; }
/* Xestión de tipos: papeleira no canto da palabra Borrar */
.pu-tipo-botons .pu-boton-borrar-icona { padding: 6px 8px !important; }
.pu-boton-borrar-icona .pu-icona { width: 16px; height: 16px; color: #B42318; }
/* diario: "Engadir como substitución por falta" e "Borrar" do mesmo alto, xuntos á dereita */
.pu-di-panel-caixa font[onclick] { display: inline-flex !important; align-items: center; height: 26px; box-sizing: border-box; padding: 0 10px !important; }
.pu-di-borrar-dereita { float: right; height: 26px !important; box-sizing: border-box; margin: 0 0 6px 8px !important; }
/* diario, editar exercicio: Resaltar (esquerda) e Gardar (dereita) debaixo das etiquetas */
.pu-di-fila-gardar { margin: 18px 0 0 !important; }
.pu-di-panel-caixa .pu-di-fila-gardar > div[id^="gardar_exercicio_diario_"] { margin: 0 0 0 auto !important; }
/* semana: "Borrar semana" co mesmo alto ca Compartir */
#pu_borrar_semana { height: 32px !important; border-radius: 16px !important; padding: 0 12px !important; box-sizing: border-box; }
/* gardar cambios do exercicio á dereita de todo (gaña á regra do botón principal centrado) */
.pu-di-panel-caixa .pu-di-fila-gardar > div[id^="gardar_exercicio_diario_"][onclick][style] { margin: 0 0 0 auto !important; }
/* "Engadir como substitución" e "Borrar" un pouco máis arriba */
.pu-di-panel-caixa font[onclick], .pu-di-panel-caixa .pu-di-borrar-dereita { position: relative; top: -6px; }
/* diario: a opción "Plantilla" de cada exercicio / sen clase xa non se usa (agora é toda a semana) */
div:has(> input[id^="nova_plantilla_"]),
div:has(> input[id^="sen_clase_plantilla_"]) { display: none !important; }
/* diario, crear e editar exercicio / sen clase: "Plantilla" xa non se amosa (agora vai por semana);
   o check segue no seu sitio, oculto, porque o gardado le o seu valor */
.pu-di-panel-caixa div:has(> input[id^="nova_plantilla_"]),
.pu-di-panel-caixa div:has(> input[id^="sen_clase_plantilla_"]) { display: none !important; }
/* equipos: papeleira xunto a "Cambiar" */
.pu-eq-borrar { height: auto !important; padding: 5px 7px !important; border-radius: 8px !important; margin-left: 6px; }


/* botóns de área con tipo (optativa, opción, libre elección): fondo neutro e unha banda de cor fina debaixo das iniciais.
   O lugar xa o marca a cor en liña de funciones.js (fondo_tipo_materia / estilo_tipo_area); o seleccionado (white) non entra aquí */
.pu-pastillas > div[style*="208, 245, 169"], .pu-pastillas > div[style*="#D0F5A9"],
.pu-co-area[style*="208, 245, 169"], .pu-co-area[style*="#D0F5A9"] {
	background: linear-gradient(#8CCB55, #8CCB55) left bottom / 100% 3px no-repeat padding-box, var(--pu-fondo) !important;
}
.pu-ac-panel-areas > div[style*="208, 245, 169"], .pu-ac-panel-areas > div[style*="#D0F5A9"] {
	background: linear-gradient(#8CCB55, #8CCB55) left bottom / 100% 3px no-repeat padding-box, #fff !important; border-color: var(--pu-borde);
}
.pu-pastillas > div[style*="247, 211, 88"], .pu-pastillas > div[style*="#F7D358"],
.pu-co-area[style*="247, 211, 88"], .pu-co-area[style*="#F7D358"] {
	background: linear-gradient(#E6BE2E, #E6BE2E) left bottom / 100% 3px no-repeat padding-box, var(--pu-fondo) !important;
}
.pu-ac-panel-areas > div[style*="247, 211, 88"], .pu-ac-panel-areas > div[style*="#F7D358"] {
	background: linear-gradient(#E6BE2E, #E6BE2E) left bottom / 100% 3px no-repeat padding-box, #fff !important; border-color: var(--pu-borde);
}
.pu-pastillas > div[style*="247, 190, 129"], .pu-pastillas > div[style*="#F7BE81"],
.pu-co-area[style*="247, 190, 129"], .pu-co-area[style*="#F7BE81"] {
	background: linear-gradient(#EE9F4E, #EE9F4E) left bottom / 100% 3px no-repeat padding-box, var(--pu-fondo) !important;
}
.pu-ac-panel-areas > div[style*="247, 190, 129"], .pu-ac-panel-areas > div[style*="#F7BE81"] {
	background: linear-gradient(#EE9F4E, #EE9F4E) left bottom / 100% 3px no-repeat padding-box, #fff !important; border-color: var(--pu-borde);
}
/* opción que tamén pode ser optativa: banda metade laranxa, metade verde (vai despois porque o degradado leva tamén o verde) */
.pu-pastillas > div[style*="linear-gradient"], .pu-co-area[style*="linear-gradient"] {
	background: linear-gradient(90deg, #EE9F4E 50%, #8CCB55 50%) left bottom / 100% 3px no-repeat padding-box, var(--pu-fondo) !important;
}
.pu-ac-panel-areas > div[style*="linear-gradient"] {
	background: linear-gradient(90deg, #EE9F4E 50%, #8CCB55 50%) left bottom / 100% 3px no-repeat padding-box, #fff !important; border-color: var(--pu-borde);
}
/* lenda do pé: a mostra tamén como banda */
.pu-pe-chip i { width: 14px; height: 4px; border-radius: 2px; }
.pu-pe-chip i[style*="#D0F5A9"] { background: #8CCB55 !important; }
.pu-pe-chip i[style*="#F7BE81"] { background: #EE9F4E !important; }
.pu-pe-chip i[style*="#F7D358"] { background: #E6BE2E !important; }

/* cartafoles: "Só os non traballados" un pouco máis abaixo */
.pu-cf-non-traballados { position: relative; top: 5px; }

/* NOVO — diario: seleccionar varias sesións (diario_novo.js, window.puDiSeleccion) */
#pu_sel_varias { height: 32px !important; border-radius: 16px !important; padding: 0 12px !important; box-sizing: border-box; }
#pu_sel_varias.pu-on { background: var(--pu-acento) !important; border-color: var(--pu-acento) !important; color: #fff !important; }
.pu-di-seleccion .pu-di-sesion-botons { visibility: hidden; }
.pu-di-seleccion .pu-di-sesion { cursor: pointer; }
.pu-di-sel-item { position: relative !important; cursor: pointer !important; }
.pu-di-sel-item::before {
	content: ""; position: absolute; left: 7px; top: 8px; width: 15px; height: 15px; box-sizing: border-box;
	border: 2px solid #9AA0A6; border-radius: 50%; background: #fff; z-index: 2;
}
.pu-di-sel-item.pu-di-sel { outline: 2px solid var(--pu-acento); outline-offset: -2px; border-radius: 8px; }
.pu-di-sel-item.pu-di-sel::before { border-color: var(--pu-acento); background: var(--pu-acento); box-shadow: inset 0 0 0 3px #fff; }
.pu-di-barra-sel {
	position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 99990;
	display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 14px;
	background: #fff; border: 1px solid var(--pu-borde); box-shadow: 0 8px 28px rgba(0,0,0,.18);
	font: 500 13px var(--pu-fonte); color: var(--pu-texto-2); white-space: nowrap;
}
.pu-di-barra-sel-txt { margin-right: 4px; }
.pu-di-barra-sel .pu-desactivado { opacity: .4; pointer-events: none; }
.pu-di-sel-lugar { display: flex; justify-content: flex-end; }
#pu_sel_varias { display: inline-flex; align-items: center; gap: 6px; }
#pu_sel_varias .pu-icona { width: 16px; height: 16px; }
/* mover a outra semana: lista de semanas */
.pu-di-mover .pu-modal-caixa { width: min(460px, 100%); }
.pu-di-mover-lista { display: flex; flex-direction: column; gap: 6px; max-height: 55vh; overflow-y: auto; }
.pu-di-mover-semana { padding: 10px 12px; border: 1px solid var(--pu-borde); border-radius: 10px; cursor: pointer; font: 500 13px var(--pu-fonte); color: var(--pu-texto-2); }
.pu-di-mover-semana:hover { border-color: var(--pu-acento); color: var(--pu-acento); }
.pu-di-mover-baleiro { font: 13px var(--pu-fonte); color: var(--pu-texto-3); }
.pu-di-semana > .pu-di-notas > #pu_sel_varias { font: 500 12.5px var(--pu-fonte) !important; font-style: normal !important; margin-top: 4px; }
/* botón branco con bordo (coma «Borrar», pero en gris): «Seleccionar varias», «Mover a outra semana», «Cancelar» */
.pu-boton-borde { background: #fff !important; color: var(--pu-texto-2) !important; border: 1px solid var(--pu-borde) !important; border-radius: 9px; cursor: pointer; font-weight: 600; }
.pu-boton-borde:hover { border-color: var(--pu-acento) !important; color: var(--pu-acento) !important; }
#pu_sel_varias.pu-on { color: #fff !important; }
/* «Mover a outra semana» na cor do diario (fucsia) e máis espazo antes de «Cancelar» */
.pu-boton-borde.pu-di-boton-mover { color: var(--pu-diario) !important; border-color: color-mix(in srgb, var(--pu-diario) 45%, white) !important; }
.pu-boton-borde.pu-di-boton-mover:hover { background: color-mix(in srgb, var(--pu-diario) 8%, white) !important; border-color: var(--pu-diario) !important; }
.pu-di-barra-sel .pu-di-barra-cancelar { margin-left: 14px; }
/* círculo de selección arriba á dereita da sesión e «Cancelar» aínda máis separado */
.pu-di-sel-item { padding-right: 26px !important; }
.pu-di-sel-item::before { left: auto !important; right: 7px; top: 7px; }
.pu-di-barra-sel .pu-di-barra-cancelar { margin-left: 32px; }

/* desde UDI-UD: o botón verde dos exercicios ("+ ENGADIR") só co "+", coma o das actividades */
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas[onclick][id^="boton_engadir_desde_udi_3_"]:not([id*="toda_actividade"]) { font-size: 0 !important; line-height: 0 !important; }
.pu-di-panel-udi .pu-di-panel-caixa > div.esquinas_redondeadas[onclick][id^="boton_engadir_desde_udi_3_"]:not([id*="toda_actividade"])::before { content: "+"; font: 600 14px/1.3 var(--pu-fonte); }
.pu-di-panel-udi .pu-di-panel-caixa > div[id^="boton_engadir_desde_udi_3_"] img { height: 14px; vertical-align: middle; }
