:root{
  --bg:#f5f5f7; --card:#fff; --text:#1d1d1f; --muted:#86868b;
  --line:#d2d2d7; --line-soft:#e8e8ed;
  --accent:#0071e3; --accent-soft:#e8f2ff;
  --green:#34c759; --red:#ff3b30; --amber:#ff9f0a;
  --radius:14px; --radius-sm:9px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro SC","PingFang SC","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
a{color:var(--accent);text-decoration:none}

.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--line-soft);padding:14px 28px 0}
.topbar .row1{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.topbar h1{font-size:19px;font-weight:600;margin:0;letter-spacing:.3px}
.topbar .meta{color:var(--muted);font-size:12px}
.tabs{display:flex;gap:26px;margin-top:12px;flex-wrap:wrap}
.tab{padding:8px 0 11px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;user-select:none;transition:color .15s}
.tab:hover{color:var(--text)}
.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}

main{padding:22px 28px 60px;max-width:1500px;margin:0 auto}
.panel{display:none}
.panel.active{display:block}

.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--line-soft);padding:18px 20px;margin-bottom:16px}
.card h2{font-size:15px;font-weight:600;margin:0 0 14px}
.card h3{font-size:13px;font-weight:600;margin:18px 0 8px;color:var(--muted)}

.split{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}
@media(max-width:1000px){.split{grid-template-columns:1fr}}

