:root{--navy: #2b2b7a;--purpura: #3d3b8e;--azul: #0099cc;--fondo: #f4f5f9;--tarjeta: #ffffff;--texto: #1a1a2e;--suave: #5c5c75;--borde: #e2e3ec;--urgente: #c62828;--aviso: #e08900;--info: var(--azul);--ok: #1f8a4c;--barra: 92px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#raiz{height:100%}body{margin:0;background:var(--fondo);color:var(--texto);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;overscroll-behavior-y:contain}button{font:inherit;cursor:pointer}.app{display:flex;flex-direction:column;min-height:100%}.cabecera{background:var(--navy);color:#fff;padding:14px 16px calc(14px + env(safe-area-inset-top)) 16px;padding-top:calc(14px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:5}.cabecera h1{margin:0;font-size:17px;font-weight:600;letter-spacing:.01em}.cabecera .quien{font-size:12px;opacity:.8;margin-top:2px}.salir{background:#ffffff24;color:#fff;border:0;border-radius:8px;padding:8px 12px;font-size:13px}.pestanas{display:flex;gap:4px;padding:10px 12px 0;background:var(--navy);position:sticky;top:0;z-index:4}.pestanas button{flex:1;min-width:0;background:#ffffff1a;color:#ffffffbf;border:0;border-radius:10px 10px 0 0;padding:11px 4px;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 420px){.pestanas button{padding:11px 8px;font-size:14px}}.pestanas button[aria-selected=true]{background:var(--fondo);color:var(--navy);font-weight:600}.pestanas .conteo{display:inline-block;min-width:20px;margin-left:6px;padding:0 5px;border-radius:10px;background:var(--azul);color:#fff;font-size:12px;font-weight:700}.cuerpo{flex:1;padding:14px 12px calc(20px + env(safe-area-inset-bottom)) 12px}.cuerpo.con-barra{padding-bottom:calc(var(--barra) + env(safe-area-inset-bottom))}.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:14px;padding:14px;margin-bottom:10px}.tarjeta.pulsable{width:100%;text-align:left;display:block}.tarjeta.pulsable:active{transform:scale(.994)}.tipo{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--purpura);background:#efeffb;border-radius:6px;padding:3px 7px}.titulo{margin:8px 0 4px;font-size:16px;font-weight:600}.resumen{margin:0;color:var(--suave);font-size:14px}.pie{margin-top:10px;font-size:12px;color:var(--suave);display:flex;gap:10px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.kpi{background:var(--tarjeta);border:1px solid var(--borde);border-radius:14px;padding:12px 14px}.kpi .n{font-size:22px;font-weight:700;color:var(--navy)}.kpi .n.alerta{color:var(--urgente)}.kpi .r{font-size:12px;color:var(--suave);margin-top:2px}.kpi.ancho{grid-column:1 / -1}.alerta{border-left:4px solid var(--info)}.alerta.aviso{border-left-color:var(--aviso)}.alerta.urgente{border-left-color:var(--urgente)}.sev{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--info)}.alerta.aviso .sev{color:var(--aviso)}.alerta.urgente .sev{color:var(--urgente)}.volver{background:none;border:0;color:var(--navy);font-size:15px;font-weight:600;padding:6px 0 12px}.campo{margin-bottom:12px}.campo .etiqueta{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);margin-bottom:3px}.campo .valor{font-size:15px;overflow-wrap:anywhere}.borrador{white-space:pre-wrap;overflow-wrap:anywhere;background:#fafbfe;border:1px solid var(--borde);border-radius:10px;padding:12px;font-size:15px}.barra{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;padding:12px 12px calc(12px + env(safe-area-inset-bottom)) 12px;background:#f4f5f9f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--borde);z-index:6}.barra button{flex:1;min-height:56px;border:0;border-radius:14px;font-size:16px;font-weight:700}.barra button:disabled{opacity:.5}.aprobar{background:var(--ok);color:#fff}.devolver{background:#fff;color:var(--navy);border:2px solid var(--navy)!important}.entrada,textarea.entrada{width:100%;padding:13px 14px;border:1px solid var(--borde);border-radius:12px;background:#fff;font:inherit;color:var(--texto)}.entrada:focus{outline:2px solid var(--azul);outline-offset:1px}textarea.entrada{min-height:96px;resize:vertical}.login{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:24px;background:linear-gradient(160deg,var(--navy),var(--purpura))}.login .caja{background:#fff;border-radius:18px;padding:26px 22px;max-width:420px;width:100%;margin:0 auto}.login h1{margin:0 0 4px;font-size:21px;color:var(--navy)}.login p.sub{margin:0 0 20px;color:var(--suave);font-size:14px}.login label{display:block;font-size:13px;font-weight:600;margin:0 0 5px;color:var(--suave)}.login .campo{margin-bottom:14px}.login button[type=submit]{width:100%;min-height:52px;border:0;border-radius:12px;background:var(--navy);color:#fff;font-size:16px;font-weight:700;margin-top:4px}.login button[type=submit]:disabled{opacity:.6}.error{background:#fdecec;border:1px solid #f5c2c2;color:#8e1f1f;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:12px;overflow-wrap:anywhere}.aviso-caja{background:#fff8e6;border:1px solid #f0dca8;color:#6b4e00;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:12px}.vacio{text-align:center;color:var(--suave);padding:44px 20px}.vacio .icono{font-size:34px}.cargando{text-align:center;color:var(--suave);padding:34px}.recargar{width:100%;min-height:46px;background:#fff;border:1px solid var(--borde);border-radius:12px;color:var(--navy);font-weight:600;margin-top:4px}@media (min-width: 640px){.cuerpo,.pestanas{max-width:680px;margin:0 auto;width:100%}.barra{max-width:680px;margin:0 auto}.kpis{grid-template-columns:repeat(3,1fr)}}.fila-estado{display:flex;align-items:center;gap:7px}.punto{width:9px;height:9px;border-radius:50%;background:var(--suave);flex:none}.punto.e-trabajando{background:var(--ok);animation:latido 1.6s ease-in-out infinite}.punto.e-esperando_aprobacion{background:var(--aviso)}.punto.e-bloqueado,.punto.e-error{background:var(--urgente)}.punto.e-en_pausa{background:var(--suave)}.punto.e-terminado{background:var(--azul)}.corrida .sev{color:var(--suave)}.corrida.e-trabajando{border-left:4px solid var(--ok)}.corrida.e-esperando_aprobacion{border-left:4px solid var(--aviso)}.corrida.e-bloqueado,.corrida.e-error{border-left:4px solid var(--urgente)}@keyframes latido{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.punto.e-trabajando{animation:none}}.zona{background-color:var(--tarjeta);background-image:repeating-linear-gradient(26.57deg,rgba(43,43,122,.05) 0 1px,transparent 1px 24px),repeating-linear-gradient(-26.57deg,rgba(43,43,122,.05) 0 1px,transparent 1px 24px);border:1px solid var(--borde);border-radius:16px;padding:12px 12px 14px;margin-bottom:12px}.zona-nombre{margin:0 0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--purpura)}.puestos{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.puesto{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px 10px;border:1px solid var(--borde);border-radius:12px;background:#fbfcfe;text-align:center;min-height:112px;overflow:hidden}.puesto:active{transform:scale(.985)}.puesto.e-vacio{border-style:dashed;border-color:#cfe2ee;background:transparent}.puesto.e-vacio .puesto-nombre{color:var(--suave)}.puesto.e-vacio .puesto-estado{color:var(--azul)}.escritorio{width:100px;height:60px;display:block;margin-bottom:2px;overflow:visible}.escritorio .baldosa{fill:#eef0f7;stroke:#d9dbe8;stroke-width:1}.escritorio .aro{fill:none;stroke:transparent;stroke-width:2.5;stroke-linejoin:round}.escritorio .persona{fill:var(--navy)}.escritorio .persona path{fill:var(--purpura)}.escritorio .mueble polygon{stroke:var(--navy);stroke-width:1;stroke-linejoin:round}.escritorio .tapa{fill:#fff}.escritorio .cara-izq{fill:#cfd0e6}.escritorio .cara-der{fill:#b4b5d8}.escritorio .marco{fill:var(--navy);stroke:var(--navy);stroke-width:1;stroke-linejoin:round}.escritorio .pie-monitor{stroke:var(--navy);stroke-width:1.5}.escritorio .pantalla{fill:#c9cad8}.escritorio .burbuja path{fill:#fff;stroke:var(--navy);stroke-width:1;stroke-linejoin:round}.escritorio .burbuja circle{fill:var(--navy)}.escritorio.e-trabajando .pantalla{fill:var(--ok)}.escritorio.e-trabajando .aro{stroke:var(--ok);animation:latido 1.6s ease-in-out infinite}.escritorio.e-esperando_aprobacion .pantalla{fill:var(--aviso)}.escritorio.e-esperando_aprobacion .aro{stroke:var(--aviso)}.escritorio.e-bloqueado .pantalla,.escritorio.e-error .pantalla{fill:var(--urgente)}.escritorio.e-bloqueado .aro,.escritorio.e-error .aro{stroke:var(--urgente)}.escritorio.e-terminado .pantalla{fill:var(--azul)}.escritorio.e-terminado .aro{stroke:var(--azul);stroke-width:1.5}.escritorio.e-en_pausa .persona,.escritorio.e-en_pausa .persona path{fill:#9a9bb8}.escritorio.e-vacio .baldosa{fill:#f7f8fc;stroke:#b9d9ea;stroke-dasharray:3 2.5}.escritorio.e-vacio .mueble polygon{fill:transparent;stroke:var(--azul);stroke-width:1;stroke-dasharray:3 2.5;opacity:.7}@media (prefers-reduced-motion: reduce){.escritorio.e-trabajando .aro{animation:none}}.glifo{width:12px;height:12px;flex:none;fill:currentColor;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.puesto-nombre{font-size:12px;font-weight:600;line-height:1.25}.puesto-estado{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--suave)}.puesto.e-terminado .puesto-estado{color:var(--azul);font-weight:600}.puesto.e-trabajando .puesto-estado{color:var(--ok);font-weight:600}.puesto.e-esperando_aprobacion .puesto-estado{color:var(--aviso);font-weight:600}.puesto.e-bloqueado .puesto-estado,.puesto.e-error .puesto-estado{color:var(--urgente);font-weight:600}.globo{position:relative;width:100%;margin-top:7px;font-size:10.5px;line-height:1.3;color:var(--texto);background:#eef6fb;border:1px solid #d6e9f5;border-radius:8px;padding:4px 6px;text-align:left}.globo:before{content:"";position:absolute;top:-5px;left:14px;width:8px;height:8px;background:#eef6fb;border-left:1px solid #d6e9f5;border-top:1px solid #d6e9f5;transform:rotate(45deg)}.globo-texto{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.velo{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a2e6b;display:flex;align-items:flex-end;justify-content:center;z-index:20}.hoja{background:var(--tarjeta);width:100%;max-width:680px;max-height:86vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom))}.hoja-asa{width:38px;height:4px;background:var(--borde);border-radius:2px;margin:2px auto 12px}.historial{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--borde);font-size:13px}.historial:last-child{border-bottom:0}.historial-tarea{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historial-fecha{color:var(--suave);font-size:11.5px;flex:none}@media (min-width: 640px){.puestos{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}.velo{align-items:center}.hoja{border-radius:18px;max-height:80vh}}
