@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);:root{--bg-primary:#f8f9fa;--bg-secondary:#fff;--text-primary:#212529;--text-secondary:#495057;--accent-color:#3f72af;--border-color:#dee2e6;--shadow-color:#0000001a;--input-bg:#fff;--button-text:#fff;--sidebar-bg:#3f72af;--sidebar-text:#fff;--sidebar-hover:#ffffff26;--card-bg:#fff;--message-own-text:#fff;--message-own-bg:#3f72af;--message-other-bg:#e9e9e9;--message-other-text:#212529;--message-shadow:#0000001a}.dark{--bg-primary:#121212;--bg-secondary:#1e1e1e;--text-primary:#e9ecef;--text-secondary:#adb5bd;--accent-color:#4f94e0;--border-color:#343a40;--shadow-color:#0000004d;--input-bg:#2c2c2c;--button-text:#fff;--sidebar-bg:#1e1e1e;--sidebar-text:#e9ecef;--sidebar-hover:#ffffff1a;--card-bg:#2c2c2c;--message-own-text:#fff;--message-own-bg:#2b5278;--message-other-bg:#2c2c2c;--message-other-text:#e9ecef;--message-shadow:#00000040}.theme-transition{transition:background-color .5s ease,color .5s ease,border-color .5s ease,box-shadow .5s ease}.dark .btn-primary,.dark button.btn-primary{box-shadow:0 4px 10px #0006}.dark .sidebar li.active button{background-color:#4f94e04d;color:#fff}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--bg-primary);color:#212529;color:var(--text-primary);font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer}a{color:inherit;text-decoration:none}.dark a{color:#3f72af;color:var(--accent-color)}.dark .auth-form-container h2,.dark .auth-form-container h3{color:#212529;color:var(--text-primary)}.auth-container{align-items:center;background:linear-gradient(135deg,var(--accent-color),var(--bg-primary));display:flex;font-family:Poppins,sans-serif;justify-content:center;min-height:100vh;padding:20px}@media(max-width:767px){.auth-container{padding:15px}}.auth-container:before{height:200px;left:-50px;top:-50px;width:200px}.auth-container:after,.auth-container:before{background:var(--shadow-color);border-radius:50%;content:"";position:absolute;z-index:0}.auth-container:after{bottom:-80px;height:300px;right:-80px;width:300px}.auth-form-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 30px var(--shadow-color);max-width:520px;overflow:hidden;padding:2.5rem;position:relative;width:100%;z-index:1}@media(max-width:767px){.auth-form-container{max-width:100%;padding:1.8rem 1.5rem}}.auth-form-container:before{animation:wave 8s linear infinite;background:linear-gradient(45deg,#0000,var(--shadow-color),#0000);bottom:-10px;content:"";left:-10px;position:absolute;right:-10px;top:-10px;transform:translateY(-100%);z-index:-1}.auth-form-container h2{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.5rem;text-align:center}@media(max-width:767px){.auth-form-container h2{font-size:1.7rem}}.auth-form-container h3{color:var(--text-secondary);font-weight:400;margin-bottom:2rem;position:relative;text-align:center}@media(max-width:767px){.auth-form-container h3{font-size:.95rem;margin-bottom:1.5rem}}.auth-form-container h3:after{background:var(--accent-color);border-radius:3px;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.form-group{margin-bottom:1.5rem;position:relative}@media(max-width:767px){.form-group{margin-bottom:1.2rem}}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group label{color:var(--text-primary);transition:all .3s ease}.form-group input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;font-size:1rem;padding:12px 15px;width:100%}@media(max-width:767px){.form-group input{font-size:.95rem;padding:10px 12px}}.form-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--shadow-color);outline:none}.form-group input::placeholder{color:var(--text-secondary);opacity:.7}.form-row{display:flex;gap:1.2rem}@media(max-width:767px){.form-row{flex-direction:column;gap:0}}.form-row .form-group{flex:1 1}.btn-primary{background:var(--accent-color);border:none;border-radius:8px;color:var(--button-text);cursor:pointer;font-size:1rem;font-weight:600;margin-top:1.5rem;overflow:hidden;padding:14px;position:relative;transition:all .3s ease;width:100%}@media(max-width:767px){.btn-primary{font-size:.95rem;margin-top:1rem;padding:12px}}.btn-primary:hover{background-color:#325a8a;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.error-message{margin-bottom:1.5rem;padding:12px}.error-message:before{font-size:1.2rem}.auth-footer{color:var(--text-secondary);margin-top:2rem;text-align:center}.auth-footer .text-link,.auth-footer a{background:none;border:none;color:var(--accent-color);cursor:pointer;font-weight:500;margin-left:5px;padding:0;text-decoration:none;transition:all .3s ease}.auth-footer .text-link:hover,.auth-footer a:hover{text-decoration:underline}@keyframes wave{0%{transform:translateY(-100%) rotate(0deg)}to{transform:translateY(100%) rotate(1turn)}}@keyframes ripple{0%{opacity:1;transform:scale(0)}20%{opacity:1;transform:scale(25)}to{opacity:0;transform:scale(40)}}.input-icon{color:var(--accent-color);font-size:.9rem;vertical-align:middle}.dark .form-group input,.dark .form-group label{color:var(--text-primary)}.dark .form-group input{background-color:var(--input-bg);border-color:var(--border-color)}.dark .form-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #4f94e033}.dark .form-group input::placeholder{color:var(--text-secondary);opacity:.7}.dark .btn-primary{background-color:var(--accent-color);color:var(--button-text)}.dark .btn-primary:hover{background-color:#267ad6;box-shadow:0 5px 15px #0000004d}.dark .auth-footer .text-link,.dark .auth-footer a{color:var(--accent-color)}.dark .auth-footer .text-link:hover,.dark .auth-footer a:hover{color:#7aaee8}.dark .error-message{background-color:#e74c3c26}:root{--sidebar-width:250px;--sidebar-collapsed-width:70px;--header-height:60px;--sidebar-bg:#2c3e50;--sidebar-hover:#34495e;--sidebar-active:#3498db;--sidebar-text:#ecf0f1;--sidebar-icon:#bdc3c7;--shadow:0 2px 10px #0000001a;--border-radius:10px;--transition-speed:0.3s}.layout-container{display:flex;height:100vh;overflow:hidden;position:relative;width:100%}.layout-container .mobile-header{align-items:center;background-color:var(--bg-color);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);display:none;height:60px;height:var(--header-height);justify-content:space-between;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:100}.layout-container .mobile-header .menu-toggle{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;font-size:1.25rem;height:40px;justify-content:center;transition:background-color .3s;transition:background-color var(--transition-speed);width:40px}.layout-container .mobile-header .menu-toggle:hover{background-color:var(--hover-bg)}.layout-container .mobile-header .app-title{color:var(--text-color);font-size:1.25rem;font-weight:600}.layout-container .mobile-header .user-avatar-mobile{align-items:center;background-color:var(--primary-color-light);border-radius:50%;color:var(--primary-color);display:flex;font-weight:700;height:36px;justify-content:center;overflow:hidden;width:36px}.layout-container .mobile-header .user-avatar-mobile img{height:100%;object-fit:cover;width:100%}.layout-container .sidebar{background-color:var(--card-bg);border-right:1px solid var(--border-color);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;transition:width .3s,transform .3s;transition:width var(--transition-speed),transform var(--transition-speed);width:250px;width:var(--sidebar-width);z-index:999}.layout-container .sidebar.collapsed{width:70px;width:var(--sidebar-collapsed-width)}.layout-container .sidebar .sidebar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;height:60px;height:var(--header-height);justify-content:space-between;padding:16px}.layout-container .sidebar .sidebar-header .app-title{color:var(--text-color);font-size:1.25rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-container .sidebar .sidebar-header .collapse-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .3s;transition:background-color var(--transition-speed)}.layout-container .sidebar .sidebar-header .collapse-btn:hover{background-color:var(--hover-bg)}.layout-container .sidebar .sidebar-header .collapse-btn svg{transform:rotate(0deg);transition:transform .3s;transition:transform var(--transition-speed)}.layout-container .sidebar .sidebar-header .collapsed .sidebar-header .collapse-btn svg{transform:rotate(180deg)}.layout-container .sidebar .user-info{align-items:center;border-bottom:1px solid var(--border-color);display:flex;padding:16px}.layout-container .sidebar .user-info .user-avatar{align-items:center;background-color:var(--primary-color-light);border-radius:50%;color:var(--primary-color);display:flex;flex-shrink:0;font-weight:700;height:42px;justify-content:center;margin-right:12px;overflow:hidden;width:42px}.layout-container .sidebar .user-info .user-avatar img{height:100%;object-fit:cover;width:100%}.layout-container .sidebar .user-info .user-avatar .default-avatar{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.layout-container .sidebar .user-info .user-details{flex:1 1;overflow:hidden}.layout-container .sidebar .user-info .user-details h3{color:var(--text-color);font-size:1rem;font-weight:500;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-container .sidebar .user-info .user-details .status{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem}.layout-container .sidebar .user-info .user-details .status:before{border-radius:50%;content:"";display:inline-block;height:8px;margin-right:6px;width:8px}.layout-container .sidebar .user-info .user-details .status.online:before{background-color:var(--success-color)}.layout-container .sidebar .user-info .user-details .status.offline:before{background-color:var(--text-muted)}.layout-container .sidebar .sidebar-nav{flex:1 1;padding:16px 0}.layout-container .sidebar .sidebar-nav ul{list-style:none;margin:0;padding:0}.layout-container .sidebar .sidebar-nav ul li{margin-bottom:4px}.layout-container .sidebar .sidebar-nav ul li a{align-items:center;border-radius:8px;color:var(--text-color);display:flex;margin:0 8px;padding:12px 16px;text-decoration:none;transition:all .3s;transition:all var(--transition-speed)}.layout-container .sidebar .sidebar-nav ul li a svg{color:var(--text-secondary);font-size:1.25rem;margin-right:12px;transition:color .3s;transition:color var(--transition-speed)}.layout-container .sidebar .sidebar-nav ul li a span{overflow:hidden;white-space:nowrap}.layout-container .sidebar .sidebar-nav ul li a:hover{background-color:var(--hover-bg)}.layout-container .sidebar .sidebar-nav ul li a:hover svg{color:var(--primary-color)}.layout-container .sidebar .sidebar-nav ul li a.active{background-color:var(--primary-color-light);color:var(--primary-color)}.layout-container .sidebar .sidebar-nav ul li a.active svg{color:var(--primary-color)}.layout-container .sidebar .sidebar-footer{border-top:1px solid var(--border-color);padding:16px}.layout-container .sidebar .sidebar-footer .logout-btn{align-items:center;background-color:var(--danger-color-light);border:none;border-radius:8px;color:var(--danger-color);cursor:pointer;display:flex;font-weight:500;justify-content:center;padding:12px;transition:all .3s;transition:all var(--transition-speed);width:100%}.layout-container .sidebar .sidebar-footer .logout-btn svg{margin-right:8px}.layout-container .sidebar .sidebar-footer .logout-btn:hover{background-color:var(--danger-color);color:#fff}.layout-container .main-content,.layout-container .main-content-expanded{flex:1 1;height:100%;overflow-y:auto;padding:20px;transition:margin-left .3s;transition:margin-left var(--transition-speed);width:calc(100% - 250px);width:calc(100% - var(--sidebar-width))}.layout-container .main-content-expanded{width:calc(100% - 70px);width:calc(100% - var(--sidebar-collapsed-width))}.layout-container .content-container{display:flex;flex-direction:column;height:100%;width:100%}.layout-container .mobile-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:998}@media(max-width:768px){.layout-container .mobile-header{display:flex}.layout-container .sidebar{height:calc(100% - 60px);height:calc(100% - var(--header-height));left:-100%;position:fixed;top:60px;top:var(--header-height)}.layout-container .sidebar.mobile-open{left:0;width:250px;width:var(--sidebar-width)}.layout-container .main-content,.layout-container .main-content-expanded{margin-left:0;margin-top:60px;margin-top:var(--header-height);width:100%}.layout-container .mobile-overlay{display:block}}.home-container{background:var(--bg-primary);font-family:Poppins,sans-serif;height:100vh}.home-container,.sidebar{display:flex;overflow:hidden;position:relative}.sidebar{background-color:#2c3e50;box-shadow:5px 0 15px var(--shadow-color);color:#ecf0f1;flex-direction:column;height:100%;width:280px;z-index:10}.sidebar:before{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><circle cx="30" cy="30" r="30" fill="white" opacity="0.05"/><circle cx="80" cy="80" r="40" fill="white" opacity="0.04"/></svg>');background-size:cover;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.sidebar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px}.sidebar-header h2{color:#ecf0f1;font-size:1.7rem;font-weight:700;letter-spacing:1px;margin:0}.sidebar-header .close-mobile-menu{background:none;border:none;color:#ecf0f1;cursor:pointer;display:none;font-size:1.2rem;padding:8px}@media(max-width:767px){.sidebar-header .close-mobile-menu{display:block}}.sidebar-nav{flex-grow:1;padding:20px 0}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav li{margin-bottom:8px}.sidebar-nav li.active button{background-color:#3498db;box-shadow:0 5px 10px #0003}.sidebar-nav li.active button:before{opacity:1;transform:translateX(0)}.sidebar-nav button{background:none;border:none;color:#ecf0f1;cursor:pointer;font-size:1rem;font-weight:500;overflow:hidden;padding:14px 24px;position:relative;text-align:left;transition:all .3s ease;width:100%}.sidebar-nav button:before{background-color:#3498db;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transform:translateX(-10px);transition:all .3s ease;width:5px}.sidebar-nav button:hover{background-color:#ffffff1a}.dark .sidebar-nav button{color:var(--sidebar-text)}.dark .sidebar-nav li.active button{background-color:#4f94e04d;color:#fff}.dark .sidebar-nav li.active button:before{background-color:var(--accent-color)}.sidebar-footer{border-top:1px solid #ffffff1a;padding:20px 24px}.user-info{margin-bottom:20px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background-color:#3498db;border:2px solid #fff3;border-radius:50%;box-shadow:0 3px 10px #0003;font-size:1.2rem;font-weight:600;height:46px;justify-content:center;margin-right:14px;overflow:hidden;width:46px}.user-avatar img{display:block;height:100%;object-fit:cover;width:100%}.user-name{font-size:1rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background-color:#e74c3ccc;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.logout-btn:hover{background-color:#e74c3c;box-shadow:0 5px 15px #e74c3c4d;transform:translateY(-2px)}.logout-btn:active{transform:translateY(0)}.main-content{flex-grow:1;overflow-y:auto;padding:40px;position:relative}.main-content h3{color:#2c3e50;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.main-content h3:after{background-color:#3498db;border-radius:3px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}@media(max-width:767px){.main-content{padding:20px;width:100%}}.messages-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 30px var(--shadow-color);padding:30px}@media(max-width:767px){.messages-container{padding:15px}}.messages-container .empty-state{padding:40px 20px;text-align:center}.messages-container .empty-state .icon{color:#ecf0f1;font-size:4rem;margin-bottom:20px}.messages-container .empty-state h4{color:#2c3e50;font-size:1.4rem;margin-bottom:10px}.messages-container .empty-state p{color:#7f8c8d;line-height:1.6;margin:0 auto 15px;max-width:400px}.friends-container{width:100%}.friends-container h3{border-bottom:1px solid var(--border-color);color:var(--text-color-primary);font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.75rem}@media(max-width:767px){.friends-container h3{font-size:1.3rem;margin-bottom:1rem}}.friends-container h4{color:var(--text-color-primary);font-size:1.25rem;margin:1.5rem 0 1rem}.friends-container .search-input-container{align-items:center;display:flex;margin-bottom:10px;position:relative}.friends-container .search-box{margin-bottom:25px;position:relative;width:100%}.friends-container .search-box .search-icon{color:var(--accent-color);font-size:1.2rem;left:20px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.friends-container .search-box input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:30px;box-shadow:0 4px 10px var(--shadow-color);color:var(--text-primary);font-size:1rem;padding:18px 50px 18px 55px;transition:all .3s ease;width:100%}@media(max-width:767px){.friends-container .search-box input{font-size:.95rem;padding:14px 40px 14px 45px}}.friends-container .search-box input:focus{border-color:var(--accent-color);box-shadow:0 5px 15px var(--shadow-color);outline:none;transform:translateY(-2px)}.friends-container .search-box input::placeholder{color:var(--text-secondary);opacity:.8}.friends-container .search-box .clear-search{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:5px;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:all .2s ease;z-index:1}.friends-container .search-box .clear-search:hover{color:#e74c3c}.friends-container .search-box .search-info{align-items:center;background-color:#3498db14;border-left:3px solid var(--accent-color);border-radius:8px;color:var(--accent-color);display:flex;font-size:.9rem;margin-top:10px;padding:8px 16px}.friends-container .search-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.friends-container .search-results-header h4{color:var(--text-primary);font-size:1.3rem;margin:0}.friends-container .search-results-header h4:after{content:none}.friends-container .search-results-header .result-count{background-color:var(--bg-secondary);border-radius:20px;color:var(--text-secondary);font-size:.95rem;font-weight:500;padding:5px 12px}.friends-container .user-item{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:15px;box-shadow:0 3px 12px var(--shadow-color);display:flex;justify-content:space-between;margin-bottom:15px;padding:18px;transition:all .3s ease}@media(max-width:767px){.friends-container .user-item{align-items:flex-start;flex-direction:column;padding:12px}}.friends-container .user-item:hover{box-shadow:0 8px 20px var(--shadow-color);transform:translateY(-3px)}.friends-container .user-item .user-info{align-items:center;display:flex;flex:1 1}@media(max-width:767px){.friends-container .user-item .user-info{margin-bottom:15px;width:100%}}.friends-container .user-item .user-info .user-avatar{align-items:center;background-color:var(--accent-color);border:3px solid var(--card-bg);border-radius:50%;box-shadow:0 3px 10px var(--shadow-color);color:#fff;display:flex;font-size:1.5rem;font-weight:600;height:60px;justify-content:center;margin-right:20px;min-width:60px;overflow:hidden;position:relative;width:60px}@media(max-width:767px){.friends-container .user-item .user-info .user-avatar{font-size:1.2rem;height:50px;margin-right:15px;min-width:50px;width:50px}}.friends-container .user-item .user-info .user-avatar img{height:100%;object-fit:cover;width:100%}.friends-container .user-item .user-info .user-avatar .online-indicator{animation:pulse 2s infinite;background-color:#27ae60;border:2px solid var(--card-bg);border-radius:50%;bottom:3px;box-shadow:0 2px 5px var(--shadow-color);height:12px;position:absolute;right:3px;width:12px}.friends-container .user-item .user-info .user-details{display:flex;flex-direction:column;justify-content:center}.friends-container .user-item .user-info .user-details .user-name{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:3px}.friends-container .user-item .user-info .user-details .user-username{color:var(--text-secondary);font-size:.95rem;margin-bottom:7px}.friends-container .user-item .user-info .user-details .user-status{align-items:center;display:flex;font-size:.85rem;font-weight:500}.friends-container .user-item .user-info .user-details .user-status.online{color:#27ae60}.friends-container .user-item .user-info .user-details .user-status.online:before{animation:pulse 2s infinite;background-color:#27ae60;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;width:8px}.friends-container .user-item .user-info .user-details .user-status.offline{color:var(--text-secondary)}.friends-container .user-item .user-info .user-details .user-status.offline:before{background-color:var(--text-secondary);border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;width:8px}.friends-container .user-item .btn-add-friend{align-items:center;background-color:var(--accent-color);border:none;border-radius:30px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:5px;margin-left:15px;padding:10px 20px;transition:all .3s ease}.friends-container .user-item .btn-add-friend:hover{background-color:#2980b9;box-shadow:0 5px 10px var(--shadow-color);transform:translateY(-3px)}.friends-container .user-item .btn-add-friend:disabled{background-color:var(--text-secondary);box-shadow:none;cursor:not-allowed;transform:none}.friends-container .no-results{background-color:var(--card-bg);border:1px dashed var(--border-color);border-radius:15px;box-shadow:0 5px 15px var(--shadow-color);margin:20px 0 30px;padding:40px 20px;text-align:center}.friends-container .no-results h4{color:var(--text-primary);font-size:1.4rem;margin:10px 0}.friends-container .no-results p{color:var(--text-secondary);font-size:1.05rem;margin:0 auto 10px;max-width:500px}.friends-container .no-results .search-suggestion{color:var(--text-secondary);font-size:.95rem;font-style:italic;margin-top:15px}.friends-container .search-loading{padding:40px 0;text-align:center}.friends-container .search-loading .loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #3498db4d;border-radius:50%;border-top:3px solid var(--accent-color);display:inline-block;height:50px;margin-bottom:15px;width:50px}.friends-container .search-loading p{color:var(--text-secondary);font-size:1rem}.friends-container .requests-section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 5px 15px #0000000d;margin-bottom:30px;padding:20px}.friends-container .requests-section h4{color:var(--text-primary);font-size:1.3rem;margin-bottom:15px;padding-bottom:10px;position:relative}.friends-container .requests-section h4:after{background-color:var(--accent-color);border-radius:3px;bottom:0;content:"";height:3px;left:0;position:absolute;width:40px}.friends-container .requests-section .requests-list{display:flex;flex-direction:column;gap:15px}.friends-container .requests-section .request-item{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;justify-content:space-between;padding:15px;transition:all .3s ease}.friends-container .requests-section .request-item:hover{box-shadow:0 5px 15px var(--shadow-color);transform:translateY(-3px)}.friends-container .requests-section .request-item .user-info{align-items:center;display:flex;flex:1 1}.friends-container .requests-section .request-item .user-info .user-avatar{align-items:center;background-color:var(--accent-color);border:2px solid var(--bg-secondary);border-radius:50%;box-shadow:0 3px 8px var(--shadow-color);color:#fff;display:flex;font-size:1.2rem;height:50px;justify-content:center;margin-right:15px;overflow:hidden;width:50px}.friends-container .requests-section .request-item .user-info .user-avatar img{height:100%;object-fit:cover;width:100%}.friends-container .requests-section .request-item .user-info .user-details{display:flex;flex-direction:column}.friends-container .requests-section .request-item .user-info .user-details .user-name{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:3px}.friends-container .requests-section .request-item .user-info .user-details .user-username{color:var(--text-secondary);font-size:.85rem;margin-bottom:5px}.friends-container .requests-section .request-item .user-info .user-details .user-status{align-items:center;display:flex;font-size:.8rem}.friends-container .requests-section .request-item .user-info .user-details .user-status.online{color:#27ae60}.friends-container .requests-section .request-item .user-info .user-details .user-status.online:before{animation:pulse 2s infinite;background-color:#27ae60;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;width:8px}.friends-container .requests-section .request-item .user-info .user-details .user-status.offline{color:#7f8c8d}.friends-container .requests-section .request-item .user-info .user-details .user-status.offline:before{background-color:#7f8c8d;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;width:8px}.friends-container .requests-section .request-item .user-info .user-details .request-status{align-items:center;color:#f39c12;display:flex;font-size:.85rem;gap:5px}.friends-container .requests-section .request-item .request-actions{display:flex;gap:10px}.friends-container .requests-section .request-item .request-actions button{align-items:center;border:none;border-radius:30px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:5px;padding:8px 15px;transition:all .3s ease}.friends-container .requests-section .request-item .request-actions button.btn-accept{background-color:#219653;color:#fff}.friends-container .requests-section .request-item .request-actions button.btn-accept:hover{background-color:#219653;box-shadow:0 5px 10px #27ae604d;transform:translateY(-3px)}.friends-container .requests-section .request-item .request-actions button.btn-reject{background-color:#e74c3c1a;color:#e74c3c}.friends-container .requests-section .request-item .request-actions button.btn-reject:hover{background-color:#e74c3c;box-shadow:0 5px 10px #e74c3c4d;color:#fff;transform:translateY(-3px)}.friends-container .requests-section .request-item .request-actions button.btn-cancel{background-color:#95a5a61a;color:#7f8c8d}.friends-container .requests-section .request-item .request-actions button.btn-cancel:hover{background-color:#7f8c8d;box-shadow:0 5px 10px #7f8c8d4d;color:#fff;transform:translateY(-3px)}.friends-container .requests-section .request-item .request-actions button:disabled{background-color:#95a5a6;box-shadow:none;color:#fff;cursor:not-allowed;transform:none}.friends-container .friends-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:20px}.friends-container .friends-grid .friend-item{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;overflow:hidden;padding:15px;position:relative;text-align:center;transition:all .3s ease}.friends-container .friends-grid .friend-item:before{background:linear-gradient(to right,var(--accent-color),#7f8c8d);border-radius:4px 4px 0 0;content:"";height:4px;left:0;position:absolute;top:0;width:100%}.friends-container .friends-grid .friend-item:hover{box-shadow:0 5px 15px #00000014;transform:translateY(-3px)}.friends-container .friends-grid .friend-item .friend-avatar{align-items:center;background-color:var(--accent-color);border:2px solid #fff;border-radius:50%;box-shadow:0 3px 8px #0000001a;color:#fff;display:flex;font-size:24px;height:60px;justify-content:center;margin:5px auto 10px;overflow:hidden;position:relative;width:60px}.friends-container .friends-grid .friend-item .friend-avatar img{height:100%;object-fit:cover;width:100%}.friends-container .friends-grid .friend-item .friend-avatar .online-indicator{animation:pulse 2s infinite;background-color:#27ae60;border:2px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 4px #00000026;height:12px;position:absolute;right:0;width:12px}.friends-container .friends-grid .friend-item .friend-info{margin-bottom:10px;width:100%}.friends-container .friends-grid .friend-item .friend-info h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:3px 0}.friends-container .friends-grid .friend-item .friend-info p{color:var(--text-secondary);font-size:.8rem;margin:0 0 6px}.friends-container .friends-grid .friend-item .friend-info .status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.7rem;font-weight:500;margin-top:3px;padding:4px 8px}.friends-container .friends-grid .friend-item .friend-info .status-badge.online{background-color:#2ecc7126;border:1px solid #2ecc7133;color:#27ae60}.friends-container .friends-grid .friend-item .friend-info .status-badge.online:before{animation:pulse 2s infinite;background:#27ae60;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;width:8px}.friends-container .friends-grid .friend-item .friend-info .status-badge.offline{background-color:#95a5a626;border:1px solid #95a5a633;color:#7f8c8d}.friends-container .friends-grid .friend-item .friend-info .status-badge.offline:before{background:#7f8c8d;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;width:8px}.friends-container .friends-grid .friend-item .friend-actions{display:flex;gap:8px;justify-content:center;margin-top:auto;width:100%}.friends-container .friends-grid .friend-item .friend-actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:.8rem;font-weight:500;gap:6px;justify-content:center;padding:8px 0;transition:all .2s ease}.friends-container .friends-grid .friend-item .friend-actions button.btn-icon{align-items:center;border-radius:50%;display:flex;flex:initial;font-size:.9rem;height:32px;justify-content:center;width:32px}.friends-container .friends-grid .friend-item .friend-actions button.btn-icon:not(.delete){background-color:var(--accent-color);color:#fff}.friends-container .friends-grid .friend-item .friend-actions button.btn-icon:not(.delete):hover{background-color:#2980b9;box-shadow:0 5px 10px #0000004d;transform:translateY(-3px)}.friends-container .friends-grid .friend-item .friend-actions button.btn-icon.delete{background-color:#e74c3c1a;color:#e74c3c}.friends-container .friends-grid .friend-item .friend-actions button.btn-icon.delete:hover{background-color:#e74c3c;box-shadow:0 5px 10px #e74c3c4d;color:#fff;transform:translateY(-3px)}.friends-container .loading-indicator{color:var(--text-color-secondary);padding:2rem;text-align:center}.friends-container .error-message{background-color:#e74c3c1a;border-left:4px solid #e74c3c;border-radius:8px;color:#e74c3c;margin:1rem 0;padding:1rem}.profile-container{max-width:700px}.profile-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 30px var(--shadow-color);margin-bottom:30px;padding:30px}.profile-header{align-items:center;display:flex;margin-bottom:30px}@media(max-width:500px){.profile-header{flex-direction:column;text-align:center}}.profile-avatar{align-items:center;background-color:#007bff;border-radius:50%;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;margin-right:20px;overflow:hidden;width:80px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-name h4{color:var(--text-primary);font-size:1.8rem;margin:0 0 5px}.profile-name p{color:var(--text-secondary);font-size:1.1rem;margin:0}.profile-details{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:30px;padding:20px}.profile-detail-item{border-bottom:1px solid #0000000d;display:flex;margin-bottom:15px;padding-bottom:15px}.profile-detail-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-label{color:#2c3e50;font-weight:600;width:120px}.detail-value{color:#2c3e50;flex:1 1}.profile-actions{display:flex;justify-content:flex-end}.btn-secondary{background-color:#ecf0f1;border:none;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-secondary:hover{background-color:#3498db;box-shadow:0 5px 15px #3498db4d;color:#fff;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.input-icon{margin-right:8px;vertical-align:text-bottom}.profile-info-box{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid #3498db;border-radius:16px;box-shadow:0 4px 30px var(--shadow-color);display:flex;margin-top:30px;padding:20px}.profile-info-box .info-icon{align-items:center;color:#3498db;display:flex;font-size:2rem;justify-content:center;margin-right:20px}.profile-info-box .info-content{flex:1 1}.profile-info-box .info-content h4{color:#2c3e50;font-size:1.1rem;margin:0 0 5px}.profile-info-box .info-content p{color:#7f8c8d;font-size:.95rem;line-height:1.5;margin:0}.edit-profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.edit-profile-header h4{color:#2c3e50;font-size:1.4rem;margin:0}.edit-profile-header .btn-close{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:1.2rem;padding:5px;transition:all .3s ease}.edit-profile-header .btn-close:hover{color:#e74c3c}textarea{background-color:#ffffffb3;border:1px solid #0000001a;border-radius:8px;font-family:inherit;font-size:1rem;min-height:80px;padding:12px 15px;resize:vertical;transition:all .3s ease;width:100%}textarea:focus{background-color:#fff;border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px}.form-actions button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;justify-content:center;padding:10px 20px;transition:all .3s ease}.btn-cancel{background-color:#f3f3f3;color:#2c3e50}.btn-cancel:hover{background-color:#e0e0e0}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@media(max-width:768px){.home-container{flex-direction:column}.sidebar{height:auto;width:100%}.main-content{padding:20px}}.admin-header,.admin-sidebar{background-color:#2c3e50}.admin-sidebar{color:#ecf0f1}.admin-info .admin-avatar,.admin-nav li.active button{background-color:#3498db}.admin-nav button{color:#ecf0f1}.admin-nav button:before{background-color:#3498db}.content-header h2{color:#2c3e50}.content-header .search-box input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.users-table td,.users-table th{color:#2c3e50}.user-avatar-small .avatar-placeholder{background-color:#ecf0f1;color:#2c3e50}.status-toggle{display:flex;flex-direction:column;gap:12px}.status-toggle .status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.9rem;font-weight:500;margin-bottom:5px;max-width:fit-content;padding:8px 12px;width:auto}.status-toggle .status-badge.online{background-color:#2ecc7133;border:1px solid #2ecc714d;color:#27ae60}.status-toggle .status-badge.offline{background-color:#bdc3c74d;border:1px solid #bdc3c780;color:#7f8c8d}.status-toggle .status-icon{border-radius:50%;display:inline-block;height:8px;margin-right:8px;position:relative;width:8px}.status-toggle .status-action-container{margin-top:15px}.status-toggle .status-action-container .status-action-label{color:var(--text-secondary);display:block;font-size:.85rem;font-weight:500;margin-bottom:8px}.status-toggle .status-action-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:flex-start}@media(max-width:480px){.status-toggle .status-action-buttons{flex-direction:column;gap:10px}}.status-toggle .toggle-status-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:100px;padding:10px 16px;transition:background-color .2s ease}.status-toggle .toggle-status-btn.online-btn{background-color:#2ecc71;color:#fff}.status-toggle .toggle-status-btn.online-btn:hover:not(:disabled){background-color:#27ae60}.status-toggle .toggle-status-btn.online-btn:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.6}.status-toggle .toggle-status-btn.online-btn.active{background-color:#27ae60;font-weight:700}.status-toggle .toggle-status-btn.offline-btn{background-color:#e74c3c;color:#fff}.status-toggle .toggle-status-btn.offline-btn:hover:not(:disabled){background-color:#c0392b}.status-toggle .toggle-status-btn.offline-btn:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.6}.status-toggle .toggle-status-btn.offline-btn.active{background-color:#c0392b;font-weight:700}.modal-actions button.cancel-button,.modal-content h3,.modal-content p{color:#2c3e50}.modal-actions button.confirm-delete-button:hover{background-color:#c0392b}.dark .profile-details{background-color:var(--bg-secondary)}.dark .detail-label{color:var(--accent-color)}.dark .detail-value{color:var(--text-primary)}.dark input,.dark textarea{background-color:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}.dark input::placeholder,.dark textarea::placeholder{color:var(--text-secondary)}.dark .user-info .user-name{color:var(--sidebar-text)}.dark .user-info .user-avatar{border-color:var(--accent-color)}.file-input{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:block;margin-bottom:10px;padding:10px;width:100%}.selected-file-preview{border:1px dashed #ddd;border-radius:4px;margin-top:10px;padding:10px}.selected-file-preview p{color:#666;font-size:14px;margin-bottom:8px}.selected-file-preview .image-preview{border-radius:4px;box-shadow:0 2px 5px #0000001a;max-height:200px;max-width:100%}.friend-item .friend-avatar{align-items:center;background-color:#6c757d;border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;margin-right:15px;overflow:hidden;position:relative;width:50px}.friend-item .friend-avatar img{height:100%;object-fit:cover;width:100%}.friend-item .friend-avatar .online-indicator{animation:pulse 2s infinite;background-color:#27ae60;border:2px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 5px #0003;height:15px;position:absolute;right:0;width:15px}.friend-list h4,.requests-section h4{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.friend-list h4:after,.requests-section h4:after{background-color:var(--accent-color);border-radius:3px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.empty-state{background-color:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:16px;margin-top:20px;padding:40px 20px;text-align:center}.empty-state .icon{color:var(--accent-color);font-size:5rem;margin-bottom:20px;opacity:.3}.empty-state h4{color:var(--text-primary);font-size:1.3rem;margin-bottom:10px}.empty-state p{color:var(--text-secondary);line-height:1.5;margin:0 auto;max-width:400px}.friendship-status{background-color:var(--success-bg);border-radius:4px;color:var(--success-text);display:inline-block}.btn-pending-request,.friendship-status{font-size:.9rem;font-weight:500;padding:8px 12px}.btn-pending-request{align-items:center;background-color:var(--secondary-bg);border:none;border-radius:4px;color:var(--secondary-text);cursor:not-allowed;display:flex}.btn-pending-request:hover{background-color:var(--secondary-bg-hover)}.friend-request-actions{display:flex;gap:8px}.friend-request-actions .btn-accept-small,.friend-request-actions .btn-reject-small{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.85rem;justify-content:center;padding:6px 10px;transition:all .2s ease}.friend-request-actions .btn-accept-small{background-color:var(--success-bg);color:var(--success-text)}.friend-request-actions .btn-accept-small:hover{background-color:var(--success-bg-hover)}.friend-request-actions .btn-reject-small{background-color:var(--danger-bg);color:var(--danger-text)}.friend-request-actions .btn-reject-small:hover{background-color:var(--danger-bg-hover)}.toast-container{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:20px;top:20px;z-index:9999}@media(max-width:767px){.toast-container{align-items:stretch;left:10px;right:10px;top:10px}}.toast{align-items:center;animation:slideIn .3s ease forwards;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;justify-content:space-between;margin-bottom:10px;min-width:300px;padding:15px 20px}@media(max-width:767px){.toast{margin-bottom:8px;min-width:auto;padding:12px 15px;width:100%}}.toast.success{background-color:#4caf50;color:#fff}.toast.error{background-color:#f44336;color:#fff}.toast.info{background-color:#2196f3;color:#fff}.toast.warning{background-color:#ff9800;color:#fff}.toast .toast-content{align-items:center;display:flex;flex:1 1}.toast .toast-content .toast-icon{font-size:20px;margin-right:12px}@media(max-width:767px){.toast .toast-content .toast-icon{font-size:18px;margin-right:10px}}.toast .toast-content .toast-message{font-size:.95rem;font-weight:500}@media(max-width:767px){.toast .toast-content .toast-message{font-size:.85rem}}.toast .toast-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:20px;margin-left:15px;opacity:.7;padding:0;transition:opacity .2s}@media(max-width:767px){.toast .toast-close{font-size:18px;margin-left:10px}}.toast .toast-close:hover{opacity:1}.toast.exiting{animation:slideOut .3s ease forwards}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media(max-width:767px){@keyframes slideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}}.chat-interface{background-color:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;height:calc(100vh - 180px);overflow:hidden;width:100%}@media(max-width:767px){.chat-interface{border-radius:8px;flex-direction:column;height:calc(100vh - 130px)}}.full-width{width:100%!important}.chat-sidebar{background-color:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;width:300px}@media(max-width:767px){.chat-sidebar{border-bottom:1px solid var(--border-color);border-right:none;height:auto;min-height:calc(100vh - 190px);width:100%}}.chat-sidebar .chat-header{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-primary);display:flex;font-size:18px;justify-content:space-between;margin:0;padding:16px}@media(max-width:767px){.chat-sidebar .chat-header{padding:12px}}.chat-sidebar .chat-header h3{font-size:18px;margin:0}@media(max-width:767px){.chat-sidebar .chat-header h3{font-size:16px}}.chat-sidebar .chat-header .loading-spinner{display:none}.chat-sidebar .new-chat-button{align-items:center;background-color:var(--accent-color);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;gap:5px;padding:6px 12px;transition:all .3s ease}.chat-sidebar .new-chat-button:hover{background-color:#217dbb;transform:translateY(-2px)}.chat-sidebar .new-chat-button svg{font-size:.9rem}.chat-sidebar .chat-list{flex:1 1;overflow-y:auto}@media(max-width:767px){.chat-sidebar .chat-list{max-height:130px}}.chat-sidebar .chat-item{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;padding:12px 16px;transition:background-color .2s}@media(max-width:767px){.chat-sidebar .chat-item{padding:8px 12px}}.chat-sidebar .chat-item:hover{background-color:var(--hover-color)}.chat-sidebar .chat-item.active{background-color:var(--primary-color-light)}.chat-sidebar .chat-item .chat-avatar{align-items:center;background-color:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;margin-right:12px;overflow:hidden;position:relative;width:40px}@media(max-width:767px){.chat-sidebar .chat-item .chat-avatar{height:35px;margin-right:10px;width:35px}}.chat-sidebar .chat-item .chat-avatar img{display:block;height:100%;object-fit:cover;width:100%}.chat-sidebar .chat-item .chat-avatar .online-indicator{animation:pulse 2s infinite;background-color:#27ae60;border:2px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 4px #00000026;height:10px;position:absolute;right:0;width:10px;z-index:2}@media(max-width:767px){.chat-sidebar .chat-item .chat-avatar .online-indicator{height:8px;width:8px}}.chat-sidebar .chat-item .chat-info{flex:1 1;overflow:hidden}.chat-sidebar .chat-item .chat-info .chat-name{color:var(--text-primary);font-weight:600;margin-bottom:4px}@media(max-width:767px){.chat-sidebar .chat-item .chat-info .chat-name{font-size:14px}}.chat-sidebar .chat-item .chat-info .chat-last-message{color:var(--text-secondary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:767px){.chat-sidebar .chat-item .chat-info .chat-last-message{font-size:12px}}.chat-sidebar .chat-item .chat-time{color:var(--text-secondary);font-size:12px}.chat-sidebar .empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.chat-sidebar .empty-state.small{padding:20px}.chat-sidebar .empty-state.small p{margin-bottom:15px}.chat-sidebar .empty-state .icon{color:var(--primary-color);font-size:40px;margin-bottom:16px;opacity:.7}.chat-sidebar .empty-state .icon svg{font-size:40px}.chat-sidebar .empty-state h4{color:var(--text-primary);font-size:18px;margin:0 0 10px}.chat-sidebar .empty-state p{font-size:14px;margin:0 0 5px}.chat-sidebar .friends-section{border-top:1px solid var(--border-color);padding:16px}.chat-sidebar .friends-section h3{color:var(--text-primary);font-size:16px;margin:0 0 12px}.chat-sidebar .friends-section .friends-list{max-height:200px;overflow-y:auto}.chat-sidebar .friends-section .friend-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;margin-bottom:8px;padding:8px;transition:background-color .2s}.chat-sidebar .friends-section .friend-item:hover{background-color:var(--hover-color)}.chat-sidebar .friends-section .friend-item .friend-avatar{align-items:center;background-color:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-weight:700;height:32px;justify-content:center;margin-right:12px;width:32px}.chat-sidebar .friends-section .friend-item .friend-info{flex:1 1}.chat-sidebar .friends-section .friend-item .friend-info .friend-name{color:var(--text-primary);font-size:14px;font-weight:500}.chat-sidebar .friends-section .friend-item .friend-info .friend-status{align-items:center;color:var(--text-secondary);display:flex;font-size:12px}.chat-sidebar .friends-section .friend-item .friend-info .friend-status .status-indicator{border-radius:50%;height:8px;margin-right:6px;width:8px}.chat-sidebar .friends-section .friend-item .friend-info .friend-status .status-indicator.online{background-color:#4caf50}.chat-sidebar .friends-section .friend-item .friend-info .friend-status .status-indicator.offline{background-color:#9e9e9e}.create-chat-button{align-items:center;background-color:var(--accent-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;justify-content:center;margin-top:15px;padding:10px 18px;transition:all .3s ease}.create-chat-button:hover{background-color:#217dbb;box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.create-chat-button svg{font-size:1rem}.chat-content{background-color:var(--bg-secondary);display:flex;flex:1 1;flex-direction:column}@media(max-width:767px){.chat-content{height:calc(100% - 180px)}}.chat-content .chat-header{align-items:center;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;padding:12px 16px}@media(max-width:767px){.chat-content .chat-header{padding:8px 12px}}.chat-content .chat-header .back-button{align-items:center;background:none;border:none;border-radius:6px;color:var(--accent-color);cursor:pointer;display:flex;font-size:.9rem;gap:5px;margin-right:10px;padding:6px 10px;transition:background-color .2s ease}.chat-content .chat-header .back-button:hover{background-color:#3498db1a}.chat-content .chat-header .back-button svg{font-size:.9rem}.chat-content .chat-header .chat-avatar{align-items:center;background-color:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;margin-right:12px;overflow:hidden;position:relative;width:40px}@media(max-width:767px){.chat-content .chat-header .chat-avatar{height:35px;margin-right:10px;width:35px}}.chat-content .chat-header .chat-avatar img{display:block;height:100%;object-fit:cover;width:100%}.chat-content .chat-header .chat-avatar .online-indicator{animation:pulse 2s infinite;background-color:#27ae60;border:2px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 4px #00000026;height:10px;position:absolute;right:0;width:10px;z-index:2}@media(max-width:767px){.chat-content .chat-header .chat-avatar .online-indicator{height:8px;width:8px}}.chat-content .chat-header .chat-info{flex:1 1}.chat-content .chat-header .chat-info .chat-name{color:var(--text-primary);font-weight:600}.chat-content .chat-header .chat-info .chat-status{color:var(--text-secondary);font-size:13px}.chat-content .chat-messages{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:16px}@media(max-width:767px){.chat-content .chat-messages{padding:10px}}.chat-content .chat-messages .messages-list{display:flex;flex-direction:column;width:100%}.chat-content .chat-messages .messages-list .messages-end-ref{clear:both;float:left;height:1px;pointer-events:none;width:100%}.chat-content .chat-messages .message-item{display:flex;margin-bottom:12px;position:relative;width:100%}.chat-content .chat-messages .message-item .message-bubble{border-radius:12px;box-shadow:0 1px 3px var(--message-shadow);max-width:70%;padding:10px 14px;word-break:break-word}@media(max-width:767px){.chat-content .chat-messages .message-item .message-bubble{font-size:14px;max-width:85%;padding:8px 12px}}.chat-content .chat-messages .message-item .message-bubble.own-message{background-color:var(--message-own-bg);border-bottom-right-radius:4px;box-shadow:0 1px 3px var(--message-shadow);color:var(--message-own-text);margin-left:auto;margin-right:8px}.chat-content .chat-messages .message-item .message-bubble.other-message{background-color:var(--message-other-bg);border-bottom-left-radius:4px;box-shadow:0 1px 3px var(--message-shadow);color:var(--message-other-text);margin-left:8px;margin-right:auto}.chat-content .chat-messages .message-item .message-content{margin-bottom:4px}.chat-content .chat-messages .message-item .message-time{font-size:11px;text-align:right}.chat-content .chat-messages .message-item .own-message .message-time{color:#fffc}.chat-content .chat-messages .message-item .other-message .message-time{color:var(--text-secondary)}.chat-content .chat-messages .loading-spinner,.chat-content .chat-messages .loading-spinner.centered{display:none}.chat-content .message-input-container{align-items:center;background-color:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;padding:12px 16px}@media(max-width:767px){.chat-content .message-input-container{padding:8px 12px}}.chat-content .message-input-container .message-input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:24px;color:var(--text-primary);flex:1 1;font-size:14px;outline:none;padding:10px 16px;transition:border-color .2s}@media(max-width:767px){.chat-content .message-input-container .message-input{font-size:13px;padding:8px 12px}}.chat-content .message-input-container .message-input:focus{border-color:var(--primary-color)}.chat-content .message-input-container .send-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:12px;transition:background-color .2s;width:40px}@media(max-width:767px){.chat-content .message-input-container .send-button{height:35px;margin-left:8px;width:35px}}.chat-content .message-input-container .send-button:hover{background-color:var(--primary-color-dark)}.chat-content .message-input-container .send-button:disabled{background-color:var(--disabled-color);cursor:not-allowed}.chat-content .message-input-container .send-button .spinner-small{display:none}.theme-toggle-fixed{bottom:20px;position:fixed;right:20px;z-index:100}.chat-actions{align-items:center;display:flex;margin-left:auto}.chat-actions .delete-chat-button{align-items:center;background-color:#f44336;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;gap:5px;padding:5px 10px;transition:background-color .3s}.chat-actions .delete-chat-button:hover{background-color:#d32f2f}.chat-actions .delete-chat-button:disabled{background-color:#ccc;cursor:not-allowed}.chat-actions .delete-chat-button i{font-size:1rem}.error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:2rem auto;max-width:80%;padding:2rem;text-align:center}.error-state .icon{color:#f44336;font-size:3rem;margin-bottom:1rem}.error-state h4{color:#f44336;font-size:1.2rem;font-weight:500;margin-bottom:.5rem}.error-state p{color:#666;font-size:.9rem;margin-bottom:1.5rem}.fix-chat-button,.loading-state .spinner{background-color:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.6rem 1.2rem;transition:background-color .3s}.fix-chat-button:hover,.loading-state .spinner:hover{background-color:#388e3c}.fix-chat-button:disabled,.loading-state .spinner:disabled{background-color:#ccc;cursor:not-allowed}.loading-state{display:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.messages-container{margin:0 auto;max-width:100%;padding:20px}.messages-container h2{color:var(--text-primary);margin-bottom:20px}.friends-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.friends-modal{background-color:var(--bg-secondary);border-radius:12px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:90%}.friends-modal .friends-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px}.friends-modal .friends-modal-header h3{color:var(--text-primary);font-size:1.2rem;margin:0}.friends-modal .friends-modal-header .close-button{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:5px;transition:color .2s ease}.friends-modal .friends-modal-header .close-button:hover{color:var(--text-primary)}.friends-modal .friends-modal-content{max-height:calc(80vh - 60px);overflow-y:auto;padding:16px}.friends-modal .friends-modal-content .friends-list{display:flex;flex-direction:column;gap:10px}.friends-modal .friends-modal-content .friends-list .friend-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;padding:12px;transition:background-color .2s ease}.friends-modal .friends-modal-content .friends-list .friend-item:hover{background-color:var(--bg-primary)}.friends-modal .friends-modal-content .friends-list .friend-item .friend-avatar{align-items:center;background-color:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-weight:600;height:45px;justify-content:center;margin-right:15px;overflow:hidden;position:relative;width:45px}.friends-modal .friends-modal-content .friends-list .friend-item .friend-avatar img{display:block;height:100%;object-fit:cover;width:100%}.friends-modal .friends-modal-content .friends-list .friend-item .friend-avatar .status-indicator{border:2px solid #fff;border-radius:50%;bottom:0;height:10px;position:absolute;right:0;width:10px;z-index:2}.friends-modal .friends-modal-content .friends-list .friend-item .friend-avatar .status-indicator.online{animation:pulse 2s infinite;background-color:#27ae60}.friends-modal .friends-modal-content .friends-list .friend-item .friend-avatar .status-indicator.offline{background-color:#7f8c8d}.friends-modal .friends-modal-content .friends-list .friend-item .friend-info{flex:1 1}.friends-modal .friends-modal-content .friends-list .friend-item .friend-info .friend-name{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:4px}.friends-modal .friends-modal-content .friends-list .friend-item .friend-info .friend-status{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem}.friends-modal .friends-modal-content .friends-list .friend-item .friend-info .friend-status .status-indicator{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.friends-modal .friends-modal-content .friends-list .friend-item .friend-info .friend-status .status-indicator.online{background-color:#27ae60}.friends-modal .friends-modal-content .friends-list .friend-item .friend-info .friend-status .status-indicator.offline{background-color:#7f8c8d}.admin-panel{background-color:#f8f9fa;display:flex;flex-direction:column;font-family:Poppins,sans-serif;min-height:100vh}.admin-header{align-items:center;background-color:#112d4e;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:15px 30px}@media(max-width:767px){.admin-header{flex-wrap:wrap;padding:12px 15px}}.admin-header h1{align-items:center;display:flex;font-size:1.8rem;font-weight:600;margin:0}@media(max-width:767px){.admin-header h1{font-size:1.4rem;margin-bottom:5px;width:100%}}.admin-header h1 svg{margin-right:10px}.admin-logout-btn{background-color:#e74c3ccc;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.admin-logout-btn:hover{background-color:#e74c3c;box-shadow:0 4px 8px #e74c3c4d}.admin-main{display:flex;flex:1 1}@media(max-width:767px){.admin-main{flex-direction:column}}.admin-sidebar{background-color:#112d4e;box-shadow:2px 0 10px #0000001a;color:#f9f7f7;padding:20px 0;width:250px}@media(max-width:767px){.admin-sidebar{overflow-x:auto;padding:10px 0;width:100%}}.admin-info{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;flex-direction:column;padding:20px}@media(max-width:767px){.admin-info{flex-direction:row;justify-content:flex-start;padding:15px}}.admin-info .admin-avatar{align-items:center;background-color:#3f72af;border:2px solid #fff3;border-radius:50%;box-shadow:0 4px 10px #0003;color:#fff;display:flex;font-size:1.8rem;font-weight:600;height:70px;justify-content:center;margin-bottom:10px;width:70px}@media(max-width:767px){.admin-info .admin-avatar{font-size:1.4rem;height:50px;margin-bottom:0;margin-right:15px;width:50px}.admin-info .admin-name{display:flex;flex-direction:column}}.admin-info .admin-role{color:#fff9;font-size:.9rem;margin-top:5px}@media(max-width:767px){.admin-info .admin-role{font-size:.8rem;margin-top:2px}}.admin-nav{list-style:none;margin:20px 0 0;padding:0}@media(max-width:767px){.admin-nav{display:flex;margin:10px 0 0;overflow-x:auto;padding:0 10px;white-space:nowrap}}.admin-nav li{margin-bottom:5px}@media(max-width:767px){.admin-nav li{margin-bottom:0;margin-right:10px}}.admin-nav li.active button{background-color:#3f72af;box-shadow:0 4px 8px #0003}.admin-nav li.active button:before{opacity:1;transform:translateX(0)}.admin-nav button{background:none;border:none;color:#f9f7f7;cursor:pointer;display:block;font-size:1rem;padding:12px 20px;position:relative;text-align:left;transition:all .3s ease;width:100%}@media(max-width:767px){.admin-nav button{border-radius:20px;font-size:.9rem;padding:10px 15px;white-space:nowrap}}.admin-nav button:before{background-color:#f9f7f7;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transform:translateX(-5px);transition:all .3s ease;width:4px}.admin-nav button:hover{background-color:#ffffff1a}.admin-content{flex:1 1;padding:30px;position:relative}@media(max-width:767px){.admin-content{padding:15px}}.content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}@media(max-width:767px){.content-header{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:20px}}.content-header h2{align-items:center;color:#112d4e;display:flex;font-size:1.6rem;margin:0}@media(max-width:767px){.content-header h2{font-size:1.3rem}}.content-header h2 svg{margin-right:10px}.content-header .search-box{position:relative}@media(max-width:767px){.content-header .search-box{width:100%}}.content-header .search-box input{border:1px solid #0000001a;border-radius:8px;font-size:.95rem;padding:10px 15px 10px 40px;transition:all .3s ease;width:280px}@media(max-width:767px){.content-header .search-box input{font-size:.9rem;padding:8px 10px 8px 35px;width:100%}}.content-header .search-box input:focus{border-color:#3f72af;box-shadow:0 0 0 3px #3f72af1a;outline:none}.content-header .search-box .search-icon{color:#7f8c8d;left:15px;position:absolute;top:50%;transform:translateY(-50%)}.users-table-container{background:#fff;border-radius:10px;box-shadow:0 4px 15px #0000000d;overflow-x:auto}@media(max-width:767px){.users-table-container{border-radius:8px}}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #0000000d;padding:12px 15px;text-align:left}@media(max-width:767px){.users-table td,.users-table th{font-size:.8rem;padding:10px}}.users-table th{background-color:#f8f9fa;color:#112d4e;font-size:.9rem;font-weight:600}.users-table th:first-child{border-top-left-radius:10px}.users-table th:last-child{border-top-right-radius:10px}.users-table tbody tr{transition:all .3s ease}.users-table tbody tr:hover{background-color:#3f72af08}.users-table tbody tr.selected-row{background-color:#e74c3c0d;border-left:3px solid #e74c3c}.users-table td{color:#333;font-size:.95rem}@media(max-width:767px){.users-table td{font-size:.85rem}}.user-avatar-small{align-items:center;border-radius:50%;display:flex;height:36px;justify-content:center;overflow:hidden;width:36px}.user-avatar-small img{height:100%;object-fit:cover;width:100%}.user-avatar-small .avatar-placeholder{align-items:center;background-color:#dbe2ef;color:#112d4e;display:flex;font-weight:600;height:100%;justify-content:center;width:100%}.status-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:500;padding:4px 8px}.status-badge.online{background-color:#2ecc711a;color:#27ae60}.status-badge.offline{background-color:#95a5a61a;color:#7f8c8d}.action-buttons{display:flex;gap:8px}.action-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:5px 12px;transition:all .3s ease}.action-buttons button.delete-button{background-color:#e74c3c1a;color:#e74c3c}.action-buttons button.delete-button:hover{background-color:#e74c3c33}.loading-spinner{color:#7f8c8d;font-size:1.1rem;padding:40px;text-align:center}.no-user-message{color:#7f8c8d;padding:20px 0;text-align:center}.delete-confirmation-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:10px;box-shadow:0 10px 30px #0003;max-width:500px;padding:30px;width:90%}@media(max-width:767px){.modal-content{padding:20px;width:95%}}.modal-content h3{color:#112d4e;font-size:1.4rem;margin-top:0}.modal-content p{color:#333;line-height:1.5}.modal-content .warning-text{color:#e74c3c;font-weight:500}.modal-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px}.modal-actions button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.modal-actions button.cancel-button{background-color:#f5f5f5;color:#333}.modal-actions button.cancel-button:hover{background-color:#e0e0e0}.modal-actions button.confirm-delete-button{background-color:#e74c3c;color:#fff}.modal-actions button.confirm-delete-button:hover{background-color:#d62c1a;box-shadow:0 4px 10px #e74c3c4d}.success-message{align-items:center;background-color:#2ecc711a;border-left:3px solid #27ae60;border-radius:8px;color:#27ae60;display:flex;font-size:.9rem;margin-bottom:20px;padding:12px 15px}.success-message:before{content:"✓";font-weight:700;margin-right:10px}.error-message{align-items:center;background-color:#e74c3c1a;border-left:3px solid #e74c3c;border-radius:8px;color:#e74c3c;display:flex;font-size:.9rem;margin-bottom:20px;padding:12px 15px}.error-message:before{content:"⚠️";margin-right:10px}.groups-container{display:flex;flex-direction:column;height:100%;padding:1rem}.groups-container .groups-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.groups-container .groups-header h1{align-items:center;color:var(--text-color);display:flex;font-size:1.5rem;gap:.5rem}.groups-container .groups-header h1 svg{color:var(--primary-color)}.groups-container .groups-header .create-group-btn{align-items:center;background-color:var(--primary-color);border:none;border-radius:50px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.groups-container .groups-header .create-group-btn:hover{background-color:var(--primary-color-dark)}.groups-container .invitations-section{margin-bottom:1.5rem}.groups-container .invitations-section h2{color:var(--text-color);font-size:1.2rem;margin-bottom:.75rem}.groups-container .invitations-section .invitations-list{display:flex;flex-direction:column;gap:.75rem}.groups-container .invitations-section .invitations-list .invitation-item{align-items:center;background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:.75rem}.groups-container .invitations-section .invitations-list .invitation-item .invitation-details{display:flex;flex-direction:column}.groups-container .invitations-section .invitations-list .invitation-item .invitation-details .group-name{font-weight:600;margin-bottom:.25rem}.groups-container .invitations-section .invitations-list .invitation-item .invitation-details .inviter{color:var(--text-secondary);font-size:.85rem}.groups-container .invitations-section .invitations-list .invitation-item .invitation-actions{display:flex;gap:.5rem}.groups-container .invitations-section .invitations-list .invitation-item .invitation-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.4rem .75rem;transition:all .2s}.groups-container .invitations-section .invitations-list .invitation-item .invitation-actions button.accept-btn{background-color:var(--success-color);color:#fff}.groups-container .invitations-section .invitations-list .invitation-item .invitation-actions button.accept-btn:hover{background-color:var(--success-color-dark)}.groups-container .invitations-section .invitations-list .invitation-item .invitation-actions button.reject-btn{background-color:var(--danger-color);color:#fff}.groups-container .invitations-section .invitations-list .invitation-item .invitation-actions button.reject-btn:hover{background-color:var(--danger-color-dark)}.groups-container .groups-list{display:flex;flex-direction:column;gap:.75rem}.groups-container .groups-list .group-item{align-items:center;background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:.75rem;transition:transform .2s,box-shadow .2s}.groups-container .groups-list .group-item:hover{box-shadow:0 3px 6px #0000001a;transform:translateY(-2px)}.groups-container .groups-list .group-item .group-info{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:.75rem}.groups-container .groups-list .group-item .group-info .group-image{align-items:center;background-color:var(--primary-color-light);border-radius:50%;color:var(--primary-color);display:flex;font-size:1.5rem;height:48px;justify-content:center;overflow:hidden;width:48px}.groups-container .groups-list .group-item .group-info .group-image img{height:100%;object-fit:cover;width:100%}.groups-container .groups-list .group-item .group-info .group-details{display:flex;flex-direction:column}.groups-container .groups-list .group-item .group-info .group-details h3{color:var(--text-color);font-size:1rem;margin-bottom:.25rem}.groups-container .groups-list .group-item .group-info .group-details p{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.85rem;overflow:hidden}.groups-container .groups-list .group-item .group-actions{display:flex;gap:.5rem}.groups-container .groups-list .group-item .group-actions button{align-items:center;background-color:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .2s;width:32px}.groups-container .groups-list .group-item .group-actions button:hover{background-color:var(--hover-bg)}.groups-container .groups-list .group-item .group-actions button.invite-btn:hover{color:var(--primary-color)}.groups-container .groups-list .group-item .group-actions button.edit-btn:hover{color:var(--warning-color)}.groups-container .groups-list .group-item .group-actions button.delete-btn:hover{color:var(--danger-color)}.groups-container .groups-list .empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.groups-container .groups-list .empty-state svg{color:var(--text-secondary);margin-bottom:1rem}.groups-container .groups-list .empty-state p{font-size:1rem;margin-bottom:1.5rem}.groups-container .groups-list .empty-state .create-group-btn{align-items:center;background-color:var(--primary-color);border:none;border-radius:50px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.groups-container .groups-list .empty-state .create-group-btn:hover{background-color:var(--primary-color-dark)}.groups-container .modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.groups-container .modal-overlay .modal-content{background-color:var(--bg-color);border-radius:8px;max-width:500px;overflow:hidden;width:90%}.groups-container .modal-overlay .modal-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem}.groups-container .modal-overlay .modal-content .modal-header h2{color:var(--text-color);font-size:1.25rem}.groups-container .modal-overlay .modal-content .modal-header .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1}.groups-container .modal-overlay .modal-content .modal-header .close-btn:hover{color:var(--text-color)}.groups-container .modal-overlay .modal-content form{padding:1rem}.groups-container .modal-overlay .modal-content form .form-group{margin-bottom:1rem}.groups-container .modal-overlay .modal-content form .form-group label{color:var(--text-color);display:block;font-size:.9rem;margin-bottom:.5rem}.groups-container .modal-overlay .modal-content form .form-group input,.groups-container .modal-overlay .modal-content form .form-group textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:1rem;padding:.75rem;width:100%}.groups-container .modal-overlay .modal-content form .form-group input:focus,.groups-container .modal-overlay .modal-content form .form-group textarea:focus{border-color:var(--primary-color);outline:none}.groups-container .modal-overlay .modal-content form .form-group textarea{min-height:100px;resize:vertical}.groups-container .modal-overlay .modal-content form .form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.groups-container .modal-overlay .modal-content form .form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background-color .2s}.groups-container .modal-overlay .modal-content form .form-actions button.cancel-btn{background-color:var(--button-secondary-bg);color:var(--text-color)}.groups-container .modal-overlay .modal-content form .form-actions button.cancel-btn:hover{background-color:var(--button-secondary-hover)}.groups-container .modal-overlay .modal-content form .form-actions button.submit-btn{background-color:var(--primary-color);color:#fff}.groups-container .modal-overlay .modal-content form .form-actions button.submit-btn:hover{background-color:var(--primary-color-dark)}.groups-container .modal-overlay .modal-content form .form-actions button.submit-btn:disabled{background-color:var(--disabled-bg);color:var(--disabled-color);cursor:not-allowed}.groups-container .error-message{background-color:var(--danger-color-light);border-radius:4px;color:var(--danger-color);margin-bottom:1rem;padding:.75rem}.groups-container .loading{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;padding:2rem}.groups-container .search-loading{color:var(--text-secondary);font-size:.85rem;margin-top:.5rem}.groups-container .search-results{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 6px #0000001a;margin-top:.25rem;max-height:200px;overflow-y:auto;position:absolute;width:100%;z-index:10}.groups-container .search-results .search-result-item{align-items:center;cursor:pointer;display:flex;padding:.5rem;transition:background-color .2s}.groups-container .search-results .search-result-item:hover{background-color:var(--hover-bg)}.groups-container .search-results .search-result-item .user-avatar{align-items:center;background-color:var(--primary-color-light);border-radius:50%;color:var(--primary-color);display:flex;font-size:.85rem;font-weight:700;height:32px;justify-content:center;margin-right:.75rem;overflow:hidden;width:32px}.groups-container .search-results .search-result-item .user-avatar img{height:100%;object-fit:cover;width:100%}.groups-container .search-results .search-result-item .user-info{display:flex;flex-direction:column}.groups-container .search-results .search-result-item .user-info .username{color:var(--text-color);font-size:.9rem}.groups-container .search-results .search-result-item .user-info .email{color:var(--text-secondary);font-size:.75rem}.groups-container .no-results{color:var(--text-secondary);font-size:.85rem;margin-top:.5rem}.groups-container .selected-user{background-color:var(--bg-light);border-radius:4px;margin-top:1rem;padding:.75rem}.groups-container .selected-user p{color:var(--text-secondary);font-size:.85rem;margin-bottom:.5rem}.groups-container .selected-user .user-details{align-items:center;display:flex}.groups-container .selected-user .user-details .user-avatar{align-items:center;background-color:var(--primary-color-light);border-radius:50%;color:var(--primary-color);display:flex;font-size:1rem;font-weight:700;height:40px;justify-content:center;margin-right:.75rem;overflow:hidden;width:40px}.groups-container .selected-user .user-details .user-avatar img{height:100%;object-fit:cover;width:100%}.groups-container .selected-user .user-details .user-info{display:flex;flex:1 1;flex-direction:column}.groups-container .selected-user .user-details .user-info .username{color:var(--text-color);font-size:.95rem;font-weight:500}.groups-container .selected-user .user-details .user-info .email{color:var(--text-secondary);font-size:.8rem}.groups-container .selected-user .user-details .remove-user-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:background-color .2s,color .2s}.groups-container .selected-user .user-details .remove-user-btn:hover{background-color:var(--hover-bg);color:var(--danger-color)}.groups-container .form-group{position:relative}html[data-theme=dark] .groups-container .groups-list .group-item{background-color:var(--card-bg-dark)}html[data-theme=dark] .groups-container .groups-list .group-item:hover{box-shadow:0 3px 6px #0003}html[data-theme=dark] .groups-container .invitations-section .invitations-list .invitation-item{background-color:var(--card-bg-dark)}html[data-theme=dark] .groups-container .search-results{background-color:var(--card-bg-dark);border-color:var(--border-color-dark)}html[data-theme=dark] .groups-container .search-results .search-result-item:hover{background-color:var(--hover-bg-dark)}html[data-theme=dark] .groups-container .selected-user{background-color:var(--bg-dark-light)}.typing-indicator{background-color:#f1f0f0;border-radius:16px;display:inline-block;margin-bottom:8px;max-width:80%;padding:6px 12px}.typing-indicator-content{align-items:center;color:#555;display:flex;font-size:.85rem}.typing-username{font-weight:600;margin-right:4px}.typing-text{margin-right:4px}.typing-dots{align-items:center;display:flex}.dot{animation:bounce 1.3s linear infinite;background-color:#555;border-radius:50%;height:6px;margin-right:3px;width:6px}.dot1{animation-delay:0s}.dot2{animation-delay:.2s}.dot3{animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.group-chat-container{background-color:var(--bg-color);border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:100%;max-width:100%;overflow:hidden;position:relative;width:100%}.group-chat-container .group-chat-header{align-items:center;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;box-shadow:0 2px 8px #0000000d;display:flex;padding:16px;position:relative;z-index:5}.group-chat-container .group-chat-header .back-btn{align-items:center;background:var(--hover-bg);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;margin-right:12px;transition:all .3s ease;width:36px}.group-chat-container .group-chat-header .back-btn:hover{background-color:var(--primary-color-light);color:var(--primary-color);transform:translateX(-3px)}.group-chat-container .group-chat-header .group-info{align-items:center;border-radius:10px;cursor:pointer;display:flex;flex:1 1;padding:6px;transition:background-color .3s ease}.group-chat-container .group-chat-header .group-info:hover{background-color:var(--hover-bg)}.group-chat-container .group-chat-header .group-info .group-avatar{align-items:center;background-color:var(--primary-color-light);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 2px 6px #0000001a;color:var(--primary-color);display:flex;font-size:1.5rem;height:48px;justify-content:center;margin-right:14px;overflow:hidden;width:48px}.group-chat-container .group-chat-header .group-info .group-avatar img{height:100%;object-fit:cover;width:100%}.group-chat-container .group-chat-header .group-info .group-avatar svg{font-size:1.75rem}.group-chat-container .group-chat-header .group-info .group-details{display:flex;flex-direction:column}.group-chat-container .group-chat-header .group-info .group-details h2{color:var(--text-color);font-size:1.1rem;font-weight:600;margin-bottom:4px}.group-chat-container .group-chat-header .group-info .group-details .members-count{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem}.group-chat-container .group-chat-header .group-info .group-details .members-count:before{background-color:var(--success-color);border-radius:50%;content:"";display:inline-block;height:8px;margin-right:6px;width:8px}.group-chat-container .group-chat-header .header-actions{display:flex;gap:8px}.group-chat-container .group-chat-header .header-actions button{align-items:center;background:var(--hover-bg);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.group-chat-container .group-chat-header .header-actions button:hover{background-color:var(--primary-color-light);color:var(--primary-color);transform:scale(1.05)}.group-chat-container .group-chat-header .header-actions .options-menu{animation:fadeInDown .2s ease;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 5px 15px #00000026;overflow:hidden;position:absolute;right:0;top:45px;width:180px;z-index:100}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.group-chat-container .group-chat-header .header-actions .options-menu ul{list-style:none;margin:0;padding:0}.group-chat-container .group-chat-header .header-actions .options-menu ul li{align-items:center;color:var(--text-color);cursor:pointer;display:flex;font-size:.9rem;padding:12px 16px;transition:background-color .2s ease}.group-chat-container .group-chat-header .header-actions .options-menu ul li:hover{background-color:var(--hover-bg)}.group-chat-container .group-chat-header .header-actions .options-menu ul li svg{color:var(--primary-color);font-size:1rem;margin-right:10px}.group-chat-container .group-chat-header .header-actions .options-menu ul li .text-danger{color:var(--danger-color)}.group-chat-container .messages-container{background-color:var(--chat-bg);background-image:linear-gradient(rgba(var(--primary-rgb),.03) 1px,#0000 1px),linear-gradient(90deg,rgba(var(--primary-rgb),.03) 1px,#0000 1px);background-size:20px 20px;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:20px;scroll-behavior:smooth;width:100%}.group-chat-container .messages-container::-webkit-scrollbar{width:6px}.group-chat-container .messages-container::-webkit-scrollbar-track{background-color:#0000}.group-chat-container .messages-container::-webkit-scrollbar-thumb{background-color:rgba(var(--primary-rgb),.2);border-radius:3px}.group-chat-container .messages-container::-webkit-scrollbar-thumb:hover{background-color:rgba(var(--primary-rgb),.4)}.group-chat-container .messages-container .loading-messages{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center}.group-chat-container .messages-container .loading-messages span{animation:pulse 1.5s infinite;font-size:.95rem;margin-top:16px}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.group-chat-container .messages-container .empty-messages{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.group-chat-container .messages-container .empty-messages svg{color:var(--primary-color-light);margin-bottom:1.5rem;opacity:.7}.group-chat-container .messages-container .empty-messages p{font-size:1rem;line-height:1.5;max-width:300px}.group-chat-container .messages-container .messages-list{display:flex;flex-direction:column;gap:12px;max-width:100%;width:100%}.group-chat-container .messages-container .messages-list .message-item{animation:fadeIn .3s ease;display:flex;flex-direction:column;max-width:85%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.group-chat-container .messages-container .messages-list .message-item.own-message{align-self:flex-end}.group-chat-container .messages-container .messages-list .message-item.own-message .message-bubble{background-color:var(--message-own-bg);border-radius:18px 18px 4px 18px;box-shadow:0 2px 5px var(--message-shadow);color:var(--message-own-text)}.group-chat-container .messages-container .messages-list .message-item.own-message .message-bubble .message-text{color:var(--message-own-text);font-weight:500}.group-chat-container .messages-container .messages-list .message-item.own-message .message-bubble .message-time{color:#fffc}.group-chat-container .messages-container .messages-list .message-item.other-message{align-self:flex-start}.group-chat-container .messages-container .messages-list .message-item.other-message .message-bubble{background-color:var(--message-other-bg);border-radius:4px 18px 18px 18px;box-shadow:0 2px 5px var(--message-shadow);color:var(--message-other-text)}.group-chat-container .messages-container .messages-list .message-item.other-message .message-bubble .message-text{color:var(--message-other-text);font-weight:500}.group-chat-container .messages-container .messages-list .message-item.other-message .message-bubble .message-time{color:var(--text-secondary)}.group-chat-container .messages-container .messages-list .message-item .message-sender{color:var(--text-secondary);font-size:.8rem;font-weight:500;margin-bottom:4px;margin-left:12px}.group-chat-container .messages-container .messages-list .message-item .message-bubble{padding:12px 16px;position:relative;transition:transform .2s ease}.group-chat-container .messages-container .messages-list .message-item .message-bubble:hover{transform:translateY(-2px)}.group-chat-container .messages-container .messages-list .message-item .message-bubble .message-text{color:var(--text-color);font-size:.98rem;font-weight:500;letter-spacing:.01em;line-height:1.4;word-break:break-word}.group-chat-container .messages-container .messages-list .message-item .message-bubble .message-time{color:#0006;font-size:.7rem;margin-top:4px;opacity:.8;text-align:right}.group-chat-container .messages-container .messages-list .message-item .message-content{max-width:100%}.group-chat-container .message-input-container{align-items:center;background-color:var(--card-bg);border-radius:0 0 12px 12px;border-top:1px solid var(--border-color);display:flex;padding:14px 16px;position:relative;z-index:5}.group-chat-container .message-input-container .media-btn{align-items:center;background:var(--hover-bg);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .3s ease;width:44px}.group-chat-container .message-input-container .media-btn:hover{background-color:var(--primary-color-light);color:var(--primary-color);transform:scale(1.05)}.group-chat-container .message-input-container .message-input{background-color:var(--input-bg);border:1.5px solid var(--border-color);border-radius:24px;color:var(--text-color);flex:1 1;font-size:.95rem;margin:0 12px;max-height:120px;overflow-y:auto;padding:12px 16px;resize:none;transition:border-color .2s ease,box-shadow .2s ease}.group-chat-container .message-input-container .message-input::-webkit-scrollbar{width:4px}.group-chat-container .message-input-container .message-input::-webkit-scrollbar-thumb{background-color:rgba(var(--primary-rgb),.2);border-radius:2px}.group-chat-container .message-input-container .message-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2);outline:none}.group-chat-container .message-input-container .send-btn{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .3s ease;width:44px}.group-chat-container .message-input-container .send-btn:hover{background-color:var(--primary-color-dark);transform:scale(1.05)}.group-chat-container .message-input-container .send-btn:disabled{background-color:var(--disabled-bg);color:var(--disabled-color);cursor:not-allowed;transform:none}.group-chat-container .message-input-container .send-btn svg{font-size:1.1rem}.group-chat-container .members-sidebar{animation:slideIn .3s ease;background-color:var(--bg-color);border-left:1px solid var(--border-color);box-shadow:-4px 0 15px #0000001a;display:flex;flex-direction:column;height:100%;position:fixed;right:0;top:0;width:320px;z-index:100}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.group-chat-container .members-sidebar .sidebar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:18px 20px}.group-chat-container .members-sidebar .sidebar-header h3{color:var(--text-color);font-size:1.2rem;font-weight:600}.group-chat-container .members-sidebar .sidebar-header .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;transition:color .2s ease}.group-chat-container .members-sidebar .sidebar-header .close-btn:hover{color:var(--danger-color)}.group-chat-container .members-sidebar .group-details-section{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);padding:20px}.group-chat-container .members-sidebar .group-details-section h4{color:var(--text-color);font-size:1.1rem;font-weight:600;margin-bottom:10px}.group-chat-container .members-sidebar .group-details-section p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:12px}.group-chat-container .members-sidebar .group-details-section .created-at{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem}.group-chat-container .members-sidebar .group-details-section .created-at:before{content:"•";margin-right:6px}.group-chat-container .members-sidebar .members-section{flex:1 1;overflow-y:auto;padding:20px}.group-chat-container .members-sidebar .members-section::-webkit-scrollbar{width:6px}.group-chat-container .members-sidebar .members-section::-webkit-scrollbar-track{background-color:#0000}.group-chat-container .members-sidebar .members-section::-webkit-scrollbar-thumb{background-color:rgba(var(--primary-rgb),.2);border-radius:3px}.group-chat-container .members-sidebar .members-section::-webkit-scrollbar-thumb:hover{background-color:rgba(var(--primary-rgb),.4)}.group-chat-container .members-sidebar .members-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.group-chat-container .members-sidebar .members-section .section-header h4{color:var(--text-color);font-size:1.05rem;font-weight:600}.group-chat-container .members-sidebar .members-section .section-header .invite-btn{align-items:center;background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:6px;padding:8px 14px;transition:all .2s ease}.group-chat-container .members-sidebar .members-section .section-header .invite-btn:hover{background-color:var(--primary-color-dark);box-shadow:0 3px 8px rgba(var(--primary-rgb),.3);transform:translateY(-2px)}.group-chat-container .members-sidebar .members-section .members-list{display:flex;flex-direction:column;gap:12px}.group-chat-container .members-sidebar .members-section .members-list .member-item{align-items:center;border-radius:12px;display:flex;padding:10px;transition:background-color .2s ease}.group-chat-container .members-sidebar .members-section .members-list .member-item:hover{background-color:var(--hover-bg)}.group-chat-container .members-sidebar .members-section .members-list .member-item .member-avatar{align-items:center;background-color:var(--primary-color-light);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 2px 5px #0000001a;color:var(--primary-color);display:flex;font-weight:700;height:42px;justify-content:center;margin-right:14px;overflow:hidden;width:42px}.group-chat-container .members-sidebar .members-section .members-list .member-item .member-avatar img{height:100%;object-fit:cover;width:100%}.group-chat-container .members-sidebar .members-section .members-list .member-item .member-info{display:flex;flex-direction:column}.group-chat-container .members-sidebar .members-section .members-list .member-item .member-info .member-name{color:var(--text-color);font-size:.95rem;font-weight:500;margin-bottom:4px}.group-chat-container .members-sidebar .members-section .members-list .member-item .member-info .admin-badge{background-color:var(--primary-color);border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px;width:fit-content}.group-chat-container .members-sidebar .sidebar-actions{background-color:var(--card-bg);border-top:1px solid var(--border-color);padding:20px}.group-chat-container .members-sidebar .sidebar-actions .leave-group-btn{background-color:var(--danger-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px;transition:all .2s ease;width:100%}.group-chat-container .members-sidebar .sidebar-actions .leave-group-btn:hover{background-color:var(--danger-color-dark);box-shadow:0 3px 8px #dc35454d;transform:translateY(-2px)}.group-chat-container .modal-overlay{align-items:center;animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.group-chat-container .modal-overlay .modal-content{animation:zoomIn .3s ease;background-color:var(--bg-color);border-radius:16px;box-shadow:0 10px 30px #0003;max-width:420px;overflow:hidden;width:90%}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.group-chat-container .modal-overlay .modal-content .modal-header{align-items:center;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:18px 20px}.group-chat-container .modal-overlay .modal-content .modal-header h2{color:var(--text-color);font-size:1.2rem;font-weight:600}.group-chat-container .modal-overlay .modal-content .modal-header .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;transition:color .2s ease}.group-chat-container .modal-overlay .modal-content .modal-header .close-btn:hover{color:var(--danger-color)}.group-chat-container .modal-overlay .modal-content form{padding:20px}.group-chat-container .modal-overlay .modal-content form .form-group{margin-bottom:20px;position:relative}.group-chat-container .modal-overlay .modal-content form .form-group label{color:var(--text-color);display:block;font-size:.95rem;font-weight:500;margin-bottom:8px}.group-chat-container .modal-overlay .modal-content form .form-group input{background-color:var(--input-bg);border:1.5px solid var(--border-color);border-radius:10px;color:var(--text-color);font-size:.95rem;padding:12px 16px;transition:all .2s ease;width:100%}.group-chat-container .modal-overlay .modal-content form .form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.2);outline:none}.group-chat-container .modal-overlay .modal-content form .form-group .search-results{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .search-result-item{align-items:center;cursor:pointer;display:flex;padding:10px 14px;transition:background-color .2s ease}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .search-result-item:hover{background-color:var(--hover-bg)}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .search-result-item .user-avatar{align-items:center;background-color:var(--primary-color-light);border-radius:50%;color:var(--primary-color);display:flex;font-weight:700;height:36px;justify-content:center;margin-right:12px;overflow:hidden;width:36px}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .search-result-item .user-avatar img{height:100%;object-fit:cover;width:100%}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .search-result-item .user-info{display:flex;flex-direction:column}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .search-result-item .user-info .username{color:var(--text-color);font-size:.95rem;font-weight:500}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .search-result-item .user-info .email{color:var(--text-secondary);font-size:.8rem}.group-chat-container .modal-overlay .modal-content form .form-group .search-results .no-results{color:var(--text-secondary);font-size:.9rem;padding:12px;text-align:center}.group-chat-container .modal-overlay .modal-content form .selected-user{background-color:var(--card-bg);border-left:3px solid var(--primary-color);border-radius:10px;margin-bottom:20px;padding:14px}.group-chat-container .modal-overlay .modal-content form .selected-user p{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-bottom:10px}.group-chat-container .modal-overlay .modal-content form .selected-user .user-details{align-items:center;display:flex}.group-chat-container .modal-overlay .modal-content form .selected-user .user-details .user-avatar{align-items:center;background-color:var(--primary-color-light);border-radius:8px;color:var(--primary-color);display:flex;font-weight:700;height:40px;justify-content:center;margin-right:12px;overflow:hidden;width:40px}.group-chat-container .modal-overlay .modal-content form .selected-user .user-details .user-avatar img{height:100%;object-fit:cover;width:100%}.group-chat-container .modal-overlay .modal-content form .selected-user .user-details .user-info{display:flex;flex-direction:column}.group-chat-container .modal-overlay .modal-content form .selected-user .user-details .user-info .username{color:var(--text-color);font-size:.95rem;font-weight:500}.group-chat-container .modal-overlay .modal-content form .selected-user .user-details .user-info .email{color:var(--text-secondary);font-size:.8rem}.group-chat-container .modal-overlay .modal-content form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.group-chat-container .modal-overlay .modal-content form .form-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.group-chat-container .modal-overlay .modal-content form .form-actions button.cancel-btn{background-color:var(--button-secondary-bg);color:var(--text-color)}.group-chat-container .modal-overlay .modal-content form .form-actions button.cancel-btn:hover{background-color:var(--button-secondary-hover);transform:translateY(-2px)}.group-chat-container .modal-overlay .modal-content form .form-actions button.submit-btn{background-color:var(--primary-color);color:#fff}.group-chat-container .modal-overlay .modal-content form .form-actions button.submit-btn:hover{background-color:var(--primary-color-dark);box-shadow:0 3px 8px rgba(var(--primary-rgb),.3);transform:translateY(-2px)}.group-chat-container .modal-overlay .modal-content form .form-actions button.submit-btn:disabled{background-color:var(--disabled-bg);box-shadow:none;color:var(--disabled-color);cursor:not-allowed;transform:none}.group-chat-container .success-message{align-items:center;background-color:rgba(var(--success-rgb),.1);border-radius:8px;color:var(--success-color);display:flex;margin-bottom:16px;padding:12px 16px}.group-chat-container .success-message:before{content:"✓";font-weight:700;margin-right:8px}.group-chat-container .error-message{align-items:center;background-color:rgba(var(--danger-rgb),.1);border-radius:8px;color:var(--danger-color);display:flex;margin-bottom:16px;padding:12px 16px}.group-chat-container .error-message:before{content:"!";font-weight:700;margin-right:8px}html[data-theme=dark] .group-chat-container .messages-container .messages-list .message-item.own-message .message-bubble{background-color:var(--message-own-bg);box-shadow:0 1px 5px var(--message-shadow)}html[data-theme=dark] .group-chat-container .messages-container .messages-list .message-item.own-message .message-bubble .message-text{color:var(--message-own-text)!important;font-size:1.05rem!important;font-weight:600!important;letter-spacing:.02em!important;text-shadow:0 1px 2px #0006!important}html[data-theme=dark] .group-chat-container .messages-container .messages-list .message-item.own-message .message-bubble .message-time{color:#ffffffe6!important;font-weight:500!important}html[data-theme=dark] .group-chat-container .messages-container .messages-list .message-item.other-message .message-bubble{background-color:var(--message-other-bg);box-shadow:0 1px 5px var(--message-shadow)}html[data-theme=dark] .group-chat-container .messages-container .messages-list .message-item.other-message .message-bubble .message-text{color:var(--message-other-text)!important;font-size:1.05rem!important;font-weight:600!important;letter-spacing:.02em!important;text-shadow:0 1px 2px #0006!important}html[data-theme=dark] .group-chat-container .messages-container .messages-list .message-item.other-message .message-bubble .message-time{color:var(--text-secondary)!important;font-weight:500!important}.message-date-group{margin-bottom:20px}.message-date-group .date-divider{align-items:center;display:flex;margin:20px 0}.message-date-group .date-divider .date-line{background-color:var(--border-color);flex:1 1;height:1px}.message-date-group .date-divider .date-label{align-items:center;background-color:var(--primary-color-light);border-radius:20px;color:var(--primary-color);display:flex;font-size:.85rem;font-weight:500;margin:0 10px;padding:4px 12px}.message-date-group .date-divider .date-label .date-icon{font-size:.8rem;margin-right:6px}.message-item{display:flex;margin-bottom:4px}.message-item.with-sender{margin-top:16px}.message-item .message-sender-avatar{align-items:center;background-color:var(--primary-color-light);border-radius:50%;color:var(--primary-color);display:flex;font-weight:700;height:36px;justify-content:center;margin-right:8px;overflow:hidden;width:36px}.message-item .message-sender-avatar img{height:100%;object-fit:cover;width:100%}.message-item .message-sender-avatar .default-avatar{align-items:center;background-color:var(--primary-color-light);color:var(--primary-color);display:flex;font-weight:700;height:100%;justify-content:center;width:100%}.message-item .message-content{display:flex;flex-direction:column;max-width:75%}.message-item.own-message{justify-content:flex-end}.message-item.own-message .message-content{align-items:flex-end}.message-item.other-message .message-content{align-items:flex-start}.message-bubble .message-time{align-items:center;display:flex;justify-content:flex-end}.message-bubble .message-time .time-icon{font-size:.65rem;margin-right:4px;opacity:.8}.emoji-btn{align-items:center;background:var(--hover-bg);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:44px;justify-content:center;margin-right:8px;transition:all .2s ease;width:44px}.emoji-btn:hover{background-color:var(--primary-color-light);color:var(--primary-color);transform:scale(1.05)}.group-details-section .created-at{align-items:center;display:flex}.group-details-section .created-at .icon{color:var(--text-secondary);font-size:.9rem;margin-right:8px}@media(max-width:767px){.hide-on-mobile{display:none!important}}.show-on-mobile{display:none!important}@media(max-width:767px){.show-on-mobile{display:block!important}}.mobile-menu-toggle{align-items:center;background-color:var(--accent-color);border:none;border-radius:50%;box-shadow:0 2px 10px var(--shadow-color);color:#fff;cursor:pointer;display:none;display:flex;height:40px;justify-content:center;left:1rem;position:fixed;top:1rem;width:40px;z-index:1001}@media(max-width:767px){.mobile-menu-toggle{display:flex!important}}.mobile-menu-toggle:focus{outline:none}@media(max-width:767px){.home-container{flex-direction:column;height:auto;overflow-x:hidden}.home-container .sidebar{height:100vh;left:-100%;max-width:300px;position:fixed;transition:left .3s ease;width:80%;z-index:1000}.home-container .sidebar.mobile-open{left:0}.home-container .main-content{margin-left:0;padding:60px 1rem 1rem;width:100%}.form-control,button,input,select,textarea{font-size:16px!important}.btn{padding:.6rem 1rem}h1,h2,h3{font-size:90%}.theme-toggle{height:35px;right:1rem;top:1rem;width:35px}}.mobile-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@media(max-width:767px){.mobile-overlay.active{display:block}}body{font-family:Poppins,sans-serif}@media(max-width:767px){body{font-size:14px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media(max-width:767px){.App-logo{height:30vmin}}@media(prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:var(--bg-secondary);color:var(--text-primary);display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}@media(max-width:767px){.App-header{font-size:calc(10px + 1.5vmin);padding:0 15px}}.App-link{color:var(--accent-color)}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn{background-color:var(--accent-color);border:none;border-radius:8px;color:var(--button-text);cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;padding:10px 20px;transition:all .3s ease}@media(max-width:767px){.btn{font-size:.9rem;padding:8px 16px}}.btn:hover{box-shadow:0 5px 15px var(--shadow-color);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.theme-toggle{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 10px var(--shadow-color);color:var(--text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;position:fixed;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:1000}@media(max-width:767px){.theme-toggle{height:35px;right:15px;top:15px;width:35px}}.theme-toggle:hover{background-color:var(--accent-color);box-shadow:0 4px 15px var(--shadow-color);color:var(--button-text);transform:scale(1.1)}.theme-toggle:active{transform:scale(.9)}
/*# sourceMappingURL=main.4153dfb0.css.map*/