:root{
  --brand:#1E3A8A; --brand-d:#152C6B; --brand-soft:#E6EAF5; --brand-line:#C3CEEA;
  --accent:#B45309; --accent-soft:#FAF0E3;
  --ink:#0F172A; --ink2:#3E4A60; --ink3:#6B7789;
  --bg:#EDF0F6; --card:#FFFFFF; --line:#D8DEE9; --line2:#C2CBD9;
  --warm:#8A5A0B; --warm-soft:#FAF2E4; --warm-line:#E6D6B4;
  --up:#C0392B; --down:#12855C;
  --r:10px; --r2:14px;
  --sh:0 1px 2px rgba(15,23,42,.05);
  --sh2:0 6px 20px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}

/* ---------- 布局 ---------- */
.app{display:flex;min-height:100vh}
.side{width:216px;flex:none;background:#fff;border-right:1px solid var(--line);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.logo{display:flex;align-items:center;gap:9px;padding:18px 18px 14px}
.logo .mark{width:28px;height:28px;border-radius:8px;background:var(--brand);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.5px}
.logo b{font-size:15px;letter-spacing:.2px}
.logo span{display:block;font-size:10.5px;color:var(--ink3);font-weight:400;line-height:1.2}
.nav{padding:6px 10px;overflow:auto;flex:1}
.nav .grp{font-size:11px;color:var(--ink3);padding:12px 10px 6px;letter-spacing:.4px}
.nav a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;
  color:var(--ink2);font-size:13.5px;margin-bottom:1px}
.nav a:hover{background:var(--brand-soft);color:var(--brand-d)}
.nav a.on{background:var(--brand-soft);color:var(--brand-d);font-weight:600}
.nav a svg{flex:none;opacity:.85}
.nav a .dot{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--brand);opacity:.5}
.side .foot{padding:12px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--ink3)}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{background:#fff;border-bottom:1px solid var(--line);padding:0 26px;height:56px;
  display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}
.crumb{font-size:13px;color:var(--ink3);display:flex;align-items:center;gap:7px}
.crumb b{color:var(--ink)}
.top .right{margin-left:auto;display:flex;align-items:center;gap:9px}
.pill{font-size:11.5px;padding:3px 9px;border-radius:99px;background:var(--brand-soft);
  color:var(--brand-d);border:1px solid var(--brand-line);white-space:nowrap}
.content{padding:24px 26px 60px;max-width:1180px;width:100%}

/* ---------- 通用 ---------- */
h1{font-size:21px;margin:0 0 5px;letter-spacing:.2px}
h2{font-size:15.5px;margin:0 0 12px}
.sub{color:var(--ink2);font-size:13px;margin:0 0 20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);
  box-shadow:var(--sh);padding:18px}
.card+.card{margin-top:14px}
.sec-t{display:flex;align-items:center;gap:9px;margin:26px 0 12px}
.sec-t b{font-size:15px}
.sec-t .bar{width:3px;height:14px;border-radius:2px;background:var(--brand)}
.hint{font-size:11.5px;color:var(--ink3);margin-top:5px;line-height:1.5}

.btn{border:1px solid var(--line2);background:#fff;color:var(--ink2);border-radius:8px;
  padding:7px 14px;font-size:13px;transition:.15s}
.btn:hover{border-color:var(--brand-line);color:var(--brand-d)}
.btn.pri{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.pri:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff}
.btn.sm{padding:4px 10px;font-size:12px;border-radius:7px}

/* ---------- 模块卡 ---------- */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}
.mod{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;
  transition:.16s;position:relative;text-align:left;width:100%}
.mod:hover{border-color:var(--brand-line);box-shadow:var(--sh2);transform:translateY(-1px)}
.mod .ic{width:30px;height:30px;border-radius:8px;background:var(--brand-soft);color:var(--brand);
  display:grid;place-items:center;margin-bottom:9px}
