:root{color-scheme:light dark;--fondo:#f5f7fc;--panel:#ffffff;--panel-alto:#e9edf7;--borde:#c3cae0;--borde-fuerte:#5a6b98;--texto:#0f1626;--texto-suave:#3f4a68;--acento:#2f4fa8;--acento-texto:#ffffff;--foco:#5b3fd1;--error:#b3261e;--error-fondo:#fdeceb;--error-texto:#5c1410;--ok:#1b6e43;--ok-fondo:#e3f5eb;--ok-texto:#0d3a23;--aviso:#8a5a00;--aviso-fondo:#fff2d9;--aviso-texto:#4a3000;--velo:#0f1626b8;--velo-texto:#ffffff;--qr-fondo:#ffffff;--qr-modulo:#000000;--e-1:4px;--e-2:8px;--e-3:12px;--e-4:16px;--e-5:24px;--e-6:32px;--toque-min:44px;--radio:4px;--radio-tarjeta:12px;--alto-miniatura:160px;--borde-ancho:1px;--borde-ancho-fuerte:2px;--ancho-contenido:1200px;--ancho-lista:280px;--color-etiqueta:var(--acento);--ancho-columna:280px;--alto-mensajes:55vh;--alto-mensajes-grande:60vh;--fuente:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--t-grande:1.375rem;--t-base:1rem;--t-pequeno:0.875rem;--interlineado:1.5}@media (prefers-color-scheme:dark){:root{--fondo:#0f1626;--panel:#172036;--panel-alto:#1f2a45;--borde:#34426a;--borde-fuerte:#5a6b98;--texto:#e4e9f5;--texto-suave:#a3aecb;--acento:#8fb4ff;--acento-texto:#0f1626;--foco:#c9b8ff;--error:#ff6e6a;--error-fondo:#3a1620;--error-texto:#ffd9d7;--ok:#4cd68e;--ok-fondo:#123224;--ok-texto:#cff5df;--aviso:#ffb547;--aviso-fondo:#3a2a10;--aviso-texto:#ffe7bf;--velo:#0f1626b8;--velo-texto:#ffffff;--qr-fondo:#ffffff;--qr-modulo:#000000}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--fondo);color:var(--texto);font-family:var(--fuente);font-size:var(--t-base);line-height:var(--interlineado);overflow-wrap:anywhere}h1,h2,h3{margin:0 0 var(--e-3);line-height:1.25}h1,h2{font-size:var(--t-grande)}h3{font-size:var(--t-base)}p{margin:0 0 var(--e-3)}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:var(--borde-ancho-fuerte) solid var(--foco);outline-offset:2px}button,input,select,textarea{font:inherit;color:var(--texto);min-height:var(--toque-min);max-width:100%}input,select,textarea{width:100%;padding:var(--e-2) var(--e-3);background:var(--panel);border:var(--borde-ancho) solid var(--borde-fuerte);border-radius:var(--radio)}input[type=file]{padding:var(--e-2)}textarea{resize:vertical}button{padding:var(--e-2) var(--e-4);background:var(--panel-alto);border:var(--borde-ancho) solid var(--borde-fuerte);border-radius:var(--radio);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6;border-style:dashed}button.primario{background:var(--acento);color:var(--acento-texto);border-color:var(--acento);font-weight:700}button.enlace{background:none;border-color:transparent;color:var(--acento);text-decoration:underline;padding-inline:var(--e-2)}button[aria-current=true],button[aria-pressed=true]{border-width:var(--borde-ancho-fuerte);font-weight:700}.app{max-width:var(--ancho-contenido);margin:0 auto;padding:var(--e-4)}.cabecera{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e-3);margin-bottom:var(--e-4)}.cabecera h1{margin:0}.sesion{display:flex;align-items:center;gap:var(--e-3)}.tarjeta{background:var(--panel);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio);padding:var(--e-4)}.pantalla-auth{max-width:420px;margin:0 auto}.formulario{display:grid;grid-gap:var(--e-4);gap:var(--e-4)}.campo{display:grid;grid-gap:var(--e-1);gap:var(--e-1)}.campo label{font-weight:700}.campo-error{margin:0;color:var(--error-texto);background:var(--error-fondo);border-left:var(--borde-ancho-fuerte) solid var(--error);padding:var(--e-1) var(--e-2);font-size:var(--t-pequeno)}.acciones{display:flex;flex-wrap:wrap;gap:var(--e-2)}.aviso{padding:var(--e-3);margin-bottom:var(--e-3);border:var(--borde-ancho) solid;border-left-width:var(--e-2);border-radius:var(--radio)}.aviso-error{color:var(--error-texto);background:var(--error-fondo);border-color:var(--error)}.aviso-ok{color:var(--ok-texto);background:var(--ok-fondo);border-color:var(--ok)}.aviso-alerta{color:var(--aviso-texto);background:var(--aviso-fondo);border-color:var(--aviso)}.estado{color:var(--texto-suave);padding:var(--e-3) 0}.estado-error{color:var(--error-texto);background:var(--error-fondo);border:var(--borde-ancho) solid var(--error);border-radius:var(--radio);padding:var(--e-3)}.lista-botones{display:grid;grid-gap:var(--e-2);gap:var(--e-2)}.lista-botones button{width:100%;text-align:left}@media (min-width:768px){.app{padding:var(--e-5)}}@media (min-width:1280px){.app{padding:var(--e-6)}}.pestanas{display:flex;gap:var(--e-2);margin-bottom:var(--e-4)}.salas{display:grid;grid-gap:var(--e-4);gap:var(--e-4)}.salas[data-sala-abierta=no] .panel-sala,.salas[data-sala-abierta=si] .lista-salas{display:none}.mensajes{max-height:var(--alto-mensajes);overflow-y:auto;display:grid;grid-gap:var(--e-3);gap:var(--e-3);padding:var(--e-2) 0}.mensaje{background:var(--panel-alto);border-radius:var(--radio);padding:var(--e-2) var(--e-3)}.mensaje-cabecera{display:flex;gap:var(--e-2);align-items:baseline;color:var(--texto-suave);font-size:var(--t-pequeno)}.mensaje p{margin:0;white-space:pre-wrap}.adjuntos{margin-top:var(--e-1);display:grid;grid-gap:var(--e-2);gap:var(--e-2);font-size:var(--t-pequeno);color:var(--texto-suave)}.adjunto{max-width:100%}.archivo-adjunto,.miniatura{display:grid;grid-gap:var(--e-1);gap:var(--e-1);padding:var(--e-2);background:var(--panel);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta);color:var(--texto);text-decoration:none}.miniatura{width:-moz-fit-content;width:fit-content;max-width:100%}.miniatura img{display:block;max-width:100%;max-height:var(--alto-miniatura);object-fit:cover;border-radius:var(--radio)}.archivo-adjunto{grid-template-columns:1fr auto;align-items:center}.archivo-adjunto .campo-error{grid-column:1/-1}.adjunto-estado{margin:0}.adjunto-pie{font-size:var(--t-pequeno);color:var(--texto-suave)}.subida,.subidas{display:grid;grid-gap:var(--e-2);gap:var(--e-2)}.subida{padding:var(--e-2) var(--e-3);background:var(--panel);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta)}.subida[data-estado=error]{border-color:var(--error)}.subida[data-estado=cancelada]{border-style:dashed}.subida-info{position:relative;display:grid;grid-gap:var(--e-1);gap:var(--e-1);min-width:0;padding:var(--e-1);border-radius:var(--radio)}.subida-info progress{width:100%}.velo{position:absolute;inset:0;display:grid;place-items:center;background:var(--velo);color:var(--velo-texto);border-radius:var(--radio);font-weight:700}.nuevo-mensaje{display:grid;grid-gap:var(--e-2);gap:var(--e-2);margin-top:var(--e-3)}.etiqueta-estado{white-space:nowrap;font-size:var(--t-pequeno);color:var(--texto-suave);border:var(--borde-ancho) solid var(--borde-fuerte);border-radius:var(--radio);padding:0 var(--e-2)}.bandeja{margin-top:var(--e-5);color:var(--aviso-texto);background:var(--aviso-fondo);border:var(--borde-ancho) solid var(--aviso);border-radius:var(--radio);padding:var(--e-3)}@media (min-width:768px){.subida{grid-template-columns:1fr auto;align-items:center}.salas{grid-template-columns:var(--ancho-lista) 1fr}.salas[data-sala-abierta=no] .panel-sala,.salas[data-sala-abierta=si] .lista-salas{display:block}.volver{display:none}}@media (min-width:1280px){.mensajes{max-height:var(--alto-mensajes-grande)}}h4,h5,h6{margin:var(--e-4) 0 var(--e-2);font-size:var(--t-base);line-height:1.25}.opciones{border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio);padding:var(--e-3)}.opcion{display:flex;align-items:center;gap:var(--e-2);min-height:var(--toque-min)}.opcion input{width:auto;min-height:0;flex:none}.sin-borde{display:grid;grid-gap:var(--e-3);gap:var(--e-3);min-width:0;margin:0;padding:0;border:0}.fila-persona{display:flex;align-items:center;justify-content:space-between;gap:var(--e-3);padding:var(--e-1) 0;border-bottom:var(--borde-ancho) solid var(--borde)}.formulario-linea{display:grid;grid-gap:var(--e-2);gap:var(--e-2);margin-top:var(--e-2)}.formulario-linea .aviso{grid-column:1/-1}.confirmar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--e-2)}.lista-comprobacion{margin-bottom:var(--e-4)}.comentarios{display:grid;grid-gap:var(--e-3);gap:var(--e-3);margin-bottom:var(--e-3)}.tablero{display:grid;grid-gap:var(--e-4);gap:var(--e-4);margin:var(--e-4) 0}.columna{min-width:0;background:var(--panel);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta);padding:var(--e-3)}.columna h4{margin-top:0}.nota-columna{font-size:var(--t-pequeno);color:var(--texto-suave)}.tarjeta-tarea,.tarjetas{display:grid;grid-gap:var(--e-2);gap:var(--e-2)}.tarjeta-tarea{padding:var(--e-3);background:var(--panel-alto);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio)}.tarjeta-tarea .enlace{justify-self:start;padding-inline:0;text-align:left}.datos-tarea{display:flex;flex-wrap:wrap;gap:var(--e-2)}.datos-tarea,.mas-etiquetas,.observan{margin:0;font-size:var(--t-pequeno);color:var(--texto-suave)}.tarjeta-tarea .etiquetas{margin:0}.etiquetas{display:flex;flex-wrap:wrap;gap:var(--e-2);margin:var(--e-2) 0;padding:0;list-style:none}.etiqueta-chip,.etiquetas li{display:inline-flex;align-items:center;gap:var(--e-1)}.etiqueta-chip{padding:var(--e-1) var(--e-2);background:var(--panel-alto);color:var(--texto);border:var(--borde-ancho) solid var(--borde-fuerte);border-radius:var(--radio);font-size:var(--t-pequeno)}.etiqueta-muestra{flex:none;width:var(--e-3);height:var(--e-3);background:var(--color-etiqueta,var(--acento));border:var(--borde-ancho) solid var(--texto);border-radius:var(--radio)}.actividad,.gestion{display:grid;grid-gap:var(--e-2);gap:var(--e-2);margin:var(--e-2) 0;padding:0;list-style:none}.fila-gestion{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-2);padding:var(--e-2) 0;border-bottom:var(--borde-ancho) solid var(--borde)}.fila-gestion input{flex:1 1 var(--ancho-lista);min-width:0}.fila-gestion .aviso{flex-basis:100%}.actividad li{padding:var(--e-1) 0;border-bottom:var(--borde-ancho) solid var(--borde)}.actividad time{color:var(--texto-suave);font-size:var(--t-pequeno)}.resumen-gestion{min-height:var(--toque-min);display:flex;align-items:center;cursor:pointer}.avisos{margin:var(--e-3) 0}.aviso-fila,.avisos{display:grid;grid-gap:var(--e-2);gap:var(--e-2)}.aviso-fila{padding:var(--e-3);background:var(--panel);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta)}.aviso-fila p{margin:0}.aviso-fila[data-leido=no]{border:var(--borde-ancho-fuerte) solid var(--borde-fuerte)}@media (min-width:768px){.tablero{grid-template-columns:repeat(auto-fit,minmax(var(--ancho-columna),1fr))}.formulario-linea{grid-template-columns:1fr auto;align-items:end}}.avatar-caja{position:relative;display:inline-flex;flex:none}.avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--e-6);height:var(--e-6);overflow:hidden;border-radius:50%;border:var(--borde-ancho) solid var(--borde-fuerte);background:var(--panel-alto);color:var(--texto);font-size:var(--t-pequeno);font-weight:600;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-grande{width:calc(var(--e-6) * 3);height:calc(var(--e-6) * 3);font-size:var(--t-grande)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-punto{position:absolute;right:calc(var(--e-1) * -.5);bottom:calc(var(--e-1) * -.5);width:var(--e-3);height:var(--e-3);border-radius:50%;box-sizing:border-box;border:var(--borde-ancho-fuerte) solid var(--panel)}.avatar-punto-conectado{background:var(--ok)}.avatar-punto-ausente{background:var(--panel);border-color:var(--borde-fuerte)}.solo-lectores{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.escribiendo{min-height:var(--e-5);margin:0;color:var(--texto-suave);font-size:var(--t-pequeno)}.persona-linea{display:inline-flex;align-items:center;gap:var(--e-2)}.perfil-foto{display:grid;grid-gap:var(--e-3);gap:var(--e-3);padding:var(--e-4);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta);background:var(--panel)}.perfil-foto-acciones{display:flex;flex-wrap:wrap;gap:var(--e-2)}.barra-pausa,.detalle-encargo,.formulario-encargo,.lineas-rojas{display:grid;grid-gap:var(--e-3);gap:var(--e-3);margin-top:var(--e-4);padding:var(--e-4);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta);background:var(--panel)}.lineas-rojas{border-color:var(--error);border-width:var(--borde-ancho-fuerte)}.lista-encargos,.piezas{display:grid;grid-gap:var(--e-2);gap:var(--e-2);margin:var(--e-4) 0 0;padding:0;list-style:none}.fila-encargo,.linea-roja,.pieza{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--e-3);padding:var(--e-3);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta);background:var(--panel-alto)}.linea-roja,.pieza{display:block}.pieza-cabecera{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-2)}.texto-plano{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--t-pequeno);max-width:100%;overflow-x:auto}.estado-encargo{display:inline-block;padding:0 var(--e-2);border:var(--borde-ancho) solid var(--borde-fuerte);border-radius:var(--radio);font-size:var(--t-pequeno)}.estado-encargo-ok{background:var(--ok-fondo);color:var(--ok-texto);border-color:var(--ok)}.estado-encargo-aviso{background:var(--aviso-fondo);color:var(--aviso-texto);border-color:var(--aviso)}.estado-encargo-error{background:var(--error-fondo);color:var(--error-texto);border-color:var(--error)}.decisiones{display:flex;flex-wrap:wrap;gap:var(--e-3)}.conversacion,.propuestas ul{display:grid;grid-gap:var(--e-3);gap:var(--e-3);margin:var(--e-4) 0;padding:0;list-style:none}.propuesta,.turno{display:grid;grid-gap:var(--e-2);gap:var(--e-2);padding:var(--e-3);border:var(--borde-ancho) solid var(--borde);border-radius:var(--radio-tarjeta);background:var(--panel-alto)}.propuesta{border-color:var(--aviso);border-width:var(--borde-ancho-fuerte);background:var(--panel)}.propuestas{display:grid;grid-gap:var(--e-2);gap:var(--e-2)}@media (min-width:768px){.formulario-encargo textarea{max-width:48rem}}.oauth{display:grid;grid-gap:var(--e-2);gap:var(--e-2);margin-top:var(--e-4)}.oauth-boton{width:100%;min-height:var(--toque-min)}.qr-panel{margin-top:var(--e-5)}.qr-panel,.qr-vista{display:grid;grid-gap:var(--e-3);gap:var(--e-3)}.qr-vista{justify-items:start}.qr-nombre{overflow-wrap:anywhere;font-weight:700}.qr{width:min(100%,280px);height:auto;border:var(--borde-ancho-fuerte) solid var(--borde-fuerte)}.qr-fondo{fill:var(--qr-fondo)}.qr-modulo{fill:var(--qr-modulo)}