body{background:#eef2f7;margin:0;font-family:Segoe UI,sans-serif}.app{flex-direction:column;height:100vh;display:flex}header{color:#fff;background:linear-gradient(90deg,#0984e3,#6c5ce7);padding:15px 20px;font-size:18px;font-weight:600}.main{flex:1;display:flex}.sidebar{color:#fff;background:#1e272e;flex-direction:column;width:240px;padding:20px;display:flex}.sidebar h3{margin-bottom:10px}.userItem{background:#ffffff0d;border-radius:8px;margin:5px 0;padding:10px;transition:all .2s}.userItem:hover{background:#ffffff26}.dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.logoutBtn{color:#fff;cursor:pointer;background:#e84118;border:none;border-radius:6px;margin-top:auto;padding:10px}.chat{background:#f5f7fb;flex-direction:column;flex:1;display:flex}.messages{flex-direction:column;flex:1;padding:20px;display:flex;overflow-y:auto}.msg{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;border-radius:10px;max-width:60%;margin:5px;padding:10px}.msg:hover{transform:scale(1.01)}.msg p{margin:5px 0}.msg strong{color:#555;font-size:13px}.msg small{color:gray;font-size:11px}.inputBox{background:#fff;border-top:1px solid #ddd;gap:10px;padding:12px;display:flex}.inputBox input[type=text]{border:1px solid #ccc;border-radius:20px;flex:1;padding:10px}.inputBox button{color:#fff;cursor:pointer;background:#0984e3;border:none;border-radius:20px;padding:10px 15px}.login{justify-content:center;align-items:center;height:100vh;display:flex}.login div{background:#fff;border-radius:10px;padding:30px;box-shadow:0 5px 20px #0000001a}.login input{width:250px;margin:10px 0;padding:10px;display:block}.login button{color:#fff;background:#0984e3;border:none;width:100%;padding:10px}.contextMenu div{cursor:pointer;padding:6px 12px}.contextMenu div:hover{background:#f1f1f1}.typing{color:gray;margin-top:5px;font-size:12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.sidebar{z-index:1000;width:220px;height:calc(100% - 60px);transition:all .3s;position:absolute;top:60px;left:-100%}.sidebar.show{left:0}.menuBtn{cursor:pointer;background:#fff;border:none;padding:5px 10px;display:block}.main{flex-direction:column}.chat{width:100%}}.menuBtn{display:none}.header{color:#fff;background:linear-gradient(135deg,#0984e3,#6c5ce7);justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 2px 10px #0000001a}.headerLeft{align-items:center;gap:10px;display:flex}.logo{border-radius:6px;width:80px;height:60px}.headerRight{align-items:center;gap:15px;display:flex}.userInfo{text-align:right;flex-direction:column;display:flex}.userName{font-size:14px;font-weight:600}.role{opacity:.8;font-size:12px}.logoutBtn{color:#fff;cursor:pointer;background:#e84118;border:none;border-radius:6px;padding:6px 12px;transition:all .2s}.logoutBtn:hover{background:#c23616}.loginPage{background:linear-gradient(135deg,#0984e3,#6c5ce7);justify-content:center;align-items:center;height:100vh;display:flex}.loginCard{text-align:center;background:#fff;border-radius:12px;width:300px;padding:40px;box-shadow:0 10px 30px #0003}.loginCard h2{margin-bottom:5px}.subText{color:gray;margin-bottom:20px;font-size:13px}.loginCard input{border:1px solid #ccc;border-radius:8px;width:100%;margin:10px 0;padding:10px}.loginCard button{color:#fff;cursor:pointer;background:#0984e3;border:none;border-radius:8px;width:100%;padding:10px;transition:all .2s}.loginCard button:hover{background:#0652dd}.adminPage{padding:20px}.adminGrid{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 3px 10px #0000001a}.card h3{margin-bottom:10px}.listItem{border-bottom:1px solid #eee;padding:8px}.navItem{cursor:pointer;background:#ffffff1a;border-radius:8px;margin:5px 0;padding:10px}.navItem:hover{background:#fff3}.adminCard{background:#fff;border-radius:10px;margin-bottom:20px;padding:20px;box-shadow:0 3px 10px #0000000d}.adminCard input,.adminCard select{border:1px solid #ccc;border-radius:6px;margin:5px;padding:8px}.adminCard button{color:#fff;cursor:pointer;background:#0984e3;border:none;border-radius:6px;padding:8px 12px}.adminRow{background:#f9fbff;border-radius:6px;justify-content:space-between;margin-top:8px;padding:10px;display:flex}
