* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"PingFang SC","Microsoft YaHei",sans-serif; background:#f4f6fa; color:#2b3446; font-size:14px; }
.app { display:flex; min-height:100vh; }
.sidebar { width:220px; background:#fff; border-right:1px solid #e6eaf2; position:fixed; top:0; bottom:0; left:0; z-index:10; display:flex; flex-direction:column; }
.logo { padding:20px 22px; display:flex; align-items:center; gap:10px; border-bottom:1px solid #eef1f6; }
.logo-mark { width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,#4a7fd4,#6a5cd4); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:15px; }
.logo b { font-size:16px; }
.logo span { display:block; font-size:11px; color:#9aa4b8; }
.nav { flex:1; padding:12px 10px; overflow-y:auto; }
.nav-group { font-size:11px; color:#a0aac0; padding:14px 12px 6px; }
.nav-item { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; color:#5a6478; margin-bottom:2px; transition:all .15s; text-decoration:none; }
.nav-item:hover { background:#f2f5fa; }
.nav-item.active { background:#e8f1ff; color:#2b5cb8; font-weight:600; }
.nav-item .badge { margin-left:auto; background:#e5484d; color:#fff; font-size:10px; padding:1px 6px; border-radius:8px; }
.sidebar-footer { border-top:1px solid #eef1f6; padding:8px 10px 10px; position:relative; }
.acct { width:100%; display:flex; align-items:center; gap:10px; background:none; border:0; border-radius:8px; padding:8px; cursor:pointer; text-align:left; font:inherit; color:inherit; }
.acct:hover { background:#f2f5fa; }
.acct .avatar { flex-shrink:0; }
.acct-info { flex:1; min-width:0; }
.acct-info b { font-size:13px; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.acct-info span { font-size:11px; color:#9aa4b8; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.acct-caret { font-size:9px; color:#a0aac0; }
.acct-menu { position:absolute; left:10px; right:10px; bottom:calc(100% + 6px); background:#fff; border:1px solid #e6eaf2; border-radius:10px; box-shadow:0 8px 24px rgba(30,40,60,.12); padding:6px; z-index:60; }
.acct-menu button { width:100%; display:block; background:none; border:0; text-align:left; font:inherit; font-size:13px; color:#3a4458; padding:9px 10px; border-radius:7px; cursor:pointer; }
.acct-menu button:hover { background:#f2f5fa; }
.ver-line { margin-top:6px; padding:0 8px; font-size:10.5px; color:#b6bfce; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ver-line.ver-bad { color:#e5a100; }
.avatar { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#3aa06a,#4a9ad4); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; }
.main { flex:1; margin-left:220px; }
.topbar { height:56px; background:#fff; border-bottom:1px solid #e6eaf2; display:flex; align-items:center; padding:0 24px; gap:16px; position:sticky; top:0; z-index:9; }
.topbar h1 { font-size:16px; font-weight:600; }
.search { flex:1; max-width:360px; background:#f2f5fa; border-radius:8px; padding:8px 14px; color:#9aa4b8; font-size:13px; }
.topbar-right { margin-left:auto; display:flex; gap:14px; align-items:center; color:#7a8699; font-size:13px; }
.content { padding:24px; }
.page-head { font-size:13px; color:#8a94a8; margin-bottom:16px; }
.kpi-row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px; }
.card { background:#fff; border-radius:12px; border:1px solid #e6eaf2; padding:18px 20px; }
.kpi .k-label { color:#8a94a8; font-size:13px; }
.kpi .k-value { font-size:26px; font-weight:700; margin:6px 0 4px; }
.kpi .k-delta { font-size:12px; }
.up { color:#e5484d; } .down { color:#18a058; }
.k-sub { color:#9aa4b8; font-size:12px; }
.grid-2 { display:grid; grid-template-columns:1.4fr 1fr; gap:16px; margin-bottom:16px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:16px; }
.card h3 { font-size:15px; margin-bottom:14px; }
.card h3 small { font-weight:normal; color:#9aa4b8; font-size:12px; margin-left:8px; }
.card h3 a { float:right; font-size:12px; font-weight:normal; color:#3d6fd4; text-decoration:none; }
.bars { display:flex; align-items:flex-end; gap:18px; height:150px; padding:0 6px; border-bottom:1px solid #eef1f6; }
.bars.mini { height:110px; }
.bar-col { flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; }
.bar { width:26px; border-radius:6px 6px 0 0; background:linear-gradient(180deg,#6a9ee8,#4a7fd4); }
.bar-col span { font-size:11px; color:#8a94a8; }
.legend { display:flex; gap:16px; margin-top:10px; font-size:12px; color:#7a8699; flex-wrap:wrap; }
.dot { display:inline-block; width:9px; height:9px; border-radius:3px; margin-right:5px; }
.todo-list li { list-style:none; display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px dashed #eef1f6; }
.todo-list li:last-child { border-bottom:none; }
.tag { font-size:11px; padding:2px 8px; border-radius:6px; white-space:nowrap; }
.tag.blue { background:#e8f1ff; color:#2b5cb8; }
.tag.orange { background:#fff1e0; color:#c26a1e; }
.tag.red { background:#ffe5e8; color:#d43a52; }
.tag.green { background:#e2f5ea; color:#1f8a55; }
.tag.gray { background:#eef1f6; color:#6a7488; }
.tag.purple { background:#f3ecff; color:#6a3cb0; }
.btn { background:#3d6fd4; color:#fff; border:none; border-radius:8px; padding:9px 18px; cursor:pointer; font-size:13px; text-decoration:none; display:inline-block; }
.btn:hover { background:#3362c2; }
.btn-ghost { background:#fff; color:#5a6478; border:1px solid #d8dee9; }
.btn-ghost:hover { background:#f5f7fb; }
.btn-mini { padding:4px 10px; font-size:12px; border-radius:6px; }
.toolbar { display:flex; gap:10px; margin-bottom:16px; align-items:center; flex-wrap:wrap; }
.toolbar input { padding:9px 14px; border:1px solid #d8dee9; border-radius:8px; width:220px; font-size:13px; outline:none; }
.toolbar select { padding:9px; border:1px solid #d8dee9; border-radius:8px; background:#fff; color:#5a6478; }
table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; border:1px solid #e6eaf2; }
th { text-align:left; font-size:12px; color:#8a94a8; background:#f8fafc; padding:11px 14px; font-weight:600; white-space:nowrap; }
td { padding:11px 14px; border-top:1px solid #f0f3f8; font-size:13px; }
tr:hover td { background:#f8fafd; }
.emp-cell { display:flex; align-items:center; gap:10px; }
.emp-cell b { font-size:13px; display:block; }
.emp-cell span { font-size:11px; color:#9aa4b8; }
.status { font-size:11px; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.num { font-variant-numeric:tabular-nums; }
.money { text-align:right; font-variant-numeric:tabular-nums; }
.hint { background:#eef4ff; border:1px solid #cdddf7; color:#3a5fa8; border-radius:10px; padding:12px 16px; margin-bottom:18px; font-size:13px; line-height:1.8; }
.toast { position:fixed; top:70px; left:50%; transform:translateX(-50%); background:#22304a; color:#fff; padding:10px 22px; border-radius:10px; font-size:13px; opacity:0; pointer-events:none; transition:.3s; z-index:99; }
.toast.show { opacity:1; }
.stage-tabs { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.stage-tabs a, .stage-tabs button { font-size:13px; padding:7px 14px; border-radius:20px; border:1px solid #d8dee9; background:#fff; color:#5a6478; text-decoration:none; cursor:pointer; }
.stage-tabs a.on, .stage-tabs button.on { background:#3d6fd4; border-color:#3d6fd4; color:#fff; }
.calc-wrap { display:grid; grid-template-columns:1fr 1.2fr; gap:16px; margin-bottom:16px; }
.calc-form label { display:block; font-size:12px; color:#8a94a8; margin:12px 0 6px; }
.calc-form input, .calc-form select { width:100%; padding:10px 14px; border:1px solid #d8dee9; border-radius:8px; font-size:14px; outline:none; }
.calc-form input:focus { border-color:#3d6fd4; }
.tier-row { display:flex; align-items:center; gap:8px; padding:8px 0; font-size:13px; }
.tier-bar { height:8px; border-radius:4px; background:#e8f1ff; flex:1; overflow:hidden; }
.tier-bar i { display:block; height:100%; background:#4a7fd4; border-radius:4px; }
.calc-result { background:#f8fafc; border-radius:10px; padding:16px; }
.calc-result .big { font-size:30px; font-weight:700; color:#2b5cb8; margin:4px 0 12px; }
.breakdown { font-size:13px; color:#5a6478; line-height:2; }
.breakdown b { color:#2b3446; }
.steps { display:flex; gap:0; margin-bottom:16px; flex-wrap:wrap; }
.step { flex:1; min-width:160px; background:#fff; border:1px solid #e6eaf2; padding:14px 16px; position:relative; }
.step:first-child { border-radius:12px 0 0 12px; }
.step:last-child { border-radius:0 12px 12px 0; }
.step b { font-size:13px; display:block; margin-bottom:4px; }
.step span { font-size:12px; color:#9aa4b8; }
.step .no { display:inline-flex; width:22px; height:22px; border-radius:50%; background:#e8f1ff; color:#2b5cb8; align-items:center; justify-content:center; font-size:12px; font-weight:700; margin-bottom:8px; }
.course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px; }
.course { background:#fff; border:1px solid #e6eaf2; border-radius:12px; padding:16px; }
.course .cover { height:76px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:22px; margin-bottom:12px; }
.course b { font-size:14px; display:block; margin-bottom:4px; }
.course .meta { font-size:12px; color:#9aa4b8; margin-bottom:10px; }
.progress { height:6px; background:#eef1f6; border-radius:3px; overflow:hidden; margin-bottom:6px; }
.progress i { display:block; height:100%; border-radius:3px; background:#3aa06a; }
.course .pct { font-size:12px; color:#7a8699; display:flex; justify-content:space-between; }
.stars { color:#e5a23a; letter-spacing:2px; cursor:pointer; }
.ai-wrap { display:grid; grid-template-columns:1fr 300px; gap:16px; }
.chat-box { background:#fff; border:1px solid #e6eaf2; border-radius:12px; display:flex; flex-direction:column; height:520px; }
.chat-log { flex:1; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:14px; }
.msg { max-width:75%; padding:11px 15px; border-radius:12px; line-height:1.7; font-size:13px; white-space:pre-wrap; }
.msg.user { align-self:flex-end; background:#3d6fd4; color:#fff; border-bottom-right-radius:4px; }
.msg.bot { align-self:flex-start; background:#f2f5fa; border-bottom-left-radius:4px; }
.chat-input { display:flex; gap:10px; padding:14px; border-top:1px solid #eef1f6; }
.chat-input input { flex:1; padding:10px 14px; border:1px solid #d8dee9; border-radius:8px; outline:none; font-size:13px; }
.quick-q { display:flex; flex-direction:column; gap:8px; }
.quick-q button { text-align:left; padding:12px 14px; background:#fff; border:1px solid #e6eaf2; border-radius:10px; cursor:pointer; font-size:13px; color:#44506a; }
.quick-q button:hover { border-color:#3d6fd4; color:#2b5cb8; }
.quick-q p { font-size:12px; color:#9aa4b8; padding:2px 4px; }
.grid-box { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.grid-box .cell { border:1px solid #e6eaf2; border-radius:10px; padding:14px; text-align:center; }
.grid-box .cell b { display:block; font-size:13px; margin-bottom:2px; }
.grid-box .cell span { font-size:11px; color:#9aa4b8; }
.kv { display:grid; grid-template-columns:110px 1fr 110px 1fr; gap:12px 14px; font-size:13px; align-items:start; }
.kv .k { color:#8a94a8; font-size:12px; padding-top:1px; }
.kv .v { color:#2b3446; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.field label { display:block; font-size:12px; color:#8a94a8; margin-bottom:6px; }
.field input, .field select, .field textarea { width:100%; padding:9px 12px; border:1px solid #d8dee9; border-radius:8px; font-size:13px; font-family:inherit; background:#fff; color:#2b3446; }
.field.full { grid-column:1 / -1; }
.perm { display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:5px 12px; border-radius:20px; background:#fff1e0; color:#c26a1e; }
.perm.ok { background:#e2f5ea; color:#1f8a55; }
.mono { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.4px; }
.ninebox { display:grid; grid-template-columns:58px repeat(3,1fr); grid-template-rows:repeat(3,96px) 22px; gap:8px; }
.ninebox .yl { display:flex; align-items:center; justify-content:center; font-size:12px; color:#8a94a8; writing-mode:vertical-rl; }
.ninebox .xl { display:flex; align-items:center; justify-content:center; font-size:12px; color:#8a94a8; }
.ninebox .cellbox { border-radius:8px; padding:8px; border:1px solid rgba(0,0,0,.05); font-size:11px; line-height:1.5; }
.ninebox .name { display:inline-block; background:#fff; border-radius:12px; padding:2px 8px; margin:2px 3px 0 0; font-size:11px; border:1px solid #e6eaf2; color:#2b3446; }
.cell-a { background:#e2f5ea; } .cell-b { background:#eef4ff; } .cell-c { background:#f8fafc; }
.cell-d { background:#fff1e0; } .cell-e { background:#ffe5e8; }
.agent-flow { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:6px; }
.agent-flow .n { flex:1; min-width:118px; background:#fff; border:1px solid #e6eaf2; border-radius:10px; padding:12px; position:relative; }
.agent-flow .n b { font-size:12.5px; display:block; margin-bottom:3px; }
.agent-flow .n span { font-size:11px; color:#9aa4b8; line-height:1.5; }
.agent-flow .n i { font-style:normal; position:absolute; top:10px; right:10px; font-size:10px; color:#c9d2e0; }
.fs-msg { background:#fff; border:1px solid #e6eaf2; border-radius:12px; padding:14px 16px; font-size:13px; line-height:1.9; white-space:pre-wrap; }
.fs-msg .h { color:#2b5cb8; font-weight:600; }

/* ===== 多租户切换器 ===== */
.tenant-box { margin:10px; padding:10px 12px; border:1px solid #dbe4f4; background:linear-gradient(135deg,#f4f8ff,#eef4ff); border-radius:10px; }
.tenant-box .tb-label { font-size:10.5px; color:#8a94a8; display:flex; align-items:center; gap:5px; margin-bottom:5px; }
.tenant-box select { width:100%; border:1px solid #cfdcef; border-radius:7px; padding:6px 8px; font-size:12.5px; color:#2b5cb8; font-weight:600; background:#fff; cursor:pointer; outline:none; }
.tenant-box .tb-sub { font-size:10px; color:#a0aac0; margin-top:5px; }
.tenant-flag { display:inline-flex; align-items:center; gap:5px; font-size:11px; padding:3px 9px; border-radius:20px; background:#eef4ff; color:#3a5fa8; border:1px solid #cdddf7; }
.tenant-flag b { font-weight:600; }

/* ===== 提成规则表 ===== */
.rule-tabs { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.rule-card { border:1px solid #e6eaf2; border-radius:10px; padding:14px 16px; background:#fff; margin-bottom:10px; cursor:pointer; transition:.15s; }
.rule-card:hover { border-color:#b9cdf0; box-shadow:0 2px 10px rgba(61,111,212,.06); }
.rule-card.on { border-color:#3d6fd4; background:#f7faff; }
.rule-card .rc-top { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rule-card .rc-top b { font-size:13.5px; }
.rule-card .rc-meta { font-size:11.5px; color:#9aa4b8; margin-top:6px; line-height:1.7; }
.tier-table { width:100%; border-collapse:collapse; border:1px solid #e6eaf2; border-radius:8px; overflow:hidden; }
.tier-table th { background:#f8fafc; font-size:11.5px; padding:8px 10px; color:#8a94a8; }
.tier-table td { padding:6px 10px; border-top:1px solid #f0f3f8; }
.tier-table input { width:100%; border:1px solid #e0e6f0; border-radius:6px; padding:5px 8px; font-size:12.5px; }
.tier-table input:focus { border-color:#3d6fd4; outline:none; }
.flow-line { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:12.5px; color:#5a6478; padding:10px 0; }
.flow-line .fi { background:#fff; border:1px solid #e6eaf2; border-radius:8px; padding:7px 11px; }
.flow-line .fa { color:#c0c9d8; }

/* ===== 员工自助 / 请假 ===== */
.bal-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.bal { border:1px solid #e6eaf2; border-radius:10px; padding:12px 14px; background:#fcfdff; }
.bal .bl { font-size:11.5px; color:#8a94a8; }
.bal .bv { font-size:20px; font-weight:700; margin:3px 0 2px; }
.bal .bv small { font-size:11px; font-weight:400; color:#9aa4b8; }
.bar-mini { height:5px; background:#eef1f6; border-radius:3px; overflow:hidden; margin-top:6px; }
.bar-mini i { display:block; height:100%; background:#4a7fd4; border-radius:3px; }
.selfbar { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #e6eaf2; border-radius:10px; padding:10px 14px; margin-bottom:14px; flex-wrap:wrap; }
.selfbar .who { display:flex; align-items:center; gap:9px; }
.selfbar .who .av { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#4a7fd4,#6a5cd4); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; }
.selfbar .role { margin-left:auto; display:flex; gap:6px; background:#f2f5fa; padding:3px; border-radius:9px; }
.selfbar .role button { border:none; background:transparent; font-size:12px; padding:6px 12px; border-radius:7px; cursor:pointer; color:#6a7488; }
.selfbar .role button.on { background:#fff; color:#2b5cb8; font-weight:600; box-shadow:0 1px 3px rgba(0,0,0,.06); }

/* ===== 抽屉 / 导入面板 ===== */
.drawer-mask { position:fixed; inset:0; background:rgba(24,34,54,.35); display:none; z-index:60; }
.drawer-mask.open { display:block; }
.drawer { position:fixed; top:0; right:0; bottom:0; width:560px; max-width:92vw; background:#fff; z-index:61; transform:translateX(100%); transition:transform .25s; display:flex; flex-direction:column; box-shadow:-8px 0 30px rgba(0,0,0,.08); }
.drawer.open { transform:translateX(0); }
.drawer .d-head { padding:16px 20px; border-bottom:1px solid #eef1f6; display:flex; align-items:center; gap:10px; }
.drawer .d-head h3 { font-size:15px; margin:0; }
.drawer .d-head .x { margin-left:auto; cursor:pointer; color:#9aa4b8; font-size:18px; line-height:1; border:none; background:none; }
.drawer .d-body { flex:1; overflow-y:auto; padding:18px 20px; }
.drawer .d-foot { padding:14px 20px; border-top:1px solid #eef1f6; display:flex; gap:10px; justify-content:flex-end; }
.drop { border:1.5px dashed #c9d6ea; border-radius:10px; padding:26px; text-align:center; color:#8a94a8; font-size:12.5px; background:#fbfcfe; }
.drop b { display:block; color:#3a5fa8; font-size:13px; margin-bottom:4px; }
.map-table { width:100%; border-collapse:collapse; font-size:12px; }
.map-table th, .map-table td { border:1px solid #eef1f6; padding:6px 8px; text-align:left; }
.map-table select { border:1px solid #e0e6f0; border-radius:5px; padding:3px 6px; font-size:11.5px; }
.step-mini { display:flex; gap:6px; margin-bottom:16px; }
.step-mini div { flex:1; text-align:center; font-size:11px; color:#9aa4b8; padding-top:22px; position:relative; }
.step-mini div::before { content:""; position:absolute; top:8px; left:50%; transform:translateX(-50%); width:9px; height:9px; border-radius:50%; background:#dbe3ef; }
.step-mini div.on { color:#2b5cb8; font-weight:600; }
.step-mini div.on::before { background:#3d6fd4; box-shadow:0 0 0 3px #e8f1ff; }

/* ===== 面试反馈 ===== */
.sc-row { display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px dashed #eef1f6; }
.sc-row .sl { width:150px; font-size:12.5px; color:#44506a; }
.sc-row .sc-bar { flex:1; height:7px; background:#eef1f6; border-radius:4px; overflow:hidden; }
.sc-row .sc-bar i { display:block; height:100%; background:linear-gradient(90deg,#6a9ee8,#3d6fd4); }
.sc-row .sv { width:44px; text-align:right; font-weight:600; font-size:12.5px; }
.star-pick { letter-spacing:3px; color:#e5a23a; font-size:15px; }
.summary-box { background:#f7faff; border:1px solid #d8e6fb; border-radius:10px; padding:14px 16px; font-size:13px; line-height:1.9; color:#3a5fa8; }

/* ===== 存证 ===== */
.evi { border:1px solid #e6eaf2; border-radius:10px; padding:12px 14px; background:#fbfcfe; margin-bottom:8px; }
.evi .eh { display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; margin-bottom:6px; }
.evi .er { font-size:11.5px; color:#7a8699; line-height:1.9; }
.hash { font-family:ui-monospace,Consolas,monospace; font-size:11px; color:#3a5fa8; background:#eef4ff; padding:2px 6px; border-radius:4px; word-break:break-all; }
.seal { display:inline-flex; align-items:center; gap:5px; font-size:11px; background:#e2f5ea; color:#1f8a55; padding:3px 9px; border-radius:20px; }

/* ===== 顶栏：提醒 + 当前公司 ===== */
.tb-bell { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:#c26a1e; background:#fff8ef; border:1px solid #f5dfc4; padding:5px 11px; border-radius:20px; text-decoration:none; white-space:nowrap; }
.tb-bell b { color:#e5484d; }
.tb-bell:hover { background:#fff1e0; }
.tenant-wrap { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #dbe5f3; border-radius:9px; padding:5px 8px 5px 11px; box-shadow:0 1px 2px rgba(43,92,184,.04); }
.tenant-wrap .tw-label { font-size:11.5px; color:#9aa4b8; white-space:nowrap; }
.tenant-wrap select { border:none; border-radius:6px; padding:4px 6px; font-size:12.5px; color:#2b5cb8; font-weight:600; background:#f2f7ff; cursor:pointer; outline:none; }
.tenant-line { display:flex; align-items:center; gap:8px; font-size:12px; color:#7a8699; margin-bottom:14px; }
.tenant-line b { color:#3a5fa8; font-weight:600; }
.tenant-line .tl-right { margin-left:auto; color:#a8b2c4; font-size:11.5px; }

/* ===== 审批中心 ===== */
.ap-wrap { display:grid; grid-template-columns:380px 1fr; gap:16px; align-items:start; }
.ap-list { background:#fff; border:1px solid #e6eaf2; border-radius:12px; overflow:hidden; }
.ap-item { padding:13px 16px; border-bottom:1px solid #f0f3f8; cursor:pointer; transition:.12s; }
.ap-item:hover { background:#f8fafd; }
.ap-item.on { background:#f4f8ff; border-left:3px solid #3d6fd4; padding-left:13px; }
.ap-item .ai-top { display:flex; align-items:center; gap:8px; }
.ap-item .ai-top b { font-size:13px; }
.ap-item .ai-top .tag { margin-left:auto; }
.ap-item .ai-sub { font-size:11.5px; color:#9aa4b8; margin-top:5px; line-height:1.6; }
.ap-detail { background:#fff; border:1px solid #e6eaf2; border-radius:12px; padding:20px 22px; }
.ap-flow { margin-top:6px; }
.ap-flow .af { display:flex; gap:10px; padding-bottom:16px; position:relative; }
.ap-flow .af:last-child { padding-bottom:0; }
.ap-flow .af::before { content:""; position:absolute; left:9px; top:22px; bottom:0; width:1px; background:#e6eaf2; }
.ap-flow .af:last-child::before { display:none; }
.ap-flow .dot2 { width:19px; height:19px; border-radius:50%; background:#eef1f6; color:#9aa4b8; font-size:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; z-index:1; }
.ap-flow .af.done .dot2 { background:#e2f5ea; color:#1f8a55; }
.ap-flow .af.now .dot2 { background:#3d6fd4; color:#fff; }
.ap-flow .af .afc b { font-size:12.5px; display:block; }
.ap-flow .af .afc span { font-size:11.5px; color:#9aa4b8; }

/* ===== 内嵌面板：简历接入 ===== */
.intake-box { margin-bottom:16px; border-color:#cfdcef; box-shadow:0 2px 12px rgba(61,111,212,.06); }
.intake-box h3 a { cursor:pointer; }
.intake-cols { display:grid; grid-template-columns:1.35fr 1fr; gap:18px; align-items:start; }
.p-lead { font-size:12.5px; color:#5a6478; line-height:1.9; margin-bottom:10px; }
.mini-note { background:#fbfcfe; border:1px solid #e6eaf2; border-radius:10px; padding:12px 14px; }
.mini-note > b { font-size:12.5px; display:block; margin-bottom:8px; color:#3a5fa8; }
.mn-row { display:flex; gap:8px; padding:6px 0; border-bottom:1px dashed #eef1f6; }
.mn-row:last-of-type { border-bottom:none; }
.mn-row span { flex:0 0 84px; font-size:11.5px; color:#8a94a8; }
.mn-row p { margin:0; font-size:12px; color:#5a6478; line-height:1.7; }
.copy { background:#f7faff; border:1px solid #d8e6fb; border-radius:8px; padding:9px 12px; font-family:ui-monospace,Consolas,monospace; font-size:12px; color:#2b5cb8; display:flex; align-items:center; gap:10px; word-break:break-all; }
.copy button { margin-left:auto; flex-shrink:0; }
.code { background:#1e2533; color:#d7dee9; border-radius:10px; padding:14px 16px; font-family:ui-monospace,Consolas,monospace; font-size:11.5px; line-height:1.85; white-space:pre-wrap; margin-top:12px; }
.code .c { color:#6b7a90; }
.code .k { color:#8fc2ff; }
.code .s { color:#8fd9a8; }
.mode { background:#fbfcfe; border:1px solid #e6eaf2; border-radius:10px; padding:12px 14px; }
.mode.on { background:#f7faff; border-color:#b9cdf0; }
.mode b { font-size:12.5px; display:block; margin-bottom:6px; }
.mode p { font-size:11.5px; color:#7a8699; line-height:1.75; margin:0; }

/* ===== KPI / OKR 模板 ===== */
.tpl-tabs { display:flex; gap:8px; margin:4px 0 14px; }
.tpl-tabs button { border:1px solid #e6eaf2; background:#fff; border-radius:9px; padding:9px 16px; font-size:13px; cursor:pointer; color:#5a6478; }
.tpl-tabs button.on { border-color:#3d6fd4; background:#f4f8ff; color:#2b5cb8; font-weight:600; }
.tpl-meta { display:flex; gap:22px; flex-wrap:wrap; font-size:12px; color:#7a8699; background:#fbfcfe; border:1px dashed #e0e7f2; border-radius:9px; padding:10px 14px; margin-bottom:12px; }
.tpl-meta b { color:#44506a; }
.okr-row { border-left:3px solid #4a7fd4; padding:10px 0 10px 14px; margin-bottom:10px; }
.okr-row .o { font-size:13.5px; font-weight:600; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.okr-row .kr { display:flex; align-items:center; gap:10px; font-size:12px; color:#5a6478; padding:5px 0; }
.okr-row .kr .krname { flex:1; }
.okr-row .kr .krbar { width:120px; height:6px; background:#eef1f6; border-radius:3px; overflow:hidden; }
.okr-row .kr .krbar i { display:block; height:100%; background:linear-gradient(90deg,#6a9ee8,#3d6fd4); }
.score-pill { display:inline-block; min-width:34px; text-align:center; padding:2px 8px; border-radius:20px; font-size:11.5px; font-weight:600; background:#eef1f6; color:#5a6478; }
.score-pill.hi { background:#e2f5ea; color:#1f8a55; }
.score-pill.md { background:#fff1e0; color:#c26a1e; }
.score-pill.lo { background:#fdeaea; color:#c0392b; }

/* ===== 步骤条状态 ===== */
.step.done .no { background:#e2f5ea; color:#1f8a55; }
.step.done b { color:#1f8a55; }
.step.now { border-color:#3d6fd4; background:#f7faff; box-shadow:0 2px 10px rgba(61,111,212,.08); z-index:1; }
.step.now .no { background:#3d6fd4; color:#fff; }
.step.now b { color:#2b5cb8; }

/* ===== Agent 矩阵 ===== */
.orbit { display:flex; align-items:stretch; gap:0; overflow-x:auto; padding-bottom:4px; }
.orbit .ob { flex:1; min-width:108px; text-align:center; padding:12px 6px; position:relative; }
.orbit .ob::after { content:"→"; position:absolute; right:-8px; top:50%; transform:translateY(-50%); color:#c9d3e3; font-size:14px; }
.orbit .ob:last-child::after { display:none; }
.orbit .ob .oc { width:38px; height:38px; border-radius:12px; background:#eef4ff; color:#2b5cb8; display:flex; align-items:center; justify-content:center; font-size:17px; margin:0 auto 8px; }
.orbit .ob b { font-size:12px; display:block; }
.orbit .ob span { font-size:10.5px; color:#9aa4b8; }
.orbit .ob.live .oc { background:linear-gradient(135deg,#4a7fd4,#6a5cd4); color:#fff; }
.orbit .ob.plan .oc { background:#f4f6fa; color:#a8b2c4; }

.agent-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:16px; }
.agent-card { background:#fff; border:1px solid #e6eaf2; border-radius:12px; padding:16px 18px; position:relative; transition:.15s; }
.agent-card:hover { border-color:#b9cdf0; box-shadow:0 4px 16px rgba(61,111,212,.07); }
.agent-card .ac-top { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.agent-card .ac-ico { width:34px; height:34px; border-radius:10px; background:#eef4ff; display:flex; align-items:center; justify-content:center; font-size:16px; }
.agent-card .ac-name { font-size:14px; font-weight:600; }
.agent-card .ac-stage { font-size:11px; color:#9aa4b8; }
.agent-card .ac-top .tag { margin-left:auto; }
.agent-card ul { margin:8px 0 0; padding-left:0; list-style:none; }
.agent-card ul li { font-size:12px; color:#5a6478; line-height:1.95; padding-left:16px; position:relative; }
.agent-card ul li::before { content:"·"; position:absolute; left:5px; color:#4a7fd4; font-weight:700; }
.agent-card .ac-confirm { margin-top:10px; padding-top:10px; border-top:1px dashed #eef1f6; font-size:11.5px; color:#c26a1e; }
.agent-card .ac-foot { margin-top:10px; display:flex; gap:8px; align-items:center; }
.agent-card .ac-stat { font-size:11px; color:#9aa4b8; margin-left:auto; }
