.pga-grupos{
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid var(--pp-border);
}

.pga-grupos-list{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 16px;
}

.pga-grupo-card{
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	padding: 10px 14px;
}

.pga-grupo-info{
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	flex: 1 1 auto;
}

.pga-grupo-actions{
	display: flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	margin-left: 12px;
}

.pga-grupo-meta-row{
	display: flex;
	gap: 10px;
}

.pga-grupo-meta{
	font-size: 12px;
	color: var(--pp-text-dim);
}

.pga-grupo-delete{
	background: none;
	border: 1px solid var(--pp-border);
	color: var(--pp-text-dim);
	width: 28px;
	height: 28px;
	border-radius: 8px;
	cursor: pointer;
	flex-shrink: 0;
	font-size: 13px;
	line-height: 1;
}
.pga-grupo-delete:hover{
	color: #ff9b9b;
	border-color: #ff5a5a;
}

.pga-grupo-form-row{
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pga-grupo-form-row input{
	flex: 1;
	min-width: 140px;
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	color: var(--pp-text);
	padding: 9px 11px;
	border-radius: 8px;
	font-size: 13px;
}
.pga-grupo-form-row input:focus{
	outline: none;
	border-color: var(--pp-accent);
}

.pga-grupo-form-row .pp-btn{
	width: auto;
	flex: 0 0 auto;
	padding: 9px 18px;
}

.pga-msg-holder{
	margin-top: 8px;
}
.pga-msg-holder:empty{
	margin-top: 0;
}

.pga-grupo-item{
	display: block;
}

.pga-gestionar-btn{
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--pp-border);
	border-radius: 9px;
	background: transparent;
	color: var(--pp-text);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	flex-shrink: 0;
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.pga-gestionar-btn:hover,
.pga-gestionar-btn:focus-visible{
	border-color: var(--pp-accent);
	background: color-mix(in srgb, var(--pp-accent) 10%, transparent);
	outline: none;
}
.pga-gestionar-btn:active{
	transform: scale(.96);
}

@media (max-width: 520px){
	.pga-grupo-card{
		padding: 10px 10px 10px 12px;
	}
	.pga-grupo-actions{
		gap: 6px;
		margin-left: 8px;
	}
	.pga-gestionar-btn,
	.pga-grupo-delete{
		width: 32px;
		height: 32px;
	}
}

/* ---------- Ficha del grupo ---------- */

.pga-volver{
	margin-bottom: 14px;
	padding: 6px 12px;
	font-size: 12.5px;
	width: auto;
}

.pga-detalle-section{
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--pp-border);
}
.pga-detalle-section:first-of-type{
	margin-top: 18px;
	padding-top: 0;
	border-top: none;
}

.pga-detalle-section h4{
	margin: 0 0 12px;
	font-size: 14px;
}

.pga-asig-list, .pga-alumnos-list{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 12px;
}

.pga-asig-row, .pga-alumno-row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	padding: 9px 12px;
	font-size: 13px;
}

.pga-asig-info{
	display: flex;
	align-items: center;
	gap: 8px;
}

.pga-asig-codigo{
	font-family: monospace;
	font-size: 11.5px;
	color: var(--pp-text-dim);
	background: var(--pp-bg-soft);
	border: 1px solid var(--pp-border);
	border-radius: 6px;
	padding: 2px 6px;
}

.pga-asig-actual{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	color: var(--pp-text-dim);
}

.pga-asig-form{
	display: flex;
	gap: 6px;
}

.pga-asig-form input{
	background: var(--pp-bg-soft);
	border: 1px solid var(--pp-border);
	color: var(--pp-text);
	padding: 6px 9px;
	border-radius: 7px;
	font-size: 12.5px;
	width: 160px;
}
.pga-asig-form input:focus{
	outline: none;
	border-color: var(--pp-accent);
}

.pga-mini-btn{
	background: var(--pp-accent);
	color: #fff;
	border: none;
	padding: 6px 12px;
	border-radius: 7px;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}
.pga-mini-btn:hover{ filter: brightness(1.08); }

button[data-pga-quitar-profesor].pga-mini-btn,
button[data-pga-dar-baja].pga-mini-btn{
	background: transparent;
	border: 1px solid var(--pp-border);
	color: var(--pp-text-dim);
}
button[data-pga-quitar-profesor].pga-mini-btn:hover,
button[data-pga-dar-baja].pga-mini-btn:hover{
	color: #ff9b9b;
	border-color: #ff5a5a;
}

/* ---------- Paneles ALUMNOS / PROFESORES ---------- */

.pga-top-section{
	margin-bottom: 30px;
}
.pga-top-section:last-child{
	margin-bottom: 0;
}

.pga-nivel-block{
	margin-bottom: 20px;
}

.pga-nivel-block-title{
	font-size: 13px;
	color: var(--pp-text-dim);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0 0 8px;
}

.pga-grupo-resumen{
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	padding: 10px 14px;
	margin-bottom: 8px;
}

.pga-grupo-resumen-title{
	font-weight: 600;
	font-size: 13.5px;
	margin-bottom: 6px;
}

.pga-alumnos-inline{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: 12.5px;
	color: var(--pp-text-dim);
}

.pga-directo-form .pga-directo-row{
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pga-directo-form input,
.pga-directo-form select{
	flex: 1;
	min-width: 150px;
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	color: var(--pp-text);
	padding: 9px 11px;
	border-radius: 8px;
	font-size: 13px;
}
.pga-directo-form input:focus,
.pga-directo-form select:focus{
	outline: none;
	border-color: var(--pp-accent);
}
.pga-directo-form select:disabled{
	opacity: .5;
}

.pga-directo-form .pp-btn{
	width: auto;
	flex: 0 0 auto;
	padding: 9px 18px;
}

/* ---------- Pestañas internas (Matriculados/Nueva matrícula, Asignados/Nueva asignación) ---------- */

.pga-subtabs{
	display: flex;
	gap: 6px;
	margin: 4px 0 20px;
	border-bottom: 1px solid var(--pp-border);
}

.pga-subtab{
	background: none;
	border: none;
	color: var(--pp-text-dim);
	padding: 10px 4px;
	margin-right: 18px;
	cursor: pointer;
	font-size: 14px;
	border-bottom: 2px solid transparent;
}
.pga-subtab.is-active{
	color: var(--pp-text);
	border-bottom-color: var(--pp-accent);
}

.pga-subtab-panel{
	display: none;
}
.pga-subtab-panel.is-active{
	display: block;
}

/* ---------- Tabla profesional (matriculados / asignados) ---------- */

.pga-tabla-matriculados{
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.pga-tabla-matriculados th,
.pga-tabla-matriculados td{
	padding: 9px 10px;
	border-bottom: 1px solid var(--pp-border);
	text-align: left;
}

.pga-tabla-matriculados thead th{
	color: var(--pp-text-dim);
	font-weight: 600;
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.pga-tabla-matriculados tbody tr:hover{
	background: var(--pp-bg);
}

.pga-user-pill{
	font-family: monospace;
	font-size: 11.5px;
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	border-radius: 6px;
	padding: 2px 7px;
}

/* ---------- Formulario formal de nueva matrícula ---------- */

.pga-form-section{
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--pp-border);
}
.pga-form-section:last-of-type{
	border-bottom: none;
}

.pga-form-section h4{
	margin: 0 0 12px;
	font-size: 13.5px;
	color: var(--pp-text-dim);
	text-transform: uppercase;
	letter-spacing: .03em;
}

.pga-form-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
}

.pga-form-grid .pp-field{
	margin-bottom: 0;
}

.pp-field-full{
	grid-column: 1 / -1;
}

@media (max-width: 640px){
	.pga-form-grid{
		grid-template-columns: 1fr;
	}
}

/* ---------- Filas de asignación (alta de profesor) ---------- */

.pga-filas-holder{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 12px;
}

.pga-asignacion-fila{
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.pga-asignacion-fila select{
	flex: 1;
	min-width: 130px;
	background: var(--pp-bg);
	border: 1px solid var(--pp-border);
	color: var(--pp-text);
	padding: 8px 10px;
	border-radius: 8px;
	font-size: 12.5px;
}
.pga-asignacion-fila select:focus{
	outline: none;
	border-color: var(--pp-accent);
}
.pga-asignacion-fila select:disabled{
	opacity: .5;
}

.pga-fila-quitar{
	background: transparent;
	border: 1px solid var(--pp-border);
	color: var(--pp-text-dim);
	width: 32px;
	height: 32px;
	border-radius: 8px;
	cursor: pointer;
	flex-shrink: 0;
	font-size: 13px;
}
.pga-fila-quitar:hover{
	color: #ff9b9b;
	border-color: #ff5a5a;
}

[data-pga-add-fila]{
	margin-top: 4px;
	width: auto;
	padding: 8px 14px;
	font-size: 12.5px;
}

/* =========================================================
 *  v1.3 · Configuración académica por grupo
 * ========================================================= */
.pga-level-heading{
	display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;
}
.pga-level-heading .ppc-malla-title{margin:0;}
.pga-count-pill{
	display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--pp-border);border-radius:999px;
	font-size:11.5px;color:var(--pp-text-dim);white-space:nowrap;background:var(--pp-bg-soft);
}
.pga-empty-state{
	text-align:center;border:1px dashed var(--pp-border);border-radius:14px;padding:28px 18px;background:var(--pp-bg);
}
.pga-empty-state .pga-empty-icon{font-size:28px;margin-bottom:8px;}
.pga-empty-state strong{display:block;font-size:14px;margin-bottom:5px;}
.pga-empty-state p{margin:0 auto;max-width:480px;}

.pga-config-view{padding-top:0;border-top:0;margin-top:0;}
.pga-config-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.pga-config-head .pga-volver{margin:0;flex:0 0 auto;}
.pga-config-head .ppc-malla-title{margin:2px 0 0;}
.pga-eyebrow{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--pp-text-dim);font-weight:700;}

