.p-maestro{display:contents}.p-maestro .pantallaMaestro{background:var(--bg);min-height:100dvh}.p-maestro .pantallaLogin{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:clamp(14px,5vw,24px);display:flex}.p-maestro .tarjetaLogin{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:18px;width:100%;max-width:380px;padding:clamp(22px,6vw,28px) clamp(18px,5vw,26px) clamp(16px,4vw,24px);display:flex;box-shadow:0 1px 2px #140f280a}.p-maestro .tarjetaLogin form{flex-direction:column;gap:14px;display:flex}.p-maestro .tituloLogin{text-align:center;margin:0;font-size:19px;font-weight:800}.p-maestro .introduccionLogin{color:var(--muted);text-align:center;margin:0;font-size:13px;line-height:1.5}.p-maestro .textoErrorLogin{color:var(--warn);text-align:center;font-size:12.5px;font-weight:600}.p-maestro .tarjetaLogin label{color:var(--muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;display:flex}.p-maestro .tarjetaLogin input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:11px 12px;font-family:inherit;font-size:14px}.p-maestro .botonPrimario{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);cursor:pointer;border:none;min-height:46px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:700}.p-maestro .botonPrimario:disabled{opacity:.6;cursor:default}.p-maestro .marca{align-items:center;gap:10px;display:flex}.p-maestro .marcaCirculo{object-fit:contain;background:0 0;border-radius:9px;flex:none;width:30px;height:30px}.p-maestro .marcaNombre{letter-spacing:-.01em;color:var(--ink);font-size:15px;font-weight:800}.p-maestro .subtituloEncabezado{color:var(--muted);margin:1px 0 0;font-size:11.5px}.p-maestro .encabezadoMaestro{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:16px clamp(14px,5vw,28px);display:flex}.p-maestro .marca,.p-maestro .marca>div{min-width:0}.p-maestro .marcaNombre{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.p-maestro .subtituloEncabezado{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p-maestro .accionesEncabezadoMaestro{flex:none;align-items:center;gap:8px;display:flex}.p-maestro .botonSalir{border:1px solid var(--line);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:none;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.p-maestro .botonSalir:hover{color:var(--ink)}.p-maestro .botonToggleTema{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.p-maestro .botonToggleTema:hover{color:var(--ink);border-color:var(--ink)}.p-maestro .indicadorEstado{border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.p-maestro .indicadorEstado.conectado{color:var(--ok);background:var(--ok-soft)}.p-maestro .indicadorEstado.desconectado{color:var(--warn);background:var(--warn-soft)}.p-maestro .indicadorTexto{white-space:nowrap}.p-maestro .punto{border-radius:50%;flex:none;width:9px;height:9px}.p-maestro .puntoConectado{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft), 0 0 8px 2px #16a34aa6;animation:2s ease-in-out infinite resplandorConectadoMaestro}.p-maestro .puntoDesconectado{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft), 0 0 8px 2px #dc4747a6}@keyframes resplandorConectadoMaestro{0%,to{box-shadow:0 0 0 3px var(--ok-soft), 0 0 8px 2px #16a34aa6}50%{box-shadow:0 0 0 5px var(--ok-soft), 0 0 15px 4px #16a34ad9}}@media (prefers-reduced-motion:reduce){.p-maestro .puntoConectado{animation:none}}.p-maestro .avisoSinConexionMaestro{background:var(--warn-soft);color:var(--warn);text-align:center;padding:8px clamp(14px,5vw,28px);font-size:12.5px;font-weight:600}@media (max-width:380px){.p-maestro .textoBotonSalir{display:none}.p-maestro .botonSalir{padding:9px 10px}}.p-maestro .contenidoMaestro{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:clamp(18px,5vw,28px);display:flex}.p-maestro .tituloSeccion{margin:0;font-size:20px;font-weight:800}.p-maestro .subtituloSeccion{color:var(--muted);margin:-10px 0 0;font-size:12.5px}.p-maestro .subtituloGrupo{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 -6px;font-size:12.5px;font-weight:700}.p-maestro .vacioMaestro{color:var(--muted);font-size:13.5px}.p-maestro .pestanasGrupo{border-bottom:1px solid var(--line);gap:6px;display:flex}.p-maestro .pestanaGrupo{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 4px 10px;font-family:inherit;font-size:13px;font-weight:700}.p-maestro .pestanaGrupo.activa{color:var(--accent);border-bottom-color:var(--accent)}.p-maestro .pestanasRitmo{gap:10px;padding:2px 0 6px;display:flex}.p-maestro .pestanaRitmo{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-md);cursor:pointer;text-align:left;flex-direction:column;flex:1;align-items:stretch;gap:7px;padding:10px 10px 11px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.p-maestro .pestanaRitmo:active{transform:scale(.97)}.p-maestro .pestanaRitmoNombre{color:var(--ink);align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.p-maestro .pestanaRitmoPunto{background:var(--line);border-radius:50%;flex:none;width:7px;height:7px}.p-maestro .pestanaRitmoFilaProgreso{align-items:center;gap:6px;display:flex}.p-maestro .pestanaRitmoEtiquetaTipo{text-transform:uppercase;letter-spacing:.02em;width:34px;color:var(--muted);flex:none;font-size:8.5px;font-weight:700}.p-maestro .pestanaRitmoProgreso{min-width:24px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:9.5px;font-weight:700}.p-maestro .pestanaRitmoBarra{background:var(--surface-2);border-radius:999px;flex:1;height:4px;overflow:hidden}.p-maestro .pestanaRitmoBarraRelleno{background:var(--line);border-radius:999px;height:100%;transition:width .25s;display:block}.p-maestro .pestanaRitmo.ritmo-salsa .pestanaRitmoPunto{background:#ff5a3c}.p-maestro .pestanaRitmo.ritmo-salsa.activa{border-color:#ff5a3c;box-shadow:0 0 0 3px #ff5a3c24}.p-maestro .pestanaRitmo.ritmo-salsa.activa .pestanaRitmoBarraRelleno{background:#ff5a3c}.p-maestro .pestanaRitmo.ritmo-bachata .pestanaRitmoPunto{background:#d6336c}.p-maestro .pestanaRitmo.ritmo-bachata.activa{border-color:#d6336c;box-shadow:0 0 0 3px #d6336c24}.p-maestro .pestanaRitmo.ritmo-bachata.activa .pestanaRitmoBarraRelleno{background:#d6336c}.p-maestro .pestanaRitmo.ritmo-cumbia .pestanaRitmoPunto{background:#0f9488}.p-maestro .pestanaRitmo.ritmo-cumbia.activa{border-color:#0f9488;box-shadow:0 0 0 3px #0f948824}.p-maestro .pestanaRitmo.ritmo-cumbia.activa .pestanaRitmoBarraRelleno{background:#0f9488}.p-maestro .bloqueTendencia{flex-direction:column;gap:10px;display:flex}.p-maestro .avisoAsistencia{border-radius:var(--radius-md);align-items:flex-start;gap:8px;padding:11px 13px;font-size:12.5px;font-weight:700;line-height:1.4;display:flex}.p-maestro .avisoAsistencia svg{flex:none;margin-top:1px}.p-maestro .avisoAsistencia-alarma{color:var(--warn);background:var(--warn-soft)}.p-maestro .avisoAsistencia-aviso{color:var(--accent);background:var(--accent-soft)}.p-maestro .avisoAsistencia-positivo{color:var(--ok);background:var(--ok-soft)}.p-maestro .avisoAsistencia-neutral{color:var(--muted);background:var(--surface-2)}.p-maestro .graficaSemanas{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:flex-end;gap:8px;min-height:110px;padding:10px 8px 4px;display:flex}.p-maestro .barraSemana{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.p-maestro .barraSemanaValor{color:var(--muted);font-size:10.5px;font-weight:700}.p-maestro .barraSemanaRelleno{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:22px}.p-maestro .barraSemanaEtiqueta{color:var(--muted);white-space:nowrap;font-size:9px}.p-maestro .subtituloGrupoRiesgo{color:var(--warn)}.p-maestro .listaAlumnosGrupo{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);flex-direction:column;margin-bottom:4px;display:flex;overflow:hidden}.p-maestro .filaAlumnoGrupo{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;display:flex}.p-maestro .filaAlumnoGrupo:last-child{border-bottom:none}.p-maestro .filaAlumnoGrupoRiesgo{background:var(--warn-soft)}.p-maestro .filaAlumnoGrupoNombre{min-width:140px;color:var(--ink);flex:1;font-size:13px;font-weight:700}.p-maestro .filaAlumnoGrupoNombreConTelefono{flex-direction:column;flex:1;gap:3px;min-width:140px;display:flex}.p-maestro .filaAlumnoGrupoTelefono{color:var(--warn);align-items:center;gap:5px;width:fit-content;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.p-maestro .filaAlumnoGrupoTelefono:active{opacity:.7}.p-maestro .filaAlumnoGrupoDato{color:var(--muted);font-size:11.5px;font-weight:600}.p-maestro .listaGrupos{flex-direction:column;gap:10px;display:flex}.p-maestro .tarjetaGrupo{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;width:100%;padding:14px 16px;font-family:inherit;display:flex}.p-maestro .tarjetaGrupo:active{background:var(--surface-2)}.p-maestro .tarjetaGrupoIcono{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.p-maestro .tarjetaGrupoTextos{flex-direction:column;gap:2px;display:flex}.p-maestro .tarjetaGrupoNombre{color:var(--ink);font-size:14px;font-weight:700}.p-maestro .tarjetaGrupoSub{color:var(--muted);font-size:12px}.p-maestro .encabezadoPasosMaestro{align-items:center;gap:12px;display:flex}.p-maestro .botonVolverPasos{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.p-maestro .tituloPasos{margin:0;font-size:16px;font-weight:800}.p-maestro .subtituloPasos{color:var(--muted);margin:2px 0 0;font-size:11.5px}.p-maestro .listaPasos{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.p-maestro .filaPaso{border:none;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:13px 14px;font-family:inherit;display:flex}.p-maestro .filaPaso:last-child{border-bottom:none}.p-maestro .filaPaso:active{background:var(--surface-2)}.p-maestro .filaPasoNumero{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.p-maestro .filaPasoNombre{color:var(--ink);flex:1;font-size:13.5px;font-weight:700}.p-maestro .filaPasoCheck{color:var(--line);flex:none;place-items:center;display:grid}.p-maestro .filaPaso.aprendido .filaPasoNumero{background:var(--ok-soft);color:var(--ok)}.p-maestro .filaPaso.aprendido .filaPasoCheck{color:var(--ok)}.p-maestro .filaPaso.filaPasoMaestro{padding:0}.p-maestro .filaPasoBoton{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;min-width:0;padding:13px 14px;font-family:inherit;display:flex}.p-maestro .filaPasoBoton:active{background:var(--surface-2)}.p-maestro .botonEliminarExtra{border:none;border-left:1px solid var(--line);width:40px;color:var(--warn);cursor:pointer;background:0 0;flex:none;align-self:stretch;place-items:center;display:grid}.p-maestro .formNuevoExtra{gap:8px;margin-top:8px;display:flex}.p-maestro .formNuevoExtra input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);flex:1;padding:9px 12px;font-family:inherit;font-size:13px}.p-maestro .botonAgregarExtra{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);cursor:pointer;border:none;flex:none;align-items:center;gap:5px;padding:0 14px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.p-maestro .botonAgregarExtra:disabled{opacity:.6;cursor:default}.p-maestro .botonMostrarFormExtra{border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:5px;margin-top:8px;padding:8px 12px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.p-maestro .filaAlumnoGrupoNombreBoton{text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-family:inherit;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.p-maestro .filaAlumnoGrupoNombreBoton:active{text-decoration-color:currentColor}.p-maestro .botonRegistrarContacto{background:var(--warn);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:4px;padding:9px 12px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.p-maestro .overlayContactoMaestro{z-index:90;background:#140f2873;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.p-maestro .tarjetaContactoMaestro{background:var(--surface);color:var(--ink);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;gap:14px;width:100%;max-width:480px;max-height:88dvh;padding:18px clamp(16px,5vw,24px) 24px;display:flex;overflow-y:auto;box-shadow:0 -12px 40px -12px #140f2859}@media (min-width:620px){.p-maestro .overlayContactoMaestro{align-items:center}.p-maestro .tarjetaContactoMaestro{border-radius:var(--radius-lg)}}.p-maestro .encabezadoContactoMaestro{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.p-maestro .nombreContactoMaestro{color:var(--ink);margin:0;font-size:15px;font-weight:800}.p-maestro .botonCerrarModalMaestro{background:var(--surface-2);width:28px;height:28px;color:var(--muted);cursor:pointer;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.p-maestro .formularioContactoMaestro{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding-bottom:14px;display:flex}.p-maestro .formularioContactoMaestro select,.p-maestro .formularioContactoMaestro input,.p-maestro .formularioContactoMaestro textarea{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);resize:vertical;min-height:44px;padding:10px 12px;font-family:inherit;font-size:14px}.p-maestro .formularioContactoMaestro select:focus,.p-maestro .formularioContactoMaestro textarea:focus,.p-maestro .formularioContactoMaestro input:focus{border-color:var(--accent);outline:none}.p-maestro .etiquetaCampoMaestro{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700}.p-maestro .accionesFormularioContactoMaestro{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.p-maestro .botonCancelarEdicionMaestro{color:var(--muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12.5px;font-weight:700}.p-maestro .tituloHistorialMaestro{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:800}.p-maestro .filaHistorialContactoMaestro{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:10px 0;display:flex}.p-maestro .filaHistorialContactoMaestro:last-child{border-bottom:none}.p-maestro .filaHistorialEncabezadoMaestro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.p-maestro .insigniaResultadoMaestro{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.p-maestro .insigniaResultadoMaestro-regresa{color:var(--ok);background:var(--ok-soft)}.p-maestro .insigniaResultadoMaestro-no_regresa{color:var(--warn);background:var(--warn-soft)}.p-maestro .insigniaResultadoMaestro-no_contesto{color:var(--muted);background:var(--surface-2)}.p-maestro .fechaHistorialContactoMaestro{color:var(--muted);white-space:nowrap;font-size:11px}.p-maestro .notaHistorialContactoMaestro{color:var(--ink);margin:0;font-size:12.5px}.p-maestro .autorHistorialContactoMaestro{color:var(--muted);font-size:11px}.p-maestro .seguimientoHistorialContactoMaestro{color:var(--accent);font-size:11.5px;font-weight:600}.p-maestro .accionesHistorialContactoMaestro{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.p-maestro .accionesHistorialContactoMaestro button{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:5px 9px;font-family:inherit;font-size:10.5px;font-weight:700;display:inline-flex}.p-maestro .accionesHistorialContactoMaestro button:disabled{opacity:.6;cursor:default}.p-maestro .bancoPasosMaestro{flex-direction:column;gap:14px;display:flex}.p-maestro .bloqueBancoPasosMaestro{flex-direction:column;gap:8px;display:flex}.p-maestro .subtituloBancoPasosMaestro{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:800;display:flex}.p-maestro .chipsBancoPasosMaestro{flex-wrap:wrap;gap:6px;display:flex}.p-maestro .chipPasoMaestro{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.p-maestro .chipPasoMaestroPareja{background:var(--surface-2);color:var(--ink)}.p-maestro .bannerInstalarMaestro{z-index:40;background:var(--negro);color:var(--sobre-negro);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:12.5px;font-weight:700;display:flex;position:fixed;top:0;left:0;right:0}.p-maestro .bannerInstalarMaestro button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:800;display:inline-flex}.p-maestro .pestanasInicioMaestro{border-bottom:1px solid var(--line);gap:6px;padding:0 clamp(14px,4vw,22px);display:flex}.p-maestro .pestanaInicioMaestro{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 6px 12px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.p-maestro .pestanaInicioMaestroActiva{color:var(--accent);border-bottom-color:var(--accent)}.p-maestro .buscadorDinamicasMaestro{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md,10px);color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;padding:9px 12px;display:flex}.p-maestro .buscadorDinamicasMaestro input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.p-maestro .chipsCategoriaDinamicasMaestro{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.p-maestro .chipCategoriaDinamicaMaestro{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:11.5px;font-weight:700}.p-maestro .chipCategoriaDinamicaMaestroActivo{background:var(--accent);border-color:var(--accent);color:#fff}.p-maestro .seccionDinamicasMaestro{margin-bottom:20px}.p-maestro .tituloSeccionDinamicasMaestro{color:var(--ink);margin:0 0 10px;font-size:14px;font-weight:800}.p-maestro .tituloSeccionDinamicasMaestro span{color:var(--muted);font-size:12px;font-weight:700}.p-maestro .listaDinamicasMaestro{flex-direction:column;gap:10px;display:flex}.p-maestro .tarjetaDinamicaMaestro{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg,14px);padding:12px 14px}.p-maestro .tarjetaDinamicaMaestro h3{color:var(--ink);margin:0 0 4px;font-size:14.5px;font-weight:800}.p-maestro .resumenDinamicaMaestro{color:var(--muted);margin:0 0 6px;font-size:12.5px;font-weight:600}.p-maestro .desarrolloDinamicaMaestro{color:var(--ink);margin:0;font-size:12.5px;line-height:1.5}@media (max-width:760px){.p-maestro .botonCerrarModalMaestro{width:36px;height:36px}}
