:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0}#root{width:100%;height:100vh}.auth-page{background-color:#f0f2f5;justify-content:center;align-items:center;width:100%;height:100vh;display:flex}.auth-form-box{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:400px;padding:30px;box-shadow:0 4px 6px #0000001a}.auth-form-box form{flex-direction:column;gap:15px;display:flex}.auth-form-box input{border:1px solid #ddd;border-radius:6px;padding:12px;font-size:1rem}.auth-form-box button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:6px;padding:12px;font-size:1rem;font-weight:700;transition:background-color .2s}.auth-form-box button:hover{background-color:#0056b3}.error{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:15px;padding:10px}.chat-app{flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}header{color:#333;z-index:10;background-color:#fff;border-bottom:1px solid #dee2e6;justify-content:space-between;align-items:center;height:70px;padding:0 30px;display:flex;box-shadow:0 2px 4px #0000000d}header h1{color:#007bff;letter-spacing:-.5px;margin:0;font-size:1.5rem;font-weight:800}.user-info{align-items:center;gap:40px;display:flex}.user-info span{color:#495057;font-size:1.1rem;font-weight:600}.logout-btn{color:#dc3545;cursor:pointer;background-color:#0000;border:2px solid #dc3545;border-radius:8px;padding:10px 24px;font-size:1rem;font-weight:700;transition:all .2s ease-in-out}.logout-btn:hover{color:#fff;background-color:#dc3545}.chat-container{flex:1;height:calc(100vh - 70px);display:flex;overflow:hidden}.sidebar{color:#333;background-color:#f8f9fa;border-right:1px solid #dee2e6;flex-direction:column;width:250px;padding:20px;display:flex}.sidebar h3{color:#495057;margin-top:0;margin-bottom:20px}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar li{cursor:pointer;color:#333;border-radius:6px;margin-bottom:5px;padding:12px 15px;transition:background-color .2s}.sidebar li:hover{background-color:#e9ecef}.sidebar li.active{color:#fff;background-color:#007bff}.chat-window{background-color:#fff;flex-direction:column;flex:1;display:flex;position:relative}.messages{background-color:#fff;flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.message{word-wrap:break-word;border-radius:18px;width:fit-content;max-width:70%;padding:10px 16px;line-height:1.4}.message.own{color:#fff;background-color:#007bff;border-bottom-right-radius:4px;align-self:flex-end}.message:not(.own):not(.system){color:#333;background-color:#f1f0f0;border-bottom-left-radius:4px;align-self:flex-start}.message.system{color:#6c757d;background-color:#0000;align-self:center;margin:10px 0;font-size:.85em;font-style:italic}.message.bot{color:#0d47a1;background-color:#e3f2fd;border:1px solid #bbdefb}.typing-indicator{color:#6c757d;margin-bottom:5px;margin-left:20px;font-size:.8em}.message-form{background-color:#fff;border-top:1px solid #dee2e6;gap:10px;padding:20px;display:flex}.message-form input{border:1px solid #ced4da;border-radius:24px;outline:none;flex:1;padding:12px;font-size:1rem}.message-form input:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.message-form button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:24px;padding:10px 25px;font-weight:600;transition:background-color .2s}.message-form button:hover{background-color:#0056b3}.sidebar-buttons{gap:10px;margin-bottom:20px;display:flex}.sidebar-btn{cursor:pointer;background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;flex:1;padding:8px;font-size:.9rem}.sidebar-btn:hover{background-color:#dbe2e8}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:#fff;border-radius:8px;flex-direction:column;gap:15px;width:300px;padding:20px;display:flex;box-shadow:0 4px 6px #0000001a}.modal-content h3{margin-top:0}.modal-buttons{justify-content:flex-end;gap:10px;display:flex}.room-invite-info{color:#555;background:#f8f9fa;border-bottom:1px solid #dee2e6;justify-content:space-between;align-items:center;padding:10px 20px;font-size:.9rem;display:flex}.copy-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;margin-left:10px;padding:2px 8px;font-size:.8rem}