.pga-config-tabs{
	display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 18px;padding:6px;
	border:1px solid var(--pp-border);border-radius:14px;background:var(--pp-bg-soft);
}
.pga-config-tabs button{
	appearance:none;border:0;background:transparent;color:var(--pp-text-dim);border-radius:10px;padding:10px 12px;
	font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:.18s ease;white-space:nowrap;
}
.pga-config-tabs button:hover{color:var(--pp-text);background:var(--pp-bg);}
.pga-config-tabs button.is-active{color:var(--pp-text);background:var(--pp-bg);box-shadow:0 1px 7px rgba(0,0,0,.08);}
.pga-config-panel{display:none;}
.pga-config-panel.is-active{display:block;}
.pga-panel-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.pga-panel-intro h4{margin:0 0 4px;font-size:15px;}
.pga-panel-intro p{margin:0;color:var(--pp-text-dim);font-size:12.5px;line-height:1.45;max-width:760px;}

.pga-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.pga-subject-card{
	dis:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 9px;padding:12px;
	border:1px solid var(--pp-border);border-radius:12px;background:var(--pp-bg);cursor:default;
}
.pga-subject-card .pga-subject-name{font-size:13px;font-weight:650;min-width:0;}
.pga-subject-card small{grid-column:2;color:var(--pp-text-dim);font-size:10.5px;}
.pga-session-control{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin-top:5px;font-size:11.5px;color:var(--pp-text-dim);}
.pga-session-control input{width:58px;padding:6px 7px;border:1px solid var(--pp-border);border-radius:8px;background:var(--pp-bg-soft);color:var(--pp-text);}
.pga-form-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;}
.pga-form-footer .pp-btn{width:auto;}
.pga-form-footer .pga-msg-holder{margin:0;flex:1;}

.pga-prof-row{align-items:center;}
.pga-prof-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex:1 1 420px;}
.pga-assigned-prof{font-size:12px;color:var(--pp-text-dim);margin-right:auto;}
.pga-assigned-prof strong{color:var(--pp-text);}
.pga-assigned-prof small{opacity:.8;}
.pga-prof-actions .pga-asig-form{flex:0 1 290px;}
.pga-prof-actions .pga-asig-form input{width:auto;min-width:150px;flex:1;}
.pga-danger-ghost{background:transparent!important;border:1px solid var(--pp-border)!important;color:var(--pp-text-dim)!important;}
.pga-danger-ghost:hover{border-color:#ff5a5a!important;color:#ff8b8b!important;}

.pga-schedule-intro{align-items:center;}
.pga-schedule-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.pga-schedule-actions .pp-btn{width:auto;white-space:nowrap;}
.pga-schedule-msg:empty{display:none;}
.pga-schedule-wrap{overflow:auto;border:1px solid var(--pp-border);border-radius:13px;background:var(--pp-bg);}
.pga-schedule-table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0;font-size:12px;}
.pga-schedule-table th,.pga-schedule-table td{padding:8px;border-right:1px solid var(--pp-border);border-bottom:1px solid var(--pp-border);vertical-align:middle;}
.pga-schedule-table thead th{position:sticky;top:0;z-index:2;background:var(--pp-bg-soft);font-size:11.5px;text-align:center;}
.pga-schedule-table th:first-child{position:sticky;left:0;z-index:3;background:var(--pp-bg-soft);width:96px;}
.pga-schedule-table tbody th span{display:block;font-weight:700;}
.pga-schedule-table tbody th small{display:block;color:var(--pp-text-dim);font-weight:400;font-size:10px;margin-top:2px;}
.pga-schedule-table tr:last-child th,.pga-schedule-table tr:last-child td{border-bottom:0;}
.pga-schedule-table th:last-child,.pga-schedule-table td:last-child{border-right:0;}
.pga-schedule-table select{width:100%;min-width:135px;border:1px solid var(--pp-border);background:var(--pp-bg-soft);color:var(--pp-text);border-radius:8px;padding:7px 8px;font-size:11.5px;}
.pga-schedule-table select:focus{outline:none;border-color:var(--pp-accent);}
.pga-rules-note{margin-top:12px;padding:11px 13px;border:1px solid var(--pp-border);border-radius:10px;background:var(--pp-bg-soft);color:var(--pp-text-dim);font-size:11.5px;line-height:1.45;}
.pga-rules-note strong{color:var(--pp-text);}

@media (max-width:720px){
	.pga-subject-grid{grid-template-columns:1fr;}
	.pga-panel-intro,.pga-schedule-intro{flex-direction:column;align-items:stretch;}
	.pga-schedule-actions{justify-content:flex-start;}
	.pga-prof-actions{flex-basis:100%;justify-content:flex-start;}
	.pga-assigned-prof{width:100%;margin-right:0;}
}
@media (max-width:520px){
	.pga-config-head{align-items:flex-start;}
	.pga-config-tabs{gap:4px;padding:4px;}
	.pga-config-tabs button{padding:9px 5px;font-size:11.5px;}
	.pga-config-tabs button span{display:block;margin-top:2px;}
	.pga-level-heading{align-items:flex-start;}
	.pga-grupo-meta-row{flex-wrap:wrap;gap:4px 9px;}
	.pga-prof-actions .pga-asig-form{width:100%;flex:1 1 100%;}
	.pga-prof-actions .pga-asig-form input{min-width:0;width:100%;}
}

/* =========================================================
   Lorito360 Gestión Académica · UI profesional responsive
   ========================================================= */
