:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Plus Jakarta Sans", var(--font-sans);--bg-app:#f4f6fa;--bg-card:#fff;--bg-sidebar:#fff;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#e0e7ff;--accent:#ec4899;--accent-hover:#db2777;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--text-main:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}button,input{outline:none;font-family:inherit}#app{background:radial-gradient(circle at 10% 20%,#f0f4ff 0%,#ffedf0 90.1%);justify-content:center;align-items:center;height:100vh;display:flex}.app-container{background:var(--bg-card);width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}@media (width>=769px){.app-container{width:92vw;height:88vh;box-shadow:var(--shadow-xl);border:1px solid #fffc;border-radius:24px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.login-screen{justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.login-card{-webkit-backdrop-filter:blur(16px);width:100%;max-width:440px;box-shadow:var(--shadow-xl);text-align:center;animation:fadeIn .5s var(--transition-normal);background:#ffffffd9;border:1px solid #fff9;border-radius:28px;padding:40px}.login-logo{font-family:var(--font-display);background:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:2.2rem;font-weight:800}.login-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:.95rem}.user-selector{gap:20px;margin-bottom:32px;display:flex}.user-option{background:var(--bg-card);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border:2px solid #0000;border-radius:20px;flex-direction:column;flex:1;align-items:center;padding:20px 12px;display:flex;position:relative}.user-option:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.user-option.selected{border-color:var(--primary);background:#6366f108}.user-avatar{width:72px;height:72px;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal);background:#f1f5f9;border-radius:50%;margin-bottom:12px;overflow:hidden}.user-option.selected .user-avatar{transform:scale(1.05)}.user-option .name{color:var(--text-main);margin-bottom:4px;font-size:.95rem;font-weight:600}.user-option .role{color:var(--text-muted);font-size:.75rem}.pw-badge{background:var(--primary-light);color:var(--primary);border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:600;position:absolute;top:-8px;right:-8px}.login-form{opacity:0;max-height:0;transition:all var(--transition-normal);text-align:left;flex-direction:column;gap:16px;display:flex;overflow:hidden}.login-form.active{opacity:1;max-height:200px;margin-bottom:24px}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-light);width:18px;height:18px;position:absolute;left:14px}.password-input{border:1px solid var(--border-color);background:var(--bg-card);width:100%;transition:all var(--transition-fast);border-radius:14px;padding:14px 14px 14px 42px;font-size:.95rem}.password-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.btn{cursor:pointer;width:100%;transition:all var(--transition-fast);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:.95rem;font-weight:600;display:flex}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;box-shadow:0 4px 12px #6366f140}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f159}.btn-primary:active{transform:translateY(0)}.error-message{color:var(--danger);text-align:center;margin-top:8px;font-size:.85rem;display:none}.sidebar{border-right:1px solid var(--border-color);background:var(--bg-sidebar);width:100%;max-width:340px;height:100%;transition:transform var(--transition-normal);z-index:10;flex-direction:column;flex-shrink:0;display:flex}.sidebar-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:20px;display:flex}.profile-info{align-items:center;gap:12px;display:flex}.profile-avatar{width:44px;height:44px;box-shadow:var(--shadow-sm);background:#f1f5f9;border-radius:50%;overflow:hidden}.profile-details .name{font-family:var(--font-display);color:var(--text-main);font-size:.95rem;font-weight:700}.profile-details .status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.75rem;overflow:hidden}.btn-icon-logout{border:1px solid var(--border-color);background:var(--bg-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:10px;justify-content:center;align-items:center;display:flex}.btn-icon-logout:hover{color:var(--danger);background:#fef2f2;border-color:#fee2e2}.sidebar-content{flex:1;padding:12px;overflow-y:auto}.sidebar-title{text-transform:uppercase;color:var(--text-light);letter-spacing:.05em;padding:8px 12px 12px;font-size:.75rem;font-weight:600}.chat-item{cursor:pointer;transition:all var(--transition-normal);border:1px solid #0000;border-radius:16px;align-items:center;gap:12px;padding:14px 12px;display:flex;position:relative}.chat-item:hover{background:var(--border-light)}.chat-item.active{background:var(--primary-light);border-color:#6366f114}.chat-item-avatar-wrapper{position:relative}.chat-item-avatar{width:48px;height:48px;box-shadow:var(--shadow-sm);background:#f1f5f9;border-radius:50%;overflow:hidden}.status-dot{border:2.5px solid var(--bg-card);background:var(--text-light);width:13px;height:13px;transition:background-color var(--transition-fast);border-radius:50%;position:absolute;bottom:0;right:0}.chat-item.active .status-dot{border-color:#e0e7ff}.status-dot.online{background:var(--success)}.chat-item-details{flex:1;min-width:0}.chat-item-details .header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.chat-item-details .name{font-family:var(--font-display);color:var(--text-main);font-size:.95rem;font-weight:600}.chat-item.active .chat-item-details .name{color:var(--primary-hover)}.chat-item-details .time{color:var(--text-light);font-size:.75rem}.chat-item-details .preview-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-item-details .preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.chat-item.active .chat-item-details .preview{color:var(--text-main)}.unread-badge{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;font-size:.75rem;font-weight:600;display:flex;box-shadow:0 2px 6px #ec48994d}.chat-area{background:#fafbfe;flex-direction:column;flex:1;height:100%;display:flex;position:relative}.chat-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);z-index:5;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.chat-header-user{align-items:center;gap:12px;display:flex}.back-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-right:4px;padding:4px;display:none}.chat-header-avatar{background:#f1f5f9;border-radius:50%;width:44px;height:44px;overflow:hidden}.chat-header-details .name{font-family:var(--font-display);color:var(--text-main);font-size:1rem;font-weight:700}.chat-header-details .status{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.chat-header-details .status.online{color:var(--success)}.chat-header-actions{gap:10px;display:flex}.btn-action-icon{border:1px solid var(--border-color);background:var(--bg-card);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:12px;justify-content:center;align-items:center;display:flex}.btn-action-icon:hover{background:var(--primary-light);color:var(--primary);border-color:#6366f133}.messages-container{background:#fafbfe;flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.date-divider{justify-content:center;align-items:center;margin:12px 0;display:flex}.date-divider span{color:var(--text-muted);box-shadow:var(--shadow-sm);background:#f1f5f9;border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:600}.message{max-width:70%;animation:messageSlideIn .25s var(--transition-normal);flex-direction:column;display:flex}.message.outgoing{align-self:flex-end}.message.incoming{align-self:flex-start}.message-bubble{box-shadow:var(--shadow-sm);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:20px;padding:12px 16px;font-size:.95rem;line-height:1.5;position:relative}.message.outgoing .message-bubble{background:linear-gradient(135deg, var(--primary) 0%, #4f46e5 100%);color:#fff;border-bottom-right-radius:4px}.message.incoming .message-bubble{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-light);border-bottom-left-radius:4px}.message-image{cursor:zoom-in;max-width:100%;transition:opacity var(--transition-fast);border:1px solid #0000000d;border-radius:14px;margin-top:4px;overflow:hidden}.message-image:hover{opacity:.95}.message-image img{object-fit:cover;width:100%;max-height:240px;display:block}.message-meta{justify-content:flex-end;align-items:center;gap:4px;margin-top:4px;padding:0 4px;display:flex}.message-time{color:var(--text-light);font-size:.7rem}.message.outgoing .message-time{color:var(--text-light)}.tick-icon{width:14px;height:14px;color:var(--text-light)}.tick-icon.read{color:var(--success)}.message-system{color:var(--text-muted);text-align:center;max-width:80%;box-shadow:var(--shadow-sm);background:#f1f5f9;border-radius:12px;align-self:center;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;display:flex}.message-system svg{width:14px;height:14px}.typing-bubble{align-items:center;gap:4px;padding:10px 14px;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typingDot}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-footer{background:var(--bg-card);border-top:1px solid var(--border-color);flex-direction:column;gap:12px;padding:16px 24px;display:flex;position:relative}.attachment-preview{background:var(--border-light);border:1px solid var(--border-color);animation:fadeIn .2s var(--transition-normal);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.attachment-thumbnail{object-fit:cover;border:1px solid var(--border-color);border-radius:8px;width:44px;height:44px}.attachment-details{flex:1;font-size:.85rem}.attachment-details .name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-weight:600;overflow:hidden}.attachment-details .size{color:var(--text-muted);font-size:.75rem}.btn-remove-attachment{color:var(--danger);cursor:pointer;width:26px;height:26px;transition:all var(--transition-fast);background:#fee2e2;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-remove-attachment:hover{background:var(--danger);color:#fff}.input-row{align-items:center;gap:12px;display:flex}.chat-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.chat-input{border:1px solid var(--border-color);background:var(--bg-app);width:100%;transition:all var(--transition-fast);color:var(--text-main);border-radius:16px;padding:14px 44px 14px 16px;font-size:.95rem}.chat-input:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 3px #6366f11f}.btn-emoji{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.btn-emoji:hover{color:var(--primary)}.btn-send{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;cursor:pointer;width:48px;height:48px;transition:all var(--transition-fast);border:none;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #6366f133}.btn-send:hover{transform:scale(1.03);box-shadow:0 6px 16px #6366f14d}.btn-send:active{transform:scale(1)}.emoji-drawer{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:20;border-radius:16px;grid-template-columns:repeat(6,1fr);gap:8px;width:240px;padding:12px;animation:.15s scaleUp;display:none;position:absolute;bottom:80px;right:24px}.emoji-drawer.active{display:grid}.emoji-item{cursor:pointer;transition:background-color var(--transition-fast);text-align:center;background:0 0;border:none;border-radius:8px;padding:4px;font-size:1.4rem}.emoji-item:hover{background-color:var(--border-light)}.call-overlay{-webkit-backdrop-filter:blur(24px);z-index:100;color:#fff;width:100%;height:100%;animation:overlayFadeIn .3s var(--transition-normal);background:#0f172ae6;flex-direction:column;justify-content:space-between;align-items:center;padding:60px 24px;display:none;position:absolute;top:0;left:0}.call-overlay.active{display:flex}.call-header{text-align:center}.call-icon-header{text-transform:uppercase;color:var(--text-light);letter-spacing:.1em;justify-content:center;align-items:center;gap:6px;margin-bottom:12px;font-size:.8rem;font-weight:600;display:flex}.call-partner-name{font-family:var(--font-display);margin-bottom:6px;font-size:1.8rem;font-weight:700}.call-status{color:#ffffffb3;justify-content:center;align-items:center;gap:6px;font-size:.95rem;display:flex}.call-avatar-container{justify-content:center;align-items:center;width:160px;height:160px;display:flex;position:relative}.pulse-ring{opacity:0;border:1px solid #6366f14d;border-radius:50%;animation:3s ease-out infinite pulseRing;position:absolute}.pulse-ring:first-child{animation-delay:0s}.pulse-ring:nth-child(2){animation-delay:1s}.pulse-ring:nth-child(3){animation-delay:2s}.call-avatar{z-index:2;background:#1e293b;border:3px solid #fff3;border-radius:50%;width:120px;height:120px;overflow:hidden;box-shadow:0 0 30px #00000080}.call-controls{z-index:5;align-items:center;gap:20px;display:flex}.btn-call-control{cursor:pointer;width:56px;height:56px;transition:all var(--transition-fast);color:#fff;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-call-control:hover{background:#ffffff4d;transform:scale(1.05)}.btn-call-control:active{transform:scale(1)}.btn-call-control.active{background:var(--bg-card);color:var(--text-main)}.btn-call-control.danger{background:var(--danger);width:64px;height:64px;box-shadow:0 6px 16px #ef444466}.btn-call-control.danger:hover{background:#dc2626;box-shadow:0 8px 20px #ef44448c}.btn-call-control.success{background:var(--success);width:64px;height:64px;box-shadow:0 6px 16px #10b98166}.btn-call-control.success:hover{background:#059669;box-shadow:0 8px 20px #10b9818c}.incoming-call-actions{gap:28px;display:none}.incoming-call-actions.active{display:flex}.active-call-actions{gap:20px;display:none}.active-call-actions.active{display:flex}.video-streams-container{z-index:1;background:#0f172a;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.video-streams-container.active{display:block}.remote-video-wrapper{width:100%;height:100%;position:relative}.remote-video,.remote-video-canvas{object-fit:cover;width:100%;height:100%}.local-video-wrapper{width:110px;height:160px;box-shadow:var(--shadow-lg);z-index:3;transition:all var(--transition-normal);background:#1e293b;border:2px solid #fff3;border-radius:16px;position:absolute;bottom:140px;right:24px;overflow:hidden}.local-video-wrapper:hover{transform:scale(1.02)}.local-video,.local-video-canvas{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.image-modal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;cursor:default;background:#0a0f1ef5;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;padding:0;display:none;position:fixed;top:0;left:0}.image-modal.active{display:flex}.image-modal-toolbar{z-index:1010;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ab3;border:1px solid #ffffff1a;border-radius:30px;gap:12px;padding:8px 16px;display:flex;position:absolute;top:20px;right:20px}.image-modal-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:6px;transition:all .2s;display:flex}.image-modal-btn:hover{color:var(--primary-color);background:#ffffff26;transform:scale(1.05)}.image-modal-btn.btn-close-modal{font-size:18px;font-weight:700}.image-modal-img-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.image-modal-content{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;max-width:90%;max-height:90%;transition:transform .15s ease-out;box-shadow:0 20px 50px #00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes overlayFadeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes typingDot{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulseRing{0%{opacity:0;transform:scale(.7)}50%{opacity:.5}to{opacity:0;transform:scale(1.4)}}@media (width<=768px){.sidebar{max-width:100%;position:absolute;top:0;left:0}.app-container.show-chat .sidebar{transform:translate(-100%)}.chat-area{width:100%}.back-button{justify-content:center;align-items:center;display:flex}.local-video-wrapper{width:90px;height:130px;bottom:150px;right:16px}}.settings-modal{-webkit-backdrop-filter:blur(12px);z-index:500;background:#0f172a66;justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;animation:.2s fadeIn;display:none;position:fixed;top:0;left:0}.settings-modal.active{display:flex}.settings-card{background:var(--bg-card);border:1px solid var(--border-color);width:100%;max-width:400px;box-shadow:var(--shadow-xl);max-height:calc(100vh - 48px);animation:scaleUp .25s var(--transition-normal);border-radius:24px;padding:32px;overflow-y:auto}.settings-title{font-family:var(--font-display);color:var(--text-main);margin-bottom:8px;font-size:1.3rem;font-weight:700}.settings-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:.85rem}.settings-form{flex-direction:column;gap:16px;display:flex}.settings-actions{gap:12px;margin-top:8px;display:flex}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0}.settings-msg{text-align:center;margin-top:8px;font-size:.85rem;display:none}.settings-msg.success{color:var(--success)}.settings-msg.error{color:var(--danger)}.profile-avatar-section{flex-direction:column;align-items:center;margin-bottom:8px;display:flex}.profile-avatar-display{border:3px solid var(--primary);width:80px;height:80px;box-shadow:var(--shadow-md);background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;display:flex;overflow:hidden}.profile-avatar-display svg,.profile-avatar-display img{object-fit:cover;width:100%;height:100%}.btn-avatar-upload{background:var(--primary-light);color:var(--primary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.btn-avatar-upload:hover{background:var(--primary);color:#fff}.personal-space-icon{background:var(--primary);color:#fff;border:2px solid var(--bg-card);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;bottom:-2px;right:-2px}.chat-item.active .personal-space-icon{border-color:#e0e7ff}.btn-icon-settings{border:1px solid var(--border-color);background:var(--bg-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:10px;justify-content:center;align-items:center;margin-right:8px;display:flex}.btn-icon-settings:hover{background:var(--primary-light);color:var(--primary);border-color:#6366f133}.message-actions-trigger{background:var(--bg-card);border:1px solid var(--border-light);width:28px;height:28px;color:var(--text-light);cursor:pointer;opacity:0;pointer-events:none;box-shadow:var(--shadow-sm);z-index:10;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,background-color .2s,color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.message:hover .message-actions-trigger{opacity:1;pointer-events:auto}.message.outgoing .message-actions-trigger{left:-36px}.message.incoming .message-actions-trigger{right:-36px}.message-actions-trigger:hover{background:var(--primary-light);color:var(--primary);border-color:#6366f133}.context-menu-overlay{-webkit-backdrop-filter:blur(8px);z-index:998;background:#0f172a66;animation:.2s ease-out fadeInOverlay;position:fixed;inset:0}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.context-menu-handle{background:var(--text-light);opacity:.3;border-radius:2px;width:36px;height:4px;margin:0 auto 12px;display:none}.message-context-menu{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-md);z-index:999;transform-origin:0 0;border-radius:12px;flex-direction:column;gap:2px;min-width:170px;padding:6px;animation:.12s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;position:fixed}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.message-context-menu .menu-item{color:var(--text-main);text-align:left;cursor:pointer;width:100%;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:500;display:flex}.message-context-menu .menu-item i,.message-context-menu .menu-item svg{width:14px;height:14px;color:var(--text-light);transition:color var(--transition-fast)}.message-context-menu .menu-item:hover{background:var(--primary-light);color:var(--primary)}.message-context-menu .menu-item:hover i,.message-context-menu .menu-item:hover svg{color:var(--primary)}.message-context-menu .menu-item.danger,.message-context-menu .menu-item.danger i,.message-context-menu .menu-item.danger svg{color:#ef4444}.message-context-menu .menu-item.danger:hover{color:#ef4444;background:#fef2f2}.edit-banner{background:var(--primary-light);border-left:4px solid var(--primary);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 16px;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.edit-banner-content{align-items:center;display:flex}.edit-banner .edit-details{flex-direction:column;display:flex}.edit-banner .edit-details .title{color:var(--primary);font-size:.75rem;font-weight:600}.edit-banner .edit-details .text{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:400px;font-size:.85rem;overflow:hidden}.btn-cancel-edit{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.btn-cancel-edit:hover{color:var(--text-main);background:#0000000d}.forward-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.forward-modal{background:var(--bg-card);border:1px solid var(--border-light);width:90%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:20px;animation:.25s cubic-bezier(.34,1.56,.64,1) modalScaleUp;overflow:hidden}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.forward-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.forward-modal-header h3{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:700}.btn-close-forward{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.btn-close-forward:hover{background:var(--border-light)}.forward-modal-body{padding:16px 20px}.forward-target-list{flex-direction:column;gap:10px;display:flex}.forward-target-btn{background:var(--bg-body);border:1px solid var(--border-light);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:transform .2s,border-color .2s,background-color .2s;display:flex}.forward-target-btn:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px)}.forward-target-btn .avatar{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.forward-target-btn .target-name{color:var(--text-main);font-size:.95rem;font-weight:600}.message-edited{color:var(--text-light);opacity:.8;margin-right:6px;font-size:.65rem;font-style:italic}.sidebar-tools{grid-template-columns:1fr 1fr;gap:6px;padding:0 12px;display:grid}.sidebar-tool-btn{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;transition:all var(--transition-fast);color:var(--text-muted);border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;font-size:.68rem;display:flex}.sidebar-tool-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.sidebar-tool-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tool-icon{font-size:1.2rem}.tool-label{font-weight:500}.tool-panel-container{z-index:50;background:var(--bg-app);animation:.25s fadeSlideIn;position:absolute;inset:0 0 0 340px;overflow-y:auto}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.tool-panel{flex-direction:column;height:100%;padding:20px;display:flex}.tool-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.tool-header-left{align-items:center;gap:12px;display:flex}.tool-header-left h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.tool-header-right{align-items:center;gap:8px;display:flex}.tool-back-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border-radius:8px;padding:6px}.tool-back-btn:hover{background:var(--primary-light);color:var(--primary)}.kanban-add-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.kanban-input{border:1px solid var(--border-color);background:var(--bg-card);min-width:120px;color:var(--text-main);transition:border-color var(--transition-fast);border-radius:8px;flex:1;padding:8px 12px;font-size:.85rem}.kanban-input:focus{border-color:var(--primary)}.kanban-desc{min-width:160px}.kanban-select{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:.82rem}.kanban-add-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast);border:none;border-radius:8px;padding:8px 16px;font-size:.82rem;font-weight:600}.kanban-add-btn:hover{background:var(--primary-hover)}.kanban-board{flex:1;grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid;overflow-y:auto}.kanban-column{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;padding:12px;display:flex}.kanban-col-header{border-bottom:2px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-size:.9rem;font-weight:700;display:flex}.kanban-count{background:var(--primary-light);color:var(--primary);border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.kanban-col-body{min-height:60px;transition:background var(--transition-fast);border-radius:8px;flex-direction:column;flex:1;gap:8px;padding:4px;display:flex}.kanban-col-body.drag-over{background:var(--primary-light);border:2px dashed var(--primary)}.kanban-card{background:var(--bg-app);border:1px solid var(--border-color);cursor:grab;transition:all var(--transition-fast);border-radius:10px;padding:12px}.kanban-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kanban-card.dragging{opacity:.5;transform:rotate(2deg)}.kanban-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.kanban-priority{border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:600}.priority-high{color:#dc2626;background:#fef2f2}.priority-med{color:#d97706;background:#fffbeb}.priority-low{color:#16a34a;background:#f0fdf4}.kanban-delete-btn{color:var(--text-light);cursor:pointer;opacity:0;transition:opacity var(--transition-fast);background:0 0;border:none;font-size:.8rem}.kanban-card:hover .kanban-delete-btn{opacity:1}.kanban-delete-btn:hover{color:var(--danger)}.kanban-card-title{margin-bottom:4px;font-size:.88rem;font-weight:600}.kanban-card-desc{color:var(--text-muted);margin-bottom:8px;font-size:.78rem;line-height:1.3}.kanban-card-footer{align-items:center;display:flex}.kanban-assignee{color:var(--text-light);font-size:.72rem}.code-editor-container{flex-direction:column;flex:1;gap:12px;display:flex;overflow:hidden}.code-editor{color:#cdd6f4;border:1px solid var(--border-color);resize:none;tab-size:2;background:#1e1e2e;border-radius:12px;flex:1;min-height:200px;padding:16px;font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:.85rem;line-height:1.6}.code-editor:focus{border-color:var(--primary)}.code-run-btn{background:var(--success);color:#fff;cursor:pointer;transition:background var(--transition-fast);border:none;border-radius:8px;padding:8px 20px;font-weight:700}.code-run-btn:hover{background:#059669}.code-output-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;min-height:120px;max-height:250px;overflow:hidden}.code-output-header{background:var(--border-light);color:var(--text-muted);justify-content:space-between;align-items:center;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex}.code-clear-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;font-size:.75rem}.code-clear-btn:hover{color:var(--danger)}.code-output{color:var(--text-main);white-space:pre-wrap;word-break:break-word;max-height:200px;padding:12px 16px;font-family:Fira Code,monospace;font-size:.82rem;line-height:1.5;overflow-y:auto}.code-output.error{color:var(--danger)}.code-status-bar{color:var(--text-light);padding:8px 0 0;font-size:.72rem}.focus-content{flex-direction:column;flex:1;align-items:center;gap:24px;padding-top:30px;display:flex}.focus-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;width:100%;max-width:400px;transition:all var(--transition-normal);border-radius:16px;padding:40px}.focus-card.active{border-color:var(--danger);box-shadow:0 0 30px #ef444426}.focus-icon{margin-bottom:12px;font-size:3rem}.focus-card h3{font-family:var(--font-display);margin-bottom:8px;font-size:1.3rem}.focus-desc{color:var(--text-muted);margin-bottom:20px;font-size:.88rem}.focus-duration-selector{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.focus-dur-btn{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;transition:all var(--transition-fast);border-radius:20px;padding:8px 16px;font-size:.82rem;font-weight:500}.focus-dur-btn.active,.focus-dur-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.focus-start-btn{background:var(--primary);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:10px;padding:12px 32px;font-size:1rem;font-weight:700}.focus-start-btn:hover{background:var(--primary-hover);transform:scale(1.02)}.focus-timer{color:var(--danger);letter-spacing:4px;margin:20px 0;font-family:Fira Code,monospace;font-size:3rem;font-weight:700}.focus-stop-btn{background:var(--danger);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:10px;padding:10px 24px;font-weight:600}.focus-stop-btn:hover{opacity:.9}.focus-partner-status{width:100%;max-width:400px}.focus-partner-status h4{color:var(--text-muted);margin-bottom:10px;font-size:.85rem}.focus-partner-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.focus-partner-card .name{font-size:.9rem;font-weight:600}.focus-partner-state{color:var(--success);margin-top:2px;font-size:.8rem}.focus-partner-state.in-focus{color:var(--danger);font-weight:600}.focus-partner-avatar .avatar{width:36px;height:36px}.filedrop-content{flex-direction:column;flex:1;gap:24px;display:flex;overflow-y:auto}.filedrop-upload-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px}.filedrop-upload-card h3{margin-bottom:12px;font-size:1rem}.filedrop-form{flex-direction:column;gap:8px;display:flex}.filedrop-dropzone{border:2px dashed var(--border-color);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--border-light);border-radius:10px;padding:24px}.filedrop-dropzone:hover,.filedrop-dropzone.drag-active{border-color:var(--primary);background:var(--primary-light)}.dropzone-label{color:var(--text-muted);font-size:.9rem}.dropzone-filename{color:var(--primary);margin-top:4px;font-size:.85rem;font-weight:600}.filedrop-list h3{margin-bottom:12px;font-size:1rem}.file-row{background:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition-fast);border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.file-row:hover{box-shadow:var(--shadow-sm)}.file-icon{font-size:1.5rem}.file-details{flex:1}.file-name{font-size:.88rem;font-weight:600}.file-meta{color:var(--text-light);margin-top:2px;font-size:.72rem}.file-actions{gap:6px;display:flex}.file-decrypt-btn,.file-delete-btn{border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:6px;padding:4px 8px;font-size:.85rem}.file-decrypt-btn:hover{background:var(--primary-light);border-color:var(--primary)}.file-delete-btn:hover{border-color:var(--danger);background:#fef2f2}.filedrop-empty{text-align:center;color:var(--text-light);padding:30px;font-size:.88rem}.decrypt-modal-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.decrypt-modal{background:var(--bg-card);width:340px;box-shadow:var(--shadow-xl);border-radius:16px;padding:28px}.decrypt-modal h3{margin-bottom:8px}.decrypt-modal p{color:var(--text-muted);margin-bottom:12px;font-size:.85rem}.decrypt-actions{gap:8px;margin-top:12px;display:flex}.decrypt-error{color:var(--danger);margin-top:10px;font-size:.8rem;font-weight:500}.btn-self-destruct{position:relative}.btn-self-destruct.sd-active{color:var(--danger)!important}.btn-self-destruct.sd-active:after{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px;animation:1s infinite pulse;position:absolute;top:4px;right:4px}.self-destruct-selector{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:30;border-radius:12px;flex-direction:column;gap:4px;padding:6px;position:absolute;bottom:55px;right:0}.sd-option{cursor:pointer;color:var(--text-muted);text-align:left;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:.8rem;font-weight:500}.sd-option:hover{background:var(--primary-light);color:var(--primary)}.sd-option.active{background:var(--primary);color:#fff}.message.self-destruct .message-bubble{border:1px dashed #ef444466}.message-sd-badge{color:var(--danger);opacity:.9;margin-right:4px;font-size:.6rem;font-weight:600}@media (width<=768px){.tool-panel-container{left:0}.kanban-board{grid-template-columns:1fr}.kanban-add-row{flex-direction:column}.sidebar-tools{grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;padding:0 8px}.sidebar-tool-btn{padding:6px 4px;font-size:.6rem}.tool-icon{font-size:1rem}.message-actions-trigger{opacity:1!important;pointer-events:auto!important}.message{max-width:85%!important}.code-editor{min-height:120px!important}.code-output-container{min-height:80px!important}.context-menu-handle{display:block}.message-context-menu{border-top:1px solid var(--border-light)!important;z-index:999!important;transform-origin:bottom!important;border-bottom:none!important;border-left:none!important;border-right:none!important;border-radius:24px 24px 0 0!important;width:100%!important;max-width:100%!important;padding:20px 16px 34px!important;animation:.28s cubic-bezier(.16,1,.3,1) slideUp!important;position:fixed!important;inset:auto 0 0!important;transform:none!important;box-shadow:0 -10px 25px -5px #00000026,0 -8px 10px -6px #00000026!important}.message-context-menu .menu-item{border-radius:12px!important;padding:14px 16px!important;font-size:.95rem!important}.login-screen{background:var(--bg-body)!important;padding:0!important}.login-card{background:var(--bg-body)!important;max-width:100%!important;height:100%!important;min-height:100vh!important;box-shadow:none!important;border:none!important;border-radius:0!important;flex-direction:column!important;justify-content:center!important;padding:40px 24px!important;display:flex!important}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.kanban-move-actions{gap:4px;margin-left:auto;display:flex}.kanban-move-btn{background:var(--border-light);border:1px solid var(--border-color);cursor:pointer;width:24px;height:24px;color:var(--text-muted);transition:all var(--transition-fast);border-radius:4px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.kanban-move-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.info-sidebar{border-left:1px solid var(--border-color);background:var(--bg-card);width:320px;height:100%;transition:all var(--transition-normal);z-index:10;flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}@media (width<=900px){.info-sidebar{width:280px;box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}}#btn-toggle-info{background:var(--primary-light);border:1px solid var(--border-color);color:var(--primary);cursor:pointer;transition:all var(--transition-fast) ease;box-shadow:var(--shadow-sm);border-radius:20px;outline:none;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:600;display:flex}#btn-toggle-info:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}#btn-toggle-info:active{transform:translateY(0)}