.field{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;align-items:center}
.field input,.field select{flex:1;min-width:120px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;outline:none}
.field input:focus,.field select:focus{border-color:var(--accent)}
.btn{padding:8px 16px;border-radius:980px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:.15s;white-space:nowrap}
.btn:hover{background:#fafafa}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:#0063cc}
.btn.small{padding:6px 13px;font-size:13px}
.btn.danger{color:#c02b21;border-color:#f3b5b0;background:#fff8f7}
.btn.danger:hover{color:#fff;background:#c02b21}

.list{max-height:calc(100vh - 300px);overflow-y:auto;margin:0 -6px}
.list.mini{max-height:250px}
.list-item{padding:9px 12px;border-radius:var(--radius-sm);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}
.list-item:hover{background:#f5f5f7}
.list-item.active{background:#c2ddff;box-shadow:inset 4px 0 0 var(--accent)}
.list-item.active .nm{color:#00488f;font-weight:700}
.list-item.active .sub{color:#245580}
.list-item .nm{font-weight:500}
.list-item .sub{font-size:12px;color:var(--muted)}
/* 第 74 轮：户主身份证号紧跟在姓名后面（名字列定宽 → 号码起点上下对齐），不再甩到行尾 */
.list-item .who{flex:1 1 auto;min-width:0}
.list-item .nm-line{display:flex;align-items:baseline;gap:10px;min-width:0}
.list-item .nm-line .nm{flex:0 0 auto;min-width:4.2em}
.list-item .idc{flex:0 1 auto;min-width:0;user-select:text;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
  font-size:13px;line-height:1.2;color:#4d5867;letter-spacing:.4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-item.active .idc{color:#0b3f78;font-weight:600}
@media (max-width:760px){.list-item .nm-line{gap:6px}.list-item .idc{font-size:11px;letter-spacing:.2px}}

.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:#f0f0f3;color:var(--muted);white-space:nowrap}
.tag.blue{background:var(--accent-soft);color:var(--accent)}
.tag.green{background:#e6f8ec;color:#1b8a3f}
.tag.amber{background:#fff4e0;color:#a96a00}
.tag.red{background:#ffeceb;color:#c02b21}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.kpi{background:#fafafa;border-radius:var(--radius);padding:14px 16px;border:1px solid var(--line-soft)}
.kpi .k{font-size:12px;color:var(--muted)}
.kpi .v{font-size:20px;font-weight:600;margin-top:3px;font-variant-numeric:tabular-nums}
.kpi .v.accent{color:var(--accent)}

.note{font-size:12px;color:var(--muted);line-height:1.7}
.empty{text-align:center;color:var(--muted);padding:50px 0;font-size:13px}

.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(20px);
  background:rgba(29,29,31,.92);color:#fff;padding:10px 20px;border-radius:999px;font-size:13px;opacity:0;transition:.25s;z-index:99;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============ 表12 表单 ============ */
.sv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sv-selected{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:2px solid var(--accent);border-radius:12px;background:#e1eeff}
.sv-selected-label{padding:4px 10px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;border-radius:7px;white-space:nowrap}
.sv-selected-person b{color:#00488f;font-size:17px}
.sv-selected-id{color:#164b80;font-weight:600;font-variant-numeric:tabular-nums}
.sv-btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.f-wrap{padding:12px 14px 16px;overflow-x:auto}
.form{background:#fff;font-size:12px}
.form .hd{display:flex;justify-content:space-between;align-items:center}
.form .title{text-align:center;font-size:18px;font-weight:700;letter-spacing:1px;margin:8px 0 12px;font-family:"Songti SC","SimSun",var(--font)}
.form .line{margin:6px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.form .line > .lb{color:#3a3a3c;white-space:nowrap}
.form .ln{display:inline-block;min-width:120px}
.form input.line-i{border:none;border-bottom:1px solid #9aa4b2;background:transparent;padding:1px 4px;min-width:120px;outline:none}
.form input.line-i:focus{border-bottom-color:var(--accent);background:var(--accent-soft)}
/* 派生只读字段（如「共同生活的家庭人口」，由成员表人数自动联动，不可手改） */
.form input.line-i[readonly],input.line-i[readonly]{border-bottom:1px dashed #b9c1cc;color:#6b7280;cursor:default;background:#f2f4f8}

table.f{border-collapse:collapse;width:100%;table-layout:fixed;min-width:1180px}
table.f td,table.f th{border:1px solid #c9c9cf;padding:3px 5px;vertical-align:middle;word-break:break-word}
table.f th{background:#f4f4f7;font-weight:600;text-align:center;font-size:11.5px;line-height:1.3}
table.f td.sec{background:#f2f2f6;font-weight:600;font-size:12.5px}
/* 第 63 轮：数据行悬停高亮 —— 10 列的密表里，勾病种时不容易跟丢行 */
table.f tbody tr:hover > td{background:#f6faff}
table.f td.c{text-align:center}
table.f td.r{text-align:right;font-variant-numeric:tabular-nums}
table.f input.cell{width:100%;border:1px solid transparent;background:#f6f8fb;border-radius:5px;padding:3px 5px;font-size:12px;outline:none}
table.f input.cell:hover{border-color:#cfd8e3}
table.f input.cell:focus{border-color:var(--accent);background:#fff}
table.f input.cell.num{text-align:right;font-variant-numeric:tabular-nums}
/* ★ 第 84 轮：收入汇总区填的金额**居中 + 加粗**（涛哥要求），合计行金额同款加粗 */
table.f input.cell.inc-f{text-align:center;font-weight:700}
table.f .tot-row td.va{text-align:center}
table.f select.cell{width:100%;border:1px solid transparent;background:#f6f8fb;border-radius:5px;padding:3px 4px;font-size:12px;outline:none}
table.f select.cell:focus{border-color:var(--accent)}
/* 义务人「劳动力代码及系数」未识别 → 红框提示：填完整身份证号即按系数表自动识别（第 52 轮） */
table.f select.cell.need{border-color:var(--red);background:#fff6f5}
/* 病种填了但判不出类别（不在字典） → 红框提示，避免静默按 A 算（第 56 轮） */
table.f input.cell.need{border-color:var(--red);background:#fff6f5}
/* 第 83 轮：没勾病种但 ≥70/75 周岁 → 格子里按正常字色显示「70周岁 / 75周岁」
   （值与打印/Word 同口径，只是不落库；灰色 placeholder 会让人以为没填） */
table.f input.m-disease[data-shown="1"]::placeholder{color:#1d1d1f;opacity:1;font-weight:400}
/* 成员行「在校」勾选（表1 第 6 档）：列窄，做成紧凑竖排（第 56 轮） */
table.f .school-cb{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;
  color:#6b7280;cursor:pointer;user-select:none;white-space:nowrap}
table.f .school-cb input{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--accent)}
table.f .school-cb:hover{color:var(--accent)}
/* 重复添加同一身份证 → 闪一下已有行（第 52 轮） */
table.f tr.dup-flash{background:#fff5cc;box-shadow:inset 0 0 0 1px var(--amber);transition:background .3s}
table.f .itot{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;display:inline-block;min-width:60px;text-align:right}
table.f .money{font-weight:700}
table.f .ops{white-space:normal;text-align:center;line-height:1.6}
table.f .ops .btn.small{padding:2px 7px;font-size:11px}
/* 第 71 轮：操作列常有 2 个按钮（⇄ 转义务人 / 删除）→ 竖排、等宽，避免被列宽截断 */
table.f .ops .btn.small{display:block;width:100%;margin:0 0 3px;box-sizing:border-box;white-space:nowrap}
table.f .ops .btn.small:last-child{margin-bottom:0}
/* 上面的 display:block 会盖掉 UA 的 [hidden]，这里补一条（「⇄ 转成员」只对已转义务人的人显示） */
table.f .ops .btn[hidden]{display:none!important}

.inc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.tot-row td.tl{font-weight:700;background:#fbfbfd}
.tot-row td.va{text-align:right;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;background:#fbfbfd}

.sum-tbl{border-collapse:collapse;width:100%;margin-top:0}
.sum-tbl td{border:1px solid #c9c9cf;padding:6px 8px;vertical-align:middle}
.sum-big{font-weight:700;font-size:13px;color:#00488f}
.sum-good{font-weight:700;color:#1b8a3f}
.sum-warn{font-weight:700;color:#c02b21}

.cb{display:inline-flex;align-items:center;gap:4px;margin-right:14px;font-size:12px;cursor:pointer;white-space:nowrap}
.cb input{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}

.sub-tbl{border-collapse:collapse;width:100%;margin-top:6px}
.sub-tbl th,.sub-tbl td{border:1px solid var(--line-soft);padding:3px 6px;font-size:11.5px;text-align:left}
.sub-tbl th{background:#f2f2f7;font-weight:500}

.audit-tbl{border-collapse:collapse;width:100%;margin-top:10px}
.audit-tbl td{border:1px solid #c9c9cf;padding:8px 10px;vertical-align:top;font-size:12px}
.audit-tbl td.atitle{width:130px;text-align:center;background:#f2f2f6;font-weight:600}
.audit-tbl .asign{text-align:right;margin-top:8px;color:#3a3a3c}
.audit-tbl textarea{width:100%;min-height:52px;border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-size:12px;resize:vertical;outline:none}
.audit-tbl textarea:focus{border-color:var(--accent)}
.audit-tbl .line-i{min-width:90px}

.grid-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.grid-edit .item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:10px 12px}
.grid-edit .item .nm{font-weight:500;margin-bottom:6px;font-size:13px}
.grid-edit .item .row{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap}
.grid-edit .item input{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:6px;outline:none}
.grid-edit .item input:focus{border-color:var(--accent)}

.table-wrap{max-height:calc(100vh - 320px);overflow:auto;border:1px solid var(--line-soft);border-radius:var(--radius-sm)}
table.d{width:100%;border-collapse:collapse;font-size:13px}
table.d th,table.d td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap}
table.d th{font-weight:500;color:var(--muted);background:#fafafa;position:sticky;top:0;z-index:1}
table.d td.num,table.d th.num{text-align:right;font-variant-numeric:tabular-nums}
table.d tbody tr:hover{background:#fafafa}
table.d tr.picked{background:#e1eeff}

/* ============ 自动带出字段 / 明细弹层 / 义务人搜索 ============ */
.auto-tag{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:999px;font-size:10.5px;
  background:var(--accent-soft);color:var(--accent);cursor:pointer;user-select:none;white-space:nowrap;vertical-align:middle}
.auto-tag:hover{background:#d3e6ff}
input.auto-ro{background:#f5f8fd;color:#0b4f9e;font-weight:600;cursor:pointer}

.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.32);display:flex;align-items:flex-start;justify-content:center;
  z-index:60;padding:60px 16px;overflow:auto}
.modal-mask[hidden]{display:none}
.modal{background:var(--card);border-radius:var(--radius);border:1px solid var(--line-soft);
  box-shadow:0 24px 70px rgba(0,0,0,.22);width:100%;max-width:720px;overflow:hidden}
.modal-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line-soft)}
.modal-hd b{font-size:15px}
.modal-bd{padding:16px 20px 22px;max-height:64vh;overflow:auto}
.modal-close{border:none;background:#f0f0f3;border-radius:999px;width:28px;height:28px;cursor:pointer;line-height:1;font-size:15px;color:var(--muted)}
.modal-close:hover{background:#e4e4e9;color:var(--text)}
.mitem{display:flex;justify-content:space-between;gap:14px;padding:7px 2px;border-bottom:1px dashed var(--line-soft);font-size:13px}
.mitem:last-child{border-bottom:none}
.mitem .l{color:var(--text)}
.mitem .r{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.mtotal{display:flex;justify-content:space-between;padding:10px 2px 2px;font-weight:700;border-top:1px solid var(--line);margin-top:6px}
.formula{background:#f5f8fd;border:1px solid #d9e6fa;border-radius:var(--radius-sm);padding:9px 12px;font-size:12.5px;color:#0b4f9e;margin:10px 0}
.formula b{color:#00488f}
.mlist{max-height:300px;overflow:auto;border:1px solid var(--line-soft);border-radius:var(--radius-sm)}
.mlist .mrow{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line-soft)}
.mlist .mrow:last-child{border-bottom:none}
.mlist .mrow:hover{background:#f5f8fd}
.mlist .mrow .sub{color:var(--muted);font-size:12px}
.sect-note{font-size:12px;color:var(--muted);margin:-6px 0 10px}
.hl{color:var(--accent)}

/* ============ 政策参数（置顶）/ 系数矩阵 / 病种字典 ============ */
.policy-card{border-color:#cfe2ff;background:linear-gradient(180deg,#f8fbff,#fff)}
.policy-card h2{color:#00488f}
table.d.matrix{font-size:12.5px;white-space:nowrap}
table.d.matrix th,table.d.matrix td{padding:5px 8px}
table.d.matrix td:first-child{white-space:normal;max-width:280px;color:#3a3a3c}
table.d.matrix input{border:1px solid var(--line);border-radius:5px;padding:3px 5px;outline:none}
table.d.matrix input:focus{border-color:var(--accent);background:#fff}
.pp-pol{font-variant-numeric:tabular-nums}

/* ============ 病种选择器（可反复选，不再被输入值过滤） ============ */
.pick{display:flex;align-items:center;gap:4px}
.pick input.cell{flex:1;min-width:0}
.p-btn{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:5px;cursor:pointer;
  padding:2px 6px;font-size:11px;line-height:1.2;color:var(--muted)}
.p-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.picker-mask{position:fixed;inset:0;z-index:69;background:transparent}
.picker-mask[hidden]{display:none}
.picker{position:fixed;z-index:70;background:#fff;border:1px solid var(--line-soft);border-radius:12px;
  box-shadow:0 18px 50px rgba(0,0,0,.2);overflow:hidden;display:flex;flex-direction:column}
.picker[hidden]{display:none}
.picker-q{width:100%;border:none;border-bottom:1px solid var(--line-soft);padding:10px 13px;font-size:13px;outline:none;background:#fbfbfd;flex:0 0 auto}
.picker-q:focus{background:#fff}
/* ★ 第 63 轮：列表**定高**（原 max-height）—— 搜索 / 勾选前后内容多少都在 320px 内滚动，
   面板不再一会儿 400px、一会儿 175px 地「上下跳」。 */
.picker-list{height:320px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.pgroup{position:sticky;top:0;background:#eef1f6;color:#5b6270;font-size:11px;font-weight:700;
  padding:5px 13px;border-bottom:1px solid #dfe4ec;z-index:1;letter-spacing:.3px}
/* 每行**定高 46px**：勾选框 + 代码 + 名称三列对齐，名称最多两行（超出省略，悬停看全名）。
   原来行高随病名长短在 31～70px 之间乱跳，一屏看下来参差不齐。 */
.pitem{display:flex;align-items:center;gap:7px;height:46px;box-sizing:border-box;padding:0 12px;
  font-size:12.5px;line-height:1.4;cursor:pointer;border-bottom:1px solid #eef1f5;background:#fff}
.pitem:hover{background:#f4f9ff}
.pitem .pcheck{flex:0 0 15px;width:15px;height:15px;box-sizing:border-box;border:1px solid #c3ccd9;
  border-radius:4px;background:#fff;color:transparent;font-size:11px;line-height:13px;text-align:center;
  font-weight:700;transition:none}
.pitem .pcode{flex:0 0 34px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;
  font-size:11.5px;white-space:nowrap;overflow:hidden}
.pitem .pcode.pdash{color:#c2c8d2;font-weight:500}
.pitem .pname{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;word-break:break-word}
/* 键盘高亮（浅描边）与「已勾选」（蓝底 + 左侧色条 + 实心勾）区分开，一眼能看出哪些勾了 */
.pitem.p-on{background:#f0f6ff;box-shadow:inset 2px 0 0 #9cc4f0}
.pitem.p-sel{background:#e8f2ff;box-shadow:inset 3px 0 0 var(--accent)}
.pitem.p-sel:hover{background:#dcecff}
.pitem.p-sel .pcheck{background:var(--accent);border-color:var(--accent);color:#fff}
.pitem.p-sel .pname{color:#0b3f7a;font-weight:600}
.pitem.p-sel .pcode{color:#0b3f7a}
.picker-empty{padding:52px 20px;text-align:center;color:var(--muted);font-size:12.5px;line-height:2}
.picker-empty span{font-size:11.5px;color:#96a0ad}
/* 第 63 轮：底栏操作区（清空 / 用搜索词 / 完成）——列表里不再插操作行，首项位置恒定 */
.picker-foot{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 10px 7px 13px;
  border-top:1px solid var(--line-soft);background:#fbfbfd}
.p-mini{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:#5b6270;border-radius:6px;
  padding:4px 9px;font-size:11.5px;line-height:1.4;cursor:pointer;white-space:nowrap}
.p-mini:hover{border-color:#b9c4d2;background:#f5f8fc}
.p-mini[disabled]{opacity:.45;cursor:default;background:#fff}
.p-mini[disabled]:hover{border-color:var(--line);background:#fff}
.p-mini.p-free{border-color:#c9dcf5;background:#f2f8ff;color:#0b4f9e}
.p-mini.p-free:hover{background:#e6f1ff;border-color:#9cc4f0}
.p-mini:not([disabled]):active{transform:translateY(1px)}
.picker-sel{flex:1;min-width:0;font-size:11.5px;color:var(--muted);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.p-done{flex:0 0 auto;border:1px solid var(--accent);background:var(--accent);color:#fff;
  border-radius:6px;padding:4px 14px;font-size:12px;cursor:pointer;line-height:1.4}
.p-done:hover{filter:brightness(.94)}

/* ============ 家庭成员：移除后恢复条 / 添加成员弹层 ============ */
.removed-bar{margin-top:10px;padding:9px 12px;border:1px dashed #f0c9c5;border-radius:var(--radius-sm);
  background:#fff8f7;font-size:12.5px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.removed-bar[hidden]{display:none}
.removed-bar .rm-label{color:#c02b21}
.rm-chip{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #f3d6d3;
  border-radius:999px;padding:2px 4px 2px 10px;color:#3a3a3c}
.linkbtn{border:none;background:transparent;color:var(--accent);cursor:pointer;font-size:12px;padding:2px 6px}
.linkbtn:hover{text-decoration:underline}
.mode-tabs{display:flex;gap:8px;margin-bottom:12px}
.m-tab{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px}
.m-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.am-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.am-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.am-grid input,.am-grid select{padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;color:var(--text)}
.am-grid input:focus,.am-grid select:focus{border-color:var(--accent)}
.mlist .mrow .tag{margin-left:4px}

/* ============ 义务人：表2 第7条 赡养费核算 ============ */
table.f.sup td.pcell,table.f.sup td.paycell{vertical-align:top}
table.f.sup .pcell input,table.f.sup .pcell select{width:100%}
table.f.sup .s-note2{font-size:10.5px;color:var(--muted);margin-top:3px;line-height:1.35;
  white-space:normal;word-break:break-all;cursor:help}
table.f.sup td.pcell > *,table.f.sup td.paycell > *{max-width:100%}
/* 第30 轮：赡养费单元格角标 —— 右上「务工人员月收入」／右下「月赡养费」
   （月收入＝最低工资2250×劳动力系数×7÷12；月赡养费＝月收入×5%） */
table.f.sup td.paycell{position:relative}
/* ★ 第 84 轮：给付赡养费金额**居中**（原来右对齐贴着格右边） */
table.f.sup td.paycell input.s-pay{text-align:center;font-weight:600}
table.f.sup .corner{position:absolute;font-size:9.5px;line-height:1.2;color:var(--muted);
  background:linear-gradient(0deg,#fff 62%,rgba(255,255,255,0));padding:0 2px;cursor:help;
  white-space:nowrap;pointer-events:auto;z-index:2}
table.f.sup .corner.tr{top:0;right:3px}
table.f.sup .corner.br{bottom:0;right:3px}
table.f.sup td.paycell .s-note2{padding-right:2px;max-height:3.2em;overflow:hidden}
table.f.sup .s-live{padding:2px 9px;font-size:11px;margin-bottom:2px}
/* 核算方式两个下拉框：①主核算 + ②累加项（⑤车辆 / 不计算） */
table.f.sup td.modecell{vertical-align:top}
table.f.sup td.modecell select{width:100%;font-size:11.5px;margin-bottom:3px}
table.f.sup td.modecell select:last-child{margin-bottom:0}
table.f.sup select.s-add{background:#eef7f0}
.sup-scope-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;
  padding:8px 12px;border:1px solid var(--line-soft);border-radius:10px;background:#f7f9fc}
.sup-scope-bar .lbl{font-weight:600;color:var(--text);font-size:13px}
.sup-scope-bar select.sup-scope{padding:4px 10px;border:1px solid var(--line);border-radius:7px;
  background:#fff;font-size:13px;color:var(--text);cursor:pointer}
.sup-scope-bar .note{color:var(--muted);font-size:12px}
.sup-scope-bar .note b{color:#b45309}
table.f.sup td.pcell .pblock{margin-bottom:6px}
table.f.sup td.pcell .pblock:last-child{margin-bottom:0}
table.f.sup td.pcell .s-note-live,table.f.sup td.pcell .s-note-car{font-size:10.5px;color:var(--muted);line-height:1.35;
  white-space:normal;word-break:break-all;margin-top:2px;cursor:help}
.modal-ft{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line-soft)}
.modal-ft:empty{display:none}
.live-box .live-row{display:flex;align-items:center;gap:10px;margin:9px 0}
.live-box .live-row label{width:150px;font-size:13px;color:var(--text);white-space:nowrap}
.live-box .live-n{width:92px;padding:6px 9px;text-align:right;font-variant-numeric:tabular-nums}
.live-box .chk{display:flex;align-items:center;gap:8px;font-size:13px;padding-bottom:8px;
  border-bottom:1px solid var(--line-soft);margin-bottom:4px}
table.f.sup .plabel{font-size:10.5px;color:var(--muted);margin-bottom:2px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
/* 多参数核算方式（如车辆：使用年限 + 车辆金额） */
table.f.sup .pcell .prow{margin-bottom:4px}
table.f.sup .pcell .prow:last-child{margin-bottom:0}
table.d.supt td,table.d.supt th{padding:3px 8px}
table.d.supt td.num{text-align:left}

/* ============ ⑧累加核算明细（弹窗）：务工+有车 / 多辆车 逐项相加 ============ */
.modal.wide{max-width:980px}
.sum-box .sect-note{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 10px}
table.f.sum-tbl{width:100%;min-width:0;border-collapse:collapse}
table.f.sum-tbl th{font-size:11.5px;color:var(--muted);font-weight:600;text-align:left;padding:6px 8px;
  border-bottom:1px solid var(--line-soft);background:#f7f7f8;white-space:nowrap}
table.f.sum-tbl td{padding:6px 8px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
table.f.sum-tbl td.am{text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}
table.f.sum-tbl select.sum-mode{width:100%;font-size:11.5px}
.sum-inline{display:inline-block;margin:0 6px 0 0}
.sum-inline input{width:132px;padding:5px 8px;text-align:right;font-variant-numeric:tabular-nums}
.sum-chk{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);white-space:nowrap}
.sum-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;flex-wrap:wrap}
.sum-total{font-size:12.5px;color:var(--muted)}
.sum-total b{color:var(--text);font-variant-numeric:tabular-nums;font-size:13.5px}
table.f.sup .s-sum,table.f.sup .s-car{padding:2px 9px;font-size:11px;margin-bottom:2px}
table.d.supt td.num input{margin-left:2px}

/* ============ 家庭成员：收入来源下拉 + 收入汇总关联 ============ */
table.f td.workcell,table.f td.inccell{vertical-align:top}
table.f td.workcell select.m-src{margin-bottom:2px;font-size:11px;background:#eef3fa}
table.f td.workcell input.m-work{font-size:11.5px}
table.f td.inccell .m-target{font-size:10px;color:var(--muted);margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.f td.inc-target-hide .m-target{display:none}

/* ============ 附表12-01 / 12-02（K / G 扣减确认单） ============ */
table.f.k12 td,table.f.g12 td{padding:3px 5px}
table.f.k12 td.ktype{text-align:left;font-size:11.5px;line-height:1.4;cursor:help}
table.f.k12 td.k-code{font-weight:600;color:var(--muted);font-size:11px}
table.f.k12 input.k-names{font-size:11.5px}
table.f.k12 input.k-amt{text-align:right}
table.f.k12 input.k-amt[readonly]{background:#eef4ff;color:#245580}
table.f.k12 tfoot td{background:var(--bg-soft);font-weight:600}
table.f.k12 td.k-autoc{text-align:center;font-size:11px}
table.f.k12 label.k-auto-l{display:inline-flex;align-items:center;gap:3px;cursor:pointer;color:var(--muted);user-select:none}
table.f.k12 label.k-auto-l input{cursor:pointer}
table.f.k12 td.kamtcell{text-align:right}
table.f.k12 td.kamtcell .k-note{text-align:right;font-size:10px;color:var(--muted);line-height:1.25;margin-top:1px;word-break:break-all}
.k-hit{display:inline-block;margin-left:4px;padding:0 6px;border-radius:8px;font-size:10px;
  background:#e6f4ea;color:#1e7a3c;border:1px solid #b7e0c4;vertical-align:middle}
/* K01–K03 互斥提示：同时符合多项时只扣比例较高的一项 */
.k-excl-hint{display:inline-block;margin-left:8px;font-weight:400;font-size:11px;color:#a15c00}
.g12-wrap{overflow-x:auto;overscroll-behavior-x:contain}
table.f.g12{min-width:1320px}
table.f.g12 th{font-size:10.5px;line-height:1.3;padding:4px 3px}
table.f.g12 input.g-f{padding:3px 4px;font-size:11px}
table.f.g12 input.g-f.num{text-align:right}
table.f.g12 td.g-total,table.f.g12 td.g-deduct{background:var(--bg-soft);font-variant-numeric:tabular-nums}
table.f.g12 td.g-years,table.f.g12 td.g-end{font-variant-numeric:tabular-nums}
table.f.g12 input.yearcell{width:100%}
/* 第 29 轮：12-02 全面改 G 代码（G01–G07 / M21）—— 列头代码标签 + 学费下拉 + 适用提示表 */
table.f.g12{min-width:1520px}
table.f.g12 th.has-code{background:#eef4fd;vertical-align:bottom}
table.f.g12 th .g-code{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.4px;
  color:#0b5cad;background:#dce9fb;border:1px solid #b9d3f2;border-radius:4px;
  padding:0 4px;margin-bottom:2px}
table.f.g12 td.g-edu-cell{white-space:nowrap}
table.f.g12 select.g-edu{font-size:10.5px;padding:2px 1px;border:1px solid var(--line);
  border-radius:4px;margin-right:3px;background:#fff;color:var(--mut)}
table.f.g12 select.g-edu:focus{outline:2px solid #cfe3fb}
.g-suggest{margin:8px 0;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);
  padding:6px 10px;font-size:12.5px}
.g-suggest>summary{cursor:pointer;color:var(--muted);font-size:12.5px;user-select:none}
.g-suggest>summary b{color:var(--ink)}
table.g-sug-tbl{width:100%;border-collapse:collapse;margin-top:6px;font-size:12px}
table.g-sug-tbl th{background:#f4f4f4;color:var(--muted);font-weight:600;text-align:left;
  padding:3px 6px;border:1px solid var(--line)}
table.g-sug-tbl td{padding:3px 6px;border:1px solid var(--line);vertical-align:top}
table.g-sug-tbl td.gc{font-weight:700;color:#0b5cad;white-space:nowrap;width:1%}
table.g-sug-tbl td.glim{white-space:nowrap;color:#8a5a00}
table.g-sug-tbl td.ghint{color:var(--muted)}

/* ==================== 核算口径（农村 / 城镇 / 牧区）· 表12 最上方 ==================== */
.scope-card{background:linear-gradient(180deg,#f2f8ff 0%,#ffffff 62%);border-color:#cfe3fb;
  box-shadow:0 1px 0 #fff inset,0 1px 2px rgba(0,113,227,.05)}
.scope-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.scope-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.scope-badge{padding:4px 12px;border-radius:999px;background:var(--accent);color:#fff;
  font-size:12.5px;font-weight:700;letter-spacing:.5px}
.scope-title .note{color:var(--muted);font-size:12px;max-width:640px}
.scope-seg{display:inline-flex;padding:4px;gap:4px;background:#e7eef8;border-radius:999px;
  border:1px solid #d3e2f5}
.scope-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:96px;padding:6px 18px;border:0;border-radius:999px;background:transparent;cursor:pointer;
  color:#3a4a5e;transition:.16s;line-height:1.2}
.scope-btn b{font-size:14.5px;font-weight:600}
.scope-btn span{font-size:10.5px;opacity:.72;margin-top:1px}
.scope-btn:hover{background:rgba(255,255,255,.75)}
.scope-btn.on{background:var(--accent);color:#fff;box-shadow:0 1px 4px rgba(0,113,227,.28)}
.scope-btn.on span{opacity:.9}
.scope-live{margin-top:14px;padding-top:12px;border-top:1px dashed #d9e6fa}
.scope-live .sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 18px}
.scope-live .sg{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  font-size:12.5px;padding:3px 0;border-bottom:1px dotted var(--line-soft)}
.scope-live .sg .k{color:var(--muted);white-space:nowrap}
.scope-live .sg .v{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:#123}
.scope-live .scope-tip{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.65}
@media(max-width:720px){.scope-btn{min-width:74px;padding:6px 12px}}

/* 参数页：核算口径编辑卡 */
.scope-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.scope-edit .se-card{border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;background:#fcfcfe}
.scope-edit .se-card.on{border-color:var(--accent);background:#f4f9ff}
.scope-edit .se-hd{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.scope-edit .se-hd b{font-size:14px}
.scope-edit .se-row{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:12px}
.scope-edit .se-row label{color:var(--muted);min-width:96px;white-space:nowrap}
.scope-edit .se-row select,.scope-edit .se-row input{flex:1;min-width:0;padding:5px 8px;
  border:1px solid var(--line);border-radius:8px;background:#fff}
.scope-edit .se-note{font-size:11.5px;color:var(--muted);line-height:1.55;margin-top:6px;
  padding-top:6px;border-top:1px dotted var(--line-soft)}
.scope-default-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:13px}

/* ---------------------------------------------------------------- 附表卡片折叠（第 24 轮）
   附表12-01 / 12-02 默认收起；成员满足条件时自动展开，也可点标题栏按钮手动开关。 */
.card.fold > .fold-body{display:none}
.card.fold.open > .fold-body{display:block}
.card.fold > h2 .fold-btn{background:#fff}
.sum-code{color:var(--muted);font-size:12.5px}

/* 数据自检（第 57 轮） */
.chk-stat{background:var(--accent-soft);border:1px solid #cfe4ff;border-radius:var(--radius-sm);
  padding:8px 12px;font-size:12px;color:#0b4f9e;margin-bottom:8px;line-height:1.6}
.chk-count{display:flex;gap:8px;font-size:12px;margin:0 0 10px 2px}
.chk-count span{padding:2px 10px;border-radius:980px;border:1px solid var(--line)}
.chk-count .chk-err{color:var(--red);border-color:rgba(255,59,48,.35);background:rgba(255,59,48,.06)}
.chk-count .chk-warn{color:#b26a00;border-color:rgba(255,159,10,.4);background:rgba(255,159,10,.08)}
.chk-count .chk-info{color:var(--muted);background:rgba(0,0,0,.03)}
.chk-list{list-style:none;margin:0;padding:0;max-height:50vh;overflow:auto}
.chk-item{display:flex;gap:10px;align-items:flex-start;padding:9px 2px;border-top:1px solid var(--line-soft)}
.chk-item:first-child{border-top:none}
.chk-lv{flex:0 0 auto;font-size:11px;padding:2px 8px;border-radius:980px;border:1px solid var(--line);margin-top:2px;white-space:nowrap}
.chk-lv.chk-err{color:var(--red);border-color:rgba(255,59,48,.35);background:rgba(255,59,48,.06)}
.chk-lv.chk-warn{color:#b26a00;border-color:rgba(255,159,10,.4);background:rgba(255,159,10,.08)}
.chk-lv.chk-info{color:var(--muted);background:rgba(0,0,0,.03)}
.chk-bd{flex:1;min-width:0}
.chk-t{font-weight:500}
.chk-hint{color:var(--accent)}
.chk-empty{padding:18px 4px;color:var(--green);font-weight:500}
.chk-go{flex:0 0 auto}

/* 第 63 轮：矮屏（笔记本 768p 等）下把列表压到 220px，保证底栏「清空 / 完成」始终可见 */
@media (max-height: 760px){
  .picker-list{height:220px}
}

/* ============================================================
   第 66 轮：审核确认表 = **原版页面图**（表12.doc 第 2 页，300dpi）+ 原位填写
   纸宽 21cm 做 query container，字段一律用 cqw 定位 → 与底图等比缩放，
   任何窗口宽度都贴在原版空位上；不再用 CSS 重排表格（旧 .audit-sheet 已删）。
   ============================================================ */
.audit-paper{position:relative;container-type:inline-size;width:21cm;max-width:100%;
  margin:0 auto;background:#fff;border:1px solid #e3e3e7;box-shadow:0 4px 18px rgba(0,0,0,.08)}
.audit-paper .audit-bg{display:block;width:100%;height:auto;pointer-events:none}
/* 填写框：纸上无边框，聚焦才显淡蓝 */
.a-f{position:absolute;margin:0;padding:0 1px;border:0;background:transparent;border-radius:2px;
  font-family:"宋体",SimSun,"Songti SC",serif;color:#000;line-height:1.05;text-align:center;outline:none}
.a-f[data-al="left"]{text-align:left}
.a-f:hover{background:rgba(11,79,158,.05)}
.a-f:focus{background:rgba(11,79,158,.10);box-shadow:0 0 0 1px rgba(11,79,158,.55)}
/* 「（   ）」里的 √ */
.a-pick{position:absolute;display:flex;align-items:center;justify-content:center;line-height:1;
  font-family:"宋体",SimSun,serif;color:#000;cursor:pointer;border-radius:2px}
.a-pick:hover{background:rgba(255,196,0,.22)}
/* 低收入人员类型：选中项在原件文字上圈一笔，不遮字、不加字 */
.a-type{position:absolute;display:block;cursor:pointer;border:1.5px solid transparent;border-radius:6px}
.a-type:hover{border-color:rgba(11,79,158,.30);background:rgba(11,79,158,.05)}
.a-type.on{border-color:#111}
.audit-hint{max-width:21cm;margin:10px auto 0;color:var(--muted);font-size:12px;text-align:center;line-height:1.6}
@media (max-width:820px){.audit-paper{width:100%}.audit-hint{font-size:11px;padding:0 12px}}

/* 第 75 轮：财产 / 签字卡是「标签＋窄输入框」的密集排布，别让 .field 的 flex:1 把框拉满整行 */
#propCard .field>input,#propCard .field>select,
#signCard .field>input,#signCard .field>select{flex:0 0 auto}
#propCard #p_other{flex:1 1 220px}
#propCard #p_near{min-width:120px}

/* ---------- 第 92 轮：补贴归类页 ---------- */
/* 三段式选择（计入 / 退耕 / 不计入）——苹果风分段控件 */
.seg{display:inline-flex;border:1px solid var(--line);border-radius:980px;overflow:hidden;background:#fff}
.seg-i{display:inline-flex;align-items:center;gap:0;padding:4px 12px;font-size:12.5px;color:var(--muted);
  cursor:pointer;user-select:none;border-right:1px solid var(--line-soft);transition:.15s;white-space:nowrap}
.seg-i:last-child{border-right:0}
.seg-i input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.seg-i:hover{background:#f5f5f7;color:var(--text)}
.seg-i.on{background:var(--accent);color:#fff;font-weight:500}
.seg-i.on:hover{background:var(--accent);color:#fff}
.seg-i.seg-warn.on{background:var(--green)}
.seg-i.seg-warn.on:hover{background:var(--green)}
/* 「疑似应排除」的小标 */
.sc-hint{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:980px;font-size:11px;
  color:#8a5a00;background:#fff4d6;border:1px solid #ffe2a8;vertical-align:1px;cursor:help}
#scTable td:first-child{white-space:normal;min-width:260px}
#scTable td .seg{margin:0}
@media (max-width:820px){
  .seg-i{padding:4px 8px;font-size:12px}
  #scTable td:first-child{min-width:180px}
}

/* ---------- 第 95 轮：账号区 / 已保存数据页 ---------- */
.topbar .who{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.topbar .who b{color:var(--text);font-weight:600}
.topbar .who .btn{padding:4px 12px;font-size:12.5px}

/* 各村进度卡 */
.vprog{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.vrow{display:grid;grid-template-columns:1fr 34px;grid-template-areas:"name rate" "bar bar" "last last";
  gap:5px 8px;align-items:center;padding:11px 13px;border:1px solid var(--line-soft);
  border-radius:var(--radius-sm);background:#fafafa;cursor:pointer;transition:.15s}
.vrow:hover{background:#f2f2f5}
.vrow.on{border-color:var(--accent);background:var(--accent-soft)}
.vrow .vname{grid-area:name;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vrow .vname .sub{margin-left:6px;font-weight:400}
.vrow .vrate{grid-area:rate;text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--muted)}
.vrow .vlast{grid-area:last;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 细进度条（KPI 与村卡共用） */
.vbar{grid-area:bar;height:5px;border-radius:999px;background:#e6e6eb;overflow:hidden}
.vbar i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .25s}
.kpi .vbar{margin-top:8px}

.pager{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}
.pager .sub{color:var(--muted);font-size:12.5px}
.pager .btn[disabled]{opacity:.45;cursor:default}

#userTable td{white-space:nowrap}
#userTable .btn{padding:3px 10px;font-size:12px}

/* ---------- 第 96 轮：家庭成员「新增」勾选 / 已保存页勾选导出 ---------- */
.new-cb{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}
.new-cb input{width:15px;height:15px;cursor:pointer;margin:0;accent-color:var(--accent)}
.new-cb input:disabled{cursor:default;opacity:.8}
table.f th:first-child{white-space:nowrap}
#savedTable th:first-child,#savedTable td:first-child{text-align:center}
#savedTable input[type=checkbox]{width:15px;height:15px;cursor:pointer;margin:0;accent-color:var(--accent)}
#savedTable tr.picked{background:var(--accent-soft)}

/* ---------- 第 97 轮：测算过程弹窗 ---------- */
.d tr.muted-row td{color:var(--muted);background:#fafafa}
.d tr.muted-row .tag{font-size:10.5px;padding:0 6px}

/* ================= 第 98 轮：在享徽标 / 花名册 / 停保管理 ================= */
.inpay{display:inline-block;padding:1px 6px;margin-left:4px;border-radius:999px;
  font-size:10.5px;line-height:1.5;background:#e6f8ec;color:#1b8a3f;border:1px solid #bfe8cc;
  vertical-align:1px;white-space:nowrap}
.roster-line{margin:2px 0 10px;padding:7px 11px;background:#f5faf7;border:1px solid #d9eee1;
  border-radius:var(--radius-sm);color:#3a5c48;font-size:12.5px}

.stop-input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);
  background:#fff;outline:none;resize:vertical;line-height:1.75;font-size:13.5px}
.stop-input:focus{border-color:var(--accent)}
.stop-ex{display:flex;flex-direction:column;gap:6px;margin:8px 0 12px}
.stop-ex code{display:block;padding:7px 11px;background:#f7f7f9;border:1px dashed var(--line);
  border-radius:var(--radius-sm);color:#4a4a4f;font-size:12.5px;font-family:var(--font);
  word-break:break-all}
.stop-item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:10px 12px;
  margin-bottom:10px;background:#fcfcfd}
.stop-head{display:flex;gap:9px;align-items:flex-start}
.stop-tag{flex:0 0 auto;padding:1px 8px;border-radius:999px;font-size:11px;white-space:nowrap}
.stop-tag.ok{background:#e6f8ec;color:#1b8a3f}
.stop-tag.warn{background:#fff4e0;color:#a96a00}
.stop-tag.bad{background:#ffeceb;color:#c02b21}
.stop-raw{color:var(--muted);font-size:12.5px;word-break:break-all;line-height:1.65}
.stop-pick{margin-top:9px;font-size:12.5px}
.stop-pick th{padding:6px 7px;font-size:11.5px}
.stop-pick td{padding:5px 7px}
.stop-pick .sp-note{width:100%;min-width:250px;max-width:300px;padding:4px 7px;border:1px solid var(--line);
  border-radius:6px;font-size:12px;background:#fff;font-family:inherit;line-height:1.45;resize:vertical}
.stop-pick .sp-note:focus{outline:none;border-color:var(--accent)}
.sp-note-edit{width:100%;min-width:190px;padding:4px 7px;border:1px solid transparent;border-radius:6px;
  font-size:12px;background:transparent;color:var(--muted);
  font-family:inherit;line-height:1.45;resize:vertical;max-width:320px;white-space:pre-wrap}
.sp-note-edit:hover{border-color:var(--line);background:#fff}
.sp-note-edit:focus{outline:none;border-color:var(--accent);background:#fff;color:var(--text)}

/* 停保：范围 / 原因 / 整户预览（第 120 轮） */
.sp-rcell{display:flex;flex-direction:column;gap:3px;min-width:96px}
#stopTable td,#stopTable th{padding:5px 6px;font-size:12px}
#stopTable .sp-rcell select.sp-reason{font-size:11.5px;padding:2px 4px}
#stopTable .sp-note-edit{min-width:280px}
.sp-rcell select.sp-reason,.sp-scope{width:100%;padding:3px 5px;border:1px solid var(--line);
  border-radius:6px;font-size:12px;background:#fff;color:var(--text)}
.sp-rcell select.sp-reason:focus,.sp-scope:focus{outline:none;border-color:var(--accent)}
.sp-custom{width:100%;padding:3px 6px;border:1px solid var(--line);border-radius:6px;
  font-size:11.5px;background:#fff;color:var(--text)}
.sp-custom:focus{outline:none;border-color:var(--accent)}
.sp-hhrow>td{background:#f6f9ff;border-bottom:1px solid var(--line-soft);padding:6px 10px}
.sp-hhbox{font-size:12px;color:#3d5a80;line-height:1.7}
.ck-extra.ck-tip{color:#a3641a}

/* ---------- 停保「退出核对」弹窗（防停错） ---------- */
.ck-note{padding:9px 12px;border-radius:var(--radius-sm);font-size:12.5px;line-height:1.7;margin-bottom:12px}
.ck-note.ck-warn{background:#fff4e0;border:1px solid #ffd899;color:#8a5600}
.ck-note.ck-safe{background:#eefaf1;border:1px solid #c9ecd3;color:#1b6b39}
.ck-item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:11px 13px;margin-bottom:11px;background:#fff}
.ck-item.has-dup{border-color:#ffc9c5;background:#fffafa}
.ck-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.ck-no{width:20px;height:20px;border-radius:50%;background:#f0f0f3;color:var(--muted);
  font-size:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ck-name{font-size:15px}
.ck-meta{color:var(--muted);font-size:12px}
.ck-raw{color:var(--muted);font-size:12px;margin:-2px 0 8px;word-break:break-all}
.ck-grid{border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}
.ck-row{display:flex;align-items:center;gap:10px;padding:7px 11px;border-bottom:1px solid var(--line-soft);font-size:13px}
.ck-row:last-child{border-bottom:none}
.ck-key{background:#f8fbff}
.ck-k{flex:0 0 84px;color:var(--muted);font-size:12px}
.ck-v{flex:1;min-width:0}
.ck-id{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.4px;font-size:13.5px}
.ck-flag{flex:0 0 auto;color:#c98a00;font-size:11.5px}
.ck-extra{margin-top:7px;color:var(--muted);font-size:12px}
.ck-same{margin-top:9px;padding:8px 11px;background:#fff6f6;border:1px dashed #ffc9c5;border-radius:8px}
.ck-same-t{font-size:12.5px;color:#a33227;margin-bottom:4px}
.ck-same-row{font-size:12px;color:#5a5a60;line-height:1.75}
.ck-one{margin-top:9px}
.ck-one.done{background:#e6f8ec;border-color:#bfe8cc;color:#1b8a3f;opacity:1}

/* ================= 第 129 轮：重点填写列突出显示（涛哥指定） ================= */
/* 底色＝浅琥珀；表头加深 + 底部描边，一眼看出「这几列必须填」。
   指定列：家庭成员「新增 / 在校 / 工作地址及从事职业 / 重病慢病名称或残疾类别等级」、
   义务人「核算方式 / 有无车辆」。 */
table.f th.hl-col{background:#f8e3ab;color:#6b3f00;border-bottom:2px solid #dcbe7c}
table.f tbody tr > td.hl-col{background:#fff4d3}
table.f tbody tr:hover > td.hl-col{background:#fbecc2}

/* 关键操作按钮（⇅ 换户主 / ⇄ 转成员）：暖色描边，与普通「删除」区分开 */
table.f .ops .btn.key{background:#fff6e0;border-color:#e6c069;color:#8a5200;font-weight:600}
table.f .ops .btn.key:hover{background:#ffedc7;border-color:#d9ac3f}

/* 加粗显示：家庭成员「收入（元）」、义务人「给付赡（扶或抚）养费(元)」——表头与金额一起加粗 */
table.f th.hl-strong{font-weight:700;font-size:12px;color:#1d1d1f;letter-spacing:.2px}
table.f td.inccell input.m-income{font-weight:700}
table.f.sup td.paycell input.s-pay{font-weight:700}
/* 给付赡养费输入框落在单元格垂直中间（原来贴顶，涛哥要求下移居中） */
table.f.sup td.paycell{vertical-align:middle}

/* ================= 第 131 轮：停保管理重点列高亮 + 村/姓名/身份证加粗 ================= */
/* 停保候选表与预退出名单都是 table.d 体系，和表12 的 table.f 分开写一套。
   高亮列：停保范围 / 停保原因 / 备注（可改）。 */
table.d th.hl-col{background:#f8e3ab;color:#6b3f00;border-bottom:2px solid #dcbe7c}
table.d tbody td.hl-col{background:#fff4d3}
table.d tbody tr:hover > td.hl-col{background:#fbecc2}
/* 村名 / 姓名 / 身份证号 加粗（核对这三项用） */
table.d td.sp-strong{font-weight:700}
table.d td.sp-strong input{font-weight:700}
