/**
 * Bridge WP: logo del plugin + ocultar chrome Elementor.
 * El look&feel viene íntegramente de coedpi-proto-v1.css (CSS del prototipo).
 */
body.coedpi-proto-shell {
	background: var(--ivory, #fbfaf7) !important;
}

body.coedpi-proto-shell .elementor-location-header,
body.coedpi-proto-shell .elementor-location-footer,
body.coedpi-proto-shell .eael-breadcrumbs,
body.coedpi-proto-shell .coedpi-chrome-hide {
	display: none !important;
}

body.coedpi-proto-shell .site-main,
body.coedpi-proto-shell #content,
body.coedpi-proto-shell .page-content,
body.coedpi-proto-shell .elementor-17644,
body.coedpi-proto-shell .elementor-page-17644 {
	background: var(--ivory, #fbfaf7) !important;
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

body.coedpi-proto-shell .elementor-widget-shortcode > .elementor-widget-container {
	padding: 0 !important;
	max-width: none !important;
}

/* Logo local del plugin (sustituye /coedpi-logo.png del prototipo) */
.sidebar .side-brand img,
.mobile-brand img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}

/* Vista móvil: quitar logo + texto COEDPI de la barra superior (queda ☰ + acciones). */
@media (max-width: 900px) {
	.app-header .mobile-brand,
	.coedpi-app-header .coedpi-mobile-brand {
		display: none !important;
	}
}

/* Enlaces del menú como botones del prototipo */
.sidebar nav a.nav-link {
	color: #655f58;
	text-align: left;
	background: 0 0;
	border: 0;
	border-radius: 9px;
	align-items: center;
	gap: 11px;
	width: 100%;
	min-height: 42px;
	padding: 8px 10px;
	display: flex;
	text-decoration: none;
	font: inherit;
	font-size: 12px;
	font-weight: 650;
	cursor: pointer;
	box-sizing: border-box;
}

.sidebar nav a.nav-link:hover {
	color: var(--ink);
	background: #faf7ef;
}

.sidebar nav a.nav-link.active {
	background: var(--gold-soft);
	color: #6d5910;
}

.sidebar nav a.nav-link i {
	font-style: normal;
	width: 1.1em;
	text-align: center;
}

.sidebar nav a.nav-link span {
	flex: 1;
}

.context-actions a {
	color: var(--olive);
	background: 0 0;
	border: 0;
	font-size: 9px;
	font-weight: 850;
	text-align: left;
	padding: 6px 4px;
	text-decoration: none;
	cursor: pointer;
}

.context-actions a:hover {
	text-decoration: underline;
}

/* Menú lateral: scroll en el medio + tip/logout fijos al pie (evita margin-top:auto + sticky) */
.sidebar {
	display: flex;
	flex-direction: column;
	height: 100vh;
	height: 100dvh;
	max-height: 100dvh;
	overflow: hidden;
	box-sizing: border-box;
}
.side-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}
.side-footer {
	flex: 0 0 auto;
	padding: 10px 0 calc(14px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--line, #e8e2d6);
	background: #fff;
	z-index: 2;
}
.side-footer .side-note {
	margin-top: 0 !important;
	margin-bottom: 10px;
}
.side-logout-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid var(--line, #e8e2d6);
	background: #fff;
	color: var(--ink, #1a1a1a);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	box-sizing: border-box;
	width: 100%;
}
.side-logout-link:hover {
	border-color: var(--olive, #6b7c3a);
	color: var(--olive, #6b7c3a);
}
.nav-link-logout span {
	font-weight: 700;
}

/* Acciones rápidas: botones con href */
.quick-strip > div:last-child > a.quick-action {
	text-align: left;
	background: #faf8f2;
	border: 0;
	border-radius: 11px;
	align-items: center;
	gap: 8px;
	min-height: 62px;
	padding: 9px;
	display: flex;
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
}

.quick-strip > div:last-child > a.quick-action:first-child {
	background: #fff5c9;
	grid-column: span 2;
}

.quick-strip > div:last-child > a.quick-action > i {
	color: var(--olive);
	background: #fff;
	border-radius: 8px;
	justify-content: center;
	align-items: center;
	width: 34px;
	height: 34px;
	font-size: 14px;
	font-style: normal;
	display: flex;
	flex: 0 0 34px;
}

.quick-strip > div:last-child > a.quick-action > span {
	flex: 1;
	display: grid;
}

.quick-strip > div:last-child > a.quick-action strong {
	font-size: 11px;
}

.quick-strip > div:last-child > a.quick-action small {
	color: var(--muted);
	font-size: 9px;
}

.quick-strip > div:last-child > a.quick-action > b {
	color: var(--olive);
}

.quick-strip > div:last-child > span.quick-action.soon {
	opacity: 0.55;
	text-align: left;
	background: #ebe6dc;
	border-radius: 11px;
	align-items: center;
	gap: 8px;
	min-height: 62px;
	padding: 9px;
	display: flex;
}

.school-card a.btn {
	width: 100%;
	margin-top: auto;
	text-decoration: none;
	box-sizing: border-box;
}

.school-card .role-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0;
}

.real-school-logo {
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--line, #e8e4d8);
	border-radius: 12px;
	flex-shrink: 0;
}
.real-school-logo.small {
	width: 40px;
	height: 40px;
}
.real-school-logo.large,
.page-intro-school-logo {
	width: 72px;
	height: 72px;
	max-width: 96px;
	max-height: 96px;
}
.page-intro {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 14px 18px;
}
.page-intro > .page-intro-school-logo,
.page-intro > .real-school-logo {
	order: 0;
}
.page-intro > div:first-of-type {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
}
.page-intro-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	flex: 0 1 auto;
}
.page-intro-actions .btn {
	white-space: nowrap;
}
.school-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}
.school-card-head .real-school-logo {
	width: 56px;
	height: 56px;
}

/* Tutor · abrir parte (área personal → Partes) */
.coedpi-tutor-parte-form {
	display: grid;
	grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) auto;
	gap: 12px 14px;
	align-items: end;
}
.coedpi-tutor-parte-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	min-width: 0;
	font-size: 12px;
	font-weight: 750;
	color: var(--muted, #8a847a);
}
.coedpi-tutor-parte-field > span {
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 11px;
}
.coedpi-tutor-parte-form select:not([multiple]):not([size]) {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 40px !important;
	height: 40px !important;
	line-height: 38px !important;
	padding: 0 32px 0 12px !important;
	font-size: 13px !important;
	font-weight: 650 !important;
}
.coedpi-tutor-parte-actions {
	display: flex;
	align-items: flex-end;
}
@media (max-width: 720px) {
	.coedpi-tutor-parte-form {
		grid-template-columns: 1fr;
	}
	.coedpi-tutor-parte-actions .btn {
		width: 100%;
	}
}

/* Usuario del header como <a> (en prototipo es <button>) */
a.user {
	background: 0 0;
	border: 0;
	align-items: center;
	gap: 8px;
	display: flex;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

a.user > span {
	background: var(--gold-soft);
	color: var(--olive);
	border: 1px solid #ead78c;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	width: 34px;
	height: 34px;
	font-size: 9px;
	font-weight: 850;
	display: flex;
	flex: 0 0 34px;
}

a.user div {
	text-align: left;
	display: grid;
}

a.user strong {
	font-size: 10px;
}

a.user small {
	font-size: 8px;
}

a.user i {
	color: #8e877f;
	font-style: normal;
}

/* Contenido de subpáginas (tablas/formularios legacy) dentro del card del prototipo */
.portal-page-card,
.app-shell .coedpi-portal-content {
	overflow: auto;
}

.portal-page-card h3,
.portal-page-card h4,
.app-shell .coedpi-portal-content h3,
.app-shell .coedpi-portal-content h4 {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 850;
	color: var(--ink);
}

.portal-page-card table,
.portal-page-card .wp-list-table,
.app-shell .coedpi-portal-content table,
.app-shell .dataTables_wrapper table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
	background: #fff;
}

.portal-page-card table th,
.portal-page-card table td,
.app-shell .coedpi-portal-content table th,
.app-shell .coedpi-portal-content table td {
	border-bottom: 1px solid var(--line);
	padding: 10px 8px;
	text-align: left;
}

.portal-page-card table th,
.app-shell .coedpi-portal-content table th {
	color: var(--muted);
	font-size: 9px;
	font-weight: 850;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Botonera legacy → look prototipo */
.app-shell .coedpicuadro {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: 0 0 16px;
	padding: 14px;
	background: #faf8f2;
	border: 1px solid var(--line, #ebe4d4);
	border-radius: 14px;
}

.app-shell a.btnormal,
.app-shell .btnormal,
.app-shell .coedpibutton,
.app-shell input[type="submit"].btnormal,
.portal-page-card a.btnormal,
.portal-page-card .btnormal,
.portal-page-card .coedpibutton,
.portal-page-card input[type="submit"] {
	border: 0;
	border-radius: 999px;
	background: var(--gold);
	color: #211c08;
	font-size: 12px;
	font-weight: 800;
	min-height: 38px;
	padding: 8px 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 6px 16px #e5bd182e;
}

.app-shell .coedpibutton.btinvertido {
	background: #fff;
	border: 1px solid #ead78c;
	box-shadow: none;
}

.app-shell .coedpicuadro .elementor-icon-list-icon,
.app-shell .coedpibutton .elementor-icon-list-icon {
	display: inline-flex;
}

.app-shell a:not(.btnormal):not(.coedpibutton):not(.btn):not(.nav-link):not(.quick-action):not(.user) {
	color: var(--olive);
	font-weight: 750;
}

.portal-page-card a:not(.btnormal):not(.coedpibutton):not(.btn) {
	color: var(--olive);
	font-weight: 750;
}

.portal-page-card .mensaje.exito,
.app-shell .mensaje.exito {
	background: #f1f4e9;
	border: 1px solid #c9d6a8;
	border-radius: 12px;
	padding: 12px 14px;
}

.portal-page-card .mensaje.error,
.app-shell .mensaje.error {
	background: #fff0ec;
	border: 1px solid #f0c4b8;
	border-radius: 12px;
	padding: 12px 14px;
}

.app-shell .notificacion.solicitudes {
	background: #fff8e1;
	border: 1px solid #ead78c;
	border-radius: 12px;
	padding: 10px 12px;
	margin: 0 0 12px;
	width: 100%;
}

.app-shell .acf-form,
.portal-page-card .acf-form,
.portal-page-card form.red_form {
	background: #fff;
	border: 1px solid var(--line, #ebe4d4);
	border-radius: 14px;
	padding: 16px;
}

.app-shell .dataTables_wrapper .dataTables_filter input {
	border: 1px solid var(--line, #ebe4d4);
	border-radius: 8px;
	padding: 6px 10px;
	font-size: 12px;
}
.app-shell .dataTables_wrapper .dataTables_length select:not([multiple]):not([size]) {
	min-width: 72px;
	width: auto;
}

/* Toolbar atletas: segmented / view-switch usan <a> (el proto solo estiliza button) */
.segmented a {
	background: 0 0;
	border: 0;
	border-radius: 999px;
	padding: 7px 12px;
	font-size: 9px;
	font-weight: 750;
	color: inherit;
	text-decoration: none;
	display: inline-block;
	white-space: nowrap;
	line-height: 1.2;
}
.segmented a.active {
	color: var(--olive);
	background: #fff;
	box-shadow: 0 2px 7px #32280a14;
}
.view-switch {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: #f1ede4;
	border-radius: 10px;
	padding: 3px;
}
.view-switch a {
	background: 0 0;
	border: 0;
	border-radius: 8px;
	padding: 9px 12px;
	font-size: 8px;
	font-weight: 800;
	color: inherit;
	text-decoration: none;
	display: inline-block;
	white-space: nowrap;
	line-height: 1.2;
}
.view-switch a.active {
	color: var(--olive);
	background: #fff;
}

/* Área personal: tabs y filtros como <a> */
.personal-tabs a,
.notification-filters a {
	white-space: nowrap;
	background: 0 0;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: 10px 12px;
	font-size: 9px;
	font-weight: 800;
	color: inherit;
	text-decoration: none;
	display: inline-block;
}
.personal-tabs a.active {
	border-color: var(--gold);
	color: var(--olive);
}

/* Tabs de filtro en gestionar grupo (mismo estilo que área personal) */
.coedpi-grupo-filter-tabs {
	margin-bottom: 0;
}
.coedpi-grupo-alumnos-toolbar .coedpi-grupo-alumnos-search input:focus {
	outline: 2px solid #e5bd1840;
	border-color: #d8b636;
}
.coedpi-seguro-tipo {
	display: inline-block;
	font-weight: 700;
	font-size: 12px;
}
.coedpi-seguro-tipo--coedpi { color: #15803d; }
.coedpi-seguro-tipo--federativa,
.coedpi-seguro-tipo--poliza { color: #92400e; }
.coedpi-seguro-tipo--sin { color: #b45309; }
.coedpi-seguro-tipo--alerta {
	color: #b91c1c;
	font-weight: 800;
}
.notification-filters a {
	border-bottom: 0;
	border-radius: 999px;
	padding: 7px 13px;
	font-weight: 750;
}
.notification-filters a.active {
	color: var(--olive);
	background: #fff;
	box-shadow: 0 2px 8px #32280a14;
}
.area-switch .avatar {
	flex: 0 0 42px;
}
.head-user {
	display: flex;
	align-items: center;
	gap: 10px;
}
.head-actions .coedpi-perfil-switch {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
}
.head-actions .coedpi-perfil-switch-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
/* Selects nativos: mismo formato que el selector de Perfil (arriba derecha) */
.app-shell select:not([multiple]):not([size]),
.coedpi-proto-shell select:not([multiple]):not([size]),
.coedpi-proto-form select:not([multiple]):not([size]),
.coedpi-partes-portal select:not([multiple]):not([size]),
.coedpi-atleta-portal select:not([multiple]):not([size]),
.coedpi-atleta-edit select:not([multiple]):not([size]),
.coedpi-public-enrollment-form select:not([multiple]):not([size]),
.coedpi-modal select:not([multiple]):not([size]),
.portal-page-card select:not([multiple]):not([size]),
.coedpi-comunicados select:not([multiple]):not([size]),
.coedpi-escuela-alta select:not([multiple]):not([size]),
.head-actions .coedpi-perfil-switch select {
	display: inline-block;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid var(--line, #e8e2d6);
	background-color: #fff;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%233d4a1f' d='M1.2 1.2L6 6l4.8-4.8'/></svg>");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 10px 7px;
	border-radius: 9px;
	min-height: 34px;
	height: 34px;
	padding: 0 28px 0 11px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 650;
	color: var(--ink, #1c1915);
	line-height: 32px;
	cursor: pointer;
	box-sizing: border-box;
	max-width: 100%;
	vertical-align: middle;
}
.head-actions .coedpi-perfil-switch select {
	display: block;
	min-width: 132px;
}
.app-shell select:not([multiple]):not([size]):focus,
.coedpi-proto-shell select:not([multiple]):not([size]):focus,
.coedpi-proto-form select:not([multiple]):not([size]):focus,
.coedpi-partes-portal select:not([multiple]):not([size]):focus,
.coedpi-atleta-portal select:not([multiple]):not([size]):focus,
.coedpi-atleta-edit select:not([multiple]):not([size]):focus,
.coedpi-public-enrollment-form select:not([multiple]):not([size]):focus,
.coedpi-modal select:not([multiple]):not([size]):focus,
.portal-page-card select:not([multiple]):not([size]):focus,
.coedpi-comunicados select:not([multiple]):not([size]):focus,
.coedpi-escuela-alta select:not([multiple]):not([size]):focus,
.head-actions .coedpi-perfil-switch select:focus {
	outline: 2px solid #e5bd1840;
	border-color: #d8b636;
}
/* Toolbar / filtros: el <label> es la caja; el select va limpio al lado del texto */
.app-shell .toolbar > label,
.coedpi-proto-shell .toolbar > label,
.app-shell .coedpi-filter-select,
.coedpi-proto-shell .coedpi-filter-select {
	display: flex !important;
	align-items: center;
	gap: 8px;
	position: relative;
	border: 1px solid var(--line, #e8e2d6);
	background: #fff;
	border-radius: 9px;
	min-height: 36px;
	padding: 0 8px 0 11px;
	width: min(260px, 100%);
	box-sizing: border-box;
	font-size: 11px;
	font-weight: 750;
	color: var(--muted, #8a847a);
}
.app-shell .toolbar > label > select:not([multiple]):not([size]),
.coedpi-proto-shell .toolbar > label > select:not([multiple]):not([size]),
.app-shell .coedpi-filter-select > select:not([multiple]):not([size]),
.coedpi-proto-shell .coedpi-filter-select > select:not([multiple]):not([size]) {
	display: block !important;
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	max-width: none;
	height: 34px !important;
	min-height: 34px !important;
	margin: 0;
	border: 0 !important;
	border-radius: 0;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%233d4a1f' d='M1.2 1.2L6 6l4.8-4.8'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 2px center !important;
	background-size: 10px 7px !important;
	padding: 0 22px 0 0 !important;
	box-shadow: none !important;
	outline: none;
	font-size: 12px;
	font-weight: 650;
	color: var(--ink, #1c1915);
	line-height: 34px;
}
.app-shell .toolbar > label > select:focus,
.coedpi-proto-shell .toolbar > label > select:focus,
.app-shell .coedpi-filter-select > select:focus,
.coedpi-proto-shell .coedpi-filter-select > select:focus {
	outline: none;
	border: 0 !important;
}
.coedpi-filter-select__lab {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--muted, #8a847a);
}
/* En formularios: ancho completo y misma altura que inputs */
.coedpi-proto-form .field-label select:not([multiple]):not([size]),
.coedpi-proto-form select:not([multiple]):not([size]),
.coedpi-atleta-edit .acf-input select:not([multiple]):not([size]),
.coedpi-public-enrollment-form select:not([multiple]):not([size]),
.coedpi-modal .coedpi-proto-form select:not([multiple]):not([size]) {
	display: block;
	width: 100%;
	height: 39px;
	min-height: 39px;
	line-height: 37px;
}
.app-shell[data-coedpi-area="personal"] .sidebar nav a.nav-link b {
	background: var(--gold);
	color: #312a0c;
	border-radius: 999px;
	padding: 2px 7px;
	font-size: 9px;
}

/* Acciones rápidas: el prototipo usa button; nosotros <a> con mismas reglas */
.quick-action-picker > a {
	border: 1px solid var(--line, #ebe4d4);
	text-align: left;
	background: #fff;
	border-radius: 12px;
	align-items: flex-start;
	gap: 8px;
	min-height: 92px;
	padding: 11px;
	display: flex;
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
}
.quick-action-picker > a.active {
	box-shadow: var(--small-shadow, 0 2px 10px #32280a14);
	background: #fff8dc;
	border-color: #d9b82b;
}
.quick-action-picker > a > i {
	background: var(--gold-soft, #fff3c4);
	color: var(--olive, #3d4a1f);
	border-radius: 8px;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	font-size: 14px;
	font-style: normal;
	display: flex;
	flex: 0 0 32px;
}
.quick-action-picker > a > span {
	flex: 1;
	display: grid;
}
.quick-action-picker > a strong { font-size: 8px; }
.quick-action-picker > a small { color: var(--muted, #7a7364); margin-top: 3px; font-size: 7px; line-height: 1.4; }
.quick-action-picker > a .badge { align-self: flex-start; font-size: 6px; }

.quick-group-grid > a {
	text-align: left;
	background: #faf8f2;
	border: 1px solid transparent;
	border-radius: 12px;
	align-items: center;
	gap: 10px;
	padding: 12px;
	display: flex;
	text-decoration: none;
	color: inherit;
}
.quick-group-grid > a:hover {
	background: #fff9df;
	border-color: #d9bd45;
}
.quick-group-grid > a > span {
	background: var(--gold-soft, #fff3c4);
	color: var(--olive, #3d4a1f);
	border-radius: 9px;
	justify-content: center;
	align-items: center;
	width: 38px;
	height: 38px;
	display: flex;
	flex: 0 0 38px;
}
.quick-group-grid > a > div { flex: 1; display: grid; }
.quick-group-grid > a small,
.quick-group-grid > a em { color: var(--muted, #7a7364); font-size: 7px; font-style: normal; }
.quick-group-grid > a strong { font-size: 10px; }
.quick-group-grid > a b { color: var(--olive, #3d4a1f); font-size: 8px; }

/* Cards de grupos: la sede no debe salirse del card */
.group-grid > .card,
.group-grid > section.card {
	min-width: 0;
	overflow: hidden;
}
.group-grid .group-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
}
.group-grid .group-head > span:first-child {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
}
.group-grid .group-head > .badge {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	width: auto !important;
	height: auto !important;
	justify-content: flex-start;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	line-height: 1.35;
	padding: 6px 10px;
}
.group-grid .group-head > .badge:before {
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
}
.group-grid p {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.quick-strip-head > a {
	color: var(--olive, #3d4a1f);
	background: 0 0;
	border: 0;
	font-size: 8px;
	font-weight: 850;
	text-decoration: none;
}

.back-nav {
	padding: 10px 22px 0;
}
.back-nav .text-link {
	font-size: 9px;
	font-weight: 850;
	color: var(--olive, #3d4a1f);
	text-decoration: none;
}
.global-alert-wrap {
	padding: 12px 22px 0;
}
.role-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 14px;
}
a.role-chip {
	border: 1px solid var(--line, #ebe4d4);
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 8px;
	font-weight: 800;
	text-decoration: none;
	color: inherit;
	background: #fff;
}
a.role-chip.active {
	background: #fff8dc;
	border-color: #d9b82b;
	color: var(--olive, #3d4a1f);
}
.stat-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 18px 0 22px;
}
.stat-grid > .card {
	padding: 14px;
}
.stat-grid > a.card.stat-grid-kpi,
.stat-grid > div.card.stat-grid-kpi {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
	cursor: pointer;
}
.stat-grid > a.card.stat-grid-kpi:hover,
.stat-grid > a.card.stat-grid-kpi:focus-visible,
.stat-grid > div.card.stat-grid-kpi:hover {
	border-color: var(--olive, #3d4a1f);
	box-shadow: 0 2px 10px rgba(61, 74, 31, .12);
	transform: translateY(-1px);
	outline: none;
}
.stat-grid > div.card.stat-grid-kpi {
	cursor: default;
}
.stat-grid .coedpi-kpi-main {
	display: block;
	text-decoration: none;
	color: inherit;
}
.stat-grid .coedpi-kpi-crear-parte {
	display: inline-block;
	margin-top: 10px;
	font-size: 12px;
	font-weight: 700;
}
.stat-grid > .card > i,
.stat-grid > .card > span:first-child {
	font-style: normal;
	display: block;
	margin-bottom: 6px;
}
.stat-grid > .card strong {
	font-size: 22px;
	display: block;
}
.stat-grid > .card small {
	display: block;
	font-weight: 800;
	margin-top: 4px;
}
.stat-grid > .card p {
	margin: 4px 0 0;
	color: var(--muted, #7a7364);
	font-size: 8px;
}
@media (max-width: 900px) {
	.stat-grid { grid-template-columns: repeat(2, 1fr); }
}

.athlete-summary {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin: 0 0 18px;
}
.athlete-summary > .card {
	padding: 14px;
}
.athlete-summary > a.card.athlete-summary-kpi {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
	cursor: pointer;
}
.athlete-summary > a.card.athlete-summary-kpi:hover,
.athlete-summary > a.card.athlete-summary-kpi:focus-visible {
	border-color: var(--olive, #3d4a1f);
	box-shadow: 0 2px 10px rgba(61, 74, 31, .12);
	transform: translateY(-1px);
	outline: none;
}
.athlete-summary > .card strong {
	font-size: 22px;
	display: block;
}
.athlete-summary > .card span {
	display: block;
	margin-top: 4px;
	color: var(--muted, #7a7364);
	font-size: 12px;
	font-weight: 700;
}
@media (max-width: 900px) {
	.athlete-summary { grid-template-columns: repeat(2, 1fr); }
}

a.bell {
	position: relative;
}
a.bell b,
a.bell .bell-badge,
button.bell b {
	position: absolute;
	top: -4px;
	right: -4px;
	background: var(--gold, #d4af37);
	color: #312a0c;
	border-radius: 999px;
	padding: 1px 6px;
	font-size: 8px;
	font-weight: 850;
	line-height: 1.4;
	min-width: 14px;
	text-align: center;
}
.notification-feed .card.is-unread {
	border-color: #d9b82b;
	background: #fffdf3;
}
.app-shell .sidebar nav a.nav-link b {
	background: var(--gold, #d4af37);
	color: #312a0c;
	border-radius: 999px;
	padding: 2px 7px;
	font-size: 9px;
	margin-left: auto;
}

/* Partes: búsqueda de atleta — contraída (solo icono) hasta pulsar */
.parte-athlete-search {
	display: flex;
	gap: 10px;
	align-items: stretch;
	margin: 0 0 14px;
	width: auto;
	max-width: 100%;
}
.parte-athlete-search__toggle {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	min-height: 42px;
	padding: 0;
	margin: 0;
	border: 1px solid var(--line, #ebe4d4);
	border-radius: 10px;
	background: #faf8f2;
	color: var(--muted, #7a7364);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: none;
}
.parte-athlete-search__toggle:hover,
.parte-athlete-search.is-open .parte-athlete-search__toggle {
	background: #fff;
	border-color: #c9b89a;
	color: #1c1915;
}
.parte-athlete-search__panel {
	display: none;
	flex: 1 1 auto;
	min-width: 0;
	gap: 10px;
	align-items: stretch;
}
.parte-athlete-search.is-open {
	width: 100%;
}
.parte-athlete-search.is-open .parte-athlete-search__panel {
	display: flex;
}
.parte-athlete-search .athlete-quick-search {
	flex: 1 1 auto;
	min-width: 0;
	background: #faf8f2;
	border: 1px solid var(--line, #ebe4d4);
	border-radius: 10px;
	align-items: center;
	gap: 8px;
	padding: 0 12px;
	display: flex !important;
	min-height: 42px;
	margin: 0;
	font-weight: 400;
}
.parte-athlete-search .athlete-quick-search input[type="search"],
.parte-athlete-search .athlete-quick-search input[type="text"] {
	border: 0 !important;
	outline: 0;
	width: 100% !important;
	min-width: 0;
	flex: 1 1 auto;
	min-height: 38px;
	background: transparent !important;
	font-size: 13px;
	display: block !important;
	appearance: none;
	-webkit-appearance: none;
}
/* El prototipo fuerza .btn { width:100% } y aplasta el input */
.parte-athlete-search .parte-athlete-search__panel > .btn,
.parte-athlete-search .parte-athlete-search__panel button.btn,
.parte-athlete-search > .btn,
.parte-athlete-search button.btn {
	width: auto !important;
	flex: 0 0 auto;
	white-space: nowrap;
}
.parte-search-hint,
.parte-search-empty {
	color: var(--muted, #7a7364);
	margin: 8px 0 0;
	font-size: 13px;
}
.parte-athlete-results {
	display: grid;
	gap: 10px;
	margin-top: 12px;
}
.parte-athlete-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
}
.parte-athlete-card > div:first-child {
	display: grid;
	gap: 2px;
}
.parte-athlete-card small,
.parte-athlete-card em {
	color: var(--muted, #7a7364);
	font-style: normal;
	font-size: 12px;
}
.parte-athlete-card strong {
	font-size: 15px;
}
.parte-athlete-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}
.coedpi-partes-portal .data-row {
	text-decoration: none;
	color: inherit;
}

/* Ficha atleta: anotaciones editables */
.coedpi-atleta-portal .coedpi-atleta-notas-form textarea {
	width: 100%;
	min-height: 140px;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #cfc8bc;
	border-radius: 8px;
	font: inherit;
	line-height: 1.4;
	resize: vertical;
	background: #fffef9;
}
.coedpi-atleta-portal .coedpi-atleta-notas-form .btn {
	width: auto !important;
	cursor: pointer;
}

/* Ficha atleta: acciones del hero y botones en cards */
.coedpi-atleta-portal .profile-actions > a.btn {
	width: auto !important;
	text-decoration: none;
}
.coedpi-atleta-portal .person-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}
.coedpi-atleta-portal .person-actions > a.btn,
.coedpi-atleta-portal .insurance-focus > a.btn {
	width: auto !important;
}
@media (max-width: 900px) {
	.coedpi-atleta-portal .health-dashboard {
		grid-template-columns: 1fr 1fr;
	}
	.coedpi-atleta-portal .two-col.athlete-profile-grid {
		grid-template-columns: 1fr;
	}
}

/* Modalidades escuela: tiles alineados al prototipo (display grid, no texto seguido) */
.family-grid > .mod-tile {
	border: 1px solid var(--line, #e8e2d6);
	text-align: left;
	background: #fff;
	border-radius: 13px;
	gap: 4px;
	min-height: 106px;
	padding: 14px;
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	align-content: start;
	cursor: pointer;
	box-sizing: border-box;
	box-shadow: none;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.family-grid > .mod-tile:hover {
	border-color: #d8b636;
	background: #fffdf7;
}
.family-grid > .mod-tile.is-active {
	box-shadow: var(--small-shadow, 0 1px 8px #32280a14);
	background: #fffaf0;
	border-color: #d8b636;
}
.family-grid > .mod-tile .mod-tile__status {
	display: block;
	color: var(--olive, #6d5910);
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.3;
}
.family-grid > .mod-tile .mod-tile__name {
	display: block;
	color: var(--ink, #1c1915);
	font-size: 13px;
	font-weight: 750;
	line-height: 1.35;
	text-transform: none;
	letter-spacing: 0;
}
.family-grid > .mod-tile .mod-tile__id {
	display: block;
	color: var(--muted, #8a847a);
	font-size: 8px;
	font-weight: 650;
	letter-spacing: .04em;
	line-height: 1.3;
	margin-top: 2px;
}
.family-grid > .mod-tile .mod-tile__check {
	width: 16px;
	height: 16px;
	margin: 8px 0 0;
	accent-color: #d8b636;
	justify-self: start;
}

/* Modalidades: toolbar (buscador + vista lista/tarjetas) */
.mod-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin: 0 0 14px;
}
.mod-search-wrap {
	flex: 1 1 220px;
	min-width: 180px;
	margin: 0;
}
.mod-family-wrap {
	flex: 0 1 240px;
	min-width: 180px;
	margin: 0;
}
.mod-family {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 13px;
	background: #fff;
	min-height: 42px;
}
.mod-search {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 14px;
	background: #fff;
}
.mod-search:focus {
	outline: 2px solid #d8b63655;
	border-color: #d8b636;
}
.mod-view-toggle {
	display: inline-flex;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.mod-view-btn {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 9px 14px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	color: var(--muted, #8a847a);
}
.mod-view-btn + .mod-view-btn {
	border-left: 1px solid var(--line, #e8e2d6);
}
.mod-view-btn.is-active {
	background: #fff8e6;
	color: var(--olive, #6d5910);
}
.mod-bulk {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mod-bulk .btn {
	width: auto !important;
	padding: 8px 12px;
	font-size: 12px;
}
.mod-count,
.mod-selected-hint {
	margin: 0;
	font-size: 12px;
	color: var(--muted, #8a847a);
}
.mod-empty {
	margin: 8px 0 0;
	font-size: 13px;
	color: var(--muted, #8a847a);
}
.mod-selected-above {
	min-height: 42px;
	margin: 0 0 14px;
	padding: 10px 12px;
	border: 1px dashed var(--line, #e8e2d6);
	border-radius: 10px;
	background: #fffdf7;
}
.mod-picked-title {
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--olive, #6d5910);
}
.mod-picked-empty {
	font-size: 13px;
	color: var(--muted, #8a847a);
}
.mod-picked-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0 6px 6px 0;
	padding: 4px 10px;
	background: #fff;
	border: 1px solid #d8b636;
	border-radius: 999px;
	font-size: 13px;
}
.mod-picked-remove {
	appearance: none;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-weight: 700;
	line-height: 1;
	padding: 0 2px;
	color: var(--olive, #6d5910);
}

/* Vista lista: filas seleccionables múltiples */
.family-grid[data-view="list"] {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.family-grid[data-view="list"] > .mod-tile {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 12px;
	row-gap: 2px;
	min-height: 0;
	padding: 10px 12px;
	border-radius: 10px;
}
.family-grid[data-view="list"] > .mod-tile .mod-tile__check {
	grid-column: 1;
	grid-row: 1 / span 2;
	margin: 0;
	width: 18px;
	height: 18px;
	justify-self: center;
}
.family-grid[data-view="list"] > .mod-tile .mod-tile__name {
	grid-column: 2;
	grid-row: 1;
	font-size: 14px;
}
.family-grid[data-view="list"] > .mod-tile .mod-tile__id {
	grid-column: 2;
	grid-row: 2;
	margin-top: 0;
}
.family-grid[data-view="list"] > .mod-tile .mod-tile__status {
	grid-column: 3;
	grid-row: 1 / span 2;
	align-self: center;
	justify-self: end;
	margin: 0;
}

.modalidades-form__actions {
	margin-top: 18px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}
.modalidades-form__actions .btn {
	width: auto !important;
}
.catalog-note {
	margin-bottom: 14px;
	font-size: 12px;
	line-height: 1.45;
}

/* Sedes: formulario al estilo prototipo (entity hero + fields) */
.entity-tabs a {
	white-space: nowrap;
	color: inherit;
	background: 0 0;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: 10px 11px;
	font-size: 8px;
	font-weight: 800;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}
.entity-tabs a.active {
	border-color: var(--gold, #e5bd18);
	color: var(--olive, #6d5910);
}
.entity-tabs a:hover {
	color: var(--olive, #6d5910);
}
a.back-link {
	display: inline-block;
	color: var(--olive, #6d5910);
	margin-bottom: 14px;
	font-size: 10px;
	font-weight: 800;
	text-decoration: none;
}
.coedpi-proto-form .field-label {
	color: var(--muted, #8a847a);
	gap: 5px;
	margin-bottom: 12px;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	display: grid;
}
.coedpi-proto-form .field-label input,
.coedpi-proto-form .field-label select,
.coedpi-proto-form .field-label textarea {
	border: 1px solid var(--line, #e8e2d6);
	background-color: #fff;
	border-radius: 9px;
	min-height: 39px;
	padding: 0 11px;
	font-size: 12px;
	font-weight: 650;
	color: var(--ink, #1c1915);
	text-transform: none;
	letter-spacing: 0;
	width: 100%;
	box-sizing: border-box;
}
.coedpi-proto-form .field-label textarea {
	min-height: 88px;
	padding: 10px 11px;
	resize: vertical;
	font-family: inherit;
}
/* select: flecha/padding los define la regla global unificada */
.coedpi-proto-form .field-label select {
	padding-right: 28px;
}
.coedpi-proto-form .field-label input:focus,
.coedpi-proto-form .field-label select:focus,
.coedpi-proto-form .field-label textarea:focus {
	outline: 2px solid #e5bd1840;
	border-color: #d8b636;
}

/* Password: ojo dentro del campo */
.coedpi-pwd-wrap {
	position: relative;
	display: block;
	width: 100%;
}
.coedpi-pwd-wrap > input[type="password"],
.coedpi-pwd-wrap > input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	padding-right: 44px !important;
}
.coedpi-pwd-toggle {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #8a847a;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	z-index: 2;
}
.coedpi-pwd-toggle:hover,
.coedpi-pwd-toggle:focus-visible {
	color: #1c1915;
	background: #f3efe6;
	outline: none;
}
.coedpi-pwd-toggle .coedpi-pwd-icon--hide { display: none; }
.coedpi-pwd-toggle.is-visible .coedpi-pwd-icon--show { display: none; }
.coedpi-pwd-toggle.is-visible .coedpi-pwd-icon--hide { display: block; }

/* Modal establecer contraseña */
.coedpi-modal-overlay {
	position: fixed;
	inset: 0;
	/* Por encima del pad ACF firma (.m-signature-pad { z-index: 5000 }) */
	z-index: 10050;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(28, 25, 21, 0.45);
	box-sizing: border-box;
}
.coedpi-modal-overlay.is-open {
	display: flex;
}
.coedpi-modal {
	position: relative;
	width: min(440px, 100%);
	max-height: min(90vh, 640px);
	overflow: auto;
	background: #fffef9;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 16px;
	padding: 22px 22px 18px;
	box-shadow: 0 24px 60px rgba(33, 28, 18, 0.22);
	animation: coedpiModalIn 0.22s ease-out;
}
@keyframes coedpiModalIn {
	from { opacity: 0; transform: translateY(10px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
.coedpi-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	color: #8a847a;
	cursor: pointer;
}
.coedpi-modal__close:hover {
	background: #f3efe6;
	color: #1c1915;
}
.coedpi-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}
.coedpi-seguro-popup-resumen {
	margin: 0 0 14px;
	font-size: 14px;
	color: var(--text, #1c1915);
	line-height: 1.45;
}
.coedpi-seguro-popup-resumen p {
	margin: 0 0 8px;
}
.coedpi-seguro-popup-resumen p:last-child {
	margin-bottom: 0;
}
.coedpi-seguro-popup-estado {
	min-height: 20px;
	margin: 0 0 8px;
	font-size: 13px;
	color: var(--muted, #6b6560);
}
#coedpi-seguro-popup .coedpi-modal {
	width: min(520px, 100%);
}
#coedpi-reclamacion-ok-popup .coedpi-modal {
	width: min(580px, 100%);
	max-height: min(92vh, 720px);
}
.coedpi-contrato-picker .coedpi-modal {
	width: min(560px, 100%);
	max-height: min(90vh, 680px);
}
.coedpi-contrato-picker-intro {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--muted, #6b6560);
}
.coedpi-contrato-picker-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}
.coedpi-contrato-picker-item {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 12px;
	background: #f8fafc;
}
.coedpi-contrato-picker-item__body {
	flex: 1 1 220px;
	min-width: 0;
}
.coedpi-contrato-picker-item strong {
	display: block;
	margin-bottom: 4px;
	color: #1a4d3e;
	font-size: 15px;
}
.coedpi-contrato-picker-meta {
	display: block;
	font-size: 13px;
	line-height: 1.4;
	color: var(--text, #1c1915);
	margin-bottom: 2px;
}
.coedpi-contrato-picker-meta em {
	font-style: normal;
	color: var(--muted, #6b6560);
}
.coedpi-contrato-picker-ref {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--muted, #6b6560);
}
.coedpi-contrato-picker-trigger {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	cursor: pointer;
	text-decoration: underline;
}
.coedpi-reclamacion-ok-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	padding: 8px 12px;
	border-radius: 999px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
	font-size: 13px;
	font-weight: 600;
}
.coedpi-reclamacion-ok-resumen,
.coedpi-reclamacion-ok-envios {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--text, #1c1915);
}
.coedpi-reclamacion-ok-resumen h4,
.coedpi-reclamacion-ok-envios h4 {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1a4d3e;
}
.coedpi-reclamacion-ok-dl {
	margin: 0;
	display: grid;
	gap: 0;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.coedpi-reclamacion-ok-dl div {
	display: grid;
	grid-template-columns: minmax(120px, 38%) 1fr;
	gap: 0;
	border-bottom: 1px solid var(--line, #e8e2d6);
}
.coedpi-reclamacion-ok-dl div:last-child {
	border-bottom: 0;
}
.coedpi-reclamacion-ok-dl dt {
	margin: 0;
	padding: 8px 12px;
	background: #f7faf8;
	color: #64748b;
	font-weight: 500;
}
.coedpi-reclamacion-ok-dl dd {
	margin: 0;
	padding: 8px 12px;
	color: #211c08;
	word-break: break-word;
}
.coedpi-reclamacion-ok-aleg {
	max-height: 120px;
	overflow: auto;
	white-space: pre-wrap;
}
.coedpi-reclamacion-ok-envios ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 8px;
}
.coedpi-reclamacion-ok-envios li {
	padding: 10px 12px;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	background: #f8fafc;
}
.coedpi-reclamacion-ok-envios strong {
	display: block;
	margin-bottom: 4px;
	color: #1a4d3e;
}
.coedpi-reclamacion-ok-envios span {
	display: block;
	font-size: 13px;
	color: var(--muted, #6b6560);
}
.coedpi-modal .coedpi-proto-form .field-label {
	margin-bottom: 14px;
}
.coedpi-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.coedpi-check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 14px;
	font-size: 12px;
	font-weight: 650;
	color: var(--ink, #1c1915);
	cursor: pointer;
}
.coedpi-check input {
	width: 16px;
	height: 16px;
	accent-color: #d8b636;
}
.coedpi-form-actions {
	margin-top: 8px;
	flex-wrap: wrap;
}
.coedpi-form-actions .btn,
.coedpi-sede-edit .person-actions .btn {
	width: auto !important;
	flex: 0 1 auto;
}
.coedpi-sede-edit .site-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 4px;
}
.coedpi-sede-edit .site-kpis > .site-kpi,
.coedpi-sede-edit .site-kpis > div {
	display: block;
	padding: 12px 10px;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	background: #fffef9;
	text-decoration: none;
	color: inherit;
	text-align: left;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.coedpi-sede-edit .site-kpis > a.site-kpi {
	cursor: pointer;
}
.coedpi-sede-edit .site-kpis > a.site-kpi:hover,
.coedpi-sede-edit .site-kpis > a.site-kpi:focus-visible {
	border-color: var(--olive, #3d4a1f);
	box-shadow: 0 2px 10px rgba(61, 74, 31, .12);
	transform: translateY(-1px);
	outline: none;
}
.coedpi-sede-edit .site-kpis strong {
	display: block;
	font-size: 22px;
	line-height: 1.1;
}
.coedpi-sede-edit .site-kpis span {
	display: block;
	margin-top: 4px;
	color: var(--muted, #7a7364);
	font-size: 12px;
	font-weight: 700;
}
@media (max-width: 760px) {
	.coedpi-sede-edit .site-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.coedpi-form-row {
		grid-template-columns: 1fr;
	}
}

/* Editar atleta: ACF dentro del panel proto */
.coedpi-atleta-edit .acf-form {
	margin: 0;
}
.coedpi-atleta-edit .acf-fields > .acf-field {
	border-color: var(--line, #e8e2d6);
	padding: 14px 0;
}
.coedpi-atleta-edit .acf-label label {
	color: var(--muted, #8a847a);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.coedpi-atleta-edit .acf-input input[type="text"],
.coedpi-atleta-edit .acf-input input[type="email"],
.coedpi-atleta-edit .acf-input input[type="number"],
.coedpi-atleta-edit .acf-input input[type="tel"],
.coedpi-atleta-edit .acf-input input[type="date"],
.coedpi-atleta-edit .acf-input select,
.coedpi-atleta-edit .acf-input textarea {
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 9px;
	min-height: 39px;
	padding: 8px 11px;
	font-size: 12px;
	width: 100%;
	box-sizing: border-box;
	background-color: #fff;
}
.coedpi-atleta-edit .acf-input select:not([multiple]):not([size]) {
	padding: 0 28px 0 11px;
	height: 39px;
	line-height: 37px;
}
.coedpi-atleta-edit .acf-form-submit {
	margin-top: 16px;
	padding-top: 8px;
}
.coedpi-atleta-edit .acf-form-submit .btn,
.coedpi-atleta-edit .acf-form-submit input[type="submit"] {
	border: 0;
	border-radius: 999px;
	background: var(--gold, #e5bd18);
	color: #211c08;
	min-height: 42px;
	padding: 9px 21px;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
	width: auto !important;
}

/* Hoja inscripción pública (App / QR) */
.public-form-shell {
	min-height: 100vh;
	background: var(--ivory, #fbfaf7);
}
.public-form-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 22px;
	border-bottom: 1px solid var(--line, #e8e2d6);
	background: #fff;
}
.public-form-header .brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--ink, #1c1915);
	font-weight: 800;
}
.public-form-header .brand img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}
.public-form-header > span {
	color: var(--muted, #8a847a);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
}
.public-form-main {
	max-width: 820px;
	margin: 0 auto;
	padding: 22px 16px 40px;
}
.coedpi-pago-colegiado {
	max-width: 560px;
	margin: 0 auto;
}
.coedpi-pago-colegiado__kicker {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted, #8a847a);
}
.coedpi-pago-colegiado h1 {
	margin: 0 0 10px;
	font-size: 26px;
	line-height: 1.2;
	color: var(--ink, #1c1915);
}
.coedpi-pago-colegiado > p {
	margin: 0 0 18px;
	color: var(--muted, #5c574f);
	font-size: 14px;
	line-height: 1.5;
}
.coedpi-pago-colegiado__card {
	background: #fff;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 14px;
	padding: 6px 18px;
	margin: 0 0 18px;
}
.coedpi-pago-colegiado__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line, #e8e2d6);
	font-size: 14px;
}
.coedpi-pago-colegiado__row:last-child {
	border-bottom: 0;
}
.coedpi-pago-colegiado__row span {
	color: var(--muted, #8a847a);
}
.coedpi-pago-colegiado__row strong {
	color: var(--ink, #1c1915);
	text-align: right;
}
.coedpi-pago-colegiado__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 4px 0 12px;
}
.coedpi-pago-colegiado__actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}
.coedpi-pago-colegiado__actions .btn.primary {
	background: #1a4d3e;
	color: #fff;
}
.coedpi-pago-colegiado__actions .btn.secondary {
	background: #e5bd18;
	color: #211c08;
}
.coedpi-pago-colegiado__hint {
	margin: 0;
	font-size: 12px;
	color: var(--muted, #8a847a);
	line-height: 1.45;
}
.coedpi-pago-colegiado__ok,
.coedpi-pago-colegiado__warn,
.coedpi-pago-colegiado__err {
	border-radius: 12px;
	padding: 12px 14px;
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.45;
}
.coedpi-pago-colegiado__ok {
	background: #e8f5ef;
	color: #1a4d3e;
}
.coedpi-pago-colegiado__warn {
	background: #fff6d8;
	color: #6a5408;
}
.coedpi-pago-colegiado__err {
	background: #fdecea;
	color: #8a1f11;
}
.public-enrollment-logo {
	width: 55px;
	height: 55px;
	object-fit: contain;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--line, #e8e2d6);
}
.coedpi-public-enrollment-form .acf-form,
.coedpi-public-enrollment-form.red_form {
	margin: 0;
}
.coedpi-public-enrollment-form .acf-fields > .acf-field,
.coedpi-public-enrollment-form .acf-field {
	border-color: var(--line, #e8e2d6);
}
.coedpi-public-enrollment-form input[type="text"],
.coedpi-public-enrollment-form input[type="email"],
.coedpi-public-enrollment-form input[type="tel"],
.coedpi-public-enrollment-form input[type="number"],
.coedpi-public-enrollment-form input[type="date"],
.coedpi-public-enrollment-form select,
.coedpi-public-enrollment-form textarea {
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 9px;
	min-height: 39px;
	padding: 8px 11px;
	font-size: 12px;
	width: 100%;
	box-sizing: border-box;
	background-color: #fff;
}
.coedpi-public-enrollment-form select:not([multiple]):not([size]) {
	padding: 0 28px 0 11px;
	height: 39px;
	line-height: 37px;
}
.coedpi-public-enrollment-form .coedpibutton,
.coedpi-public-enrollment-form .btnormal,
.coedpi-public-enrollment-form input[type="submit"] {
	border: 0;
	border-radius: 999px;
	background: var(--gold, #e5bd18);
	color: #211c08;
	min-height: 42px;
	padding: 9px 21px;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
	width: auto !important;
}
@media (max-width: 640px) {
	.public-form-header {
		padding: 10px 12px;
	}
	/* Anular .content del prototipo: máxima anchura útil en móvil */
	.public-form-main,
	.public-form-main.content,
	.app-shell.public-form-shell .public-form-main.content {
		max-width: none;
		width: 100%;
		margin: 0;
		padding: 10px 6px 28px;
		box-sizing: border-box;
	}
	.coedpi-public-enrollment {
		margin: 0;
		padding: 0;
		width: 100%;
		max-width: none;
	}
	.coedpi-public-enrollment .entity-profile-hero {
		margin: 0 0 10px;
		padding: 12px 10px;
		border-radius: 12px;
		gap: 10px;
	}
	.coedpi-public-enrollment .entity-profile-hero h1 {
		font-size: 1.25rem;
		line-height: 1.2;
	}
	.coedpi-public-enrollment .entity-profile-hero > div {
		min-width: 0;
	}
	/* Card casi a borde: priorizar campos */
	.coedpi-public-enrollment .card.portal-page-card,
	.coedpi-public-enrollment-form.card,
	section.card.coedpi-public-enrollment-form {
		padding: 10px 8px !important;
		border-radius: 12px;
		margin-left: 0;
		margin-right: 0;
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}
	.coedpi-public-enrollment-form .acf-fields > .acf-field,
	.coedpi-public-enrollment-form .acf-field {
		padding: 10px 4px !important;
	}
	.coedpi-public-enrollment-form .acf-fields.-left > .acf-field {
		padding: 10px 0 !important;
	}
	.coedpi-public-enrollment-form input[type="text"],
	.coedpi-public-enrollment-form input[type="email"],
	.coedpi-public-enrollment-form input[type="tel"],
	.coedpi-public-enrollment-form input[type="number"],
	.coedpi-public-enrollment-form input[type="date"],
	.coedpi-public-enrollment-form input[type="password"],
	.coedpi-public-enrollment-form select,
	.coedpi-public-enrollment-form textarea {
		font-size: 16px; /* evita zoom iOS al enfocar */
		min-height: 44px;
		padding: 10px 12px;
		width: 100% !important;
		max-width: 100%;
	}
	.coedpi-public-enrollment-form select:not([multiple]):not([size]) {
		height: 44px;
		line-height: 42px;
		padding: 0 32px 0 12px;
	}
	.coedpi-public-enrollment-form .coedpibutton,
	.coedpi-public-enrollment-form .btnormal,
	.coedpi-public-enrollment-form input[type="submit"] {
		width: 100% !important;
		min-height: 48px;
		font-size: 15px;
	}
	.coedpi-public-enrollment-form .acf-label,
	.coedpi-public-enrollment-form label {
		font-size: 13px;
	}
}

@media (max-width: 400px) {
	.public-form-main,
	.public-form-main.content,
	.app-shell.public-form-shell .public-form-main.content {
		padding: 8px 4px 24px;
	}
	.coedpi-public-enrollment .card.portal-page-card,
	.coedpi-public-enrollment-form.card,
	section.card.coedpi-public-enrollment-form {
		padding: 8px 4px !important;
		border-radius: 10px;
	}
	.coedpi-public-enrollment-form .acf-fields > .acf-field,
	.coedpi-public-enrollment-form .acf-field {
		padding: 8px 2px !important;
	}
}

/* Comunicación: forzar visibilidad del compositor */
.coedpi-comunicados.communication-layout {
	display: grid !important;
	grid-template-columns: 260px 1fr;
	gap: 17px;
	align-items: start;
}
.coedpi-comunicados .channel-list {
	display: grid !important;
	gap: 4px;
	align-self: start;
}
.coedpi-comunicados .channel-list .section-title {
	display: block !important;
}
.coedpi-comunicados .channel-list > button {
	display: flex !important;
	width: 100%;
	text-align: left;
	color: var(--ink, #1c1915);
	background: #fff;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 9px;
	align-items: center;
	gap: 9px;
	margin: 2px 0;
	padding: 10px;
	cursor: pointer;
}
.coedpi-comunicados .channel-list > button.active {
	background: var(--gold-soft, #fff6d6);
	color: var(--olive, #6d5910);
	border-color: #d8b636;
}
.coedpi-comunicados .composer {
	display: grid !important;
	gap: 12px;
	padding: 18px;
}
.coedpi-comunicados .composer .field-label input,
.coedpi-comunicados .composer .field-label textarea,
.coedpi-comunicados .composer .field-label select,
.coedpi-comunicados .composer input[type="text"],
.coedpi-comunicados .composer textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 9px;
	padding: 10px;
	min-height: 42px;
	background: #fff;
	color: var(--ink, #1c1915);
	font-size: 13px;
}
.coedpi-comunicados .composer textarea {
	min-height: 160px;
}
.coedpi-comunicados .composer .btn.primary {
	width: auto !important;
	justify-self: start;
}
@media (max-width: 900px) {
	.coedpi-comunicados.communication-layout {
		grid-template-columns: 1fr;
	}
}






/* Partes / incidentes (MVP siniestros) */
.coedpi-partes-portal .incident-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 16px;
}

/* KPIs perfil tutor (resumen área personal) */
.tutor-kpi-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 16px;
}
.tutor-kpi-grid > .tutor-kpi {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	text-decoration: none;
	color: inherit;
	transition: transform .12s ease, box-shadow .12s ease;
}
.tutor-kpi-grid > .tutor-kpi:hover {
	transform: translateY(-1px);
}
.tutor-kpi-grid > .tutor-kpi--primary {
	outline: 2px solid rgba(27, 94, 32, 0.18);
}
.tutor-kpi-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: #f3efe6;
	font-size: 1.1rem;
	flex: 0 0 auto;
}
.tutor-kpi--primary .tutor-kpi-icon {
	background: #e8f5e9;
	color: #1b5e20;
}
.tutor-kpi-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.tutor-kpi-body small {
	font-size: 11px;
	letter-spacing: .04em;
	color: var(--muted, #6b7280);
}
.tutor-kpi-value {
	font-size: 1.75rem;
	line-height: 1.1;
	font-weight: 700;
}
.tutor-kpi-body em {
	font-style: normal;
	font-size: 12px;
	color: var(--muted, #6b7280);
}
.tutor-kpi-go {
	margin-left: auto;
	opacity: .55;
	font-weight: 700;
}
@media (max-width: 900px) {
	.tutor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
	.tutor-kpi-grid { grid-template-columns: 1fr; }
}
.coedpi-partes-portal .incident-kpis .card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
}
.coedpi-partes-portal .incident-kpis > a.card.incident-kpi {
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
	cursor: pointer;
}
.coedpi-partes-portal .incident-kpis > a.card.incident-kpi:hover,
.coedpi-partes-portal .incident-kpis > a.card.incident-kpi:focus-visible {
	border-color: var(--olive, #3d4a1f);
	box-shadow: 0 2px 10px rgba(61, 74, 31, .12);
	transform: translateY(-1px);
	outline: none;
}
.coedpi-partes-portal .incident-kpis > a.card.incident-kpi.is-active {
	border-color: var(--olive, #3d4a1f);
	box-shadow: 0 0 0 2px rgba(61, 74, 31, .18);
}
.coedpi-partes-portal .incident-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: #f3efe6;
	font-weight: 700;
}
.coedpi-partes-portal .incident-icon.ok { background: #e8f5e9; color: #1b5e20; }
.coedpi-partes-portal .incident-icon.warn { background: #fff6d6; color: #6d5910; }
.coedpi-partes-portal .incident-icon.danger { background: #fdecea; color: #8b1e1e; }
.coedpi-partes-portal .incident-table.data-table {
	display: grid;
	gap: 0;
}
.coedpi-partes-portal .incident-table .data-row {
	display: grid;
	grid-template-columns: 1.1fr 1.2fr 1fr 0.8fr 1fr 1.4fr;
	gap: 8px;
	align-items: center;
	padding: 10px 4px;
	border-bottom: 1px solid var(--line, #e8e2d6);
	text-decoration: none;
	color: inherit;
}
.coedpi-partes-portal .incident-table .data-head {
	font-size: 11px;
	font-weight: 700;
	color: var(--muted, #6b6560);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
/* Ficha detalle: etiqueta izquierda / valor derecha */
.coedpi-partes-portal .coedpi-parte-kv {
	margin: 8px 0 0;
	padding: 0;
}
.coedpi-partes-portal .coedpi-parte-kv__row {
	display: grid;
	grid-template-columns: minmax(140px, 38%) 1fr;
	gap: 8px 16px;
	align-items: start;
	padding: 10px 0;
	border-bottom: 1px solid var(--line, #e8e2d6);
}
.coedpi-partes-portal .coedpi-parte-kv__row:last-child {
	border-bottom: 0;
}
.coedpi-partes-portal .coedpi-parte-kv dt {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--muted, #6b6560);
	line-height: 1.4;
}
.coedpi-partes-portal .coedpi-parte-kv dd {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: inherit;
	line-height: 1.45;
	word-break: break-word;
}
@media (max-width: 560px) {
	.coedpi-partes-portal .coedpi-parte-kv__row {
		grid-template-columns: 1fr;
		gap: 2px;
		padding: 10px 0;
	}
	.coedpi-partes-portal .coedpi-parte-kv dt {
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: 0.03em;
	}
}
.coedpi-partes-portal .incident-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
/* Tabla de atletas: el prototipo ponía display:flex en el td y rompía columnas */
.athlete-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.athlete-table-card .athlete-table {
	border-collapse: collapse;
	width: 100%;
	min-width: 760px;
	table-layout: auto;
}
.athlete-table-card .athlete-table th,
.athlete-table-card .athlete-table td {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
	border-bottom: 1px solid var(--line, #e8e2d6);
	padding: 12px 10px;
	font-size: 12px;
	line-height: 1.35;
	white-space: normal;
}
.athlete-table-card .athlete-table th {
	color: var(--muted, #6b6560);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.athlete-table-card .athlete-table td:first-child {
	display: table-cell;
}
.athlete-table-card .athlete-table-person {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 160px;
}
.athlete-table-card .athlete-table-person .avatar {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #f3efe6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 750;
}
.athlete-table-card .athlete-table-person > div {
	display: grid;
	gap: 2px;
}
.athlete-table-card .athlete-table-person small {
	display: block;
	font-size: 11px;
	color: var(--muted, #6b6560);
}
.athlete-table-card .athlete-table-actions {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: flex-end;
	white-space: nowrap;
}
.athlete-table-card .athlete-table-actions a,
.athlete-table-card .athlete-table-actions button {
	font-size: 12px;
}
.athlete-filters-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
}
.athlete-filters-toggle {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: auto !important;
	min-width: 0;
	height: auto;
	min-height: 42px;
	padding: 0 14px 0 12px !important;
	margin: 0;
	border: 1px solid var(--line, #e8e2d6) !important;
	border-radius: 10px !important;
	background: #faf8f3 !important;
	color: #1c1915 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-shadow: none !important;
	text-transform: none;
	letter-spacing: 0;
}
.athlete-filters-toggle__icon {
	font-size: 16px;
	line-height: 1;
	color: var(--muted, #6b6560);
}
.athlete-filters-toggle__label {
	font-size: 13px;
	font-weight: 700;
	color: #1c1915;
}
.athlete-filters-toggle:hover,
.athlete-filters-wrap.is-open .athlete-filters-toggle {
	background: #fff !important;
	border-color: #c9b89a !important;
}
.athlete-filters-wrap .athlete-table-filters,
.athlete-filters-wrap .athlete-table-filters[hidden] {
	display: none !important;
}
.athlete-filters-wrap.is-open .athlete-table-filters {
	display: flex !important;
}
.athlete-table-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
	align-items: flex-end;
	margin: 0;
	padding: 12px 14px;
	background: #faf8f3;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 12px;
	flex: 1 1 100%;
	width: 100%;
}
.athlete-table-filters label {
	display: grid;
	gap: 4px;
	font-size: 11px;
	font-weight: 700;
	color: var(--muted, #6b6560);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.athlete-table-filters .athlete-filter-search {
	flex: 1 1 220px;
	min-width: 180px;
}
.athlete-table-filters input[type="search"],
.athlete-table-filters select {
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	min-height: 38px;
	padding: 0 10px;
	border: 1px solid var(--line, #e6dcc8) !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #1c1915 !important;
	font-size: 13px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	width: 100%;
	box-shadow: none !important;
}
.athlete-table-filters .btn {
	min-height: 38px;
}
.athlete-table-filters .athlete-filter-count {
	margin-left: auto;
	font-size: 12px;
	color: var(--muted, #6b6560);
	align-self: center;
	font-weight: 600;
}
.athlete-table-card .athlete-th-sort a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px dotted transparent;
}
.athlete-table-card .athlete-th-sort a:hover {
	border-bottom-color: currentColor;
}
.athlete-table-card .athlete-th-sort.is-sorted a {
	color: #1c1915;
	font-weight: 800;
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
@media (max-width: 720px) {
	.athlete-table-filters .athlete-filter-count {
		margin-left: 0;
		width: 100%;
	}
}

/* Acciones compactas en tabla de alumnos del grupo (Parte / Ficha / Quitar…) */
.coedpi-row-actions {
	vertical-align: middle;
}
.coedpi-row-actions .btn,
.coedpi-row-actions a.btn,
.coedpi-row-actions button.btn,
.coedpi-row-actions span.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	height: auto;
	width: auto;
	margin: 0 2px;
	padding: 4px 8px;
	font-size: 11px;
	line-height: 1.2;
	border-radius: 8px;
	box-sizing: border-box;
	vertical-align: middle;
}
.coedpi-row-actions .btn.is-disabled {
	opacity: 0.45;
	pointer-events: none;
	cursor: not-allowed;
}
.coedpi-row-actions__form {
	display: inline;
	margin: 0;
	padding: 0;
}

.badge.tone-danger {
	background: #fde8e8;
	color: #9b1c1c;
	border: 1px solid #f5c2c2;
}
@media (max-width: 900px) {
	.coedpi-partes-portal .incident-kpis {
		grid-template-columns: 1fr 1fr;
	}
	.coedpi-partes-portal .incident-table .data-row {
		grid-template-columns: 1fr 1fr;
	}
	.coedpi-partes-portal .incident-table .data-head { display: none; }
}

/* Hojas de inscripción — layout editor + panel compartir */
.enrollment-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
	gap: 16px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.enrollment-layout > * {
	min-width: 0;
	max-width: 100%;
}
.app-shell .share-url,
.enrollment-share .share-url {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.app-shell .share-url code,
.enrollment-share .share-url code {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
	word-break: break-all;
	overflow-wrap: anywhere;
	white-space: normal;
	text-overflow: unset;
	overflow: visible;
}

/* Hojas de atleta por grupo: grid que no desborda el contenedor */
.coedpi-hoja-atletas-section {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
}
.coedpi-hoja-grupos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 14px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	align-items: stretch;
}
.coedpi-hoja-grupos-grid > .coedpi-hoja-grupo-card,
.coedpi-hoja-grupos-grid > .card {
	min-width: 0;
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	padding: 14px;
	margin: 0;
}
.coedpi-hoja-grupos-grid .coedpi-hoja-grupo-card > small {
	color: var(--olive, #6d5910);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.04em;
}
.coedpi-hoja-grupos-grid .coedpi-hoja-grupo-card > h2 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.25;
	word-break: break-word;
}
.coedpi-hoja-grupos-grid .share-url {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 8px;
	box-sizing: border-box;
}
.coedpi-hoja-grupos-grid .share-url code {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
	font-size: 11px;
	line-height: 1.35;
	white-space: normal;
	word-break: break-all;
	overflow-wrap: anywhere;
	text-overflow: unset;
	overflow: visible;
}
.coedpi-hoja-grupos-grid .share-url .btn {
	flex: 0 0 auto;
	margin-left: auto;
}
.coedpi-hoja-grupo-actions,
.coedpi-hoja-grupos-grid .hoja-share-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	max-width: 100%;
	justify-content: flex-start;
	margin: 0;
}
.coedpi-hoja-grupos-grid .hoja-share-actions {
	justify-content: flex-start;
}
.coedpi-hoja-grupo-actions .btn,
.coedpi-hoja-grupos-grid .hoja-share-actions .btn {
	flex: 1 1 auto;
	min-width: 0;
	text-align: center;
	box-sizing: border-box;
}
.coedpi-hoja-grupos-grid .hoja-send-email {
	width: 100%;
	max-width: 100% !important;
	margin: 8px 0 0 !important;
	padding-top: 12px;
	box-sizing: border-box;
}
.coedpi-hoja-grupos-grid .hoja-send-email > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	max-width: 100%;
}
.coedpi-hoja-grupos-grid .hoja-send-email input[type="email"] {
	flex: 1 1 140px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.coedpi-hoja-grupos-grid .hoja-send-email .btn {
	flex: 0 0 auto;
}
@media (max-width: 720px) {
	.coedpi-hoja-grupos-grid {
		grid-template-columns: 1fr;
	}
}

/*
 * Campos de texto: fondo suave + línea inferior marcada
 * (sin foco también se identifica que se puede escribir).
 */
.app-shell input[type="text"],
.app-shell input[type="email"],
.app-shell input[type="tel"],
.app-shell input[type="number"],
.app-shell input[type="search"],
.app-shell input[type="url"],
.app-shell input[type="password"],
.app-shell input[type="date"],
.app-shell input[type="time"],
.app-shell input:not([type]),
.app-shell textarea,
.coedpi-proto-shell input[type="text"],
.coedpi-proto-shell input[type="email"],
.coedpi-proto-shell input[type="tel"],
.coedpi-proto-shell input[type="number"],
.coedpi-proto-shell input[type="search"],
.coedpi-proto-shell input[type="url"],
.coedpi-proto-shell input[type="password"],
.coedpi-proto-shell input[type="date"],
.coedpi-proto-shell input[type="time"],
.coedpi-proto-shell input:not([type]),
.coedpi-proto-shell textarea,
.portal-page-card input[type="text"],
.portal-page-card input[type="email"],
.portal-page-card input[type="tel"],
.portal-page-card input[type="number"],
.portal-page-card input[type="search"],
.portal-page-card input[type="password"],
.portal-page-card input[type="date"],
.portal-page-card textarea,
.coedpi-public-enrollment-form input[type="text"],
.coedpi-public-enrollment-form input[type="email"],
.coedpi-public-enrollment-form input[type="tel"],
.coedpi-public-enrollment-form input[type="number"],
.coedpi-public-enrollment-form input[type="date"],
.coedpi-public-enrollment-form input[type="password"],
.coedpi-public-enrollment-form textarea,
.coedpi-atleta-edit .acf-input input[type="text"],
.coedpi-atleta-edit .acf-input input[type="email"],
.coedpi-atleta-edit .acf-input input[type="number"],
.coedpi-atleta-edit .acf-input input[type="tel"],
.coedpi-atleta-edit .acf-input input[type="date"],
.coedpi-atleta-edit .acf-input textarea,
.coedpi-proto-form .field-label input,
.coedpi-comunicados .composer .field-label input,
.coedpi-comunicados .composer .field-label textarea,
.coedpi-comunicados .composer input[type="text"],
.coedpi-cf-row input[type="text"],
.coedpi-cf-row textarea,
input.coedpi-text-field,
textarea.coedpi-text-field {
	appearance: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 4px 0 0;
	min-height: 42px;
	padding: 10px 12px 9px;
	font-size: 14px;
	font-weight: 550;
	line-height: 1.35;
	color: var(--ink, #1c1915);
	background-color: #f3efe6 !important;
	background-image: none !important;
	border-style: solid !important;
	border-width: 1px 1px 2px 1px !important;
	border-color: #ddd4c2 #ddd4c2 #6f6758 #ddd4c2 !important;
	border-radius: 8px 8px 0 0 !important;
	box-shadow: none !important;
}
.app-shell textarea,
.coedpi-proto-shell textarea,
.portal-page-card textarea,
.coedpi-public-enrollment-form textarea,
.coedpi-atleta-edit .acf-input textarea,
.coedpi-cf-row textarea,
textarea.coedpi-text-field {
	min-height: 88px;
	resize: vertical;
}
.app-shell input[type="text"]:focus,
.app-shell input[type="email"]:focus,
.app-shell input[type="tel"]:focus,
.app-shell input[type="number"]:focus,
.app-shell input[type="search"]:focus,
.app-shell input[type="url"]:focus,
.app-shell input[type="password"]:focus,
.app-shell input[type="date"]:focus,
.app-shell input[type="time"]:focus,
.app-shell input:not([type]):focus,
.app-shell textarea:focus,
.coedpi-proto-shell input[type="text"]:focus,
.coedpi-proto-shell input[type="email"]:focus,
.coedpi-proto-shell input[type="tel"]:focus,
.coedpi-proto-shell input[type="number"]:focus,
.coedpi-proto-shell input[type="search"]:focus,
.coedpi-proto-shell input[type="url"]:focus,
.coedpi-proto-shell input[type="password"]:focus,
.coedpi-proto-shell input[type="date"]:focus,
.coedpi-proto-shell input[type="time"]:focus,
.coedpi-proto-shell input:not([type]):focus,
.coedpi-proto-shell textarea:focus,
.portal-page-card input[type="text"]:focus,
.portal-page-card input[type="email"]:focus,
.portal-page-card input[type="tel"]:focus,
.portal-page-card input[type="number"]:focus,
.portal-page-card input[type="search"]:focus,
.portal-page-card input[type="password"]:focus,
.portal-page-card input[type="date"]:focus,
.portal-page-card textarea:focus,
.coedpi-public-enrollment-form input[type="text"]:focus,
.coedpi-public-enrollment-form input[type="email"]:focus,
.coedpi-public-enrollment-form input[type="tel"]:focus,
.coedpi-public-enrollment-form input[type="number"]:focus,
.coedpi-public-enrollment-form input[type="date"]:focus,
.coedpi-public-enrollment-form input[type="password"]:focus,
.coedpi-public-enrollment-form textarea:focus,
.coedpi-atleta-edit .acf-input input:focus,
.coedpi-atleta-edit .acf-input textarea:focus,
.coedpi-proto-form .field-label input:focus,
.coedpi-comunicados .composer .field-label input:focus,
.coedpi-comunicados .composer .field-label textarea:focus,
.coedpi-comunicados .composer input[type="text"]:focus,
.coedpi-cf-row input[type="text"]:focus,
.coedpi-cf-row textarea:focus,
input.coedpi-text-field:focus,
textarea.coedpi-text-field:focus {
	outline: none !important;
	background-color: #fffdf6 !important;
	border-color: #e0d3a8 #e0d3a8 #c9a412 #e0d3a8 !important;
	box-shadow: 0 2px 0 0 rgba(229, 189, 24, 0.45) !important;
}
.app-shell input::placeholder,
.coedpi-proto-shell input::placeholder,
.portal-page-card input::placeholder,
.coedpi-cf-row input::placeholder,
.coedpi-text-field::placeholder {
	color: #8a8276;
	opacity: 1;
}
/* Excepciones: inputs dentro de cajas ya bordeadas (toolbar / filtro) */
.app-shell .toolbar input,
.app-shell .coedpi-filter-select input,
.app-shell .share-url input,
.head-actions input:not(.search):not(.coedpi-header-menu-search) {
	background-color: transparent !important;
	border-width: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-height: 36px;
	padding: 0 8px;
	margin: 0;
}

/* Input Buscar del header: escribe aquí y filtra el menú del rol */
.app-header input.search,
.app-header input.coedpi-header-menu-search,
.head-actions input.search,
.head-actions input.coedpi-header-menu-search {
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	border: 1px solid var(--line, #e6dcc8) !important;
	color: #1c1915 !important;
	text-align: left;
	background: #faf9f6 !important;
	border-radius: 9px !important;
	width: 190px;
	max-width: 42vw;
	height: 38px !important;
	min-height: 38px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	padding: 0 12px !important;
	margin: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	pointer-events: auto !important;
	-webkit-user-select: text !important;
	user-select: text !important;
	caret-color: #1c1915 !important;
	cursor: text;
}
.app-header input.search::placeholder,
.app-header input.coedpi-header-menu-search::placeholder {
	color: #8b847c;
	opacity: 1;
}
.app-header input.search:focus,
.app-header input.coedpi-header-menu-search:focus {
	border-color: #c9b89a !important;
	background: #fff !important;
}

/* Alta / datos escuela: logo subir · arrastrar · pegar */
.coedpi-logo-upload {
	position: relative;
	outline: none;
}
.coedpi-logo-upload__drop {
	border: 1.5px dashed var(--line, #e8e2d6);
	border-radius: 14px;
	background: #fbfaf7;
	padding: 18px;
	min-height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: border-color .15s ease, background .15s ease;
}
.coedpi-logo-upload__drop.is-drag {
	border-color: #d8b636;
	background: #fff8e6;
}
.coedpi-logo-upload__empty strong {
	display: block;
	font-size: 13px;
	margin-bottom: 6px;
}
.coedpi-logo-upload__empty p {
	margin: 0 0 12px;
	font-size: 12px;
	color: var(--muted, #8a847a);
}
.coedpi-logo-upload__preview {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.coedpi-logo-upload__preview[hidden],
.coedpi-logo-upload__empty[hidden] {
	display: none !important;
}
.coedpi-logo-upload__preview img {
	max-width: 160px;
	max-height: 110px;
	object-fit: contain;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--line, #e8e2d6);
	padding: 6px;
}

.coedpi-menu-search-pop {
	position: fixed;
	z-index: 2147483000;
	box-sizing: border-box;
	background: #fffaf2;
	border: 1px solid #e6dcc8;
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(28, 25, 21, 0.18);
	max-height: min(50vh, 360px);
	overflow: auto;
	padding: 6px;
}
.coedpi-menu-search-pop[hidden] {
	display: none !important;
}
.coedpi-menu-search-pop__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.coedpi-menu-search-pop__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	color: #1c1915;
}
.coedpi-menu-search-pop__list li i {
	width: 1.4em;
	text-align: center;
	opacity: 0.7;
	font-style: normal;
}
.coedpi-menu-search-pop__list li.is-active,
.coedpi-menu-search-pop__list li:hover {
	background: #efe7d8;
}
.coedpi-menu-search-pop__empty {
	margin: 0;
	padding: 12px;
	text-align: center;
	color: #6f6758;
	font-size: 12px;
}

/* Facturación personal: el badge no debe heredar el cuadrado del icono € */
.billing-summary {
	overflow: hidden;
	min-width: 0;
}
.billing-summary .bill-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
	min-width: 0;
}
.billing-summary .bill-head > span:not(.badge),
.billing-summary .bill-icon {
	background: var(--gold, #e5bd18);
	color: #292205;
	border-radius: 10px;
	width: 39px;
	height: 39px;
	min-width: 39px;
	flex: 0 0 39px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
}
.billing-summary .bill-head > .badge,
.billing-summary .bill-head .badge.tone-ok {
	width: auto !important;
	height: auto !important;
	min-height: 26px;
	min-width: 0;
	max-width: 100%;
	flex: 0 1 auto;
	padding: 5px 11px !important;
	font-size: 10px !important;
	font-weight: 800;
	letter-spacing: 0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-sizing: border-box;
	line-height: 1.2;
}
.billing-summary > small {
	display: block;
	letter-spacing: 0.08em;
}
.billing-summary .amount {
	word-break: break-word;
}
.billing-summary .bill-line {
	gap: 8px;
	flex-wrap: wrap;
}
.billing-summary .bill-line strong {
	text-align: right;
}
@media (max-width: 720px) {
	.member-hero {
		grid-template-columns: 1fr !important;
	}
}

/* Estadísticas escuela */
.coedpi-stats-page {
	display: grid;
	gap: 24px;
	padding-bottom: 24px;
}
.coedpi-stats-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--line, #e8e2d6);
}
.coedpi-stats-hero h1 {
	margin: 4px 0 0;
	font-size: 1.85rem;
	letter-spacing: -.02em;
}
.coedpi-stats-school {
	display: inline-flex;
	align-items: center;
	max-width: 360px;
	padding: 7px 11px;
	border-radius: 999px;
	background: #f6f3eb;
	color: #5f594e;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.coedpi-stats-block-head {
	margin-bottom: 10px;
}
.coedpi-stats-block-head h2 {
	margin: 0;
	font-size: 1.05rem;
}
.coedpi-stats-block-head--total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.coedpi-stats-school-total {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	background: #fff;
}
.coedpi-stats-school-total small {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--muted, #7a7364);
}
.coedpi-stats-school-total strong {
	font-size: 1.35rem;
	line-height: 1;
}
.coedpi-stats-kpi-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi {
	cursor: pointer;
	text-align: left;
	border: 1px solid var(--line, #e8e2d6);
	background: #fff;
	border-radius: 12px;
	padding: 14px;
	transition: border-color .15s, box-shadow .15s, transform .12s;
	font: inherit;
	color: inherit;
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
	min-height: 104px;
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi:hover {
	border-color: #d9c878;
	box-shadow: 0 8px 22px rgba(49, 42, 12, .07);
	transform: translateY(-1px);
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi.is-active {
	border-color: var(--gold, #d4af37);
	background: linear-gradient(180deg, #fffdf5 0%, #fff 100%);
	box-shadow: 0 0 0 1px rgba(212, 175, 55, .4);
}
.coedpi-stat-kpi-label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--muted, #8a847a);
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi strong {
	display: block;
	margin: 8px 0 5px;
	font-size: 1.85rem;
	line-height: 1;
	letter-spacing: -.03em;
	color: #211c08;
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi small {
	display: block;
	color: var(--muted, #7a7364);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi.is-warn {
	border-color: #efc08a;
	background: #fffaf3;
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi.is-warn strong {
	color: #9a3b12;
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi.is-ok {
	border-color: #d7e6cf;
	background: #f7fbf5;
}
.coedpi-stats-kpi-grid > .coedpi-stat-kpi.is-ok strong {
	color: #3d5a2a;
}
.coedpi-stats-charts {
	margin: 0;
}
.coedpi-stat-chart-card .section-title {
	margin-bottom: 12px;
}
.coedpi-stat-chart-total {
	display: inline-grid;
	place-items: center;
	min-width: 34px;
	height: 34px;
	padding: 0 9px;
	border-radius: 999px;
	background: #f3efe6;
	font-size: 14px;
}
.coedpi-stat-donut-wrap {
	display: grid;
	grid-template-columns: minmax(140px, 180px) 1fr;
	gap: 18px;
	align-items: center;
}
.coedpi-stat-donut {
	width: 168px;
	height: 168px;
	border-radius: 50%;
	position: relative;
	margin: 0 auto;
}
.coedpi-stat-donut-hole {
	position: absolute;
	inset: 22%;
	border-radius: 50%;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: inset 0 0 0 1px var(--line, #e8e2d6);
}
.coedpi-stat-donut-hole strong {
	font-size: 1.35rem;
	line-height: 1.1;
}
.coedpi-stat-donut-hole small {
	font-size: 10px;
	color: var(--muted, #8a847a);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.coedpi-stat-legend {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.coedpi-stat-legend li {
	display: grid;
	grid-template-columns: 12px 1fr auto;
	gap: 8px;
	align-items: center;
	font-size: 13px;
	cursor: pointer;
	padding: 6px 8px;
	border-radius: 8px;
}
.coedpi-stat-legend li:hover {
	background: #faf8f3;
}
.coedpi-stat-swatch {
	width: 12px;
	height: 12px;
	border-radius: 3px;
	display: block;
}
.coedpi-stat-legend-val em {
	font-style: normal;
	color: var(--muted, #8a847a);
	font-size: 11px;
}
.coedpi-stat-bars {
	display: grid;
	gap: 12px;
}
.coedpi-stat-bar-row {
	display: grid;
	grid-template-columns: minmax(90px, 32%) 1fr auto;
	gap: 10px;
	align-items: center;
	font-size: 13px;
	cursor: pointer;
	padding: 6px 0;
}
.coedpi-stat-bar-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 600;
}
.coedpi-stat-bar-track {
	height: 10px;
	background: #f0ebe2;
	border-radius: 999px;
	overflow: hidden;
}
.coedpi-stat-bar-fill {
	height: 100%;
	border-radius: 999px;
	min-width: 4px;
	transition: width .35s ease;
}
.coedpi-stat-bar-val {
	font-weight: 700;
	white-space: nowrap;
}
.coedpi-stat-bar-val small {
	font-weight: 500;
	color: var(--muted, #8a847a);
}
.coedpi-stat-empty,
.coedpi-stat-empty-cell {
	color: var(--muted, #8a847a);
	font-size: 13px;
	padding: 16px;
}
.coedpi-stat-detail {
	margin-top: 0;
}
.coedpi-stat-detail-head {
	align-items: flex-start;
}
.coedpi-stat-detail-tools {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.coedpi-stat-filter-label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--muted, #8a847a);
}
.coedpi-stat-filter-label select {
	min-width: 200px;
	padding: 9px 12px;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 10px;
	background: #fff;
	font-size: 13px;
}
.coedpi-stat-filter-chip {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 12px;
	padding: 8px 12px;
	border-radius: 10px;
	background: #fff8e6;
	border: 1px solid #ead48a;
	font-size: 13px;
	color: #5c4a12;
}
.coedpi-stat-chip-clear {
	border: 0;
	background: #fff;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	color: #3d4a1f;
}
.coedpi-stat-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 12px;
}
.coedpi-stat-tab {
	border: 1px solid var(--line, #e8e2d6);
	background: #faf8f3;
	border-radius: 999px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	color: var(--muted, #7a7364);
}
.coedpi-stat-tab.is-active {
	background: var(--olive, #3d4a1f);
	border-color: var(--olive, #3d4a1f);
	color: #fff;
}
.coedpi-stat-table-wrap {
	overflow: auto;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 12px;
}
.coedpi-stat-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.coedpi-stat-table th,
.coedpi-stat-table td {
	padding: 12px 14px;
	text-align: left;
	border-bottom: 1px solid var(--line, #ece7dc);
}
.coedpi-stat-table th {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--muted, #8a847a);
	background: #faf8f3;
}
.coedpi-stat-table tbody tr:last-child td {
	border-bottom: 0;
}
.coedpi-stat-row.is-highlight {
	background: #fffbea;
}
.coedpi-stat-row-action {
	white-space: nowrap;
}
.coedpi-stat-muted {
	color: var(--muted, #8a847a);
	font-size: 12px;
}
.coedpi-stat-op-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}
.coedpi-stat-op-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px;
	border: 1px solid var(--line, #e8e2d6);
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s, box-shadow .15s;
}
.coedpi-stat-op-card:hover {
	border-color: #d9c878;
	box-shadow: 0 6px 16px rgba(49, 42, 12, .07);
}
.coedpi-stat-op-card small {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--muted, #8a847a);
}
.coedpi-stat-op-card strong {
	font-size: 1.7rem;
	line-height: 1.1;
}
.coedpi-stat-op-card em {
	font-style: normal;
	font-size: 13px;
	color: var(--muted, #7a7364);
}
.coedpi-stat-op-card.is-warn {
	border-color: #efc08a;
	background: #fffaf3;
}
.coedpi-stat-op-card.is-ok {
	border-color: #d7e6cf;
	background: #f7fbf5;
}
.coedpi-stat-op-go {
	font-size: 12px;
	font-weight: 700;
	color: var(--olive, #3d4a1f);
	margin-top: 4px;
}
@media (max-width: 980px) {
	.coedpi-stats-kpi-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.coedpi-stat-donut-wrap {
		grid-template-columns: 1fr;
	}
	.coedpi-stat-bar-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}
@media (max-width: 560px) {
	.coedpi-stats-kpi-grid {
		grid-template-columns: 1fr;
	}
	.coedpi-stats-hero {
		align-items: flex-start;
		flex-direction: column;
	}
	.coedpi-stats-school {
		max-width: 100%;
	}
}

/* Currículum formador = ficha pública de colegiado (coedpi.es) */
.coedpi-cv-ficha {
	margin: 0 0 28px;
	padding: 18px;
	border: 1px solid var(--line, #e5e1d4);
	border-radius: 14px;
	background: #fff;
}
.coedpi-cv-ficha-head {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 14px;
}
.coedpi-cv-ficha-foto {
	width: 112px;
	height: 112px;
	object-fit: cover;
	border-radius: 10px;
	background: #f3f0e6;
	flex-shrink: 0;
}
.coedpi-cv-ficha-foto--empty {
	border: 1px dashed #d7d2c3;
}
.coedpi-cv-kicker {
	margin: 0 0 4px;
	font-size: 11px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--muted, #6b675c);
}
.coedpi-cv-ficha-meta h3 {
	margin: 0 0 8px;
	font-size: 1.25rem;
	line-height: 1.25;
}
.coedpi-cv-ids {
	margin: 0;
	font-size: 14px;
	color: var(--ink, #211c08);
}
.coedpi-cv-extracto {
	font-size: 15px;
	line-height: 1.5;
	margin: 0 0 14px;
}
.coedpi-cv-empty {
	margin: 0;
	color: var(--muted, #6b675c);
	font-size: 13px;
}
.coedpi-cv-acc-item {
	border-top: 1px solid var(--line, #e5e1d4);
}
.coedpi-cv-acc-item summary {
	cursor: pointer;
	list-style: none;
	padding: 12px 4px;
	font-weight: 700;
	font-size: 15px;
}
.coedpi-cv-acc-item summary::-webkit-details-marker {
	display: none;
}
.coedpi-cv-acc-item summary::after {
	content: "▾";
	float: right;
	font-weight: 400;
	color: var(--muted, #6b675c);
}
.coedpi-cv-acc-item[open] summary::after {
	content: "▴";
}
.coedpi-cv-acc-body {
	padding: 0 4px 14px;
	font-size: 14px;
	line-height: 1.5;
}
.coedpi-cv-acc-body img {
	max-width: 100%;
	height: auto;
}
.coedpi-cv-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding-top: 12px;
	border-top: 1px solid var(--line, #e5e1d4);
	font-size: 13px;
}
.coedpi-cv-edit-title {
	margin: 22px 0 8px;
	font-size: 16px;
}
.coedpi-cv-box {
	margin: 0 0 16px;
	border: 1px solid var(--line, #ddd);
	border-radius: 10px;
	padding: 12px 14px;
}
.coedpi-cv-box legend {
	font-size: 13px;
	font-weight: 700;
	padding: 0 6px;
}
.coedpi-cv-titulo-row {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) minmax(160px, 1.2fr);
	gap: 8px;
	align-items: center;
	margin: 0 0 8px;
}
.coedpi-cv-upload-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0 0 10px;
	padding: 10px;
	border: 1px dashed var(--line, #ddd);
	border-radius: 8px;
	background: #fafafa;
}
.coedpi-cv-diplomas-archivados,
.coedpi-cv-campus-list {
	margin: 0 0 12px;
	padding-left: 18px;
	font-size: 13px;
}
.coedpi-cv-diplomas-archivados li,
.coedpi-cv-campus-list li {
	margin: 0 0 6px;
}
.coedpi-cv-pendiente {
	white-space: pre-wrap;
	font-family: inherit;
	font-size: 13px;
	background: #fff8e1;
	border-radius: 8px;
	padding: 10px 12px;
	margin: 0 0 14px;
}
@media (max-width: 640px) {
	.coedpi-cv-ficha-head {
		flex-direction: column;
	}
	.coedpi-cv-titulo-row,
	.coedpi-cv-upload-row {
		grid-template-columns: 1fr;
	}
}
