/* v1.9.0 — Color del sistema: el acento del panel vive en variables para
   que cada persona pueda elegir su color (ver class-aam-tema.php). */
:root {
	--aam-acento: #a6373c;
	--aam-acento-oscuro: #812b2f;
	--aam-acento-claro: #f8eced;
	--aam-acento-suave: #dbafb1;
	--aam-acento-borde: #e9cdce;
	--aam-acento-rgb: 166, 55, 60;
}
.aam-admin-wrap .aam-admin-body { background: #fff; padding: 20px; border: 1px solid #ccd0d4; border-top: none; }
.aam-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.aam-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.aam-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; text-align: center; }
.aam-card span { display: block; font-size: 24px; font-weight: 700; color: #1d4ed8; }
.aam-card label { font-size: 12px; color: #475569; }
.aam-col-2 { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; align-items: start; }
.aam-panel-lateral { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; margin-bottom: 16px; }
.aam-panel-lateral p { margin: 8px 0; }
.aam-panel-lateral label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 13px; }
.aam-panel-lateral input[type=text], .aam-panel-lateral input[type=number], .aam-panel-lateral select { width: 100%; padding: 6px; }
.aam-filtros { margin: 12px 0; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.aam-expandible { background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; margin-bottom: 8px; padding: 10px 14px; }
.aam-expandible summary { cursor: pointer; font-weight: 600; }

/* ===================================================================
 * Panel de Administración en el front-end (Apoyo / Admin de planta /
 * Super Admin). Como esta pantalla ya NO vive dentro de wp-admin, no
 * podemos depender del CSS propio de wp-admin para clases como .wrap,
 * .nav-tab, .notice, .widefat o .button: las definimos aquí, todas
 * dentro de .aam-admin-wrap para no afectar el resto del sitio.
 * =================================================================== */
.aam-admin-wrap { max-width: 1180px; margin: 30px auto; padding: 0 16px; font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: #1e1e1e; }
.aam-admin-wrap h1 { font-size: 22px; margin: 0 0 14px; }
.aam-admin-wrap h3 { margin-top: 0; }
.aam-admin-wrap .aam-admin-body { background: #fff; padding: 20px; border: 1px solid #ccd0d4; border-top: none; border-radius: 0 0 6px 6px; }

.aam-admin-wrap .notice { padding: 10px 14px; border-left: 4px solid var(--aam-acento); background: #fff; margin: 0 0 16px; border-radius: 4px; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.aam-admin-wrap .notice-success { border-left-color: #2e7d32; }
.aam-admin-wrap .notice-error { border-left-color: #c62828; }


.aam-admin-wrap table.widefat { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #dcdcde; margin-bottom: 16px; }
.aam-admin-wrap table.widefat th, .aam-admin-wrap table.widefat td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #eee; font-size: 13px; }
.aam-admin-wrap table.widefat th { background: #f6f7f7; font-weight: 600; }
.aam-admin-wrap table.striped tbody tr:nth-child(odd) { background: #f9f9f9; }

.aam-admin-wrap .button, .aam-admin-wrap button.button { display: inline-block; padding: 6px 14px; font-size: 13px; border-radius: 4px; border: 1px solid var(--aam-acento); background: #fff; color: var(--aam-acento); cursor: pointer; text-decoration: none; }
.aam-admin-wrap .button:hover { background: var(--aam-acento-claro); }
.aam-admin-wrap .button-primary { background: var(--aam-acento); color: #fff; border-color: var(--aam-acento); }
.aam-admin-wrap .button-primary:hover { background: var(--aam-acento-oscuro); }
.aam-admin-wrap .button-small { padding: 3px 8px; font-size: 12px; }

.aam-admin-wrap form p { margin: 10px 0; }
.aam-admin-wrap label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 13px; }
.aam-admin-wrap input[type=text], .aam-admin-wrap input[type=email], .aam-admin-wrap input[type=number], .aam-admin-wrap input[type=password], .aam-admin-wrap input[type=file], .aam-admin-wrap select { width: 100%; max-width: 340px; padding: 7px 8px; border: 1px solid #ccd0d4; border-radius: 4px; font-size: 13px; }
.aam-admin-wrap .description { color: #646970; font-size: 12px; }
.aam-admin-wrap code { background: #f0f0f1; padding: 1px 5px; border-radius: 3px; }


/* ===================================================================
 * v1.4.1 — Panel y acceso del personal en versión CLARA y legible.
 * El tema del sitio es oscuro; aquí el panel se muestra como una
 * tarjeta blanca brillante con texto oscuro y acentos rojo vino.
 * =================================================================== */
.aam-admin-wrap {
	background: #ffffff;
	color: #1f1a1b;
	border-radius: 16px;
	padding: 28px 30px;
	box-shadow: 0 1px 2px rgba(35,28,30,.06), 0 10px 30px rgba(35,28,30,.08);
}
.aam-admin-wrap h1, .aam-admin-wrap h2, .aam-admin-wrap h3, .aam-admin-wrap h4 { color: #1f1a1b; }
.aam-admin-wrap p, .aam-admin-wrap td, .aam-admin-wrap th, .aam-admin-wrap li { color: #2d2527; }
.aam-admin-wrap label { color: #3b2e30; }
.aam-admin-wrap a { color: var(--aam-acento); font-weight: 600; }
.aam-admin-wrap a:hover { color: var(--aam-acento-oscuro); }
.aam-admin-wrap input[type=text], .aam-admin-wrap input[type=email], .aam-admin-wrap input[type=number],
.aam-admin-wrap input[type=password], .aam-admin-wrap input[type=file], .aam-admin-wrap select, .aam-admin-wrap textarea {
	background: #fff; color: #1f1a1b; border: 1px solid #cfc3c4;
}
.aam-admin-wrap input:focus, .aam-admin-wrap select:focus, .aam-admin-wrap textarea:focus {
	outline: none; border-color: var(--aam-acento); box-shadow: 0 0 0 3px rgba(var(--aam-acento-rgb), .18);
}

/* Tarjeta de acceso (login / olvidé / nueva contraseña) */
.aam-box.aam-admin-wrap.aam-staff-login {
	background: #ffffff;
	color: #1f1a1b;
	border: 1px solid #eadfe0;
	max-width: 460px;
	margin: 40px auto;
	padding: 34px 32px 26px;
	text-align: left;
}
.aam-box.aam-admin-wrap.aam-staff-login::before,
.aam-box.aam-admin-wrap.aam-staff-login::after { display: none; }
.aam-staff-login h3 { color: #1f1a1b; font-size: 22px; margin: 4px 0 6px; }
.aam-staff-login > p { color: #5b4d4f; }
.aam-staff-login input[type=text], .aam-staff-login input[type=email], .aam-staff-login input[type=password] {
	max-width: 100%; padding: 11px 12px; font-size: 15px; border-radius: 8px;
}
.aam-staff-login label { font-size: 14px; }
.aam-staff-login .aam-btn { width: 100%; justify-content: center; text-align: center; }
.aam-login-marca { font-family: Georgia, 'Times New Roman', serif; font-size: 26px; font-weight: 700; color: var(--aam-acento); }
.aam-login-marca span { color: #1f1a1b; }
.aam-staff-login .notice { background: #fff; color: #1f1a1b; }
.aam-staff-login .notice-success { background: #eef8ef; }
.aam-staff-login .notice-error { background: #fdeeee; }
.aam-staff-login .notice p { color: #1f1a1b; margin: 0; }
.aam-login-volver { margin-top: 18px; padding-top: 14px; border-top: 1px solid #eee3e4; text-align: center; }
.aam-login-volver a { color: var(--aam-acento); text-decoration: none; font-weight: 600; }
.aam-login-volver a:hover { text-decoration: underline; }

/* ===================================================================
 * v1.5 — Empleados (acciones), pedidos, liberaciones y calendario.
 * =================================================================== */
.aam-acciones-fila { white-space: nowrap; }
.aam-acciones-fila .button, .aam-acciones-fila form { margin: 2px 2px 2px 0; }
.aam-admin-wrap .aam-btn-peligro { border-color: #c62828; color: #c62828; }
.aam-admin-wrap .aam-btn-peligro:hover { background: #c62828; color: #fff; }
.aam-fila-baja td { color: #9a8f90 !important; }
.aam-estado { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: #eee; color: #444; }
.aam-estado-activo, .aam-estado-entregado { background: #e3f4e5; color: #1b6b24; }
.aam-estado-baja, .aam-estado-cancelado { background: #fde4e4; color: #a12222; }
.aam-estado-confirmado, .aam-estado-seleccionado { background: #e6eefc; color: #1d4ed8; }
.aam-estado-pendiente, .aam-estado-modificado { background: #fff4d9; color: #8a5a00; }
.aam-liberado { color: #1b6b24; font-weight: 700; }
.aam-mini-historial { margin: 6px 0 0 16px; padding: 0; font-size: 12px; }
.aam-mini-historial li { margin-bottom: 3px; }

.aam-expediente { background: #faf7f7; border: 1px solid #eadfe0; border-radius: 12px; padding: 16px; margin: 12px 0; }
.aam-cal-nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 8px 0 10px; }
.aam-cal-nav strong { font-size: 17px; }
.aam-leyenda { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.aam-calendario { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.aam-cal-cab { text-align: center; font-weight: 700; font-size: 12px; color: #6b5d5f; padding: 4px 0; }
.aam-cal-dia { min-height: 92px; background: #fff; border: 1px solid #eadfe0; border-radius: 8px; padding: 5px; overflow: hidden; }
.aam-cal-vacio { background: transparent; border: none; }
.aam-cal-con { background: #fffdfb; }
.aam-cal-hoy { border: 2px solid var(--aam-acento); }
.aam-cal-num { font-weight: 700; font-size: 12px; color: #6b5d5f; margin-bottom: 3px; }
.aam-cal-mas { font-size: 11px; color: var(--aam-acento); font-weight: 700; }
.aam-chip { display: block; font-size: 11px; line-height: 1.3; padding: 2px 6px; border-radius: 6px; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: #eee; color: #333; }
.aam-leyenda .aam-chip, td .aam-chip { display: inline-block; }
.aam-cat-pedido { background: #e6eefc; color: #1d4ed8; }
.aam-cat-entrega { background: #e3f4e5; color: #1b6b24; }
.aam-cat-cancelacion { background: #fde4e4; color: #a12222; }
.aam-cat-liberacion { background: #fff4d9; color: #8a5a00; }
.aam-cat-puntos { background: #f3e8ff; color: #6b21a8; }
.aam-cat-accion { background: #eceff1; color: #37474f; }
@media (max-width: 760px) {
	.aam-col-2, .aam-grid-4, .aam-grid-3 { grid-template-columns: 1fr; }
	.aam-cal-dia { min-height: 60px; }
	.aam-chip { font-size: 10px; }
}


/* ===================================================================
 * v1.5.2 — Página del panel en blanco, sin header/footer del tema,
 * con barra superior y menú de módulos agrupado.
 * =================================================================== */
body.aam-panel-limpio {
	margin: 0; min-height: 100vh;
	background: #f6f4f4; color: #231c1e;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}
body.aam-panel-limpio *, body.aam-panel-limpio *::before, body.aam-panel-limpio *::after { box-sizing: border-box; }
body.aam-panel-limpio .aam-staff-login { margin: 8vh auto 40px; }

/* Contenedor de la app: ocupa toda la pantalla */
.aam-admin-wrap.aam-app {
	max-width: none; margin: 0; padding: 0;
	background: transparent; border-radius: 0; box-shadow: none;
	min-height: 100vh;
}

/* Barra de carga al cambiar de módulo */
.aam-app-progreso {
	position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 1000;
	background: var(--aam-acento); opacity: 0;
}
.aam-app.aam-cambiando .aam-app-progreso { opacity: 1; animation: aamCarga 2.4s cubic-bezier(.1,.7,.3,1) forwards; }
@keyframes aamCarga { from { width: 0; } to { width: 88%; } }
.aam-app-main { transition: opacity .2s ease; }
.aam-app.aam-cambiando .aam-app-main { opacity: .45; pointer-events: none; }
.aam-admin-body { animation: aamAparecer .22s ease-out both; }
@keyframes aamAparecer { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ---------- Barra superior ---------- */
.aam-app-top {
	position: sticky; top: 0; z-index: 50;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 12px 28px; background: #fff; border-bottom: 1px solid #ebe4e5;
}
.aam-admin-wrap a.aam-app-marca { display: flex; align-items: baseline; gap: 12px; text-decoration: none; }
.aam-app-wordmark { font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 700; color: var(--aam-acento); }
.aam-app-wordmark span { color: #231c1e; }
.aam-app-sub { font-size: 13px; font-weight: 500; color: #6f6366; padding-left: 12px; border-left: 1px solid #ebe4e5; }
.aam-app-sub small { color: #9a8e91; margin-left: 2px; }

.aam-app-sesion { display: flex; align-items: center; gap: 14px; font-size: 13px; }
.aam-app-avatar {
	width: 34px; height: 34px; border-radius: 50%; flex: none;
	display: grid; place-items: center;
	background: var(--aam-acento-claro); color: var(--aam-acento); font-weight: 700; font-size: 14px;
}
.aam-app-quien { display: flex; flex-direction: column; line-height: 1.25; margin-right: 6px; }
.aam-app-quien strong { color: #231c1e; font-size: 13.5px; }
.aam-app-quien small { color: #6f6366; font-size: 12px; }
.aam-app-quien small.aam-app-planta { color: var(--aam-acento, #a6373c); font-weight: 600; }
.aam-admin-wrap a.aam-app-link {
	padding: 7px 12px; border-radius: 8px; font-size: 13px; font-weight: 600;
	color: #4a3e41; text-decoration: none; border: 1px solid #ebe4e5; background: #fff;
	transition: border-color .15s, color .15s, background .15s;
}
.aam-admin-wrap a.aam-app-link:hover, .aam-admin-wrap a.aam-app-link.activo { border-color: var(--aam-acento); color: var(--aam-acento); }
.aam-admin-wrap a.aam-app-salir:hover { background: var(--aam-acento); color: #fff; }

/* ---------- Cuerpo: menú + contenido ---------- */
.aam-app-cuerpo {
	display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 28px;
	max-width: 1440px; margin: 0 auto; padding: 24px 28px 48px;
	align-items: start;
}
.aam-app-nav {
	position: sticky; top: 82px; display: flex; flex-direction: column; gap: 18px;
	/* Scroller propio: si el menú es más alto que la pantalla, se desplaza solo. */
	max-height: calc(100vh - 98px); overflow-y: auto; overscroll-behavior: contain;
	padding-right: 6px; scrollbar-width: thin; scrollbar-color: #d9cfd1 transparent;
}
.aam-app-nav::-webkit-scrollbar { width: 6px; }
.aam-app-nav::-webkit-scrollbar-thumb { background: #d9cfd1; border-radius: 6px; }
.aam-nav-grupo { display: flex; flex-direction: column; gap: 2px; }
.aam-nav-titulo { font-size: 12px; font-weight: 600; color: #9a8e91; padding: 0 12px 6px; }
.aam-admin-wrap a.aam-nav-item {
	position: relative; display: flex; align-items: center; gap: 10px;
	padding: 9px 12px; border-radius: 9px;
	font-size: 14px; font-weight: 500; color: #3d3235; text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.aam-nav-item .dashicons { font-size: 18px; width: 18px; height: 18px; color: #9a8e91; transition: color .15s ease; }
.aam-admin-wrap a.aam-nav-item:hover { background: #fff; color: #231c1e; }
.aam-admin-wrap a.aam-nav-item:hover .dashicons { color: #6f6366; }
.aam-admin-wrap a.aam-nav-item.activo { background: #fff; color: var(--aam-acento); font-weight: 600; box-shadow: 0 1px 2px rgba(35,28,30,.07), inset 0 0 0 1px #ebe4e5; }
.aam-admin-wrap a.aam-nav-item.activo::before {
	content: ""; position: absolute; left: -10px; top: 9px; bottom: 9px; width: 3px; border-radius: 3px; background: var(--aam-acento);
}
.aam-nav-item.activo .dashicons { color: var(--aam-acento); }
.aam-admin-wrap a.aam-nav-item:focus-visible, .aam-admin-wrap a.aam-app-link:focus-visible { outline: 2px solid var(--aam-acento); outline-offset: 2px; }

.aam-app-main { min-width: 0; }
.aam-app .aam-admin-body {
	background: #fff; border: 1px solid #ebe4e5; border-radius: 14px;
	padding: 26px 28px; box-shadow: 0 1px 2px rgba(35,28,30,.04);
}
.aam-app .aam-admin-body > h3:first-child { font-size: 20px; margin-bottom: 14px; }
.aam-app .notice { margin-bottom: 16px; }

/* Tarjetas y tablas con el mismo lenguaje visual */
.aam-app .aam-card { background: #fff; border-color: #ebe4e5; border-radius: 12px; text-align: left; padding: 16px 18px; }
.aam-app .aam-card span { color: var(--aam-acento); font-size: 26px; }
.aam-app .aam-card label { color: #6f6366; }
.aam-app .aam-panel-lateral, .aam-app .aam-expediente { background: #faf8f8; border-color: #ebe4e5; border-radius: 12px; }
.aam-app table.widefat { border-color: #ebe4e5; border-radius: 10px; overflow: hidden; border-collapse: separate; border-spacing: 0; }
.aam-app table.widefat th { background: #faf8f8; color: #4a3e41; }
.aam-app table.widefat td, .aam-app table.widefat th { border-bottom-color: #f1ecec; }
.aam-app table.striped tbody tr:nth-child(odd) { background: #fdfcfc; }
.aam-app table.widefat tbody tr:hover { background: var(--aam-acento-claro); }

/* ---------- Móvil / tableta ---------- */
@media (max-width: 900px) {
	.aam-app-top { padding: 10px 16px; flex-wrap: wrap; }
	.aam-app-sub { display: none; }
	.aam-app-quien { display: none; }
	.aam-app-cuerpo { grid-template-columns: 1fr; padding: 0 0 32px; gap: 0; }
	.aam-app-nav {
		position: sticky; top: 0; z-index: 40; flex-direction: row; gap: 0;
		overflow-x: auto; overflow-y: hidden; max-height: none; background: #fff; border-bottom: 1px solid #ebe4e5; padding: 8px 10px;
		scrollbar-width: none;
	}
	.aam-app-nav::-webkit-scrollbar { display: none; }
	.aam-nav-grupo { flex-direction: row; gap: 4px; }
	.aam-nav-grupo + .aam-nav-grupo { margin-left: 4px; padding-left: 8px; border-left: 1px solid #ebe4e5; }
	.aam-nav-titulo { display: none; }
	.aam-admin-wrap a.aam-nav-item { white-space: nowrap; padding: 8px 12px; }
	.aam-admin-wrap a.aam-nav-item.activo { background: var(--aam-acento-claro); box-shadow: none; }
	.aam-admin-wrap a.aam-nav-item.activo::before { left: 12px; right: 12px; top: auto; bottom: -8px; width: auto; height: 3px; }
	.aam-app-main { padding: 16px; }
	.aam-app .aam-admin-body { padding: 18px; overflow-x: auto; }
	.aam-app-top { position: static; }
}
@media (max-width: 520px) {
	.aam-app-link:not(.aam-app-salir) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.aam-admin-body, .aam-app.aam-cambiando .aam-app-progreso { animation: none; }
	.aam-app.aam-cambiando .aam-app-progreso { width: 88%; }
}

/* ===================================================================
 * v1.6 — Valor del punto en pesos por planta
 * =================================================================== */
.aam-app .aam-card span.aam-card-vacio { color: #9a8e91; font-size: 20px; }
.aam-sin-valor { color: #9a8e91; font-style: italic; font-size: 12.5px; }
.aam-valor-punto { font-weight: 700; color: #1f1a1b; font-variant-numeric: tabular-nums; }
.aam-alerta-suave { padding: 10px 14px; margin: 0 0 14px; border-radius: 10px; background: #fff7e6; border: 1px solid #f1d9a4; color: #6b4a00; font-size: 13px; }
.aam-app table.aam-tabla-plantas th.aam-col-check, .aam-app table.aam-tabla-plantas td.aam-col-check { width: 36px; text-align: center; padding-right: 0; }
.aam-tabla-plantas input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--aam-acento); cursor: pointer; }
.aam-app table.aam-tabla-plantas tbody tr.aam-fila-sel { background: var(--aam-acento-claro); }

.aam-barra-masiva {
	display: grid; grid-template-columns: 1fr; gap: 12px;
	margin-top: 4px; padding: 16px 18px; border-radius: 12px;
	background: #faf8f8; border: 1px solid #ebe4e5;
}
.aam-barra-masiva-info { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.aam-barra-masiva-info span { color: #6f6366; }
.aam-barra-masiva-campos { display: grid; grid-template-columns: 200px 1fr; gap: 12px; }
.aam-admin-wrap .aam-barra-masiva-campos label { font-size: 12.5px; margin: 0; }
.aam-admin-wrap .aam-barra-masiva-campos input[type=text] { max-width: none; margin-top: 4px; }
.aam-barra-masiva-botones { display: flex; gap: 8px; flex-wrap: wrap; }
.aam-admin-wrap .aam-barra-masiva-botones .button[disabled] { opacity: .45; cursor: not-allowed; }

.aam-input-pesos { display: flex; align-items: stretch; margin-top: 4px; max-width: 340px; }
.aam-input-pesos > span { display: grid; place-items: center; padding: 0 10px; border: 1px solid #cfc3c4; border-right: none; border-radius: 4px 0 0 4px; background: #faf8f8; color: #6f6366; font-weight: 600; }
.aam-admin-wrap .aam-input-pesos input[type=number] { border-radius: 0 4px 4px 0; max-width: none; }

@media (max-width: 760px) {
	.aam-barra-masiva-campos { grid-template-columns: 1fr; }
}
/* Los botones principales se veían como secundarios (selector más específico en button.button) */
.aam-admin-wrap button.button-primary, .aam-admin-wrap a.button-primary { background: var(--aam-acento); color: #fff; border-color: var(--aam-acento); }
.aam-admin-wrap button.button-primary:hover, .aam-admin-wrap a.button-primary:hover { background: var(--aam-acento-oscuro); border-color: var(--aam-acento-oscuro); color: #fff; }
.aam-admin-wrap button.button-primary[disabled] { background: var(--aam-acento-suave); border-color: var(--aam-acento-suave); }

/* ===================================================================
 * v1.6.1 — Columnas de formularios sin aplastarse
 * La lista ocupa el espacio flexible y los formularios laterales tienen
 * un ancho fijo cómodo. Si el área no alcanza, los formularios bajan
 * debajo de la lista y se acomodan en tarjetas lado a lado.
 * =================================================================== */
.aam-app .aam-admin-body { container-type: inline-size; container-name: aamcuerpo; }
.aam-app .aam-col-2 { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.aam-app .aam-col-2 > * { min-width: 0; }
.aam-app .aam-col-2 > div:first-child { overflow-x: auto; }
.aam-app .aam-col-2 > .aam-panel-lateral,
.aam-app .aam-col-2 > div:last-child > .aam-panel-lateral:last-child { margin-bottom: 0; }

@container aamcuerpo (max-width: 1060px) {
	.aam-app .aam-col-2 { grid-template-columns: minmax(0, 1fr); }
	/* v1.23.1: la columna de formularios se acomoda en columnas tipo "mosaico": las tarjetas
	   se apilan sin dejar huecos en blanco aunque una sea mucho más alta que las demás. */
	.aam-app .aam-col-2 > div:last-child:not(:first-child) {
		display: block; column-width: 300px; column-gap: 16px; column-fill: balance;
	}
	.aam-app .aam-col-2 > div:last-child > .aam-panel-lateral {
		break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid;
		display: inline-block; width: 100%; box-sizing: border-box; margin: 0 0 16px;
	}
}

/* Formularios laterales: textos e inputs parejos */
.aam-app .aam-panel-lateral { padding: 18px 20px; }
.aam-app .aam-panel-lateral h3 { font-size: 16px; line-height: 1.3; margin: 0 0 12px; }
.aam-app .aam-panel-lateral p, .aam-app .aam-panel-lateral .description { font-size: 13px; line-height: 1.5; }
.aam-app .aam-panel-lateral input[type=text], .aam-app .aam-panel-lateral input[type=email],
.aam-app .aam-panel-lateral input[type=number], .aam-app .aam-panel-lateral input[type=password],
.aam-app .aam-panel-lateral input[type=file], .aam-app .aam-panel-lateral select,
.aam-app .aam-panel-lateral textarea { width: 100%; max-width: none; }
.aam-app .aam-panel-lateral code { font-size: 12px; }
.aam-app .aam-panel-lateral .button { max-width: 100%; white-space: normal; text-align: center; }

/* Tablas: sin palabras partidas en encabezados, acciones en una línea */
.aam-app table.widefat th { white-space: nowrap; }
.aam-app .aam-acciones-fila { white-space: nowrap; }
.aam-app .aam-acciones-fila form { display: inline-block; margin: 0; }
.aam-admin-wrap .button.button-small { padding: 4px 10px; font-size: 12px; line-height: 1.4; }
.aam-app .aam-acciones-fila .button { margin: 2px 4px 2px 0; }

/* Filtros en una fila que se acomoda */
.aam-app .aam-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.aam-app .aam-filtros input, .aam-app .aam-filtros select { width: auto; flex: 0 1 220px; }

/* Calendario: título con contexto (general / planta / empleado) */
.aam-cal-titulo { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.aam-cal-titulo span { font-size: 12.5px; color: #6f6366; }
.aam-cal-titulo a { font-size: 12.5px; }
.aam-volver-general { margin: 4px 0 10px; }
.aam-admin-wrap .button, .aam-admin-wrap button.button { font-weight: 600; font-family: inherit; }

/* v1.7.0 puntos mensuales */
.aam-aviso-mensual { background: #fff8e6; border: 1px solid #f1d48a; color: #6b4a00; border-radius: 10px; padding: 12px 16px; margin: 0 0 18px; font-size: 14px; line-height: 1.5; }
.aam-tabla-scroll { overflow-x: auto; }

/* v1.8.5 — Reportes por periodo */
.aam-rep-subtabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 16px; border-bottom: 1px solid #ebe4e5; }
.aam-rep-subtab { padding: 9px 14px; font-weight: 600; font-size: 14px; color: #4a3e41; text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.aam-rep-subtab:hover { color: var(--aam-acento); }
.aam-rep-subtab.activo { color: var(--aam-acento); border-bottom-color: var(--aam-acento); }
.aam-rep-filtros { align-items: flex-end; gap: 10px 12px; }
.aam-rep-filtros label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: #6f6366; }
.aam-rep-filtros label[hidden] { display: none; }
.aam-rep-filtros select { min-width: 150px; }
.aam-rep-contexto { margin: 4px 0 14px; color: #6f6366; }
.aam-rep-pedidos tr.aam-rep-nueva-persona td { border-top: 2px solid var(--aam-acento-borde); }
.aam-rep-pedidos tbody tr:first-child td { border-top: 0; }
.aam-rep-productos .aam-num, .aam-rep-productos th.aam-num { text-align: right; font-variant-numeric: tabular-nums; }
.aam-rep-productos td.aam-rep-cero { color: #c2b8ba; }
.aam-rep-productos tfoot th { background: var(--aam-acento-claro); font-weight: 700; border-top: 2px solid var(--aam-acento-borde); }

/* v1.8.6 — Rango de fechas visible */
.aam-rep-filtros input[type=date] { min-width: 150px; padding: 5px 8px; }
.aam-rep-rango { display: flex; align-items: center; gap: 12px; margin: 6px 0 16px; padding: 12px 16px; background: var(--aam-acento-claro); border: 1px solid var(--aam-acento-borde); border-radius: 12px; }
.aam-rep-rango-ico { font-size: 22px; }
.aam-rep-rango strong { display: block; font-size: 16px; color: var(--aam-acento); }
.aam-rep-rango small { color: #6f6366; }

/* v1.8.11 — Filtros con etiqueta arriba: los campos no se estiran hacia abajo.
   (La regla general de .aam-filtros les da flex-basis de 220px; dentro de una
   etiqueta en columna eso se volvía ALTURA.) */
.aam-app .aam-filtros label > select,
.aam-app .aam-filtros label > input {
	flex: 0 0 auto; height: auto; min-height: 38px; width: 100%; min-width: 150px;
	padding: 7px 10px; box-sizing: border-box; line-height: 1.3;
}
.aam-app .aam-filtros label { flex: 0 1 auto; }
.aam-app .aam-rep-filtros { align-items: flex-end; }
.aam-app .aam-rep-filtros .button { min-height: 38px; }

/* ===================================================================
 * v1.9.0 — Color del sistema (botón "Color" de la barra superior)
 * =================================================================== */
.aam-tema-menu { position: relative; }
.aam-tema-menu > summary { list-style: none; }
.aam-tema-menu > summary::-webkit-details-marker { display: none; }
.aam-tema-boton {
	display: inline-flex; align-items: center; gap: 7px; cursor: pointer; user-select: none;
	padding: 7px 12px; border-radius: 8px; font-size: 13px; font-weight: 600;
	color: #4a3e41; border: 1px solid #ebe4e5; background: #fff;
	transition: border-color .15s, color .15s;
}
.aam-tema-boton:hover, .aam-tema-menu[open] > .aam-tema-boton { border-color: var(--aam-acento); color: var(--aam-acento); }
.aam-tema-boton:focus-visible { outline: 2px solid var(--aam-acento); outline-offset: 2px; }
.aam-tema-punto { width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); flex: none; }
.aam-tema-pop {
	position: absolute; right: 0; top: calc(100% + 8px); z-index: 200; width: 300px;
	background: #fff; border: 1px solid #ebe4e5; border-radius: 14px;
	box-shadow: 0 14px 40px rgba(35,28,30,.18); padding: 16px;
}
.aam-tema-titulo { display: block; font-size: 14px; color: #231c1e; margin-bottom: 10px; }
.aam-tema-opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.aam-admin-wrap label.aam-tema-opcion {
	position: relative; display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 10px; cursor: pointer;
	border: 1.5px solid #ebe4e5; border-radius: 10px; font-size: 12.5px; font-weight: 600; line-height: 1.25; color: #231c1e;
	transition: border-color .15s, background .15s;
}
.aam-tema-opcion input { position: absolute; opacity: 0; pointer-events: none; }
.aam-admin-wrap label.aam-tema-opcion:has(input:checked) { border-color: var(--aam-acento); background: var(--aam-acento-claro); }
.aam-admin-wrap label.aam-tema-opcion:has(input:disabled) { cursor: not-allowed; opacity: .6; }
.aam-tema-muestra { width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(0,0,0,.18); flex: none; }
.aam-tema-rgb { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.aam-admin-wrap .aam-tema-rgb label { display: flex; align-items: center; gap: 3px; margin: 0; font-size: 11.5px; font-weight: 700; color: #6f6366; }
.aam-admin-wrap .aam-tema-rgb input[type=number] { width: 52px; max-width: none; padding: 6px 4px; font-size: 12.5px; text-align: center; border-radius: 8px; }
.aam-tema-picker { width: 38px; height: 34px; padding: 0; border: 1.5px solid #ebe4e5; border-radius: 8px; background: none; cursor: pointer; flex: none; }
.aam-tema-nota { font-size: 11.5px; color: #6f6366; margin: 10px 0 0; line-height: 1.45; }
.aam-admin-wrap .aam-tema-form p.aam-tema-nota { margin: 10px 0 0; }
.aam-admin-wrap .aam-tema-guardar { width: 100%; margin-top: 10px; text-align: center; }
@media (max-width: 520px) { .aam-tema-pop { position: fixed; left: 12px; right: 12px; top: 64px; width: auto; } }

/* ---------- Tema BLANCO: grafito sobre blanco ---------- */
body.aam-panel-limpio.aam-tema-blanco { background: #f7f8fa; color: #1a1d23; }

/* ---------- Tema NEGRO (modo oscuro) ----------
 * El CSS del panel trae los fondos y textos fijos; aquí se cambian. */
body.aam-panel-limpio.aam-tema-negro { background: #0f1115; color: #eceef2; color-scheme: dark; }
.aam-tema-negro.aam-admin-wrap,
.aam-tema-negro .aam-app-top,
.aam-tema-negro .aam-admin-body,
.aam-tema-negro .aam-card,
.aam-tema-negro .aam-cal-dia,
.aam-tema-negro .aam-tema-pop,
.aam-tema-negro .aam-tema-boton,
.aam-tema-negro .aam-t-scroll,
.aam-tema-negro .notice { background: #181b21 !important; border-color: #2e333c !important; }
.aam-admin-wrap.aam-app.aam-tema-negro { background: transparent !important; }
.aam-tema-negro .aam-panel-lateral,
.aam-tema-negro .aam-expediente,
.aam-tema-negro .aam-barra-masiva,
.aam-tema-negro .aam-expandible,
.aam-tema-negro .aam-input-pesos > span,
.aam-tema-negro table.widefat th,
.aam-tema-negro .aam-t-scroll thead th { background: #20242b !important; border-color: #2e333c !important; }
.aam-tema-negro table.widefat { background: #181b21 !important; border-color: #2e333c !important; }
.aam-tema-negro table.widefat td, .aam-tema-negro table.widefat th { border-bottom-color: #2e333c !important; }
.aam-tema-negro table.striped tbody tr:nth-child(odd) { background: #1c1f26 !important; }
.aam-tema-negro table.widefat tbody tr:hover { background: var(--aam-acento-claro) !important; }
.aam-tema-negro .aam-cal-con { background: #1c1f26 !important; }
.aam-tema-negro .aam-cal-vacio { background: transparent !important; border: none !important; }

/* Textos */
.aam-tema-negro h1, .aam-tema-negro h2, .aam-tema-negro h3, .aam-tema-negro h4,
.aam-tema-negro p, .aam-tema-negro td, .aam-tema-negro li, .aam-tema-negro strong,
.aam-tema-negro .aam-app-quien strong, .aam-tema-negro .aam-app-wordmark span,
.aam-tema-negro .aam-tema-titulo, .aam-tema-negro .aam-valor-punto,
.aam-tema-negro label.aam-tema-opcion { color: #eceef2 !important; }
.aam-tema-negro th, .aam-tema-negro label, .aam-tema-negro .description,
.aam-tema-negro .aam-app-sub, .aam-tema-negro .aam-app-quien small, .aam-tema-negro .aam-card label,
.aam-tema-negro .aam-cal-num, .aam-tema-negro .aam-cal-cab, .aam-tema-negro .aam-tema-nota,
.aam-tema-negro .aam-rep-contexto, .aam-tema-negro .aam-rep-rango small,
.aam-tema-negro .aam-t-pie, .aam-tema-negro .aam-t-rango-etq { color: #a2a9b5 !important; }
.aam-tema-negro .aam-nav-titulo, .aam-tema-negro .aam-nav-item .dashicons,
.aam-tema-negro .aam-sin-valor, .aam-tema-negro .aam-fila-baja td { color: #7d8491 !important; }
.aam-tema-negro a.aam-nav-item { color: #c9cdd4 !important; }
.aam-tema-negro a.aam-nav-item:hover { background: #181b21 !important; color: #eceef2 !important; }
.aam-tema-negro a.aam-nav-item.activo { background: #181b21 !important; color: var(--aam-acento) !important; box-shadow: inset 0 0 0 1px #2e333c !important; }
.aam-tema-negro .aam-nav-item.activo .dashicons { color: var(--aam-acento) !important; }
.aam-tema-negro a.aam-app-link, .aam-tema-negro .aam-tema-boton,
.aam-tema-negro .aam-rep-subtab { color: #d5d9e0 !important; }
.aam-tema-negro a.aam-app-link { background: #181b21 !important; border-color: #2e333c !important; }
.aam-tema-negro a.aam-app-link:hover, .aam-tema-negro a.aam-app-link.activo,
.aam-tema-negro .aam-tema-boton:hover, .aam-tema-negro .aam-rep-subtab.activo { color: var(--aam-acento) !important; border-color: var(--aam-acento) !important; }
.aam-tema-negro a.aam-app-salir:hover { background: var(--aam-acento) !important; color: #fff !important; }
.aam-tema-negro .aam-app-avatar { background: var(--aam-acento-claro) !important; }

/* Campos y botones */
.aam-tema-negro input[type=text], .aam-tema-negro input[type=email], .aam-tema-negro input[type=number],
.aam-tema-negro input[type=password], .aam-tema-negro input[type=file], .aam-tema-negro input[type=date],
.aam-tema-negro input[type=search], .aam-tema-negro select, .aam-tema-negro textarea,
.aam-tema-negro .aam-t-pag { background: #0f1115 !important; color: #eceef2 !important; border-color: #3a404a !important; }
.aam-tema-negro input::placeholder, .aam-tema-negro textarea::placeholder { color: #6c7380 !important; }
.aam-tema-negro select option { background: #181b21; color: #eceef2; }
.aam-tema-negro .button:not(.button-primary) { background: #181b21 !important; }
.aam-tema-negro .button:not(.button-primary):hover { background: var(--aam-acento-claro) !important; }
.aam-tema-negro code { background: #262a31 !important; color: #eceef2 !important; }
.aam-tema-negro .aam-tema-picker { border-color: #3a404a; }
.aam-tema-negro .aam-app-nav::-webkit-scrollbar-thumb { background: #3a404a; }
.aam-tema-negro .aam-app-nav { scrollbar-color: #3a404a transparent; }
@media (max-width: 900px) {
	.aam-tema-negro .aam-app-nav { background: #181b21 !important; border-color: #2e333c !important; }
}

/* Etiquetas de estado y avisos en versión oscura */
.aam-tema-negro .aam-estado { background: #262a31 !important; color: #aeb4bf !important; }
.aam-tema-negro .aam-estado-activo, .aam-tema-negro .aam-estado-entregado, .aam-tema-negro .aam-cat-entrega { background: #13281c !important; color: #7fd3a0 !important; }
.aam-tema-negro .aam-estado-baja, .aam-tema-negro .aam-estado-cancelado, .aam-tema-negro .aam-cat-cancelacion { background: #2e1716 !important; color: #f3a29b !important; }
.aam-tema-negro .aam-estado-confirmado, .aam-tema-negro .aam-estado-seleccionado, .aam-tema-negro .aam-cat-pedido { background: #172434 !important; color: #8db9e8 !important; }
.aam-tema-negro .aam-estado-pendiente, .aam-tema-negro .aam-estado-modificado, .aam-tema-negro .aam-cat-liberacion { background: #2e2312 !important; color: #f0b866 !important; }
.aam-tema-negro .aam-cat-puntos { background: #2a2140 !important; color: #c7a6f5 !important; }
.aam-tema-negro .aam-chip, .aam-tema-negro .aam-cat-accion { background: #262a31; color: #aeb4bf; }
.aam-tema-negro .aam-liberado { color: #7fd3a0 !important; }
.aam-tema-negro .aam-alerta-suave, .aam-tema-negro .aam-aviso-mensual { background: #2e2312 !important; border-color: #4a3a1c !important; color: #f0b866 !important; }
.aam-tema-negro .aam-alerta-suave *, .aam-tema-negro .aam-aviso-mensual * { color: inherit !important; }
.aam-tema-negro .aam-rep-rango { background: var(--aam-acento-claro) !important; border-color: var(--aam-acento-borde) !important; }

/* ===================================================================
 * v1.10.0 — Módulo Productos (Compras de Go-Hunting)
 * =================================================================== */
.aam-app .aam-prod-col { grid-template-columns: minmax(0, 1fr) 380px; }
.aam-prod-mini { width: 54px; height: 54px; object-fit: cover; border-radius: 8px; border: 1px solid #ebe4e5; background: #fff; display: block; }
.aam-prod-sin-img { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 8px; border: 1px dashed #cfc3c4; font-size: 10px; line-height: 1.1; text-align: center; color: #9a8e91; }
.aam-texto-tenue { color: #9a8e91; }
.aam-prod-tabla td { vertical-align: middle; }
.aam-prod-form { position: sticky; top: 82px; max-height: calc(100vh - 98px); overflow-y: auto; }
.aam-app .aam-prod-form textarea { width: 100%; max-width: none; padding: 7px 8px; border-radius: 4px; font-family: inherit; font-size: 13px; }
.aam-prod-actual, .aam-prod-previa { display: block; max-width: 100%; max-height: 180px; object-fit: contain; border-radius: 10px; border: 1px solid #ebe4e5; margin: 4px 0 8px; background: #fff; }
.aam-prod-previa[hidden] { display: none; }
.aam-prod-sku-aviso { display: block; font-size: 12px; font-weight: 600; margin-top: 4px; min-height: 16px; }
.aam-prod-sku-ok { color: #1b6b24; }
.aam-prod-sku-mal { color: #c62828; }
.aam-admin-wrap .aam-prod-guardar[disabled] { opacity: .5; cursor: not-allowed; }
.aam-prod-galeria { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.aam-admin-wrap label.aam-prod-galeria-item { display: flex; flex-direction: column; align-items: center; gap: 3px; margin: 0; font-size: 11px; font-weight: 600; cursor: pointer; }
.aam-prod-galeria-item img { width: 60px; height: 60px; object-fit: cover; border-radius: 8px; border: 1px solid #ebe4e5; }
.aam-prod-galeria-item:has(input:checked) img { opacity: .35; outline: 2px solid #c62828; }
.aam-prod-cats-wrap { margin: 10px 0; }
.aam-prod-cats { max-height: 170px; overflow-y: auto; border: 1px solid #ebe4e5; border-radius: 8px; padding: 6px 10px; background: #fff; }
.aam-admin-wrap .aam-prod-cats label { display: flex; align-items: center; gap: 6px; font-weight: 500; margin: 3px 0; }
@container aamcuerpo (max-width: 1060px) {
	.aam-prod-form { position: static; max-height: none; }
}
.aam-tema-negro .aam-prod-cats { background: #0f1115 !important; border-color: #3a404a !important; }
.aam-tema-negro .aam-prod-sku-ok { color: #7fd3a0 !important; }
.aam-tema-negro .aam-prod-sku-mal { color: #f3a29b !important; }
.aam-tema-negro .aam-prod-mini, .aam-tema-negro .aam-prod-actual, .aam-tema-negro .aam-prod-previa { border-color: #2e333c; }

/* ===================================================================
 * v1.11.0 — Productos: barra, vistas y selección; Super Backup
 * =================================================================== */
.aam-prod-barra { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.aam-prod-masivo { margin: 0 0 14px; }
.aam-prod-tabla .aam-col-check { width: 34px; text-align: center; }
.aam-prod-tabla input[type=checkbox], .aam-prod-todos { width: 16px; height: 16px; accent-color: var(--aam-acento); cursor: pointer; }
.aam-sb-acciones { display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-start; }
.aam-sb-acciones form { margin: 0; }
.aam-sb-restaurar > summary { list-style: none; }
.aam-sb-restaurar > summary::-webkit-details-marker { display: none; }
.aam-sb-restaurar[open] { flex-basis: 100%; }
.aam-sb-restaurar[open] form { margin-top: 8px; padding: 12px; border: 1px solid var(--aam-acento-borde); border-radius: 10px; background: var(--aam-acento-claro); }
.aam-admin-wrap .aam-sb-restaurar input[type=text] { max-width: 200px; margin: 4px 0 8px; display: block; }
.aam-sb-peligro { border-color: #f1c4c4 !important; background: #fff7f7 !important; }
.aam-sb-peligro h3 { color: #b42318 !important; }
.aam-admin-wrap label.aam-sb-check { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.aam-tema-negro .aam-sb-peligro { background: #2a1717 !important; border-color: #5a2a27 !important; }
.aam-tema-negro .aam-sb-peligro h3 { color: #f3a29b !important; }

/* ===================================================================
 * v1.25.0 — Productos: lista y edición al estilo WooCommerce / WordPress
 * =================================================================== */
.aam-link-btn { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: #2271b1; cursor: pointer; text-decoration: none; box-shadow: none; }
.aam-link-btn:hover { text-decoration: underline; }
.aam-link-btn.peligro { color: #b32d2e; }
.aam-pl-vistas { margin: 4px 0 10px; font-size: 14px; color: #6f6366; }
.aam-pl-vistas a { text-decoration: none; color: #2271b1; }
.aam-pl-vistas a.activo { color: #1d2327; font-weight: 700; }
.aam-pl-vistas span { color: #6f6366; font-weight: 400; }
.aam-pl-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 12px; }
.aam-pl-filtros input[type=search], .aam-pl-filtros select { min-width: 160px; max-width: 100%; padding: 6px 8px; }
.aam-pl-paginar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; margin: 8px 0; font-size: 13px; color: #50575e; }
.aam-pl-paginar .button.disabled { opacity: .45; pointer-events: none; }
.aam-pl-pag-n { padding: 0 6px; }
.aam-pt-envoltura { overflow-x: auto; }
.aam-pt th, .aam-pt td { vertical-align: top; text-align: left; }
.aam-pt td.aam-col-check, .aam-pt th.aam-col-check { width: 28px; }
.aam-pt .aam-pt-img { width: 66px; }
.aam-pt td.aam-pt-num, .aam-pt th.aam-pt-num { width: 44px; text-align: center; font-weight: 700; color: #50575e; } /* v1.38.7 */
.aam-pt-titulo { font-weight: 700; font-size: 14px; color: #2271b1; text-decoration: none; }
.aam-pt-titulo:hover { color: #135e96; text-decoration: underline; }
.aam-pt-estado { color: #6f6366; font-weight: 600; }
.aam-pt-acc { font-size: 12px; margin-top: 4px; color: #a7aaad; }
.aam-pt-acc form { display: inline; margin: 0; }
.aam-pt-acc a { color: #2271b1; text-decoration: none; }
.aam-pt-acc a:hover { text-decoration: underline; }
.aam-pt-fecha { white-space: nowrap; font-size: 13px; color: #50575e; }

.aam-pe-titulo { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 14px; }
.aam-pe-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
@container aamcuerpo (max-width: 980px) { .aam-pe-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .aam-pe-grid { grid-template-columns: minmax(0, 1fr); } }
.aam-pe-main, .aam-pe-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.aam-pe-nombre { width: 100%; font-size: 20px; padding: 8px 10px; border: 1px solid #8c8f94; border-radius: 4px; box-sizing: border-box; background: #fff; }
.aam-pe-caja { background: #fff; border: 1px solid #c3c4c7; border-radius: 4px; min-width: 0; }
.aam-pe-caja > h4 { margin: 0; padding: 10px 12px; font-size: 14px; font-weight: 600; border-bottom: 1px solid #c3c4c7; color: #1d2327; }
.aam-pe-main .aam-pe-caja > :not(h4):not(.aam-pe-datos-cuerpo) { margin: 10px 12px 12px; }
.aam-pe-cuerpo { padding: 10px 12px; }
.aam-pe-cuerpo p { margin: 0 0 10px; }
.aam-pe-cuerpo select, .aam-pe-cuerpo input[type=text] { width: 100%; box-sizing: border-box; }
.aam-pe-pie { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; background: #f6f7f7; border-top: 1px solid #dcdcde; }
.aam-pe-datos-cuerpo { display: flex; min-height: 150px; }
.aam-pe-tabs { list-style: none; margin: 0; padding: 0; width: 160px; flex: 0 0 160px; background: #fafafa; border-right: 1px solid #eee; }
.aam-pe-tabs li { margin: 0; }
.aam-pe-tabs button { display: block; width: 100%; text-align: left; padding: 10px 12px; border: 0; border-bottom: 1px solid #eee; background: transparent; color: #2271b1; font: inherit; font-size: 13px; cursor: pointer; }
.aam-pe-tabs button.activo { background: #eee; color: #1d2327; font-weight: 600; }
.aam-pe-panel { flex: 1; padding: 12px 16px; min-width: 0; }
.aam-pe-panel[hidden] { display: none; }
.aam-pe-panel input[type=text], .aam-pe-panel input[type=number], .aam-pe-panel select { width: 100%; max-width: 420px; box-sizing: border-box; }
.aam-pe-panel label { display: block; font-weight: 600; margin-bottom: 4px; }
/* Editor visual de WordPress dentro del panel */
.aam-app .wp-editor-wrap { max-width: 100%; }
.aam-app .wp-editor-wrap label { display: inline; font-weight: inherit; margin: 0; }
.aam-app .wp-editor-tabs { float: right; }
.aam-app .wp-editor-tabs button, .aam-app .wp-editor-tools .wp-switch-editor { font: 13px/1.4 sans-serif; padding: 4px 10px; margin: 5px 0 0 4px; border: 1px solid #dcdcde; background: #f6f7f7; color: #50575e; cursor: pointer; height: auto; width: auto; border-radius: 0; }
.aam-app .wp-editor-wrap.tmce-active .switch-tmce, .aam-app .wp-editor-wrap.html-active .switch-html { background: #f0f0f1; border-bottom-color: #f0f0f1; color: #1d2327; }
.aam-app .wp-editor-container { clear: both; border: 1px solid #dcdcde; }
.aam-app .wp-editor-container textarea.wp-editor-area { width: 100%; max-width: none; border: 0; box-sizing: border-box; font-family: Consolas, Monaco, monospace; font-size: 13px; padding: 10px; }
.aam-app .quicktags-toolbar input.button { width: auto; }
.aam-tema-negro .aam-pe-caja, .aam-tema-negro .aam-pe-nombre { background: #14171c !important; border-color: #2e333c !important; color: #e8eaed; }
.aam-tema-negro .aam-pe-caja > h4 { border-color: #2e333c; color: #e8eaed; }
.aam-tema-negro .aam-pe-pie, .aam-tema-negro .aam-pe-tabs { background: #1b1f26; border-color: #2e333c; }
.aam-tema-negro .aam-pl-vistas a.activo { color: #e8eaed; }

/* v1.28.0 — Cálculo de puntos, importación de productos y subida de imagen con un clic */
.aam-calc { margin: 14px 0; border: 1px solid #ebe4e5; border-radius: 10px; background: #fff; }
.aam-calc > summary { cursor: pointer; padding: 11px 14px; font-size: 14px; }
.aam-calc-cuerpo { padding: 4px 16px 16px; border-top: 1px solid #ebe4e5; }
.aam-calc-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; margin: 12px 0; }
.aam-calc-form label, .aam-imp-form label, .aam-calc-sim label { display: block; font-weight: 600; margin-bottom: 4px; }
.aam-calc-form .aam-calc-check, .aam-imp-form .aam-calc-check { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.aam-calc-reglas { border: 1px solid #ebe4e5; border-radius: 8px; padding: 8px 12px 10px; margin: 0 0 10px; }
.aam-calc-reglas legend { font-weight: 600; padding: 0 6px; }
.aam-calc-form label.aam-calc-regla { display: flex; gap: 8px; align-items: flex-start; font-weight: 500; margin: 6px 0; cursor: pointer; }
.aam-calc-umbral { margin: 8px 0 0; }
.aam-calc-umbral input { width: 90px; }
.aam-calc-sim { background: #faf7f7; border: 1px solid #ebe4e5; border-radius: 10px; padding: 4px 14px 12px; }
.aam-calc-salida { background: #fff; border: 1px dashed #cfc3c4; border-radius: 8px; padding: 10px 12px; line-height: 1.6; }
.aam-calc-resultado { font-size: 26px; font-weight: 800; color: #8c1d2f; margin: 2px 0; }
.aam-calc-tabla { margin-top: 10px; }
.aam-imp-form select, .aam-imp-form input[type=number] { max-width: 100%; }
.aam-imp-form > p { margin: 0 0 12px; }
.aam-imp-confirmar { margin: 12px 0; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.aam-imp-tabla td { vertical-align: middle; }
.aam-imp-tabla tr.aam-imp-error td { background: #fdecea !important; }
.aam-imp-tabla tr.aam-imp-aviso td { background: #fff8e1 !important; }
.aam-img-subir { position: relative; display: inline-block; cursor: pointer; }
.aam-img-subir .aam-img-lapiz { position: absolute; right: -4px; bottom: -4px; background: #fff; border: 1px solid #cfc3c4; border-radius: 50%; width: 22px; height: 22px; display: grid; place-items: center; font-size: 12px; opacity: 0; transition: opacity .15s; }
.aam-img-subir:hover .aam-img-lapiz, .aam-img-subir:focus-within .aam-img-lapiz { opacity: 1; }
.aam-img-subir:hover .aam-prod-mini, .aam-img-subir:hover .aam-prod-sin-img { outline: 2px solid #8c1d2f; }
.aam-img-subir.aam-img-cargando { opacity: .45; pointer-events: none; }
.aam-calc-linea { display: block; margin-top: 4px; font-weight: 600; }
@media (max-width: 900px) { .aam-calc-grid { grid-template-columns: 1fr; } }
.aam-tema-negro .aam-calc, .aam-tema-negro .aam-calc-sim, .aam-tema-negro .aam-calc-salida { background: #14171c; border-color: #2e333c; color: #e8eaed; }
.aam-tema-negro .aam-calc-cuerpo { border-color: #2e333c; }

/* v1.31.9 — "Editar empleado" aparece arriba de la lista (antes quedaba hasta abajo en pantallas angostas). */
.aam-app .aam-edit-arriba { margin: 0 0 20px; max-width: 760px; }
.aam-app .aam-edit-arriba .aam-panel-lateral { margin-bottom: 0; border-color: #a6373c; box-shadow: 0 0 0 3px rgba(166,55,60,.12); }
#aam-form-empleado { scroll-margin-top: 90px; }

/* v1.32.0 — Archivo de reportes: año + cajitas por mes, filtro de fechas al lado */
.aam-rep-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; margin: 4px 0 18px; }
.aam-rep-lateral { background: #fff; border: 1px solid #ebe4e5; border-radius: 12px; padding: 14px 16px; position: sticky; top: 16px; }
.aam-rep-lateral h4 { margin: 0 0 10px; font-size: 14px; }
.aam-rep-lateral .aam-rep-filtros { flex-direction: column; align-items: stretch; flex-wrap: nowrap; margin: 0; }
.aam-rep-lateral .aam-rep-filtros select, .aam-rep-lateral .aam-rep-filtros input[type=date] { width: 100%; min-width: 0; box-sizing: border-box; }
.aam-rep-lateral .aam-rep-filtros .button { width: 100%; text-align: center; justify-content: center; }
.aam-rep-anios { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 10px; }
.aam-rep-anios-et { font-size: 12px; font-weight: 600; color: #6f6366; margin-right: 4px; }
.aam-rep-anio { padding: 6px 14px; border: 1px solid var(--aam-acento-borde, #ebe4e5); border-radius: 999px; font-weight: 600; text-decoration: none; color: #4a3e41; background: #fff; }
.aam-rep-anio:hover { color: var(--aam-acento); border-color: var(--aam-acento); }
.aam-rep-anio.activo { background: var(--aam-acento); border-color: var(--aam-acento); color: #fff; }
.aam-rep-archivo-tit { margin: 6px 0 2px; }
.aam-rep-meses { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-top: 10px; }
.aam-rep-caja { background: #fff; border: 1px solid #ebe4e5; border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.aam-rep-caja.activa { border-color: var(--aam-acento); box-shadow: 0 0 0 2px var(--aam-acento-claro, #eee); }
.aam-rep-caja.vacia { opacity: .62; }
.aam-rep-caja-anio { background: var(--aam-acento-claro, #f6f1f2); border-color: var(--aam-acento-borde, #ebe4e5); }
.aam-rep-caja-cab { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.aam-rep-caja-cab strong { font-size: 16px; color: var(--aam-acento); }
.aam-rep-etq { font-size: 10px; font-weight: 700; text-transform: uppercase; background: var(--aam-acento); color: #fff; padding: 2px 7px; border-radius: 999px; }
.aam-rep-caja-rango { color: #6f6366; }
.aam-rep-caja-datos { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; color: #6f6366; }
.aam-rep-caja-datos b { color: #2b2326; font-size: 14px; }
.aam-rep-caja-lista, .aam-rep-caja-otros ul { list-style: none; margin: 0; padding: 0; }
.aam-rep-caja-lista li { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 5px 0; border-top: 1px solid #f1ebec; }
.aam-rep-caja-lista li.sel .aam-rep-ver { font-weight: 700; color: var(--aam-acento); }
.aam-rep-ver { text-decoration: none; font-size: 13px; color: #4a3e41; }
.aam-rep-ver:hover { color: var(--aam-acento); text-decoration: underline; }
.aam-rep-bajar { text-decoration: none; border: 1px solid var(--aam-acento-borde, #ebe4e5); border-radius: 6px; padding: 0 7px; font-size: 13px; line-height: 22px; color: var(--aam-acento); }
.aam-rep-bajar:hover { background: var(--aam-acento); color: #fff; }
.aam-rep-caja-otros summary { cursor: pointer; font-size: 12px; color: #6f6366; padding-top: 4px; }
.aam-rep-caja-otros li { padding: 3px 0; font-size: 12px; }
.aam-rep-caja-otros a { text-decoration: none; }
@media (max-width: 1000px) { .aam-rep-layout { grid-template-columns: 1fr; } .aam-rep-lateral { position: static; } }
.aam-tema-negro .aam-rep-lateral, .aam-tema-negro .aam-rep-caja, .aam-tema-negro .aam-rep-anio { background: #1b1f27 !important; border-color: #2f3644 !important; }
.aam-tema-negro .aam-rep-caja-anio { background: var(--aam-acento-claro) !important; }
.aam-tema-negro .aam-rep-ver, .aam-tema-negro .aam-rep-anio, .aam-tema-negro .aam-rep-caja-datos b { color: #d5d9e0 !important; }
.aam-tema-negro .aam-rep-anio.activo { background: var(--aam-acento) !important; color: #fff !important; }
.aam-tema-negro .aam-rep-caja-lista li { border-top-color: #2f3644 !important; }

/* v1.32.1 — archivo desplegable y compacto: ya no aplasta el filtro de la derecha */
.aam-rep-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); }
.aam-rep-archivo { background: #fff; border: 1px solid #ebe4e5; border-radius: 12px; padding: 0; }
.aam-rep-archivo > summary { cursor: pointer; padding: 12px 16px; font-size: 15px; list-style: none; }
.aam-rep-archivo > summary::-webkit-details-marker { display: none; }
.aam-rep-archivo > summary::before { content: "▸ "; color: var(--aam-acento); }
.aam-rep-archivo[open] > summary::before { content: "▾ "; }
.aam-rep-archivo > summary small { color: #6f6366; }
.aam-rep-archivo-tit { font-weight: 700; color: var(--aam-acento); }
.aam-rep-archivo > .aam-rep-anios, .aam-rep-archivo > .description, .aam-rep-archivo > .aam-rep-meses { margin-left: 14px; margin-right: 14px; }
.aam-rep-archivo > .aam-rep-meses { margin-bottom: 14px; max-height: 380px; overflow-y: auto; padding: 2px 4px 2px 0; grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); gap: 10px; }
.aam-rep-archivo .aam-rep-caja { padding: 9px 11px; gap: 4px; }
.aam-rep-archivo .aam-rep-caja-cab strong { font-size: 14px; }
.aam-rep-archivo .aam-rep-anio { padding: 3px 12px; font-size: 13px; }
.aam-rep-archivo .aam-rep-ver { font-size: 12px; }
.aam-tema-negro .aam-rep-archivo { background: #1b1f27 !important; border-color: #2f3644 !important; }

/* v1.32.2 — archivo debajo del filtro, a todo el ancho, sin huecos */
.aam-rep-archivo { margin: 6px 0 18px; }
.aam-rep-archivo > .aam-rep-meses { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); max-height: 440px; }

/* v1.33.5 — Reloj del dispositivo */
.aam-reloj { position: relative; }
.aam-reloj > summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid #ebe4e5; border-radius: 999px; background: #fff; font-weight: 600; font-variant-numeric: tabular-nums; font-size: 14px; color: #3b3033; position: relative; }
.aam-reloj > summary::-webkit-details-marker { display: none; }
.aam-reloj[open] > summary { border-color: var(--aam-acento); color: var(--aam-acento); }
.aam-reloj-alerta { background: #d97706; color: #fff; border-radius: 50%; width: 16px; height: 16px; font-style: normal; font-size: 11px; line-height: 16px; text-align: center; }
.aam-reloj-panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 99990; width: 320px; background: #fff; border: 1px solid #ebe4e5; border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.16); padding: 14px 16px; text-align: left; }
.aam-reloj-fila { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.aam-reloj-fila strong { font-size: 20px; font-variant-numeric: tabular-nums; color: var(--aam-acento); }
.aam-reloj-sub { display: block; color: #6f6366; margin: 0 0 10px; }
.aam-reloj-estado { margin: 4px 0 6px; font-size: 13px; color: #2e7d32; font-weight: 600; }
.aam-reloj-estado.mal { color: #b45309; }
.aam-reloj-nota { margin: 0; font-size: 12px; color: #6f6366; }
@media (max-width: 700px) { .aam-reloj-panel { right: auto; left: 0; width: min(320px, 90vw); } }
.aam-tema-negro .aam-reloj > summary, .aam-tema-negro .aam-reloj-panel { background: #1b1f27 !important; border-color: #2f3644 !important; color: #d5d9e0 !important; }

/* v1.36.2 — Catálogo por mes: navegador de meses y caja de cada mes */
.aam-mesnav { margin: 14px 0 10px; padding: 12px 14px; border: 1px solid #ebe4e5; border-radius: 10px; background: #fff; }
.aam-mesnav-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
.aam-mesnav-anio { display: inline-flex; align-items: center; gap: 8px; }
.aam-mesnav-anio b { font-size: 16px; min-width: 42px; text-align: center; }
.aam-mesnav-meses { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 8px; }
.aam-mes-chip { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border: 1px solid #ebe4e5; border-radius: 8px; text-decoration: none; color: inherit; background: #faf7f7; }
.aam-mes-chip span { font-weight: 600; }
.aam-mes-chip small { color: #7a6f70; }
.aam-mes-chip.con-datos { background: #fff; border-color: #c9a0a7; }
.aam-mes-chip.vacio { opacity: .75; }
.aam-mes-chip.actual { box-shadow: inset 0 0 0 1px #8c1d2f; }
.aam-mes-chip.activo { background: #8c1d2f; border-color: #8c1d2f; color: #fff; opacity: 1; }
.aam-mes-chip.activo small { color: #f3dfe2; }
.aam-mescaja { margin: 0 0 14px; padding: 4px 16px 14px; border: 1px solid #ebe4e5; border-radius: 10px; background: #fff; }
.aam-mescaja h4 { margin: 12px 0 8px; font-size: 15px; }
.aam-mescaja.sin-datos { border-style: dashed; border-color: #cfc3c4; background: #faf7f7; }
.aam-mescaja-vacio p { margin: 6px 0; }
.aam-tema-negro .aam-mesnav, .aam-tema-negro .aam-mescaja, .aam-tema-negro .aam-mes-chip.con-datos { background: #1b1f26; border-color: #2e333c; }
.aam-tema-negro .aam-mes-chip, .aam-tema-negro .aam-mescaja.sin-datos { background: #15181d; border-color: #2e333c; }
.aam-tema-negro .aam-mes-chip.activo { background: #8c1d2f; border-color: #8c1d2f; }

/* v1.36.5 — Descargar el catálogo (PDF / Excel) de otro mes */
.aam-nav-mes { margin: 6px 4px 2px; padding: 9px 10px; background: #fff; border: 1px solid #ebe4e5; border-radius: 10px; display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; min-width: 200px; }
.aam-nav-mes label { font-weight: 600; color: #6f6366; }
.aam-nav-mes select { width: 100%; max-width: 100%; }
.aam-nav-mes-btns { display: flex; gap: 6px; }
.aam-admin-wrap .aam-nav-mes a.aam-mes-dl { flex: 1; text-align: center; padding: 6px 8px; border-radius: 8px; background: var(--aam-acento); color: #fff; text-decoration: none; font-weight: 600; }
.aam-admin-wrap .aam-nav-mes a.aam-mes-dl:hover { filter: brightness(1.08); }

/* v1.36.9 — Menú lateral SÓLIDO (antes era transparente y dejaba ver el fondo y las animaciones de temporada). */
@media (min-width: 901px) {
	.aam-app-nav { background: #fff; border: 1px solid #ebe4e5; border-radius: 14px; padding: 14px 8px 14px 10px; box-shadow: 0 1px 3px rgba(35,28,30,.06); }
	.aam-admin-wrap a.aam-nav-item:hover, .aam-admin-wrap a.aam-nav-item.activo { background: var(--aam-acento-claro); }
	.aam-tema-negro .aam-app-nav { background: #181b21 !important; border-color: #2e333c !important; }
	.aam-tema-negro a.aam-nav-item:hover, .aam-tema-negro a.aam-nav-item.activo { background: #232830 !important; }
}

/* v1.36.10 — casillas de meses por producto */
.aam-selmes { display: flex; flex-direction: column; gap: 4px; margin: 4px 0 8px; }
.aam-selmes-anio { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.aam-selmes-anio > b { min-width: 38px; }
.aam-selmes label { display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px; border: 1px solid #ebe4e5; border-radius: 6px; background: #faf7f7; font-size: 12px; cursor: pointer; }
.aam-selmes label:has(input:checked) { background: #f4e3e6; border-color: #c9a0a7; font-weight: 600; }
.aam-pt-meses { display: inline-block; }
.aam-pt-meses > summary { display: inline; cursor: pointer; color: #2271b1; }
.aam-pt-meses[open] { display: block; margin-top: 6px; padding: 8px; border: 1px solid #ebe4e5; border-radius: 8px; background: #fff; }
.aam-pt-mestag { font-size: 12px; color: #7a6f70; margin-top: 2px; }
.aam-bulk-meses { display: inline-block; vertical-align: top; }
.aam-bulk-meses[open] { display: block; margin: 6px 0; padding: 8px; border: 1px solid #ebe4e5; border-radius: 8px; background: #fff; }
.aam-bulk-meses > summary { cursor: pointer; }
