*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{color:#3e2c1c;background-color:#fdfbf7;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.sidebar{z-index:100;background:#f5f0e6;border-right:1px solid #e5d9c4;flex-direction:column;width:280px;height:100vh;display:flex;position:fixed;top:0;left:0;box-shadow:2px 0 8px #0000000d}.sidebar button{color:#fff;cursor:pointer;letter-spacing:.3px;background:#d49a2e;border:none;border-bottom:1px solid #fff3;flex-shrink:0;padding:14px 18px;font-size:16px;font-weight:600;transition:background .2s}.sidebar button:hover{background:#b87d1d}.chat-list{flex:1;overflow-y:auto}.chat-item{cursor:pointer;color:#3e2c1c;border-bottom:1px solid #e5d9c4;align-items:center;gap:12px;padding:14px 18px;font-size:15px;transition:all .2s;display:flex}.chat-item:hover{background:#ede3d0}.chat-item.active{color:#fff;background:#d49a2e;border-bottom-color:#d49a2e;font-weight:600}.main-chat{background:#fdfbf7;flex-direction:column;height:100vh;margin-left:280px;display:flex;overflow:hidden}.chat-container{flex-direction:column;height:100%;min-height:0;display:flex}.chat-window{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.chat-header{color:#fff;background:linear-gradient(135deg,#d49a2e,#e8b44f);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;font-weight:600;display:flex;box-shadow:0 2px 8px #00000014}.chat-header span{letter-spacing:.5px;font-size:18px}.online-badge{opacity:.9;background:#fff3;border-radius:12px;padding:4px 10px;font-size:13px}.chat-user{flex-wrap:nowrap;align-items:center;gap:10px;display:flex}.logout-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;padding:5px 14px;font-size:14px;transition:background .2s}.logout-btn:hover{background:#ffffff4d}.theme-toggle{cursor:pointer;color:#fff;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:22px}.theme-toggle:hover{background:#ffffff26}.user-badge{cursor:pointer;white-space:nowrap;background:#fff3;border-radius:20px;align-items:center;gap:8px;padding:5px 12px;transition:background .2s;display:flex}.user-badge:hover{background:#ffffff59}.user-badge-avatar{color:#fff;background:#fff6;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.user-badge-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.messages-list{background:#fdfbf7;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:20px;display:flex;overflow-y:auto}.loading,.empty-chat{color:#8b7a62;text-align:center;margin-top:20px;font-style:italic}.message{align-items:flex-start;gap:8px;max-width:75%;display:flex}.message-own{flex-direction:row;justify-content:flex-end;align-self:flex-end;margin-left:auto}.message-other{flex-direction:row;justify-content:flex-start;align-self:flex-start;margin-right:auto}.message-avatar{color:#3e2c1c;background:#e0d3be;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex;overflow:hidden}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.message-own .message-avatar{order:2}.message-other .message-avatar{order:0}.message-content{word-break:break-word;background:#fff;border-radius:16px;padding:10px 14px;position:relative;box-shadow:0 2px 6px #0000000a}.message-own .message-content{color:#fff;background:#e8b44f;padding-right:28px}.message-header{justify-content:space-between;gap:12px;margin-bottom:4px;font-size:.85rem;display:flex}.sender-name{color:#3e2c1c;font-weight:600}.message-own .sender-name{color:#fff}.message-time{color:#8b7a62;white-space:nowrap;font-size:.75rem}.message-own .message-time{color:#fffc}.message-text{font-size:.95rem;line-height:1.5}.msg-menu-container{position:absolute;bottom:4px;right:4px}.msg-dots{cursor:pointer;color:inherit;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;line-height:1;transition:opacity .2s}.message-content:hover .msg-dots{opacity:.6}.msg-dots:hover{background:#0000001a;opacity:1!important}.msg-dropdown{z-index:100;background:#fff;border-radius:8px;min-width:130px;margin-bottom:4px;padding:4px;position:absolute;bottom:100%;right:0;box-shadow:0 4px 12px #00000026}.msg-dropdown button{cursor:pointer;text-align:left;color:#000;background:0 0;border:none;border-radius:6px;width:100%;padding:8px 12px;font-size:14px;display:block}.msg-dropdown button:hover{background:#adadad}.msg-dropdown button:last-child:hover{color:#b30505}.message-image{cursor:pointer;border-radius:12px;max-width:250px;max-height:300px;margin-bottom:4px;display:block;box-shadow:0 2px 8px #0000001a}.message-own .message-image{border:1px solid #ffffff4d}.message-input{background:#f5f0e6;border-top:1px solid #e5d9c4;flex-shrink:0;gap:10px;padding:14px 20px;display:flex}.message-input input{color:#3e2c1c;background:#fff;border:1px solid #d1c4ab;border-radius:24px;outline:none;flex:1;padding:12px 18px;font-size:.95rem;transition:border-color .2s}.message-input input:focus{border-color:#d49a2e}.message-input button{color:#fff;cursor:pointer;background:#d49a2e;border:none;border-radius:24px;padding:12px 22px;font-size:.95rem;font-weight:600;transition:background .2s}.message-input button:hover{background:#b87d1d}.emoji-btn{color:#fff;cursor:pointer;background:#d49a2e;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:background .2s;display:flex}.emoji-btn:hover{background:#b87d1d}.typing-indicator{color:#8b7a62;background:#f5f0e6;border-top:1px solid #e5d9c4;flex-shrink:0;padding:6px 20px;font-size:13px;font-style:italic}.reply-bar{background:#f5f0e6;border-top:2px solid #d49a2e;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.reply-bar-text{color:#3e2c1c;flex:1;font-size:13px}.reply-bar-text strong{color:#d49a2e}.reply-bar button{cursor:pointer;width:24px;height:24px;color:inherit;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.date-separator{text-align:center;margin:8px 0;padding:10px 0}.date-separator span{color:#8b7a62;background:#d49a2e1a;border-radius:12px;padding:5px 14px;font-size:13px}.sticky-date{z-index:10;text-align:center;background:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 0;position:sticky;top:0}.sticky-date span{color:#6b5a42;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#d49a2e26;border-radius:12px;padding:4px 12px;font-size:13px}body.dark{color:#e6d5b8;background-color:#2c221a}body.dark .sidebar{background:#1f1811;border-right:1px solid #3a2e24}body.dark .sidebar button{background:#d49a2e}body.dark .chat-item{color:#e6d5b8;border-bottom-color:#3a2e24}body.dark .chat-item:hover{background:#33281e}body.dark .chat-item.active{color:#fff;background:#d49a2e}body.dark .main-chat,body.dark .chat-window,body.dark .messages-list{background:#2c221a}body.dark .chat-header{background:linear-gradient(135deg,#9e6f1c,#c18a2c)}body.dark .message-other .message-content{color:#e6d5b8;background:#3a2e24;box-shadow:0 2px 6px #0000004d}body.dark .message-own .message-content{color:#fff;background:#b87d1d}body.dark .message-time{color:#a89880}body.dark .message-input{background:#1f1811;border-top:1px solid #3a2e24}body.dark .message-input input{color:#e6d5b8;background:#2c221a;border-color:#4a3c2e}body.dark .message-input input:focus{border-color:#d49a2e}body.dark .message-input button,body.dark .emoji-btn{background:#d49a2e}body.dark .typing-indicator{color:#a89880;background:#1f1811;border-top-color:#3a2e24}body.dark .reply-preview{background:#d49a2e26;border-left-color:#d49a2e}body.dark .reply-sender{color:#d49a2e}body.dark .reply-bar{background:#1f1811;border-color:#d49a2e}body.dark .reply-bar-text strong{color:#d49a2e}body.dark .date-separator span{color:#a89880;background:#d49a2e26}body.dark .sticky-date span{color:#c4b08a;background:#d49a2e33}body.dark .modal-content{color:#e6d5b8;background:#2c221a}body.dark .modal-content input,body.dark .modal-content select{color:#e6d5b8;background:#1f1811;border-color:#4a3c2e}body.dark .auth-container{background:#2c221a}body.dark .auth-form{color:#e6d5b8;background:#1f1811}body.dark .auth-form input{color:#e6d5b8;background:#2c221a;border-color:#4a3c2e}body.dark .auth-form h2{color:#e6d5b8}body.dark .auth-switch{color:#d49a2e}.auth-container{background:#f5f0e6;justify-content:center;align-items:center;height:100vh;display:flex}.auth-form{text-align:center;background:#fff;border-radius:20px;width:360px;padding:36px;box-shadow:0 8px 24px #00000014}.auth-form h2{color:#3e2c1c;margin-bottom:24px}.auth-form input{color:#3e2c1c;background:#fdfbf7;border:1px solid #d1c4ab;border-radius:12px;width:100%;margin-bottom:14px;padding:14px;font-size:15px}.auth-form button{color:#fff;cursor:pointer;background:#d49a2e;border:none;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:background .2s}.auth-form button:disabled{cursor:not-allowed;background:#d1c4ab}.auth-form button:hover:not(:disabled){background:#b87d1d}.auth-error{color:#c0392b;background:#fadbd8;border-radius:8px;margin-bottom:14px;padding:10px;font-size:14px}.auth-switch{color:#d49a2e;cursor:pointer;margin-top:18px;font-size:14px}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:center;color:#3e2c1c;background:#fdfbf7;border-radius:20px;min-width:320px;padding:30px;position:relative;box-shadow:0 8px 24px #0000001f}.modal-content h3{color:#3e2c1c;margin-bottom:20px}.modal-content input,.modal-content select{color:#3e2c1c;background:#fff;border:1px solid #d1c4ab;border-radius:10px;width:100%;margin:8px 0 16px;padding:10px 14px;font-size:14px}.modal-content button{cursor:pointer;border:none;border-radius:10px;margin:6px;padding:10px 20px;font-weight:600;transition:background .2s}.modal-content button:first-of-type{color:#fff;background:#d49a2e}.modal-content button:first-of-type:hover{background:#b87d1d}.modal-content button:last-of-type{color:#3e2c1c;background:#e5d9c4}.modal-close{cursor:pointer;color:#8b7a62;background:0 0;border:none;font-size:22px;position:absolute;top:12px;right:14px}@media (width<=768px){.app-layout{flex-direction:column}.sidebar{width:100%;max-height:160px;position:relative}.main-chat{height:calc(100vh - 160px);margin-left:0}.chat-header{flex-wrap:wrap}}@media (width<=480px){.message{max-width:95%}.message-content{padding:8px 12px}.message-text{font-size:.9rem}}
