.call-ui-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a0a0a;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.remote-media-container{position:relative;width:100%;height:100%;background-color:#000;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.remote-video{width:100%;height:100%;object-fit:cover}.remote-video.audio-only{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.remote-audio{display:none}.video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#0a0a0a,#1e1e1e)}.video-placeholder .caller-name{font-weight:500;font-size:22px;color:#fff!important;margin-top:16px;letter-spacing:.3px}.video-placeholder .call-type-label{font-weight:400;font-size:16px;color:#b0b0b0!important;margin-top:8px;letter-spacing:.2px}.avatar-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#2d2d2d,#1e1e1e);display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:500;color:#fff!important;margin-bottom:20px;box-shadow:0 4px 12px #00000080;border:2px solid rgba(255,255,255,.08)}.local-media-container{position:absolute;top:20px;right:20px;width:150px;height:200px;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #0009;border:1px solid rgba(255,255,255,.08);z-index:15;transition:transform .2s ease,box-shadow .2s ease}.local-media-container:hover{transform:scale(1.02);box-shadow:0 6px 20px #000000b3}.local-video{width:100%;height:100%;object-fit:cover}.local-media-container.video-disabled{background-color:#333}.local-avatar-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2d2d2d,#1e1e1e)}.local-avatar{width:40px;height:40px;background-color:#555;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff}.call-info{position:absolute;top:20px;left:20px;color:#fff!important;padding:10px 16px;border-radius:8px;background-color:#1e1e1ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:15;display:flex;flex-direction:column;align-items:flex-start;gap:2px;box-shadow:0 2px 8px #0006;border:1px solid rgba(255,255,255,.08)}.call-info .caller-name{font-weight:500;font-size:15px;color:#fff!important;letter-spacing:.2px}.call-info .call-status,.call-info .call-duration{font-size:12px;color:#b0b0b0!important;font-weight:400}.call-controls{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;padding:10px 16px;z-index:20;background-color:#1e1e1ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:40px;gap:6px;box-shadow:0 4px 16px #00000080;border:1px solid rgba(255,255,255,.08)}.control-button{display:flex;align-items:center;justify-content:center;background-color:#2d2d2df2;width:48px;height:48px;border-radius:50%;margin:0;border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 8px #0000004d;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);color:#fff!important;position:relative;outline:none}.control-button:hover{background-color:#3c3c3c;transform:scale(1.05);box-shadow:0 4px 12px #0006;border-color:#ffffff1f}.control-button:active{transform:scale(.98)}.control-button.active{background-color:#dc3545f2;border-color:#dc354580}.control-button.active:hover{background-color:#c82333}.control-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;background-color:#1e1e1ecc}.end-call-button{background-color:#dc3545f2;border-color:#dc354580;width:52px;height:52px}.end-call-button:hover{background-color:#c82333;transform:scale(1.08);box-shadow:0 4px 16px #dc354566}.control-icon{font-size:20px;display:flex;align-items:center;justify-content:center;color:#fff!important;transition:transform .2s ease}.control-button:hover .control-icon{transform:scale(1.05)}.control-icon svg{width:22px;height:22px;fill:currentColor}.control-button[title]{position:relative}@media (max-width: 768px){.local-media-container{width:120px;height:160px;top:10px;right:10px}.call-info{top:12px;left:12px;padding:8px 14px}.call-info .caller-name{font-size:14px}.call-info .call-status,.call-info .call-duration{font-size:11px}.call-controls{bottom:20px;padding:8px 14px;gap:5px}.control-button{width:44px;height:44px}.end-call-button{width:48px;height:48px}.control-icon{font-size:18px}.control-icon svg{width:20px;height:20px}.avatar-circle{width:100px;height:100px;font-size:48px}.video-placeholder .caller-name{font-size:18px}}@media (max-width: 480px){.local-media-container{width:90px;height:120px;top:10px;right:10px}.call-info{top:10px;left:10px;padding:7px 12px}.call-info .caller-name{font-size:13px}.call-info .call-status,.call-info .call-duration{font-size:10px}.call-controls{bottom:15px;padding:7px 12px;gap:4px}.control-button{width:40px;height:40px}.end-call-button{width:44px;height:44px}.control-icon{font-size:16px}.control-icon svg{width:18px;height:18px}.avatar-circle{width:80px;height:80px;font-size:40px;margin-bottom:15px}.video-placeholder .caller-name{font-size:16px}.local-avatar{width:50px;height:50px;font-size:12px}}@media (min-width: 1920px){.local-media-container{width:180px;height:240px}.call-info{padding:12px 18px}.call-info .caller-name{font-size:16px}.avatar-circle{width:140px;height:140px;font-size:64px}.video-placeholder .caller-name{font-size:24px}.control-button{width:52px;height:52px}.end-call-button{width:56px;height:56px}}.incoming-call-notification{position:fixed;top:20px;right:20px;width:320px;background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #0003;z-index:1100;overflow:hidden;animation:slide-in .3s ease-out;display:flex;flex-direction:column}@keyframes slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.incoming-call-header{padding:16px;display:flex;align-items:center;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0}.avatar-circle{width:48px;height:48px;border-radius:50%;background-color:#4285f4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;margin-right:16px}.caller-info{flex:1}.caller-name{margin:0;font-size:16px;font-weight:600;color:#202124}.call-status{margin:4px 0 0;font-size:14px;color:#5f6368}.incoming-call-actions{display:flex;padding:16px;justify-content:space-around}.call-action-button{border:none;border-radius:50px;padding:8px 16px;display:flex;align-items:center;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001f}.call-action-button svg{width:20px;height:20px;margin-right:8px}.reject-button{background-color:#f44336;color:#fff}.reject-button:hover{background-color:#d32f2f}.accept-button{background-color:#4caf50;color:#fff}.accept-button:hover{background-color:#388e3c}.call-logs-container{display:flex;height:100%;width:100%}.call-logs-sidebar{width:380px;border-right:1px solid #e4e4e7;display:flex;flex-direction:column;background-color:#fff;overflow:hidden}.call-logs-header{padding:20px;border-bottom:1px solid #e4e4e7}.call-logs-header h2{margin:0 0 16px;font-size:24px;font-weight:600;color:#18181b}.call-logs-filters{display:flex;gap:8px}.filter-chip{padding:6px 12px;border-radius:16px;border:1px solid #e4e4e7;background:#fff;color:#71717a;font-size:13px;cursor:pointer;transition:all .2s}.filter-chip:hover{background:#f4f4f5}.filter-chip.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.call-logs-list{flex:1;overflow-y:auto;padding:8px}.call-log-item{display:flex;align-items:center;padding:12px;border-radius:8px;margin-bottom:4px;cursor:pointer;transition:background .2s}.call-log-item:hover{background:#f4f4f5}.call-log-item.active{background:#e0e7ff}.call-log-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.call-log-icon.incoming{background:#dcfce7;color:#16a34a}.call-log-icon.outgoing{background:#dbeafe;color:#2563eb}.call-log-icon.missed{background:#fee2e2;color:#dc2626}.call-log-icon.rejected{background:#fef3c7;color:#d97706}.call-log-info{flex:1;min-width:0}.call-log-name{font-weight:500;font-size:14px;color:#18181b;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-log-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#71717a}.call-log-status{display:flex;align-items:center;gap:4px}.call-log-status.missed{color:#dc2626}.call-log-status.rejected{color:#d97706}.call-log-duration{display:flex;align-items:center;gap:4px}.call-log-time{font-size:12px;color:#a1a1aa;margin-top:2px}.call-log-details{flex:1;display:flex;flex-direction:column;background:#fff;overflow-y:auto}.mobile-back-btn-calllog{display:none;align-items:center;gap:8px;padding:12px 16px;border:none;background:#f4f4f5;cursor:pointer;color:#18181b;font-size:14px;font-weight:500;transition:background .2s;border-bottom:1px solid #e4e4e7}.mobile-back-btn-calllog:hover{background:#e4e4e7}.call-log-details-header{padding:24px;border-bottom:1px solid #e4e4e7;text-align:center}.call-log-details-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 16px;background:#f4f4f5;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:#71717a}.call-log-details-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.call-log-details-name{font-size:24px;font-weight:600;color:#18181b;margin-bottom:8px}.call-log-details-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:16px;font-size:13px;font-weight:500}.call-log-details-status.completed{background:#dcfce7;color:#16a34a}.call-log-details-status.missed{background:#fee2e2;color:#dc2626}.call-log-details-status.rejected{background:#fef3c7;color:#d97706}.call-log-details-status.failed{background:#fee2e2;color:#dc2626}.call-log-details-content{padding:24px}.call-log-details-section{margin-bottom:32px}.call-log-details-section-title{font-size:14px;font-weight:600;color:#71717a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.call-log-details-row{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f4f4f5}.call-log-details-row:last-child{border-bottom:none}.call-log-details-label{font-size:14px;color:#71717a;width:140px;flex-shrink:0}.call-log-details-value{font-size:14px;color:#18181b;font-weight:500;flex:1}.call-log-participant{display:flex;align-items:center;gap:12px}.call-log-participant-avatar{width:32px;height:32px;border-radius:50%;background:#f4f4f5;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#71717a}.call-log-participant-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.call-log-participant-info{flex:1}.call-log-participant-name{font-size:14px;font-weight:500;color:#18181b}.call-log-participant-username{font-size:12px;color:#71717a}.call-logs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px}.call-logs-empty svg{color:#d4d4d8;margin-bottom:16px}.call-logs-empty h3{font-size:18px;font-weight:600;color:#18181b;margin-bottom:8px}.call-logs-empty p{font-size:14px;color:#71717a}.call-logs-loading{display:flex;align-items:center;justify-content:center;height:100%}.call-logs-spinner{width:40px;height:40px;border:4px solid #f4f4f5;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.call-logs-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center}.call-logs-error svg{color:#ef4444;margin-bottom:16px}.call-logs-error h3{font-size:18px;font-weight:600;color:#18181b;margin-bottom:8px}.call-logs-error p{font-size:14px;color:#71717a;margin-bottom:16px}.call-logs-error button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.call-logs-error button:hover{background:#2563eb}@media (max-width: 768px){.call-logs-container{position:relative}.call-logs-sidebar{width:100%;border-right:none}.call-logs-header{padding:16px 12px}.call-logs-header h2{font-size:20px;margin-bottom:12px}.filter-chip{padding:5px 10px;font-size:12px}.call-logs-list{padding:6px}.call-log-item{padding:10px}.call-log-icon{width:36px;height:36px;margin-right:10px}.call-log-name{font-size:13px}.call-log-meta{font-size:11px;gap:6px}.call-log-details{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:150;background:#fff}.call-log-details.mobile-visible,.mobile-back-btn-calllog{display:flex}.call-log-details-header{padding:20px 16px}.call-log-details-avatar{width:70px;height:70px;font-size:28px}.call-log-details-name{font-size:20px}.call-log-details-meta{font-size:12px}.call-log-details-body{padding:20px 16px}.call-log-detail-section h3{font-size:14px}.call-log-detail-item{padding:10px}.call-log-detail-label,.call-log-detail-value{font-size:13px}.call-log-actions{padding:16px;gap:10px}.call-log-action-btn{padding:10px 16px;font-size:13px}}@media (max-width: 480px){.call-logs-header{padding:12px 10px}.call-logs-header h2{font-size:18px;margin-bottom:10px}.filter-chip{padding:4px 8px;font-size:11px}.call-log-item{padding:8px}.call-log-icon{width:32px;height:32px;margin-right:8px}.call-log-name{font-size:12px}.call-log-meta{font-size:10px;gap:4px}.call-log-details-avatar{width:60px;height:60px;font-size:24px}.call-log-details-name{font-size:18px}.call-log-actions{flex-direction:column;gap:8px}.call-log-action-btn{width:100%}}.content-violation-alert{position:fixed;top:20px;right:20px;z-index:10000;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.violation-alert-container{background:linear-gradient(135deg,#dc3545,#c82333);border-radius:12px;box-shadow:0 8px 24px #dc35454d,0 4px 8px #0003;min-width:360px;max-width:480px;color:#fff;overflow:hidden}.violation-header{display:flex;align-items:flex-start;padding:20px;gap:12px;position:relative}.violation-icon{flex-shrink:0;width:40px;height:40px;background:#ffffff26;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.violation-icon svg{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.violation-info{flex:1;min-width:0}.violation-title{font-size:16px;font-weight:600;margin:0 0 4px;color:#fff}.violation-filename{font-size:13px;margin:0;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.violation-close-button{flex-shrink:0;background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;justify-content:center;pointer-events:auto}.violation-close-button:hover{background-color:#ffffff26}.violation-close-button:active{background-color:#ffffff40}.violation-message{padding:0 20px 12px 72px}.violation-message p{margin:0;font-size:14px;line-height:1.5;color:#fffffff2}.violation-footer{background:#00000026;padding:12px 20px;border-top:1px solid rgba(255,255,255,.1)}.violation-hint{font-size:12px;color:#ffffffd9;display:block}@media (prefers-color-scheme: dark){.violation-alert-container{box-shadow:0 8px 32px #dc354566,0 4px 12px #00000080}}@media (max-width: 768px){.content-violation-alert{top:10px;right:10px;left:10px}.violation-alert-container{min-width:auto;max-width:none}}@media (prefers-reduced-motion: reduce){.content-violation-alert,.violation-icon svg{animation:none}}.notification-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border-left:4px solid;font-size:14px;font-weight:500;pointer-events:auto;animation:slideIn .3s ease-out;min-width:280px;max-width:400px}.notification-info{border-left-color:#2196f3;background:#e3f2fd;color:#1565c0}.notification-success{border-left-color:#4caf50;background:#e8f5e9;color:#2e7d32}.notification-warning{border-left-color:#ff9800;background:#fff3e0;color:#e65100}.notification-error{border-left-color:#f44336;background:#ffebee;color:#c62828}.notification-message{flex:1;line-height:1.5}.notification-close{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:inherit;opacity:.6;transition:all .2s ease;flex-shrink:0;pointer-events:auto}.notification-close:hover{opacity:1;background:#0000000d}.notification-close:active{transform:scale(.95)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (prefers-color-scheme: dark){.notification{background:#1e1e1e;box-shadow:0 4px 12px #0000004d}.notification-info{background:#0d2a42;color:#64b5f6}.notification-success{background:#1b3a1d;color:#81c784}.notification-warning{background:#3e2a0a;color:#ffb74d}.notification-error{background:#3e1414;color:#e57373}.notification-close:hover{background:#ffffff1a}}@media (max-width: 768px){.notification-container{top:60px;right:10px;left:10px;max-width:none}.notification{min-width:auto;max-width:none;font-size:13px}}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;min-height:44px;box-shadow:0 2px 8px #00000026;animation:slideDown .3s ease-out;font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.banner-content{display:flex;align-items:center;gap:10px;flex:1}.banner-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:16px;font-weight:700}.banner-message{color:inherit}.banner-button{padding:6px 16px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap;min-height:32px}.banner-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.banner-button:active:not(:disabled){transform:translateY(0)}.banner-button:disabled{opacity:.7;cursor:not-allowed}.connection-banner.connected{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff}.connection-banner.connected .banner-icon{animation:checkmark .5s ease}@keyframes checkmark{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.connection-banner.connecting{background:linear-gradient(135deg,#08c,#069);color:#fff}.connection-banner.connecting .banner-icon{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.connection-banner.disconnected{background:linear-gradient(135deg,#ff9500,#ff8000);color:#fff}.connection-banner.disconnected .banner-icon{animation:pulse 2s ease-in-out infinite}.connection-banner.disconnected .banner-button{background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.3)}.connection-banner.disconnected .banner-button:hover:not(:disabled){background:#ffffff59;border-color:#ffffff80}.connection-banner.failed{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.connection-banner.failed .banner-icon{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.connection-banner.failed .banner-button{background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.3)}.connection-banner.failed .banner-button:hover:not(:disabled){background:#ffffff59;border-color:#ffffff80}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.connection-banner{padding:8px 16px;font-size:13px;min-height:40px}.banner-icon{width:18px;height:18px;font-size:14px}.banner-button{padding:5px 12px;font-size:12px;min-height:28px}.banner-message{font-size:13px}}@media (max-width: 480px){.connection-banner{padding:6px 12px;font-size:12px;min-height:36px}.banner-content{gap:8px}.banner-icon{width:16px;height:16px;font-size:13px}.banner-button{padding:4px 10px;font-size:11px;min-height:26px}.banner-message{font-size:12px}.spinner{width:12px;height:12px}}.attachment-menu-backdrop{position:fixed;inset:0;background:transparent;z-index:998}.attachment-menu{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff!important;border-radius:8px;box-shadow:0 4px 16px #00000026;padding:8px 0;display:flex;flex-direction:column;gap:0;z-index:999;min-width:200px;border:1px solid #e1dfdd;animation:slideIn .2s ease-out}.attachment-menu-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:transparent;border:none;cursor:pointer;transition:background-color .2s;color:#252423;font-size:14px;font-weight:400;text-align:left}.attachment-menu-item:hover{background-color:#fff}.attachment-menu-item:active{background-color:#f5f5f5}.attachment-menu-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.attachment-menu-icon svg{width:18px;height:18px}.attachment-menu-label{flex:1;color:#252423;font-weight:400}@media (prefers-color-scheme: dark){.attachment-menu{background:#fff!important;border-color:#e1dfdd}.attachment-menu-item,.attachment-menu-label{color:#252423}.attachment-menu-item:hover{background:#fff}.attachment-menu-item:active{background:#f5f5f5}}@media (max-width: 768px){.attachment-menu{min-width:180px}}.file-upload-progress{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary, #f0f2f5);border-radius:8px;margin:8px 12px;transition:all .2s ease;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:100px}}.file-upload-progress.success{background:#d1f4e0}.file-upload-progress.error{background:#ffd8d8}.file-upload-icon-wrapper{position:relative;width:48px;height:48px;flex-shrink:0}.circular-progress{position:relative;width:48px;height:48px;color:var(--primary-color, #00a884)}.progress-circle{transition:stroke-dashoffset .3s ease}.cancel-upload-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, #667781);padding:0;transition:color .15s ease}.cancel-upload-btn:hover{color:var(--text-primary, #111b21)}.cancel-upload-btn:active{transform:translate(-50%,-50%) scale(.9)}.status-icon{width:48px;height:48px;position:relative}.status-icon.success{color:#00a884}.status-icon.error{color:#ea3535}.retry-upload-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ea3535;padding:0;transition:transform .15s ease}.retry-upload-btn:hover{transform:translate(-50%,-50%) scale(1.1)}.retry-upload-btn:active{transform:translate(-50%,-50%) scale(.9)}.file-upload-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-upload-header{display:flex;align-items:center;gap:8px}.file-icon-small{width:20px;height:20px;flex-shrink:0;color:var(--text-secondary, #667781);display:flex;align-items:center;justify-content:center}.file-icon-small svg{width:20px;height:20px}.file-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-upload-name{font-size:14px;font-weight:500;color:var(--text-primary, #111b21);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.file-upload-meta{font-size:12px;color:var(--text-secondary, #667781);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-upload-progress.success .file-upload-meta{color:#00a884}.file-upload-progress.error .file-upload-meta{color:#ea3535}@media (prefers-color-scheme: dark){.file-upload-progress{background:#1f2c33}.file-upload-progress.success{background:#0c3528}.file-upload-progress.error{background:#3d1e1e}.file-upload-name{color:#e9edef}.file-upload-meta,.file-icon-small,.cancel-upload-btn{color:#8696a0}.cancel-upload-btn:hover{color:#e9edef}.circular-progress{color:#00a884}}@media (max-width: 768px){.file-upload-progress{margin:8px;padding:10px 12px}.file-upload-icon-wrapper,.circular-progress,.status-icon{width:44px;height:44px}.file-upload-name{font-size:13px}.file-upload-meta{font-size:11px}}.file-attachment-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#f3f2f1;border:1px solid #e1dfdd;border-radius:6px;margin:8px 12px 0;transition:all .2s ease}.file-attachment-preview:hover{background:#edebe9}.file-preview-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.file-preview-image-wrapper{width:40px;height:40px;flex-shrink:0;border-radius:4px;overflow:hidden;background:#fff;border:1px solid #e1dfdd}.file-preview-image{width:100%;height:100%;object-fit:cover}.file-preview-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e1dfdd;border-radius:4px;color:#605e5c;flex-shrink:0}.file-preview-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.file-preview-name{font-size:13px;font-weight:500;color:#323130;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-size{font-size:11px;color:#605e5c}.file-preview-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#605e5c;cursor:pointer;border-radius:4px;padding:0;flex-shrink:0;transition:all .2s ease}.file-preview-remove:hover{background:#d13438;color:#fff}.file-preview-remove:active{transform:scale(.95)}@media (max-width: 768px){.file-attachment-preview{margin:6px 8px 0;padding:6px 10px}.file-preview-image-wrapper,.file-preview-icon{width:36px;height:36px}.file-preview-name{font-size:12px}.file-preview-size{font-size:10px}.file-preview-remove{width:24px;height:24px}.file-preview-remove svg{width:14px;height:14px}}.file-download-button-wrapper{width:100%;max-width:400px;display:flex;align-items:center;gap:8px}.file-download-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.file-download-button:hover:not(:disabled){background:#ebebeb;border-color:#d0d0d0}.file-download-button:active:not(:disabled){transform:scale(.98)}.file-download-button:disabled{cursor:not-allowed;opacity:.7}.file-download-button.downloading{background:#e3f2fd;border-color:#2196f3}.file-download-button.error{background:#ffebee;border-color:#f44336}.file-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border-radius:6px;flex-shrink:0;color:#666}.file-details{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.file-name{font-size:14px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:12px;color:#666}.download-progress{display:flex;align-items:center;gap:8px;position:relative;min-width:60px}.progress-bar{position:absolute;top:50%;left:0;transform:translateY(-50%);height:4px;background:#2196f3;border-radius:2px;transition:width .3s ease}.progress-text{font-size:12px;font-weight:500;color:#2196f3;margin-left:auto}.download-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border-radius:50%;color:#2196f3;flex-shrink:0;transition:transform .2s ease}.file-download-button:hover:not(:disabled) .download-icon{transform:translateY(2px)}.download-error{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;background:#ffebee;border:1px solid #f44336;border-radius:6px;font-size:13px;color:#c62828}.download-error svg{flex-shrink:0}.cancel-download-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:2px solid #f44336;border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0;color:#f44336;padding:0}.cancel-download-btn:hover{background:#f44336;color:#fff;transform:scale(1.1)}.cancel-download-btn:active{transform:scale(.95)}@media (prefers-color-scheme: dark){.file-download-button{background:#2a2a2a;border-color:#404040}.file-download-button:hover:not(:disabled){background:#333;border-color:#505050}.file-icon{background:#1a1a1a;color:#aaa}.file-name{color:#e0e0e0}.file-size{color:#aaa}.download-icon{background:#1a1a1a}.cancel-download-btn{background:#1a1a1a;border-color:#f44336}.cancel-download-btn:hover{background:#f44336;color:#fff}}@media (max-width: 600px){.file-download-button{padding:10px 12px}.file-icon{width:36px;height:36px}.file-name{font-size:13px}.file-size{font-size:11px}.download-icon{width:28px;height:28px}}.user-search-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-search-dialog{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.user-search-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.user-search-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.close-dialog-btn{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-dialog-btn:hover{background-color:#f3f4f6;color:#1f2937}.user-search-content{padding:24px;overflow-y:auto;flex:1}.search-input-container{position:relative;margin-bottom:20px}.search-input-container .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.user-search-input{width:100%;padding:12px 44px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;transition:all .2s;box-sizing:border-box}.user-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-spinner{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-hint{text-align:center;padding:16px;color:#6b7280;font-size:14px}.search-error{text-align:center;padding:16px;color:#dc2626;background-color:#fef2f2;border-radius:8px;font-size:14px}.no-results{text-align:center;padding:40px 16px;color:#6b7280;font-size:15px}.search-results,.results-section{display:flex;flex-direction:column;gap:8px}.section-divider{display:flex;align-items:center;margin:12px 0 8px;padding:0 4px}.exact-match-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #3b82f64d}.other-matches-label{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:6px 14px;background-color:#f3f4f6;border-radius:20px}.user-list-item{display:flex;align-items:center;gap:14px;padding:14px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s;cursor:pointer}.user-list-item:hover{background-color:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.user-list-item .user-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb;flex-shrink:0}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.user-username{font-weight:600;color:#1f2937;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-fullname{color:#6b7280;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-chat-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 6px #3b82f64d}.start-chat-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.start-chat-btn:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f64d}@media (max-width: 768px){.user-search-dialog{width:95%;max-height:90vh}.user-search-header{padding:16px 20px}.user-search-header h2{font-size:18px}.user-search-content{padding:20px}.user-list-item{gap:12px;padding:12px}.user-list-item .user-avatar{width:44px;height:44px}.user-username{font-size:14px}.user-fullname{font-size:12px}.start-chat-btn{padding:8px 16px;font-size:13px}}@media (max-width: 480px){.user-search-dialog{width:100%;max-height:100vh;border-radius:0}.user-info{max-width:140px}.start-chat-btn{padding:8px 14px;font-size:12px}}.edit-message-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.edit-message-dialog{background-color:#fff;border-radius:8px;width:90%;max-width:600px;box-shadow:0 2px 10px #0000004d;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.edit-message-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #e9edef;background-color:#f0f2f5;border-radius:8px 8px 0 0}.edit-message-close-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#54656f;transition:color .2s;margin-right:12px}.edit-message-close-btn:hover{color:#000}.edit-message-close-btn svg{width:24px;height:24px}.edit-message-title{font-size:16px;font-weight:500;color:#111b21}.edit-message-content{display:flex;flex-direction:column;background-color:#e5ddd5;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48cGF0dGVybiBpZD0iYSIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHBhdHRlcm5UcmFuc2Zvcm09InJvdGF0ZSgxMCkiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjUiIGZpbGw9IiNkYWQzY2MiIG9wYWNpdHk9IjAuMiIvPjwvcGF0dGVybj48L2RlZnM+PHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNhKSIvPjwvc3ZnPg==);padding:20px;min-height:200px}.edit-message-preview{display:flex;justify-content:flex-end;margin-bottom:16px}.preview-message{background-color:#d9fdd3;border-radius:8px;padding:6px 10px 8px;max-width:80%;box-shadow:0 1px .5px #00000021;position:relative}.preview-message-text{font-size:14.2px;line-height:19px;color:#111b21;word-wrap:break-word;white-space:pre-wrap;margin-bottom:4px}.preview-message-time{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:11px;color:#667781;margin-top:2px}.preview-check-icon{color:#53bdeb;width:16px;height:16px}.edit-message-input-container{display:flex;align-items:center;background-color:#fff;border-radius:8px;padding:8px 12px;gap:8px;box-shadow:0 1px 2px #0000001a}.edit-message-input{flex:1;border:none;outline:none;font-size:15px;color:#111b21;background:transparent;padding:6px 0}.edit-message-input::placeholder{color:#8696a0}.edit-message-emoji-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#8696a0;transition:color .2s}.edit-message-emoji-btn:hover{color:#54656f}.edit-message-save-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#00a884;transition:color .2s}.edit-message-save-btn:hover:not(:disabled){color:#06cf9c}.edit-message-save-btn:disabled{color:#8696a0;cursor:not-allowed}.edit-message-save-btn svg{width:24px;height:24px}@media (max-width: 768px){.edit-message-dialog{width:95%;max-width:none;margin:0 10px}.edit-message-content{min-height:150px}.preview-message{max-width:90%}}.call-button{background-color:transparent;color:#1e88e5;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.call-button:hover{background-color:#1e88e51a}.call-button:disabled{color:#ccc;cursor:not-allowed}.call-button:disabled:hover{background-color:transparent}.call-button svg{width:20px;height:20px}.video-call-container{position:fixed;inset:0;z-index:1000;background-color:#000}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#f0f2f5;height:100vh}.app{display:flex;height:100vh;background-color:#fff;overflow:hidden}.left-nav{width:68px;background-color:#f3f2f1;border-right:1px solid #e1dfdd;display:flex;flex-direction:column;align-items:center;padding:8px 0;flex-shrink:0}.nav-item{width:52px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:4px 0;cursor:pointer;border-radius:4px;background:none;border:none;color:#605e5c;font-size:11px;transition:background-color .2s;position:relative}.nav-item:hover,.nav-item.active{background-color:#e1dfdd}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background-color:#0078d4;border-radius:0 2px 2px 0}.nav-item svg{margin-bottom:2px}.nav-item span{font-size:10px;font-weight:400}.nav-spacer{flex:1}.user-avatar-nav{width:32px;height:32px;border-radius:50%;object-fit:cover;margin-top:8px;cursor:pointer;transition:transform .2s;border:2px solid transparent}.user-avatar-nav:hover{transform:scale(1.05);border-color:#0078d4}.user-avatar-nav:active{transform:scale(.95)}.sidebar{width:320px;border-right:1px solid #e1dfdd;display:flex;flex-direction:column;background:#faf9f8;flex-shrink:0}.sidebar-header{padding:16px;border-bottom:1px solid #e1dfdd;display:flex;flex-direction:column;gap:12px}.sidebar-header-title{display:flex;align-items:center;justify-content:space-between}.sidebar-header-title h2{font-size:20px;font-weight:600;color:#252423}.sidebar-header-actions{display:flex;gap:8px}.header-action-btn{padding:8px;border-radius:4px;border:none;background:none;cursor:pointer;color:#605e5c;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.header-action-btn:hover{background-color:#e1dfdd}.new-chat-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:4px;border:1px solid #8a8886;background:#fff;cursor:pointer;color:#252423;font-size:14px;font-weight:500;width:100%;justify-content:center;transition:all .2s}.new-chat-btn:hover{background-color:#f3f2f1;border-color:#605e5c}.menu-btn{padding:8px;border-radius:50%;border:none;background:none;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center}.menu-btn:hover{background-color:#f0f2f5}.search-container{position:relative;flex:1}.search-input{width:100%;padding:8px 32px 8px 36px;border-radius:4px;border:1px solid #8a8886;background-color:#fff;font-size:14px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#0078d4}.search-input::placeholder{color:#8a8886}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#605e5c;pointer-events:none}.main-menu{position:fixed;bottom:16px;left:76px;width:280px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:200;display:none;border:1px solid #e1dfdd}.main-menu.active{display:block;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-header{padding:16px;border-bottom:1px solid #e1dfdd;background-color:#faf9f8;border-radius:8px 8px 0 0}.menu-header h3{font-size:16px;font-weight:600;color:#252423;margin-bottom:4px}.menu-header p{font-size:13px;color:#605e5c;margin:2px 0}.menu-items{padding:8px 0}.menu-item{display:flex;align-items:center;gap:12px;padding:10px 16px;width:100%;border:none;background:none;cursor:pointer;color:#252423;text-align:left;font-size:14px;transition:background-color .2s}.menu-item:hover{background-color:#f3f2f1}.menu-item svg{color:#605e5c}.menu-item:last-child{border-top:1px solid #e1dfdd;margin-top:4px;padding-top:14px}.menu-item:last-child:hover{color:#d13438}.menu-item:last-child svg{color:#d13438}.chat-list{flex:1;overflow-y:auto;background-color:#faf9f8}.chat-item{display:flex;padding:12px 16px;gap:12px;cursor:pointer;transition:background-color .2s;border-left:3px solid transparent}.chat-item:hover{background-color:#f3f2f1}.chat-item.active{background-color:#fff;border-left-color:#0078d4}.chat-item img{width:48px;height:48px;border-radius:50%;object-fit:cover}.chat-item-info{flex:1;min-width:0}.chat-item-header{display:flex;justify-content:space-between;margin-bottom:4px}.chat-item-name{font-weight:600;color:#252423}.chat-item-time{font-size:12px;color:#605e5c;flex-shrink:0}.chat-item-message{display:flex;justify-content:space-between;align-items:center}.chat-item-last-message{font-size:13px;color:#605e5c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.unread-count{background-color:#0078d4;color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0;font-weight:600}.chat-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.chat-header{min-height:64px;padding:12px 24px;display:flex;flex-direction:column;border-bottom:1px solid #e1dfdd;background:#fff}.chat-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.chat-tabs{display:flex;gap:24px;margin-top:8px}.chat-tab{padding:8px 0;border:none;background:none;cursor:pointer;color:#605e5c;font-size:14px;font-weight:500;position:relative;transition:color .2s}.chat-tab:hover{color:#252423}.chat-tab.active{color:#0078d4}.chat-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:#0078d4}.chat-header-info{display:flex;align-items:center;gap:12px}.mobile-back-btn{display:none;padding:8px;border-radius:4px;border:none;background:none;cursor:pointer;color:#605e5c;align-items:center;justify-content:center;transition:background-color .2s;margin-right:-4px}.mobile-back-btn:hover{background-color:#f3f2f1}.chat-header-info img{width:40px;height:40px;border-radius:50%;object-fit:cover}.chat-header-info h3{font-size:18px;font-weight:600;color:#252423;margin-bottom:2px}.chat-header-info p{font-size:12px;color:#605e5c}.chat-header-actions{display:flex;gap:4px}.chat-header-actions button{padding:8px;border-radius:4px;border:none;background:none;cursor:pointer;color:#605e5c;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.chat-header-actions button:hover{background-color:#f3f2f1}.call-button{transition:all .2s ease}.call-button:hover{background-color:#e7f3ff!important;color:#0a85ff!important;transform:scale(1.05)}.call-button:active{transform:scale(.95)}.call-button:disabled{opacity:.5;cursor:not-allowed}.call-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;background-color:#000;display:flex;justify-content:center;align-items:center}.chat-tab-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-content-panel{flex:1;display:none;flex-direction:column;overflow:hidden}.tab-content-panel.active{display:flex}.messages-area{flex:1;background-color:#f5f5f5;padding:16px 24px;overflow-y:auto;display:flex;flex-direction:column}.message{padding:6px 7px 4px;border-radius:8px;font-size:14px;word-break:break-word;position:relative;transition:all .15s ease;max-width:100%;width:fit-content;min-width:fit-content;display:inline-flex;flex-direction:column}.message-wrapper:hover .message.outgoing{box-shadow:0 2px 4px #00000014;transform:translateY(-1px)}.message-info{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;min-height:16px;line-height:1;width:100%;min-width:fit-content}.message-info-right{display:inline-flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0;white-space:nowrap}.message .message-timestamp{font-size:11px;color:#777;white-space:nowrap}.message.incoming{background-color:#fff;align-self:flex-start;border-top-left-radius:0;border:1px solid #e1dfdd}.message.outgoing{background-color:#e3f2fd;align-self:flex-end;border-bottom-right-radius:0;border:1px solid #d1e7ff}.message.sending{opacity:.7}.status-icon{display:inline-flex;align-items:center;justify-content:center;height:14px;width:16px;flex-shrink:0;margin-left:4px;vertical-align:text-bottom}.status-icon svg{display:block;width:100%;height:100%}.status-icon.sending{font-size:13px}.status-icon.sent{color:#777}.status-icon.sent svg{stroke:#777}.status-icon.delivered{color:#777}.status-icon.delivered svg{stroke:#777}.status-icon.read{color:#53bdeb}.status-icon.read svg{stroke:#53bdeb}.edited-indicator{font-size:11px;color:#777;font-style:italic;white-space:nowrap;flex-shrink:0;display:inline-block}.message-wrapper{display:flex;align-items:center;gap:8px;margin-bottom:8px;width:fit-content;max-width:calc(65% + 48px)}.message-wrapper.incoming{align-self:flex-start}.message-wrapper.outgoing{align-self:flex-end;margin-left:auto;flex-direction:row-reverse}.message-actions-menu{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;background:#fff;border-radius:6px;padding:2px;box-shadow:0 2px 8px #0000001a;border:1px solid #e1dfdd;z-index:10;flex-shrink:0;transform:scale(.9)}.message-wrapper:hover .message-actions-menu{opacity:1;pointer-events:auto;transform:scale(1)}.message.outgoing.failed~.message-actions-menu{opacity:1;transform:translateY(-50%) translate(0);pointer-events:auto;border-color:#ff00004d}.action-menu-item{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#605e5c;transition:all .15s ease;padding:0}.action-menu-item:hover{background-color:#f3f2f1}.action-menu-item:active{background-color:#e1dfdd;transform:scale(.95)}.retry-action{color:#0078d4}.retry-action:hover{background-color:#0078d41a}.edit-action{color:#6264a7}.edit-action:hover{background-color:#6264a71a;color:#6264a7}.delete-action:hover{background-color:#d134381a;color:#d13438}.message.outgoing.failed{background-color:#d1343814;border:1px solid rgba(209,52,56,.2);animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.message-attachment{margin-bottom:4px;max-width:100%}.message-attachment .file-download-button-wrapper{max-width:100%}.message.incoming .message-attachment .file-download-button{background:#fffffff2}.message.outgoing .message-attachment .file-download-button{background:#ffffffe6}.message-text{line-height:1.4;padding-bottom:2px;display:inline-block;width:fit-content}.message-input{min-height:64px;padding:12px 24px;display:flex;align-items:center;gap:8px;background:#fff;border-top:1px solid #e1dfdd}.message-input button{padding:8px;border-radius:4px;border:none;background:none;cursor:pointer;color:#605e5c;display:flex;align-items:center;justify-content:center;transition:background-color .2s;flex-shrink:0}.message-input button:hover{background-color:#f3f2f1}.message-input button.disabled{opacity:.5;cursor:not-allowed}.message-input button.disabled:hover{background-color:transparent}.input-wrapper{flex:1;position:relative;display:flex;flex-direction:column}.message-input input{flex:1;width:100%;padding:10px 16px;border-radius:4px;border:1px solid #8a8886;background-color:#fff;font-size:14px;transition:border-color .2s}.message-input input:focus{outline:none;border-color:#0078d4}.message-input input.over-limit{border-color:#d13438;background-color:#fff5f5}.message-input input.over-limit:focus{border-color:#d13438}.character-counter{position:absolute;bottom:-18px;right:4px;font-size:11px;color:#605e5c;background-color:#fff;padding:2px 6px;border-radius:3px;font-weight:500;transition:color .2s}.character-counter.over-limit{color:#d13438;font-weight:600}.files-tab-content{padding:24px;overflow-y:auto}.files-tab-content h3{font-size:16px;font-weight:600;color:#252423;margin-bottom:16px}.call-notification{position:fixed;top:64px;right:24px;display:inline-flex;align-items:center;gap:12px;padding:12px 20px;border-radius:12px;background:#111827eb;color:#f9fafb;box-shadow:0 20px 48px #0f172a40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:14px;font-weight:500;z-index:998;transition:opacity .3s ease,transform .3s ease}.call-notification.error{background:linear-gradient(135deg,#dc2626,#b91c1c)}.call-notification.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.files-list{display:flex;flex-direction:column;gap:8px}.file-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:4px;border:1px solid #e1dfdd;background:#faf9f8;cursor:pointer;transition:background-color .2s}.file-item:hover{background-color:#f3f2f1}.file-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#605e5c}.file-info{flex:1}.file-name{font-size:14px;font-weight:500;color:#252423;margin-bottom:2px}.file-meta{font-size:12px;color:#605e5c}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#605e5c;text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{font-size:14px}@media (max-width: 768px){.app{flex-direction:row}.left-nav{width:56px;padding:8px 4px}.nav-item{width:48px;height:48px;font-size:10px}.nav-item span{font-size:9px}.user-avatar-nav{width:28px;height:28px}.sidebar{width:calc(100% - 56px);max-width:320px;flex-shrink:0;border-right:1px solid #e1dfdd;position:relative;transform:none;z-index:1}.sidebar-header{padding:12px}.sidebar-header-title h2{font-size:18px}.new-chat-btn{padding:6px 12px;font-size:13px}.search-input{padding:6px 10px 6px 32px;font-size:13px}.chat-list{overflow-y:auto}.chat-item{padding:10px 12px}.chat-item img{width:42px;height:42px}.chat-item-name{font-size:14px}.chat-item-last-message{font-size:12px;max-width:150px}.chat-area{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;background:#fff}.chat-area.mobile-visible{display:flex}.chat-header{padding:10px 12px;min-height:56px}.mobile-back-btn{display:flex}.chat-header-info{gap:8px}.chat-header-info img{width:36px;height:36px}.chat-header-info h3{font-size:16px}.chat-header-actions button{padding:6px}.chat-header-actions button svg{width:18px;height:18px}.chat-tabs{gap:16px}.chat-tab{font-size:13px;padding:6px 0}.messages-area{padding:12px 8px}.message{max-width:80%;padding:5px 7px 3px;font-size:14px}.message-text{line-height:1.35;padding-bottom:2px}.message-info{gap:6px;margin-top:3px;min-height:14px}.message .message-timestamp,.edited-indicator{font-size:10px}.status-icon{height:12px}.status-icon svg{width:14px;height:14px}.message-input{min-height:56px;padding:8px;gap:4px;flex-wrap:nowrap;overflow-x:visible}.message-input button{padding:6px;flex-shrink:0}.message-input button svg{width:18px;height:18px}.input-wrapper{flex:1;min-width:0}.message-input input{flex:1;min-width:0;padding:8px 10px;font-size:14px}.character-counter{bottom:-16px;right:2px;font-size:10px;padding:1px 4px}.main-menu{left:60px;bottom:12px;width:260px}.files-tab-content{padding:16px 12px}.empty-state{padding:32px 16px}.empty-state svg{width:40px;height:40px}.call-notification{top:52px;right:12px;left:12px;padding:10px 16px;font-size:13px}}@media (max-width: 480px){.left-nav{width:48px;padding:6px 2px}.nav-item{width:44px;height:44px}.nav-item span{display:none}.sidebar{width:calc(100% - 48px);max-width:280px}.sidebar-header{padding:10px}.chat-item{padding:8px 10px;gap:10px}.chat-item img{width:38px;height:38px}.chat-item-name{font-size:13px}.chat-item-last-message{font-size:11px;max-width:120px}.message{max-width:85%;padding:5px 7px 3px;font-size:13px}.message-text{line-height:1.3;padding-bottom:1px}.message-info{gap:5px;margin-top:2px;min-height:13px}.message .message-timestamp,.edited-indicator{font-size:9px}.status-icon{height:11px}.status-icon svg{width:12px;height:12px}.message-input{padding:6px;gap:3px}.message-input button{padding:5px}.input-wrapper{flex:1;min-width:0}.message-input input{padding:7px 9px;font-size:13px}.character-counter{bottom:-15px;font-size:9px;padding:1px 3px}.main-menu{left:52px;width:calc(100% - 64px);max-width:280px}}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s}.search-clear-btn:hover{background-color:#e5e7eb;color:#374151}.message-search-panel{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.message-search-input-container{position:relative;flex:1;max-width:300px}.message-search-input-container .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.message-search-input{width:100%;padding:8px 32px 8px 36px;border-radius:20px;border:1px solid #d1d5db;background-color:#fff;font-size:14px;transition:border-color .2s,box-shadow .2s}.message-search-input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d433}.message-search-input::placeholder{color:#9ca3af}.search-navigation{display:flex;align-items:center;gap:4px}.search-results-count{font-size:13px;color:#374151;white-space:nowrap;min-width:70px;text-align:center}.search-results-count.search-no-results{color:#9ca3af}.search-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;border-radius:50%;cursor:pointer;color:#374151;transition:background-color .15s,color .15s}.search-nav-btn:hover:not(:disabled){background-color:#e5e7eb;color:#111827}.search-nav-btn:active:not(:disabled){background-color:#d1d5db}.search-nav-btn:disabled{color:#9ca3af;cursor:not-allowed}.search-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;border-radius:50%;cursor:pointer;color:#6b7280;margin-left:auto;transition:background-color .15s,color .15s}.search-close-btn:hover{background-color:#e5e7eb;color:#374151}.search-highlight{background-color:#fef08a;color:#1f2937;padding:0 2px;border-radius:2px}.search-current-match .message{box-shadow:0 0 0 2px #0078d4}.search-current-match .search-highlight{background-color:#fb923c;color:#fff}.chat-header-actions button.active{background-color:#0078d41a;color:#0078d4}@keyframes pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.MuiButton-root{transition:all .3s ease}.MuiPaper-root::-webkit-scrollbar{width:8px}.MuiPaper-root::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.MuiPaper-root::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.MuiPaper-root::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width: 600px){.error-fallback-container{padding:1rem}}
