/* 老板键伪装页：6 个整页模板的样式。固定配色，不跟随站点主题，也不含任何品牌元素。 */
.bx { position: absolute; inset: 0; display: flex; flex-direction: column; background: #fff; color: #202124; font: 13px/1.4 Arial, "Microsoft YaHei", "PingFang SC", sans-serif; cursor: default; user-select: none; }
.bx * { box-sizing: border-box; }
.bx-grow { flex: 1 1 auto; }
.bx-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; }

/* 顶栏（表格 / 文档共用） */
.bx-top { flex: none; display: flex; align-items: center; gap: 12px; padding: 8px 16px 4px; background: #fff; }
.bx-logo { width: 28px; height: 36px; border-radius: 3px; flex: none; }
.bx-logo--sheet { background: linear-gradient(#1E8E57, #1E8E57); position: relative; }
.bx-logo--sheet::after { content: ""; position: absolute; left: 6px; top: 12px; width: 16px; height: 16px; background: #fff; border-radius: 1px; box-shadow: inset 0 -7px 0 -6px #1E8E57; }
.bx-logo--doc { background: #3B78E7; position: relative; }
.bx-logo--doc::after { content: ""; position: absolute; left: 6px; top: 12px; width: 16px; height: 2px; background: #fff; box-shadow: 0 5px 0 #fff, 0 10px 0 #fff; }
.bx-top__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bx-title { font-size: 17px; color: #202124; }
.bx-menus { display: flex; gap: 14px; font-size: 13px; color: #444; }
.bx-menus span { padding: 1px 4px; border-radius: 4px; }
.bx-share { padding: 7px 18px; border-radius: 18px; background: #C2E7FF; color: #001D35; font-weight: 500; }
.bx-avatar { width: 30px; height: 30px; border-radius: 50%; background: #7C5CFF; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; flex: none; }
.bx-tools { flex: none; display: flex; align-items: center; gap: 14px; margin: 4px 12px; padding: 5px 14px; border-radius: 20px; background: #EDF2FA; color: #444; font-size: 13px; }
.bx-tools .sep { width: 1px; height: 16px; background: #C7C7C7; }

/* 表格 */
.bx-fx { flex: none; display: flex; align-items: center; gap: 10px; height: 28px; border-top: 1px solid #E1E3E6; border-bottom: 1px solid #E1E3E6; padding: 0 8px; font-size: 13px; }
.bx-fx .ref { width: 70px; text-align: center; border-right: 1px solid #E1E3E6; }
.bx-fx .fx { color: #888; font-style: italic; }
.bx-grid { border-collapse: collapse; table-layout: fixed; min-width: 1200px; width: 100%; font-size: 13px; background: #fff; }
.bx-grid th { background: #F8F9FA; color: #5F6368; font-weight: 400; border: 1px solid #E1E3E6; height: 24px; text-align: center; position: sticky; top: 0; z-index: 1; }
.bx-grid tbody th { position: static; width: 44px; }
.bx-grid .corner { width: 44px; }
.bx-grid td { border: 1px solid #E1E3E6; height: 24px; padding: 2px 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bx-grid th:nth-child(2) { width: 150px; } .bx-grid th:nth-child(3) { width: 80px; } .bx-grid th:nth-child(4) { width: 80px; }
.bx-grid th:nth-child(5) { width: 280px; } .bx-grid th:nth-child(6) { width: 80px; } .bx-grid th:nth-child(7) { width: 70px; } .bx-grid th:nth-child(8) { width: 220px; }
.bx-grid td.hd { background: #E6F4EA; font-weight: 700; }
.bx-grid td.num { text-align: right; }
.bx-grid td.st-ok { color: #137333; } .bx-grid td.st-bad { color: #C5221F; }
.bx-grid td.sel { outline: 2px solid #1A73E8; outline-offset: -2px; }
.bx-sheettabs { flex: none; display: flex; gap: 4px; padding: 0 12px; height: 34px; align-items: center; background: #F8F9FA; border-top: 1px solid #E1E3E6; color: #444; }
.bx-sheettabs span { padding: 6px 14px; border-radius: 4px; }
.bx-sheettabs .on { background: #E6F4EA; color: #137333; font-weight: 700; }

/* 项目周报：中性通用配色，不像任何具体产品 */
.bx-logo--grid { width: 30px; height: 30px; border-radius: 6px; background: #F4F5F7; border: 1.5px solid #5B6573; position: relative; overflow: hidden; }
.bx-logo--grid::before { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 8px; border-top: 1.5px solid #5B6573; border-bottom: 1.5px solid #5B6573; }
.bx-logo--grid::after { content: ""; position: absolute; top: 0; bottom: 0; left: 9px; border-left: 1.5px solid #5B6573; }
.bx-share--plain { background: #fff; color: #333A44; border: 1px solid #C9CED6; border-radius: 6px; padding: 5px 14px; }
.bx-avatar--plain { background: #E4E7EB; color: #4A5260; }
.bx-sheet .bx-tools { background: #F3F4F6; border-radius: 6px; }
.bx-sheet .bx-grid td.hd { background: #F3F4F6; }
.bx-sheet .bx-grid td.st-ok { color: #3D6B4F; }
.bx-sheet .bx-grid td.st-bad { color: #A34A3C; }
.bx-sheet .bx-grid td.sel { outline-color: #5B6573; }
.bx-sheet .bx-sheettabs .on { background: #fff; color: #222; box-shadow: inset 0 -2px 0 #5B6573; border-radius: 0; }

/* 文档 */
.bx-doc__bg { background: #F9FBFD; padding: 24px 0 60px; }
.bx-page { width: 794px; max-width: calc(100% - 32px); margin: 0 auto; background: #fff; border: 1px solid #E1E3E6; padding: 64px 72px; color: #202124; font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; font-size: 14px; line-height: 1.8; }
.bx-page h1 { font-size: 24px; margin: 0 0 18px; font-weight: 700; text-align: center; }
.bx-page h2 { font-size: 16px; margin: 22px 0 8px; font-weight: 700; }
.bx-page p { margin: 6px 0; } .bx-page ul { margin: 2px 0 8px; padding-left: 22px; } .bx-page li { margin: 2px 0; }
.bx-meta { border-collapse: collapse; width: 100%; margin-bottom: 8px; }
.bx-meta th, .bx-meta td { border: 1px solid #DADCE0; padding: 4px 10px; text-align: left; font-weight: 400; }
.bx-meta th { width: 84px; background: #F1F3F4; font-weight: 700; }
.bx-todo { border-collapse: collapse; width: 100%; }
.bx-todo th, .bx-todo td { border: 1px solid #DADCE0; padding: 4px 10px; text-align: left; }
.bx-todo th { background: #F1F3F4; }

/* 代码编辑器 */
.bx-code { background: #1E1E1E; color: #D4D4D4; }
.bx-code__main { flex: 1 1 auto; min-height: 0; display: flex; }
.bx-act { flex: none; width: 48px; background: #333; display: flex; flex-direction: column; align-items: center; gap: 18px; padding-top: 16px; }
.bx-act span { width: 22px; height: 22px; border: 2px solid #858585; border-radius: 4px; }
.bx-act .on { border-color: #fff; }
.bx-tree { flex: none; width: 240px; background: #252526; padding-top: 8px; font-size: 13px; overflow: hidden; }
.bx-tree div { padding: 3px 10px; white-space: nowrap; color: #CCCCCC; }
.bx-tree .hd { font-size: 11px; font-weight: 700; letter-spacing: 0.5px; padding-bottom: 8px; }
.bx-tree .on { background: #37373D; color: #fff; }
.bx-editor { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.bx-etabs { flex: none; display: flex; background: #252526; }
.bx-etabs span { padding: 9px 16px; font-size: 13px; color: #969696; background: #2D2D2D; border-right: 1px solid #252526; }
.bx-etabs .on { background: #1E1E1E; color: #fff; }
.bx-crumb { flex: none; padding: 4px 16px; font-size: 12px; color: #A0A0A0; }
.bx-src { flex: 1 1 auto; min-height: 0; margin: 0; overflow: auto; padding: 6px 0 0; font: 14px/1.6 var(--mono, Consolas, monospace); color: #D4D4D4; white-space: pre; tab-size: 2; }
.bx-src .ln { display: inline-block; width: 56px; padding-right: 18px; text-align: right; color: #6E7681; user-select: none; }
.c-kw { color: #569CD6; } .c-str { color: #CE9178; } .c-cm { color: #6A9955; } .c-num { color: #B5CEA8; } .c-fn { color: #DCDCAA; } .c-dec { color: #C586C0; }
.bx-status { flex: none; display: flex; gap: 18px; padding: 3px 14px; background: #007ACC; color: #fff; font-size: 12px; }

/* 终端 */
.bx-term { background: #0C0C0C; color: #CCCCCC; font-family: var(--mono, Consolas, monospace); }
.bx-term__tabs { flex: none; display: flex; gap: 2px; padding: 6px 10px 0; background: #1F1F1F; font-size: 12px; color: #9A9A9A; font-family: Arial, "Microsoft YaHei", sans-serif; }
.bx-term__tabs span { padding: 6px 16px; border-radius: 6px 6px 0 0; }
.bx-term__tabs .on { background: #0C0C0C; color: #fff; }
.bx-term__body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 12px 18px; font-size: 14px; line-height: 1.6; }
.bx-term__lines > div { white-space: pre-wrap; word-break: break-all; min-height: 1.6em; }
.l-cmd { color: #FFFFFF; font-weight: 700; margin-top: 6px; }
.l-ok { color: #6CCB8B; } .l-warn { color: #E5C07B; } .l-dim { color: #A0A5A8; }
.bx-term__cur { color: #FFFFFF; } .bx-term__cur .p { color: #6CCB8B; }
.bx-term__cur i { display: inline-block; width: 8px; height: 16px; vertical-align: -3px; background: #ccc; animation: bx-blink 1.1s steps(2, start) infinite; }
@keyframes bx-blink { to { visibility: hidden; } }

/* 收件箱 */
.bx-mail { background: #F6F8FC; }
.bx-mail__top { flex: none; display: flex; align-items: center; gap: 16px; padding: 8px 16px; }
.bx-mail__top .menu { font-size: 20px; color: #5F6368; }
.bx-mail__top .brand { font-size: 20px; color: #5F6368; width: 150px; }
.bx-mail__top .search { flex: 0 1 640px; padding: 10px 18px; border-radius: 24px; background: #EAF1FB; color: #5F6368; }
.bx-mail__main { flex: 1 1 auto; min-height: 0; display: flex; }
.bx-mail__nav { flex: none; width: 240px; padding: 8px 12px; display: flex; flex-direction: column; gap: 2px; }
.bx-mail__nav .compose { margin-bottom: 14px; padding: 14px 22px; width: 140px; border-radius: 16px; background: #C2E7FF; color: #001D35; font-weight: 500; }
.bx-mail__nav div { padding: 6px 16px; border-radius: 0 16px 16px 0; color: #202124; display: flex; justify-content: space-between; }
.bx-mail__nav .on { background: #D3E3FD; font-weight: 700; }
.bx-mail__list { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; background: #fff; border-radius: 16px 0 0 0; overflow: hidden; }
.bx-mail__tabs { flex: none; display: flex; border-bottom: 1px solid #E1E3E6; }
.bx-mail__tabs span { padding: 12px 28px; color: #5F6368; }
.bx-mail__tabs .on { color: #0B57D0; border-bottom: 3px solid #0B57D0; font-weight: 700; }
.bx-mail .row { display: flex; align-items: center; gap: 14px; padding: 0 16px; height: 40px; border-bottom: 1px solid #F1F3F4; white-space: nowrap; }
.bx-mail .row .chk { width: 16px; height: 16px; border: 2px solid #C7C7C7; border-radius: 3px; flex: none; }
.bx-mail .row .from { width: 190px; flex: none; overflow: hidden; text-overflow: ellipsis; }
.bx-mail .row .sub { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: #5F6368; }
.bx-mail .row .sub b { color: #202124; font-weight: 400; }
.bx-mail .row .time { flex: none; width: 70px; text-align: right; color: #5F6368; font-size: 12px; }
.bx-mail .row.unread { background: #F2F6FC; }
.bx-mail .row.unread .from, .bx-mail .row.unread .sub b, .bx-mail .row.unread .time { font-weight: 700; color: #202124; }

/* 数据看板 */
.bx-dash { background: #F4F5F8; }
.bx-dash__top { flex: none; display: flex; align-items: center; gap: 10px; padding: 12px 24px; background: #fff; border-bottom: 1px solid #E5E7EB; font-size: 16px; }
.bx-dash__top .logo { width: 22px; height: 22px; border-radius: 6px; background: #4F6EE6; }
.bx-dash .pill { padding: 5px 14px; border-radius: 999px; border: 1px solid #D5D8E0; font-size: 13px; color: #555; }
.bx-dash .pill.on { background: #4F6EE6; color: #fff; border-color: #4F6EE6; }
.bx-dash__body { padding: 20px 24px 40px; display: flex; flex-direction: column; gap: 16px; }
.bx-dash .kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bx-dash .card { background: #fff; border: 1px solid #E5E7EB; border-radius: 12px; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bx-dash .card .n { color: #6B7280; font-size: 13px; } .bx-dash .card .v { font-size: 28px; font-weight: 700; color: #111827; }
.bx-dash .d.up { color: #15803D; } .bx-dash .d.down { color: #B91C1C; } .bx-dash .d { font-size: 12px; }
.bx-dash .charts { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.bx-dash .h { font-weight: 700; margin-bottom: 8px; color: #111827; }
.bx-dash svg { width: 100%; height: 190px; }
.bx-dash .bars { display: flex; align-items: flex-end; gap: 10px; height: 190px; }
.bx-dash .bars .b { flex: 1 1 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; font-size: 11px; color: #6B7280; }
.bx-dash .bars i { display: block; width: 100%; background: #AEBCF0; border-radius: 4px 4px 0 0; }
.bx-dash .bars .b:nth-child(5) i { background: #4F6EE6; }
.bx-dash .tbl { width: 100%; border-collapse: collapse; }
.bx-dash .tbl th, .bx-dash .tbl td { text-align: left; padding: 8px 6px; border-bottom: 1px solid #EEF0F4; }
.bx-dash .tbl th { color: #6B7280; font-weight: 400; font-size: 12px; }

/* 截图 */
.bx-shot { background: #000; }
.bx-shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* 手机上的伪装层：恢复热点 */
.boss-restore {
  position: absolute; right: 0; bottom: 0; width: 56px; height: 56px; border: 0; background: transparent; opacity: 0; z-index: 2;
}
@media (max-width: 767px) {
  .bx-menus, .bx-tools, .bx-tree, .bx-act, .bx-mail__nav { display: none; }
  .bx-page { padding: 28px 20px; }
  .bx-dash .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bx-dash .charts { grid-template-columns: 1fr; }
  .bx-mail .row .from { width: 90px; }
  .bx-src { font-size: 12px; }
}
