:root{color-scheme:dark;--bg:#091422;--card:#121f31;--card2:#0e1c2d;--ink:#ecf5ff;--muted:#9db0c6;--line:#293e57;--blue:#50bffb;--green:#45e1ab;--orange:#ffb36b;--purple:#ac97fa;--red:#ff7892;--radius:19px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 65% 36% at 22% 1%,#15304b 0%,transparent 80%),linear-gradient(145deg,#091422,#0a1120 64%);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}
.glow{position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(95px);opacity:.22}.glow-a{width:320px;height:320px;background:#179ce3;top:10%;left:-170px}.glow-b{width:310px;height:310px;background:#256a5c;right:-170px;bottom:10%}
.contenedor{width:min(1170px,100%);margin:auto;padding:35px 22px 20px}.encabezado{text-align:center;padding:13px 0 25px}.insignia{font-weight:850;letter-spacing:.2em;font-size:11px;color:var(--blue)}.punto{width:8px;height:8px;background:var(--blue);border-radius:50%;display:inline-block;box-shadow:0 0 15px var(--blue);vertical-align:middle;margin-right:7px}.punto-verde{background:var(--green);box-shadow:0 0 14px var(--green)}.separador{opacity:.5;margin:0 5px}
h1{font-size:clamp(2.3rem,5.2vw,3.9rem);letter-spacing:-.045em;line-height:1.1;margin:15px 0}h1 span{color:var(--blue)}h2{font-size:clamp(1.2rem,2.7vw,1.55rem);line-height:1.25;letter-spacing:-.02em;margin:4px 0 14px}h3{margin:0 0 12px}p{margin:0 0 15px;color:var(--muted)}strong{font-weight:720}.encabezado p{font-size:1.03rem;max-width:660px;margin:0 auto 16px}.encabezado-info{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap}.chip{border:1px solid #31516c;border-radius:999px;color:#b0cee3;background:#12283b;padding:6px 13px;font-size:12px}.chip strong{color:var(--ink);margin-left:5px}.chip-suave{color:var(--green);border-color:#255849;background:#0d332a55}
.barra{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 14px}.etiqueta{font-size:12px;color:var(--green);font-weight:750;letter-spacing:.04em}.demo:before{content:'●';margin-right:8px}
.navegacion{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 29px}.navegacion a{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#bbd1e7;background:#10243a;border:1px solid #2c4661;text-decoration:none;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:750;transition:transform .16s,border-color .16s,background .16s}.navegacion a span{font-size:19px}.navegacion a:hover,.navegacion a:focus-visible{transform:translateY(-1px);border-color:#5dbff2}.navegacion a.seleccionado{background:linear-gradient(110deg,#0e5c90,#0a5489);color:#fff;border-color:#43a5dc}
.seccion-superior,.fila{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.seccion-superior{margin:0 0 16px}.seccion-superior h2{margin:0}.seccion-etiqueta,.sobrelinea{font-size:11px;letter-spacing:.15em;color:var(--blue);font-weight:800;margin-bottom:7px}.seccion-etiqueta.rojo{color:var(--red)}.actualizacion{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.actualizacion a{color:var(--blue)}
.cuadricula-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}.kpi{padding:22px;background:linear-gradient(150deg,#172b42,#101c2f);border:1px solid #2a425d;border-radius:var(--radius);display:flex;align-items:flex-start;flex-direction:column;box-shadow:0 12px 30px #00000017}.kpi-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:24px;font-weight:800;margin-bottom:15px}.kpi-ico.azul{color:#7ed7ff;background:#134c70}.kpi-ico.naranja{color:#ffca90;background:#694127}.kpi-ico.verde{color:#83edc1;background:#184e3d}.kpi-ico.violeta{color:#c6b4ff;background:#4a3871}.kpi>span{font-size:13px;color:#a7bad1;font-weight:620}.kpi strong{font-size:clamp(30px,3.3vw,41px);line-height:1.25;letter-spacing:-.04em;margin-top:7px}.kpi small{color:#8196b1;font-size:12px;margin-top:5px}
.cuadricula{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tarjeta{background:linear-gradient(150deg,#152339,#111d30);border:1px solid #2a3c56;border-radius:var(--radius);padding:clamp(19px,2.5vw,30px);box-shadow:0 18px 35px #00000020}.acceso{max-width:530px;margin:25px auto}.tarjeta>p{font-size:14px;line-height:1.7}.tarjeta form:not(.inline){display:flex;flex-direction:column;gap:9px}.tarjeta label{font-size:13px;font-weight:720;margin-top:10px;color:#d6e5f6}.tarjeta label small{color:var(--muted);font-weight:450}.tarjeta input:not([type=checkbox]),.tarjeta select{width:100%;min-width:0;background:#0c1a2b;border:1px solid #3b536e;border-radius:11px;padding:13px 14px;color:#f4f8fe;font:inherit;outline:none;transition:border-color .14s,box-shadow .14s}.tarjeta select{max-width:100%;text-overflow:ellipsis}.tarjeta input:focus,.tarjeta select:focus{border-color:#66c2fa;box-shadow:0 0 0 3px #27a4ec25}.ayuda{font-size:11px;color:var(--muted)}.input-sufijo{position:relative}.input-sufijo span{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700}.input-sufijo input{padding-right:60px!important}.casilla{display:flex;align-items:center;gap:10px;cursor:pointer}.casilla input{accent-color:var(--blue);width:17px;height:17px}
.boton,button{font-family:inherit}.boton{border:0;border-radius:12px;padding:13px 18px;color:white;font-size:14px;font-weight:780;cursor:pointer;text-decoration:none;transition:filter .17s,transform .17s}.boton:hover{filter:brightness(1.12);transform:translateY(-1px)}.boton.primario{background:linear-gradient(110deg,#048ac8,#1c6bce);margin-top:10px}.boton.ancho{width:100%;display:flex;align-items:center;justify-content:center;gap:14px}.boton.discreto{background:#24374f;padding:8px 13px}
.modulo{background:#0c1b2d;border:1px solid #2e4560;border-radius:15px;padding:17px;margin:18px 0}.modulo .fila{align-items:flex-start}.modulo .fila strong{font-size:14px}.modulo .fila small{display:block;color:#8fa5bf;font-size:12px;margin-top:3px}.estado{font-size:11px;padding:5px 9px;border-radius:99px;font-weight:700;white-space:nowrap}.estado.fuera{background:#513321;color:#ffbb7c}.estado.dentro{background:#164a39;color:#84edc4}
.detalles{margin:13px 0 0}.detalles>div{display:flex;gap:12px;justify-content:space-between;align-items:baseline;padding:6px 0;border-top:1px solid #253950}.detalles dt{font-size:12px;color:var(--muted)}.detalles dd{margin:0;font-size:12px;text-align:right;overflow-wrap:anywhere;max-width:60%}.separador-horizontal{height:1px;background:#2b435e;margin:21px 0}.servo-titulo{align-items:center}.texto-pequeno{font-size:12px!important;color:#94a9be;margin:5px 0 0!important}.icono-servo{font-size:29px;color:var(--purple);background:#463c67;padding:0 10px;border-radius:12px}.servo-visual{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 9px}.servo-visual>div{background:#0b192a;border:1px solid #2e4359;padding:14px;border-radius:12px}.servo-visual span{display:block;font-size:11px;color:#9eacc1}.servo-visual strong{font-size:30px;display:block;margin-top:5px}.advertencia{font-size:12px;color:#f8aaad}.enlace-secundario{display:inline-block;margin-top:16px;font-size:13px;color:#76cbff;text-decoration:none;font-weight:700}.enlace-secundario:hover{text-decoration:underline}
.peligro{margin:22px 0 0;border-color:#74394a;background:linear-gradient(110deg,#2a2334,#151e30);display:grid;grid-template-columns:1.3fr 1fr;gap:26px;scroll-margin-top:24px}.peligro p{margin-bottom:9px}.peligro strong{color:#f0f8ff}.peligro .boton-peligro{background:linear-gradient(90deg,#ad314b,#db4052)}.peligro input{border-color:#794254!important}
.alerta{padding:13px 15px;border-radius:12px;font-size:14px;margin-bottom:18px}.alerta.ok{background:#133b30;color:#a5f4d0;border:1px solid #24735b}.alerta.error{background:#4a2434;color:#ffc5cd;border:1px solid #a35062}
.contador{padding:7px 13px;border-radius:99px;background:#14283e;color:#a9c1d6;font-size:12px;border:1px solid #2d4760}.filtros{display:grid!important;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px!important;margin:20px 0 23px}.filtros button{margin:0;height:48px}.tabla-desplazable{max-width:100%;overflow:auto;border:1px solid #2a4059;border-radius:13px}.tabla-historial{width:100%;border-collapse:collapse;min-width:760px;text-align:left;font-size:13px}.tabla-historial th,.tabla-historial td{padding:15px 13px;border-bottom:1px solid #293e57;white-space:nowrap}.tabla-historial th{background:#0b1b2f;color:#83c8fb;letter-spacing:.03em;font-size:12px}.tabla-historial td{color:#d0e3f2}.tabla-historial tbody tr:hover{background:#193149}.tabla-historial tr:last-child td{border-bottom:0}.tabla-historial td:nth-child(4){max-width:210px;white-space:normal;overflow-wrap:anywhere}.paginacion{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:22px;font-size:13px;color:var(--muted)}.paginacion a{padding:9px 14px;border:1px solid #375673;color:#9ad8ff;border-radius:9px;text-decoration:none}.paginacion a:hover{background:#1b3350}.vacio{padding:25px 20px;border:1px dashed #37516a;text-align:center;border-radius:12px;background:#0d1b2a;color:#9fb5ca;font-size:14px}.filtros-pills{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.filtros-pills a{color:#c8deef;font-size:13px;border:1px solid #334d69;background:#0d2238;padding:10px 16px;border-radius:9px;text-decoration:none;font-weight:700}.filtros-pills a:hover,.filtros-pills a.activo{color:#fff;background:#0e628d;border-color:#53baf0}.pastilla{border-radius:999px;padding:5px 10px;font-weight:800;font-size:11px}.pastilla.metal{background:#6d462a;color:#ffce91}.pastilla.nometal{background:#1a523e;color:#a4f1ce}.nota{max-width:910px;margin:20px auto 0;font-size:12px;text-align:center}
footer{text-align:center;margin:31px 0 10px;color:#8195ad;font-size:12px}
@media(max-width:900px){.cuadricula-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.cuadricula{grid-template-columns:1fr}.peligro{grid-template-columns:1fr}.tarjeta{padding:25px}}
@media(max-width:590px){.contenedor{padding:19px 12px}.encabezado{padding:15px 5px}.encabezado h1{font-size:2.45rem}.insignia{letter-spacing:.12em;font-size:9px}.navegacion{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:24px}.navegacion a{justify-content:flex-start;padding:11px 16px}.cuadricula-kpi{gap:9px}.kpi{padding:15px;border-radius:15px}.kpi-ico{width:36px;height:36px;margin-bottom:11px}.kpi>span{font-size:12px}.kpi strong{font-size:30px}.kpi small{font-size:10px}.tarjeta{padding:19px}.filtros{grid-template-columns:1fr!important}.filtros button{width:100%}.servo-visual{gap:8px}.servo-visual>div{padding:10px}.servo-visual strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.enlace-rojo{color:#ffa1ad;margin-top:10px}

/* =========================================================
   R5.1 - Mejoras de interfaz: historial y boton de reinicio
   Todo el estilo se almacena en el servidor, sin CDN.
   ========================================================= */
:root { --peligro-oscuro:#9c2f4a; --peligro-claro:#e03c5c; }
.contenedor { min-width:0; max-width:100%; }
.encabezado { min-width:0; }
.encabezado p { max-width:750px; margin:0 auto 17px; padding:0 10px; }
.encabezado-info { display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap; max-width:100%; }
.encabezado-info .chip { display:inline-flex; max-width:100%; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; white-space:normal; line-height:1.4; text-align:center; overflow-wrap:anywhere; }
.encabezado-info .chip strong { margin:0; white-space:nowrap; }
.navegacion { min-width:0; }
.navegacion a { max-width:100%; text-align:center; overflow-wrap:anywhere; }
.tarjeta, .modulo, .cuadricula > *, .kpi, .filtros > * { min-width:0; }
.tarjeta .fila > * { min-width:0; }
.filtros { display:grid!important; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) auto; gap:15px!important; align-items:end; }
.filtros .filtro-campo { display:flex; min-width:0; flex-direction:column; gap:7px; }
.filtros .filtro-campo label { margin:0; }
.filtros .boton-buscar { height:52px; min-width:120px; margin:0; align-self:end; border:1px solid #3978ba; background:linear-gradient(110deg,#087bb8,#1461a2); }
.tarjeta input:not([type=checkbox]), .tarjeta select { max-width:100%; min-width:0; }
.tabla-desplazable { width:100%; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-color:#406687 #101c2d; }
.tabla-historial { min-width:750px; }
.alerta, .vacio { max-width:100%; overflow-wrap:anywhere; }
.boton:focus-visible, .navegacion a:focus-visible, .filtros-pills a:focus-visible { outline:3px solid #8fd5ff; outline-offset:3px; }
.boton:disabled { opacity:.65; cursor:wait; transform:none; }
/* Reinicio en el propio recuadro de Estado de dispositivos, sin formulario largo. */
.reinicio-compacto { margin-top:23px; padding:19px; background:linear-gradient(125deg,#301f34 0%,#171e32 90%); border:1px solid #804457; border-radius:16px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; scroll-margin-top:20px; }
.reinicio-texto { flex:1 1 240px; min-width:0; }
.reinicio-texto .seccion-etiqueta { margin-bottom:5px; }
.reinicio-texto .texto-pequeno { max-width:480px; color:#c3b4c1; overflow-wrap:anywhere; }
.reset-form { flex:0 1 280px; min-width:210px; margin:0; }
.boton-peligro { background:linear-gradient(110deg,var(--peligro-oscuro),var(--peligro-claro)); border:1px solid #ef7893; box-shadow:0 8px 20px #0000002e; }
.boton-reset { width:100%; min-height:53px; white-space:normal; line-height:1.35; }
@media (max-width:900px) {
  .filtros { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; }
  .filtros .boton-buscar { grid-column:1 / -1; justify-self:stretch; width:100%; }
}
@media (max-width:590px) {
  h1 { overflow-wrap:break-word; }
  .encabezado h1 { font-size:clamp(2rem,10vw,2.45rem); }
  .navegacion { grid-template-columns:1fr; }
  .navegacion a { justify-content:center; }
  .encabezado-info { flex-direction:column; align-items:center; }
  .encabezado-info .chip { width:auto; max-width:100%; }
  .filtros { grid-template-columns:minmax(0,1fr)!important; }
  .filtros .boton-buscar { grid-column:auto; }
  .reinicio-compacto { padding:15px; align-items:stretch; }
  .reset-form { flex:1 1 100%; min-width:0; }
  .boton-reset { width:100%; }
  .tarjeta .fila { align-items:flex-start; }
  .contador { white-space:nowrap; }
  .tabla-desplazable:after { content:""; }
}
@media (max-width:360px) {
  .contenedor { padding:15px 9px; }
  .tarjeta { padding:15px; }
  .cuadricula-kpi { grid-template-columns:1fr 1fr; gap:8px; }
  .kpi { padding:12px; }
  .kpi strong { font-size:24px; }
}
