/* AEQR · Panel de coordinación — el candado de PIN usa tarjeta con cabecera
   oscura (igual a credencial/escáner); el dashboard, una vez adentro, usa un
   layout de datos claro y denso, sin tarjeta envolvente. */
.aeqr-pnl{
	--ink:#14131A; --soft:#6b6760; --line:#e3ddd2; --paper:#fbf9f4;
	--gold:var(--aeqr-acento,#F4BD4D); --gold-deep:#c8901f;
	--ok:#15803D; --warn:#B45309; --bad:#B91C1C;
	--bg:#f4f2ee;
	font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	color:var(--ink); -webkit-tap-highlight-color:transparent;
}
.aeqr-pnl *{ box-sizing:border-box; }
.aeqr-pnl [hidden]{ display:none !important; }

.aeqr-pnl__gate{ max-width:380px; margin:24px auto; padding:0 14px; }

/* --- tarjeta del candado (sin cambios respecto al escáner) --- */
.aeqr-pnl__card{
	background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden;
	box-shadow:0 1px 2px rgba(20,19,26,.06), 0 24px 48px -24px rgba(20,19,26,.35);
}
.aeqr-pnl__top{
	background:var(--ink); height:78px; overflow:hidden; display:flex; flex-direction:column; align-items:center;
	justify-content:center; gap:8px; padding:0 20px; text-align:center;
}
.aeqr-pnl__ev{ font-family:Georgia,'Times New Roman',serif; font-size:16px; color:#fff; letter-spacing:.02em; }
/* !important necesario: Elementor inyecta ".elementor img{height:auto; max-width:100%;}"
   con más especificidad que una sola clase (clase+elemento vs. clase sola) y se come
   nuestro tamaño si no lo forzamos aquí. */
.aeqr-pnl__logo{ height:50px !important; width:auto !important; max-width:none !important; object-fit:contain !important; }
.aeqr-pnl__gate-body{ padding:26px 22px 28px; display:flex; flex-direction:column; gap:10px; text-align:center; }
.aeqr-pnl__gate-body h2{ margin:0 0 4px; font-size:18px; font-weight:600; }
.aeqr-pnl__label{ font-size:12px; color:var(--soft); text-align:left; font-weight:500; }
.aeqr-pnl__input{
	font:inherit; font-size:14px; padding:12px 13px; border-radius:10px; border:1px solid var(--line);
	background:var(--paper); color:var(--ink); width:100%;
}
.aeqr-pnl__input:focus{ outline:none; background:#fff; border-color:var(--gold-deep); box-shadow:0 0 0 3px rgba(244,189,77,.28); }
.aeqr-pnl__input--pin{ font-size:22px; letter-spacing:.35em; text-align:center; }
.aeqr-pnl__gate-error{ color:var(--bad); font-size:13px; margin-top:2px; }
.aeqr-pnl__cta{
	margin-top:4px; padding:13px 18px; border:0; border-radius:10px; background:var(--gold);
	color:#1c1710; font-weight:700; font-size:14.5px; cursor:pointer; width:100%;
	transition:filter .15s ease, transform .12s ease;
}
.aeqr-pnl__cta:hover{ filter:brightness(1.04); }
.aeqr-pnl__cta:active{ transform:translateY(1px); }

/* --- dashboard --- */
.aeqr-pnl__dash{
	max-width:1160px; margin:0 auto; padding:20px 20px 40px; background:var(--bg);
	display:flex; flex-direction:column; gap:18px;
}
.aeqr-pnl__topbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.aeqr-pnl__title{ margin:0; display:flex; align-items:center; }
.aeqr-pnl__title-txt{ font-family:Georgia,'Times New Roman',serif; font-size:24px; font-weight:400; color:var(--ink); }
.aeqr-pnl__logo-dash{ height:75px !important; width:auto !important; max-width:none !important; object-fit:contain !important; display:block; }
.aeqr-pnl__topbar-right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.aeqr-pnl__live{
	font-size:12.5px; color:var(--soft); white-space:nowrap; font-variant-numeric:tabular-nums;
}
.aeqr-pnl__btn{
	padding:9px 16px; border-radius:9px; border:1px solid var(--ink); background:var(--ink); color:#fff;
	font-size:13.5px; font-weight:600; text-decoration:none; cursor:pointer; white-space:nowrap;
}
.aeqr-pnl__btn:hover{ filter:brightness(1.2); }
.aeqr-pnl__btn--ghost{ background:#fff; color:var(--ink); border-color:var(--line); }
.aeqr-pnl__btn--ghost:hover{ filter:none; background:var(--paper); }

.aeqr-pnl__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media (min-width:640px){ .aeqr-pnl__grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:900px){ .aeqr-pnl__grid{ grid-template-columns:repeat(6,1fr); } }

.aeqr-pnl__kpi{
	border:1px solid var(--line); border-radius:12px; padding:16px 18px; display:flex; flex-direction:column;
	gap:4px; background:#fff; transition:border-color .2s ease, box-shadow .2s ease;
}
.aeqr-pnl__v{ font-weight:700; font-size:28px; color:var(--ink); font-variant-numeric:tabular-nums; line-height:1.1; }
.aeqr-pnl__v--flag{ color:var(--warn); }
.aeqr-pnl__v--bad{ color:var(--bad); }
.aeqr-pnl__l{ font-size:12.5px; color:var(--soft); line-height:1.35; }
.aeqr-pnl__kpi--hero{ grid-column:span 2; }
@media (min-width:900px){ .aeqr-pnl__kpi--hero{ grid-column:span 1; } }
.aeqr-pnl__kpi--hero.is-alerta{ border-color:var(--bad); box-shadow:0 0 0 1px var(--bad); }
.aeqr-pnl__kpi--hero.is-alerta .aeqr-pnl__v{ color:var(--bad); }

.aeqr-pnl__tables{ display:grid; grid-template-columns:1fr; gap:18px; }
@media (min-width:900px){ .aeqr-pnl__tables{ grid-template-columns:1fr 1fr; } }
.aeqr-pnl__table-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.aeqr-pnl__table-head h2{ margin:0; font-size:15px; font-weight:600; }
.aeqr-pnl__table-titulo{ display:flex; align-items:baseline; gap:8px; }
.aeqr-pnl__table-contador{ font-size:12px; color:var(--soft); font-weight:500; }
.aeqr-pnl__table-head-acciones{ display:flex; align-items:center; gap:8px; }
.aeqr-pnl__ver-todos{
	border:1px solid var(--line); background:#fff; border-radius:8px; height:30px; padding:0 12px;
	display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:12.5px; font-weight:600;
	color:var(--ink) !important; white-space:nowrap;
}
.aeqr-pnl__ver-todos:hover{ background:var(--paper) !important; color:var(--ink) !important; }
.aeqr-pnl__refresh{
	border:1px solid var(--line); background:#fff; border-radius:8px; width:30px; height:30px;
	display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px;
	line-height:1; color:var(--soft); padding:0;
}
.aeqr-pnl__refresh:hover{ background:var(--paper); color:var(--ink); }
.aeqr-pnl__refresh:active{ transform:translateY(1px); }
.aeqr-pnl__refresh.is-cargando{ opacity:.4; pointer-events:none; }
.aeqr-pnl__qr-btn{
	border:1px solid var(--line); background:#fff; border-radius:8px; width:30px; height:30px;
	display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:15px;
	line-height:1; padding:0;
}
.aeqr-pnl__qr-btn:hover{ background:var(--paper); border-color:var(--gold-deep); }
.aeqr-pnl__table-wrap{ background:#fff; border:1px solid var(--line); border-radius:12px; overflow:auto; max-height:520px; }
.aeqr-pnl__table{ width:100%; border-collapse:collapse; font-size:13px; }
.aeqr-pnl__table thead th{
	position:sticky; top:0; background:#fff; text-align:left; font-size:10.5px; letter-spacing:.06em;
	text-transform:uppercase; color:var(--soft); font-weight:600; padding:11px 14px; border-bottom:1px solid var(--line);
}
.aeqr-pnl__table td{ padding:10px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.aeqr-pnl__table tbody tr:last-child td{ border-bottom:0; }
.aeqr-pnl__table b{ display:block; font-weight:600; }
.aeqr-pnl__muted{ display:block; font-size:11.5px; color:var(--soft); }
.aeqr-pnl__mono{ font-family:"Courier New",ui-monospace,monospace; letter-spacing:.04em; }
.aeqr-pnl__vacio{ text-align:center; color:var(--soft); padding:24px !important; }

.aeqr-pnl__badge{
	display:inline-block; padding:3px 10px; border-radius:999px; font-size:11.5px; font-weight:700;
	background:#eee; color:#555;
}
.aeqr-pnl__badge--ok{ background:rgba(21,128,61,.14); color:var(--ok); }
.aeqr-pnl__badge--duplicado{ background:rgba(180,83,9,.14); color:var(--warn); }
.aeqr-pnl__badge--invalido, .aeqr-pnl__badge--fuera_fecha{ background:rgba(185,16,28,.12); color:var(--bad); }

.aeqr-pnl__footnote{ margin:0; text-align:center; font-size:12px; color:var(--soft); }

/* --- Modal "Ver todos los registros": buscador + tabla paginada --- */
.aeqr-pnl__modal{
	position:fixed; inset:0; z-index:2147483000; background:rgba(20,19,26,.55);
	display:flex; align-items:center; justify-content:center; padding:24px 14px;
}
.aeqr-pnl__modal-card{
	position:relative; width:100%; max-width:980px; max-height:85vh; background:#fff; border-radius:16px;
	box-shadow:0 24px 48px -24px rgba(20,19,26,.5); padding:28px 24px 20px; display:flex; flex-direction:column; gap:14px;
}
.aeqr-pnl__modal-card h2{ margin:0; font-size:18px; font-weight:600; }
.aeqr-pnl__modal-close{
	position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%;
	border:0; background:var(--ink); color:#fff; font-size:19px; cursor:pointer;
	display:flex; align-items:center; justify-content:center; line-height:1;
	box-shadow:0 2px 6px rgba(20,19,26,.3);
}
.aeqr-pnl__modal-close:hover{ background:var(--gold-deep); }
.aeqr-pnl__modal-buscar{
	font:inherit; font-size:14px; padding:11px 13px; border-radius:9px; border:1px solid var(--line);
	background:var(--paper); color:var(--ink); width:100%;
}
.aeqr-pnl__modal-filtros{ display:flex; gap:8px; }
.aeqr-pnl__modal-filtros .aeqr-pnl__modal-buscar{ flex:1; }
.aeqr-pnl__modal-filtro{
	font:inherit; font-size:14px; padding:11px 13px; border-radius:9px; border:1px solid var(--line);
	background:var(--paper); color:var(--ink); cursor:pointer;
}
.aeqr-pnl__modal-tabla-wrap{ max-height:52vh; }
.aeqr-pnl__modal-paginacion{ display:flex; align-items:center; justify-content:center; gap:16px; font-size:13px; color:var(--soft); }
.aeqr-pnl__modal-paginacion button{
	border:1px solid var(--line); background:#fff; border-radius:8px; padding:7px 14px; cursor:pointer;
	font-size:13px; color:var(--ink);
}
.aeqr-pnl__modal-paginacion button:hover{ background:var(--paper); }
.aeqr-pnl__modal-paginacion button:disabled{ opacity:.4; cursor:not-allowed; }

.aeqr-pnl__err{
	position:fixed; inset:0; z-index:2147483000; display:flex; flex-direction:column; gap:10px;
	align-items:center; justify-content:center; background:var(--ink); color:#fff; padding:32px; text-align:center;
}
.aeqr-pnl__err b{ font-size:18px; }
.aeqr-pnl__err span{ color:#cfc9c3; font-size:14px; max-width:320px; }

@media (prefers-reduced-motion:reduce){ .aeqr-pnl *{ transition:none !important; } }
