body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-bg{align-items:center;background:linear-gradient(135deg,#0a0e1a,#1a2744 55%,#0d3060);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-bg:after,.login-bg:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.login-bg:before{background:radial-gradient(circle,#25d3661f 0,#0000 70%);height:700px;right:-200px;top:-250px;width:700px}.login-bg:after{background:radial-gradient(circle,#1565c026 0,#0000 70%);bottom:-200px;height:500px;left:-150px;width:500px}.login-card{background:#fffffff7;border-radius:24px;box-shadow:0 30px 80px #00000080,0 0 0 1px #ffffff0f;margin:16px;max-width:420px;padding:48px 40px 36px;position:relative;width:100%;z-index:1}.login-header{margin-bottom:36px;text-align:center}.login-logo-img{filter:drop-shadow(0 6px 16px rgba(21,101,192,.35));height:88px;margin-bottom:14px;object-fit:contain;width:88px}.login-brand{color:#1a2744;font-size:30px;font-weight:800;letter-spacing:-.5px;margin:0 0 8px}.login-subtitle{align-items:center;background:#f4f6f9;border-radius:20px;color:#777;display:inline-flex;font-size:14px;gap:7px;padding:5px 14px}.login-wa-icon{filter:invert(66%) sepia(60%) saturate(600%) hue-rotate(95deg) brightness(95%) contrast(92%);height:16px;object-fit:contain;width:16px}.login-form{gap:20px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:7px}.login-field label{color:#444;font-size:13px;font-weight:600;letter-spacing:.2px}.login-field input{background:#f9fafb;border:2px solid #eaecf0;border-radius:12px;box-sizing:border-box;color:#222;font-size:15px;outline:none;padding:13px 16px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.login-field input:focus{background:#fff;border-color:#25d366;box-shadow:0 0 0 3px #25d3661f}.login-pass-wrap{position:relative}.login-pass-wrap input{padding-right:48px}.login-eye{align-items:center;background:none;border:none;color:#aaa;cursor:pointer;display:flex;padding:0;position:absolute;right:13px;top:50%;transform:translateY(-50%);transition:color .2s}.login-eye svg{height:20px;width:20px}.login-eye:hover{color:#555}.login-error{background:#fdecea;border:1.5px solid #ffcdd2;border-radius:10px;color:#c62828;font-size:13px;font-weight:500;padding:10px 14px;text-align:center}.login-btn{align-items:center;background:linear-gradient(135deg,#25d366,#1db954);border:none;border-radius:12px;box-shadow:0 4px 18px #25d36673;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:center;letter-spacing:.3px;margin-top:4px;min-height:52px;padding:15px;transition:transform .15s,box-shadow .15s}.login-btn:hover:not(:disabled){box-shadow:0 8px 24px #25d36680;transform:translateY(-2px)}.login-btn:active:not(:disabled){box-shadow:0 3px 12px #25d36666;transform:translateY(0)}.login-btn:disabled{background:#a5d6b7;box-shadow:none;cursor:not-allowed}.login-spinner{animation:spin .7s linear infinite;border:3px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;height:22px;width:22px}@keyframes spin{to{transform:rotate(1turn)}}.login-footer{color:#bbb;font-size:12px;margin-bottom:0;margin-top:28px;text-align:center}@media (max-width:480px){.login-bg{align-items:flex-start;padding-top:40px}.login-card{border-radius:18px;padding:36px 24px 28px}.login-logo-img{height:72px;width:72px}.login-brand{font-size:26px}}*{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0}body{background:#f0f2f5}.app,body{overflow:hidden}.app{display:flex;height:100vh;height:100dvh}.sidebar{background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;min-width:320px;width:320px}.sidebar-header{background:linear-gradient(135deg,#1a2744,#0d3060);color:#fff;padding:14px 16px;position:relative}.sidebar-brand{align-items:center;display:flex;gap:12px}.sidebar-logo{filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));flex-shrink:0;height:46px;object-fit:contain;width:46px}.sidebar-header h1{font-size:20px;font-weight:700;letter-spacing:-.3px}.subtitle{font-size:12px;margin-top:2px;opacity:.7}.header-acciones{align-items:center;display:flex;gap:6px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.btn-logout,.btn-notif{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;transition:background .2s;width:34px}.btn-logout:hover,.btn-notif:hover{background:#ffffff47}.notif-activa{font-size:18px;opacity:.9}.banner-alerta{animation:pulso-banner 1.5s ease-in-out infinite;background:#e53935;color:#fff;cursor:default;font-size:13px;font-weight:700;padding:10px 12px;text-align:center}@keyframes pulso-banner{0%,to{background:#e53935}50%{background:#b71c1c}}.filtros{background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;gap:6px;padding:10px 12px}.filtros button{background:#fff;border:1.5px solid #e0e0e0;border-radius:20px;color:#555;cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:6px 4px;transition:all .2s}.filtros button.activo{background:#25d366;border-color:#25d366;box-shadow:0 2px 8px #25d36659;color:#fff;font-weight:700}.lista{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto}.vacio-lista{color:#aaa;font-size:14px;padding:40px 20px;text-align:center}.item{-webkit-tap-highlight-color:transparent;border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:background .15s}.item:hover{background:#f5f5f5}.item:active{background:#ebebeb}.item.seleccionado{background:#e8f5e9;border-left:3px solid #25d366}.item.pendiente{animation:pulso-item 2s ease-in-out infinite;background:#fff8f8;border-left:4px solid #e53935}.item.pendiente.seleccionado{animation:none;background:#fdecea;border-left:4px solid #e53935}@keyframes pulso-item{0%,to{background:#fff8f8}50%{background:#fdecea}}.item-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.telefono{color:#222;font-size:14px;font-weight:600}.badge{background:#e53935;border-radius:10px;box-shadow:0 1px 4px #e5393566;color:#fff;font-size:10px;font-weight:700;letter-spacing:.3px;padding:3px 8px}.preview{align-items:center;display:flex;justify-content:space-between}.preview-texto{color:#777;flex:1 1;font-size:13px}.preview-hora{color:#aaa;font-size:11px;margin-left:8px}.main{min-width:0;overflow:hidden}.main,.vacio-main{display:flex;flex:1 1;flex-direction:column}.vacio-main{align-items:center;background:#f0f2f5;color:#aaa;gap:4px;justify-content:center}.vacio-wa-img{height:80px;margin-bottom:12px;object-fit:contain;opacity:.25;width:80px}.vacio-main p{color:#999;font-size:16px;margin-bottom:8px}.alerta{color:#e53935!important;font-weight:600}.chat-header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 4px #0000000f;justify-content:space-between;padding:12px 16px}.chat-header,.chat-header-izq{align-items:center;display:flex;gap:10px}.chat-header-izq{min-width:0}.btn-volver{background:none;border:none;color:#25d366;cursor:pointer;display:none;flex-shrink:0;font-size:30px;line-height:1;padding:0 4px}.chat-header h2{color:#222;font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estado{display:block;font-size:12px;margin-top:2px}.modo-agente{color:#e53935;font-weight:600}.modo-bot{color:#25d366;font-weight:600}.btn-cerrar{background:linear-gradient(135deg,#25d366,#1db954);border:none;border-radius:10px;box-shadow:0 2px 10px #25d36666;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:9px 16px;transition:transform .15s,box-shadow .15s;white-space:nowrap}.btn-cerrar:hover{box-shadow:0 4px 14px #25d36680;transform:translateY(-1px)}.btn-tomar{background:linear-gradient(135deg,#1565c0,#0d47a1);border:none;border-radius:10px;box-shadow:0 2px 10px #1565c066;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:9px 16px;transition:transform .15s,box-shadow .15s;white-space:nowrap}.btn-tomar:hover{box-shadow:0 4px 14px #1565c080;transform:translateY(-1px)}.chat{-webkit-overflow-scrolling:touch;background:#e5ddd5;display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-y:auto;padding:16px}.sin-mensajes{color:#aaa;font-size:14px;margin:auto;text-align:center}.burbuja{border-radius:12px;max-width:75%;padding:8px 12px}.burbuja.usuario{align-self:flex-start;background:#fff;border-bottom-left-radius:2px;box-shadow:0 1px 2px #00000014}.burbuja.bot{background:#dcf8c6}.burbuja.agente,.burbuja.bot{align-self:flex-end;border-bottom-right-radius:2px;box-shadow:0 1px 2px #00000014}.burbuja.agente{background:#cce5ff;border:1px solid #99caff}.burbuja-texto{color:#222;font-size:14px;white-space:pre-wrap;word-break:break-word}.burbuja-hora{color:#999;font-size:11px;margin-top:4px;text-align:right}.input-area{align-items:flex-end;background:#fff;border-top:1px solid #e0e0e0;display:flex;gap:8px;padding:10px 12px}.input-area textarea{border:1.5px solid #ddd;border-radius:10px;color:#222;flex:1 1;font-family:inherit;font-size:14px;max-height:100px;outline:none;padding:10px 12px;resize:none;transition:border .2s}.input-area textarea:focus{border-color:#25d366}.input-area textarea:disabled{background:#f5f5f5;color:#aaa;cursor:not-allowed}.btn-enviar{background:linear-gradient(135deg,#25d366,#1db954);border:none;border-radius:10px;box-shadow:0 2px 8px #25d36659;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:700;height:fit-content;padding:10px 16px;transition:transform .15s,box-shadow .15s;white-space:nowrap}.btn-enviar:hover:not(:disabled){box-shadow:0 4px 12px #25d36673;transform:translateY(-1px)}.btn-enviar:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}@media (max-width:768px){.sidebar{border-right:none;min-width:100%;width:100%}.main-oculto,.sidebar-oculto{display:none}.btn-volver{display:block}.burbuja{max-width:85%}.chat-header h2{font-size:15px}.btn-cerrar,.btn-tomar{font-size:12px;padding:7px 10px}.filtros button{font-size:11px;padding:5px 2px}.chat{padding:12px 10px}.input-area{padding:8px 10px}.sidebar-logo{height:38px;width:38px}}