/* Ajustes del producto sobre estilo.css (que es el CSS obligatorio del prototipo visual). */
html,body{margin:0;height:100%}
body.app{background:#fff;font-family:"Roboto",Arial,sans-serif;color:var(--texto)}

/* Celular real: la «carcasa» del prototipo ocupa toda la pantalla. */
body.app .cel{width:100%;max-width:560px;height:100vh;height:100dvh;margin:0 auto;border-radius:0;padding:0;background:#fff;box-shadow:none}
body.app .cel-pant{border-radius:0}
body.app .cel-estado{display:none}
.conexion{font-size:12px;font-weight:700;color:var(--error);padding:4px 18px;background:#FDE7E5;display:none}
.conexion.on{display:block}
.codigo-part{font-size:30px;font-weight:900;letter-spacing:.18em;color:var(--azul);font-variant-numeric:tabular-nums}
.btn[disabled]{opacity:.55}
.fila-inst{display:block;width:100%;text-align:left;border:1px solid var(--borde);background:#fff;border-radius:10px;padding:10px 12px;margin:0 0 6px;font:inherit;font-size:16px;cursor:pointer}

/* Pantalla grande: escenario de 1600×900 escalado a la ventana. */
body.pantalla{background:#000;overflow:hidden}
body.pantalla .pg-marco{position:fixed;inset:0;background:#000;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}
body.pantalla .pg{position:relative;transform-origin:center center;flex:0 0 auto}
.pg .alerta-config{position:absolute;left:96px;right:96px;bottom:110px;border:4px dashed var(--error);border-radius:16px;padding:18px 26px;font-size:26px;color:var(--error);background:#fff}
.tramos-fila{display:flex;align-items:center;gap:24px;margin:22px 0}
.tramos-fila .lbl{flex:0 0 330px;font-size:30px;font-weight:700}
.tramos-barra{flex:1;display:flex;height:120px}
.tramos-barra div:first-child{border-radius:10px 0 0 10px}
.tramos-barra div:last-child{border-radius:0 10px 10px 0}
.tramos-barra div{display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:900;color:#fff;position:relative}
.tramos-barra div.peq span{position:absolute;top:-52px;color:var(--marino);font-size:30px}
.tramos-ley{display:flex;gap:36px;font-size:24px;margin-top:20px;flex-wrap:wrap}
.tramos-ley i{display:inline-block;width:24px;height:24px;border-radius:4px;vertical-align:-4px;margin-right:8px}
.preg-lista .item{display:flex;gap:28px;align-items:center;padding:20px 0;border-top:2px solid var(--borde)}
.preg-lista .num{flex:0 0 74px;height:74px;border-radius:12px;background:var(--azul);color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:900}
.preg-lista .txt{flex:1;font-size:34px;font-weight:600}

/* Panel y moderación en una página completa. */
body.panel-app{background:var(--fondo);padding:18px}
body.panel-app .panel{max-width:1400px;margin:0 auto}
.login{max-width:420px;margin:12vh auto;background:#fff;border-radius:14px;padding:24px;box-shadow:0 10px 30px rgba(18,50,79,.18)}
.login input{width:100%;font:inherit;font-size:18px;padding:10px;border:2px solid var(--gris);border-radius:10px;margin:10px 0}
.msg-error{color:var(--error);font-weight:700;margin:8px 0}
.msg-ok{color:#2E6B10;font-weight:700;margin:8px 0}
.panel-barra{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--borde);align-items:center}
.panel-barra .vig{font-size:18px;font-weight:700;color:var(--marino);margin-right:auto}
.preg-mod .meta{font-size:12px;color:var(--texto-2);margin-bottom:4px}
.preg-mod.sel{border-color:var(--azul);background:var(--fondo-azul)}
.preg-mod.agr{opacity:.6}
.filtros{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.chip-cat{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:2px 6px;background:var(--azul-suave);color:var(--marino);margin-left:6px}
.tabla-rev{width:100%;border-collapse:collapse;font-size:14px}
.panel-grid>*{min-width:0}
.preg-mod select{max-width:100%}
.preg-mod{overflow-wrap:anywhere}
@media (max-width:900px){
  body.panel-app{padding:0}
  body.panel-app .panel-grid{grid-template-columns:1fr}
  body.panel-app .contadores{grid-template-columns:1fr 1fr}
  body.panel-app .panel-cab .ops{margin-left:0;flex-basis:100%}
}
.tabla-rev td{border-top:1px solid var(--borde);padding:6px 4px;vertical-align:top}
