/* 个人工作台样式 · 独立模块（源码真相：D:\项目文档\RuidiM-Workbench个人工作台\src\web\wb\wb.css） */
.wb-switch { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.wb-switch span { padding: 7px 12px; border: 1px solid var(--edge); border-radius: 999px; font-size: 12.5px; color: var(--muted); cursor: pointer; background: var(--panel); }
.wb-switch span:hover { border-color: var(--edge2); color: var(--ink); }
.wb-switch span.on { background: var(--accent-dim); border-color: var(--accent); color: var(--accent2); }
.wb-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wb-chip { padding: 5px 10px; border: 1px solid var(--edge); border-radius: 999px; font-size: 12px; background: var(--panel2); color: var(--ink); }
.wb-chip b { color: var(--accent2); font-weight: 600; margin-right: 4px; }
.wb-hint { font-size: 12px; color: var(--faint); margin-top: 8px; line-height: 1.7; }
.wb-cap-note { font-size: 11.5px; color: var(--faint); font-weight: 400; margin-left: 8px; }
/* 台账快照导出条：按钮 + 一句口径说明；只在待办台账页由 wb.js 动态插入 */
.wb-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.wb-cmds { display: flex; flex-wrap: wrap; gap: 10px; }
.wb-cmd { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; padding: 10px 14px; border: 1px solid var(--edge); border-radius: 10px; background: var(--panel2); cursor: pointer; color: var(--ink); font-family: var(--sans); font-size: 13px; text-align: left; }
.wb-cmd:hover { border-color: var(--accent); background: var(--panel3); }
.wb-cmd small { color: var(--faint); font-size: 11.5px; }
.wb-cmd[disabled] { opacity: .5; cursor: not-allowed; }
/* 四张统计卡固定一行；容器变窄时落成 2×2，不留下孤零零的第 4 张 */
.wb-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1180px) { .wb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 「用一句话安排工作」卡片（2026-11-11 B 方案）：形态保留，解析走全局对话 + 执行前确认 */
.wb-ask { border: 1px solid var(--edge); border-radius: 12px; background: var(--panel2); padding: 14px 16px; margin: 0 0 14px; }
.wb-ask-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.wb-ask-head b { font-size: 14.5px; color: var(--ink); }
.wb-ask-tail { font-size: 11.5px; color: var(--faint); margin-left: auto; }
.wb-ask-line { display: flex; gap: 8px; align-items: center; }
.wb-ask-input { flex: 1 1 auto; min-width: 0; padding: 10px 12px; border: 1px solid var(--edge); border-radius: 8px; background: var(--panel); color: var(--ink); font-size: 13.5px; font-family: var(--sans); }
.wb-ask-input:focus { outline: none; border-color: var(--accent); }
.wb-ask-btn { flex: 0 0 auto; padding: 9px 16px; border: 1px solid var(--accent); border-radius: 8px; background: var(--accent-dim); color: var(--accent2); font-size: 13px; cursor: pointer; font-family: var(--sans); }
.wb-ask-btn:hover { background: var(--panel3); }
.wb-ask-btn[disabled] { opacity: .5; cursor: not-allowed; }
.wb-ask-btn.ghost { border-color: var(--edge); background: transparent; color: var(--muted); }
.wb-ask-reply { margin-top: 10px; max-height: 220px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; }
.wb-ask-r { font-size: 12.5px; line-height: 1.75; color: var(--ink); }
.wb-ask-r.me { color: var(--muted); }
.wb-ask-stage { display: inline-block; padding: 1px 6px; border: 1px solid var(--edge); border-radius: 5px; font-size: 11px; color: var(--faint); margin-right: 4px; }
.wb-ask-confirm { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; border: 1px dashed var(--edge2); border-radius: 8px; background: var(--panel); }
.wb-ask-c-t { font-size: 12.5px; color: var(--ink); }
.wb-ask-c-k { font-family: var(--mono); color: var(--faint); font-size: 11.5px; }

/* 台账只读抽屉（B1）：从右侧滑出，只展示事实，不含任何审批动作 */
.wb-row-act { cursor: pointer; }
.wb-row-act:hover td { background: var(--panel2); }
.wb-drawer-mask { position: fixed; inset: 0; background: rgba(0, 0, 0, .45); z-index: 900; }
/* B5 / B6：刷新态与自动刷新开关（挂在 .pg-tools 里，只用自有类，不覆盖 portal.css） */
.wb-fresh { font-size: 11.5px; color: var(--faint); white-space: nowrap; }
.wb-poll { padding: 6px 11px; border: 1px solid var(--edge); border-radius: 999px; background: transparent; color: var(--muted); font-size: 11.5px; font-family: var(--sans); cursor: pointer; white-space: nowrap; }
.wb-poll:hover { border-color: var(--edge2); color: var(--ink); }
.wb-poll.on { border-color: var(--accent); background: var(--accent-dim); color: var(--accent2); }
.wb-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 92vw); display: flex; flex-direction: column; background: var(--panel); border-left: 1px solid var(--edge2); box-shadow: -10px 0 28px rgba(0, 0, 0, .28); z-index: 901; }
.wb-drawer-hd { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--edge); }
.wb-drawer-title { flex: 1 1 auto; min-width: 0; font-size: 14.5px; font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wb-drawer-x { flex: 0 0 auto; width: 28px; height: 28px; border: 1px solid var(--edge); border-radius: 6px; background: transparent; color: var(--muted); font-size: 15px; line-height: 1; cursor: pointer; }
.wb-drawer-x:hover { border-color: var(--accent); color: var(--ink); }
.wb-drawer-body { flex: 1 1 auto; overflow-y: auto; padding: 14px 16px; }
.wb-drawer-ft { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 16px; border-top: 1px solid var(--edge); }
.wb-kv { display: grid; grid-template-columns: 76px 1fr; gap: 8px 12px; font-size: 12.5px; }
.wb-kv > div:nth-child(odd) { color: var(--faint); }
.wb-kv > div:nth-child(even) { color: var(--ink); word-break: break-word; }
.wb-sec { margin: 16px 0 8px; padding-bottom: 6px; border-bottom: 1px solid var(--edge); font-size: 12px; color: var(--faint); }
.wb-body-text { padding: 10px 12px; max-height: 220px; overflow-y: auto; border: 1px solid var(--edge); border-radius: 8px; background: var(--panel2); color: var(--ink); font-size: 12.5px; line-height: 1.8; white-space: pre-wrap; word-break: break-word; }
.wb-chain { display: flex; flex-direction: column; gap: 8px; }
.wb-chain-i { padding: 8px 10px; border: 1px solid var(--edge); border-radius: 8px; background: var(--panel2); color: var(--ink); font-size: 12.5px; line-height: 1.7; }
.wb-chain-i b { font-weight: 600; }
.wb-chain-i span { color: var(--faint); }
.wb-chain-note { margin-top: 6px; white-space: pre-wrap; word-break: break-word; }
.wb-ro { font-size: 11.5px; color: var(--faint); line-height: 1.7; }
