/* ============================================================
   hall.css - 大厅页 (QQ2003 复刻) 伪窗口 1920 x 1080
   布局/配色取自参考图; 标题栏按要求改纯蓝 (去渐变)
   ============================================================ */

html { height: 100%; }
body.hall {
  background-color: #008080;            /* 经典桌面青绿 */
  height: 100%;
  display: flex;
  overflow: auto;                       /* 窗口大于视口时允许滚动 */
}

/* ===== 窗口 (1920 x 1080) ===== */
#win, #win * { box-sizing: border-box; }
#win {
  width: 1920px;
  height: 1080px;
  flex: none;
  margin: auto;                         /* 居中; 窗口大于视口时 auto 归零, 顶部/左侧不会被裁掉 */
  background-color: #ECE9D8;
  border: 1px solid;
  border-color: #FFFFFF #404040 #404040 #FFFFFF;
  outline: 1px solid #0A246A;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ---- 标题栏 (33px, 纯蓝无渐变) ---- */
#win .titlebar {
  height: 33px;
  flex: none;
  display: flex;
  align-items: center;
  padding-left: 5px;
  background-color: #0060EE;
  position: relative;
}
#win .titlebar .qqlogo { display: block; flex: none; }
#win .titlebar .tt {
  color: #FFFFFF; font-weight: bold; margin-left: 5px;
  letter-spacing: 1px; white-space: nowrap;
}
#win .wbtns { position: absolute; right: 3px; top: 2px; display: flex; }
#win .wbtns img { display: block; cursor: default; }

/* ---- 顶部常驻登录区 (登录框: 靓号 + 密码 + 登录) ---- */
#win .loginbar {
  height: 30px;
  flex: none;
  background-color: #ECE9D8;
  border-bottom: 1px solid #808080;
  display: flex;
  align-items: center;
  padding: 0 8px;
  white-space: nowrap;
  overflow: hidden;
}
#win .loginbar .lb-lbl { margin: 0 4px 0 12px; }
#win .loginbar .lb-lbl:first-child { margin-left: 0; }
#win .loginbar .lb-input { width: 110px; }
#win .loginbar .btn { padding: 2px 12px; margin-left: 10px; }
#win .loginbar .lb-lnk {
  color: #0000CC; text-decoration: underline; cursor: pointer; margin-left: 14px;
}
#win .loginbar .lb-welcome { color: #000080; }
#win .loginbar .lb-welcome b { color: #000000; }
#win .loginbar .lb-msg { color: #CC0000; margin-left: 14px; }

/* ---- 菜单条 (19px) ---- */
#win .menubar {
  height: 19px;
  flex: none;
  background-color: #ECE9D8;
  border-bottom: 1px solid #808080;
  display: flex;
  align-items: center;
  padding-left: 4px;
}
#win .mitem { padding: 0 6px; cursor: default; white-space: nowrap; }
#win .mitem:hover { background-color: #0A246A; color: #FFFFFF; }
#win .mitem u { text-decoration: underline; }

/* ---- 工具栏 (33px) ---- */
#win .toolbar {
  height: 33px;
  flex: none;
  background-color: #ECE9D8;
  border-bottom: 1px solid #808080;
  position: relative;
}
#win .tbtn { position: absolute; top: 5px; display: flex; align-items: center; cursor: default; white-space: nowrap; }
#win .tbtn img { display: block; height: 22px; width: auto; }
#win .tbtn b { font-weight: normal; margin-left: 3px; }
#win .tbtn:hover b { text-decoration: underline; }
#win .tsep {
  position: absolute; top: 7px; height: 19px; width: 0; font-style: normal;
  border-left: 1px solid #A9A69A; border-right: 1px solid #FBFAEC;
}

/* ---- 主体 ---- */
#win .wbody { flex: 1; min-height: 0; display: flex; overflow: hidden; background-color: #000066; }

