/* ============================================================
   OTEC 人才库 · 样式
   直接沿用 v3/prototype 里已确认的设计：CSS 变量、布局、闸门条。
   原型是设计定案，不要在这里另起一套配色或间距。
   ============================================================ */

:root{
  --paper:#FAFAF7; --card:#FFFFFF; --ink:#15201F; --ink-2:#4A5A58; --ink-3:#8A9694;
  --rule:#E3E5E0; --rule-2:#CFD4CF;
  --deep:#0E4D52;          /* 深水青：主交互色 */
  --deep-soft:#E7F0F0;
  --sand:#EFE9DC;          /* 专业标签底 */
  --red:#A8342C; --amber:#B07A16; --green:#2F6B4F;
  --red-bg:#F7E9E7; --amber-bg:#FAF2DF; --green-bg:#E8F1EB;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,"PingFang SC","Noto Sans SC","Helvetica Neue",Arial,sans-serif;
  --serif:"Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
a{color:var(--deep)}

/* ---------- 顶栏 ---------- */
.top{border-bottom:1px solid var(--rule);background:var(--card);position:sticky;top:0;z-index:30}
.top-in{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:28px;height:56px}
.brand{font-family:var(--serif);font-size:17px;letter-spacing:.06em;font-weight:600}
.brand span{color:var(--ink-3);font-family:var(--sans);font-size:11px;letter-spacing:.14em;margin-left:8px;font-weight:400}
.tabs{display:flex;gap:2px;margin-left:auto}
.tab{padding:6px 14px;border-radius:3px;color:var(--ink-2);font-size:13px}
.tab:hover{background:var(--deep-soft)}
.tab.on{background:var(--deep);color:#fff}
.who{font-size:12px;color:var(--ink-3);font-family:var(--mono)}

.wrap{max-width:1240px;margin:0 auto;padding:22px 24px 60px}
.view{display:none}.view.on{display:block}

/* ---------- 列表页 ---------- */
.head-row{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}
h1{font-family:var(--serif);font-size:22px;font-weight:600;margin:0;letter-spacing:.02em}
.count{font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.cols{display:grid;grid-template-columns:216px 1fr;gap:26px;align-items:start}

.rail{position:sticky;top:78px}
.fgroup{margin-bottom:20px}
.flabel{font-size:11px;letter-spacing:.13em;color:var(--ink-3);margin-bottom:8px;text-transform:uppercase}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{border:1px solid var(--rule-2);background:var(--card);padding:3px 9px;border-radius:2px;font-size:12px;color:var(--ink-2)}
.chip:hover{border-color:var(--deep)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip .n{font-family:var(--mono);font-size:10px;opacity:.55;margin-left:4px}

.search{width:100%;padding:9px 11px;border:1px solid var(--rule-2);border-radius:3px;background:var(--card);margin-bottom:18px}
.search:focus{outline:2px solid var(--deep);outline-offset:-1px;border-color:transparent}

/* ---------- 专家行 ---------- */
.rows{border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:78px 1fr 150px 108px;gap:14px;padding:13px 12px;border-bottom:1px solid var(--rule);align-items:center;cursor:pointer;background:var(--card)}
.row:hover{background:var(--deep-soft)}
.eid{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:-.02em}
.nm{font-size:14px;font-weight:600;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.nm .en{font-weight:400;color:var(--ink-2);font-size:12.5px}
.sub{font-size:12px;color:var(--ink-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tags{display:flex;gap:4px;flex-wrap:wrap}
.tg{font-size:11px;padding:1px 6px;border-radius:2px;background:var(--sand);color:#5C513C;white-space:nowrap}
.tg.lv{background:var(--deep-soft);color:var(--deep);font-family:var(--mono)}
.yrs{font-family:var(--mono);font-size:12px;color:var(--ink-2);text-align:right}

/* ---------- 闸门条（签名元素） ---------- */
.gate{display:flex;gap:3px;align-items:center}
.g{width:20px;height:5px;border-radius:1px;background:var(--rule-2)}
.g.ok{background:var(--green)} .g.warn{background:var(--amber)} .g.no{background:var(--red)}
.gtxt{font-size:10.5px;font-family:var(--mono);margin-left:5px;color:var(--ink-3)}

.legend{margin:14px 0 0;padding:11px 13px;background:var(--card);border:1px solid var(--rule);border-radius:3px;font-size:12px;color:var(--ink-2)}
.legend b{font-weight:600;color:var(--ink)}
.legend .g{display:inline-block;vertical-align:middle;margin:0 2px}

.empty{padding:46px 20px;text-align:center;color:var(--ink-3);background:var(--card);border-bottom:1px solid var(--rule)}

/* ---------- 详情抽屉 ---------- */
.scrim{position:fixed;inset:0;background:rgba(21,32,31,.34);opacity:0;pointer-events:none;transition:opacity .18s;z-index:40}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,94vw);background:var(--paper);border-left:1px solid var(--rule-2);transform:translateX(100%);transition:transform .22s cubic-bezier(.32,.72,0,1);z-index:41;overflow-y:auto}
.drawer.on{transform:none}
.dhead{padding:22px 26px 18px;border-bottom:1px solid var(--rule);background:var(--card);position:sticky;top:0;z-index:2}
.dclose{position:absolute;top:18px;right:20px;color:var(--ink-3);font-size:19px;line-height:1}
.dclose:hover{color:var(--ink)}
.dname{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.02em}
.dname .en{font-family:var(--sans);font-size:14px;font-weight:400;color:var(--ink-2);margin-left:9px}
.dmeta{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-top:4px}
.dtitle{font-size:13px;color:var(--ink-2);margin-top:9px}
.dbody{padding:0 26px 40px}
.sec{padding:19px 0;border-bottom:1px solid var(--rule)}
.sec:last-child{border-bottom:none}
.slabel{font-size:11px;letter-spacing:.13em;color:var(--ink-3);text-transform:uppercase;margin-bottom:11px}
.kv{display:grid;grid-template-columns:78px 1fr;gap:5px 12px;font-size:13px}
.kv dt{color:var(--ink-3)}
.kv dd{margin:0}
.prose{font-size:13px;color:var(--ink-2);line-height:1.72}

.gaterow{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--rule);border-radius:3px;margin-bottom:7px;background:var(--card)}
.gaterow .dot{width:8px;height:8px;border-radius:50%;flex:none}
.gaterow .t{flex:1}
.gaterow .t b{display:block;font-size:13px;font-weight:600}
.gaterow .t span{font-size:11.5px;color:var(--ink-3)}
.gaterow .act{font-size:12px;color:var(--deep);border:1px solid var(--rule-2);padding:3px 10px;border-radius:2px;background:var(--card)}
.gaterow .act:hover{border-color:var(--deep);background:var(--deep-soft)}

.gap{background:var(--card);border:1px dashed var(--rule-2);border-radius:3px;padding:17px;font-size:12.5px;color:var(--ink-2)}
.gap b{display:block;margin-bottom:5px;color:var(--ink);font-size:13px}

/* ---------- AI 检索 ---------- */
.ask{max-width:760px}
.askbox{display:flex;gap:8px;margin-bottom:9px}
.askbox input{flex:1;padding:12px 14px;border:1px solid var(--rule-2);border-radius:3px;background:var(--card);font-size:14px}
.askbox input:focus{outline:2px solid var(--deep);outline-offset:-1px;border-color:transparent}
.askbox button{background:var(--deep);color:#fff;padding:0 22px;border-radius:3px;font-size:14px}
.samples{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.samp{font-size:12px;color:var(--ink-2);border:1px solid var(--rule-2);border-radius:99px;padding:4px 12px;background:var(--card)}
.samp:hover{border-color:var(--deep);color:var(--deep)}
.parsed{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--deep);border-radius:3px;padding:14px 16px;margin-bottom:20px}
.parsed .plab{font-size:11px;letter-spacing:.13em;color:var(--ink-3);text-transform:uppercase;margin-bottom:9px}
.cond{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:12px}
.cond span{background:var(--deep-soft);color:var(--deep);padding:3px 9px;border-radius:2px}
.pnote{font-size:11.5px;color:var(--ink-3);margin-top:10px;line-height:1.6}
/* ---------- 批量导入 ---------- */
.drop{border:1.5px dashed var(--rule-2);border-radius:4px;background:var(--card);padding:34px 20px;text-align:center}
.drop-t{font-family:var(--serif);font-size:17px;margin-bottom:5px}
.drop-s{font-size:12.5px;color:var(--ink-3);margin-bottom:16px}
.btn-line{border:1px solid var(--rule-2);background:var(--card);padding:6px 14px;border-radius:3px;font-size:13px;color:var(--ink-2)}
.btn-line:hover{border-color:var(--deep);color:var(--deep)}
.btn-solid{background:var(--deep);color:#fff;padding:6px 18px;border-radius:3px;font-size:13px}
.btn-solid:hover{background:#0B3E42}
.btn-solid[disabled]{background:var(--rule-2);cursor:not-allowed}

.bbar{display:flex;align-items:center;gap:14px;margin:18px 0 12px}
.bstats{font-size:12.5px;color:var(--ink-2);font-family:var(--mono)}
.bstats i{font-style:normal;padding:2px 7px;border-radius:2px;margin-right:6px}
.bstats .ok{background:var(--green-bg);color:var(--green)}
.bstats .warn{background:var(--amber-bg);color:var(--amber)}
.bstats .no{background:var(--red-bg);color:var(--red)}

.warnbox{background:var(--amber-bg);border:1px solid #E8D9A8;border-radius:3px;padding:11px 14px;font-size:12.5px;color:#6B5312;margin-bottom:12px}
.warnbox:empty{display:none}

.btable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--rule);font-size:13px}
.btable th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase;padding:9px 12px;border-bottom:1px solid var(--rule);background:#F7F7F4}
.btable td{padding:9px 12px;border-bottom:1px solid var(--rule);vertical-align:middle}
.btable tr:last-child td{border-bottom:none}
.fname{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:172px}
.attach{display:flex;align-items:center;gap:7px}
.attach select{border:1px solid var(--rule-2);border-radius:2px;padding:3px 6px;font-size:12px;background:var(--card);max-width:230px}
.conf{font-family:var(--mono);font-size:10.5px;padding:1px 5px;border-radius:2px}
.conf.hi{background:var(--green-bg);color:var(--green)}
.conf.mid{background:var(--amber-bg);color:var(--amber)}
.conf.new{background:var(--deep-soft);color:var(--deep)}
.parsed-bits{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}
.st{font-size:11.5px;padding:2px 8px;border-radius:2px;display:inline-block}
.st.wait{background:#F0F0EC;color:var(--ink-3)}
.st.ready{background:var(--green-bg);color:var(--green)}
.st.need{background:var(--amber-bg);color:var(--amber)}
.st.fail{background:var(--red-bg);color:var(--red)}

/* ---------- 投标改 CV ---------- */
.tcols{display:grid;grid-template-columns:340px 1fr;gap:26px;align-items:start}
.tender{width:100%;padding:11px 13px;border:1px solid var(--rule-2);border-radius:3px;background:var(--card);font-family:var(--mono);font-size:12px;line-height:1.65;resize:vertical}
.tender:focus{outline:2px solid var(--deep);outline-offset:-1px;border-color:transparent}
.pickrow{display:flex;gap:8px}
.pick{flex:1;padding:8px 10px;border:1px solid var(--rule-2);border-radius:3px;background:var(--card);font-size:13px}
.guard{margin-top:16px;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--amber);border-radius:3px;padding:13px 15px;font-size:12px;color:var(--ink-2);line-height:1.66}
.guard b{display:block;color:var(--ink);margin-bottom:4px;font-size:12.5px}
.tplaceholder{color:var(--ink-3);padding:52px 20px;text-align:center;background:var(--card);border:1px solid var(--rule);border-radius:3px}

.match{background:var(--card);border:1px solid var(--rule);border-radius:3px;margin-bottom:18px}
.match-h{padding:13px 16px;border-bottom:1px solid var(--rule);display:flex;align-items:baseline;gap:11px}
.match-h b{font-family:var(--serif);font-size:15px}
.score{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.mrow{display:flex;gap:11px;padding:9px 16px;border-bottom:1px solid var(--rule);font-size:13px;align-items:flex-start}
.mrow:last-child{border-bottom:none}
.mi{width:15px;flex:none;text-align:center;font-size:12px;line-height:1.55}
.mi.y{color:var(--green)} .mi.p{color:var(--amber)} .mi.n{color:var(--red)}
.mrow .req{flex:1}
.mrow .ev{color:var(--ink-3);font-size:12px;margin-top:1px}

.rewrite{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:16px;margin-bottom:18px}
.rw-h{font-size:11px;letter-spacing:.13em;color:var(--ink-3);text-transform:uppercase;margin-bottom:11px}
.diff{font-size:13px;line-height:1.75}
.diff .was{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--rule-2)}
.diff .now{background:#EAF2EC;padding:0 2px}
.src{border:none;background:none;color:var(--deep);font-size:11px;font-family:var(--mono);cursor:pointer;padding:0 3px;vertical-align:super}
.src:hover{text-decoration:underline}
.srcbox{margin-top:9px;padding:10px 12px;background:#F7F7F4;border-left:2px solid var(--rule-2);font-size:12px;color:var(--ink-2);border-radius:0 2px 2px 0}

.plist{background:var(--card);border:1px solid var(--rule);border-radius:3px}
.plist .ph{padding:13px 16px;border-bottom:1px solid var(--rule);font-size:11px;letter-spacing:.13em;color:var(--ink-3);text-transform:uppercase}
.pitem{padding:11px 16px;border-bottom:1px solid var(--rule);display:flex;gap:12px;align-items:flex-start;font-size:13px}
.pitem:last-child{border-bottom:none}
.pord{font-family:var(--mono);font-size:11px;color:var(--ink-3);width:34px;flex:none;padding-top:2px}
.pord .mv{color:var(--green);font-size:10px;display:block}
.pitem .pn{font-weight:600}
.pitem .pd{color:var(--ink-3);font-size:12px;margin-top:2px}
.pitem .rel{margin-left:auto;flex:none;font-size:10.5px;font-family:var(--mono);padding:2px 7px;border-radius:2px}
.rel.hi{background:var(--green-bg);color:var(--green)}
.rel.lo{background:#F0F0EC;color:var(--ink-3)}
.demo-note{margin-top:14px;background:var(--amber-bg);border:1px solid #E8D9A8;border-radius:3px;padding:11px 14px;font-size:12px;color:#6B5312;line-height:1.65}

/* ---------- v0.3 追加样式 ---------- */
.qbar{height:3px;background:var(--rule);border-radius:2px;overflow:hidden;margin-top:4px;width:96px}
.qbar i{display:block;height:100%;background:var(--deep);transition:width .3s}
.st.up{background:var(--deep-soft);color:var(--deep)}
.st.queue{background:#F0F0EC;color:var(--ink-3)}
.st.parsing{background:var(--amber-bg);color:var(--amber)}
.retry{font-size:11px;color:var(--deep);border:1px solid var(--rule-2);padding:1px 7px;border-radius:2px;margin-left:6px}
.retry:hover{border-color:var(--deep);background:var(--deep-soft)}
.flow{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--ink-3);margin-bottom:14px;font-family:var(--mono)}
.flow b{color:var(--ink);font-weight:600}
.flow .arw{color:var(--rule-2)}

.steps{display:flex;gap:6px;margin-bottom:18px}
.step{flex:1;padding:9px 12px;border:1px solid var(--rule);background:var(--card);border-radius:3px;font-size:12px;color:var(--ink-3)}
.step.on{border-color:var(--deep);background:var(--deep-soft);color:var(--deep)}
.step.done{border-color:var(--green);color:var(--green);background:var(--green-bg)}
.step b{display:block;font-size:12.5px;font-weight:600;margin-bottom:1px}

.cand{background:var(--card);border:1px solid var(--rule);border-radius:3px;margin-bottom:9px;padding:14px 16px;cursor:pointer;display:flex;gap:14px;align-items:flex-start}
.cand:hover{border-color:var(--deep)}
.cand.sel{border-color:var(--deep);border-left:3px solid var(--deep);background:var(--deep-soft)}
.cand .rk{font-family:var(--mono);font-size:19px;color:var(--ink-3);width:26px;flex:none;line-height:1.2}
.cand.sel .rk{color:var(--deep)}
.cand .cn{font-size:14.5px;font-weight:600}
.cand .cn .en{font-weight:400;color:var(--ink-2);font-size:12.5px;margin-left:7px}
.cand .cmeta{font-size:12px;color:var(--ink-3);margin-top:2px}
.cand .why{font-size:12.5px;color:var(--ink-2);margin-top:7px;line-height:1.6}
.cand .why em{font-style:normal;color:var(--amber);}
.cand .sc{margin-left:auto;flex:none;text-align:right}
.cand .sc b{font-family:var(--mono);font-size:17px;display:block;line-height:1.1}
.cand .sc span{font-size:10.5px;color:var(--ink-3);font-family:var(--mono)}
.sc.g b{color:var(--green)} .sc.a b{color:var(--amber)} .sc.r b{color:var(--red)}

/* ---------- v0.4 ---------- */
.ckline{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2);margin-top:12px;cursor:pointer}
.ckline input{accent-color:var(--deep)}
.cand.taken{opacity:.55}
.taken-tag{font-size:10.5px;font-family:var(--mono);background:var(--sand);color:#5C513C;padding:1px 6px;border-radius:2px;margin-left:7px;vertical-align:middle}
.exp{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:15px 16px;margin-top:14px}
.exp-h{font-size:11px;letter-spacing:.13em;color:var(--ink-3);text-transform:uppercase;margin-bottom:12px}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}
.exp-f{font-size:12px;color:var(--ink-3);margin-bottom:5px}
.exp select{width:100%;padding:7px 9px;border:1px solid var(--rule-2);border-radius:2px;background:var(--card);font-size:13px}
.exp-note{font-size:11.5px;color:var(--ink-3);line-height:1.6;margin-top:10px}

/* ---------- v0.5 ---------- */
.leadinfo{font-size:12px;color:var(--ink-3);margin:-8px 0 16px;line-height:1.6}
.leadinfo b{color:var(--ink-2);font-weight:600}
.leadinfo .slot{display:block;margin-top:3px}
.leadinfo .slot i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.seg{border:1px solid var(--rule);border-radius:3px;margin-bottom:8px;background:var(--card)}
.seg-h{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--rule);font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.seg-h .badge{padding:1px 6px;border-radius:2px;font-size:10px}
.badge.mt{background:var(--deep-soft);color:var(--deep)}
.badge.rv{background:var(--green-bg);color:var(--green)}
.seg-h .edit{margin-left:auto;color:var(--deep);font-size:11.5px;font-family:var(--sans)}
.seg-b{padding:11px 12px;font-size:13px;line-height:1.7}
.seg-src{padding:0 12px 10px;font-size:12px;color:var(--ink-3);line-height:1.6;border-top:1px dashed var(--rule);padding-top:9px;margin-top:2px}
.seg textarea{width:100%;border:1px solid var(--deep);border-radius:2px;padding:9px 10px;font:inherit;font-size:13px;line-height:1.7;resize:vertical}
.seg-act{display:flex;gap:7px;padding:0 12px 11px;align-items:center}
.termhit{font-size:11.5px;color:var(--green);padding:0 12px 9px;font-family:var(--mono)}
.termask{background:var(--amber-bg);border-top:1px solid #E8D9A8;padding:10px 12px;font-size:12px;color:#6B5312}
.termask b{color:#4A390B}
.termask .tin{display:flex;gap:6px;margin-top:7px;align-items:center}
.termask input{flex:1;border:1px solid #DCC98F;border-radius:2px;padding:4px 8px;font-size:12px;background:#fff}

/* ---------- v0.6 ---------- */
.pitem{cursor:pointer}
.pitem.off{opacity:.45}
.pck{width:15px;height:15px;flex:none;margin-top:2px;accent-color:var(--deep)}
.plist .ph{display:flex;align-items:center;gap:10px}
.ph .phact{margin-left:auto;font-size:11px;font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--deep)}
.draft{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:15px 16px;margin-bottom:18px}
.draft .rw-h{display:flex;align-items:center;gap:9px}
.draft .tag{font-size:10.5px;font-family:var(--mono);background:var(--deep-soft);color:var(--deep);padding:1px 6px;border-radius:2px;letter-spacing:0}
.draft .body{font-size:13px;line-height:1.75;margin-top:9px}
.draft .was{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--rule-2);font-size:12.5px}
.gterm{font-size:13px}
.gterm .fr{font-style:italic}
.gdel{color:var(--ink-3);font-size:14px}
.gdel:hover{color:var(--red)}

/* ---------- v0.7 比对 ---------- */
.modes{display:flex;gap:4px;margin-bottom:9px}
.mode{padding:6px 14px;border:1px solid var(--rule-2);background:var(--card);border-radius:3px;font-size:12.5px;color:var(--ink-2)}
.mode.on{background:var(--ink);border-color:var(--ink);color:#fff}
.modehint{font-size:12.5px;color:var(--ink-3);margin-bottom:16px;line-height:1.6;max-width:720px}
.dcard{background:var(--card);border:1px solid var(--rule);border-radius:3px;margin-top:16px}
.dcard-h{padding:12px 16px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:10px}
.dcard-h b{font-size:14px}
.dcard-h .sm{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.dcard-h .auto{margin-left:auto;font-size:11.5px;color:var(--green);background:var(--green-bg);padding:2px 9px;border-radius:2px}
.dgrp{padding:11px 16px;border-bottom:1px solid var(--rule)}
.dgrp:last-child{border-bottom:none}
.dgrp-t{font-size:11.5px;color:var(--ink-3);margin-bottom:8px;display:flex;align-items:center;gap:7px}
.dgrp-t .cnt{font-family:var(--mono)}
.ditem{display:flex;gap:10px;padding:6px 0;font-size:13px;align-items:flex-start}
.ditem .sym{width:14px;flex:none;text-align:center;font-family:var(--mono);font-size:12px;line-height:1.6}
.sym.add{color:var(--green)} .sym.chg{color:var(--amber)} .sym.miss{color:var(--ink-3)} .sym.risk{color:var(--red)}
.ditem .txt{flex:1}
.ditem .old{color:var(--ink-3);font-size:12px}
.ditem .acts{display:flex;gap:5px;flex:none}
.mini{font-size:11.5px;border:1px solid var(--rule-2);background:var(--card);padding:2px 9px;border-radius:2px;color:var(--ink-2)}
.mini:hover{border-color:var(--deep);color:var(--deep)}
.mini.on{background:var(--deep);border-color:var(--deep);color:#fff}
.mini.danger:hover{border-color:var(--red);color:var(--red)}
.autoline{background:var(--green-bg);border-left:3px solid var(--green);padding:9px 14px;font-size:12.5px;color:#245C41;border-radius:0 3px 3px 0;margin:0 0 2px}
.decide{padding:12px 16px;display:flex;gap:8px;align-items:center;background:#F7F7F4;border-top:1px solid var(--rule)}
.decide .left{font-size:12.5px;color:var(--ink-2)}
.termprop{background:var(--amber-bg);border-top:1px solid #E8D9A8;padding:11px 16px;font-size:12.5px;color:#6B5312}
.termprop b{color:#4A390B;display:block;margin-bottom:5px}
.termprop .tl{display:flex;align-items:center;gap:8px;padding:3px 0;font-family:var(--mono);font-size:12px}
.termprop .tl .arw{color:#B9A05F}
.termprop .seen{font-family:var(--sans);font-size:11px;color:#8A7333;margin-left:4px}

/* ---------- v0.8 自动判定 ---------- */
.kind{font-size:11px;padding:2px 7px;border-radius:2px;font-family:var(--mono);white-space:nowrap}
.kind.new{background:var(--deep-soft);color:var(--deep)}
.kind.upd{background:var(--amber-bg);color:var(--amber)}
.kind.back{background:#EDE7F6;color:#5B4A8A}
.kind.same{background:#F0F0EC;color:var(--ink-3)}
.kind.amb{background:var(--red-bg);color:var(--red)}
.kwhy{font-size:11px;color:var(--ink-3);margin-top:3px;line-height:1.5}
.bstats i.k-new{background:var(--deep-soft);color:var(--deep)}
.bstats i.k-upd{background:var(--amber-bg);color:var(--amber)}
.bstats i.k-back{background:#EDE7F6;color:#5B4A8A}
.bstats i.k-same{background:#F0F0EC;color:var(--ink-3)}
