:root{--fondo:#fff;--texto:#1b1f23;--principal:#1f4e5f;--con-conexion:#1e6b3a;--sin-conexion:#a33a1f;--borde:#d0d4d9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--fondo:#121417;--texto:#e8eaed;--principal:#7fb8cc;--con-conexion:#7fd19b;--sin-conexion:#f0a08a;--borde:#2c3137}}*{box-sizing:border-box}body{background:var(--fondo);color:var(--texto);margin:0}.app{flex-direction:column;min-height:100dvh;display:flex}.encabezado{border-bottom:1px solid var(--borde);justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.encabezado__titulo{color:var(--principal);font-weight:600}.encabezado__titulo--boton{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.encabezado__titulo--boton:focus-visible{outline:2px solid var(--principal);outline-offset:4px;border-radius:4px}.aviso{background:var(--principal);color:var(--fondo);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.aviso__boton{border:2px solid var(--fondo);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 16px;font-weight:700}.aviso--alerta{background:var(--sin-conexion)}.pantalla{text-align:left;flex-direction:column;gap:16px;max-width:420px;margin:0 auto;display:flex}.pantalla p{margin:0}.campo{flex-direction:column;gap:6px;font-weight:600;display:flex}.campo input{border:1px solid var(--borde);min-height:48px;color:var(--texto);font:inherit;background:0 0;border-radius:8px;padding:0 12px;font-weight:400}.casilla{align-items:flex-start;gap:10px;display:flex}.casilla input{flex-shrink:0;width:22px;height:22px}.ayuda,.nota{opacity:.8;font-size:.875rem;font-weight:400}.ayuda--ok{color:var(--con-conexion);opacity:1}.error{color:var(--sin-conexion);font-weight:400}.boton{background:var(--principal);min-height:48px;color:var(--fondo);font:inherit;cursor:pointer;border:0;border-radius:8px;font-weight:700}.boton:disabled{opacity:.5;cursor:not-allowed}.contenido{text-align:center;flex:1;padding:24px 16px}h1{color:var(--principal);margin:0 0 12px;font-size:1.75rem}.estado{margin:0;font-size:.875rem}.navegacion{border-top:1px solid var(--borde);background:var(--fondo);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:sticky;bottom:0}.navegacion__boton{min-height:56px;color:var(--texto);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-size:.75rem;line-height:1.2}.navegacion__boton[aria-current=page]{color:var(--principal);box-shadow:inset 0 3px 0 var(--principal);font-weight:700}.estado[data-conexion=si]{color:var(--con-conexion)}.estado[data-conexion=no]{color:var(--sin-conexion)}.encabezado__acciones{align-items:center;gap:12px;display:flex}.encabezado__boton{border:1px solid var(--borde);min-height:44px;color:var(--principal);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 12px;font-weight:600}.vitrina{text-align:left;max-width:420px;margin:0 auto}.vitrina h2{margin:20px 0 8px;font-size:1.125rem}.vitrina p{margin:4px 0 0}.vitrina__lista{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.insignia{border:1px solid var(--borde);border-radius:8px;gap:12px;padding:12px;display:flex}.insignia--resaltada{border-color:var(--principal);box-shadow:0 0 0 3px var(--principal)}.insignia--pendiente{opacity:.65}.insignia__icono{font-size:1.75rem;line-height:1}.aviso-insignia{z-index:10;padding:calc(8px + env(safe-area-inset-top)) 16px 0;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}.aviso-insignia__tarjeta{border:2px solid var(--principal);background:var(--fondo);width:100%;max-width:420px;min-height:56px;color:var(--texto);font:inherit;text-align:left;cursor:pointer;pointer-events:auto;border-radius:12px;align-items:center;gap:12px;padding:10px 16px;display:flex}.aviso-insignia__icono{font-size:1.75rem;line-height:1}.aviso-insignia__texto{flex-direction:column;display:flex}.aviso-insignia__titulo{color:var(--principal);font-size:.75rem;font-weight:700}.aviso-insignia__nombre{font-weight:600}@media (prefers-reduced-motion:no-preference){.aviso-insignia__tarjeta{animation:.25s ease-out aviso-insignia-entrada}}@keyframes aviso-insignia-entrada{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.pie{text-align:center;color:var(--texto);opacity:.7;padding:4px 16px;font-size:.6875rem}