.mod b{display:block;font-size:13.5px;margin-bottom:3px}
.mod p{margin:0;font-size:11.5px;color:var(--ink3);line-height:1.5;min-height:34px}
.mod.off{background:#F2F5FA;cursor:not-allowed}
.mod.off:hover{transform:none;box-shadow:var(--sh);border-color:var(--line)}
.mod.off .ic{background:#E6ECF4;color:var(--ink3)}
.mod.off b{color:var(--ink3)}
.tag{position:absolute;top:11px;right:11px;font-size:10px;padding:1px 7px;border-radius:99px;
  line-height:17px;font-weight:500}
.tag.hot{background:#FAF0E3;color:#8A4A1E;border:1px solid #EBD6BF}
.tag.new{background:var(--brand-soft);color:var(--brand-d);border:1px solid var(--brand-line)}
.tag.p1{background:#E6ECF4;color:var(--ink3);border:1px solid #CCD6E4}
.tag.pl{background:#EFF3F9;color:#78859A;border:1px solid #D8DEE9}

/* ---------- 表单 ---------- */
.grid2{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:16px;align-items:start}
@media(max-width:920px){.grid2{grid-template-columns:1fr}}
.f{margin-bottom:14px}
.f label{display:block;font-size:12.5px;color:var(--ink2);margin-bottom:5px;font-weight:500}
.f input,.f select{width:100%;border:1px solid var(--line2);border-radius:8px;padding:8px 11px;
  font-size:13.5px;color:var(--ink);background:#fff;outline:none;transition:.15s;
  font-family:inherit}
.f input:focus,.f select:focus{border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(30,58,138,.10)}
.f .unit{position:relative}
.f .unit input{padding-right:40px}
.f .unit i{position:absolute;right:11px;top:50%;transform:translateY(-50%);
  font-style:normal;font-size:12px;color:var(--ink3)}

/* ---------- 结果 ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 13px}
.kpi span{display:block;font-size:11.5px;color:var(--ink3);margin-bottom:3px}
.kpi b{font-size:18px;letter-spacing:-.2px;font-variant-numeric:tabular-nums}
.kpi.hi{background:var(--brand-soft);border-color:var(--brand-line)}
.kpi.hi b{color:var(--brand-d)}
.kpi small{font-size:11px;color:var(--ink3);font-weight:400;margin-left:4px}

table{width:100%;border-collapse:collapse;font-size:12.5px}
th{text-align:right;font-weight:500;color:var(--ink3);font-size:11.5px;padding:8px 9px;
  border-bottom:1px solid var(--line);white-space:nowrap}
th:first-child,td:first-child{text-align:left}
td{padding:7px 9px;border-bottom:1px solid #E6ECF4;text-align:right;
  font-variant-numeric:tabular-nums}
tr:hover td{background:#F4F7FC}
tr.jump td{background:var(--warm-soft)}
tr.jump:hover td{background:var(--warm-soft)}
tr.jump td:first-child::after{content:"跨档";font-size:10px;color:var(--warm);
  border:1px solid var(--warm-line);background:#fff;border-radius:99px;padding:0 6px;margin-left:7px}
.wrap{overflow-x:auto;margin:0 -4px}

/* 分步过程 */
.step{display:flex;gap:12px;padding:13px 0;border-bottom:1px dashed var(--line)}
.step:last-child{border-bottom:0;padding-bottom:0}
.step .no{flex:none;width:22px;height:22px;border-radius:50%;background:var(--brand-soft);
  color:var(--brand-d);display:grid;place-items:center;font-size:11.5px;font-weight:700}
.step .bd{min-width:0;flex:1}
.step .t{font-size:13px;font-weight:600;margin-bottom:4px}
.step .fx{font-size:13px;color:var(--ink2);word-break:break-word;line-height:1.85;
  background:#F4F7FC;border:1px solid var(--line);border-radius:8px;padding:8px 11px}
.step .fx em{font-style:normal;font-weight:600;color:var(--brand-d);font-variant-numeric:tabular-nums}
.step .dt{font-size:11.5px;color:var(--ink3);margin-top:5px;line-height:1.6}

.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.cmp{grid-template-columns:1fr}}
.cmp .c{border:1px solid var(--line);border-radius:var(--r);padding:15px;background:#fff}
.cmp .c.win{border-color:var(--brand-line);background:var(--brand-soft)}
.cmp .c h3{margin:0 0 4px;font-size:14px}
.cmp .c .amt{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;
  letter-spacing:-.4px;margin:6px 0 2px}
.cmp .c.win .amt{color:var(--brand-d)}
.cmp .c p{margin:6px 0 0;font-size:11.5px;color:var(--ink3);line-height:1.6}
.warn{background:var(--warm-soft);border:1px solid var(--warm-line);border-radius:var(--r);
  padding:12px 14px;font-size:12.5px;color:#6B4708;display:flex;gap:9px;align-items:flex-start}
.warn svg{flex:none;margin-top:2px}
.note{background:#F4F7FC;border:1px solid var(--line);border-radius:var(--r);
  padding:11px 13px;font-size:12px;color:var(--ink2);line-height:1.7}
.badge{display:inline-block;font-size:10.5px;padding:1px 7px;border-radius:99px;
  background:var(--brand-soft);color:var(--brand-d);border:1px solid var(--brand-line);
  margin-left:6px;vertical-align:1px}
.err{background:#F9E8E6;border:1px solid #EDCAC6;color:#962E22;border-radius:var(--r);
  padding:11px 13px;font-size:12.5px}
.skl{background:linear-gradient(90deg,#E6ECF4 25%,#EFF3F9 37%,#E6ECF4 63%);
  background-size:400% 100%;animation:sk 1.3s ease infinite;border-radius:6px;height:13px}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* ============================================================ 五大板块 · 新增样式 */
/* ---------- 板块总览卡 ---------- */
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(304px,1fr));gap:14px}
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:17px 18px 16px;
  box-shadow:var(--sh);transition:.16s;text-align:left;width:100%;display:block;position:relative;
  overflow:hidden;cursor:pointer}
.scard:hover{border-color:var(--brand-line);box-shadow:var(--sh2);transform:translateY(-2px)}
.scard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand)}
.scard.s-checkup::before{background:#26806A}
.scard.s-library::before{background:#2F5F9E}
.scard.s-contract::before{background:#8A5A0B}
.scard.s-analysis::before{background:#8A4A1E}
.scard .hd{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.scard .ic{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);color:var(--brand);
  display:grid;place-items:center;flex:none}
.scard.s-checkup .ic{background:#E4F2ED;color:#26806A}
.scard.s-library .ic{background:#E6EDF6;color:#2F5F9E}
.scard.s-contract .ic{background:#FAF0E3;color:#8A5A0B}
.scard.s-analysis .ic{background:#F9EDE4;color:#8A4A1E}
.scard b.t{font-size:15px}
.scard .st{font-size:11px;color:var(--ink3);margin-left:auto;white-space:nowrap;
  background:#EDF0F6;border:1px solid var(--line);border-radius:99px;padding:1px 8px}
.scard p{margin:0 0 12px;font-size:12.5px;color:var(--ink2);line-height:1.65;min-height:41px}
.scard .ft{display:flex;align-items:center;gap:10px}
.scard .ft em{font-style:normal;font-size:12px;color:var(--brand-d);font-weight:600;white-space:nowrap}

.pg{height:5px;border-radius:99px;background:#E6ECF4;overflow:hidden;flex:1;min-width:60px}
.pg i{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width .3s}
.pg.good i{background:#26806A}
.pg.mid i{background:#B8860B}
.pg.bad i{background:var(--brand)}

/* ---------- 财税体检 ---------- */
.qwrap{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:16px;align-items:start}
@media(max-width:1000px){.qwrap{grid-template-columns:1fr}}
.qdim{display:flex;align-items:center;gap:9px;margin:22px 0 10px}
.qdim b{font-size:14.5px}
.qdim .pg{max-width:150px}
.q{border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;background:#fff;
  margin-bottom:9px;transition:.15s}
.q.done{border-color:var(--brand-line)}
.q .qt{font-size:13.5px;font-weight:600;margin-bottom:10px;display:flex;gap:8px;line-height:1.55}
.q .qt em{font-style:normal;color:var(--brand);font-weight:700;flex:none;
  font-variant-numeric:tabular-nums;min-width:18px}
.opts{display:grid;gap:6px}
.opt{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:8px;
  padding:8px 11px;font-size:12.5px;cursor:pointer;transition:.14s;background:#fff;line-height:1.5}
.opt:hover{border-color:var(--brand-line);background:#F4F7FC}
.opt.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-d);font-weight:600}
.opt input{margin:3px 0 0;accent-color:var(--brand);flex:none}
.qside{position:sticky;top:72px}
.dial{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;margin:6px auto 12px;
  position:relative}
.dial .in{width:104px;height:104px;border-radius:50%;background:#fff;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:1px}
.dial .in b{font-size:29px;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums}
.dial .in span{font-size:11px;color:var(--ink3)}
.dial .in em{font-style:normal;font-size:11.5px;font-weight:600;margin-top:3px}

.dim{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.dim .nm{width:74px;font-size:12px;flex:none;color:var(--ink2)}
.dim .vl{width:32px;text-align:right;font-size:12.5px;font-weight:600;flex:none;
  font-variant-numeric:tabular-nums}
.lv-good{color:#1B6E51}.lv-mid{color:#8A5A0B}.lv-bad{color:#A32E20}

.risk{border:1px solid var(--line);border-left:3px solid var(--ink3);border-radius:var(--r);
  padding:12px 15px;background:#fff;margin-bottom:9px}
.risk.high{border-left-color:#C0392B;background:#FDF7F6}
.risk.mid{border-left-color:#B8860B;background:#FFFCF4}
.risk .rh{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.risk .rh b{font-size:13.5px}
.risk .rb{font-size:12.5px;color:var(--ink2);line-height:1.7}
.risk .rb .ad{margin-top:7px;padding:8px 11px;border-radius:8px;background:#EFF3F9;
  border:1px solid var(--line);color:var(--ink2)}
.risk .rb .ad b{color:var(--brand-d);font-size:12px}

/* ---------- 文库 / 合同 ---------- */
.tools{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.tools input.search{flex:1;min-width:190px;border:1px solid var(--line2);border-radius:8px;
  padding:8px 12px;font-size:13.5px;outline:none;font-family:inherit;background:#fff;color:var(--ink)}
.tools input.search:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(30,58,138,.10)}
.tools select{border:1px solid var(--line2);border-radius:8px;padding:8px 11px;font-size:13px;
  background:#fff;color:var(--ink);outline:none;font-family:inherit}
.tools .cnt{font-size:12px;color:var(--ink3);margin-left:auto;white-space:nowrap}

.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:9px}
.cat{border:1px solid var(--line);border-radius:var(--r);padding:11px 13px;background:#fff;
  text-align:left;width:100%;transition:.15s;cursor:pointer;display:block}
.cat:hover{border-color:var(--brand-line);background:#F4F7FC;transform:translateY(-1px)}
.cat b{display:block;font-size:13px;margin-bottom:3px;font-weight:600}
.cat span{font-size:11.5px;color:var(--ink3)}

.ditem{display:flex;align-items:center;gap:11px;padding:9px 13px;border:1px solid var(--line);
  border-radius:var(--r);background:#fff;margin-bottom:6px}
.ditem:hover{border-color:var(--brand-line);background:#F7F9FD}
.ditem .fx{font-size:10.5px;padding:1px 8px;border-radius:99px;background:var(--brand-soft);
  color:var(--brand-d);flex:none;border:1px solid var(--brand-line);white-space:nowrap}
.ditem .nm{font-size:13px;font-weight:500;min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;flex:1}
.ditem .sz{font-size:11.5px;color:var(--ink3);flex:none;font-variant-numeric:tabular-nums}
.ditem .ct{font-size:11px;color:var(--ink3);flex:none;max-width:150px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}

.pager{display:flex;gap:5px;align-items:center;justify-content:center;margin-top:16px;flex-wrap:wrap}
.pager button{border:1px solid var(--line2);background:#fff;border-radius:7px;min-width:31px;
  height:31px;font-size:12.5px;color:var(--ink2);cursor:pointer;padding:0 8px}
.pager button:hover{border-color:var(--brand-line);color:var(--brand-d)}
.pager button.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.pager button:disabled{opacity:.4;cursor:not-allowed}
.pager .info{font-size:12px;color:var(--ink3);margin:0 8px}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px}
.tabs button{border:0;background:none;padding:9px 15px;font-size:13.5px;color:var(--ink2);
  border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-family:inherit}
.tabs button.on{color:var(--brand-d);border-bottom-color:var(--brand);font-weight:600}

.crumb2{font-size:12.5px;color:var(--ink3);margin-bottom:12px;display:flex;gap:7px;
  align-items:center;flex-wrap:wrap}
.crumb2 a{color:var(--brand-d);cursor:pointer}
.crumb2 a:hover{text-decoration:underline}

/* ---------- 财务分析 ---------- */
.igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:10px}
.ind{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:11px 13px}
.ind span{display:block;font-size:11.5px;color:var(--ink3);margin-bottom:2px}
.ind b{font-size:18px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.ind i{display:block;font-style:normal;font-size:10.5px;color:var(--ink3);margin-top:4px;
  line-height:1.5;border-top:1px dashed var(--line);padding-top:5px}

.tag{position:absolute;top:11px;right:11px;font-size:10px;padding:1px 7px;border-radius:99px;
  line-height:17px;font-weight:500}
.tag.hot{background:#FAF0E3;color:#8A4A1E;border:1px solid #EBD6BF}
.tag.new{background:var(--brand-soft);color:var(--brand-d);border:1px solid var(--brand-line)}
.tag.p1{background:#E6ECF4;color:var(--ink3);border:1px solid #CCD6E4}
.tag.pl{background:#EFF3F9;color:#78859A;border:1px solid #D8DEE9}
.tag.live{background:#E6F3EE;color:#1B6E51;border:1px solid #C8E4D6}
.tag.demo{background:#FAF0E3;color:#8A4A1E;border:1px solid #EBD6BF}

.nav .side-note{font-size:11px;color:var(--ink3);padding:8px 10px 2px;line-height:1.5}

/* ---------- 财税文库 · 专题文章 ---------- */
.acats{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:8px}
.cat.artcard{padding:10px 13px 11px;min-height:62px}
.cat.artcard b{font-size:13px;line-height:1.45;margin-bottom:5px;font-weight:600;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat.artcard span{font-size:11px;color:var(--ink3)}
.cat.artcard:hover{border-color:var(--brand-line);background:#F4F7FC}
.cat.artcard::before{content:"";position:absolute}
.cat.artcard{position:relative}
.cat.artcard.off{cursor:default;background:#F2F5FA;border-style:dashed;opacity:.62}
.cat.artcard.off:hover{transform:none;border-color:var(--line);background:#F2F5FA}
.ditem.off{opacity:.62;background:#F2F5FA}
.ditem.off:hover{border-color:var(--line);background:#F2F5FA}

.artwrap{max-width:840px}
.crumb2{margin-bottom:14px}
.arttitle{font-size:24px;line-height:1.4;margin:6px 0 10px;letter-spacing:.2px}
.artmeta{font-size:12px;color:var(--ink3);padding-bottom:14px;margin-bottom:20px;
  border-bottom:1px solid var(--line)}
.artmeta .srcnote{color:var(--ink3);opacity:.85}
.artbody{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  box-shadow:var(--sh);padding:26px 30px 30px}
.artbody .ah{font-size:16.5px;line-height:1.5;margin:26px 0 12px;padding-left:11px;
  border-left:3px solid var(--brand);color:var(--brand-d);letter-spacing:.2px}
.artbody .ah:first-child{margin-top:0}
.artbody .ap{font-size:14.5px;line-height:1.9;color:var(--ink);margin:0 0 12px;
  text-indent:2em;word-break:break-word}
.artbody .ap b{color:var(--brand-d);font-weight:600}
.artbody .afig{margin:16px 0 20px;text-align:center}
.artbody .afig img{max-width:100%;height:auto;border:1px solid var(--line);
  border-radius:8px;box-shadow:var(--sh);background:#fff}
.artnav{display:flex;justify-content:space-between;gap:12px;margin-top:22px;align-items:stretch}
.artnav .btn{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:12.5px;font-weight:400}

/* ── 级次折叠（财税文库 · 模板下载） ───────────────────── */
.acctl{display:flex;gap:8px;margin:0 0 12px}
.acct{border:1px solid var(--line);border-radius:var(--r);background:#fff;
  margin-bottom:8px;overflow:hidden}
.acct-h{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  padding:13px 16px;background:#fff;border:0;cursor:pointer;font-family:inherit}
.acct-h:hover{background:#F4F7FC}
.acct-h b{font-size:14px;font-weight:600;color:var(--ink);min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-h .meta{margin-left:auto;font-size:12px;color:var(--ink3);flex:none}
.chev{flex:none;width:14px;height:14px;color:var(--ink3);display:inline-flex}
.chev svg{width:14px;height:14px;transition:transform .2s}
.acct-h.open .chev svg{transform:rotate(90deg)}
.acct-b{border-top:1px solid var(--line);padding:12px 16px;background:#F7F9FD}
.acct-b .ditem{background:#fff;margin-bottom:7px}
.acct-b .ditem:last-child{margin-bottom:0}
.acct-b .cats{margin:0}

/* ── 分析仪表板库 ───────────────────────────────────────── */
.cat.boardcard{text-align:left;min-height:104px;display:flex;flex-direction:column;
  justify-content:space-between}
/* 大类标题右侧：一句话说明「适用什么场景」，太长就省略号，悬停看全文 */
.acct-h .cdesc{flex:1;min-width:0;font-size:12px;color:var(--ink3);line-height:1.5;
  border-left:1px solid var(--line);padding-left:11px;margin-left:1px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 卡片里的一句话简介：最多两行 */
.cat.boardcard .cdesc{font-style:normal;font-size:11.5px;line-height:1.55;color:var(--ink3);
  margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden}
.boardbar .bd{font-size:12.5px;color:var(--ink2);margin-top:7px;max-width:660px;line-height:1.65}
@media (max-width:760px){ .acct-h .cdesc{display:none} }
.cat.boardcard b{display:block;font-size:13px;line-height:1.4;margin-bottom:6px;
  white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical}
.boardbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin:0 0 12px;flex-wrap:wrap}
.boardbar h1.bt{margin:0 0 4px;font-size:20px}
.boardbar .bs{font-size:12px;color:var(--ink3)}
.boardbar .bz{display:flex;gap:8px;flex:none}
.frame{margin-top:4px;border:1px solid var(--line);border-radius:var(--r2);
  overflow:hidden;background:#fff;box-shadow:var(--sh)}
.frame iframe{display:block;width:100%;height:calc(100vh - 210px);min-height:520px;border:0}

/* ── 会员中心 / 登录注册 / 管理后台 ─────────────────────────── */
.authwrap{display:grid;grid-template-columns:minmax(320px,430px) 1fr;gap:18px;
  align-items:start;max-width:1040px}
.authcard{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  box-shadow:var(--sh);padding:22px 24px 24px}
.authtabs{display:flex;gap:4px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.authtab{border:0;background:none;padding:8px 14px;font-size:14px;color:var(--ink3);
  border-bottom:2px solid transparent;margin-bottom:-1px}
.authtab.on{color:var(--brand-d);font-weight:600;border-bottom-color:var(--brand)}
.lk{color:var(--brand);cursor:pointer;font-weight:500}
.authside{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  box-shadow:var(--sh);padding:20px 22px}
.authside b{display:block;font-size:14px;margin-bottom:10px}
.authside ul{margin:0;padding-left:18px;color:var(--ink2);font-size:13px;line-height:1.95}
.authside li span{color:var(--ink3);font-size:12px}
.authmsg{margin-top:12px}
.wall{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  box-shadow:var(--sh);padding:38px 30px;text-align:center;max-width:580px}
.wall-ic{width:52px;height:52px;border-radius:14px;background:var(--brand-soft);
  color:var(--brand);display:grid;place-items:center;margin:0 auto 14px}
.wall b{display:block;font-size:16px;margin-bottom:8px}
.wall p{font-size:13px;color:var(--ink2);margin:0 0 18px;line-height:1.8}
.wall-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.mwrap{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:16px;
  align-items:start;max-width:1040px}
.mhead{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:14px;
  border-bottom:1px solid var(--line)}
.mavatar{width:42px;height:42px;border-radius:12px;background:var(--brand);color:#fff;
  display:grid;place-items:center;font-size:17px;font-weight:600;flex:none}
.mhead b{display:block;font-size:15px}
.mhead span{font-size:12px;color:var(--ink3)}
.mplan{margin-left:auto;padding:3px 11px;border-radius:20px;font-size:12px;font-weight:600;
  background:var(--brand-soft);color:var(--brand-d);flex:none}
.mplan.mid{background:var(--accent-soft);color:var(--accent)}
.mplan.bad{background:#F9E8E6;color:#962E22}
.mtable{width:100%;border-collapse:collapse;font-size:13px}
.mtable td{padding:8px 0;border-bottom:1px dashed var(--line);color:var(--ink2)}
.mtable td:first-child{width:92px;color:var(--ink3)}
.mtable td b{color:var(--ink)}
.macts{padding-top:14px;display:flex;gap:8px}
.pill.link{color:var(--brand);border-color:var(--brand-line)}
.pill.warnl{background:var(--accent-soft);border-color:var(--warm-line);color:var(--warm)}
.pill.badl{background:#F9E8E6;border-color:#EDCAC6;color:#962E22}
.dg{color:var(--down);font-weight:600}
.dm{color:var(--accent);font-weight:600}
.db2{color:var(--up);font-weight:600}
.note.ok{background:#E9F5F0;border-color:#BFE3D5;color:#0E6B4C}
.note.warn2{background:var(--accent-soft);border-color:var(--warm-line);color:var(--warm)}
.note.err2{background:#F9E8E6;border-color:#EDCAC6;color:#962E22}
.adm{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  box-shadow:var(--sh);padding:18px 20px}
.adm h2{font-size:15px;margin:0 0 12px}
.admtools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.admtools input[type=text]{border:1px solid var(--line2);border-radius:8px;
  padding:7px 10px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink)}
.admtools input.auq{width:178px}
.admtools .ausp{width:1px;height:20px;background:var(--line);margin:0 2px}
.admtools .sel{border:1px solid var(--line2);border-radius:8px;padding:7px 10px;
  font-size:13px;font-family:inherit;background:#fff;color:var(--ink)}
.tbwrap{overflow:auto}
.admtb{width:100%;border-collapse:collapse;font-size:12.5px}
.admtb th{text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);
  color:var(--ink3);font-weight:600;white-space:nowrap}
.admtb td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle;
  white-space:nowrap;color:var(--ink2)}
.admtb td.acts{white-space:normal}
.admtb td .s2{font-size:11px;color:var(--ink3)}
.admtb input[type=date]{border:1px solid var(--line2);border-radius:6px;padding:4px 6px;
  font-size:12px;font-family:inherit;background:#fff;color:var(--ink)}
.admgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;
  margin-bottom:16px;max-width:1040px}
.admkpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.admkpi span{display:block;font-size:11.5px;color:var(--ink3)}
.admkpi b{font-size:20px;line-height:1.35}
@media (max-width:920px){
  .authwrap{grid-template-columns:1fr}
  .mwrap{grid-template-columns:1fr}
}
/* 报表体检 · 导入区 */
.cfin-paste{width:100%;font-family:inherit;font-size:12.5px;line-height:1.7;
  padding:10px 12px;border:1px solid var(--line2);border-radius:8px;
  resize:vertical;background:var(--card);color:var(--ink);box-sizing:border-box}
.cfin-paste:focus{outline:none;border-color:var(--brand)}
.card.is-sample{border:1px solid var(--warm-line)}
.card.is-sample > h2{position:relative}
.card.is-sample > .note{background:var(--warm-soft);border:1px solid var(--warm-line);
  color:var(--warm);padding:8px 12px;border-radius:8px;font-size:12.5px;margin:0 0 14px}
/* 文库列表整行可点 */
.ditem.link{cursor:pointer}
.ditem.link:hover .nm{color:var(--brand)}
.ditem.link .nm{transition:color .12s}
/* 后台批量删除 */
.btn.danger{color:#A33225;border-color:#E3BDBA}
.btn.danger:hover{background:#FBEAE8;border-color:#D9A9A5}
.admtb th.ck,.admtb td.ck{width:34px;text-align:center;padding-left:10px;padding-right:2px}
.admtb td.ck input,.admtb th.ck input{cursor:pointer;width:14px;height:14px;accent-color:#1E3A8A}
.admtb td.ck input:disabled{cursor:not-allowed;opacity:.35}
/* ============================== 学习中心 */
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 0 20px}
@media (max-width:1100px){.lgrid{grid-template-columns:repeat(2,1fr)}}
.lkcard{display:flex;align-items:center;gap:11px;padding:13px 15px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:inherit;
  transition:.15s}
.lkcard:hover{border-color:var(--brand-line);background:#F7F9FD;transform:translateY(-1px)}
.lkcard .ic{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:9px;
  background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand)}
.lkcard .tx{min-width:0;flex:1}
.lkcard .tx b{display:block;font-size:13.5px;color:var(--ink)}
.lkcard .tx span{display:block;font-size:11.5px;color:var(--ink3);margin-top:2px}
.lkcard em{font-style:normal;color:var(--ink3);font-size:13px}

.lsec{margin-top:26px}
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
@media (max-width:1250px){.vgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:980px){.vgrid{grid-template-columns:repeat(2,1fr)}}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:.15s}
.vcard:hover{border-color:var(--brand-line);box-shadow:var(--sh2)}
.vcard .thumb{position:relative;height:104px;display:grid;place-items:center;
  background:linear-gradient(135deg,#E6EAF5 0%,#D6DEEC 100%);color:var(--brand)}
.vcard.soon .thumb{background:linear-gradient(135deg,#EFF2F7 0%,#E4E9F2 100%);color:var(--ink3)}
.vcard .thumb .dur,.vcard .thumb .soonTag{position:absolute;right:8px;bottom:8px;
  font-size:10.5px;padding:1.5px 7px;border-radius:99px;background:rgba(15,23,42,.72);color:#fff}
.vcard .thumb .soonTag{background:var(--warm-soft);color:var(--warm);border:1px solid var(--warm-line)}
.vcard .vb{padding:11px 13px 13px}
.vcard .vb b{display:block;font-size:13px;line-height:1.45;color:var(--ink)}
.vcard .vb p{margin:6px 0 8px;font-size:11.5px;line-height:1.65;color:var(--ink2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vcard .vm{display:flex;gap:5px;flex-wrap:wrap;font-size:10.5px;color:var(--ink3)}

.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
@media (max-width:1100px){.agrid{grid-template-columns:repeat(2,1fr)}}
.acard{display:block;padding:13px 15px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);text-decoration:none;color:inherit;transition:.15s}
.acard:hover{border-color:var(--brand-line);background:#F7F9FD}
.acard b{display:block;font-size:13px;color:var(--ink);line-height:1.45}
.acard p{margin:5px 0 7px;font-size:11.5px;color:var(--ink2)}
.acard .am{display:flex;gap:5px;font-size:10.5px;color:var(--ink3)}

.dgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:980px){.dgrid{grid-template-columns:1fr}}
.dcard{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r)}
.dcard.soon{background:#FAFBFD}
.dcard .ic{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:8px;
  background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand)}
.dcard.soon .ic{background:#F0F3F8;border-color:var(--line2);color:var(--ink3)}
.dcard .db{flex:1;min-width:0}
.dcard .db b{display:block;font-size:13px;color:var(--ink)}
.dcard .db p{margin:4px 0 6px;font-size:11.5px;line-height:1.6;color:var(--ink2)}
.dcard .dm{font-size:10.5px;color:var(--ink3)}
/* 全局 .sm{flex:1} 会把卡片里的下载按钮撑满，这里收回固定宽度 */
.dcard>.btn{flex:none;white-space:nowrap}
.dcard .sz{font-size:11px;color:var(--warm);flex:none;white-space:nowrap;padding-top:1px}

/* ---- 图文课：课程分组 / 角标 / 阅读器 ---- */
.agroup{display:flex;align-items:baseline;gap:9px;margin:16px 0 10px}
.agroup b{font-size:13.5px;color:var(--brand-d)}
.agroup span{font-size:11.5px;color:var(--ink3)}
.agroup:first-of-type{margin-top:4px}
/* 分类折叠（财务 Skill 分区） */
.fold{border:1px solid var(--line);border-radius:var(--r);background:#fff;
  margin:0 0 10px;overflow:hidden}
.fold>summary{display:flex;align-items:center;gap:9px;padding:11px 15px;
  cursor:pointer;list-style:none;user-select:none}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::after{content:'';width:7px;height:7px;flex:none;margin-left:10px;
  border-right:1.6px solid var(--ink3);border-bottom:1.6px solid var(--ink3);
  transform:rotate(45deg) translateY(-2px);transition:.15s}
.fold[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.fold>summary b{font-size:13.5px;color:var(--brand-d);font-weight:600}
.fold>summary span{font-size:11.5px;color:var(--ink3);margin-left:auto}
.fold[open]>summary{border-bottom:1px solid var(--line)}
.fold .dgrid{padding:12px 15px}
.foldhint{font-size:11.5px;color:var(--ink3);margin:0 0 10px}
.acard .kb{display:inline-block;margin-left:6px;font-style:normal;font-size:10px;
  padding:1px 6px;border-radius:5px;background:var(--brand-soft);color:var(--brand-d);
  border:1px solid var(--brand-line);vertical-align:1px}
.toc{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:14px 18px;margin:0 0 18px}
.toc b{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:8px;letter-spacing:.3px}
.toc .toc-l{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px}
@media (max-width:820px){.toc .toc-l{grid-template-columns:1fr}}
.toc a{font-size:12.5px;line-height:1.9;color:var(--ink2);cursor:pointer;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.toc a:hover{color:var(--brand);text-decoration:underline}
.artbody.lbody .ap{white-space:pre-wrap;word-break:break-word}
.artbody .ah3{font-size:14px;font-weight:600;color:var(--ink);margin:20px 0 8px}
.artbody .vref{display:inline-flex;align-items:center;gap:7px;margin:2px 0 12px;
  padding:6px 12px;border-radius:999px;background:var(--brand-soft);
  border:1px solid var(--brand-line);color:var(--brand-d);font-size:12px}
.artbody .vref svg{flex:none}
.artbody .ap .elnk{color:var(--brand);text-decoration:underline;word-break:break-all}
.artbody .ap .elnk{color:var(--brand);text-decoration:underline;word-break:break-all}

/* ---- 财务答疑 ---- */
.qabox{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:14px 16px;margin-bottom:16px}
.qata{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  font:13.5px/1.75 inherit;color:var(--ink);resize:vertical;background:#FBFBFD;
  box-sizing:border-box}
.qata:focus{outline:none;border-color:var(--brand);background:#fff;
  box-shadow:0 0 0 3px rgba(30,58,138,.08)}
.qata::placeholder{color:var(--ink3)}
.qabox-b{display:flex;align-items:flex-end;gap:14px;margin-top:12px;flex-wrap:wrap}
.qachips{flex:1;display:flex;flex-wrap:wrap;gap:6px;min-width:240px}
.qachip{font:11.5px/1 inherit;padding:5px 10px;border-radius:999px;cursor:pointer;
  background:#F2F4FA;border:1px solid var(--line);color:var(--ink2);white-space:nowrap}
.qachip:hover{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-d)}
.qabox-r{display:flex;align-items:center;gap:10px;margin-left:auto}
.qabox-r .btn{display:inline-flex;align-items:center;gap:6px}
.qaq{font-size:12px;color:var(--ink3);white-space:nowrap}
.qaq b{color:var(--brand-d);font-size:13px}
.qaq.out b{color:#C0392B}
.qaq.ok{color:#12855C}
.qawait,.qalimit{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:16px 18px;margin-bottom:16px}
.qawait{color:var(--ink2);font-size:13px}
.qalimit{border-color:#E4CFA8;background:#FDF8EE}
.qalimit b{display:block;font-size:14px;color:#B45309;margin-bottom:4px}
.qalimit p{margin:0;font-size:12.5px;color:#7C5A1E}
.qaans{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:16px 18px;margin-bottom:18px}
.qaans-t{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.qabadge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;
  padding:3px 9px;border-radius:999px;background:var(--brand-soft);
  border:1px solid var(--brand-line);color:var(--brand-d)}
.qabadge.web,.qabadge.mixed{background:#EEF4FB;border-color:#C3CEEA;color:#1E3A8A}
.qabadge.none{background:#F4F4F6;border-color:#DFDFE6;color:var(--ink3)}
.qaans-q{font-size:13px;color:var(--ink3);margin-bottom:8px}
.qaans-b{font-size:13.5px;line-height:1.85;color:var(--ink);
  white-space:pre-wrap;word-break:break-word}
.qarefs{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.qarefs>b{display:block;font-size:12px;color:var(--ink3);margin-bottom:8px;letter-spacing:.3px}
.qaref{display:block;padding:9px 12px;margin-bottom:6px;border-radius:9px;
  border:1px solid var(--line);background:#FBFBFD;text-decoration:none;color:var(--ink)}
.qaref:hover{border-color:var(--brand-line);background:var(--brand-soft)}
.qaref .rk{display:inline-block;font-size:10px;padding:1px 6px;border-radius:5px;
  background:#E6EAF5;color:var(--brand-d);margin-right:7px;vertical-align:1px}
.qaref.web .rk{background:#E8F1EC;color:#12855C}
.qaref .rt{font-size:12.5px;color:var(--ink);font-weight:600}
.qaref .rc{font-size:11px;color:var(--ink3);margin-left:7px}
.qaref .rx{display:block;font-size:11.5px;color:var(--ink3);margin-top:4px;line-height:1.6}
.qsvc{display:flex;align-items:center;gap:20px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r2);padding:16px 20px;margin-bottom:16px}
.qsvc.hi{border-color:#E4CFA8;background:#FDF8EE}
.qsvc-l{flex:1}
.qsvc-l b{font-size:13.5px;color:var(--brand-d)}
.qsvc-l p{margin:4px 0 0;font-size:12.5px;color:var(--ink2)}
.qsvc-l p.ct{margin-top:6px;color:var(--ink3)}
.qsvc-q{width:104px;height:104px;object-fit:contain;border:1px solid var(--line);
  border-radius:10px;background:#fff;padding:4px;flex:none}
.qsvc-no{width:104px;height:104px;flex:none;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;font-size:11px;
  color:var(--ink3);border:1px dashed var(--line);border-radius:10px}
.qsvc-no span{font-size:10.5px;color:#9AA3B2}
.qahist{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.qah{border-bottom:1px solid var(--line)}
.qah:last-child{border-bottom:none}
.qah-q{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;
  font-size:12.5px;color:var(--ink2)}
.qah-q:hover{background:#F7F8FC}
.qah-q span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qah-m{font-size:11px;color:var(--ink3);flex:none}
.qah.on .qah-q{color:var(--brand-d);font-weight:600}
.qah-a{padding:0 16px 12px;font-size:12.5px;line-height:1.8;color:var(--ink2);
  white-space:pre-wrap;word-break:break-word}
.admtb .qaq-cell{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qaansrow td{background:#F7F8FC}
.qaansrow div{font-size:12.5px;line-height:1.8;color:var(--ink2);
  white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}
@media (max-width:820px){
  .qsvc{flex-direction:column;align-items:flex-start}
  .qabox-r{margin-left:0;width:100%;justify-content:space-between}
}

/* ---------- 工作台：个性化区 + 全站搜索 ---------- */
.hbanner{display:flex;align-items:center;gap:12px;border-radius:12px;padding:10px 12px 10px 14px;
  margin:0 0 13px;border:1px solid var(--line);background:#fff}
.hbanner .hb-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none}
.hbanner .hb-tx{flex:1;min-width:0}
.hbanner .hb-tx b{display:block;font-size:13px;line-height:1.5}
.hbanner .hb-tx span{display:block;font-size:11.5px;color:var(--ink3);line-height:1.5}
.hbanner.warn{background:#FBEAE7;border-color:#EFD0CB}
.hbanner.warn .hb-ic{background:#F6D9D4;color:#962E22}
.hbanner.warn b{color:#962E22}
.hbanner.warn .hb-tx span{color:#A05F55}
.hbanner.info{background:var(--brand-soft);border-color:var(--brand-line)}
.hbanner.info .hb-ic{background:#D8E0F2;color:var(--brand-d)}
.hbanner.info b{color:var(--brand-d)}
.hbanner .btn{flex:none}

.hsearch{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--brand-line);
  border-radius:12px;padding:5px 5px 5px 14px;box-shadow:var(--sh);transition:.15s}
.hsearch:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(30,58,138,.10)}
.hsearch .hi{color:var(--brand);display:grid;place-items:center;flex:none}
.hsearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:14px;
  padding:10px 0;color:var(--ink);font-family:inherit}
.hsearch input::-webkit-search-cancel-button{cursor:pointer}
.hsearch input::placeholder{color:#93A0B4}
.hsearch .btn{padding:9px 20px;flex:none}

.hotq{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;
  color:var(--ink3);margin:9px 0 16px}
.hotq>span{margin-right:1px}
.hotq a{padding:2px 10px;border-radius:99px;background:#fff;border:1px solid var(--line);
  color:var(--ink2);cursor:pointer;transition:.14s}
.hotq a:hover{border-color:var(--brand-line);color:var(--brand-d);background:var(--brand-soft)}

.hstat{display:flex;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:9px 6px;box-shadow:var(--sh);margin:0 0 4px}
.hs{flex:1;min-width:0;padding:2px 14px;border-left:1px solid #E9EEF6}
.hs:first-child{border-left:0;padding-left:10px}
.hs>span{display:block;font-size:10.5px;color:var(--ink3);margin-bottom:3px;letter-spacing:.2px}
.hs b{display:block;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;font-weight:600}
.hs em{font-style:normal;display:block;font-size:10.5px;color:var(--ink3);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.hs:hover b{color:var(--brand-d)}
.hbadge{flex:none;margin:0 10px 0 2px;font-size:10px;color:var(--ink3);background:#F2F5FA;
  border:1px solid var(--line);border-radius:99px;padding:1px 8px;white-space:nowrap}

.scard .ft{justify-content:space-between;padding-top:11px;border-top:1px solid #EDF1F7}
.scard .ft .arw{font-size:11.5px;color:var(--ink3);white-space:nowrap}
.scard:hover .ft .arw{color:var(--brand-d)}

/* ---------- 顶栏搜索入口 ---------- */
.tsearch{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink2);
  background:#F4F7FC;border:1px solid var(--line);border-radius:99px;padding:4px 12px 4px 10px;
  transition:.14s}
.tsearch:hover{border-color:var(--brand-line);color:var(--brand-d);background:var(--brand-soft)}

/* ---------- 搜索结果 ---------- */
.stabs{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 10px}
.stabs button{border:1px solid var(--line);background:#fff;border-radius:99px;
  padding:4px 13px;font-size:12.5px;color:var(--ink2);transition:.14s}
.stabs button:hover{border-color:var(--brand-line);color:var(--brand-d)}
.stabs button em{font-style:normal;font-size:11px;color:var(--ink3);margin-left:4px}
.stabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.stabs button.on em{color:rgba(255,255,255,.78)}
.stop{font-size:11.5px;color:var(--ink3);margin:0 0 9px}
.stop b{color:var(--ink2)}
.slist{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;
  box-shadow:var(--sh)}
.srow{display:flex;align-items:flex-start;gap:11px;padding:12px 15px;
  border-bottom:1px solid #EDF1F7;transition:.12s}
.srow:last-child{border-bottom:0}
.srow:hover{background:#F6F8FC}
.sk{font-size:10.5px;padding:1px 8px;border-radius:6px;white-space:nowrap;margin-top:2px;
  flex:none;line-height:18px;background:var(--brand-soft);color:var(--brand-d);
  border:1px solid var(--brand-line)}
.sk-contract{background:#FAF0E3;color:#8A5A0B;border-color:#EBD6BF}
.sk-template{background:#EFF3F9;color:#5A6B85;border-color:#D8DEE9}
.sk-module{background:#E4F2ED;color:#20695A;border-color:#C8E3DB}
.sk-board{background:#F9EDE4;color:#8A4A1E;border-color:#EFD8C6}
.sk-learn{background:#EDEBFA;color:#453B8C;border-color:#D6D1F0}
.sk-section{background:#F2F5FA;color:var(--ink3);border-color:var(--line)}
.sm{flex:1;min-width:0}
.sm b{font-size:13.5px;font-weight:600;display:block;line-height:1.55;color:var(--ink)}
.sm p{margin:2px 0 0;font-size:12px;color:var(--ink2);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sm em{font-style:normal;font-size:11px;color:var(--ink3);display:block;margin-top:3px}
.srow .go{color:#B7C1D2;font-size:16px;line-height:1.3;flex:none}
.srow:hover .go{color:var(--brand)}
.srow mark{background:#FDEBA8;color:inherit;border-radius:3px;padding:0 1px}
.sempty{background:#fff;border:1px dashed var(--line2);border-radius:var(--r2);
  padding:26px 20px;text-align:center;color:var(--ink2);font-size:13px;line-height:1.9}

@media(max-width:900px){
  .hstat{flex-wrap:wrap;padding:6px 8px}
  .hs{flex:1 1 100%;border-left:0;padding:6px 8px;border-top:1px solid #E9EEF6}
  .hs:first-child{border-top:0}
  .hbadge{margin:4px 8px}
}
@media(max-width:640px){
  .hsearch .btn{padding:9px 14px}
  .srow{padding:11px 12px}
  .sk{display:none}
}

/* 答疑卡：宽屏下横跨整行，避免第七张卡孤零零占一格 */
.tag.inl{position:static;margin-left:2px}
@media(min-width:1120px){
  .sgrid .scard.wide{grid-column:1/-1;display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;
    padding:15px 20px}
  .scard.wide .hd{margin:0}
  .scard.wide p{margin:0;min-height:0}
  .scard.wide .ft{border-top:0;padding-top:0;flex-direction:column;align-items:flex-end;
    gap:2px;min-width:96px}
}

/* ---------- 合同 / 制度文件在线阅读 ---------- */
.ditgrid .ditem .nm{cursor:pointer}
.ditem .nm{cursor:pointer;color:var(--ink);text-decoration:none}
.ditem .nm:hover{color:var(--brand-d);text-decoration:underline}
.ditem .btn{padding:4px 12px;font-size:12px;flex:none}   /* .sm 在别处带 flex:1，这里必须压住 */
.ditem .nm{flex:1 1 auto}
.ditem .btn.read{color:var(--brand-d);border-color:var(--brand-line);background:var(--brand-soft)}
.ditem .btn.read:hover{background:#DBE4F5;border-color:var(--brand)}

.dchead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin:0 0 15px;flex-wrap:wrap}
.dchead .dc-t{flex:1;min-width:0}
.dctitle{font-size:21px;line-height:1.4;margin:0 0 5px;letter-spacing:.2px}
.dcsub{font-size:12px;color:var(--ink3);line-height:1.6}
.dchead .dc-r{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap}
.dchead .dc-r .btn{display:inline-flex;align-items:center;gap:6px}
.dchead .dc-r .btn svg{width:15px;height:15px}

.dcmodes{display:flex;gap:2px;background:#EFF3F9;border:1px solid var(--line);
  border-radius:8px;padding:2px}
.dcmodes button{border:0;background:none;font-family:inherit;cursor:pointer;
  font-size:12.5px;color:var(--ink2);padding:5px 13px;border-radius:6px;transition:.14s}
.dcmodes button:hover{color:var(--brand-d)}
.dcmodes button.on{background:#fff;color:var(--brand-d);font-weight:600;
  box-shadow:0 1px 2px rgba(15,23,42,.08)}

.docbody p{font-size:14.5px;line-height:1.9;color:var(--ink);margin:0 0 11px;
  word-break:break-word}
.docbody p.ctr{text-align:center}
.docbody strong{color:var(--brand-d)}
.docbody h2{font-size:17px;line-height:1.5;margin:24px 0 11px;padding-left:10px;
  border-left:3px solid var(--brand);color:var(--brand-d)}
.docbody h3{font-size:15.5px;margin:20px 0 9px;color:var(--brand-d)}
.docbody h4{font-size:14.5px;margin:16px 0 8px;color:var(--ink)}
.docbody h2:first-child,.docbody p:first-child{margin-top:0}
.docbody table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}
.docbody th,.docbody td{border:1px solid var(--line);padding:6px 9px;
  text-align:left;vertical-align:top;line-height:1.6}
.docbody thead th{background:#F4F7FC;font-weight:600;color:var(--ink2);white-space:nowrap}
.docbody tbody tr:nth-child(even){background:#FAFBFD}

.docbody .pg{border:1px solid var(--line);border-radius:8px;padding:12px 15px;
  margin:0 0 14px;background:#fff}
.docbody .pg .pgno{font-size:12px;font-weight:600;color:var(--brand-d);
  padding-bottom:6px;margin-bottom:8px;border-bottom:1px dashed var(--line)}
.docbody .pg p:last-child{margin-bottom:0}

.docimg{width:100%;height:auto;display:block;border:1px solid var(--line);
  border-radius:8px;background:#fff}
.pdfv{width:100%;height:82vh;min-height:520px;border:1px solid var(--line);
  border-radius:var(--r2);background:#fff;box-shadow:var(--sh);display:block}

@media(max-width:640px){
  .dchead{gap:10px}
  .dctitle{font-size:18px}
  .dchead .dc-r{width:100%;justify-content:flex-end}
  .ditem{flex-wrap:wrap}
  .ditem .nm{flex:1 1 100%;white-space:normal;order:-1}
  .ditem .sz{margin-left:auto}
  .pdfv{height:70vh;min-height:380px}
}
.crumb2 .csep{color:#B7C1D2;margin:0 7px;font-size:12px}

/* ---------- 后台内容管理 ---------- */
.cmsf{display:flex;align-items:center;gap:10px;margin:0 0 11px;flex-wrap:wrap}
.cmsf>label{flex:none;width:66px;font-size:12.5px;color:var(--ink2);text-align:right}
.cmsf input[type=text],.cmsf select,.cmsf textarea{
  border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;
  font-family:inherit;color:var(--ink);background:#fff;outline:none}
.cmsf input[type=text]:focus,.cmsf select:focus,.cmsf textarea:focus{
  border-color:var(--brand);box-shadow:0 0 0 3px rgba(30,58,138,.10)}
.cmsf textarea{flex:1;min-width:280px;line-height:1.8;resize:vertical}
.cmsf .hint{flex:1 1 100%;margin:0 0 0 76px}
#cmsFileName{font-size:12px;color:var(--ink2);flex:1 1 100%;margin-left:76px}
.admtb td.acts{white-space:nowrap}
.admtb td.acts .btn{margin-right:4px}
.admtb td.s2{color:var(--ink3);font-size:12px}
@media(max-width:760px){
  .cmsf>label{width:auto;text-align:left}
  .cmsf .hint,.cmsf textarea,#cmsFileName{margin-left:0}
}
.admtools .btn{flex:none}   /* .sm 在别处带 flex:1，后台工具栏里会把按钮拉满整行 */

/* 日志 / 登录轨迹表：固定列宽，避免各列被均分撑散 */
.admtb.fx{table-layout:fixed}
.admtb.fx td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.admtb.fx td.s2{color:var(--ink3)}

/* 会员登录轨迹：上次登录时间 / 地点 / 设备 */
.lgbox{display:flex;flex-wrap:wrap;gap:12px 30px;margin:2px 0 16px;padding:13px 16px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--sh)}
.lgrow{display:flex;flex-direction:column;gap:2px;min-width:158px}
.lgrow>span{font-size:11.5px;color:var(--ink3);letter-spacing:.2px}
.lgrow>b{font-size:13.5px;color:var(--ink);font-weight:600;line-height:1.5}
.lgrow>b .s2{font-weight:400}
#admAudit:empty{display:none}

/* 内容管理：资料格式小标签 */
.admtb .fmtag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;
  line-height:18px;background:#E6EAF5;color:#1E3A8A;border:1px solid #C3CEEA;
  white-space:nowrap}

/* ---------- 学习中心 · 财务 Skill（22 个 CC 技能） ---------- */
.dcard .db b.lnk{cursor:pointer}
.dcard .db b.lnk:hover{color:var(--brand);text-decoration:underline}
.skdesc{font-size:13px;color:var(--ink2);line-height:1.8;background:#F4F7FC;
  border-left:3px solid var(--brand-line);padding:11px 14px;border-radius:6px;margin:0 0 14px}
.skbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.skbar .btn{display:inline-flex;align-items:center;gap:6px}
.skbar span{font-size:12px;color:var(--ink3)}
.artbody pre.acode{background:#0F172A;color:#E8EDF7;padding:13px 15px;border-radius:8px;
  overflow:auto;font-size:12.5px;line-height:1.65;margin:13px 0;
  font-family:Consolas,"SF Mono",Menlo,monospace}
.artbody pre.acode code{background:none;border:0;color:inherit;padding:0;font-size:inherit}
.artbody .atb{overflow-x:auto;margin:13px 0}
.artbody .atb table{border-collapse:collapse;font-size:12.5px;min-width:64%}
.artbody .atb th,.artbody .atb td{border:1px solid var(--line);padding:7px 10px;
  text-align:left;vertical-align:top;line-height:1.65}
.artbody .atb th{background:#F4F7FC;font-weight:600;white-space:nowrap}
.artbody .aul{margin:11px 0;padding-left:23px;font-size:13.5px;line-height:1.85}
.artbody .aul li{margin:3px 0}
.artbody .aq{margin:13px 0;padding:9px 15px;border-left:3px solid var(--brand-line);
  background:#F7F9FD;color:var(--ink2);font-size:13px;line-height:1.75}
.artbody .ahr{border:0;border-top:1px solid var(--line);margin:22px 0}
.skfiles{margin:22px 0 6px;border:1px solid var(--line);border-radius:8px;
  padding:10px 15px;background:#fff}
.skfiles summary{cursor:pointer;font-size:13px;color:var(--ink2);font-weight:500}
.skfl{margin-top:8px;max-height:280px;overflow:auto}
.skfl div{display:flex;justify-content:space-between;gap:14px;padding:5px 0;
  border-bottom:1px dashed var(--line);font-size:12.5px}
.skfl div:last-child{border-bottom:0}
.skfl code{font-size:12px;background:none;border:0;padding:0;color:var(--ink2)}
.skfl span{color:var(--ink3);flex:none}

/* ---------- 内控管理（v=46 占位板块） ---------- */
.scard.s-icontrol::before{background:#4A5568}
.scard.s-icontrol .ic{background:#ECEEF3;color:#3E4A60}
.tag.soon{background:#F1F3F7;color:#4A5568;border:1px solid #DCE2EC}
.icnotice{display:flex;gap:12px;align-items:flex-start;background:#F5F7FB;
  border:1px solid #DDE4F0;border-left:3px solid #4A5568;border-radius:10px;
  padding:13px 16px;margin:16px 0 18px}
.icnotice .ici{flex:none}
.icnotice b{display:block;font-size:13px;color:var(--ink);margin-bottom:3px}
.icnotice span{display:block;font-size:12.5px;color:var(--ink2);line-height:1.7}
.icgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:14px}
.iccard{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:17px 19px 15px;box-shadow:var(--sh)}
.iccard .ich{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.iccard .ici{width:32px;height:32px;border-radius:9px;background:#ECEEF3;color:#3E4A60;
  display:flex;align-items:center;justify-content:center;flex:none}
.iccard .ich b{font-size:14.5px}
.iccard .ictag{margin-left:auto;font-size:10.5px;padding:2px 8px;border-radius:99px;
  background:#F1F3F7;color:#5B6577;border:1px solid #DCE2EC;white-space:nowrap}
.iccard .icp{margin:0 0 11px;font-size:12.5px;color:var(--ink2);line-height:1.75}
.iclist{margin:0;padding-left:0;list-style:none}
.iclist li{position:relative;padding-left:15px;font-size:12.5px;color:var(--ink2);
  line-height:1.72;margin:4px 0}
.iclist li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;
  border-radius:50%;background:#8C9AB4}
.iclist li b{color:var(--ink);font-weight:600}
.icsteps{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 11px}
.icsteps span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;
  color:var(--ink2);background:#F6F8FC;border:1px solid #E3E9F3;border-radius:99px;
  padding:3px 9px 3px 4px}
.icsteps i{font-style:normal;width:16px;height:16px;border-radius:50%;background:var(--brand);
  color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}
.icmeta{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:13px;padding-top:11px;border-top:1px solid #EDF1F7;font-size:11.5px;
  color:var(--ink3)}
.icmeta em{font-style:normal;color:#4A5568;background:#F1F3F7;border:1px solid #DCE2EC;
  border-radius:99px;padding:2px 8px;white-space:nowrap}
.ictable{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:4px 15px;box-shadow:var(--sh);overflow-x:auto}
.icloop{min-width:560px}
.icloop th{font-size:11.5px;color:var(--ink3);font-weight:500;padding:9px 8px}
.icloop td{font-size:12.5px;color:var(--ink2);text-align:left;padding:9px 8px;line-height:1.6}
.icloop td.icl{font-weight:600;color:var(--ink);white-space:nowrap}
.icloop td.ick{color:var(--ink3);font-size:12px}
.icroad{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}
.icstep{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:15px 17px 14px;box-shadow:var(--sh)}
.icstep i{font-style:normal;width:22px;height:22px;border-radius:50%;background:#EDF0F6;
  color:var(--ink3);font-size:11.5px;display:flex;align-items:center;justify-content:center;
  margin-bottom:9px;font-weight:600}
.icstep.on{border-color:var(--brand-line)}
.icstep.on i{background:var(--brand);color:#fff}
.icstep b{display:block;font-size:13px;margin-bottom:4px}
.icstep span{display:block;font-size:12px;color:var(--ink3);line-height:1.7}

/* ---------- 财务汇报模板（v=47 占位页签） ---------- */
.tabs button .tsoon{display:inline-block;margin-left:5px;font-style:normal;font-size:10px;
  padding:0 5px;border-radius:99px;background:#F1F3F7;color:#5B6577;border:1px solid #DCE2EC;
  vertical-align:1px;font-weight:400}
.repnote{display:flex;gap:12px;align-items:center;background:#F5F7FB;border:1px solid #DDE4F0;
  border-left:3px solid #8A5A0B;border-radius:10px;padding:13px 16px;margin:0 0 18px;flex-wrap:wrap}
.repnote .rpi.lg{width:32px;height:32px;border-radius:9px;background:#FAF0E3;color:#8A5A0B;
  display:flex;align-items:center;justify-content:center;flex:none}
.repnote .reptx{flex:1 1 320px;min-width:0}
.repnote b{display:block;font-size:13px;color:var(--ink);margin-bottom:3px}
.repnote span{display:block;font-size:12.5px;color:var(--ink2);line-height:1.7}
.repnote .btn{flex:none}
.repgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.repcard{background:#fff;border:1px solid var(--line);border-radius:var(--r2);
  padding:14px 16px 12px;box-shadow:var(--sh)}
.repcard .reph{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.repcard .reph .rpi{width:28px;height:28px;border-radius:8px;background:#F1F4F9;color:#3E4A60;
  display:flex;align-items:center;justify-content:center;flex:none}
.repcard .reph b{font-size:13px;font-weight:600}
.repcard .reph em{margin-left:auto;font-style:normal;font-size:11px;color:var(--ink3);
  background:#F6F8FC;border:1px solid #E3E9F3;border-radius:99px;padding:1px 7px;white-space:nowrap}
.repcard .repd{margin:0 0 8px;font-size:11.5px;color:var(--ink3);line-height:1.6}
.repl{margin:0;padding:0;list-style:none}
.repl li{position:relative;padding:3px 0 3px 14px;font-size:12.5px;color:var(--ink2);line-height:1.6}
.repl li::before{content:"";position:absolute;left:2px;top:9px;width:4px;height:4px;
  border-radius:50%;background:#8C9AB4}
.repl li small{display:block;font-size:11px;color:var(--ink3);line-height:1.55}
.ditem.rep{background:#FAFBFD}
.ditem.rep .nm{color:var(--ink2);cursor:default}
.ditem.rep .nm:hover{color:var(--ink2);text-decoration:none}
.ditem.rep .ct{color:var(--ink3);font-size:11.5px;flex:0 1 auto;max-width:340px;
  text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ditem.rep .sz{color:#5B6577;background:#F1F3F7;border:1px solid #DCE2EC;border-radius:99px;
  padding:1px 7px}

/* ---------- 财务模型（学习中心 · 在线测算） ---------- */
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:14px 15px;
  display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s}
.mcard:hover{border-color:var(--brand-line);box-shadow:var(--sh2)}
.mch{display:flex;align-items:center;gap:9px}
.mch .ic{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;
  background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand)}
.mch b{font-size:13.5px;line-height:1.35}
.mver{margin-left:auto;font-size:10.5px;color:var(--brand-d);background:var(--brand-soft);
  border:1px solid var(--brand-line);border-radius:99px;padding:1px 7px;white-space:nowrap}
.mcard p{margin:0;font-size:12px;line-height:1.65;color:var(--ink2)}
.mcf{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.mtag{font-style:normal;font-size:10.5px;color:var(--ink3);background:#F4F6FA;
  border:1px solid var(--line);border-radius:99px;padding:1px 7px;white-space:nowrap}
.mcf .btn{flex:none;margin-left:auto}   /* 全局 .sm{flex:1} 会把按钮拉满整行 */

.fmhero{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}
.fmhero>div{background:var(--brand-soft);border:1px solid var(--brand-line);
  border-radius:var(--r2);padding:11px 13px}
.fmhero b{display:block;font-size:11.5px;color:var(--brand-d);margin-bottom:3px;letter-spacing:.3px}
.fmhero span{font-size:12.5px;color:var(--ink2);line-height:1.7}
.fmcols{align-items:start}
.fmform .f{margin-bottom:9px}
.fmform h2{margin-bottom:10px}

.fmverdict{border-radius:var(--r2);padding:14px 16px;border:1px solid var(--brand-line);
  background:var(--brand-soft);margin-bottom:12px}
.fmverdict em{font-style:normal;font-size:10.5px;letter-spacing:.5px;color:var(--brand-d);
  background:#fff;border:1px solid var(--brand-line);border-radius:99px;padding:1px 8px}
.fmverdict b{display:block;font-size:15px;margin:7px 0 5px;color:var(--brand-d)}
.fmverdict p{margin:0;font-size:12.5px;line-height:1.75;color:var(--ink2)}
.fmverdict.lv-warn{background:var(--warm-soft);border-color:var(--warm-line)}
.fmverdict.lv-warn em{color:var(--warm);border-color:var(--warm-line)}
.fmverdict.lv-warn b{color:var(--warm)}
.fmverdict.lv-risk{background:#F9E8E6;border-color:#E9C6C1}
.fmverdict.lv-risk em{color:#962E22;border-color:#E0B6B0}
.fmverdict.lv-risk b{color:#962E22}

.fmkpis{grid-template-columns:repeat(3,1fr);margin-bottom:12px}
.fmkpis .kpi b{font-size:16px}
.fmchart{margin-bottom:12px}
.fmchart h2{display:flex;align-items:baseline;gap:8px}
.fmsvg{width:100%;height:auto;display:block}
.fmlegend{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font-size:11.5px;color:var(--ink3)}
.fmlegend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}

.fmtbl{margin-bottom:12px;overflow:hidden}
.fmtbl h2{margin-bottom:8px}
.fmtscroll{overflow-x:auto}
table.fmt{width:100%;border-collapse:collapse;font-size:12px}
table.fmt th{background:#F4F6FA;color:var(--ink3);font-weight:600;text-align:right;
  padding:7px 9px;white-space:nowrap;border-bottom:1px solid var(--line)}
table.fmt th:first-child{text-align:left}
table.fmt td{padding:7px 9px;border-bottom:1px solid #EEF1F6;white-space:nowrap;
  font-variant-numeric:tabular-nums}
table.fmt td:first-child{text-align:left;color:var(--ink2)}
table.fmt td.n{text-align:right}
table.fmt tr:last-child td{border-bottom:0}
table.fmt tbody tr:hover td{background:#FAFBFE}

.fmnotes{margin-bottom:12px;background:#FBFCFE}
.fmnotes b{font-size:12.5px;color:var(--ink2)}
.fmnotes ul{margin:7px 0 0;padding-left:18px}
.fmnotes li{font-size:12px;line-height:1.8;color:var(--ink2)}

.fmsteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-bottom:18px}
.fmstep{display:flex;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:11px 12px}
.fmstep em{flex:none;width:20px;height:20px;border-radius:50%;background:var(--brand);
  color:#fff;font-style:normal;font-size:11px;display:grid;place-items:center;margin-top:1px}
.fmstep span{font-size:12px;line-height:1.7;color:var(--ink2)}
.fmpits{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}
.fmpit{display:flex;gap:8px;background:var(--warm-soft);border:1px solid var(--warm-line);
  border-radius:var(--r);padding:10px 12px;color:var(--warm);align-items:flex-start}
.fmpit svg{flex:none;margin-top:2px}
.fmpit span{font-size:12px;line-height:1.7;color:#6B4A17}

@media (max-width:900px){
  .mgrid,.fmhero{grid-template-columns:1fr}
  .fmcols{grid-template-columns:1fr}
}
@media (max-width:520px){
  .fmkpis{grid-template-columns:repeat(2,1fr)}
}

/* 窄屏：grid 子项默认 min-width:auto 会被 input 撑开，必须归零 */
.fmcols>*{min-width:0}
.fmform,#fmOut{min-width:0}
.fmtscroll{max-width:100%}
.fmchart svg{max-width:100%}