/* 左子窗口 (117px) */
#win .lwin {
  width: 117px; flex: none;
  background-color: #D4D0C8;
  border: 1px solid;
  border-color: #FFFFFF #808080 #808080 #FFFFFF;
  display: flex; flex-direction: column; overflow: hidden; min-height: 0;
}
#win .ltitle {
  height: 16px; flex: none;
  background: linear-gradient(#FBFBFB, #DCDCDC);
  border-bottom: 1px solid #808080;
  position: relative;
  display: flex; align-items: center;
}
#win .ltxt { font-size: 11px; padding-left: 3px; color: #000000; white-space: nowrap; }
#win .ltitle i {
  position: absolute; right: 1px; top: 1px; width: 13px; height: 12px;
  background-color: #D4D0C8;
  border: 1px solid; border-color: #FFFFFF #808080 #808080 #FFFFFF;
  font-style: normal; font-size: 10px; line-height: 10px; text-align: center;
  cursor: pointer;
}
#win .nav { flex: 1; min-height: 0; background-color: #0A3A99; overflow-y: auto; overflow-x: hidden; }
#win .navitem {
  height: 20px; line-height: 20px; color: #FFFFFF; white-space: nowrap;
  display: flex; align-items: center; padding-left: 2px; cursor: pointer;
}
#win .navitem img { flex: none; width: 16px; height: 16px; }
#win .navitem span { margin-left: 3px; overflow: hidden; }
#win .navitem:hover { background-color: #0B4FBE; }
#win .navitem.sel { background-color: #0B4FBE; }

/* 右区 */
#win .rwin {
  flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden;
  background-color: #000066; border-left: 1px solid #808080;
}
#win .notice {
  height: 65px; flex: none;
  background-color: #FFFFFF;
  border: 2px inset #D4D0C8;
  display: flex; align-items: center;
  padding: 0 6px; overflow: hidden;
}
#win .nt { font-size: 13px; color: #000000; }

/* 房间栅格 (两列整体贴在蓝色区左下角, 距左边 50px / 距下边 100px; 第2列与第1列间距 100px) */
#win .grid {
  flex: 1; min-height: 0; overflow: auto; background-color: #000066;
  padding: 2px 0 300px 50px;
  display: flex; flex-direction: column; align-items: flex-start;
}
#win .grid table.g2 {
  width: auto; margin: auto 0 0 0; border-collapse: collapse; table-layout: auto;
}
#win .grid table.g2 > tbody > tr > td { vertical-align: top; padding: 0; }
#win .grid table.g2 > tbody > tr > td + td { padding-left: 100px; }
#win .bhead { height: 22px; line-height: 22px; white-space: nowrap; overflow: hidden; text-align: left; }
#win .bhead img { width: 18px; height: 19px; vertical-align: -4px; margin-right: 2px; }
#win .cat { color: #FFFF00; text-decoration: underline; font-weight: normal; cursor: pointer; }
#win .stat { color: #FFFFFF; }
#win .row { height: 18px; line-height: 18px; white-space: nowrap; overflow: hidden; text-align: left; }
#win .rname { color: #99CCFF; text-decoration: underline; cursor: pointer; }
#win .rnum { color: #FF0000; margin-left: 3px; }
#win .empty { color: #99CCFF; }

/* ---- 底栏 (20px) ---- */
#win .botbar {
  height: 20px; flex: none;
  background-color: #D4D0C8; border-top: 1px solid #FFFFFF;
  display: flex; align-items: center;
}
#win .botbar .tab { display: flex; align-items: center; padding: 0 5px; cursor: default; white-space: nowrap; }
#win .botbar .tab img { width: 16px; height: 16px; margin-right: 3px; }
#win .botbar .track {
  flex: 1; height: 13px; margin: 0 6px;
  background-color: #ECE9E0;
  border: 1px solid; border-color: #808080 #FFFFFF #FFFFFF #808080;
  position: relative;
}
#win .botbar .track i {
  position: absolute; left: 2px; top: 2px; width: 38px; height: 7px;
  background-color: #CFCECC;
  border: 1px solid; border-color: #FFFFFF #808080 #808080 #FFFFFF;
}

/* ---- 状态栏 (22px) ---- */
#win .statusbar {
  height: 22px; flex: none;
  background-color: #D4D0C8; border-top: 1px solid #FFFFFF;
  padding: 2px 3px 3px 3px;
}
#win .statusbar table { width: 100%; height: 100%; }
#win .statusbar td {
  height: 17px; padding: 0 5px;
  border: 1px solid; border-color: #808080 #FFFFFF #FFFFFF #808080;
  background-color: #D4D0C8;
  white-space: nowrap; overflow: hidden;
}
#win .statusbar td.st { width: auto; }

/* 弹窗内部 (老式窗口) */
#pwdMsg { color: #CC0000; }
.welcome-text { color: #000080; font-weight: bold; }
