.chat-container{display:flex;height:100vh;font-family:Inter,sans-serif;transition:background .3s ease}.chat-container.dark{background-color:#121212;color:#fff}.chat-container.light{background-color:#fff;color:#000}.contacts-list{width:300px;min-width:280px;max-width:320px;background-color:#f5f5f5;padding:16px;overflow-y:auto;border-right:1px solid #ddd}.contacts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.contact-filter{width:100%;padding:8px 12px;font-size:14px;border-radius:8px;border:1px solid #ccc;margin-bottom:12px}.contacts-list .contact{display:flex;align-items:center;padding:8px;cursor:pointer;border-radius:8px;margin-bottom:8px;transition:background-color .2s ease}.contacts-list .contact:hover{background-color:#e0e0e0}.contacts-list .contact.selected{background-color:#0078d4;color:#fff}.contact-title{display:flex;flex-direction:column;gap:2px}.contact-title h3{margin:0;font-size:1rem}.contact-info h3{margin:0;font-size:15px;font-weight:600}.contact-info p{margin:2px 0 0;font-size:12px;color:#666}.contact-name{font-size:15px;font-weight:600;margin:0}.contact-phone{font-size:13px;color:#555;margin:2px 0}.unread-badge{background:red;color:#fff;font-size:12px;padding:2px 6px;border-radius:12px;margin-left:auto}.chat-box{flex-grow:1;display:flex;flex-direction:column;padding:16px;position:relative}.messages{flex-grow:1;overflow-y:auto;padding-right:10px;margin-bottom:12px;scroll-behavior:smooth}.message{padding:12px 14px;border-radius:14px;max-width:75%;word-wrap:break-word;font-size:14px;margin-bottom:10px;box-shadow:0 1px 3px #0000001a;position:relative}.message.incoming{background-color:#eee;align-self:flex-start}.message.outgoing{background-color:#d2f8ce;align-self:flex-end}.context-menu{position:absolute;background:#fff;border:1px solid #ccc;z-index:1000;border-radius:6px;box-shadow:0 2px 6px #00000026}.typing-indicator{display:inline-block;width:60px;height:24px;background:#e0e0e0;border-radius:20px;padding:0 10px;margin-top:4px}.typing-indicator span{display:inline-block;width:6px;height:6px;margin:8px 2px;background-color:#888;border-radius:50%;animation:blink 1.2s infinite ease-in-out both}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}.date-separator{text-align:center;margin:20px 0;font-size:13px;color:#999}.message-input{display:flex;align-items:center;gap:10px}.message-input input[type=text]{flex-grow:1;padding:12px 16px;border-radius:24px;border:1px solid #ccc;font-size:15px;outline:none}.message-input button{background-color:#0078d4;color:#fff;border:none;padding:10px 14px;font-size:14px;border-radius:20px;cursor:pointer}.message-input button:hover{background-color:#005ea2}.emoji-panel{position:absolute;bottom:75px;left:80px;background:#fff;border:1px solid #ccc;border-radius:8px;padding:8px;z-index:999;display:flex;flex-wrap:wrap;max-width:260px;gap:6px;box-shadow:0 3px 12px #0003}.emoji-panel span{font-size:22px;cursor:pointer}.notes{margin-top:20px;border-top:1px solid #ccc;padding-top:12px}.notes input[type=text]{width:60%;padding:8px 10px;font-size:14px;border-radius:6px;border:1px solid #ccc;margin-right:8px}.notes button{padding:8px 12px;background-color:#0078d4;color:#fff;border:none;border-radius:6px;cursor:pointer}.pinned{background-color:#fff4c3;padding:10px;border-radius:10px;margin-bottom:10px;font-weight:500;font-size:14px}.media-preview{max-width:220px;border-radius:8px;margin-top:6px;cursor:pointer;transition:transform .2s}.media-preview:hover{transform:scale(1.03)}.file-preview{background:#f1f1f1;border-radius:8px;padding:10px;margin-top:8px;font-size:14px}.download-link{margin-top:4px;font-size:13px}.download-link a{text-decoration:underline;color:#0078d4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:999}.modal-content img{max-width:90vw;max-height:90vh;border-radius:10px;box-shadow:0 5px 25px #00000080}.link-preview{border:1px solid #ddd;border-radius:8px;padding:10px;margin-top:6px;font-size:14px}@media (max-width: 768px){.chat-container{flex-direction:column}.contacts-list{width:100%;max-height:250px;border-right:none;border-bottom:1px solid #ddd}.chat-box{padding:10px}.message-input input[type=text]{font-size:14px}}.contact-time{font-size:12px;color:#888;margin:0}
