@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-italic-Cnej2eWp.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-italic-B5BpsPSY.woff)format("woff")}:root{--bg:#eef7fb;--surface:#fff;--surface-2:#e4f1f8;--ink:#10222c;--ink-muted:#4f6572;--ink-faint:#8ba0ab;--line:#cfe4ee;--brand-celeste:#00afef;--accent:#007ba8;--accent-dark:#005a7d;--accent-soft:#d9f1fb;--danger:#b4453c;--danger-soft:#f6dedc;--ok:#2e7d32;--ok-soft:#d9f1e6;--warn:#b8860b;--warn-soft:#f5ead0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}#root{overflow-x:hidden}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif}button,input{font-family:inherit;font-size:16px}.app-layout{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--surface);border-bottom:3px solid var(--brand-celeste);z-index:10;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.topbar-marca{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.topbar-escudo{width:auto;height:36px}.topbar-saludo{flex-direction:column;line-height:1.2;display:flex}.topbar-saludo-texto{font-size:16px;font-weight:600}.topbar-fecha{color:var(--ink-muted);font-size:12px}.topbar-avatar-contenedor{position:relative}.topbar-avatar-boton{cursor:pointer;background:0 0;border:none;padding:0;line-height:0}.topbar-avatar{object-fit:cover;background:var(--surface-2);border:1px solid var(--line);border-radius:50%;width:40px;height:40px}.topbar-avatar-generico{justify-content:center;align-items:center;font-size:20px;display:flex}.topbar-menu{background:var(--surface);border:1px solid var(--line);z-index:20;border-radius:12px;flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 16px #0000001f}.topbar-menu-item{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;text-decoration:none;display:block}.topbar-menu-item:hover{background:var(--surface-2)}.topbar-menu-item-boton{color:var(--ink-muted);border-top:1px solid var(--line);margin-top:4px;padding-top:10px}.app-main{flex:1;padding-bottom:76px}.teclado-abierto .app-main{padding-bottom:0}.bottom-nav{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.teclado-abierto .bottom-nav{display:none}.nav-item{min-width:0;color:var(--ink-faint);text-align:center;overflow-wrap:break-word;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 2px;font-size:12px;text-decoration:none;display:flex}.nav-item.active{color:var(--accent);font-weight:600}.nav-label{overflow-wrap:break-word;width:100%;min-width:0}.nav-icon{font-size:20px}.pantalla{max-width:720px;margin:0 auto;padding:16px}.pantalla-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.pantalla-header-avatar-y-titulo{align-items:center;gap:12px;display:flex}.avatar-rol{object-fit:cover;background:var(--surface-2);border:1px solid var(--line);border-radius:50%;flex:none;width:56px;height:56px}.avatar-alumno-contenedor{flex-direction:column;align-items:center;gap:4px;display:flex}.avatar-alumno-foto{width:72px;height:72px}.avatar-alumno-foto-clickeable{cursor:pointer}.boton-cambiar-foto{padding:0;font-size:11px}.modal-fondo-foto{justify-content:center;align-items:center}.foto-alumno-grande{object-fit:contain;border-radius:12px;max-width:90vw;max-height:85vh}.avatar-chico{object-fit:cover;background:var(--surface-2);border:1px solid var(--line);vertical-align:middle;border-radius:50%;flex:none;width:28px;height:28px;margin-right:8px}h1{margin:0 0 4px;font-size:20px}h2{margin:0 0 12px;font-size:17px}.ayuda{color:var(--ink-muted);margin:0;font-size:13px}.mencion-clickeable{color:var(--accent);font-weight:600;text-decoration:underline}.contador-resultados{color:var(--ink);margin:4px 0 12px;font-size:13px;font-weight:600}.ayuda-campo{color:var(--ink-muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.subtitulo{color:var(--ink-muted);margin-top:0}.vacio{color:var(--ink-faint);text-align:center;padding:32px 0}.mensaje-carga{text-align:center;color:var(--ink-muted);padding:40px 0}.error{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:14px}.aviso{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:14px}.boton-primario,.boton-secundario,.boton-texto{cursor:pointer;border:none;border-radius:10px;min-height:44px}.boton-primario{background:var(--accent);color:#fff;width:100%;padding:12px 20px;font-weight:600}.boton-primario:active{background:var(--accent-dark)}.boton-primario:disabled{opacity:.6}.boton-chico{width:auto;padding:8px 14px;font-size:14px}.boton-secundario{background:var(--accent-soft);color:var(--accent-dark);padding:10px 16px;font-weight:600}.boton-texto{color:var(--accent);background:0 0;padding:8px;font-weight:600}.boton-baja{color:var(--danger)}.boton-primario.boton-baja{background:var(--danger);color:#fff}.boton-primario.boton-ok{background:var(--ok)}.pantalla-login{text-align:center;max-width:360px;margin:8vh auto 0;padding:24px}.escudo-login{width:96px;height:auto;margin-bottom:12px}.marca-login{flex-direction:column;align-items:center;gap:2px;margin:4px 0 6px;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-style:italic;font-weight:800;display:flex}.marca-libertad{letter-spacing:8px;color:var(--accent-dark);margin-right:-8px;font-size:22px;line-height:1}.marca-sportflow{color:var(--ink);font-size:58px;line-height:.95}.marca-flow{color:#1f9d4d}.marca-barra{background:var(--brand-celeste);width:130px;height:5px;margin-top:4px;transform:skew(-25deg)}.form-login{text-align:left;flex-direction:column;gap:14px;margin-top:16px;display:flex}.form-login label{color:var(--ink-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.form-login input,.modal input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:12px}.campo-password{display:flex;position:relative}.campo-password input{flex:1;padding-right:44px}.boton-mostrar-password{cursor:pointer;background:0 0;border:none;padding:8px;font-size:18px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.olvide-password{text-align:center;color:var(--ink-muted);margin-top:16px;font-size:13px}.form-ficha{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.ficha-datos-lectura{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.ficha-dato{margin:0;font-size:15px}.ficha-dato-etiqueta{color:var(--ink-muted);font-size:13px;display:block}.enlace-contacto{color:var(--accent);white-space:nowrap;font-weight:600;text-decoration:none}.enlace-whatsapp{color:#25d366}.enlaces-contacto-grupo{gap:16px;margin-left:8px;display:inline-flex}.ficha-telefono-bloque{flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px;display:flex}.ficha-telefono-bloque .enlaces-contacto-grupo{margin-left:0}.form-ficha label{color:var(--ink-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.form-ficha input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:12px}.form-ficha input:disabled{background:var(--surface-2);color:var(--ink-faint)}.textarea-observaciones{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:8px;padding:12px}.grilla-fotos-sesion{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;display:grid}.foto-sesion-item{flex-direction:column;gap:4px;display:flex;position:relative}.foto-sesion-item img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);cursor:pointer;border-radius:8px;width:100%}.foto-sesion-item .detalle{text-align:center;font-size:11px}.foto-sesion-borrar{background:#ffffffe6;border-radius:999px;min-height:auto;padding:2px 6px;position:absolute;top:2px;right:2px}.selector-emoji{flex-direction:column;gap:8px;display:flex}.selector-emoji-sugeridos{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;gap:6px;max-height:132px;padding:4px;display:flex;overflow-y:auto}.boton-emoji-sugerido{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;width:40px;height:40px;font-size:20px;line-height:1}.boton-emoji-sugerido.activo{border-color:var(--accent);background:var(--accent-soft)}.selector-emoji input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:18px}.selector-color{flex-direction:column;gap:8px;display:flex}.selector-color-sugeridos{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.boton-color-sugerido{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;padding:0}.boton-color-sugerido.activo{border-color:var(--ink)}.boton-color-quitar{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:13px;font-weight:600}.selector-color input[type=color]{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;width:100%;height:40px;padding:2px}.campo-solo-lectura{color:var(--ink-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.campo-solo-lectura span:last-child{color:var(--ink);font-size:16px}.titulo-entrenamientos{text-align:center;text-transform:uppercase;letter-spacing:.3px;font-size:22px}.fecha-vista{text-align:center;color:var(--ink-muted);margin:0 0 12px;font-size:16px;font-weight:600}.acciones-entrenamiento-hoy{flex-wrap:wrap;gap:8px;display:flex}.boton-iniciar-hoy{margin:4px 0 14px}.campo-motivo-suspension{color:var(--ink-muted);flex-direction:column;gap:6px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.campo-motivo-suspension input{border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:15px;font-weight:400}.tarjeta-sesion-stats-presentes{color:var(--ok)}.tarjeta-sesion-stats-ausentes{color:var(--danger)}.tarjeta-sesion-stats-porcentaje{color:var(--accent-dark);font-weight:700}.navegador-fecha{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.navegador-fecha-mes{text-transform:uppercase;font-size:14px;font-weight:700}.selector-dias{align-items:stretch;gap:8px;margin-bottom:14px;display:flex}.tira-dias{flex:1;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-dia{background:var(--surface);border:1px solid var(--line);min-width:52px;color:var(--ink-muted);cursor:pointer;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:2px;padding:8px 6px;display:flex;position:relative}.chip-dia-semana{letter-spacing:.3px;font-size:11px;font-weight:700}.chip-dia-numero{color:var(--ink);font-size:18px;font-weight:800}.chip-dia-mes{font-size:10px;font-weight:600}.chip-dia-activo{background:var(--accent);border-color:var(--accent);color:#fff}.chip-dia-activo .chip-dia-numero{color:#fff}.chip-calendario-envoltorio{cursor:pointer;flex:none;display:flex;position:relative}.input-fecha-encima{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.input-fecha-encima::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.chip-calendario{background:var(--surface);border:2px solid var(--accent);cursor:pointer;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;min-width:56px;padding:8px 10px;font-family:inherit;display:flex}.chip-calendario-icono{font-size:16px;line-height:1}.chip-calendario-fecha{color:var(--accent);font-size:12px;font-weight:700}.chip-dia-marca{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.chip-dia-activo .chip-dia-marca{background:#fff}.chip-hoy{background:var(--surface);border:1px solid var(--line);color:var(--accent);cursor:pointer;border-radius:10px;flex:none;align-items:center;padding:0 12px;font-size:13px;font-weight:700;display:flex}.selector-mes{align-items:stretch;gap:8px;min-width:0;max-width:100%;margin-bottom:12px;display:flex}.tira-meses{flex:1;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.chip-mes{background:var(--surface);border:1px solid var(--line);min-width:56px;color:var(--ink-muted);cursor:pointer;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:2px;padding:8px 10px;display:flex}.chip-mes-nombre{text-transform:uppercase;color:var(--ink);font-size:13px;font-weight:800}.chip-mes-anio{font-size:10px;font-weight:600}.chip-mes-activo{background:var(--accent);border-color:var(--accent);color:#fff}.chip-mes-activo .chip-mes-nombre{color:#fff}.chip-mes-calendario{background:var(--surface);border:2px solid var(--accent);border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;min-width:56px;padding:8px 10px;display:flex}.chip-mes-calendario-icono{font-size:16px;line-height:1}.chip-mes-calendario-texto{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:700}.tarjeta-sesion-stats{font-weight:600}.lista-sesiones{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tarjeta-sesion{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ink-faint);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.tarjeta-sesion.estado-en_curso{border-left-color:var(--accent)}.tarjeta-sesion.estado-completada{border-left-color:var(--ink-faint);opacity:.75}.tarjeta-sesion.estado-cancelada{border-left-color:var(--warn);opacity:.85}.tarjeta-sesion-info{flex-direction:column;gap:2px;display:flex}.detalle{color:var(--ink-muted);font-size:13px}.modal-fondo{z-index:20;background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;gap:12px;width:100%;max-height:80vh;padding:20px;display:flex;overflow-y:auto}.modal label{color:var(--ink-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.modal-acciones{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.hoja-calendario{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:420px;max-height:85vh;margin:0 auto;padding:18px 18px 22px;overflow-y:auto}.cal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-mes-anio{font-size:17px;font-weight:800}.cal-nav{gap:4px;display:flex}.cal-nav button{background:var(--surface-2);width:32px;height:32px;color:var(--accent-dark);cursor:pointer;border:none;border-radius:50%;font-family:inherit;font-size:15px;font-weight:700}.cal-dias-semana{grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.cal-dias-semana span{text-align:center;color:var(--ink-faint);letter-spacing:.3px;font-size:11px;font-weight:700}.cal-grilla{grid-template-columns:repeat(7,1fr);row-gap:6px;display:grid}.cal-dia{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;font-family:inherit;display:flex;position:relative}.cal-dia-numero{color:var(--ink);font-size:15px;font-weight:600}.cal-dia.fuera-de-mes .cal-dia-numero{color:var(--ink-faint);opacity:.5}.cal-dia.hoy .cal-dia-numero{color:var(--accent-dark);font-weight:800}.cal-dia.hoy:before{content:"";border:2px solid var(--accent);border-radius:12px;position:absolute;inset:4px}.cal-dia.elegido{background:var(--accent)}.cal-dia.elegido .cal-dia-numero{color:#fff}.cal-dia.elegido:before{border-color:#0000}.marca-punto{background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px}.cal-dia.elegido .marca-punto{background:#fff}.cal-hoy-link{text-align:center;color:var(--accent);cursor:pointer;background:0 0;border:none;width:100%;margin-top:16px;padding:8px;font-family:inherit;font-size:14px;font-weight:700;display:block}.password-temporal-generada{letter-spacing:2px;text-align:center;background:var(--warn-soft);-webkit-user-select:all;user-select:all;border-radius:10px;padding:14px;font-family:monospace;font-size:22px;font-weight:700}.lista-categorias-elegir{flex-direction:column;gap:8px;max-height:40vh;display:flex;overflow-y:auto}.modal label.opcion-categoria{border:1px solid var(--line);border-radius:8px;flex-direction:row;align-items:center;gap:10px;padding:10px;font-size:15px;display:flex}.opcion-categoria input{width:20px;height:20px}.lista-deportes-elegir{flex-direction:column;gap:8px;display:flex}.opcion-deporte{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:14px;font-size:16px;font-weight:600;display:flex}.lista-asistencia{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.fila-alumno{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px}.fila-alumno-encabezado{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.fila-alumno-nombre{font-weight:600}.fila-alumno-nombre a{color:inherit;text-decoration:none}.fila-alumno-nombre a:active{color:var(--accent)}.sync-pendiente{color:var(--ink-faint);font-size:12px;font-weight:400}.botones-estado{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.boton-estado{border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);border-radius:8px;min-height:44px;padding:10px 4px;font-size:13px;font-weight:600}.boton-estado-presente.activo{background:var(--ok);border-color:var(--ok);color:#fff}.boton-estado-ausente.activo{background:var(--danger);border-color:var(--danger);color:#fff}.boton-estado-tarde.activo{background:var(--warn);border-color:var(--warn);color:#fff}.boton-estado-justificado.activo{background:var(--ink-muted);border-color:var(--ink-muted);color:#fff}.boton-completar{margin-top:16px}.boton-anular{text-align:center;width:100%;margin-top:12px;display:block}.propuesta-pendiente{color:var(--warn);margin-top:6px}.lista-correcciones{background:var(--warn-soft);border:1px solid var(--warn);border-radius:10px;margin-bottom:16px;padding:12px 14px}.lista-correcciones h2{margin:0 0 8px;font-size:15px}.fila-correccion{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:14px;display:flex}.fila-correccion:first-of-type{border-top:none;padding-top:0}.fila-correccion-acciones{flex-shrink:0;gap:4px;display:flex}.boton-completar-chico{color:var(--ok);font-weight:700}.resumen-deportes{color:var(--ink-muted);margin:0 0 14px;font-size:14px;font-weight:600}.lista-categorias{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tarjeta-categoria{background:var(--surface);border:1px solid var(--line);text-align:left;cursor:pointer;border-left-width:4px;border-left-color:#0000;border-radius:10px;flex-direction:column;gap:4px;width:100%;padding:16px 12px;display:flex}.tarjeta-categoria span{color:var(--ink-muted);font-size:13px}.control-temporada{border:1px solid var(--line);background:var(--surface-2);border-top:none;border-radius:0 0 10px 10px;align-items:center;margin-top:-1px;padding:8px 12px;display:flex}.control-temporada-estado{color:var(--ink-muted);font-size:12px}.control-temporada-estado.activo{color:var(--ok);font-weight:600}.tarjeta-categoria span.tarjeta-categoria-cantidad{color:var(--accent);font-weight:600}.lista-plantel{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.grupo-categorias-entrenador{margin-top:20px}.grupo-categorias-entrenador:first-of-type{margin-top:0}.filtros-analitica{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px;display:flex}.filtro-fecha{flex-direction:column;gap:6px;display:flex}.toggle-modo-fecha,.toggle-granularidad{border:1px solid var(--line);border-radius:8px;width:fit-content;display:flex;overflow:hidden}.toggle-modo-fecha button,.toggle-granularidad button{background:var(--surface);color:var(--ink-muted);cursor:pointer;border:none;padding:6px 12px;font-size:13px}.toggle-modo-fecha button.activo,.toggle-granularidad button.activo{background:var(--accent);color:#fff}.filtro-fecha-controles{align-items:center;gap:6px;display:flex}.filtros-analitica select,.filtro-fecha-controles select,.filtro-fecha-controles input{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:8px;padding:6px 8px;font-size:14px}.grid-kpis{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:8px;display:grid}.tarjeta-kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:16px 14px;display:flex}.tarjeta-kpi-label{color:var(--ink-muted);font-size:12px}.tarjeta-kpi-valor{color:var(--accent-dark);font-size:24px;font-weight:700}.tarjeta-kpi-delta{font-size:11px;font-weight:600}.tarjeta-kpi-delta.positivo{color:var(--ok)}.tarjeta-kpi-delta.negativo{color:var(--danger)}.tarjeta-kpi-delta.neutro{color:var(--ink-muted)}.dashboard-seccion{margin-top:24px}.dashboard-seccion h2{margin:0 0 8px;font-size:15px}.dashboard-seccion-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard-seccion-header h2{margin:0}.grafico-linea-contenedor{position:relative;overflow-x:auto}.grafico-linea-grilla{stroke:var(--line);stroke-width:1px}.grafico-linea-trazo{stroke:var(--accent);stroke-width:2px}.grafico-linea-punto{fill:var(--accent)}.grafico-linea-etiqueta{fill:var(--ink-muted);font-size:10px}.grafico-linea-etiqueta-activa{fill:var(--ink);font-weight:700}.grafico-linea-area{fill-opacity:.16}.grafico-linea-guia{stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:3 3}.grafico-linea-tooltip{background:var(--surface);border:1px solid var(--line);pointer-events:none;white-space:nowrap;z-index:1;border-radius:8px;padding:8px 10px;font-size:12px;position:absolute;top:8px;transform:translate(-50%);box-shadow:0 2px 8px #10222c1f}.grafico-linea-tooltip strong{margin-bottom:4px;font-size:12px;display:block}.grafico-linea-tooltip-fila{color:var(--ink-muted);align-items:center;gap:6px;font-size:12px;display:flex}.grafico-linea-tooltip-nombre{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.grafico-linea-tooltip-valor{text-align:right;min-width:34px;color:var(--ink);font-weight:700}.grafico-linea-tooltip-encabezado{gap:6px;margin-top:2px;font-size:11px;display:flex}.grafico-linea-tooltip-encabezado .grafico-linea-tooltip-valor{color:var(--ink-muted);font-weight:600}.selector-comparacion{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.selector-comparacion>div{flex:220px;min-width:0;max-width:100%}.pantalla-header-acciones{flex-wrap:wrap;gap:8px;display:flex}.control-acciones-deporte{border-bottom:1px solid var(--line);align-items:center;margin-bottom:10px;padding-bottom:10px}.boton-editar-icono{cursor:pointer;vertical-align:middle;opacity:.65;background:0 0;border:none;margin-left:6px;padding:6px;font-size:16px}.boton-editar-icono:hover,.boton-editar-icono:active{opacity:1}.selector-mes-simple{align-items:center;gap:10px;margin-bottom:12px;display:flex}.selector-mes-simple-etiqueta{text-transform:capitalize;text-align:center;min-width:120px;font-weight:700}.tabla-asistencia-mensual-envoltorio{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.tabla-asistencia-mensual{border-collapse:collapse;width:100%}.tabla-asistencia-mensual th,.tabla-asistencia-mensual td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:8px 10px;font-size:13px}.tabla-asistencia-mensual thead th{background:var(--surface-2);color:var(--ink-muted);font-weight:700}.tabla-asistencia-mensual .col-nombre-sticky{background:var(--surface);text-align:left;white-space:nowrap;z-index:1;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.tabla-asistencia-mensual thead .col-nombre-sticky{background:var(--surface-2);z-index:2}.tabla-asistencia-mensual .col-dia-letra{font-size:10px;display:block}.tabla-asistencia-mensual .col-dia-numero{font-size:13px;display:block}.tabla-asistencia-mensual .col-marca{min-width:34px}.marca-presente{color:var(--ok);font-weight:700}.marca-ausente{color:var(--danger);font-weight:700}.marca-otro{color:var(--warn);font-size:11px}.marca-suspendido{color:var(--warn);font-weight:700}.marca-vacia{color:var(--ink-faint)}.marca-fuera{display:inline-block}.tabla-asistencia-mensual .col-dia-suspendida{background:var(--warn-soft)}.leyenda-asistencia-mensual{color:var(--ink-muted);margin-top:10px;font-size:13px}.grilla-fraccion{color:var(--ink-muted);font-size:12px;font-weight:600;display:block}.selector-comparacion-etiqueta{color:var(--ink-muted);margin-bottom:4px;font-size:12px;font-weight:700;display:block}.lista-asistencia-deporte{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fila-asistencia-deporte{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:10px;grid-template-columns:120px 1fr 48px;align-items:center;gap:10px;width:100%;padding:10px 14px;display:grid}.fila-asistencia-deporte-nombre{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.fila-asistencia-deporte-barra{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.fila-asistencia-deporte-relleno{background:var(--accent);height:100%}.fila-asistencia-deporte-pct{text-align:right;font-size:13px;font-weight:600}.tabla-scroll{overflow-x:auto}.tabla-analitica{border-collapse:collapse;width:100%;font-size:14px}.tabla-analitica th{text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 10px;font-size:12px}.tabla-analitica td{border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px}.tabla-analitica tbody tr:hover{background:var(--surface-2)}.tabla-analitica tr.fila-asistencia-baja td{background:var(--danger-soft)}.grafico-movimientos-contenedor{overflow-x:auto}.grafico-movimientos{align-items:flex-end;gap:14px;min-width:min-content;height:140px;padding-top:8px;display:flex}.grupo-movimientos{flex-direction:column;align-items:center;min-width:44px;height:100%;display:flex}.grupo-movimientos-barras{flex:1;align-items:flex-end;gap:3px;display:flex}.barra-movimiento{border-radius:3px 3px 0 0;width:10px;min-height:2px}.barra-movimiento.alta{background:var(--ok)}.barra-movimiento.baja{background:var(--danger)}.barra-movimiento.reincorporacion{background:var(--accent)}.grupo-movimientos-neto{margin-top:4px;font-size:11px;font-weight:700}.grupo-movimientos-neto.positivo{color:var(--ok)}.grupo-movimientos-neto.negativo{color:var(--danger)}.grupo-movimientos-mes{color:var(--ink-muted);text-transform:capitalize;margin-top:2px;font-size:11px}.leyenda-movimientos{color:var(--ink-muted);gap:14px;margin-top:10px;font-size:12px;display:flex}.punto-leyenda{border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.punto-leyenda.alta{background:var(--ok)}.punto-leyenda.baja{background:var(--danger)}.punto-leyenda.reincorporacion{background:var(--accent)}.fila-plantel-clickeable{cursor:pointer}.fila-plantel-clickeable-flecha{color:var(--ink-faint)}.ficha-alumno-analitica h2{margin:10px 0 4px}.ficha-alumno-subtitulo{color:var(--ink-muted);margin:0 0 4px;font-size:14px}.estado-activo{color:var(--ok);font-weight:600}.estado-baja{color:var(--danger);font-weight:600}.estado-neutral{color:var(--accent);font-weight:600}.estado-inactivo{color:var(--danger);font-weight:600}.movimiento-reincorporacion{color:var(--warn);font-weight:600}.movimiento-fila-alta{background:var(--ok-soft);color:var(--ink)}.movimiento-fila-baja{background:var(--danger-soft);color:var(--ink)}.movimiento-fila-reincorporacion{background:var(--warn-soft);color:var(--ink)}.texto-ficha-completa{color:var(--ok);font-weight:600}.texto-ficha-provisional{color:var(--warn);font-weight:600}.linea-tiempo{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.linea-tiempo-item{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.linea-tiempo-item.linea-tiempo-alta{border-left-color:var(--ok)}.linea-tiempo-item.linea-tiempo-baja{border-left-color:var(--danger)}.linea-tiempo-item.linea-tiempo-reincorporacion{border-left-color:var(--accent)}.linea-tiempo-fecha{color:var(--ink-muted);white-space:nowrap;font-size:13px}.linea-tiempo-tipo{font-weight:600}.seccion-alerta{background:var(--warn-soft);border:1px solid var(--warn);border-radius:10px;padding:14px}.seccion-alerta .tabla-analitica{background:0 0}.umbral-riesgo{color:var(--ink-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.umbral-riesgo input{border:1px solid var(--line);text-align:center;border-radius:6px;width:48px;padding:4px 6px}.tabla-analitica tr.riesgo-alto td{background:var(--danger-soft)}.tabla-analitica tr.riesgo-medio td{background:var(--warn-soft)}.tabla-ordenable th{cursor:pointer;-webkit-user-select:none;user-select:none}.tabla-ordenable th:hover{color:var(--accent-dark)}.tabla-analitica tbody tr{cursor:pointer}.lista-destacados-anuales{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.fila-plantel{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:15px;display:flex}.fila-plantel-nombre{color:inherit;text-decoration:none}.fila-plantel-nombre:active{color:var(--accent)}.etiqueta-provisional{color:var(--warn);background:var(--warn-soft);vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;display:inline-block}.etiqueta-completa{color:var(--ok);background:var(--ok-soft);vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;display:inline-block}.form-busqueda{gap:8px;display:flex}.form-busqueda input{flex:1}.lista-resultados-busqueda{flex-direction:column;gap:8px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.lista-resultados-pagina{max-height:none;overflow:visible}.fila-resultado-busqueda{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}label.fila-resultado-busqueda-label{cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.fila-resultado-busqueda-boton{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:block}.filtro-roles{flex-wrap:wrap;gap:4px 14px;margin:10px 0 14px;display:flex}.filtro-roles-etiqueta{color:var(--ink-muted);margin:4px 0 0;font-size:13px;font-weight:600}.filtros-avanzados{background:var(--surface-2);border-radius:8px;flex-direction:column;gap:10px;margin:4px 0 14px;padding:12px;display:flex}.filtros-avanzados-compacto{gap:6px;padding:10px 12px}.filtros-avanzados-compacto .filtro-roles{gap:2px 12px;margin:2px 0 4px}.filtros-avanzados-compacto .filtro-roles-etiqueta{margin:0}.filtro-edad,.filtro-cumple{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.filtro-edad label,.filtro-cumple label{align-items:center;gap:6px;display:flex}.filtro-edad input[type=number]{width:64px}.filtro-roles-opcion{color:var(--ink-muted);cursor:pointer;align-items:center;gap:4px;font-size:13px;display:flex}.usuario-nombre-rol{text-transform:uppercase;font-weight:700}.fila-alumno-link{color:inherit;text-decoration:none}.fila-alumno-link .usuario-nombre-rol{text-decoration:underline}.fila-resultado-busqueda.riesgo-alto{background:var(--danger-soft)}.fila-resultado-busqueda.riesgo-medio{background:var(--warn-soft)}.columnas-comparar-deportes{gap:12px;display:flex}.columna-comparar-deportes{flex:1;min-width:0}.columna-comparar-deportes-titulo{color:var(--ink-muted);margin:0 0 6px;font-size:13px;font-weight:600}.boton-comparar-deporte{text-align:left;width:100%}.boton-comparar-deporte.activo{background:var(--accent);color:#fff}.resultado-comparar-deportes{margin-top:16px}.pregunta-dashboard-subtitulo-espaciado{margin-top:20px}.fila-combinacion-deporte{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:0}.lista-combinacion-alumnos{border-left:2px solid var(--line);margin-top:8px;padding-left:12px}.usuario-email{text-transform:lowercase}.topbar-acciones{align-items:center;gap:4px;display:flex}.topbar-campana{cursor:pointer;color:inherit;background:0 0;border:none;padding:6px;font-size:20px;line-height:1;text-decoration:none;position:relative}.badge-no-vistas{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:16px;padding:3px 5px;font-size:10px;font-weight:700;line-height:1;position:absolute;top:0;right:0}.lista-notificaciones{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tarjeta-notificacion{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.tarjeta-notificacion.no-vista{border-left:4px solid var(--accent);font-weight:600}.tarjeta-notificacion-icono{font-size:20px;line-height:1.3}.tarjeta-notificacion-texto{flex-direction:column;flex:1;gap:2px;display:flex}.tarjeta-notificacion .detalle{font-weight:400}.punto-no-visto{background:var(--accent);border-radius:999px;flex-shrink:0;width:8px;height:8px;margin-top:6px}.pregunta-dashboard{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.pregunta-dashboard-numero{color:var(--accent-dark);font-size:48px;font-weight:700;line-height:1}.pregunta-dashboard-texto{color:var(--ink-muted);font-size:16px}.pregunta-dashboard-subtitulo{color:var(--ink-muted);margin:4px 0 10px;font-size:14px}.lista-barras-cantidad{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tarjeta-drilldown{background:var(--surface);border:1px solid var(--line);text-align:left;width:100%;font:inherit;color:inherit;border-radius:10px;margin:0 0 8px;padding:10px 14px;display:block}button.tarjeta-drilldown{cursor:pointer}.tarjeta-drilldown h3{margin:0}.flecha-drilldown{color:var(--accent);vertical-align:middle;font-size:22px;font-weight:700}.fila-barra-cantidad{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:10px;grid-template-columns:130px 1fr 36px;align-items:center;gap:10px;width:100%;padding:10px 14px;display:grid}.fila-barra-cantidad-clickeable{cursor:pointer}.fila-barra-cantidad-nombre{white-space:normal;font-size:14px;line-height:1.25}.fila-barra-cantidad-barra{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.fila-barra-cantidad-relleno{background:var(--accent);height:100%}.fila-barra-cantidad-relleno-alerta{background:var(--warn)}.fila-barra-cantidad-valor{text-align:right;font-size:14px;font-weight:600}.grafico-torta-contenedor{flex-direction:column;flex:1;align-items:center;gap:16px;min-width:0;display:flex}.grafico-torta-titulo{min-width:0;color:var(--ink-muted);text-align:center;margin:0;font-size:13px;font-weight:600}.grafico-torta-subtitulo{text-align:center;font-variant-numeric:tabular-nums;min-width:0;margin:0;font-size:13px;font-weight:700}.grafico-torta{justify-self:center;width:100%;max-width:180px;height:auto}.dos-tortas-fila{grid-template-rows:auto auto auto;grid-auto-columns:1fr;grid-auto-flow:column;align-items:start;gap:8px 12px;display:grid}.dos-tortas-fila>.grafico-torta-contenedor{display:contents}.grafico-torta-porcion{stroke:var(--surface);stroke-width:2px}.grafico-torta-porcion-clickeable{cursor:pointer}.grafico-torta-leyenda{flex-direction:column;gap:8px;width:100%;margin:12px 0 0;padding:0;list-style:none;display:flex}.grafico-torta-leyenda-item{background:var(--surface);border:1px solid var(--line);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.grafico-torta-leyenda-item:disabled{cursor:default}.grafico-torta-leyenda-punto{border-radius:50%;flex:none;width:12px;height:12px}.grafico-torta-leyenda-nombre{flex:1;font-size:14px}.grafico-torta-leyenda-valor{font-size:14px;font-weight:600}.grafico-torta-leyenda-valor-conjunto{flex-direction:column;flex:none;align-items:flex-end;gap:1px;display:flex}.grafico-torta-leyenda-desglose{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.grafico-torta-leyenda-socios{color:var(--ok)}.grafico-torta-leyenda-no-socios{color:#fa0000}.grafico-torta-leyenda-separador{color:var(--ink-faint);margin:0 1px}.grafico-torta-porcentaje{fill:#fff;stroke:#10222c8c;stroke-width:3px;paint-order:stroke fill;pointer-events:none;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.flecha-asistencia{margin-bottom:12px;font-size:12px;font-weight:600;display:inline-block}.flecha-asistencia.positivo{color:var(--ok)}.flecha-asistencia.negativo{color:var(--danger)}.flecha-asistencia.neutro{color:var(--ink-muted)}.selector-periodo{gap:8px;margin-bottom:12px;display:flex}.selector-periodo-opcion{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.selector-periodo-opcion.activo{background:var(--accent);border-color:var(--accent);color:#fff}.leyenda-series{flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;padding:0;list-style:none;display:flex}.leyenda-series-item{background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.leyenda-series-item-clickeable{cursor:pointer;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.leyenda-series-item-clickeable:active{text-decoration-color:currentColor}.leyenda-series-punto{border-radius:50%;flex-shrink:0;width:10px;height:10px}.grafico-linea-nota-estilos{margin-top:6px}.pregunta-dashboard-numero.positivo{color:var(--ok)}.pregunta-dashboard-numero.negativo{color:var(--danger)}.pregunta-dashboard-numero.neutro{color:var(--ink-muted)}.fila-plantel-fecha{color:var(--ink-muted);flex-shrink:0;margin-left:8px;font-size:12px}.lista-movimientos{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fila-movimiento{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.fila-movimiento-clickeable{cursor:pointer}.fila-movimiento-info{flex-direction:column;gap:2px;min-width:0;display:flex}.fila-movimiento-nombre{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.fila-movimiento-detalle{color:var(--ink-muted);font-size:12px}.fila-movimiento-neto{flex-shrink:0;font-size:16px;font-weight:700}.fila-movimiento-neto.positivo{color:var(--ok)}.fila-movimiento-neto.negativo{color:var(--danger)}.fila-movimiento-neto.neutro{color:var(--ink-muted)}.pregunta-acordeon{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.pregunta-dashboard-header{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;width:100%;padding:0;display:flex}h2.pregunta-dashboard-titulo{text-align:center;color:var(--ink);margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:700}.pregunta-acordeon-flecha{color:var(--ink-muted);align-self:center;margin-left:auto;font-size:14px}.alumnos-vista-tabla{display:none}.tabla-alumnos-contenedor{border:1px solid var(--line);border-radius:8px;max-height:65vh;overflow:auto}.tabla-alumnos{border-collapse:collapse;width:100%;font-size:14px}.tabla-alumnos thead th{background:var(--surface-2);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;position:sticky;top:0}.tabla-alumnos td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}.tabla-alumnos tbody tr:hover{background:var(--surface-2)}@media (width>=800px){.pantalla-ancha{max-width:1100px}.alumnos-vista-tabla{display:block}.alumnos-vista-movil{display:none}}.etiqueta-padron{letter-spacing:.02em;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.etiqueta-padron-socio{color:var(--ok);background:var(--ok-soft)}.etiqueta-padron-no-socio{color:var(--ink-faint);background:var(--surface-2)}.fila-resultado-busqueda>.etiqueta-padron{margin-top:0}.ficha-acciones-lectura{gap:10px;display:flex}.filtros-horarios{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin:12px 0 16px;display:flex}.filtros-horarios label:not(.filtro-roles-opcion),.form-ficha .horario-horas label{color:var(--ink-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.form-ficha label:has(>select){color:var(--ink-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.filtros-horarios select,.form-ficha select,.form-ficha input[type=time],.form-ficha input[type=date]{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:16px}.horarios-dia h2{margin:18px 0 8px}.horario-tarjeta{align-items:flex-start}.horario-no-vigente{opacity:.7;border-style:dashed}.horario-vigencia{margin-top:2px;display:block}.horario-acciones{flex-shrink:0;gap:4px;display:flex}.horario-grupo{border:1px solid var(--line);border-radius:8px;margin:0;padding:8px 12px 10px}.horario-grupo legend{color:var(--ink-muted);padding:0 6px;font-size:13px}.horario-dias{flex-wrap:wrap;gap:4px 14px;display:flex}.form-ficha label.horario-opcion{color:var(--ink);flex-direction:row;align-items:center;gap:8px;padding:4px 0;font-size:15px}.form-ficha label.horario-opcion input{width:18px;height:18px;padding:0}.horario-horas{gap:12px;display:flex}.horario-horas label{flex:1}.grilla-dia-futuro h2{margin:12px 0 8px}.grilla-dia-futuro .tarjeta-sesion{border-style:dashed}.horario-ayuda-general{margin:0}.horario-por-dia{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.horario-dias-detalle{flex-direction:column;gap:10px;width:100%;margin:0;padding:0;list-style:none;display:flex}.horario-dia-fila{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.horario-dia-distinto{border-color:var(--warn);background:var(--warn-soft)}.horario-dia-titulo{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.horario-etiqueta-distinto{color:var(--ink);font-size:12px;font-weight:600}.horario-resumen{border-left:3px solid var(--brand-celeste);padding:4px 0 4px 10px;font-size:14px}.horario-resumen ul{margin:4px 0 0;padding-left:18px}.horario-avisos{background:var(--warn-soft);color:var(--ink);border-radius:6px;flex-direction:column;gap:4px;margin:4px 0 6px;padding:6px 10px;font-size:13px;list-style:none;display:flex}.sin-registrar h2{margin:12px 0 4px}.tarjeta-sesion.estado-sin-registrar{border-left-color:var(--danger);background:var(--danger-soft)}.agenda-modos{gap:8px;margin:10px 0;display:flex}.agenda-modo{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;flex:1;padding:10px 12px;font-weight:600}.agenda-modo-activo{background:var(--brand-celeste);border-color:var(--brand-celeste);color:var(--ink)}.agenda-fecha{flex-direction:column;gap:2px;margin:8px 0;display:flex}.agenda-fecha-botones{justify-content:space-between;gap:8px;display:flex}.agenda-dia-lugar{flex-direction:column;align-items:stretch}.agenda-dia-lugar h2{margin:0 0 6px;font-size:16px}.agenda-barra{background:var(--ok-soft);border:1px solid var(--line);border-radius:6px;height:18px;position:relative;overflow:hidden}.agenda-bloque{background:var(--danger);opacity:.85;position:absolute;top:0;bottom:0}.agenda-bloque-suspendido{background:repeating-linear-gradient(45deg, var(--warn) 0 4px, var(--warn-soft) 4px 8px);opacity:1}.agenda-detalle{margin-top:6px}.agenda-detalle p{margin:2px 0;font-size:14px}.agenda-libre{color:var(--ink)}