.pga-grupos,.pga-config-view{max-width:100%;box-sizing:border-box}
.pga-level-heading,.pga-config-head,.pga-panel-intro,.pga-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pga-grupos-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.pga-grupo-card{min-height:88px;padding:16px 18px;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pga-grupo-card:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(15,23,42,.08)}
.pga-grupo-info strong{font-size:15px;line-height:1.3}
.pga-grupo-meta-row{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:5px}
.pga-gestionar-btn,.pga-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border-radius:11px;border:1px solid var(--pp-border,#dbe2ea);background:var(--pp-bg,#fff);font-size:18px;cursor:pointer;transition:.18s ease}
.pga-gestionar-btn:hover,.pga-icon-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.1)}
.pga-count-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(37,99,235,.08)}
.pga-config-head{padding:4px 0 16px}.pga-config-head h3{margin:2px 0 0}.pga-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;opacity:.62}
.pga-config-tabs{display:flex;gap:8px;padding:7px;border:1px solid var(--pp-border,#dbe2ea);border-radius:15px;overflow-x:auto;scrollbar-width:none;margin-bottom:18px;background:var(--pp-bg,#fff)}
.pga-config-tabs::-webkit-scrollbar{display:none}.pga-config-tabs button{flex:1 0 auto;min-height:44px;border:0;border-radius:10px;padding:10px 16px;background:transparent;font-weight:700;cursor:pointer;white-space:nowrap}.pga-config-tabs button.is-active{background:rgba(37,99,235,.1);box-shadow:inset 0 0 0 1px rgba(37,99,235,.12)}
.pga-config-panel{display:none;min-width:0}.pga-config-panel.is-active{display:block}
.pga-time-config-card{border:1px solid var(--pp-border,#dbe2ea);border-radius:18px;padding:18px;margin:0 0 20px;background:var(--pp-bg,#fff);box-shadow:0 8px 24px rgba(15,23,42,.04)}
.pga-time-config-head{margin-bottom:14px}.pga-time-config-head h4{margin:2px 0 4px;font-size:17px}.pga-time-config-head p{margin:0;max-width:720px;opacity:.72;font-size:13px;line-height:1.5}
.pga-period-list{display:grid;gap:9px}.pga-period-row{display:grid;grid-template-columns:minmax(86px,auto) minmax(125px,1fr) minmax(125px,1fr) minmax(62px,auto) 38px;align-items:end;gap:10px;padding:11px 12px;border:1px solid var(--pp-border,#dbe2ea);border-radius:13px;background:rgba(148,163,184,.045)}
.pga-period-number{font-weight:800;font-size:13px;align-self:center}.pga-period-row label{display:grid;gap:5px;font-size:11px;font-weight:700;opacity:.78}.pga-period-row input[type=time]{width:100%;min-width:0;height:40px;border:1px solid var(--pp-border,#dbe2ea);border-radius:9px;padding:0 10px;background:var(--pp-bg,#fff);color:inherit;font:inherit;box-sizing:border-box}.pga-period-duration{align-self:center;font-size:12px;font-weight:800;white-space:nowrap;opacity:.7}.pga-remove-period{align-self:end;color:#b42318;font-size:20px}
.pga-time-config-card .pga-form-footer{margin-top:14px}
.pga-schedule-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--pp-border,#dbe2ea);border-radius:16px;background:var(--pp-bg,#fff)}
.pga-schedule-table{width:100%;min-width:780px;border-collapse:separate;border-spacing:0}.pga-schedule-table th,.pga-schedule-table td{padding:9px;border-right:1px solid var(--pp-border,#e5e7eb);border-bottom:1px solid var(--pp-border,#e5e7eb);vertical-align:middle}.pga-schedule-table thead th{position:sticky;top:0;z-index:2;background:var(--pp-bg,#fff);font-size:12px}.pga-schedule-table tbody th{position:sticky;left:0;z-index:1;background:var(--pp-bg,#fff);min-width:105px}.pga-schedule-table tbody th span{display:block;font-weight:800}.pga-schedule-table tbody th small{display:block;margin-top:2px;white-space:nowrap;font-size:10px;opacity:.65}.pga-schedule-table select{width:100%;min-width:118px;height:38px;border:1px solid var(--pp-border,#dbe2ea);border-radius:9px;padding:0 8px;background:var(--pp-bg,#fff);color:inherit}
.pga-rules-note{margin-top:14px;padding:13px 15px;border-radius:13px;background:rgba(37,99,235,.065);font-size:12px;line-height:1.55}
.pga-schedule-actions{display:flex;gap:8px;flex-wrap:wrap}.pga-empty-state{padding:28px 18px;border:1px dashed var(--pp-border,#dbe2ea);border-radius:16px;text-align:center}.pga-empty-icon{font-size:28px;margin-bottom:8px}
@media (max-width:767px){
 .pga-grupos{margin-top:18px;padding-top:16px}.pga-grupos-list{grid-template-columns:1fr}.pga-grupo-card{padding:14px;min-height:76px}.pga-grupo-actions{margin-left:8px}.pga-grupo-meta-row{gap:4px 9px}.pga-grupo-meta{font-size:11px}
 .pga-config-head{align-items:flex-start}.pga-config-head .pga-volver{order:-1}.pga-config-tabs{position:sticky;top:0;z-index:5;margin-left:-4px;margin-right:-4px}.pga-config-tabs button{padding:9px 12px;font-size:12px}.pga-time-config-card{padding:13px;border-radius:15px}.pga-time-config-head{align-items:flex-start}.pga-time-config-head .pp-btn{width:100%}
 .pga-period-row{grid-template-columns:1fr 1fr 38px;gap:8px}.pga-period-number{grid-column:1/-1}.pga-period-row label{min-width:0}.pga-period-duration{grid-column:1/3;align-self:center}.pga-remove-period{grid-column:3;grid-row:2}.pga-form-footer .pp-btn,.pga-schedule-actions .pp-btn{width:100%}
 .pga-schedule-wrap{margin-left:-2px;margin-right:-2px}.pga-schedule-table{min-width:700px}
}
@media (min-width:768px) and (max-width:1100px){.pga-grupos-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pga-period-row{grid-template-columns:90px 1fr 1fr 70px 38px}.pga-schedule-table{min-width:740px}}
@media (prefers-reduced-motion:reduce){.pga-grupo-card,.pga-gestionar-btn,.pga-icon-btn{transition:none}}

/* Selector profesional de profesor por nombre */
.pga-profesor-select{
  min-width:220px;
  max-width:100%;
  height:42px;
  padding:0 38px 0 12px;
  border:1px solid rgba(15,23,42,.14);
  border-radius:10px;
  background:#fff;
  font:inherit;
  font-weight:600;
  color:#0f172a;
  outline:none;
  cursor:pointer;
}
.pga-profesor-select:focus{
  border-color:rgba(37,99,235,.55);
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}
.pga-profesor-select:disabled{opacity:.6;cursor:not-allowed;background:#f8fafc}
@media (max-width:720px){
  .pga-prof-actions,.pga-asig-form{width:100%}
  .pga-asig-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .pga-profesor-select{min-width:0;width:100%}
}
@media (max-width:420px){
  .pga-asig-form{grid-template-columns:1fr}
  .pga-asig-form .pga-mini-btn{width:100%}
}


/* =========================================================
   v1.5 · Horarios: acabado profesional y responsive real
   ========================================================= */
.pga-config-view,
.pga-config-view *{box-sizing:border-box}
.pga-config-view{width:100%;max-width:100%;overflow:visible}
.pga-time-config-card{overflow:hidden}
.pga-time-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.pga-time-config-head>div{min-width:0;flex:1 1 520px}
.pga-time-config-head .pp-btn{flex:0 0 auto;min-height:42px;padding-inline:16px}

.pga-period-list{display:grid!important;gap:10px!important}
.pga-period-row{
  display:grid!important;
  grid-template-columns:minmax(150px,.7fr) minmax(300px,1.4fr)!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
  padding:13px 14px!important;
  border:1px solid var(--pp-border,#dbe2ea)!important;
  border-radius:14px!important;
  background:var(--pp-bg,#fff)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.025)!important;
}
.pga-period-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 36px!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.pga-period-number{font-size:13px!important;font-weight:800!important;line-height:1.2!important;white-space:nowrap}
.pga-period-duration{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:28px!important;padding:4px 9px!important;border-radius:999px!important;
  background:rgba(37,99,235,.08)!important;color:var(--pp-text,#0f172a)!important;
  font-size:11px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;opacity:1!important
}
.pga-period-duration:empty{display:none!important}
.pga-remove-period{
  width:36px!important;height:36px!important;min-width:36px!important;margin:0!important;padding:0!important;
  align-self:center!important;border-radius:10px!important;background:rgba(220,38,38,.06)!important;
  border-color:rgba(220,38,38,.16)!important;color:#dc2626!important;box-shadow:none!important
}
.pga-period-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;min-width:0!important}
.pga-period-fields label{
  display:grid!important;grid-template-columns:1fr!important;gap:6px!important;min-width:0!important;
  margin:0!important;padding:0!important;font-size:11px!important;font-weight:800!important;line-height:1.2!important;
  color:var(--pp-text-dim,#64748b)!important;opacity:1!important
}
.pga-period-fields label>span{display:block!important}
.pga-period-fields input[type=time]{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:44px!important;
  margin:0!important;padding:0 12px!important;border:1px solid var(--pp-border,#dbe2ea)!important;border-radius:10px!important;
  background:var(--pp-bg-soft,var(--pp-bg,#fff))!important;color:var(--pp-text,#0f172a)!important;
  font:inherit!important;font-size:14px!important;font-weight:650!important;line-height:44px!important;box-shadow:none!important
}
.pga-period-fields input[type=time]:focus{outline:none!important;border-color:#4f8df7!important;box-shadow:0 0 0 3px rgba(79,141,247,.12)!important}
.pga-time-config-card .pga-form-footer{padding-top:2px}
.pga-time-config-card .pga-form-footer>.pp-btn{min-height:44px;width:auto!important}

.pga-schedule-intro{padding-top:2px}
.pga-schedule-actions .pp-btn{min-height:44px;border-radius:12px}
.pga-schedule-wrap{width:100%;max-width:100%;overscroll-behavior-inline:contain}
.pga-schedule-table th,.pga-schedule-table td{white-space:normal}
.pga-schedule-table select{font-size:12px!important}

@media (max-width:767px){
  .pga-config-view{padding-inline:0!important}
  .pga-config-head{gap:10px!important;padding-bottom:12px!important}
  .pga-config-head .ppc-malla-title{font-size:18px!important;line-height:1.25!important}
  .pga-config-tabs{position:relative!important;top:auto!important;margin:0 0 16px!important;padding:5px!important;border-radius:13px!important}
  .pga-config-tabs button{min-height:40px!important;padding:8px 10px!important;font-size:11.5px!important}
  .pga-time-config-card{padding:14px!important;border-radius:16px!important;margin-bottom:18px!important}
  .pga-time-config-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .pga-time-config-head h4{font-size:16px!important;line-height:1.25!important}
  .pga-time-config-head p{font-size:12px!important;line-height:1.45!important}
  .pga-time-config-head .pp-btn{width:100%!important;min-height:44px!important}

  .pga-period-list{gap:10px!important}
  .pga-period-row{
    grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;border-radius:13px!important
  }
  .pga-period-top{grid-template-columns:minmax(0,1fr) auto 34px!important;gap:7px!important}
  .pga-period-number{font-size:13px!important}
  .pga-period-duration{min-height:26px!important;padding:4px 8px!important;font-size:10.5px!important}
  .pga-remove-period{width:34px!important;height:34px!important;min-width:34px!important;border-radius:9px!important}
  .pga-period-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .pga-period-fields input[type=time]{height:43px!important;padding-inline:9px!important;font-size:13px!important}
  .pga-time-config-card .pga-form-footer{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .pga-time-config-card .pga-form-footer>.pp-btn{width:100%!important;min-height:46px!important}

  .pga-panel-intro.pga-schedule-intro{gap:12px!important;margin-top:2px!important}
  .pga-schedule-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:8px!important}
  .pga-schedule-actions .pp-btn{width:100%!important;min-height:46px!important}
  .pga-schedule-wrap{border-radius:13px!important;margin:0!important}
  .pga-schedule-table{min-width:660px!important}
  .pga-rules-note{font-size:11.5px!important;border-radius:12px!important}
}

@media (max-width:390px){
  .pga-time-config-card{padding:11px!important}
  .pga-period-row{padding:10px!important}
  .pga-period-fields{grid-template-columns:1fr!important}
  .pga-period-fields input[type=time]{height:42px!important;font-size:13px!important}
  .pga-config-tabs button{padding-inline:8px!important;font-size:11px!important}
}

@media (min-width:768px) and (max-width:1100px){
  .pga-period-row{grid-template-columns:minmax(145px,.75fr) minmax(280px,1.45fr)!important;gap:12px!important}
}

@media (prefers-color-scheme:dark){
  .pga-period-row{box-shadow:none!important}
}

/* ===== Horario con profesor + impresión profesional ===== */
.pga-schedule-cell{min-width:150px;vertical-align:top}
.pga-schedule-cell select{width:100%;min-width:0}
.pga-cell-profesor{display:block;margin-top:7px;font-size:12px;line-height:1.35;font-weight:650;opacity:.76;white-space:normal}
.pga-print-heading{display:none}
.pga-schedule-actions{display:flex;flex-wrap:wrap;gap:10px}
.pga-print-btn,.pga-pdf-btn{white-space:nowrap}
@media (max-width:680px){
  .pga-schedule-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .pga-schedule-actions .pp-btn{width:100%;min-width:0;padding-left:12px;padding-right:12px}
  .pga-cell-profesor{font-size:11px}
}
@media (max-width:420px){.pga-schedule-actions{grid-template-columns:1fr}}

@media print{
  @page{size:landscape;margin:10mm}
  body.pga-printing-schedule *{visibility:hidden!important}
  body.pga-printing-schedule .pga-config-view,
  body.pga-printing-schedule .pga-config-view *{visibility:visible!important}
  body.pga-printing-schedule .pga-config-view{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important}
  body.pga-printing-schedule .pga-config-head,
  body.pga-printing-schedule .pga-config-tabs,
  body.pga-printing-schedule .pga-time-config-card,
  body.pga-printing-schedule .pga-schedule-intro,
  body.pga-printing-schedule .pga-schedule-msg,
  body.pga-printing-schedule .pga-rules-note,
  body.pga-printing-schedule [data-pga-config-panel="asignaturas"],
  body.pga-printing-schedule [data-pga-config-panel="profesores"],
  body.pga-printing-schedule .pga-schedule-cell select,
  body.pga-printing-schedule .pga-cell-profesor{display:none!important}
  body.pga-printing-schedule [data-pga-config-panel="horario"]{display:block!important;padding:0!important;border:0!important;background:#fff!important}
  body.pga-printing-schedule .pga-print-heading{display:block!important;text-align:center;margin:0 0 12px!important;color:#111!important}
  body.pga-printing-schedule .pga-print-heading h2{margin:0 0 3px!important;font-size:20px!important;color:#111!important}
  body.pga-printing-schedule .pga-print-heading p{margin:0!important;font-size:12px!important;color:#444!important}
  body.pga-printing-schedule .pga-schedule-wrap{overflow:visible!important;border:0!important;background:#fff!important}
  body.pga-printing-schedule .pga-schedule-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;font-size:9.5px!important;color:#111!important;background:#fff!important}
  body.pga-printing-schedule .pga-schedule-table th,
  body.pga-printing-schedule .pga-schedule-table td{border:1px solid #777!important;padding:5px!important;background:#fff!important;color:#111!important;height:48px!important;vertical-align:top!important}
  body.pga-printing-schedule .pga-schedule-table th{font-weight:700!important;text-align:center!important}
}

/* ===== Alumnos dentro de cada grupo ===== */
.pga-config-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.pga-students-intro{align-items:center}
.pga-student-count{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid var(--pga-border,rgba(128,128,128,.22));border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap;background:rgba(127,127,127,.07)}
.pga-group-students{display:grid;gap:10px;margin-top:14px}
.pga-student-card{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(180px,.65fr);align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--pga-border,rgba(128,128,128,.2));border-radius:15px;background:var(--pga-card-bg,rgba(255,255,255,.035));box-shadow:0 4px 18px rgba(0,0,0,.035)}
.pga-student-avatar{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:16px;background:rgba(77,135,255,.13);color:#4d87ff;border:1px solid rgba(77,135,255,.2)}
.pga-student-main,.pga-student-tutor{min-width:0;display:flex;flex-direction:column;gap:3px}
.pga-student-main strong,.pga-student-tutor strong{font-size:13.5px;line-height:1.3;overflow-wrap:anywhere}
.pga-student-main span,.pga-student-tutor span,.pga-student-tutor small{font-size:11.5px;line-height:1.35;opacity:.72}
.pga-student-tutor{padding-left:14px;border-left:1px solid var(--pga-border,rgba(128,128,128,.18))}
.pga-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 18px;border:1px dashed var(--pga-border,rgba(128,128,128,.25));border-radius:16px;gap:5px}
.pga-empty-icon{font-size:27px;margin-bottom:4px}.pga-empty-state p{margin:0;opacity:.7;font-size:12px}
@media(max-width:760px){
 .pga-config-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(74px,1fr))!important;overflow-x:auto!important;scrollbar-width:none;padding-bottom:2px!important}
 .pga-config-tabs::-webkit-scrollbar{display:none}
 .pga-config-tabs button{min-width:74px!important;padding:10px 7px!important;gap:4px!important;font-size:11px!important}
 .pga-student-card{grid-template-columns:40px minmax(0,1fr)!important;padding:12px!important;gap:10px!important}
 .pga-student-avatar{width:40px;height:40px;border-radius:12px}
 .pga-student-tutor{grid-column:1/-1;padding:10px 0 0!important;border-left:0!important;border-top:1px solid var(--pga-border,rgba(128,128,128,.18))}
 .pga-students-intro{align-items:flex-start!important}.pga-student-count{min-height:30px;padding:5px 9px;font-size:11px}
}
@media(max-width:390px){
 .pga-config-tabs button span{font-size:10.5px!important}
 .pga-student-card{border-radius:13px!important}
}

/* ===== Tabla profesional de alumnos por grupo ===== */
.pga-students-table-wrap{
  width:100%;
  margin-top:14px;
  overflow:auto;
  border:1px solid var(--pga-border,rgba(128,128,128,.20));
  border-radius:16px;
  background:var(--pga-card-bg,rgba(255,255,255,.035));
  box-shadow:0 8px 28px rgba(0,0,0,.045);
  -webkit-overflow-scrolling:touch;
}
.pga-students-table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
  color:inherit;
}
.pga-students-table th,
.pga-students-table td{
  padding:13px 14px;
  text-align:left;
  vertical-align:middle;
  border-bottom:1px solid var(--pga-border,rgba(128,128,128,.14));
  white-space:nowrap;
}
.pga-students-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--pp-bg-soft,var(--pga-card-bg,#f7f8fb));
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
  opacity:.82;
}
.pga-students-table tbody tr:last-child td{border-bottom:0}
.pga-students-table tbody tr{transition:background .18s ease}
.pga-students-table tbody tr:hover{background:rgba(77,135,255,.055)}
.pga-students-table .pga-col-num{width:56px;text-align:center;font-variant-numeric:tabular-nums;opacity:.7}
.pga-student-name-cell{display:flex;align-items:center;gap:10px;min-width:220px}
.pga-student-name-cell strong{font-size:13px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.pga-student-avatar-sm{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:850;
  background:rgba(77,135,255,.13);
  color:#4d87ff;
  border:1px solid rgba(77,135,255,.2);
}
@media(max-width:760px){
  .pga-students-table-wrap{border-radius:14px;margin-top:12px}
  .pga-students-table{min-width:690px;font-size:12px}
  .pga-students-table th,.pga-students-table td{padding:11px 12px}
  .pga-students-table thead th{font-size:10px}
  .pga-student-name-cell{min-width:190px;gap:8px}
  .pga-student-avatar-sm{flex-basis:30px;width:30px;height:30px;border-radius:9px;font-size:11px}
  .pga-students-table th:nth-child(2),.pga-students-table td:nth-child(2){position:sticky;left:0;z-index:1;background:var(--pp-bg,var(--pga-card-bg,#fff))}
  .pga-students-table thead th:nth-child(2){z-index:3;background:var(--pp-bg-soft,var(--pga-card-bg,#f7f8fb))}
}


/* ===== Acciones de exportación justo debajo del horario ===== */
.pga-schedule-export-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0 16px;
  padding-top:2px;
}
.pga-schedule-export-actions .pp-btn{
  min-height:42px;
}
@media (max-width:680px){
  .pga-schedule-export-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .pga-schedule-export-actions .pp-btn{
    width:100%;
    min-width:0;
  }
}
@media (max-width:420px){
  .pga-schedule-export-actions{
    grid-template-columns:1fr;
  }
}

/* ===== Horario: una sola línea de profesor por celda ===== */
.pga-cell-profesor{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
  font-weight:650;
  opacity:.8;
  white-space:normal;
}
.pga-cell-profesor:empty{display:none}


/* ===== Confirmación global de registros ===== */
body.pga-success-open{overflow:hidden!important}
.pga-success-screen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  background:rgba(7,12,20,.92)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.pga-success-card{
  position:relative;
  width:min(560px,100%);
  max-height:calc(100% - 24px);
  overflow:auto;
  padding:38px 30px 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:#fff;
  color:#151922;
  text-align:center;
  box-shadow:0 24px 80px rgba(0,0,0,.38);
}
.pga-success-close{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#eef1f5;
  color:#20242c;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.pga-success-close:hover{background:#e2e6eb}
.pga-success-close:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.pga-success-icon{
  width:72px;
  height:72px;
  margin:4px auto 18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e9f8ef;
  color:#16783d;
  font-size:40px;
  font-weight:800;
}
.pga-success-card h2{
  margin:0 0 12px!important;
  color:#151922!important;
  font-size:clamp(22px,4vw,30px)!important;
  line-height:1.15!important;
}
.pga-success-body{font-size:15px;line-height:1.55;color:#424956}
.pga-success-body p{margin:8px 0 16px}
.pga-success-credentials{
  display:grid;
  grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);
  gap:1px;
  margin:20px 0;
  overflow:hidden;
  border:1px solid #dfe4ea;
  border-radius:14px;
  background:#dfe4ea;
  text-align:left;
}
.pga-success-credentials span,
.pga-success-credentials strong{
  padding:12px 14px;
  background:#fff;
  overflow-wrap:anywhere;
}
.pga-success-credentials span{color:#6b7280;font-size:13px}
.pga-success-credentials strong{color:#151922}
.pga-success-note{font-size:13px;color:#6b7280!important}
@media(max-width:520px){
  .pga-success-screen{padding:12px!important}
  .pga-success-card{padding:34px 18px 22px;border-radius:19px}
  .pga-success-icon{width:62px;height:62px;font-size:34px}
  .pga-success-credentials{grid-template-columns:1fr}
}


/* =========================================================
   LORITO360 · CORRECCIÓN GENERAL DE SCROLL
   El plugin no debe bloquear el desplazamiento vertical de
   ninguna vista, pestaña, nivel, grupo, configuración o tabla.
   ========================================================= */

/* Contenedor raíz del módulo */
.pga-root,
.pga-app,
.pga-wrap,
.pga-content,
.pga-main,
.pga-dashboard,
.pga-panel,
.pga-view,
.pga-section,
.pga-config-wrap,
.pga-config-panel,
.pga-nivel-panel,
.pga-grupo-panel,
.pga-grupos,
.pga-grupos-wrap,
.pga-level-content,
.pga-tab-content,
.pga-matricula-wrap,
.pga-matriculados-wrap,
.pga-profesores-wrap,
.pga-horario-wrap{
	min-height:0!important;
	max-height:none!important;
}

/* Nunca bloquear el eje vertical en paneles del plugin */
.pga-root,
.pga-app,
.pga-wrap,
.pga-content,
.pga-main,
.pga-dashboard,
.pga-panel,
.pga-view,
.pga-section,
.pga-config-wrap,
.pga-config-panel,
.pga-nivel-panel,
.pga-grupo-panel,
.pga-grupos,
.pga-grupos-wrap,
.pga-level-content,
.pga-tab-content,
.pga-matricula-wrap,
.pga-matriculados-wrap,
.pga-profesores-wrap,
.pga-horario-wrap{
	overflow-x:hidden;
	overflow-y:visible!important;
}

/* Las zonas que realmente contienen contenido largo sí pueden desplazarse */
.pga-config-wrap,
.pga-config-panel,
.pga-nivel-panel,
.pga-level-content,
.pga-tab-content,
.pga-matriculados-wrap,
.pga-profesores-wrap,
.pga-horario-wrap,
.pga-students-table-wrap,
.pga-table-wrap,
.pga-schedule-wrap,
.pga-horario-table-wrap{
	overflow-y:auto!important;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior:contain;
}

/* Evita que flex/grid impidan el scroll */
.pga-root *,
.pga-panel *,
.pga-config-wrap *,
.pga-config-panel *{
	min-height:0;
}

/* Tablas y listas largas */
.pga-students-table-wrap,
.pga-table-wrap,
.pga-schedule-wrap,
.pga-horario-table-wrap{
	max-height:none!important;
}

/* No fijar vistas internas a la altura exacta de pantalla */
.pga-root,
.pga-panel,
.pga-view,
.pga-section,
.pga-config-wrap,
.pga-config-panel,
.pga-nivel-panel{
	height:auto!important;
}

/* En móvil/tablet, permitir gesto táctil vertical */
@media (max-width: 1024px){
	.pga-root,
	.pga-content,
	.pga-panel,
	.pga-view,
	.pga-section,
	.pga-config-wrap,
	.pga-config-panel,
	.pga-nivel-panel,
	.pga-tab-content{
		touch-action:pan-y!important;
		overflow-y:auto!important;
	}
}

/* El modal de éxito sí permanece fijo, pero no debe dejar el módulo bloqueado
   cuando desaparece. */
.pga-success-overlay[hidden],
.pga-global-success[hidden],
[data-pga-success-overlay][hidden]{
	display:none!important;
}

/* Compatibilidad con posibles bloqueos inline heredados */
body:not(.pga-modal-open) .pga-root,
body:not(.pga-modal-open) .pga-panel,
body:not(.pga-modal-open) .pga-config-wrap,
body:not(.pga-modal-open) .pga-config-panel{
	overflow-y:auto!important;
}


/* Refuerzo móvil: el plugin nunca debe secuestrar el scroll vertical del portal */
@media (max-width:1100px){
	.pga-root,
	.pga-app,
	.pga-wrap,
	.pga-content,
	.pga-main,
	.pga-dashboard,
	.pga-panel,
	.pga-view,
	.pga-section,
	.pga-config-wrap,
	.pga-config-panel,
	.pga-nivel-panel,
	.pga-grupo-panel,
	.pga-tab-content{
		height:auto!important;
		max-height:none!important;
		min-height:0!important;
		overflow:visible!important;
		touch-action:auto!important;
	}
}

/* ===== Manuales didácticos del centro ===== */
.pga-manuales{display:flex;flex-direction:column;gap:10px}
.pga-manuales-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pga-manuales-head h3{margin:2px 0 4px}.pga-manuales-head p{margin:0;font-size:12px;opacity:.72}
.pga-eyebrow{font-size:9px;font-weight:900;letter-spacing:.12em;opacity:.62}
.pga-manual-form{border:1px solid var(--pp-border,#dde5ec);border-radius:14px;padding:12px;background:var(--pp-panel,#fff)}
.pga-manual-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px}
.pga-manual-grid label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800}
.pga-manual-grid input,.pga-manual-grid select,.pga-manual-unit input,.pga-manual-unit textarea,.pga-manual-topic input,.pga-manual-topic textarea{width:100%;border:1px solid var(--pp-border,#dde5ec);border-radius:9px;padding:8px;background:var(--pp-panel,#fff);color:inherit;font:inherit}
.pga-manual-unit{margin-top:10px;border:1px solid var(--pp-border,#dde5ec);border-radius:12px;padding:10px;display:grid;gap:7px}
.pga-manual-unit-head{display:flex;justify-content:space-between;align-items:center}.pga-manual-unit-head button{border:0;background:transparent;color:inherit;font-size:20px}
.pga-manual-topic{display:grid;grid-template-columns:1.2fr .55fr 1fr 1fr auto;gap:6px;align-items:start;margin-top:6px}
.pga-manual-topic textarea{min-height:58px}.pga-manual-topic button{min-height:38px}
.pga-manual-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}
.pga-manual-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pga-manual-card{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;border:1px solid var(--pp-border,#dde5ec);border-radius:12px;padding:10px}
.pga-manual-card>div:first-child{font-size:24px}.pga-manual-card strong,.pga-manual-card small{display:block}.pga-manual-card small{font-size:10px;opacity:.65}.pga-manual-card-meta{font-size:10px;font-weight:800;opacity:.7}
@media(max-width:700px){
 .pga-manual-grid{grid-template-columns:1fr}
 .pga-manual-topic{grid-template-columns:1fr 1fr}
 .pga-manual-topic textarea,.pga-manual-topic button{grid-column:1/-1}
 .pga-manual-list{grid-template-columns:1fr}
 .pga-manuales-head{flex-direction:column}
}

/* ===== Material didáctico como sección principal del Centro ===== */
.pga-material-centro-page{display:flex;flex-direction:column;gap:12px;min-height:0}
.pga-material-centro-title h2{margin:3px 0 5px;font-size:24px}
.pga-material-centro-title p{margin:0;max-width:760px;font-size:12px;line-height:1.5;opacity:.72}
.pga-material-level-picker{border:1px solid var(--pp-border,#dde5ec);border-radius:13px;padding:11px;background:var(--pp-panel,#fff)}
.pga-material-level-picker label{display:flex;flex-direction:column;gap:5px;max-width:360px;font-size:10px;font-weight:800}
.pga-material-level-picker select{min-height:40px;border:1px solid var(--pp-border,#dde5ec);border-radius:10px;padding:8px;background:var(--pp-panel,#fff);color:inherit}
@media(max-width:700px){.pga-material-centro-title h2{font-size:20px}.pga-material-level-picker label{max-width:none}}

/* ===== Actas académicas del Centro ===== */
.pga-actas-centro-page{display:flex;flex-direction:column;gap:12px;min-height:0}
.pga-actas-head h2{margin:3px 0 5px;font-size:24px}.pga-actas-head p{margin:0;font-size:12px;opacity:.72}
.pga-actas-mode{display:flex;gap:6px;border-bottom:1px solid var(--pp-border,#dde5ec);padding-bottom:7px}
.pga-actas-mode button{border:1px solid var(--pp-border,#dde5ec);background:transparent;color:inherit;border-radius:10px;padding:8px 11px;font-weight:800;font-size:10px}
.pga-actas-mode button.is-active{background:var(--pp-accent,#2879f6);color:#fff;border-color:transparent}
.pga-actas-toolbar{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:8px;align-items:end}
.pga-actas-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800}
.pga-actas-toolbar select{min-height:40px;border:1px solid var(--pp-border,#dde5ec);border-radius:10px;padding:8px;background:var(--pp-panel,#fff);color:inherit}
.pga-actas-note{font-size:10px;opacity:.68;margin:5px 0}
.pga-acta-sheet{border:1px solid var(--pp-border,#dde5ec);border-radius:13px;padding:11px;background:var(--pp-panel,#fff)}
.pga-acta-sheet-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:9px}
.pga-acta-sheet-head span{font-size:9px;font-weight:900;letter-spacing:.1em;opacity:.6}.pga-acta-sheet-head h3{margin:2px 0}.pga-acta-sheet-head p{margin:0;font-size:10px;opacity:.7}
.pga-acta-sheet-head button{border:1px solid var(--pp-border,#dde5ec);border-radius:9px;background:transparent;color:inherit;padding:7px 9px}
.pga-acta-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pga-acta-table{width:100%;border-collapse:collapse;min-width:760px;font-size:10px}
.pga-acta-table th,.pga-acta-table td{padding:7px 6px;border-bottom:1px solid var(--pp-border,#edf0f3);text-align:center;white-space:nowrap}
.pga-acta-table th:nth-child(2),.pga-acta-table td:nth-child(2){text-align:left}
.pga-final-table{min-width:900px}
.pga-acta-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.pga-acta-signatures div{border-top:1px solid var(--pp-border,#cfd7df);padding-top:6px;text-align:center;font-size:9px}
@media(max-width:700px){
 .pga-actas-head h2{font-size:20px}
 .pga-actas-toolbar{grid-template-columns:1fr 1fr}
 .pga-actas-toolbar .pga-btn-primary{grid-column:1/-1}
 .pga-acta-sheet-head{flex-direction:column}
 .pga-acta-signatures{grid-template-columns:1fr;gap:28px}
}

/* ===== Biblioteca PDF ===== */
.pga-pdf-upload{border:1px solid var(--pp-border,#dfe6ec);border-radius:14px;padding:12px;background:var(--pp-panel,#fff)}
.pga-pdf-upload-grid{display:grid;grid-template-columns:.8fr 1fr .8fr 1.2fr 1.2fr;gap:8px;align-items:end}
.pga-pdf-upload-grid label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800}
.pga-pdf-upload-grid input,.pga-pdf-upload-grid select{min-height:40px;border:1px solid var(--pp-border,#dfe6ec);border-radius:10px;padding:7px 9px;background:var(--pp-panel,#fff);color:inherit;min-width:0}
.pga-pdf-file input{padding:6px}
.pga-pdf-help{font-size:9px;line-height:1.45;opacity:.68;margin:8px 0}
.pga-pdf-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pga-pdf-card{display:grid;grid-template-columns:45px 1fr auto;gap:9px;align-items:center;border:1px solid var(--pp-border,#dfe6ec);border-radius:12px;padding:10px;background:var(--pp-panel,#fff)}
.pga-pdf-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-weight:900;font-size:10px;background:rgba(220,35,45,.1);color:#c82e38}
.pga-pdf-info strong,.pga-pdf-info small,.pga-pdf-info span{display:block}.pga-pdf-info small{font-size:9px;opacity:.65;margin-top:2px}.pga-pdf-info span{font-size:8px;opacity:.58;margin-top:4px}
.pga-pdf-actions{display:flex;gap:5px;align-items:center}.pga-pdf-actions a,.pga-pdf-actions button{border:1px solid var(--pp-border,#dfe6ec);background:transparent;color:inherit;text-decoration:none;border-radius:8px;padding:6px 8px;font-size:9px}
@media(max-width:900px){.pga-pdf-upload-grid{grid-template-columns:1fr 1fr}.pga-pdf-file{grid-column:1/-1}.pga-pdf-list{grid-template-columns:1fr}}
@media(max-width:560px){.pga-pdf-upload-grid{grid-template-columns:1fr}.pga-pdf-file{grid-column:auto}.pga-pdf-card{grid-template-columns:42px 1fr}.pga-pdf-actions{grid-column:1/-1;justify-content:flex-end}}

/* =========================================================
   LORITO360 · TABLAS PROFESIONALES
   ========================================================= */

:root{
  --l360-table-border: rgba(148,163,184,.22);
  --l360-table-soft: rgba(148,163,184,.08);
  --l360-table-hover: rgba(37,99,235,.055);
  --l360-table-head: rgba(15,23,42,.045);
  --l360-table-accent: #2563eb;
}

.pga-acta-table-wrap,
.pga-table-wrap,
.pga-responsive-table,
.pga-alumnos-table-wrap,
.pga-matriculados-wrap{
  border:1px solid var(--l360-table-border);
  border-radius:16px;
  overflow:auto;
  background:var(--pp-panel,#fff);
  box-shadow:0 8px 28px rgba(15,23,42,.05);
}

.pga-acta-table,
.pga-table-pro,
.pga-alumnos-table,
.pga-matriculados-table,
.pga-manual-table,
.pga-registros-table,
.pga-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:transparent;
  font-size:12px;
  line-height:1.4;
}

.pga-acta-table thead th,
.pga-table-pro thead th,
.pga-alumnos-table thead th,
.pga-matriculados-table thead th,
.pga-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:12px 13px;
  background:var(--pp-panel,#fff);
  color:inherit;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  text-align:left;
  border-bottom:1px solid var(--l360-table-border);
  white-space:nowrap;
}

.pga-acta-table thead th::after,
.pga-table-pro thead th::after,
.pga-alumnos-table thead th::after,
.pga-matriculados-table thead th::after,
.pga-table thead th::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:var(--l360-table-border);
}

.pga-acta-table tbody td,
.pga-table-pro tbody td,
.pga-alumnos-table tbody td,
.pga-matriculados-table tbody td,
.pga-table tbody td{
  padding:11px 13px;
  border-bottom:1px solid var(--l360-table-border);
  vertical-align:middle;
  color:inherit;
  background:transparent;
}

.pga-acta-table tbody tr:last-child td,
.pga-table-pro tbody tr:last-child td,
.pga-alumnos-table tbody tr:last-child td,
.pga-matriculados-table tbody tr:last-child td,
.pga-table tbody tr:last-child td{
  border-bottom:0;
}

.pga-acta-table tbody tr,
.pga-table-pro tbody tr,
.pga-alumnos-table tbody tr,
.pga-matriculados-table tbody tr,
.pga-table tbody tr{
  transition:background .16s ease, transform .16s ease;
}

.pga-acta-table tbody tr:hover,
.pga-table-pro tbody tr:hover,
.pga-alumnos-table tbody tr:hover,
.pga-matriculados-table tbody tr:hover,
.pga-table tbody tr:hover{
  background:var(--l360-table-hover);
}

.pga-acta-table td:first-child,
.pga-table-pro td:first-child,
.pga-alumnos-table td:first-child,
.pga-matriculados-table td:first-child,
.pga-table td:first-child{
  font-weight:800;
  color:var(--l360-table-accent);
}

.pga-acta-table td strong,
.pga-table-pro td strong{
  font-weight:900;
}

.pga-final-table th,
.pga-final-table td{
  text-align:center;
}

.pga-final-table th:nth-child(2),
.pga-final-table td:nth-child(2),
.pga-final-table th:nth-child(3),
.pga-final-table td:nth-child(3){
  text-align:left;
}

/* Score cells */
.pga-acta-table td:nth-last-child(1),
.pga-acta-table td:nth-last-child(2),
.pga-acta-table td:nth-last-child(3){
  font-variant-numeric:tabular-nums;
  font-weight:800;
}

/* Professional empty/error states inside tables */
.pga-empty,
.pga-table-empty{
  border:1px dashed var(--l360-table-border);
  border-radius:14px;
  padding:18px;
  text-align:center;
  background:var(--l360-table-soft);
}

.pga-empty strong,
.pga-table-empty strong{
  display:block;
  font-size:12px;
  margin-bottom:4px;
}

.pga-empty span,
.pga-table-empty span{
  display:block;
  font-size:10px;
  opacity:.65;
}

/* Toolbar refinement */
.pga-actas-toolbar{
  border:1px solid var(--l360-table-border);
  border-radius:14px;
  padding:10px;
  background:var(--pp-panel,#fff);
  box-shadow:0 6px 18px rgba(15,23,42,.035);
}

.pga-actas-toolbar label span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.72;
}

.pga-actas-toolbar select{
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.pga-actas-toolbar select:focus{
  outline:none;
  border-color:var(--l360-table-accent);
  box-shadow:0 0 0 3px rgba(37,99,235,.11);
}

/* Acta title */
.pga-acta-sheet{
  border-radius:16px;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}

.pga-acta-sheet-head{
  padding-bottom:10px;
  border-bottom:1px solid var(--l360-table-border);
}

.pga-acta-sheet-head h3{
  font-size:18px;
  line-height:1.2;
}

.pga-acta-sheet-head button{
  font-weight:800;
  transition:background .15s ease, border-color .15s ease;
}

.pga-acta-sheet-head button:hover{
  background:var(--l360-table-soft);
  border-color:rgba(37,99,235,.28);
}

/* Mobile: keep readable, scroll horizontally only inside table */
@media(max-width:700px){
  .pga-acta-table-wrap,
  .pga-table-wrap,
  .pga-responsive-table,
  .pga-alumnos-table-wrap,
  .pga-matriculados-wrap{
    border-radius:12px;
    -webkit-overflow-scrolling:touch;
  }

  .pga-acta-table,
  .pga-table-pro,
  .pga-alumnos-table,
  .pga-matriculados-table,
  .pga-table{
    min-width:760px;
    font-size:11px;
  }

  .pga-acta-table thead th,
  .pga-table-pro thead th,
  .pga-alumnos-table thead th,
  .pga-matriculados-table thead th,
  .pga-table thead th{
    padding:10px 9px;
    font-size:9px;
  }

  .pga-acta-table tbody td,
  .pga-table-pro tbody td,
  .pga-alumnos-table tbody td,
  .pga-matriculados-table tbody td,
  .pga-table tbody td{
    padding:10px 9px;
  }

  .pga-actas-toolbar{
    padding:9px;
  }
}

/* Dark mode refinement */
body.pp-dark .pga-acta-table-wrap,
body.pp-dark .pga-table-wrap,
body.pp-dark .pga-responsive-table,
body.pp-dark .pga-alumnos-table-wrap,
body.pp-dark .pga-matriculados-wrap,
body.pp-dark .pga-acta-sheet,
body.pp-dark .pga-actas-toolbar{
  box-shadow:none;
}

.pga-pdf-actions .pga-open-pdf{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  font-weight:800;border-color:rgba(37,99,235,.28);
}
.pga-pdf-actions .pga-open-pdf:hover{
  background:rgba(37,99,235,.08);
}

/* =========================================================
   LORITO360 · MATERIAL DIDÁCTICO + ACTAS · UI PROFESIONAL
   ========================================================= */

.pga-pro-page{
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:100%;
}

.pga-pro-page .pga-eyebrow{
  display:inline-block;
  margin-bottom:5px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.55;
}

.pga-material-centro-title,
.pga-actas-head{
  padding:2px 2px 4px;
}

.pga-material-centro-title h2,
.pga-actas-head h2{
  margin:0 0 5px;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.025em;
}

.pga-material-centro-title p,
.pga-actas-head p{
  margin:0;
  max-width:760px;
  font-size:11px;
  line-height:1.55;
  opacity:.68;
}

/* Generic card */
.pga-pro-card{
  border:1px solid rgba(148,163,184,.20);
  border-radius:18px;
  background:var(--pp-panel,#fff);
  box-shadow:0 10px 30px rgba(15,23,42,.055);
}

/* Toolbars / filters */
.pga-pro-toolbar{
  display:grid;
  gap:10px;
  align-items:end;
  padding:12px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:16px;
  background:var(--pp-panel,#fff);
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}

.pga-material-level-picker.pga-pro-toolbar{
  grid-template-columns:minmax(240px,380px);
}

.pga-pro-toolbar label{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}

.pga-pro-toolbar label > span,
.pga-pdf-upload-grid label > span{
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
  opacity:.65;
}

.pga-pro-toolbar select,
.pga-pro-toolbar input,
.pga-pdf-upload-grid select,
.pga-pdf-upload-grid input{
  width:100%;
  min-height:42px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:11px;
  padding:8px 10px;
  background:var(--pp-panel,#fff);
  color:inherit;
  font-size:11px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.pga-pro-toolbar select:focus,
.pga-pro-toolbar input:focus,
.pga-pdf-upload-grid select:focus,
.pga-pdf-upload-grid input:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}

/* Buttons */
.pga-btn-primary,
.pga-pro-toolbar .pga-btn-primary,
.pga-pdf-upload .pga-btn-primary{
  min-height:40px;
  border:0;
  border-radius:11px;
  padding:9px 14px;
  background:#2563eb;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(37,99,235,.18);
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.pga-btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(37,99,235,.22);
}

.pga-btn-primary:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

/* Material didáctico */
.pga-manuales{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.pga-manuales-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:2px;
}

.pga-manuales-head h3{
  margin:3px 0 4px;
  font-size:18px;
}

.pga-manuales-head p{
  margin:0;
  max-width:720px;
  font-size:10px;
  line-height:1.5;
  opacity:.67;
}

.pga-pdf-upload{
  padding:14px;
}

.pga-pdf-upload-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.pga-pdf-help{
  margin:10px 0 12px;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(37,99,235,.055);
  font-size:9px;
  line-height:1.5;
  opacity:.78;
}

.pga-pdf-list{
  gap:10px;
}

.pga-pdf-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.20);
  border-radius:16px;
  padding:12px;
  background:var(--pp-panel,#fff);
  box-shadow:0 7px 22px rgba(15,23,42,.045);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pga-pdf-card:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.24);
  box-shadow:0 12px 28px rgba(15,23,42,.07);
}

.pga-pdf-icon{
  width:42px;
  height:42px;
  border-radius:11px;
  font-size:10px;
  letter-spacing:.04em;
}

.pga-pdf-info strong{
  font-size:12px;
  line-height:1.3;
}

.pga-pdf-info small{
  margin-top:3px;
  font-size:9px;
  line-height:1.35;
  opacity:.62;
}

.pga-pdf-info span{
  margin-top:5px;
  font-size:8px;
  line-height:1.4;
  opacity:.55;
}

.pga-pdf-actions{
  gap:6px;
}

.pga-pdf-actions a,
.pga-pdf-actions button{
  min-height:32px;
  border-radius:9px;
  padding:6px 9px;
  font-size:9px;
  font-weight:800;
}

/* Actas tabs */
.pga-pro-tabs{
  display:flex;
  gap:7px;
  padding:5px;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(148,163,184,.20);
  border-radius:13px;
  background:rgba(148,163,184,.055);
}

.pga-pro-tabs button{
  border:0;
  background:transparent;
  color:inherit;
  border-radius:9px;
  padding:8px 12px;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}

.pga-pro-tabs button.is-active{
  background:var(--pp-panel,#fff);
  color:#2563eb;
  box-shadow:0 3px 10px rgba(15,23,42,.07);
}

/* Actas filters */
.pga-actas-toolbar.pga-pro-toolbar{
  grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(220px,1.4fr) auto;
}

/* Acta card */
.pga-acta-sheet{
  padding:14px;
}

.pga-acta-sheet-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding-bottom:12px;
  margin-bottom:0;
  border-bottom:1px solid rgba(148,163,184,.18);
}

.pga-acta-sheet-head span{
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  opacity:.52;
}

.pga-acta-sheet-head h3{
  margin:4px 0;
  font-size:18px;
  letter-spacing:-.015em;
}

.pga-acta-sheet-head p{
  margin:0;
  font-size:10px;
  opacity:.62;
}

.pga-acta-sheet-head button{
  flex:0 0 auto;
  min-height:34px;
  border:1px solid rgba(148,163,184,.25);
  border-radius:9px;
  background:transparent;
  color:inherit;
  padding:7px 10px;
  font-size:9px;
  font-weight:900;
}

/* Tables */
.pga-acta-table-wrap{
  margin-top:12px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  background:var(--pp-panel,#fff);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  box-shadow:none;
}

.pga-acta-table,
.pga-table-pro{
  border-collapse:separate;
  border-spacing:0;
  width:100%;
  min-width:820px;
  font-size:11px;
}

.pga-acta-table thead th,
.pga-table-pro thead th{
  position:sticky;
  top:0;
  z-index:3;
  padding:11px 10px;
  background:var(--pp-panel,#fff);
  border-bottom:1px solid rgba(148,163,184,.24);
  font-size:8.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
  color:inherit;
  white-space:nowrap;
}

.pga-acta-table tbody td,
.pga-table-pro tbody td{
  padding:10px;
  border-bottom:1px solid rgba(148,163,184,.14);
  font-size:10px;
  line-height:1.35;
  white-space:nowrap;
  vertical-align:middle;
}

.pga-acta-table tbody tr:last-child td,
.pga-table-pro tbody tr:last-child td{
  border-bottom:0;
}

.pga-acta-table tbody tr:nth-child(even),
.pga-table-pro tbody tr:nth-child(even){
  background:rgba(148,163,184,.025);
}

.pga-acta-table tbody tr:hover,
.pga-table-pro tbody tr:hover{
  background:rgba(37,99,235,.05);
}

.pga-acta-table th:first-child,
.pga-acta-table td:first-child{
  width:52px;
  text-align:center;
}

.pga-acta-table th:nth-child(2),
.pga-acta-table td:nth-child(2){
  min-width:190px;
  text-align:left;
}

.pga-acta-table td{
  font-variant-numeric:tabular-nums;
}

.pga-acta-table td strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:25px;
  border-radius:7px;
  background:rgba(37,99,235,.075);
  font-weight:900;
}

/* Final act result */
.pga-final-table td:last-child strong{
  background:rgba(16,185,129,.10);
  padding:4px 7px;
}

/* Signatures */
.pga-acta-signatures{
  gap:28px;
  margin-top:42px;
  padding:0 4px 4px;
}

.pga-acta-signatures div{
  border-top:1px solid rgba(148,163,184,.42);
  padding-top:7px;
}

.pga-acta-signatures span{
  font-size:9px;
  font-weight:700;
  opacity:.65;
}

/* Empty states */
.pga-empty{
  padding:22px 16px;
  border:1px dashed rgba(148,163,184,.30);
  border-radius:14px;
  background:rgba(148,163,184,.035);
}

.pga-empty strong{
  font-size:11px;
}

.pga-empty span{
  margin-top:4px;
  font-size:9px;
  opacity:.6;
}

/* Dark mode */
body.pp-dark .pga-pro-card,
body.pp-dark .pga-pro-toolbar,
body.pp-dark .pga-pdf-card,
body.pp-dark .pga-acta-table-wrap{
  box-shadow:none;
}

/* Responsive */
@media(max-width:980px){
  .pga-pdf-upload-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pga-pdf-file{
    grid-column:1/-1;
  }

  .pga-actas-toolbar.pga-pro-toolbar{
    grid-template-columns:1fr 1fr;
  }

  .pga-actas-toolbar.pga-pro-toolbar .pga-btn-primary{
    grid-column:1/-1;
  }
}

@media(max-width:640px){
  .pga-material-centro-title h2,
  .pga-actas-head h2{
    font-size:21px;
  }

  .pga-manuales-head{
    flex-direction:column;
    align-items:stretch;
  }

  .pga-manuales-head .pga-btn-primary{
    width:100%;
  }

  .pga-pdf-upload-grid{
    grid-template-columns:1fr;
  }

  .pga-pdf-file{
    grid-column:auto;
  }

  .pga-pdf-card{
    grid-template-columns:42px 1fr;
  }

  .pga-pdf-actions{
    grid-column:1/-1;
    justify-content:flex-end;
  }

  .pga-pro-tabs{
    width:100%;
  }

  .pga-pro-tabs button{
    flex:1;
  }

  .pga-actas-toolbar.pga-pro-toolbar{
    grid-template-columns:1fr;
  }

  .pga-actas-toolbar.pga-pro-toolbar .pga-btn-primary{
    grid-column:auto;
    width:100%;
  }

  .pga-acta-sheet{
    padding:10px;
  }

  .pga-acta-sheet-head{
    flex-direction:column;
  }

  .pga-acta-sheet-head button{
    width:100%;
  }

  .pga-acta-table,
  .pga-table-pro{
    min-width:780px;
  }

  .pga-acta-signatures{
    grid-template-columns:1fr;
    gap:30px;
  }
}

.pga-pdf-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px){.pga-pdf-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.pga-pdf-upload-grid{grid-template-columns:1fr;}}


/* Lorito360 · Centro · Tutores y familias */
.pga-family-page{min-width:0;padding-bottom:28px}
.pga-family-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.pga-family-head h2{margin:5px 0 4px;font-size:26px;line-height:1.15;color:#0f172a}
.pga-family-head p{margin:0;color:#64748b;font-size:13px}
.pga-family-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.pga-family-kpis article{background:#fff;border:1px solid #e5eaf1;border-radius:17px;padding:15px;box-shadow:0 8px 24px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:3px}
.pga-family-kpis span{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.pga-family-kpis strong{font-size:24px;color:#0f172a}.pga-family-kpis small{font-size:10px;color:#94a3b8}
.pga-family-tabs{display:flex;gap:5px;padding:5px;background:#eef2f7;border-radius:14px;width:max-content;max-width:100%;margin-bottom:14px}
.pga-family-tabs button{border:0;background:transparent;padding:9px 15px;border-radius:10px;color:#64748b;font-weight:800;font-size:12px;cursor:pointer}.pga-family-tabs button.is-active{background:#fff;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.07)}
.pga-family-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px}.pga-family-toolbar h3{margin:0 0 2px;font-size:15px;color:#0f172a}.pga-family-toolbar p{margin:0;font-size:11px;color:#64748b}
.pga-family-form-card{background:#fff;border:1px solid #dfe6ef;border-radius:18px;padding:15px;margin-bottom:13px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.pga-family-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.pga-family-form-grid label{display:flex;flex-direction:column;gap:5px}.pga-family-form-grid label>span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#64748b}
.pga-family-form-grid input,.pga-family-form-grid select,.pga-family-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d8e0ea;border-radius:11px;padding:10px 11px;background:#fff;color:#0f172a;font:inherit;font-size:12px;outline:none}
.pga-family-form-grid input,.pga-family-form-grid select{height:41px}.pga-family-form-grid input:focus,.pga-family-form-grid select:focus,.pga-family-form-grid textarea:focus{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.15)}
.pga-family-wide{grid-column:1/-1}.pga-family-help{font-size:11px;color:#64748b;margin:10px 0}
.pga-family-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e5eaf1;border-radius:17px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.pga-family-table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.pga-family-table-wrap th{padding:10px 12px;text-align:left;background:#f8fafc;color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e5eaf1}.pga-family-table-wrap td{padding:11px 12px;font-size:12px;color:#334155;border-bottom:1px solid #eef2f7}.pga-family-table-wrap tr:last-child td{border-bottom:0}
.pga-family-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.pga-family-status.ok{background:#ecfdf5;color:#047857}.pga-family-status.warn{background:#fff7ed;color:#b45309}
@media(max-width:920px){.pga-family-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pga-family-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pga-family-head,.pga-family-toolbar{flex-direction:column;align-items:stretch}.pga-family-kpis{gap:7px}.pga-family-kpis article{padding:12px}.pga-family-kpis strong{font-size:20px}.pga-family-tabs{width:100%}.pga-family-tabs button{flex:1;padding:8px 6px}.pga-family-form-grid{grid-template-columns:1fr}.pga-family-wide{grid-column:auto}.pga-family-form-card{padding:12px}}
@media(prefers-color-scheme:dark){
 body:not(.light-mode) .pga-family-head h2,body:not(.light-mode) .pga-family-kpis strong,body:not(.light-mode) .pga-family-toolbar h3{color:#f8fafc}
 body:not(.light-mode) .pga-family-kpis article,body:not(.light-mode) .pga-family-form-card,body:not(.light-mode) .pga-family-table-wrap{background:#111827;border-color:#263244}
 body:not(.light-mode) .pga-family-tabs{background:#172033} body:not(.light-mode) .pga-family-tabs button.is-active{background:#263244;color:#fff}
 body:not(.light-mode) .pga-family-form-grid input,body:not(.light-mode) .pga-family-form-grid select,body:not(.light-mode) .pga-family-form-grid textarea{background:#0f172a;border-color:#334155;color:#f8fafc}
 body:not(.light-mode) .pga-family-table-wrap th{background:#172033;border-color:#263244}body:not(.light-mode) .pga-family-table-wrap td{border-color:#263244;color:#cbd5e1}
}

.pga-family-mini{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:9px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}
.pga-family-mini:hover{background:#f8fafc}.pga-family-mini.danger{color:#b91c1c;border-color:#fecaca;background:#fff7f7}

.pga-shared-access-note{margin:12px 0;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}
.pga-shared-access-note strong{display:block;margin-bottom:4px}.pga-shared-access-note p{margin:0;font-size:12px;line-height:1.45}

/* Tabla de matriculados 4.0.1 */
.pga-matriculados-holder{width:100%;min-width:0}
.pga-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
.pga-tabla-matriculados{width:100%;border-collapse:separate;border-spacing:0;min-width:920px}
.pga-tabla-matriculados th,.pga-tabla-matriculados td{vertical-align:middle}
.pga-tabla-matriculados th:last-child,.pga-tabla-matriculados td:last-child{min-width:190px}
.pga-matriculados-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pga-tutor-phone{display:block;margin-top:3px}
.pga-muted{opacity:.65}
.pga-mini-btn-danger{border-color:#fecaca!important;color:#b91c1c!important}
@media (max-width:700px){
  .pga-table-scroll{overflow:visible}
  .pga-tabla-matriculados{min-width:0;border:0}
  .pga-tabla-matriculados thead{display:none}
  .pga-tabla-matriculados,.pga-tabla-matriculados tbody,.pga-tabla-matriculados tr,.pga-tabla-matriculados td{display:block;width:100%}
  .pga-tabla-matriculados tr{margin:0 0 12px;padding:12px;border:1px solid rgba(148,163,184,.3);border-radius:14px;background:var(--pp-card-bg,#fff)}
  .pga-tabla-matriculados td{display:grid;grid-template-columns:minmax(90px,34%) 1fr;gap:10px;padding:7px 0!important;border:0!important;min-width:0!important}
  .pga-tabla-matriculados td:before{content:attr(data-label);font-size:11px;font-weight:800;opacity:.65;text-transform:uppercase;letter-spacing:.03em}
  .pga-tabla-matriculados td.pga-matriculados-actions{display:grid;grid-template-columns:minmax(90px,34%) 1fr}
  .pga-tabla-matriculados td.pga-matriculados-actions:after{content:"";display:none}
  .pga-matriculados-actions .pga-mini-btn{width:100%;margin:0 0 6px}
}

.pga-visible-password{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.08em;padding:6px 8px;border-radius:8px;background:#f1f5f9;color:#0f172a;white-space:nowrap}
.pga-tabla-matriculados{min-width:1040px}

/* 4.0.3 · Matriculados: scroll horizontal real */
.pga-matriculados-holder{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.pga-matriculados-holder .pga-table-scroll{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  padding-bottom:10px;
}
.pga-matriculados-holder .pga-tabla-matriculados{
  display:table!important;
  width:max-content!important;
  min-width:1040px!important;
  max-width:none!important;
  table-layout:auto!important;
}
.pga-matriculados-holder .pga-tabla-matriculados thead{display:table-header-group!important}
.pga-matriculados-holder .pga-tabla-matriculados tbody{display:table-row-group!important}
.pga-matriculados-holder .pga-tabla-matriculados tr{
  display:table-row!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.pga-matriculados-holder .pga-tabla-matriculados th,
.pga-matriculados-holder .pga-tabla-matriculados td{
  display:table-cell!important;
  width:auto!important;
  min-width:110px!important;
  padding:10px 12px!important;
  border-radius:0!important;
  white-space:nowrap;
}
.pga-matriculados-holder .pga-tabla-matriculados td:before{
  content:none!important;
  display:none!important;
}
.pga-matriculados-holder .pga-matriculados-actions{
  display:table-cell!important;
  min-width:220px!important;
}
.pga-matriculados-holder .pga-matriculados-actions .pga-mini-btn{
  width:auto!important;
  margin:2px 4px 2px 0!important;
}
.pga-matriculados-holder .pga-table-scroll::-webkit-scrollbar{height:10px}
.pga-matriculados-holder .pga-table-scroll::-webkit-scrollbar-thumb{
  background:rgba(100,116,139,.45);
  border-radius:999px;
}
.pga-matriculados-holder .pga-table-scroll::-webkit-scrollbar-track{
  background:rgba(148,163,184,.12);
  border-radius:999px;
}
@media(max-width:700px){
  .pga-matriculados-holder .pga-table-scroll{
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  .pga-matriculados-holder .pga-tabla-matriculados{
    display:table!important;
    width:max-content!important;
    min-width:1040px!important;
  }
  .pga-matriculados-holder .pga-tabla-matriculados thead{display:table-header-group!important}
  .pga-matriculados-holder .pga-tabla-matriculados tbody{display:table-row-group!important}
  .pga-matriculados-holder .pga-tabla-matriculados tr{display:table-row!important}
  .pga-matriculados-holder .pga-tabla-matriculados th,
  .pga-matriculados-holder .pga-tabla-matriculados td{display:table-cell!important}
}
