/* ============ 基础 ============ */
* { margin:0; padding:0; box-sizing:border-box; }
:root{
  --yellow:#FFE600;
  --yellow-light:#FFFBCC;
  --black:#111111;
  --text:#293446;
  --text2:#5F6B7C;
  --text3:#8A94A3;
  --border:#E3E6EB;
  --border2:#DFE4EB;
  --bg:#F5F7FA;
  --card:#FFFFFF;
  --green:#00B42A;
  --red:#F5455C;
  --blue:#3370FF;
}
html,body{ height:100%; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg); color:var(--text); font-size:14px;
}
button{ font-family:inherit; cursor:pointer; border:none; background:none; font-size:14px; }
input,textarea,select{ font-family:inherit; font-size:14px; outline:none; border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--text); background:#fff; }
input:focus,textarea:focus,select:focus{ border-color:var(--yellow); }
a{ color:inherit; text-decoration:none; }
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-thumb{ background:#D4D6DB; border-radius:4px; }

/* ============ 登录页 ============ */
.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg,#FFFBEA 0%,#F5F6F7 45%,#EEF1F4 100%); }
.login-card{ width:380px; background:#fff; border-radius:14px; padding:36px 34px; box-shadow:0 8px 40px rgba(31,35,41,.08); }
.login-logo{ display:flex; align-items:center; gap:10px; justify-content:center; margin-bottom:6px; }
.logo-badge{ width:36px; height:36px; border-radius:8px; background:var(--yellow); color:#111; font-weight:800; font-size:20px; display:flex; align-items:center; justify-content:center; }
.login-logo .t{ font-size:18px; font-weight:700; }
.login-sub{ text-align:center; color:var(--text3); font-size:13px; margin-bottom:24px; }
.login-tabs{ display:flex; background:var(--bg); border-radius:8px; padding:4px; margin-bottom:20px; }
.login-tabs button{ flex:1; padding:8px 0; border-radius:6px; color:var(--text2); }
.login-tabs button.on{ background:#fff; color:var(--text); font-weight:600; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.login-card .field{ margin-bottom:14px; }
.login-card .field input{ width:100%; }
.btn-main{ width:100%; padding:11px 0; border-radius:8px; background:var(--black); color:#fff; font-weight:600; font-size:15px; }
.btn-main:hover{ opacity:.88; }
.login-err{ color:var(--red); font-size:12px; min-height:18px; margin-bottom:6px; text-align:center; }

/* ============ 顶部导航 ============ */
.topnav{ position:fixed; top:0; left:0; right:0; height:48px; background:#fff; border-bottom:1px solid var(--border); display:flex; align-items:center; padding:0 16px; z-index:100; gap:2px; }
.topnav .brand{ display:flex; align-items:center; gap:7px; margin-right:14px; }
.topnav .brand .logo-badge{ width:28px; height:28px; font-size:15px; border-radius:50%; }
.topnav .brand .bt{ font-weight:600; font-size:14px; color:#262626; }
.topnav .nav-item{ padding:0 11px; height:48px; line-height:48px; color:var(--text2); font-size:14px; position:relative; white-space:nowrap; }
.topnav .nav-item:hover{ color:var(--text); }
.topnav .nav-item.active{ color:#111; font-weight:600; }
.topnav .nav-item.active::after{ content:""; position:absolute; left:11px; right:11px; bottom:0; height:3px; border-radius:2px 2px 0 0; background:var(--yellow); }
.topnav .spacer{ flex:1; }
.topnav .nav-icon{ width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--text2); font-size:16px; cursor:pointer; }
.topnav .avatar{ cursor:pointer; }
.topnav .nav-icon:hover{ background:var(--bg); }
.avatar{ width:26px; height:26px; border-radius:50%; color:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; font-weight:600; }

/* ============ 布局 ============ */
.page{ padding:60px 0 60px; max-width:1216px; margin:0 auto; }
.card{ background:var(--card); border-radius:0; margin-bottom:14px; border:1px solid var(--border2); box-shadow:none; }
.card-hd{ display:flex; align-items:center; gap:8px; padding:14px 20px; }
.card-hd .ttl{ font-weight:600; font-size:14px; display:flex; align-items:center; gap:8px; color:#262626; }
.card-hd .meta{ color:var(--text3); font-size:13px; margin-left:6px; display:flex; align-items:center; gap:12px; }
.card-hd .grow{ flex:1; }
.card-bd{ padding:4px 20px 18px; }
.btn-black{ background:var(--black); color:#fff; padding:7px 16px; border-radius:8px; font-weight:500; font-size:13px; display:inline-flex; align-items:center; gap:5px; }
.btn-black:hover{ opacity:.85; }
.btn-yellow{ background:var(--yellow); color:#111; padding:7px 14px; border-radius:8px; font-weight:500; font-size:13px; display:inline-flex; align-items:center; gap:5px; }
.btn-yellow:hover{ filter:brightness(1.04); }
.btn-ghost{ border:1px solid var(--border); color:var(--text2); padding:6px 14px; border-radius:8px; font-size:13px; background:#fff; }
.btn-ghost:hover{ color:var(--text); border-color:#C9CDD4; }
.btn-danger{ color:var(--red); border:1px solid #FDE2E2; padding:6px 14px; border-radius:7px; font-size:13px; background:#fff; }
.btn-sm{ padding:4px 10px; font-size:12px; }
.dot-badge{ display:inline-flex; align-items:center; gap:5px; color:var(--text2); font-size:13px; }
.dot-badge i{ width:14px; height:14px; border-radius:50%; border:1.5px solid #C9CDD4; display:inline-block; }

/* 空状态 */
.empty{ text-align:center; padding:34px 20px 38px; color:var(--text3); }
.empty .eicon{ width:44px; height:44px; margin:0 auto 12px; border-radius:10px; background:var(--bg); display:flex; align-items:center; justify-content:center; font-size:20px; color:#B0B5BD; }
.empty .t1{ color:var(--text2); font-size:14px; font-weight:500; margin-bottom:6px; }
.empty .t2{ font-size:12.5px; line-height:1.7; }

/* ============ 日期条 ============ */
.datebar{ display:flex; align-items:center; gap:6px; padding:16px 18px 14px; flex-wrap:wrap; }
.daycell{ width:64px; padding:7px 0 8px; border-radius:8px; text-align:center; cursor:pointer; line-height:1.35; }
.daycell .dw{ font-size:13px; color:var(--text2); }
.daycell .dd{ font-size:13px; color:var(--text3); }
.daycell:hover{ background:var(--bg); }
.daycell.sel{ background:var(--yellow); }
.daycell.sel .dw,.daycell.sel .dd{ color:#111; font-weight:600; }
.daycell.today .dd{ color:var(--yellow); font-weight:700; }
.daycell.sel.today .dd{ color:#111; }
.datebar .seg{ display:flex; background:var(--bg); border-radius:8px; padding:3px; margin-left:10px; }
.datebar .seg button{ padding:5px 13px; border-radius:6px; color:var(--text2); font-size:13px; }
.datebar .seg button.on{ background:#fff; color:var(--text); font-weight:600; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.datebar .right{ margin-left:auto; display:flex; align-items:center; gap:10px; }
.datebar input[type=date]{ padding:6px 10px; border-radius:7px; font-size:13px; }

/* ============ 工作清单 ============ */
.work-item{ display:flex; align-items:flex-start; gap:12px; padding:13px 4px; border-bottom:1px solid #F2F3F5; }
.work-item:last-child{ border-bottom:none; }
.chk{ width:18px; height:18px; min-width:18px; border-radius:50%; border:1.5px solid #C9CDD4; margin-top:2px; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; }
.chk.done{ background:var(--green); border-color:var(--green); }
.work-item .wt{ flex:1; line-height:1.6; }
.work-item.done .wt{ color:var(--text3); text-decoration:line-through; }
.work-item .wops{ display:none; gap:10px; color:var(--text3); font-size:12.5px; }
.work-item:hover .wops{ display:flex; }
.work-item .wops span{ cursor:pointer; }
.work-item .wops span:hover{ color:var(--text); }
.work-item .wops .del:hover{ color:var(--red); }
.inline-add{ display:flex; gap:10px; padding:12px 4px 2px; }
.inline-add input{ flex:1; }

/* ============ 问题与解决 ============ */
.prob-item{ padding:13px 4px; border-bottom:1px solid #F2F3F5; }
.prob-item:last-child{ border-bottom:none; }
.prob-item .pq{ font-weight:500; display:flex; align-items:flex-start; gap:8px; line-height:1.6; }
.prob-item .pa{ color:var(--text2); margin:6px 0 0 24px; line-height:1.7; font-size:13.5px; }
.prob-item .pops{ margin-left:24px; margin-top:6px; display:none; gap:10px; font-size:12.5px; color:var(--text3); }
.prob-item:hover .pops{ display:flex; }
.prob-item .pops span{ cursor:pointer; }
.prob-item .pops span:hover{ color:var(--text); }
.tag-open{ font-size:11px; color:#FF8800; background:#FFF3E5; border-radius:4px; padding:1px 6px; margin-left:6px; }
.tag-solved{ font-size:11px; color:var(--green); background:#E8FFEA; border-radius:4px; padding:1px 6px; margin-left:6px; }

/* ============ 复盘与反馈 ============ */
.tabs{ display:flex; gap:26px; padding:0 18px; border-bottom:1px solid var(--border); }
.tabs button{ padding:13px 2px; color:var(--text2); position:relative; font-size:14px; }
.tabs button.on{ color:var(--text); font-weight:600; }
.tabs button.on::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2.5px; background:var(--yellow); border-radius:2px; }
.score-banner{ margin:14px 18px 4px; background:var(--yellow-light); border:1px solid #FBE7A6; border-radius:8px; padding:12px 14px; display:flex; align-items:center; gap:8px; font-size:13px; color:#8A6116; }
.score-banner .grow{ flex:1; }
.ai-score{ padding:16px 18px 6px; }
.ai-score .score-num{ font-size:34px; font-weight:800; color:var(--text); }
.ai-score .score-num small{ font-size:14px; color:var(--text3); font-weight:400; margin-left:4px; }
.ai-score .score-text{ white-space:pre-wrap; line-height:1.8; color:var(--text2); margin-top:8px; font-size:13.5px; background:var(--bg); border-radius:8px; padding:14px 16px; }
.score-line{ display:flex; align-items:center; gap:14px; }

/* ============ 左侧栏 + 主区 布局（文档/知识库/协作表/工具箱/订阅） ============ */
.split{ display:flex; gap:14px; align-items:flex-start; }
.side{ width:220px; min-width:220px; background:#fff; border-radius:0; padding:14px; border:1px solid var(--border2); }
.main-col{ flex:1; min-width:0; background:#fff; border-radius:0; padding:6px 18px 18px; border:1px solid var(--border2); }
.side .s-hd{ display:flex; align-items:center; gap:6px; font-weight:600; margin-bottom:12px; }
.side .s-hd .cnt{ color:var(--text3); font-weight:400; font-size:12px; }
.side .s-hd .grow{ flex:1; }
.dash-btn{ display:block; width:100%; text-align:center; border:1px dashed var(--border); border-radius:8px; padding:9px 0; color:var(--text2); font-size:13px; margin-bottom:10px; background:#FAFBFC; }
.dash-btn:hover{ color:var(--text); border-color:#C9CDD4; }
.side input[type=text]{ width:100%; margin-bottom:10px; }
.seg2{ display:flex; background:var(--bg); border-radius:8px; padding:3px; margin-bottom:10px; }
.seg2 button{ flex:1; padding:7px 0; border-radius:6px; color:var(--text2); font-size:13px; }
.seg2 button.on{ background:var(--yellow); color:#111; font-weight:600; }
.side-cat{ display:flex; align-items:center; gap:8px; padding:9px 10px; border-radius:8px; cursor:pointer; color:var(--text2); font-size:13.5px; margin-bottom:2px; }
.side-cat:hover{ background:var(--bg); }
.side-cat.on{ background:var(--yellow-light); color:var(--text); font-weight:600; }
.side-cat .n{ margin-left:auto; color:var(--text3); font-size:12.5px; }
.side-foot{ border-top:1px solid var(--border); margin-top:10px; padding-top:8px; }
.main-hd{ display:flex; align-items:center; padding:12px 0; font-weight:600; color:var(--text2); font-size:13px; }
.rowline{ display:flex; align-items:center; gap:10px; padding:13px 2px; border-bottom:1px solid #F2F3F5; cursor:pointer; }
.rowline:hover{ background:#FAFBFC; }
.rowline .rt{ flex:1; min-width:0; }
.rowline .rt .r1{ font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rowline .rt .r2{ color:var(--text3); font-size:12px; margin-top:2px; }
.rowline .rtime{ color:var(--text3); font-size:12px; white-space:nowrap; }
.rowline .rops{ display:none; gap:12px; color:var(--text3); font-size:12.5px; }
.rowline:hover .rops{ display:flex; }
/* 弹窗里没有 hover 这回事（触屏更点不到）：列表操作一律常显 */
.modal .rowline .rops{ display:flex; }
.rowline .rops span:hover{ color:var(--text); }
.month-hd{ padding:14px 2px 6px; font-weight:600; font-size:14px; }
.iconbtn{ width:26px; height:26px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; color:var(--text3); cursor:pointer; }
.iconbtn:hover{ background:var(--bg); color:var(--text); }
.badge-creator{ font-size:12px; color:var(--text2); background:var(--bg); border-radius:10px; padding:2px 10px; }

/* ============ AI 大脑 ============ */
.ai-side{ width:200px; min-width:200px; border-right:1px solid var(--border); padding:14px 12px; overflow:auto; background:#fff; }
.ai-side-hd{ display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--text3); padding:0 6px 6px; }
.side-agent{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:7px; font-size:13px; cursor:pointer; color:var(--text2); }
.side-agent:hover{ background:#F2F3F5; }
.side-agent.on{ background:var(--yellow-light); color:var(--text); font-weight:600; }
.side-agent .st{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.side-agent .sdel{ display:none; color:var(--text3); font-size:11px; }
.side-agent:hover .sdel{ display:inline; }
.model-pick{ font-size:12.5px; color:var(--text2); border:1px solid var(--border); border-radius:14px; padding:4px 12px; cursor:pointer; }
.model-pick:hover{ background:var(--bg); }
.chat-topbtn{ font-size:12.5px; color:var(--text2); padding:4px 10px; border-radius:7px; cursor:pointer; margin-left:4px; }
.chat-topbtn:hover{ background:var(--bg); color:var(--text); }
.msg-tools{ opacity:.65; }
.msg-tools:hover{ opacity:1; }
.msg-tools .mt{ padding:2px 4px; border-radius:5px; }
.msg-tools .mt:hover{ color:var(--text); background:var(--bg); }
.ai-actions{ margin-top:10px; border:1px solid #F0E6B8; background:#FFFDF2; border-radius:10px; padding:10px; display:flex; flex-direction:column; gap:8px; }
.ai-act{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--border); border-radius:8px; padding:8px 12px; }
.ai-act .ic{ width:26px; height:26px; border-radius:6px; background:var(--yellow-light); display:flex; align-items:center; justify-content:center; font-size:13px; }
.ref-item{ display:flex; align-items:center; gap:8px; padding:8px 14px; font-size:13px; cursor:pointer; }
.ref-item:hover{ background:#F7F8FA; }
.ref-item.on{ background:var(--yellow-light); }

/* ============ 管理后台导航 ============ */
.admin-bar{ display:flex; gap:2px; background:#fff; border-radius:10px; padding:6px 10px; box-shadow:0 1px 2px rgba(31,35,41,.04); flex-wrap:wrap; }
.admin-navitem{ position:relative; padding:10px 14px; border-radius:8px; font-size:13.5px; color:var(--text2); cursor:pointer; }
.admin-navitem:hover{ background:var(--bg); }
.admin-navitem.on{ color:var(--text); font-weight:600; background:var(--bg); }
.admin-sub{ position:absolute; top:44px; left:0; background:#fff; border-radius:10px; box-shadow:0 8px 30px rgba(31,35,41,.15); padding:6px; min-width:240px; display:none; z-index:160; }
.admin-navitem:hover .admin-sub{ display:block; }
.admin-subitem{ display:block; padding:8px 12px; border-radius:7px; cursor:pointer; }
.admin-subitem:hover{ background:var(--bg); }
.admin-subitem.on{ background:var(--yellow-light); }
.admin-subitem b{ display:block; font-size:13px; color:var(--text); font-weight:500; }
.admin-subitem small{ color:var(--text3); font-size:11.5px; }

/* ============ 通用小组件 ============ */
.hintbar{ background:#FAFBFC; border:1px solid var(--border); border-radius:8px; padding:10px 14px; font-size:13px; color:var(--text2); margin-bottom:14px; }

/* 我 下拉菜单 */
.dropdown{ position:fixed; top:46px; background:#fff; border-radius:10px; box-shadow:0 8px 30px rgba(31,35,41,.15); padding:6px; min-width:240px; z-index:150; }
#me-drop{ position:fixed; }
.dropdown .dd-item{ display:block; padding:9px 12px; border-radius:7px; font-size:13.5px; }
.dropdown .dd-item:hover{ background:var(--bg); }
.dropdown .dd-item small{ display:block; color:var(--text3); font-size:11.5px; margin-top:1px; }

.progress{ height:8px; background:var(--bg); border-radius:4px; overflow:hidden; flex:1; }
.progress i{ display:block; height:100%; background:var(--yellow); border-radius:4px; }
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:14px; }
.stat-card{ background:#fff; border-radius:10px; padding:18px; box-shadow:0 1px 2px rgba(31,35,41,.04); }
.stat-card .sv{ font-size:26px; font-weight:800; margin:6px 0 2px; }
.stat-card .sl{ color:var(--text3); font-size:12.5px; }
.stat-card .st{ font-size:12px; }
.up{ color:var(--green); } .down{ color:var(--red); }
.page-hd{ display:flex; align-items:center; margin-bottom:16px; }
.page-hd h2{ font-size:19px; }
.page-hd .grow{ flex:1; }

/* 列表通用 */
.row-item{ display:flex; align-items:center; gap:12px; padding:13px 4px; border-bottom:1px solid #F2F3F5; }
.row-item:last-child{ border-bottom:none; }
.row-item .rt{ flex:1; min-width:0; }
.row-item .rt .r1{ font-weight:500; line-height:1.5; }
.row-item .rt .r2{ color:var(--text3); font-size:12.5px; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.switch{ display:inline-block; vertical-align:middle; width:38px; height:21px; border-radius:11px; background:#D4D6DB; position:relative; cursor:pointer; transition:.2s; min-width:38px; }
.switch::after{ content:""; position:absolute; top:2px; left:2px; width:17px; height:17px; border-radius:50%; background:#fff; transition:.2s; }
.switch.on{ background:var(--yellow); }
.switch.on::after{ left:19px; }

/* 弹窗 */
.modal-mask{ position:fixed; inset:0; background:rgba(31,35,41,.45); z-index:200; display:flex; align-items:center; justify-content:center; }
.modal{ background:#fff; border-radius:12px; width:520px; max-width:92vw; max-height:86vh; overflow:auto; }
.modal .m-hd{ padding:16px 20px 0; font-weight:600; font-size:15px; display:flex; }
.modal .m-hd .grow{ flex:1; }
.modal .m-hd .x{ cursor:pointer; color:var(--text3); font-size:16px; }
.modal .m-bd{ padding:14px 20px; }
.modal .m-ft{ padding:0 20px 18px; display:flex; justify-content:flex-end; gap:10px; }
.modal label.fl{ display:block; font-size:13px; color:var(--text2); margin:12px 0 6px; }
.modal label.fl:first-child{ margin-top:0; }
.modal input[type=text],.modal textarea,.modal select,.modal input[type=password],.modal input[type=number]{ width:100%; }
.modal textarea{ min-height:90px; resize:vertical; line-height:1.7; }
.modal .split2{ display:flex; gap:10px; } .modal .split2>*{ flex:1; }
.toast{ position:fixed; top:66px; left:50%; transform:translateX(-50%); background:var(--black); color:#fff; padding:9px 20px; border-radius:8px; font-size:13px; z-index:300; animation:fadein .2s; }
@keyframes fadein{ from{ opacity:0; transform:translate(-50%,-8px);} to{ opacity:1; transform:translate(-50%,0);} }

/* AI 正在处理（对齐原站：一个转圈 + 一行字） */
.ai-think{ display:flex; align-items:center; gap:8px; color:var(--text3); font-size:13px; padding:3px 0; min-height:20px; }
.spin{ width:13px; height:13px; border:2px solid var(--border2); border-top-color:var(--text2); border-radius:50%; display:inline-block; animation:aispin .75s linear infinite; }
@keyframes aispin{ to{ transform:rotate(360deg); } }
.cursor{ display:inline-block; animation:aicursor 1s step-end infinite; color:var(--text2); }
@keyframes aicursor{ 50%{ opacity:0; } }

/* 聊天 */
.chat-box{ height:56vh; overflow:auto; padding:18px; display:flex; flex-direction:column; gap:14px; }
.msg{ display:flex; gap:10px; max-width:82%; }
.msg .mv{ width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; min-width:30px; }
.msg.ai .mv{ background:var(--yellow); color:#111; }
.msg.me{ align-self:flex-end; flex-direction:row-reverse; }
.msg.me .mv{ background:var(--black); color:#fff; border-radius:8px; }
.msg .mb{ background:var(--bg); border-radius:10px; padding:10px 14px; line-height:1.7; white-space:pre-wrap; font-size:13.5px; }
.msg.me .mb{ background:var(--yellow-light); }
.chat-input{ display:flex; gap:10px; padding:14px 18px; border-top:1px solid var(--border); }
.chat-input textarea{ flex:1; min-height:44px; max-height:120px; resize:none; }
/* AI 大脑整页布局（原来是内联样式，抽成类为了窄屏能覆盖） */
.chat-wrap{ display:flex; gap:0; height:calc(100vh - 88px); margin:0 -20px -30px; border:1px solid var(--border2); border-left:none; border-right:none; background:#fff; }
/* 输入区窄的时候能压缩：不然 flex 子项按内容最小宽度撑破容器 */
.chat-pill{ min-width:0; }
#chat-in{ min-width:0; }

/* 文档编辑 */
.doc-editor textarea{ width:100%; min-height:46vh; line-height:1.8; resize:vertical; }

/* 协作表 */
.sheet-wrap{ overflow:auto; }
.sheet{ border-collapse:collapse; width:max-content; min-width:100%; }
.sheet th,.sheet td{ border:1px solid var(--border); padding:0; }
.sheet th{ background:var(--bg); font-weight:500; font-size:12.5px; color:var(--text2); }
.sheet th input,.sheet td input{ border:none; border-radius:0; width:100%; min-width:120px; padding:8px 10px; background:transparent; }
.sheet td.rowh{ background:var(--bg); color:var(--text3); font-size:12px; text-align:center; min-width:36px; }

/* 工具箱 */
.tool-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.tool-card{ background:#fff; border-radius:10px; padding:20px; cursor:pointer; box-shadow:0 1px 2px rgba(31,35,41,.04); }
.tool-card:hover{ box-shadow:0 4px 16px rgba(31,35,41,.1); }
.tool-card .ti{ width:40px; height:40px; border-radius:10px; background:var(--yellow-light); display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:12px; }
.tool-card .tt{ font-weight:600; margin-bottom:4px; }
.tool-card .td{ color:var(--text3); font-size:12.5px; line-height:1.6; }

/* OKR */
.okr-obj{ padding:16px 4px; border-bottom:1px solid #F2F3F5; }
.okr-obj:last-child{ border-bottom:none; }
.okr-obj .ot{ font-weight:600; font-size:15px; display:flex; align-items:center; gap:10px; }
.okr-obj .ot .pct{ color:var(--yellow); font-size:14px; }
.kr{ display:flex; align-items:center; gap:12px; padding:9px 0 9px 22px; }
.kr .kt{ width:280px; font-size:13.5px; }
.kr .kp{ width:46px; text-align:right; font-size:12.5px; color:var(--text2); }
input[type=range]{ -webkit-appearance:none; height:6px; background:var(--bg); border:none; border-radius:3px; padding:0; flex:1; }
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:15px; height:15px; border-radius:50%; background:var(--yellow); border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.2); cursor:pointer; }

/* 图表 */
.bars{ display:flex; align-items:flex-end; gap:14px; height:150px; padding:10px 4px 0; }
.bars .b{ flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; }
.bars .b i{ width:100%; max-width:42px; background:var(--yellow); border-radius:5px 5px 0 0; min-height:3px; opacity:.9; }
.bars .b span{ font-size:11.5px; color:var(--text3); }
.bars .b em{ font-style:normal; font-size:12px; color:var(--text2); }

/* 设置页 */
.setting-sec{ padding:14px 4px; border-bottom:1px solid #F2F3F5; }
.setting-sec:last-child{ border-bottom:none; }
.setting-sec .ss-t{ font-weight:600; margin-bottom:4px; }
.setting-sec .ss-d{ color:var(--text3); font-size:12.5px; margin-bottom:10px; line-height:1.6; }
.setting-sec input{ width:100%; margin-bottom:8px; }

@media (max-width:860px){
  .topnav .nav-item{ padding:0 8px; font-size:13px; flex:0 0 auto; }
  .stat-grid{ grid-template-columns:repeat(2,1fr); }
  .tool-grid{ grid-template-columns:repeat(2,1fr); }
  .kr .kt{ width:auto; flex:1; }
}

/* 窄屏（手机）：11 个菜单放不下 → 顶栏横向滚动，别让整页被撑出横向滚动条 */
@media (max-width:767px){
  .topnav{ overflow-x:auto; overflow-y:hidden; padding:0 8px; gap:0; scrollbar-width:none; -ms-overflow-style:none; }
  .topnav::-webkit-scrollbar{ display:none; }
  .topnav .brand{ margin-right:6px; }
  .topnav .brand .bt{ display:none; }
  .topnav .spacer{ display:none; }
  .topnav .nav-icon, .topnav .avatar{ flex:0 0 auto; }
  body{ overflow-x:hidden; }
  /* AI 大脑：手机上侧栏收起来，聊天区占满 */
  .chat-wrap{ margin:0 !important; height:calc(100vh - 56px) !important; }
  .chat-wrap .ai-side{ display:none; }
  /* 左栏 + 右内容的页面（文档/知识库/协作表/订阅）在手机上改成上下堆叠 */
  .split{ flex-wrap:wrap; }
  .split > .side{ width:100% !important; min-width:0 !important; }
  .split > .main-col{ width:100%; min-width:0; }
  /* 工具箱：左侧工具导航收到顶部、卡片单列 */
  .tool-layout{ flex-wrap:wrap; }
  .tool-nav{ width:100% !important; min-width:0 !important; }
  .tool-grid{ grid-template-columns:1fr !important; }
}


/* ============ v5：原版对齐补充 ============ */
/* 文档图文正文 —— 按原版实测规格：p 14px/行高28、h1 24、h2 20、h3 17、引用 #F6F8FF、图片无边框 */
.dochtml{ font-size:14px; line-height:2; color:var(--text); overflow-wrap:break-word; }
.dochtml p{ margin:0 0 8px; min-height:1.5em; line-height:2; }
.dochtml p.blank{ min-height:1.5em; }
.dochtml h1{ font-size:24px; font-weight:600; line-height:1.375; margin:12px 0 8px; }
.dochtml h2{ font-size:20px; font-weight:600; line-height:1.375; margin:12px 0 8px; }
.dochtml h3{ font-size:17px; font-weight:600; line-height:1.375; margin:12px 0 8px; }
.dochtml h4{ font-size:15px; font-weight:600; margin:12px 0 8px; }
.dochtml h1 b,.dochtml h1 strong{ font-weight:900; }
.dochtml ul,.dochtml ol{ padding-left:24px; margin:0 0 8px; }
.dochtml li{ margin:0 0 4px; line-height:2; }
.dochtml blockquote{ border-left:3px solid #DFDFDF; background:#F6F8FF; padding:8px 14px; margin:0 0 12px; color:var(--text); }
.dochtml blockquote p{ margin:0 0 4px; }
.dochtml hr{ border:none; border-top:1px solid var(--border2); margin:16px 0; }
.dochtml img{ max-width:100%; height:auto; display:inline-block; margin:8px 0; cursor:zoom-in; vertical-align:middle; }
.dochtml pre{ background:#F7F8FA; border:1px solid var(--border2); border-radius:6px; padding:12px 14px; overflow:auto; margin:8px 0; }
.dochtml pre code{ background:none; padding:0; }
.dochtml table{ border-collapse:collapse; margin:8px 0 12px; width:100%; }
.dochtml th,.dochtml td{ border:1px solid #E8EBEF; padding:6px 12px; font-size:14px; line-height:1.8; }
.dochtml th{ background:#F7F8FA; font-weight:600; text-align:left; }
.dochtml code{ background:rgb(242,243,245); border-radius:4px; padding:1px 6px; font-size:13px; }
.dochtml a{ color:rgb(36,91,219); text-decoration:none; }
.dochtml a:hover{ text-decoration:underline; }

/* AI 流式光标 */
.msg .cursor{ display:inline-block; animation:blink 1s step-start infinite; color:var(--text3); font-size:12px; }
@keyframes blink{ 50%{ opacity:0; } }

/* 知识库详情 */
.kb-crumb{ display:flex; align-items:center; gap:6px; color:var(--text3); font-size:13px; padding:16px 0 4px; }
.kb-crumb a{ color:var(--text3); } .kb-crumb a:hover{ color:var(--text); }
.kb-title{ font-size:20px; font-weight:700; color:#111; margin:10px 0 6px; }
.kb-meta{ display:flex; align-items:center; gap:10px; color:var(--text3); font-size:12.5px; padding-bottom:14px; border-bottom:1px solid var(--border2); }
.kb-acts{ margin-left:auto; display:flex; gap:6px; }
.kb-related{ border:1px solid var(--border2); border-radius:8px; padding:14px 18px; margin:20px 0 0; }
.kb-related .rh{ font-size:13px; color:var(--text2); margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.kb-related a{ display:block; padding:6px 0; font-size:13.5px; color:var(--text); border-bottom:1px solid #F2F3F5; }
.kb-related a:last-child{ border-bottom:none; }
.kb-related a:hover{ color:#C8A400; }
.kb-cmt{ margin-top:20px; }
.kb-cmt .empty{ background:var(--bg); border-radius:8px; }
.cmt-input{ display:flex; gap:10px; margin-top:12px; }
.cmt-input input{ flex:1; }

/* 协作表编辑器 */
.sheet-toolbar{ display:flex; align-items:center; gap:2px; padding:8px 12px; border-bottom:1px solid var(--border2); flex-wrap:wrap; }
.sheet-tabs{ display:flex; gap:2px; margin-right:8px; }
.sheet-tabs button{ padding:6px 13px; border-radius:6px; font-size:13px; color:var(--text2); }
.sheet-tabs button.on{ background:var(--yellow-light); color:#8A6116; font-weight:600; }
.sheet-toolbtn{ padding:6px 11px; border-radius:6px; font-size:13px; color:var(--text2); display:inline-flex; align-items:center; gap:5px; cursor:pointer; user-select:none; }
.sheet-toolbtn:hover{ background:var(--bg); color:var(--text); }
.sheet-toolbtn.on{ background:var(--yellow-light); color:#8A6116; font-weight:600; }
.grid{ border-collapse:collapse; width:max-content; min-width:100%; }
.grid th,.grid td{ border:1px solid #E8EBEF; padding:0; font-size:13px; }
.grid th{ background:#F7F8FA; font-weight:500; color:var(--text2); height:34px; }
.grid th .th-in{ display:flex; align-items:center; gap:6px; padding:0 10px; min-width:120px; }
.grid th .ctype{ color:var(--text3); font-size:11px; width:14px; text-align:center; }
.grid td{ height:34px; background:#fff; }
.grid td.rowh{ background:#F7F8FA; color:var(--text3); font-size:12px; text-align:center; min-width:40px; width:40px; }
.grid td input{ border:none; border-radius:0; width:100%; height:32px; padding:0 10px; background:transparent; }
.grid td input:focus{ background:#FFFDE7; box-shadow:inset 0 0 0 2px var(--yellow); }
.grid td.selcell{ padding:0 10px; line-height:32px; cursor:default; }
.grid .agg-row td{ background:#FAFBFC; color:var(--text2); font-size:12.5px; }
.grid .agg-row td .agg{ display:inline-flex; align-items:center; gap:4px; padding:0 10px; line-height:32px; color:var(--text3); }
.grid .agg-row td .aggv{ color:var(--text); }
/* 大尺寸表格（用户要求放大占比） */
.grid.compact th{ height:40px; font-size:13.5px; }
.grid.compact th .th-in{ min-width:160px; padding:0 12px; }
.grid.compact td{ height:40px; }
.grid.compact td input{ height:38px; padding:0 12px; font-size:14px; }
.grid.compact td.selcell{ line-height:38px; padding:0 12px; font-size:14px; }
.grid.compact .agg-row td .agg{ line-height:36px; font-size:13px; }
.grid.compact .agg-row td{ height:38px; }
.grid-footer{ display:flex; align-items:center; gap:8px; padding:8px 12px; font-size:13px; color:var(--text2); }
.grid-footer button{ color:var(--text2); padding:4px 8px; border-radius:6px; font-size:13px; }
.grid-footer button:hover{ background:var(--bg); color:var(--text); }
.sheet-ctx{ position:fixed; background:#fff; border-radius:10px; box-shadow:0 8px 30px rgba(31,35,41,.18); padding:6px; min-width:150px; z-index:260; }
.sheet-ctx button{ display:flex; width:100%; text-align:left; padding:8px 12px; border-radius:7px; font-size:13px; color:var(--text); gap:8px; align-items:center; }
.sheet-ctx button:hover{ background:var(--bg); }
.sheet-ctx button.danger{ color:var(--red); }

/* 指标添加卡片向导 */
.wiz{ width:760px; }
.modal:has(.wiz){ width:760px; }
.wiz .steps{ display:flex; border-bottom:1px solid var(--border2); }
.wiz .steps div{ flex:1; text-align:center; padding:12px 0; font-size:13.5px; color:var(--text3); border-bottom:2px solid transparent; }
.wiz .steps div.on{ color:var(--red); border-bottom-color:var(--red); font-weight:600; }
.wiz .steps div.done{ color:var(--text); }
.wiz-body{ display:flex; gap:18px; padding:18px 20px; min-height:320px; }
.wiz-main{ flex:1; min-width:0; }
.wiz-aside{ width:210px; min-width:210px; background:#F7F9FC; border-radius:10px; padding:14px; font-size:12.5px; color:var(--text2); }
.wiz-aside .wh{ font-weight:600; color:var(--text); font-size:13.5px; margin-bottom:8px; }
.wiz-aside .ws{ color:var(--text3); font-size:11.5px; margin-bottom:10px; }
.wiz-aside .wb{ margin-bottom:10px; line-height:1.6; }
.wiz-pick{ border:1px solid var(--border); border-radius:8px; max-height:180px; overflow:auto; margin-bottom:14px; }
.wiz-pick label{ display:flex; align-items:center; gap:8px; padding:9px 12px; border-bottom:1px solid #F2F3F5; cursor:pointer; font-size:13.5px; }
.wiz-pick label:last-child{ border-bottom:none; }
.wiz-pick label:hover{ background:var(--bg); }
.wiz-pick .n{ margin-left:auto; color:var(--text3); font-size:12px; }
.wiz-ft{ display:flex; align-items:center; padding:12px 20px 16px; border-top:1px solid var(--border2); }
.wiz-ft .grow{ flex:1; }

/* 人才测评 */
.ass-top{ display:flex; align-items:center; gap:14px; padding:16px 20px; border-bottom:1px solid var(--border2); }
.ass-prog{ flex:1; }
.ass-qcard{ border:1px solid var(--border2); background:#fff; padding:20px 22px; margin-bottom:14px; }
.ass-qcard .qn{ color:var(--text3); font-size:12.5px; margin-bottom:6px; }
.ass-qcard .qt{ font-size:15.5px; font-weight:600; color:#111; margin-bottom:14px; }
.ass-ab{ display:flex; gap:12px; }
.ass-ab .opt{ flex:1; border:1px solid var(--border); border-radius:8px; padding:14px; cursor:pointer; }
.ass-ab .opt:hover{ border-color:#C9CDD4; background:#FAFBFC; }
.ass-ab .opt .l{ width:20px; height:20px; border-radius:4px; background:#F2F3F5; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; margin-bottom:8px; }
.ass-ab .opt.picked{ border-color:var(--yellow); background:var(--yellow-light); }
.ass-scale{ display:flex; gap:8px; margin-top:12px; }
.ass-scale button{ flex:1; border:1px solid var(--border); border-radius:6px; padding:8px 0; font-size:12.5px; color:var(--text2); background:#fff; }
.ass-scale button:hover{ border-color:#C9CDD4; }
.ass-scale button.picked{ border-color:var(--yellow); background:var(--yellow-light); color:#111; font-weight:600; }
.ass-none{ width:100%; margin-top:8px; border:1px solid var(--border); border-radius:6px; padding:7px 0; font-size:12.5px; color:var(--text3); background:#fff; }
.ass-none.picked{ border-color:var(--yellow); background:var(--yellow-light); color:#111; }

/* 工具箱 */
.tool-layout{ display:flex; gap:16px; align-items:flex-start; }
.tool-nav{ width:190px; min-width:190px; }
.tool-nav .tn{ display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:8px; cursor:pointer; color:var(--text2); font-size:13.5px; }
.tool-nav .tn.on{ background:var(--yellow-light); color:var(--text); font-weight:600; }
.tool-nav .tn:hover:not(.on){ background:rgba(255,230,0,.12); }
.tool-main{ flex:1; min-width:0; }
.tool-over-t{ font-size:18px; font-weight:700; color:#111; }
.tool-over-d{ color:var(--text3); font-size:13px; margin:6px 0 16px; }
.tool-card2{ background:#fff; border:1px solid #EBEDEF; border-radius:12px; padding:24px; }
.tool-card2 .ti{ font-size:26px; margin-bottom:12px; }
.tool-card2 .tt{ font-weight:600; font-size:15px; margin-bottom:4px; color:#111; }
.tool-card2 .td{ color:var(--text3); font-size:12.5px; line-height:1.7; min-height:38px; }
.tool-card2 .ops{ display:flex; align-items:center; justify-content:space-between; margin-top:16px; }
.tool-card2 .open{ color:var(--text2); font-size:13px; }
.tool-card2 .open:hover{ color:var(--text); }
.tool-card2 .addnav{ border:1px solid var(--border); border-radius:7px; padding:5px 11px; font-size:12.5px; color:var(--text2); background:#fff; }
.lock-tag{ font-size:11px; color:var(--text3); background:var(--bg); border-radius:4px; padding:1px 7px; }

/* 教程页 */
.tut-tabs{ display:inline-flex; background:var(--bg); border-radius:8px; padding:3px; }
.tut-tabs button{ padding:6px 16px; border-radius:6px; font-size:13px; color:var(--text2); }
.tut-tabs button.on{ background:var(--black); color:#fff; }
.tut-step{ margin:18px 0 8px; font-weight:700; font-size:14.5px; color:#111; }
.tut-p{ line-height:1.9; color:var(--text); font-size:13.5px; margin:8px 0; }
.tut-warn{ background:#FFFBCC; border:1px solid #F5E37A; border-radius:8px; padding:10px 14px; font-size:13px; color:#8A6116; margin:10px 0; }
.tut-table{ width:100%; border-collapse:collapse; margin:12px 0; }
.tut-table th{ width:170px; text-align:left; vertical-align:top; font-weight:400; color:var(--text2); font-size:13px; padding:14px 12px; border-bottom:1px solid #F2F3F5; }
.tut-table td{ vertical-align:top; padding:14px 12px; border-bottom:1px solid #F2F3F5; }
.tut-table td b{ display:block; font-size:13.5px; color:var(--text); margin-bottom:4px; }
.tut-table td small{ color:var(--text3); font-size:12px; line-height:1.7; display:block; }

/* 订阅侧栏 */
.sub-urge{ border:1px solid #FBD5DC; background:#FFF5F7; color:var(--red); border-radius:8px; padding:9px 12px; font-size:13px; margin-bottom:10px; display:flex; align-items:center; gap:7px; cursor:pointer; }
.sub-all{ display:flex; align-items:center; gap:6px; background:var(--yellow-light); border-radius:8px; padding:8px 12px; font-size:13px; margin-bottom:10px; }
.legend{ padding:4px 2px 8px; }
.legend div{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--text2); padding:4px 0; }
.legend i{ width:9px; height:9px; border-radius:50%; display:inline-block; }

/* 管理后台人员表 */
.emp-table{ width:100%; border-collapse:collapse; font-size:13px; }
.emp-table th{ text-align:left; color:var(--text3); font-weight:400; font-size:12.5px; padding:10px 8px; border-bottom:1px solid var(--border2); white-space:nowrap; }
.emp-table td{ padding:12px 8px; border-bottom:1px solid #F2F3F5; vertical-align:middle; }
.emp-cell{ display:flex; align-items:center; gap:10px; }
.emp-cell .av{ width:32px; height:32px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
.emp-cell .nm{ font-weight:500; color:#111; }
.emp-cell .em{ color:var(--text3); font-size:12px; margin-top:1px; }
.dep-tag{ font-size:12px; color:var(--text2); background:var(--bg); border-radius:4px; padding:2px 8px; }
.emp-ops{ display:flex; gap:10px; font-size:12.5px; color:var(--text2); flex-wrap:wrap; }
.emp-ops span{ cursor:pointer; } .emp-ops span:hover{ color:var(--text); }
.emp-ops .danger:hover{ color:var(--red); }
.chip-row{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{ border-radius:20px; padding:4px 14px; font-size:12.5px; background:var(--bg); color:var(--text2); cursor:pointer; }
.chip.on{ background:var(--yellow); color:#111; font-weight:600; }

/* 灵感清单 */
.insp-card .re{ color:var(--text2); font-size:13px; }
.insp-list{ padding:2px 20px 12px; }
.insp-item{ display:flex; gap:9px; padding:9px 2px; border-bottom:1px solid #F2F3F5; font-size:13.5px; align-items:flex-start; }
.insp-item:last-child{ border-bottom:none; }
.insp-item .del{ margin-left:auto; color:var(--text3); cursor:pointer; font-size:12px; display:none; }
.insp-item:hover .del{ display:inline; }

/* 文档详情头 */
.doc-head{ padding:6px 0 14px; border-bottom:1px solid var(--border2); margin-bottom:6px; }
.doc-title-in{ font-size:22px; font-weight:700; color:#111; padding:14px 0 4px; }
