.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#5b5ff5,#7c7ff7);position:relative;overflow:hidden;padding:40px}.login-container:before{content:"TU APP DE";position:absolute;top:80px;left:60px;font-size:56px;font-weight:900;color:#fffffff2;line-height:1;letter-spacing:-1px;z-index:0;animation:fadeInLeft .8s ease-out}.login-container:after{content:"MENSAJERIA";position:absolute;top:145px;left:60px;font-size:56px;font-weight:900;color:#fffffff2;line-height:1;letter-spacing:-1px;z-index:0;animation:fadeInLeft .8s ease-out .2s backwards}.phone-mockup{position:absolute;top:240px;left:60px;z-index:0;animation:fadeInUp .8s ease-out .4s backwards}.phone-frame{width:200px;height:400px;background:#1a1a1a;border-radius:28px;padding:8px;box-shadow:0 20px 40px #0006;position:relative}.phone-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:100px;height:20px;background:#1a1a1a;border-radius:0 0 14px 14px;z-index:2}.phone-screen{width:100%;height:100%;background:#f8fafc;border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.mockup-header{background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:28px 14px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 6px #0000001a}.mockup-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff4d;border:2px solid white;display:flex;align-items:center;justify-content:center}.mockup-avatar svg{width:16px;height:16px;color:#fff}.mockup-info{flex:1}.mockup-name{color:#fff;font-weight:600;font-size:12px;margin-bottom:1px}.mockup-status{color:#fffc;font-size:9px}.mockup-messages{flex:1;padding:14px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.mockup-message{display:flex;animation:slideIn .3s ease}.mockup-message.received{justify-content:flex-start}.mockup-message.sent{justify-content:flex-end}.message-bubble{max-width:70%;padding:7px 10px;border-radius:12px;font-size:10px;line-height:1.3}.mockup-message.received .message-bubble{background:#fff;color:#1a202c;border-bottom-left-radius:3px;box-shadow:0 1px 2px #0000001a}.mockup-message.sent .message-bubble{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-bottom-right-radius:3px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-box{position:relative;z-index:1;background:#fff;border-radius:16px;padding:40px 36px;width:100%;max-width:420px;box-shadow:0 20px 40px #0000004d;flex-shrink:0;margin-left:auto;margin-right:220px;animation:fadeInRight .8s ease-out .3s backwards}.login-header{text-align:center;margin-bottom:28px}.logo{width:70px;height:70px;margin:0 auto 16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 12px #6366f14d}.logo svg{width:35px;height:35px;color:#fff}.login-header h1{font-size:26px;margin-bottom:6px;color:#1a202c;font-weight:700}.login-header p{color:#718096;font-size:15px}.login-form{display:flex;flex-direction:column;gap:16px}.input-group{position:relative}.login-form input{width:100%;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#1a202c;font-size:15px;transition:all .2s ease;box-sizing:border-box}.login-form input::placeholder{color:#a0aec0;font-size:14px}.login-form input:focus{border-color:#6366f1;background:#fff;outline:none;box-shadow:0 0 0 3px #6366f11a}.error{padding:10px 12px;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00;font-size:12px}.btn-primary{padding:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:10px;font-size:16px;font-weight:600;transition:all .2s ease;border:none;cursor:pointer;margin-top:6px}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:20px;text-align:center;padding-top:16px;border-top:1px solid #e2e8f0}.btn-link{background:none;color:#6366f1;font-size:13px;padding:4px;font-weight:500;border:none;cursor:pointer;transition:color .2s}.btn-link:hover{color:#8b5cf6}@media (max-width: 1200px){.login-container{padding:40px 60px}.phone-mockup{transform:scale(.9);top:220px;left:50px}}@media (max-width: 968px){.login-container{justify-content:center;padding:30px 20px}.phone-mockup{display:none}.login-container:before,.login-container:after{display:none}}@media (max-width: 768px){.login-container{padding:20px}.login-box{padding:28px 24px;max-width:100%}.logo{width:55px;height:55px}.logo svg{width:28px;height:28px}.login-header h1{font-size:20px}.login-form input{padding:11px 12px}}.sidebar{width:380px;background:linear-gradient(180deg,#1e1b4b,#312e81);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-header{padding:20px;background:#1e1b4bcc;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-section{display:flex;align-items:center;gap:12px;margin-bottom:12px}.avatar-container{position:relative;flex-shrink:0}.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#fff;flex-shrink:0;box-shadow:0 4px 12px var(--glow);border:2px solid rgba(167,139,250,.3)}.status-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--secondary);transition:all .3s ease}.status-indicator.online{background:#10b981;box-shadow:0 0 8px #10b98199;animation:pulse 2s ease-in-out infinite}.status-indicator.offline{background:#64748b}.profile-info{flex:1;min-width:0}.profile-name{font-weight:600;font-size:16px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;gap:8px;justify-content:flex-end}.icon-btn{width:40px;height:40px;border-radius:12px;background:#7c3aed1a;color:var(--primary-light);font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;border:1px solid rgba(167,139,250,.2)}.icon-btn:hover{background:#7c3aed33;transform:translateY(-2px);box-shadow:0 4px 12px var(--glow)}.badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600}.dropdown-menu{position:absolute;top:80px;right:16px;background:#1e1b4bf2;border:1px solid var(--border);border-radius:12px;padding:8px;z-index:100;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dropdown-menu button{padding:12px 16px;background:transparent;color:var(--text);width:100%;text-align:left;border-radius:8px;transition:all .3s ease}.dropdown-menu button:hover{background:#7c3aed33;color:var(--primary-light);transform:translate(4px)}.search-panel,.notifications-panel{background:#0f172acc;border-bottom:1px solid var(--border);padding:16px;max-height:400px;overflow-y:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-panel h3,.notifications-panel h3{font-size:16px;margin-bottom:12px;color:var(--text)}.search-input-group{display:flex;gap:8px;margin-bottom:12px}.search-input-group input{flex:1;padding:10px 12px;background:#1e1b4b99;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;transition:all .3s ease}.search-input-group input:focus{border-color:var(--primary);background:#1e1b4bcc;box-shadow:0 0 0 3px #7c3aed1a}.search-input-group button{padding:10px 16px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border-radius:8px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px var(--glow)}.search-input-group button:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--glow)}.search-result,.request-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#1e1b4b99;border-radius:12px;margin-bottom:8px;border:1px solid var(--border);transition:all .3s ease}.search-result:hover,.request-item:hover{background:#1e1b4bcc;border-color:var(--primary-light)}.user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-info .avatar{width:40px;height:40px;font-size:16px}.user-info .name{font-weight:600;color:var(--text);font-size:14px}.user-info .email{font-size:12px;color:var(--text-secondary)}.btn-add{padding:8px 16px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border-radius:8px;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px var(--glow)}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--glow)}.requests-section{margin-bottom:16px}.requests-section h4{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.request-actions{display:flex;gap:8px}.btn-accept,.btn-reject{width:36px;height:36px;border-radius:50%;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.btn-accept{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 4px 12px #10b9814d}.btn-accept:hover{transform:scale(1.1);box-shadow:0 6px 20px #10b98166}.btn-reject{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-reject:hover{transform:scale(1.1);box-shadow:0 6px 20px #ef444466}.notification-item{padding:12px;background:#1e1b4b99;border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all .3s ease;border:1px solid var(--border)}.notification-item:hover{background:#1e1b4bcc;border-color:var(--primary-light);transform:translate(4px)}.notif-title{font-weight:600;color:var(--text);font-size:14px;margin-bottom:4px}.notif-message{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.notif-time{font-size:11px;color:var(--text-secondary)}.conversations-list{flex:1;overflow-y:auto;padding-bottom:16px}.section-title{font-size:13px;color:var(--text-secondary);font-weight:600;padding:16px 20px 8px;text-transform:uppercase;letter-spacing:.5px}.friends-section{margin-top:8px}.chat-icon{font-size:20px;opacity:0;transition:opacity .3s ease}.friend-item:hover .chat-icon{opacity:1}.empty-icon{font-size:64px;margin-bottom:12px;opacity:.3}.conversation-item,.friend-item{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:4px 8px;cursor:pointer;transition:all .3s ease;border-radius:12px;border:1px solid transparent}.conversation-item:hover,.friend-item:hover{background:#7c3aed1a;border-color:#a78bfa4d;transform:translate(4px)}.conversation-item.active{background:linear-gradient(135deg,#7c3aed33,#a78bfa1a);border-color:var(--primary-light);box-shadow:0 4px 12px var(--glow)}.conversation-info,.friend-info{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.conversation-header .name{font-weight:600;color:var(--text);font-size:15px}.conversation-header .time{font-size:11px;color:var(--text-secondary)}.last-message{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state p{margin-bottom:8px;font-size:14px}.empty-state p:first-of-type{font-size:16px;font-weight:600;color:var(--text)}@media (max-width: 768px){.sidebar{width:100%;position:absolute;z-index:10}}.chat-window{flex:1;display:flex;flex-direction:column;background:linear-gradient(135deg,#1e1b4b,#312e81);position:relative}.chat-window.empty{background:linear-gradient(135deg,#1e1b4b,#312e81)}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.empty-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);padding:40px;text-align:center}.empty-messages .empty-icon{font-size:64px;margin-bottom:16px;opacity:.3}.empty-messages p{font-size:16px;margin-bottom:8px}.empty-messages .debug-info{font-size:12px;color:var(--text-secondary);opacity:.5;margin-top:16px;font-family:monospace}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.5}.empty-chat h2{font-size:24px;margin-bottom:8px;color:var(--text);background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-chat p{font-size:14px}.chat-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#1e1b4bcc;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-btn{display:none;width:40px;height:40px;border-radius:12px;background:#7c3aed1a;color:var(--primary-light);font-size:24px;align-items:center;justify-content:center;transition:all .3s ease;border:1px solid rgba(167,139,250,.2)}.back-btn:hover{background:#7c3aed33;transform:translate(-4px)}.chat-info{flex:1}.chat-name{font-weight:600;font-size:16px;color:var(--text)}.chat-status{font-size:13px;color:var(--text-secondary);transition:color .3s ease}.chat-status.online-text{color:#10b981;font-weight:500}.chat-header .avatar-container{position:relative;flex-shrink:0}.chat-header .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#fff;box-shadow:0 4px 12px var(--glow);border:2px solid rgba(167,139,250,.3)}.chat-header .status-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;border:2px solid rgba(30,27,75,.8);transition:all .3s ease}.chat-header .status-indicator.online{background:#10b981;box-shadow:0 0 8px #10b98199;animation:pulse 2s ease-in-out infinite}.chat-header .status-indicator.offline{background:#64748b}@keyframes pulse{0%,to{box-shadow:0 0 8px #10b98199}50%{box-shadow:0 0 16px #10b981cc}}.messages-container{flex:1;overflow-y:auto;padding:20px;background:radial-gradient(circle at 20% 50%,rgba(124,58,237,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(167,139,250,.05) 0%,transparent 50%),linear-gradient(135deg,#1e1b4b,#312e81);display:flex;flex-direction:column}.date-divider{display:flex;justify-content:center;margin:20px 0;width:100%}.date-divider span{background:#1e1b4bcc;padding:6px 16px;border-radius:16px;font-size:12px;color:var(--text-secondary);font-weight:600;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message{display:flex;flex-direction:column;margin-bottom:8px;max-width:65%;animation:messageSlide .2s ease-out;clear:both}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.sent{align-self:flex-end;align-items:flex-end;margin-left:auto}.message.received{align-self:flex-start;align-items:flex-start;margin-right:auto}.message-content{padding:10px 16px;border-radius:16px;word-wrap:break-word;font-size:15px;line-height:1.5;box-shadow:0 2px 8px var(--shadow)}.message.sent .message-content{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;border-bottom-right-radius:4px}.message.received .message-content{background:var(--message-other);color:var(--text);border-bottom-left-radius:4px;border:1px solid var(--border)}.message-time{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);margin-top:4px;padding:0 4px}.message-status{color:#53bdeb;font-size:12px}.message-input{display:flex;gap:12px;padding:16px 20px;background:#1e1b4bcc;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-input input{flex:1;padding:14px 20px;background:#0f172a99;border:1px solid var(--border);border-radius:24px;color:var(--text);font-size:15px;transition:all .3s ease}.message-input input:focus{border-color:var(--primary);background:#0f172acc;box-shadow:0 0 0 3px #7c3aed1a}.message-input button{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px var(--glow)}.message-input button:hover:not(:disabled){transform:scale(1.1) rotate(15deg);box-shadow:0 6px 20px var(--glow)}.message-input button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.back-btn{display:flex}.message{max-width:85%}.messages-container{padding:16px}.chat-window{position:absolute;top:0;left:0;right:0;bottom:0;z-index:20}}.chat-container{display:flex;height:100vh;max-width:1600px;margin:0 auto;overflow:hidden;box-shadow:0 0 60px var(--glow)}@media (max-width: 768px){.chat-container{position:relative;max-width:100%}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #7c3aed;--primary-dark: #6d28d9;--primary-light: #a78bfa;--secondary: #1e1b4b;--background: #0f172a;--chat-bg: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);--message-bg: linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%);--message-other: #1e293b;--text: #f1f5f9;--text-secondary: #94a3b8;--border: #334155;--hover: #1e293b;--shadow: rgba(0, 0, 0, .3);--glow: rgba(124, 58, 237, .3)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:var(--text);overflow:hidden}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:var(--text-secondary)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea{font-family:inherit;outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
