@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);body{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}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#128c7e;--primary-dark:#0a7264;--primary-light:#e7f7f5;--accent:#d9fdd3;--bg:#f0f2f5;--surface:#fff;--chat-bg:#eae6df;--border:#e9edef;--text:#111b21;--text-2:#3b4a54;--muted:#8696a0;--danger:#e53935;--success-bg:#ecfdf5;--success-border:#86efac;--error-bg:#fff1f2;--error-border:#fecdd3;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px #0b141a1a,0 1px 4px #0b141a0f;--shadow-md:0 4px 16px #0b141a1f;--shadow-lg:0 8px 36px #0b141a2e;--transition:0.15s ease;--sidebar-w:340px;--header-h:60px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f2f5;background:var(--bg);color:#111b21;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e9edef;background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#8696a0;background:var(--muted)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#8696a0;color:var(--muted);font-size:.73rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.label-optional{font-weight:400;letter-spacing:0;text-transform:none}.form-group input,.modal input{background:#fff;background:var(--surface);border:1.5px solid #e9edef;border:1.5px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#111b21;color:var(--text);font-family:inherit;font-size:.92rem;outline:none;padding:11px 14px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-group input:focus,.modal input:focus{border-color:#128c7e;border-color:var(--primary);box-shadow:0 0 0 3px #128c7e24}.form-group input::placeholder,.modal input::placeholder{color:#8696a0;color:var(--muted)}.code-input{font-size:1.6rem!important;font-weight:700;letter-spacing:.28em;text-align:center}.btn-primary{align-items:center;background:#128c7e;background:var(--primary);border:none;border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #128c7e47;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;letter-spacing:.01em;padding:12px 20px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.btn-primary:hover:not(:disabled){background:#0a7264;background:var(--primary-dark);box-shadow:0 4px 16px #128c7e52;transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:0 1px 4px #128c7e33;transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.52;transform:none}.btn-secondary{background:#0000;border:1.5px solid #e9edef;border:1.5px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#3b4a54;color:var(--text-2);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;padding:11px 18px;transition:background .15s ease,border-color .15s ease;transition:background var(--transition),border-color var(--transition)}.btn-secondary:hover{background:#f0f2f5;background:var(--bg);border-color:#8696a0;border-color:var(--muted)}.btn-link{background:none;border:none;color:#128c7e;color:var(--primary);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:4px 0;text-align:center;transition:opacity .15s ease;transition:opacity var(--transition)}.btn-link:hover{opacity:.7}.alert{border:1.5px solid;border-radius:8px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;line-height:1.4;padding:10px 14px}.alert-error{background:#fff1f2;background:var(--error-bg);border-color:#fecdd3;border-color:var(--error-border);color:#c0392b}.alert-success{background:#ecfdf5;background:var(--success-bg);border-color:#86efac;border-color:var(--success-border);color:#15803d}.btn-loading{align-items:center;display:inline-flex;gap:5px}.btn-loading span{animation:blink 1.2s infinite;background:#ffffffd9;border-radius:50%;height:5px;width:5px}.btn-loading span:nth-child(2){animation-delay:.2s}.btn-loading span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.auth-container{align-items:center;background:linear-gradient(155deg,#128c7e,#0a5e54 60%,#084d46);display:flex;flex-direction:column;gap:32px;justify-content:center;min-height:100vh;padding:24px 16px}.auth-brand{color:#fff;text-align:center;-webkit-user-select:none;user-select:none}.auth-brand-icon{align-items:center;background:#ffffff29;border:2px solid #ffffff42;border-radius:22px;box-shadow:0 4px 24px #0000002e;display:flex;font-size:2.1rem;font-weight:800;height:66px;justify-content:center;letter-spacing:-.03em;margin:0 auto 16px;width:66px}.auth-brand h1{font-size:2.2rem;font-weight:800;letter-spacing:-.04em}.auth-brand p{font-size:.88rem;font-weight:400;margin-top:6px;opacity:.72}.auth-box{background:#fff;background:var(--surface);border-radius:20px;box-shadow:0 8px 36px #0b141a2e;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:18px;max-width:400px;padding:32px 28px;width:100%}.auth-tabs{background:#f0f2f5;background:var(--bg);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:4px;padding:4px}.auth-tabs button{background:#0000;border:none;border-radius:6px;color:#8696a0;color:var(--muted);cursor:pointer;flex:1 1;font-family:inherit;font-size:.85rem;font-weight:500;padding:9px;transition:background .15s ease,color .15s ease,box-shadow .15s ease;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.auth-tabs button.active{background:#fff;background:var(--surface);box-shadow:0 1px 2px #0b141a1a,0 1px 4px #0b141a0f;box-shadow:var(--shadow-sm);color:#128c7e;color:var(--primary);font-weight:700}.verify-header{padding-bottom:4px;text-align:center}.verify-icon{display:block;font-size:2.5rem;margin-bottom:12px}.verify-header h3{color:#111b21;color:var(--text);font-size:1.2rem;font-weight:700;margin-bottom:8px}.verify-header p{color:#8696a0;color:var(--muted);font-size:.87rem;line-height:1.5}.chat-container{background:#f0f2f5;background:var(--bg);height:100vh}.chat-container,.sidebar{display:flex;overflow:hidden}.sidebar{background:#fff;background:var(--surface);border-right:1px solid #e9edef;border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;max-width:420px;min-width:280px;width:340px;width:var(--sidebar-w)}.sidebar-header{background:#128c7e;background:var(--primary);color:#fff;flex-shrink:0;height:60px;height:var(--header-h);justify-content:space-between;padding:0 14px}.sidebar-brand,.sidebar-header{align-items:center;display:flex}.sidebar-brand{font-size:1.1rem;font-weight:700;gap:10px;letter-spacing:-.015em}.sidebar-logo{align-items:center;background:#fff3;border:1.5px solid #ffffff47;border-radius:10px;display:flex;flex-shrink:0;font-size:1rem;font-weight:800;height:34px;justify-content:center;letter-spacing:-.02em;width:34px}.sidebar-actions{display:flex;gap:4px}.icon-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#ffffffe6;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background .15s ease;transition:background var(--transition);width:36px}.icon-btn.active,.icon-btn:hover{background:#fff3}.profile-panel{align-items:center;animation:profileSlide .22s cubic-bezier(.4,0,.2,1);background:#e7f7f5;background:var(--primary-light);border-bottom:1px solid #c8ede9;display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:20px 16px}@keyframes profileSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-avatar{align-items:center;background:#128c7e;background:var(--primary);border:3px solid #fffc;border-radius:50%;box-shadow:0 2px 14px #128c7e47;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;width:60px}.profile-nombre{color:#111b21;color:var(--text);font-size:.95rem;font-weight:700;letter-spacing:-.01em}.profile-id-label{color:#8696a0;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.profile-id-row{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #e9edef;border:1.5px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:8px;padding:7px 10px;width:100%}.profile-id{color:#0a7264;color:var(--primary-dark);flex:1 1;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn{background:#128c7e;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:4px 10px;transition:background .15s ease;transition:background var(--transition);white-space:nowrap}.copy-btn:hover{background:#0a7264;background:var(--primary-dark)}.ws-badge{align-items:center;border:1px solid #e9edef;border:1px solid var(--border);border-radius:20px;display:flex;font-size:.72rem;font-weight:600;gap:6px;letter-spacing:.01em;padding:5px 12px}.ws-badge.conectado{background:#f0fdf4;border-color:#86efac;color:#15803d}.ws-badge.conectando{background:#fffbeb;border-color:#fde68a;color:#92400e}.ws-badge.desconectado{background:#fff1f2;background:var(--error-bg);border-color:#fecdd3;border-color:var(--error-border);color:#e53935;color:var(--danger)}.ws-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:7px;width:7px}.ws-badge.conectando .ws-dot{animation:pulse 1.4s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.82)}}.btn-logout{background:none;border:1.5px solid #e9edef;border:1.5px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#8696a0;color:var(--muted);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;padding:7px 14px;transition:border-color .15s ease,color .15s ease,background .15s ease;transition:border-color var(--transition),color var(--transition),background var(--transition);width:100%}.btn-logout:hover{background:#fff1f2;background:var(--error-bg);border-color:#e53935;border-color:var(--danger);color:#e53935;color:var(--danger)}.conversation-list{flex:1 1;overflow-y:auto}.empty-list{align-items:center;color:#8696a0;color:var(--muted);display:flex;flex-direction:column;font-size:.88rem;gap:8px;padding:56px 24px;text-align:center}.empty-list-icon{font-size:2.8rem;margin-bottom:4px;opacity:.45}.empty-list p{line-height:1.4}.empty-list-hint{font-size:.8rem;opacity:.65}.conversation-item{align-items:center;border-bottom:1px solid #e9edef;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:12px;min-width:0;padding:12px 16px;position:relative;transition:background .15s ease;transition:background var(--transition)}.conversation-item:hover{background:#f6f8fa}.conversation-item.active{background:#edf9f7}.conversation-item.active:before{background:#128c7e;background:var(--primary);border-radius:0 2px 2px 0;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.conv-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.05rem;font-weight:700;height:46px;justify-content:center;letter-spacing:-.01em;min-width:46px;width:46px}.conversation-item:nth-child(6n+1) .conv-avatar{background:#128c7e}.conversation-item:nth-child(6n+2) .conv-avatar{background:#7c6af7}.conversation-item:nth-child(6n+3) .conv-avatar{background:#e17055}.conversation-item:nth-child(6n+4) .conv-avatar{background:#0984e3}.conversation-item:nth-child(6n+5) .conv-avatar{background:#d63384}.conversation-item:nth-child(6n+0) .conv-avatar{background:#00b894}.conv-info{flex:1 1;min-width:0}.conv-top{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:3px}.conv-name{color:#111b21;color:var(--text);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-time{flex-shrink:0;font-size:.69rem;font-weight:500}.conv-preview,.conv-time{color:#8696a0;color:var(--muted);white-space:nowrap}.conv-preview{font-size:.81rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.main{background:#eae6df;background:var(--chat-bg);min-width:0}.empty-state,.main{display:flex;flex:1 1;flex-direction:column}.empty-state{align-items:center;color:#8696a0;color:var(--muted);gap:14px;justify-content:center;padding:40px;text-align:center}.empty-icon{font-size:3.5rem;opacity:.4}.empty-state h3{color:#3b4a54;color:var(--text-2);font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.empty-state p{font-size:.88rem;line-height:1.55;max-width:280px}.empty-state .btn-primary{margin-top:8px;padding:12px 24px}.message-panel{display:flex;flex-direction:column;height:100%;min-height:0}.msg-header{background:#fff;background:var(--surface);border-bottom:1px solid #e9edef;border-bottom:1px solid var(--border);box-shadow:0 1px 4px #0b141a14;display:flex;gap:12px;height:60px;height:var(--header-h);padding:0 18px}.back-btn,.msg-header{align-items:center;flex-shrink:0}.back-btn{background:#0000;border:none;border-radius:50%;color:#128c7e;color:var(--primary);cursor:pointer;display:none;height:36px;justify-content:center;transition:background .15s ease;transition:background var(--transition);width:36px}.back-btn:hover{background:#e7f7f5;background:var(--primary-light)}.msg-header-avatar{align-items:center;background:#128c7e;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:40px;justify-content:center;min-width:40px;width:40px}.msg-header-name{color:#111b21;color:var(--text);font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:16px 5%}.messages-empty{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px}.messages-empty p{background:#ffffffb8;border-radius:20px;box-shadow:0 1px 3px #0b141a1a;color:#3b4a54;color:var(--text-2);font-size:.85rem;padding:10px 20px}.message{word-wrap:break-word;animation:msgIn .14s ease;border-radius:10px;box-shadow:0 1px 1px #0b141a1a;font-size:.9rem;line-height:1.5;max-width:68%;padding:8px 12px 5px;position:relative}@keyframes msgIn{0%{opacity:0;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.message.sent{align-self:flex-end;background:#d9fdd3;background:var(--accent);border-bottom-right-radius:3px;margin-left:32%}.message.received{align-self:flex-start;background:#fff;background:var(--surface);border-bottom-left-radius:3px;margin-right:32%}.message.sent:after{border-left:8px solid #d9fdd3;border-left:8px solid var(--accent);right:-7px}.message.received:after,.message.sent:after{border-bottom:8px solid #0000;bottom:0;content:"";height:0;position:absolute;width:0}.message.received:after{border-right:8px solid #fff;border-right:8px solid var(--surface);left:-7px}.message p{margin-bottom:2px}.msg-time{color:#8696a0;color:var(--muted);display:block;font-size:.64rem;margin-top:2px;text-align:right;-webkit-user-select:none;user-select:none}.input-area{align-items:center;background:#fff;background:var(--surface);border-top:1px solid #e9edef;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;padding:12px 16px}.input-area input{background:#f0f2f5;background:var(--bg);border:1.5px solid #e9edef;border:1.5px solid var(--border);border-radius:24px;color:#111b21;color:var(--text);flex:1 1;font-family:inherit;font-size:.92rem;outline:none;padding:11px 18px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.input-area input:focus{background:#fff;background:var(--surface);border-color:#128c7e;border-color:var(--primary);box-shadow:0 0 0 3px #128c7e1f}.input-area input::placeholder{color:#8696a0;color:var(--muted);font-size:.88rem}.input-area input:disabled{background:#e9edef;background:var(--border);cursor:not-allowed;opacity:.55}.send-btn{align-items:center;background:#128c7e;background:var(--primary);border:none;border-radius:50%;box-shadow:0 2px 8px #128c7e4d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;min-width:44px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);width:44px}.send-btn:hover:not(:disabled){background:#0a7264;background:var(--primary-dark);box-shadow:0 4px 14px #128c7e5c;transform:scale(1.06)}.send-btn:active:not(:disabled){transform:scale(.96)}.send-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.42;transform:none}.send-btn.sending{background:#8696a0;background:var(--muted);box-shadow:none}.modal-overlay{align-items:center;animation:overlayIn .15s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#0b141a8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:200}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalSlide .22s cubic-bezier(.34,1.42,.64,1);background:#fff;background:var(--surface);border-radius:18px;box-shadow:0 8px 36px #0b141a2e;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px;max-width:420px;padding:24px;width:100%}@keyframes modalSlide{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between}.modal-header h3{color:#111b21;color:var(--text);font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#8696a0;color:var(--muted);cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;line-height:1;transition:background .15s ease,color .15s ease;transition:background var(--transition),color var(--transition);width:32px}.modal-close:hover{background:#f0f2f5;background:var(--bg);color:#111b21;color:var(--text)}.modal-desc{color:#8696a0;color:var(--muted);font-size:.85rem;line-height:1.5;margin-top:-6px}.modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}@media (max-width:1024px) and (min-width:769px){:root{--sidebar-w:290px}}@media (max-width:768px){.chat-container{overflow:hidden;position:relative}.sidebar{border-right:none;max-width:100%;min-width:100%;width:100%;z-index:1}.main,.sidebar{inset:0;position:absolute}.main{display:none;z-index:2}.chat-container:has(.message-panel) .sidebar{display:none}.chat-container:has(.message-panel) .main{display:flex}.back-btn{display:flex}.message{max-width:84%}.message.sent{margin-left:16%}.message.received{margin-right:16%}.messages{padding:12px}.auth-box{border-radius:16px;padding:24px 18px}.modal{border-radius:14px}}@media (max-width:480px){.auth-brand h1{font-size:1.9rem}.message{max-width:90%}.message.sent{margin-left:10%}.message.received{margin-right:10%}}
/*# sourceMappingURL=main.ed02fece.css.map*/