:root{
  --primary:#2563eb; --primary-dark:#1d4ed8; --primary-light:#dbeafe;
  --success:#10b981; --warning:#f59e0b; --danger:#ef4444; --purple:#7c3aed;
  --gray-50:#f8fafc; --gray-100:#f1f5f9; --gray-200:#e2e8f0; --gray-300:#cbd5e1;
  --gray-500:#64748b; --gray-700:#334155; --gray-900:#0f172a;
  --radius:12px; --radius-sm:8px;
  --shadow:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --shadow-lg:0 18px 48px rgba(15,23,42,.14),0 4px 12px rgba(15,23,42,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--gray-900);background:linear-gradient(180deg,#f6f9ff 0,#f8fafc 32%,#f3f6fb 100%);font-size:13px}
button,.file-btn{font-family:inherit;cursor:pointer;border:none;background:#eaf1ff;color:var(--primary-dark);padding:7px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;transition:.15s;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
button:hover,.file-btn:hover{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.16);transform:translateY(-1px)}
button.primary,.btn-main{background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff;padding:9px 18px;font-size:13px}
button.ghost{background:var(--gray-100);color:var(--gray-700)}
button.danger{background:#fee2e2;color:#991b1b}.file-btn input{display:none}
input,select,textarea{font-family:inherit;font-size:13px}

.topbar{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:auto minmax(360px,1fr) auto;align-items:center;gap:18px;padding:10px 24px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.logo{display:flex;align-items:center;gap:12px;min-width:280px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff;border-radius:11px;display:grid;place-items:center;font-size:21px;font-weight:900;box-shadow:0 8px 20px rgba(37,99,235,.18)}
.logo h1{font-size:18px;line-height:1.1;font-weight:800;letter-spacing:-.02em}.logo small{display:block;color:var(--gray-500);font-size:11px;margin-top:2px}.tabs{display:flex;align-items:center;justify-content:center;gap:8px}.tab-btn{min-width:128px;padding:8px 22px;border-radius:999px;background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);font-size:14px;font-weight:800;box-shadow:none}.tab-btn:hover{background:var(--primary-light);color:var(--primary-dark);transform:translateY(-1px)}.tab-btn.active{background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff;border-color:transparent;box-shadow:0 10px 26px rgba(37,99,235,.24)}
.data-status{font-size:11px;color:#166534;padding:6px 12px;background:#dcfce7;border-radius:999px;font-weight:700;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.tab-panel{display:none;animation:fadeIn .18s ease}.tab-panel.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.layout,.batch-main,.report-main{max-width:1380px;margin:0 auto;padding:16px 24px 20px}.layout{display:grid;grid-template-columns:minmax(640px,1.06fr) minmax(420px,.94fr);gap:16px}.batch-main,.report-main{display:block}.panel{background:rgba(255,255,255,.94);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h2{font-size:18px;font-weight:800;letter-spacing:-.02em;margin-top:2px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-size:10px;font-weight:900}.muted,.list-head p{color:var(--gray-500);font-size:12px;line-height:1.45;margin-top:3px}.hint{font-size:12px;color:var(--gray-500);padding:8px 10px;background:var(--gray-100);border-radius:var(--radius-sm);margin:6px 0 10px}
.single-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;margin-bottom:8px}.field-label{display:block;color:var(--gray-700);font-size:12px;font-weight:800;margin-bottom:5px}.field-label span{font-weight:500;color:var(--gray-500)}.text-input,.code-input,.batch-code-input{width:100%;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:#fff;padding:8px 10px;color:var(--gray-900);font-size:13px;outline:none;transition:.15s}.text-input:focus,.code-input:focus,.batch-code-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.case-input{height:34px}.quick-card{min-width:0}.quick-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.quick-mode{display:flex;gap:6px;background:var(--gray-100);border-radius:999px;padding:4px 7px}.quick-mode label{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--gray-700);font-weight:700;cursor:pointer}.quick-mode input{accent-color:var(--primary)}

.list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:14px 0 7px}.list-head h3{font-size:15px;font-weight:800}.button-row,.case-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.code-list{display:flex;flex-direction:column;gap:5px}.compact-code-list{max-width:850px}.code-row{display:grid;grid-template-columns:18px 16px minmax(0,1fr) 24px;gap:5px;align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:6px 7px;transition:.15s}.code-row:hover{border-color:#bfdbfe;box-shadow:0 4px 12px rgba(37,99,235,.08)}.code-row.dragging{opacity:.5;transform:scale(.995);background:#fff7ed}.handle{cursor:grab;color:#cbd5e1;font-weight:900;line-height:26px;text-align:center;font-size:12px;user-select:none}.handle:hover{color:#64748b}.code-row input[type="checkbox"]{align-self:center;accent-color:var(--primary)}.row-main{display:grid;grid-template-columns:minmax(150px,260px) minmax(0,1fr);gap:3px 7px;align-items:center;min-width:0}.row-main .search-wrap{grid-row:1/3}.code-input,.batch-code-input{height:30px;padding:6px 8px;font-size:12px}.row-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-height:17px}.row-help{font-size:10.5px;color:var(--gray-500);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.delete-one{width:24px;height:24px;padding:0;border-radius:8px;background:var(--gray-100);color:var(--gray-500);font-size:15px}.delete-one:hover{background:#fee2e2;color:#991b1b;box-shadow:none}.actions-bar{display:flex;gap:10px;justify-content:center;align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:10px;margin-top:12px}.sticky-actions{position:sticky;bottom:0;background:linear-gradient(to top,rgba(255,255,255,.98),rgba(255,255,255,.80));z-index:20}

.tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800;line-height:1.35;background:#eef2ff;color:#3730a3;border:1px solid transparent}.tag.med{background:#dbeafe;color:#1e40af}.tag.nat{background:#ecfeff;color:#0e7490}.tag.gray{background:#e5e7eb;color:#4b5563}.tag.mapped{background:#f3e8ff;color:#6b21a8}.tag.mcc{background:#fee2e2;color:#991b1b}.tag.cc{background:#fef3c7;color:#92400e}.tag.main{background:linear-gradient(135deg,var(--primary),var(--purple));color:#fff}.tag.warn{background:#fff7ed;color:#c2410c}.status-pill{border-radius:999px;padding:6px 10px;background:var(--gray-100);color:var(--gray-500);font-size:12px;font-weight:800}.status-pill.ok{background:#dcfce7;color:#166534}.status-pill.warn{background:#fef3c7;color:#92400e}

.search-wrap{position:relative;min-width:0}.suggest-menu{position:absolute;z-index:80;left:0;top:calc(100% + 5px);width:min(760px,92vw);max-height:420px;overflow:auto;background:#fff;border:1px solid #bfdbfe;border-radius:12px;box-shadow:var(--shadow-lg);padding:5px;display:none}.suggest-menu.show{display:grid;gap:4px}.suggest-option{display:grid;grid-template-columns:minmax(150px,.38fr) minmax(220px,1fr) auto;gap:7px;align-items:center;border-radius:9px;padding:7px 8px;cursor:pointer;transition:.1s}.suggest-option:hover{background:var(--primary-light);transform:translateX(2px)}.suggest-code{font-weight:900;color:var(--primary-dark);font-size:12px;word-break:break-all}.suggest-name{font-size:12px;color:var(--gray-700);white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}.suggest-tags{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.suggest-empty{padding:9px 10px;color:var(--gray-500);font-size:12px;text-align:center}.quick-search-wrap .suggest-menu{width:min(720px,84vw)}

.result-view.empty{min-height:280px;display:grid;place-items:center;color:var(--gray-500);border:1px dashed var(--gray-300);border-radius:12px;background:#fbfdff}.result-card{display:grid;gap:12px}.rs-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:18px;padding:20px;border-radius:14px;color:#fff;box-shadow:0 14px 34px rgba(37,99,235,.18)}.rs-hero.rs-ok{background:linear-gradient(135deg,#2563eb 0%,#1e40af 100%)}.rs-hero.rs-qy{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%)}.rs-label{font-size:12px;opacity:.86;margin-bottom:5px;letter-spacing:2px}.rs-drg{font-size:38px;font-weight:950;line-height:1;letter-spacing:1px}.rs-drg-name{font-size:15px;opacity:.96;margin-top:7px;line-height:1.35}.rs-right{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.rs-kv{display:flex;flex-direction:column;gap:2px;padding:4px 0}.rs-kv span{font-size:11px;opacity:.78;letter-spacing:1px}.rs-kv b{font-size:14px;font-weight:800}.rs-weight{font-size:20px!important;color:#fde047}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-box,.rs-panel{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:10px}.detail-box span{display:block;color:var(--gray-500);font-size:10px;margin-bottom:4px}.detail-box strong{font-size:13px;line-height:1.4}.timeline{display:grid;gap:6px}.step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:start}.step i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e0f2fe;color:#0369a1;font-weight:900;font-size:10px}.step div{background:#f8fafc;border:1px solid var(--gray-200);border-radius:10px;padding:7px 9px;color:var(--gray-700);font-size:12px;line-height:1.45}.rs-panel h4{font-size:13px;color:var(--primary-dark);margin-bottom:7px}.rs-alert{padding:10px;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;color:#92400e;font-size:12px}

.batch-panel,.report-panel{max-width:1380px;margin:0 auto}.report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 10px}.metric,.kpi-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:12px;box-shadow:0 1px 3px rgba(15,23,42,.035)}.metric span,.kpi-card .label{display:block;color:var(--gray-500);font-size:11px;margin-bottom:4px}.metric strong,.kpi-card .value{display:block;font-size:21px;font-weight:900;color:var(--gray-900);font-variant-numeric:tabular-nums}.kpi-card.kpi-ok{border-left:3px solid var(--success)}.kpi-card.kpi-warn{border-left:3px solid var(--warning)}.kpi-card.kpi-hi{border-left:3px solid var(--purple)}.kpi-card.kpi-all{border-left:3px solid var(--primary)}.empty-batch,.empty-tip{color:var(--gray-500);border:1px dashed var(--gray-300);border-radius:12px;padding:24px;text-align:center;background:#fbfdff}.batch-results{display:grid;gap:8px}.batch-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 4px}.toolbar-tip{font-size:11px;color:var(--gray-500)}.batch-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.batch-card summary{list-style:none;cursor:pointer;padding:10px 12px;display:grid;grid-template-columns:minmax(115px,.8fr) 80px 92px minmax(150px,1.2fr) 76px 24px;gap:8px;align-items:center;font-size:12px}.batch-card summary::-webkit-details-marker{display:none}.batch-card summary:after{content:'展开';font-size:11px;color:var(--primary);font-weight:900;text-align:right}.batch-card[open] summary:after{content:'收起'}.batch-case,.batch-drg,.batch-weight{font-weight:900}.batch-case{color:var(--gray-900)}.batch-status{font-weight:800}.batch-status.ok{color:#166534}.batch-status.warn{color:#92400e}.batch-drg{color:var(--primary-dark)}.batch-name{color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-weight{color:#0369a1}.dirty-badge{display:inline-flex;margin-left:6px;border-radius:999px;background:#fff7ed;color:#c2410c;padding:1px 5px;font-style:normal;font-size:10px;font-weight:900}.batch-detail{border-top:1px solid var(--gray-200);background:#f8fafc;padding:10px 12px;display:grid;gap:9px}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mapping-box{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:9px}.mapping-box h4{font-size:13px;margin-bottom:6px}.mapping-list{display:grid;gap:5px}.batch-edit-row{display:grid;grid-template-columns:38px minmax(135px,220px) 24px minmax(0,1fr);gap:6px;align-items:start;border:1px solid #edf2f7;background:#fbfdff;border-radius:10px;padding:6px}.mapping-index{font-size:10px;line-height:30px;font-weight:900;color:var(--gray-500)}.batch-map-meta{min-width:0;font-size:11px;color:var(--gray-700);display:grid;gap:2px}.batch-map-meta b{font-size:11px;color:#1e3a8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-map-meta span,.batch-map-meta small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-map-meta small{color:var(--gray-500)}.mini-tags{display:flex;gap:3px;flex-wrap:wrap;margin-top:1px}.mini-delete{margin-top:3px}

#reportRoot{display:flex;flex-direction:column;gap:12px}.report-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.report-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chart-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:12px}.chart-card h3{font-size:14px;margin-bottom:3px}.chart-tip{color:#94a3b8;font-size:11px;margin-bottom:8px}.chart{display:flex;flex-direction:column;gap:5px;max-height:360px;overflow:auto;padding-right:4px}.bar-row{display:grid;grid-template-columns:150px 1fr 50px 60px;gap:8px;align-items:center;font-size:12px;padding:3px 0}.bar-row:hover{background:#f8fafc;border-radius:6px}.bar-label{color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.bar-track{height:16px;background:var(--gray-100);border-radius:4px;overflow:hidden}.bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#60a5fa);border-radius:4px}.bar-row.bar-err .bar-fill{background:linear-gradient(90deg,var(--danger),#f87171)}.bar-row.bar-warn .bar-fill{background:linear-gradient(90deg,var(--warning),#fbbf24)}.bar-row.bar-ok .bar-fill{background:linear-gradient(90deg,var(--success),#34d399)}.bar-val,.bar-extra{text-align:right;font-family:ui-monospace,Consolas,monospace;font-weight:800}.bar-extra{color:var(--gray-500);font-size:11px}.table-wrap{max-height:440px;overflow:auto;border:1px solid var(--gray-200);border-radius:10px;background:#fff}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table thead th{position:sticky;top:0;background:#f8fafc;color:var(--gray-700);font-weight:800;padding:8px;border-bottom:2px solid var(--gray-200);text-align:left}.report-table tbody td{padding:7px 8px;border-bottom:1px solid var(--gray-100);color:var(--gray-700)}.report-table tbody tr:hover{background:#f8fafc}.report-table tbody tr.row-qy{background:#fef2f2}

footer{max-width:1380px;margin:0 auto;padding:0 24px 24px;color:var(--gray-500);font-size:11px;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}::-webkit-scrollbar-track{background:transparent}

@media(max-width:1120px){.topbar{grid-template-columns:1fr;gap:10px}.logo{justify-content:center}.tabs{order:3}.data-status{justify-self:center}.layout{grid-template-columns:1fr}.mapping-grid,.report-grid-2{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.layout,.batch-main,.report-main{padding:12px 14px}.topbar{padding:10px 14px}.tabs{gap:6px;overflow-x:auto;justify-content:flex-start}.tab-btn{min-width:112px;padding:8px 14px;font-size:13px}.single-grid{grid-template-columns:1fr}.row-main{grid-template-columns:1fr}.row-main .search-wrap{grid-row:auto}.row-help{white-space:normal}.rs-hero{grid-template-columns:1fr}.rs-right,.detail-grid,.report-grid{grid-template-columns:1fr}.batch-card summary{grid-template-columns:1fr 80px 90px}.batch-name,.batch-weight{grid-column:1/-1}.batch-edit-row{grid-template-columns:36px minmax(0,1fr) 24px}.batch-map-meta{grid-column:2/4}.suggest-option{grid-template-columns:1fr}.suggest-tags{justify-content:flex-start}.quick-search-row{grid-template-columns:1fr}}
@media(max-width:560px){.logo h1{font-size:16px}.logo-icon{width:36px;height:36px}.panel{padding:12px}.code-row{grid-template-columns:16px 16px 1fr 24px}.batch-card summary{grid-template-columns:1fr}.batch-card summary:after{text-align:left}.batch-map-meta{grid-column:1/4}.bar-row{grid-template-columns:90px 1fr 40px}.bar-extra{display:none}}
.bars{display:grid;gap:6px;margin-top:6px}.bar{display:grid;grid-template-columns:100px 1fr 34px;gap:8px;align-items:center;font-size:12px}.bar b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gray-700)}.bar em{font-style:normal;text-align:right;font-weight:900;color:var(--primary-dark)}

/* ===== v5 批量结果精修与多类型报表图表 ===== */
.batch-results{gap:12px}.batch-toolbar{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #dbeafe;border-radius:14px;padding:10px 12px;box-shadow:0 3px 12px rgba(37,99,235,.06)}.batch-toolbar button{font-weight:900}.batch-card{position:relative;border:1px solid #dbeafe;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.055);background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);transition:.18s ease}.batch-card:nth-of-type(odd){border-color:#c7d2fe}.batch-card:nth-of-type(even){border-color:#bfdbfe}.batch-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.09)}.batch-card[open]{border-color:#93c5fd;box-shadow:0 16px 34px rgba(37,99,235,.12)}.batch-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#2563eb,#60a5fa);border-radius:16px 0 0 16px}.batch-card summary{padding:12px 14px 12px 18px;grid-template-columns:minmax(120px,.85fr) 90px 100px minmax(150px,1.35fr) 88px 72px;gap:10px;background:linear-gradient(135deg,#ffffff,#f8fbff)}.batch-card summary:after{content:'展开详情';display:inline-flex;justify-content:center;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#2563eb;color:#fff;font-size:12px;letter-spacing:.2px;box-shadow:0 5px 14px rgba(37,99,235,.25)}.batch-card[open] summary:after{content:'收起详情';background:#0f172a;box-shadow:0 5px 14px rgba(15,23,42,.18)}.batch-card summary:hover:after{transform:translateY(-1px);filter:brightness(1.04)}.batch-case{font-size:13px}.batch-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;background:#f1f5f9;font-size:11px}.batch-status.ok{background:#dcfce7;color:#166534}.batch-status.warn{background:#fef3c7;color:#92400e}.batch-drg{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eff6ff;color:#1e40af;padding:4px 8px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.batch-weight{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ecfeff;color:#0369a1;padding:4px 8px;font-variant-numeric:tabular-nums}.batch-detail{background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:12px 14px 14px}.case-actions{display:flex;gap:8px;flex-wrap:wrap}.case-actions button{border:1px solid #bfdbfe;background:#fff;color:#1d4ed8;border-radius:10px;padding:7px 11px;font-weight:800;box-shadow:0 1px 3px rgba(15,23,42,.04)}.case-actions button:first-child{background:#2563eb;color:#fff;border-color:#2563eb}.mapping-box,.detail-box{box-shadow:0 2px 8px rgba(15,23,42,.035)}.batch-edit-row{border-color:#e0e7ff;background:#fff}.batch-edit-row:hover{border-color:#93c5fd;background:#fbfdff}.batch-map-meta b{color:#1d4ed8}.timeline{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:8px}.step div{background:#f8fafc}

.line-wrap{width:100%;overflow:hidden}.line-svg{width:100%;height:auto;min-height:210px}.line-svg line{stroke:#cbd5e1;stroke-width:1}.line-svg polyline{stroke:#2563eb;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 8px rgba(37,99,235,.18))}.line-svg circle{fill:#fff;stroke:#2563eb;stroke-width:3}.line-svg text{fill:#64748b;font-size:12px;font-weight:700}.donut-wrap{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center}.donut-svg{width:140px;height:140px;filter:drop-shadow(0 8px 14px rgba(15,23,42,.08))}.donut-legend{display:grid;gap:7px}.donut-legend-row{display:grid;grid-template-columns:12px minmax(0,1fr) 38px 42px;gap:7px;align-items:center;font-size:12px}.donut-legend-row i{width:10px;height:10px;border-radius:50%}.donut-legend-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;color:#374151}.donut-legend-row b,.donut-legend-row em{text-align:right;font-style:normal;font-family:ui-monospace,Consolas,monospace;font-weight:900;color:#111827}.donut-legend-row em{color:#64748b}.column-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:10px;align-items:end;min-height:260px;padding:10px 4px 0}.column-item{display:grid;grid-template-rows:20px 150px 34px 20px;gap:5px;text-align:center;min-width:0}.column-val{font-weight:900;color:#1d4ed8;font-variant-numeric:tabular-nums}.column-track{height:150px;display:flex;align-items:end;justify-content:center;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #e0e7ff;border-radius:10px;padding:4px}.column-fill{display:block;width:70%;border-radius:8px 8px 5px 5px;background:linear-gradient(180deg,#60a5fa,#2563eb);box-shadow:0 4px 10px rgba(37,99,235,.18)}.column-label{font-size:11px;font-weight:800;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-item small{font-size:10px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-chart{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:end;min-height:245px;padding:8px 4px}.hist-item{display:grid;grid-template-rows:160px 20px 34px;gap:5px;text-align:center}.hist-bar{height:160px;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:12px;display:flex;align-items:end;padding:5px}.hist-bar span{display:block;width:100%;border-radius:8px 8px 5px 5px;background:linear-gradient(180deg,#34d399,#10b981);box-shadow:0 4px 10px rgba(16,185,129,.18)}.hist-item strong{font-size:13px;color:#065f46}.hist-item em{font-style:normal;font-size:11px;color:#475569;font-weight:800}.chart-card{box-shadow:0 5px 16px rgba(15,23,42,.045);background:linear-gradient(180deg,#fff,#fbfdff)}.chart-card.line-card{border-color:#bfdbfe}.chart-card.pie-card{border-color:#ddd6fe}.chart-card.hist-card{border-color:#bbf7d0}.chart-card.column-card{border-color:#c7d2fe}

@media(max-width:820px){.batch-card summary{grid-template-columns:1fr 90px 84px}.batch-card summary:after{grid-column:1/-1;justify-self:start}.donut-wrap{grid-template-columns:1fr}.donut-svg{justify-self:center}.column-chart{grid-template-columns:repeat(3,1fr)}.hist-chart{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.batch-card summary{grid-template-columns:1fr}.batch-card summary:after{justify-self:stretch}.column-chart,.hist-chart{grid-template-columns:repeat(2,1fr)}.donut-legend-row{grid-template-columns:12px minmax(0,1fr) 32px 36px}}

/* ===== v6 标准病历信息输入 ===== */
.standard-case-card{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dbeafe;border-radius:18px;padding:14px 16px;margin:4px 0 12px;box-shadow:0 10px 30px rgba(37,99,235,.055)}
.case-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.case-section-head h3{font-size:16px;font-weight:900;letter-spacing:-.02em}.case-section-head p{font-size:11px;color:#64748b;margin-top:3px}.std-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#eff6ff;color:#1d4ed8;font-weight:900;font-size:11px;border:1px solid #bfdbfe;white-space:nowrap}
.standard-case-grid{display:grid;grid-template-columns:repeat(4,minmax(132px,1fr));gap:10px 12px}.std-field{display:grid;gap:5px;min-width:0}.std-field>span{font-size:12px;color:#0f172a;font-weight:900}.required-field>span:before{content:'* ';color:#ef4444}.std-input,.unit-box{height:36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.035)}.std-input{width:100%;padding:7px 10px;outline:none;color:#0f172a}.std-input:focus,.unit-box:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.unit-box{display:grid;grid-template-columns:minmax(0,1fr) 52px;overflow:hidden}.unit-box input{width:100%;border:0;outline:none;padding:0 10px;text-align:center;font-size:14px;background:#fff;color:#0f172a}.unit-box input::placeholder{color:#94a3b8}.unit-box em{display:grid;place-items:center;font-style:normal;background:#eef4ff;color:#0f172a;font-weight:500;border-left:1px solid #e2e8f0}
.discharge-block{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px dashed #dbeafe}.discharge-block strong{font-size:13px;color:#0f172a}.radio-pills{display:flex;gap:10px;flex-wrap:wrap}.radio-pills label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#1e293b;font-weight:500}.radio-pills input{accent-color:#2563eb}.radio-pills span{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;border:1px solid transparent}.radio-pills label:hover span{background:#eff6ff;border-color:#bfdbfe}.quick-card-wide{margin-bottom:10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;box-shadow:0 5px 16px rgba(15,23,42,.04)}
#clearBtn,#groupBtn{min-width:190px;border-radius:999px;font-size:15px;padding:12px 22px}#clearBtn{background:#fff;border:1.5px solid #2563eb;color:#2563eb}#groupBtn{background:#246bfe}
.case-info-panel{background:linear-gradient(135deg,#ffffff,#f8fbff);border-color:#dbeafe}.case-info-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.case-info-mini-grid div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;min-width:0}.case-info-mini-grid span{display:block;color:#64748b;font-size:10px;margin-bottom:3px}.case-info-mini-grid b{display:block;color:#0f172a;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1120px){.standard-case-grid{grid-template-columns:repeat(3,minmax(132px,1fr))}.case-info-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.standard-case-grid{grid-template-columns:repeat(2,minmax(128px,1fr))}.discharge-block{grid-template-columns:1fr}.case-info-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#clearBtn,#groupBtn{min-width:0;flex:1}.actions-bar{flex-wrap:wrap}}
@media(max-width:560px){.standard-case-grid,.case-info-mini-grid{grid-template-columns:1fr}.radio-pills{display:grid;grid-template-columns:1fr 1fr}.unit-box{grid-template-columns:minmax(0,1fr) 48px}}


/* ===== v7 targeted refinements ===== */
#clearBatchBtn{border:1px solid #dbeafe;color:#1d4ed8;background:#fff;font-weight:900}
#clearBatchBtn:hover{background:#eff6ff}
.batch-toolbar button[data-action="clear-batch"]{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.batch-toolbar button[data-action="clear-batch"]:hover{background:#ffedd5}
.batch-card summary{grid-template-columns:minmax(120px,.85fr) 90px 100px minmax(150px,1.35fr) 94px 90px}
.batch-card summary:after{font-size:13px;min-height:34px;padding:0 16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 20px rgba(37,99,235,.32)}
.batch-card[open] summary:after{background:linear-gradient(135deg,#0f172a,#334155)}
.batch-weight{font-size:12px;background:#ecfeff;border:1px solid #bae6fd}
.chart [data-tip]{cursor:crosshair}
.chart-tooltip{position:fixed;z-index:2000;max-width:280px;padding:8px 10px;border-radius:10px;background:rgba(15,23,42,.94);color:#fff;font-size:12px;font-weight:800;line-height:1.45;box-shadow:0 12px 30px rgba(15,23,42,.28);pointer-events:none;white-space:normal}
.chart-tooltip[hidden]{display:none}
.line-svg circle[data-tip]{cursor:crosshair;transition:.12s ease}
.line-svg circle[data-tip]:hover{r:7;fill:#dbeafe}
.donut-svg circle[data-tip]{cursor:crosshair;transition:.12s ease}
.donut-svg circle[data-tip]:hover{stroke-width:26}
.column-item[data-tip],.hist-item[data-tip],.bar-row[data-tip],.donut-legend-row[data-tip]{cursor:crosshair}
.column-item[data-tip]:hover .column-track,.hist-item[data-tip]:hover .hist-bar{outline:2px solid #bfdbfe;outline-offset:2px}
@media(max-width:820px){.batch-card summary{grid-template-columns:1fr 90px 84px}.batch-card summary:after{grid-column:1/-1;justify-self:stretch}}


/* v9 CSV 拖拽上传 */
.csv-drop-zone{display:flex;align-items:center;gap:14px;margin:10px 0 12px;padding:16px 18px;border:2px dashed #bfdbfe;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#ffffff);color:#1e3a8a;cursor:pointer;transition:.18s ease;box-shadow:0 8px 22px rgba(37,99,235,.06)}
.csv-drop-zone:hover,.csv-drop-zone.drag-over{border-color:#2563eb;background:linear-gradient(135deg,#dbeafe,#f8fbff);transform:translateY(-1px);box-shadow:0 14px 30px rgba(37,99,235,.12)}
.csv-drop-zone .drop-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;font-size:24px;font-weight:900;box-shadow:0 8px 18px rgba(37,99,235,.25)}
.csv-drop-zone strong{display:block;font-size:15px;margin-bottom:3px}.csv-drop-zone span{display:block;font-size:12px;color:#64748b}


/* ===== v10 科室字段、批量按钮与图表精修 ===== */
.batch-upload-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #dbeafe;border-radius:18px;padding:9px 10px;box-shadow:0 10px 26px rgba(37,99,235,.10)}
.batch-upload-actions .batch-action-main,.batch-upload-actions .file-btn,.batch-upload-actions #clearBatchBtn{min-width:168px;justify-content:center;text-align:center;border-radius:999px;padding:10px 18px;font-weight:950;font-size:13px;letter-spacing:.2px;box-shadow:0 8px 18px rgba(37,99,235,.16);transition:.16s ease}
.batch-upload-actions .batch-action-main{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;border:1px solid #2563eb}
.batch-upload-actions .upload-action{background:linear-gradient(135deg,#0f766e,#14b8a6);border-color:#0f766e;color:#fff}
.batch-upload-actions #clearBatchBtn{background:linear-gradient(135deg,#fff7ed,#ffffff);color:#c2410c;border:1px solid #fed7aa;box-shadow:0 8px 18px rgba(249,115,22,.12)}
.batch-upload-actions .batch-action-main:hover,.batch-upload-actions .file-btn:hover,.batch-upload-actions #clearBatchBtn:hover{transform:translateY(-1px);filter:brightness(1.03)}
.mapping-box{display:flex;flex-direction:column;gap:6px}.mapping-list{flex:1}.mapping-add-row{margin-top:4px;padding-top:8px;border-top:1px dashed #dbeafe;display:flex;justify-content:center}.mapping-add-btn{min-width:160px;border-radius:999px;border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#ffffff);color:#1d4ed8;font-weight:950;padding:8px 14px;box-shadow:0 6px 14px rgba(37,99,235,.10)}.mapping-add-btn:hover{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff}.mapping-add-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.empty-code-help{text-align:center;padding:12px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}
.kpi-card.kpi-dept{border-left:3px solid #06b6d4;background:linear-gradient(135deg,#ecfeff,#fff)}.chart-card.dept-card{border-color:#bae6fd}
.line-svg .grid-line{stroke:#e2e8f0;stroke-width:1;stroke-dasharray:4 5}.line-svg .axis-line{stroke:#94a3b8;stroke-width:1.15}.line-svg .line-area{fill:url(#lineAreaGrad)}.line-svg .line-main{stroke:#2563eb;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.line-svg .line-stem{stroke:#60a5fa;stroke-width:1.2;stroke-opacity:.22}.line-svg .line-stem:hover{stroke-opacity:.52;stroke-width:2}.line-svg circle{fill:#fff;stroke:#2563eb;stroke-width:3.2;filter:drop-shadow(0 3px 8px rgba(37,99,235,.22))}.line-svg circle:hover{fill:#dbeafe}.line-svg polyline:not(.line-main){display:none}
@media(max-width:900px){.batch-upload-actions{justify-content:stretch;flex-wrap:wrap}.batch-upload-actions .batch-action-main,.batch-upload-actions .file-btn,.batch-upload-actions #clearBatchBtn{flex:1 1 180px;min-width:0}}

/* ===== v11 严重程度明细旧样式 ===== */
.tag.neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.severity-panel{border-color:#dbeafe;background:linear-gradient(180deg,#ffffff,#f8fbff)}.severity-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.severity-title h4{margin:0}.severity-title span{display:inline-flex;align-items:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:4px 10px;font-size:11px;font-weight:900}.severity-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.severity-col{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}.severity-col h5{margin:0;padding:8px 10px;font-size:12px;font-weight:950}.severity-col ul{display:grid;gap:0;max-height:220px;overflow:auto}.severity-col li{display:grid;grid-template-columns:auto 52px 106px minmax(0,1fr);gap:6px;align-items:center;padding:8px 10px;border-top:1px solid #f1f5f9;font-size:12px}.severity-col li code{font-family:ui-monospace,Consolas,monospace;color:#0f172a;font-weight:900;white-space:nowrap}.severity-col li span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#475569}.severity-col li.sev-empty{display:block;color:#94a3b8;text-align:center;background:#f8fafc;font-style:normal}.mcc-col h5{background:#fef2f2;color:#991b1b}.cc-col h5{background:#fffbeb;color:#92400e}.none-col h5{background:#f8fafc;color:#475569}.severity-note{margin:9px 0 0;color:#64748b;font-size:11px;line-height:1.45}.mcc-cc-inline{border-color:#dbeafe;background:#fff}@media(max-width:980px){.severity-grid{grid-template-columns:1fr}.severity-col li{grid-template-columns:auto 52px minmax(86px,106px) minmax(0,1fr)}}
.tag.excluded{background:#f3f4f6;color:#6b7280;border-color:#d1d5db;text-decoration:line-through;text-decoration-thickness:1px}.severity-grid-4{grid-template-columns:1fr 1fr 1fr 1fr}.excluded-col h5{background:#f3f4f6;color:#4b5563}.severity-col li em{font-style:normal;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:1px 6px;white-space:nowrap}.severity-grid-4 .severity-col li{grid-template-columns:auto 52px 106px minmax(0,1fr)}@media(max-width:1180px){.severity-grid-4{grid-template-columns:1fr 1fr}}@media(max-width:760px){.severity-grid-4{grid-template-columns:1fr}}


/* ===== v13 紧凑批量结果 + 可编辑病历信息 + MCC/CC 全宽显示 ===== */
.report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.report-actions .danger{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.report-actions .danger:hover{background:#ea580c;color:#fff;border-color:#ea580c}
.quick-mode{padding:5px;background:#eaf1ff;border:1px solid #bfdbfe;box-shadow:inset 0 1px 3px rgba(37,99,235,.08)}.quick-mode label{position:relative;font-size:13px;font-weight:950;color:#1e3a8a}.quick-mode label span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:999px;padding:6px 12px;border:1px solid transparent;transition:.15s ease}.quick-mode label:first-child span:before{content:'🩺';margin-right:4px}.quick-mode label:last-child span:before{content:'⚙';margin-right:4px}.quick-mode input{position:absolute;opacity:0;pointer-events:none}.quick-mode label:has(input:checked) span{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;border-color:#2563eb;box-shadow:0 8px 18px rgba(37,99,235,.24)}
.batch-detail{gap:8px;padding:10px 12px 12px}.batch-info-edit-panel{padding:8px 10px;border-radius:12px}.batch-info-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.batch-info-head h4{margin:0;font-size:12px}.batch-info-head h4 small{color:#64748b;font-weight:700}.batch-info-head span{font-size:10px;color:#64748b}.batch-info-edit-grid{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:6px}.batch-info-edit-grid label{display:grid;gap:3px;min-width:0}.batch-info-edit-grid label>span{font-size:10px;color:#64748b;font-weight:850}.batch-info-control{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.batch-info-control.has-unit{grid-template-columns:minmax(0,1fr) 32px}.batch-info-input{width:100%;min-width:0;height:28px;border:1px solid #dbeafe;border-radius:8px;background:#fff;padding:4px 7px;color:#0f172a;font-size:12px;outline:none}.batch-info-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #dbeafe}.batch-info-control em{height:28px;display:grid;place-items:center;background:#eff6ff;border:1px solid #dbeafe;border-left:none;border-radius:0 8px 8px 0;color:#1e40af;font-style:normal;font-size:10px;font-weight:900}.batch-info-control.has-unit .batch-info-input{border-radius:8px 0 0 8px}.batch-info-edit-grid select.batch-info-input{padding-right:4px}
.batch-grouping-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.batch-grouping-mini div{min-width:0;background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:7px 8px;box-shadow:0 1px 4px rgba(37,99,235,.04)}.batch-grouping-mini span{display:block;color:#64748b;font-size:10px;margin-bottom:2px}.batch-grouping-mini b{display:block;color:#1d4ed8;font-size:12px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-grouping-mini em{display:block;color:#334155;font-style:normal;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.mapping-grid.editable{gap:7px}.mapping-box{padding:8px}.mapping-box h4{font-size:12px;margin-bottom:5px}.mapping-list{gap:4px}.batch-edit-row.compact-mapping-row{grid-template-columns:42px minmax(0,1fr) 24px;gap:6px;padding:5px 6px;align-items:start}.batch-code-stack{min-width:0;display:grid;gap:4px}.batch-code-stack .search-wrap{min-width:0}.batch-code-stack .batch-code-input{height:28px}.batch-edit-row .mapping-index{line-height:28px;font-size:10px}.batch-edit-row .mini-delete{margin-top:2px}.batch-map-meta{border-radius:8px;background:#f8fafc;border:1px dashed #e2e8f0;padding:4px 6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:6px;row-gap:2px}.batch-map-meta b{font-size:10.5px;white-space:normal;word-break:break-all;line-height:1.25}.batch-map-meta span{font-size:10.5px;white-space:normal;line-height:1.25;grid-column:1/-1}.batch-map-meta small{font-size:10px;white-space:normal;line-height:1.25;grid-column:1/-1}.batch-map-meta .mini-tags{justify-content:flex-end;margin-top:0}.mapping-add-row{padding-top:6px}.mapping-add-btn{padding:7px 12px;min-width:128px}
.severity-panel{padding:10px}.severity-title{margin-bottom:8px}.severity-grid-4{grid-template-columns:1fr!important;gap:8px}.severity-col ul{max-height:180px}.severity-col li,.severity-grid-4 .severity-col li{grid-template-columns:56px 58px minmax(150px,auto) minmax(0,1fr) auto;gap:8px;padding:7px 9px;align-items:start}.severity-col li code{white-space:normal;word-break:break-all;line-height:1.35}.severity-col li span:last-child{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}.severity-col li b{white-space:nowrap}.severity-col li em{white-space:normal;line-height:1.3}.severity-note{font-size:10.5px}.tag.mcc,.tag.cc,.tag.neutral,.tag.excluded{min-width:46px;justify-content:center}
.line-wrap{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dbeafe;border-radius:14px;padding:6px;box-shadow:inset 0 -28px 50px rgba(37,99,235,.05)}.line-svg .line-area{fill:url(#lineAreaGrad);filter:drop-shadow(0 24px 18px rgba(37,99,235,.20))}.line-svg .line-main{stroke-width:4.5;filter:drop-shadow(0 10px 12px rgba(37,99,235,.32))}.line-svg text{font-size:11px;font-weight:900;fill:#1e40af}
@media(max-width:1180px){.batch-info-edit-grid{grid-template-columns:repeat(4,minmax(96px,1fr))}.batch-grouping-mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.report-actions{justify-content:flex-start}.batch-info-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-grouping-mini{grid-template-columns:1fr}.batch-edit-row.compact-mapping-row{grid-template-columns:38px minmax(0,1fr) 24px}.severity-col li,.severity-grid-4 .severity-col li{grid-template-columns:50px minmax(0,1fr);gap:5px}.severity-col li code,.severity-col li span:last-child,.severity-col li em{grid-column:2/-1}.severity-col li b{grid-column:1/2}}
@media(max-width:560px){.batch-info-edit-grid{grid-template-columns:1fr}.quick-mode{width:100%;justify-content:space-between}.quick-mode label{flex:1}.quick-mode label span{width:100%}}
.batch-edit-row.compact-mapping-row .batch-map-meta{grid-column:auto!important}

/* ========== v14 精修：报表按钮、MCC/CC 三栏、编码行紧凑化 ========== */
.report-actions{gap:12px!important;align-items:center!important}
.report-actions button{min-height:42px;padding:0 18px!important;border-radius:999px!important;font-size:14px!important;font-weight:950!important;letter-spacing:.2px;box-shadow:0 8px 20px rgba(37,99,235,.14)!important;transition:.16s ease!important}
.report-actions #refreshReportBtn{background:linear-gradient(135deg,#2563eb,#60a5fa)!important;color:#fff!important;border:1px solid #2563eb!important}
.report-actions #clearReportBtn{background:linear-gradient(135deg,#f97316,#ef4444)!important;color:#fff!important;border:1px solid #fb7185!important;box-shadow:0 8px 20px rgba(239,68,68,.16)!important}
.report-actions button:hover{transform:translateY(-1px);filter:brightness(1.04)}

/* 单份列表：缩短输入框，释放右侧编码信息空间 */
.compact-code-list{max-width:none!important;width:100%}
.code-row{grid-template-columns:18px 16px minmax(0,1fr) 24px!important;padding:6px 7px!important}
.row-main{grid-template-columns:minmax(130px,285px) minmax(240px,1fr)!important;gap:3px 8px!important;align-items:start!important}
.row-main .search-wrap{grid-row:1 / span 2!important}
.row-meta{align-items:flex-start!important;min-height:16px!important}
.row-help{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.32!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.code-input{height:30px!important}
@media(max-width:1080px){.row-main{grid-template-columns:minmax(120px,230px) minmax(190px,1fr)!important}}
@media(max-width:760px){.row-main{grid-template-columns:1fr!important}.row-main .search-wrap{grid-row:auto!important}.row-help{-webkit-line-clamp:unset}}

/* 批量结果编码行：输入框下方 + 右方展示映射信息，减少纵向面积 */
.mapping-grid.editable{grid-template-columns:1fr 1fr!important;gap:8px!important;align-items:start!important}
.mapping-box{padding:8px!important;border-radius:12px!important}
.mapping-box h4{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px!important}
.batch-edit-row.compact-mapping-row{grid-template-columns:50px minmax(0,1fr) 24px!important;gap:6px!important;padding:5px 6px!important;align-items:start!important;border-radius:10px!important}
.batch-edit-row .mapping-index{line-height:28px!important;font-size:11px!important;color:#1e3a8a!important;white-space:nowrap!important}
.batch-code-stack{display:grid!important;grid-template-rows:auto auto!important;gap:3px!important;min-width:0!important}
.batch-code-line{display:grid;grid-template-columns:minmax(150px,260px) minmax(110px,1fr);gap:6px;align-items:start;min-width:0}
.batch-code-line .search-wrap{min-width:0!important}
.batch-code-line .batch-code-input{height:28px!important;padding:5px 8px!important;font-size:12px!important}
.batch-map-side{display:flex!important;gap:3px!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-content:flex-start!important;min-height:28px;padding:2px 0!important;overflow:hidden}
.batch-map-meta{display:grid!important;grid-template-columns:minmax(120px,.75fr) minmax(120px,1fr)!important;gap:2px 8px!important;border-radius:8px!important;background:#f8fafc!important;border:1px dashed #e2e8f0!important;padding:4px 6px!important;min-width:0!important}
.batch-map-meta b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;line-height:1.3!important;font-size:11px!important;color:#1d4ed8!important}
.batch-map-meta span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;grid-column:auto!important;line-height:1.3!important;font-size:11px!important;color:#334155!important}
.batch-map-meta small{grid-column:1 / -1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10.5px!important;color:#64748b!important;line-height:1.25!important}
.batch-edit-row .mini-delete{margin-top:2px!important}
@media(max-width:1180px){.mapping-grid.editable{grid-template-columns:1fr!important}.batch-code-line{grid-template-columns:minmax(140px,260px) minmax(120px,1fr)}}
@media(max-width:720px){.batch-edit-row.compact-mapping-row{grid-template-columns:44px minmax(0,1fr) 24px!important}.batch-code-line{grid-template-columns:1fr!important}.batch-map-meta{grid-template-columns:1fr!important}.batch-map-meta span,.batch-map-meta small{grid-column:1/-1!important;white-space:normal!important}.batch-map-side{min-height:auto}.batch-map-meta b{white-space:normal!important;word-break:break-all!important}}

/* 严重程度明细旧样式：三栏并排，移除未触发框，编码完整显示 */
.severity-grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.severity-grid-3 .severity-col li{grid-template-columns:50px 56px minmax(118px,auto) minmax(0,1fr) auto!important;gap:7px!important;align-items:start!important;padding:7px 9px!important}
.severity-grid-3 .severity-col li code{white-space:normal!important;word-break:break-all!important;line-height:1.35!important;min-width:0!important}
.severity-grid-3 .severity-col li span:last-child{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35!important}
.severity-grid-3 .severity-col li em{white-space:normal!important;line-height:1.25!important}
.severity-grid-3 .severity-col ul{max-height:190px!important}
.severity-col.none-col{display:none!important}
@media(max-width:1180px){.severity-grid-3{grid-template-columns:1fr!important}.severity-grid-3 .severity-col li{grid-template-columns:50px 56px minmax(150px,auto) minmax(0,1fr) auto!important}}
@media(max-width:640px){.severity-grid-3 .severity-col li{grid-template-columns:50px minmax(0,1fr)!important}.severity-grid-3 .severity-col li code,.severity-grid-3 .severity-col li span:last-child,.severity-grid-3 .severity-col li em{grid-column:2/-1!important}}

/* ========== v15 精修：Favicon 配套与编码编辑行再压缩 ========== */
.logo-icon{position:relative;overflow:hidden;background:linear-gradient(135deg,#2563eb 0%,#3b82f6 55%,#7c3aed 100%)!important}
.logo-icon::after{content:"";position:absolute;left:8px;right:8px;bottom:10px;height:12px;background:linear-gradient(90deg,transparent 0 10%,#dcfce7 10% 22%,transparent 22% 32%,#fff 32% 45%,transparent 45% 55%,#dcfce7 55% 68%,transparent 68% 100%);opacity:.55;clip-path:polygon(0 58%,22% 58%,31% 0,43% 100%,55% 24%,64% 58%,100% 58%,100% 86%,62% 86%,56% 63%,44% 100%,31% 32%,25% 86%,0 86%)}
.code-row{padding:5px 7px!important;border-radius:11px!important}
.row-main{grid-template-columns:minmax(150px,230px) minmax(260px,1fr)!important;column-gap:9px!important;row-gap:2px!important;align-items:start!important}
.row-main .search-wrap{grid-row:1 / span 2!important;max-width:230px!important;width:100%!important}
.code-input{height:29px!important;min-width:0!important;padding:5px 9px!important;font-size:12.5px!important;border-radius:9px!important}
.row-meta{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;min-height:20px!important;padding-top:1px!important}
.row-help{font-size:11px!important;line-height:1.32!important;color:#475569!important;display:block!important;white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;max-height:32px!important;word-break:break-word!important}
.code-row:hover .row-help{max-height:none!important;overflow:visible!important}
.row-help::before{content:"";display:inline-block;width:5px;height:5px;border-radius:999px;background:#bfdbfe;margin-right:5px;vertical-align:1px}
.list-head{margin-bottom:6px!important}.code-list{gap:5px!important}
.mapping-grid.editable{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.mapping-box{padding:7px!important;border-radius:13px!important}.mapping-list{gap:4px!important}
.batch-edit-row.compact-mapping-row{grid-template-columns:46px minmax(0,1fr) 24px!important;padding:5px 6px!important;gap:5px!important;align-items:start!important;border-radius:10px!important;background:linear-gradient(180deg,#ffffff,#fbfdff)!important}
.batch-edit-row .mapping-index{line-height:26px!important;font-size:10.5px!important;letter-spacing:-.02em!important}
.batch-code-stack{gap:3px!important;min-width:0!important}
.batch-code-line{display:grid!important;grid-template-columns:minmax(132px,188px) minmax(0,1fr)!important;gap:6px!important;align-items:start!important;min-width:0!important}
.batch-code-line .search-wrap{max-width:188px!important;width:100%!important;min-width:0!important}
.batch-code-line .batch-code-input{height:27px!important;padding:4px 8px!important;font-size:12px!important;border-radius:8px!important}
.batch-map-side{display:flex!important;gap:3px!important;flex-wrap:wrap!important;align-items:center!important;align-content:flex-start!important;justify-content:flex-start!important;min-height:27px!important;max-height:48px!important;overflow:hidden!important;padding:1px 0 0!important}
.batch-map-meta{display:grid!important;grid-template-columns:minmax(112px,170px) minmax(0,1fr)!important;gap:1px 8px!important;padding:4px 6px!important;border-radius:8px!important;background:#f8fafc!important;border:1px dashed #dbeafe!important;min-width:0!important}
.batch-map-meta b{font-size:10.8px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#1d4ed8!important;min-width:0!important}
.batch-map-meta span{font-size:10.8px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#334155!important;min-width:0!important}
.batch-map-meta small{grid-column:1/-1!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#64748b!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta small{white-space:normal!important;overflow:visible!important}
.batch-edit-row .mini-delete{width:24px!important;height:24px!important;margin-top:1px!important}
.tag{padding:2px 6px!important;font-size:10px!important}.batch-map-side .tag{padding:1px 5px!important;font-size:9.5px!important}
.code-row .suggest-menu,.batch-edit-row .suggest-menu{width:min(760px,92vw)!important}.batch-edit-row .suggest-menu{width:min(760px,92vw)!important}
@media(max-width:1180px){.row-main{grid-template-columns:minmax(130px,210px) minmax(210px,1fr)!important}.row-main .search-wrap{max-width:210px!important}.mapping-grid.editable{grid-template-columns:1fr!important}.batch-code-line{grid-template-columns:minmax(132px,190px) minmax(0,1fr)!important}}
@media(max-width:760px){.row-main{grid-template-columns:1fr!important}.row-main .search-wrap{max-width:none!important;grid-row:auto!important}.row-help{max-height:none!important}.batch-code-line{grid-template-columns:1fr!important}.batch-code-line .search-wrap{max-width:none!important}.batch-map-meta{grid-template-columns:1fr!important}.batch-map-meta span,.batch-map-meta small{white-space:normal!important;overflow:visible!important}}

/* ========== v16 紧凑悬浮信息 + 区块纯色背景 ========== */
:root{--soft-blue:#f1f7ff;--soft-cyan:#eefcff;--soft-violet:#f7f3ff;--soft-amber:#fff8e7;--soft-green:#f0fdf6;--soft-rose:#fff1f3;--soft-slate:#f8fafc}
.editor-panel{background:var(--soft-blue)!important;border-color:#bfdbfe!important}
.result-panel{background:var(--soft-amber)!important;border-color:#fde68a!important}
.batch-panel{background:var(--soft-cyan)!important;border-color:#bae6fd!important}
.report-panel{background:var(--soft-violet)!important;border-color:#ddd6fe!important}
.standard-case-card{background:#eef6ff!important;border-color:#bfdbfe!important;box-shadow:0 8px 22px rgba(37,99,235,.08)!important}
.quick-card{background:#f6f1ff!important;border-color:#ddd6fe!important;box-shadow:0 8px 20px rgba(124,58,237,.06)!important}
.list-head{background:#ffffff!important;border:1px solid #dbeafe!important;border-radius:14px!important;padding:10px 12px!important;box-shadow:0 4px 14px rgba(37,99,235,.05)!important}
.surgery-head{border-color:#bbf7d0!important;background:#f7fffb!important}
.actions-bar{background:#eef2ff!important;border-color:#c7d2fe!important}
.batch-toolbar{background:#ecfeff!important;border-color:#a5f3fc!important}
.csv-drop-zone{background:#f7fbff!important;border-color:#93c5fd!important}
.hint{background:#f9fafb!important;border-left:4px solid #60a5fa!important}
.metric:nth-child(4n+1),.kpi-card:nth-child(4n+1){background:#eff6ff!important}
.metric:nth-child(4n+2),.kpi-card:nth-child(4n+2){background:#f0fdf4!important}
.metric:nth-child(4n+3),.kpi-card:nth-child(4n+3){background:#fffbeb!important}
.metric:nth-child(4n),.kpi-card:nth-child(4n){background:#f5f3ff!important}
.mapping-box:nth-child(odd){background:#f7fbff!important;border-color:#bfdbfe!important}
.mapping-box:nth-child(even){background:#f7fff9!important;border-color:#bbf7d0!important}
.batch-grouping-mini>div:nth-child(1){background:#eff6ff!important;border-color:#bfdbfe!important}
.batch-grouping-mini>div:nth-child(2){background:#f0fdf4!important;border-color:#bbf7d0!important}
.batch-grouping-mini>div:nth-child(3){background:#fff7ed!important;border-color:#fed7aa!important}
.batch-grouping-mini>div:nth-child(4){background:#f5f3ff!important;border-color:#ddd6fe!important}
.detail-box:nth-child(4n+1){background:#f8fbff!important}.detail-box:nth-child(4n+2){background:#f7fff9!important}.detail-box:nth-child(4n+3){background:#fffaf0!important}.detail-box:nth-child(4n){background:#faf5ff!important}
.timeline{background:#fbfdff!important;border-color:#dbeafe!important}

/* 单份入组：输入框缩短，信息右侧/下方单行省略，悬停看完整内容 */
.compact-code-list{max-width:none!important;width:100%!important}
.code-row{grid-template-columns:18px 16px minmax(0,1fr) 24px!important;padding:5px 7px!important;background:#fff!important}
.code-row:nth-child(odd){background:#fbfdff!important}.code-row:nth-child(even){background:#fffdfa!important}
.row-main{grid-template-columns:minmax(96px,132px) minmax(0,1fr)!important;gap:3px 8px!important;align-items:center!important;min-width:0!important}
.row-main .search-wrap{grid-row:1/3!important;max-width:132px!important;width:100%!important;min-width:0!important}
.code-input{width:100%!important;max-width:132px!important;height:28px!important;padding:4px 8px!important;font-size:12px!important;border-radius:8px!important}
.row-meta{display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:nowrap!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;cursor:help!important}
.row-meta .tag{flex:0 0 auto!important;padding:2px 6px!important;font-size:10px!important}
.row-help{font-size:10.5px!important;line-height:15px!important;min-height:15px!important;max-height:15px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;cursor:help!important;color:#475569!important}
.code-row:hover .row-help{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-height:15px!important}
.code-row .suggest-menu{width:min(760px,92vw)!important}

/* 批量入组：输入框同样短宽，标签右侧显示，完整映射用 title 悬停查看 */
.mapping-grid.editable{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.batch-edit-row.compact-mapping-row{grid-template-columns:42px minmax(0,1fr) 24px!important;gap:5px!important;padding:5px 6px!important;border-radius:10px!important;background:#fff!important}
.batch-edit-row.compact-mapping-row:nth-child(odd){background:#fbfdff!important}.batch-edit-row.compact-mapping-row:nth-child(even){background:#fffdfa!important}
.batch-code-stack{display:grid!important;grid-template-rows:auto auto!important;gap:3px!important;min-width:0!important}
.batch-code-line{display:grid!important;grid-template-columns:minmax(96px,126px) minmax(0,1fr)!important;gap:5px!important;align-items:center!important;min-width:0!important}
.batch-code-line .search-wrap{max-width:126px!important;width:100%!important;min-width:0!important}
.batch-code-line .batch-code-input{width:100%!important;max-width:126px!important;height:27px!important;padding:4px 8px!important;font-size:12px!important;border-radius:8px!important}
.batch-map-side{display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:nowrap!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-height:22px!important;cursor:help!important}
.batch-map-side .tag{flex:0 0 auto!important;padding:2px 6px!important;font-size:10px!important}
.batch-map-meta{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:1px 5px!important;border-radius:8px!important;background:#f8fafc!important;border:1px dashed #dbeafe!important;padding:4px 6px!important;max-height:48px!important;overflow:hidden!important;cursor:help!important}
.batch-map-meta b,.batch-map-meta span,.batch-map-meta small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:14px!important;word-break:normal!important}
.batch-map-meta b{font-size:10.5px!important;color:#1d4ed8!important}.batch-map-meta span{font-size:10.5px!important;color:#334155!important;grid-column:1/-1!important}.batch-map-meta small{font-size:10px!important;color:#64748b!important;grid-column:1/-1!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta small,.batch-edit-row.compact-mapping-row:hover .batch-map-meta span,.batch-edit-row.compact-mapping-row:hover .batch-map-meta b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.batch-edit-row .suggest-menu{width:min(460px,72vw)!important}

@media(max-width:1180px){.row-main{grid-template-columns:minmax(94px,124px) minmax(0,1fr)!important}.row-main .search-wrap,.code-input{max-width:124px!important}.mapping-grid.editable{grid-template-columns:1fr!important}.batch-code-line{grid-template-columns:minmax(94px,124px) minmax(0,1fr)!important}.batch-code-line .search-wrap,.batch-code-line .batch-code-input{max-width:124px!important}}
@media(max-width:760px){.row-main,.batch-code-line{grid-template-columns:1fr!important}.row-main .search-wrap,.code-input,.batch-code-line .search-wrap,.batch-code-line .batch-code-input{max-width:none!important}.row-help{max-height:15px!important}.batch-map-meta{max-height:48px!important}.mapping-grid.editable{grid-template-columns:1fr!important}}

/* ========== v17 交互与紧凑排版优化 ========== */
/* 单份入组整体更紧凑 */
.layout{grid-template-columns:minmax(620px,1.08fr) minmax(390px,.92fr)!important;gap:12px!important;padding-top:12px!important}
.panel{padding:13px!important}.panel-title{margin-bottom:9px!important}.standard-case-card{padding:11px 12px!important;margin-bottom:9px!important;border-radius:15px!important}.case-section-head{margin-bottom:8px!important}.case-section-head h3{font-size:15px!important}.case-section-head p{font-size:10.5px!important}.standard-case-grid{gap:7px 9px!important}.std-input,.unit-box{height:32px!important}.unit-box{grid-template-columns:minmax(0,1fr) 42px!important}.discharge-block{margin-top:9px!important;padding-top:9px!important}.quick-card-wide{padding:10px!important;margin-bottom:8px!important}.list-head{margin:9px 0 5px!important;padding:8px 11px!important}.list-head h3{font-size:14px!important}.list-head p{font-size:11px!important}.code-list{gap:5px!important}.actions-bar{padding:8px!important;margin-top:9px!important}

/* 编码输入框默认短，鼠标悬停/聚焦时自动向右展开显示完整编码 */
.code-row{position:relative!important;padding:5px 6px!important;border-radius:11px!important;overflow:visible!important}.row-main{grid-template-columns:minmax(78px,104px) minmax(0,1fr)!important;gap:2px 7px!important;align-items:center!important}.row-main .search-wrap{max-width:104px!important;width:104px!important;transition:width .18s ease,max-width .18s ease,filter .18s ease;z-index:2}.code-input{max-width:104px!important;width:104px!important;height:27px!important;transition:width .18s ease,max-width .18s ease,box-shadow .18s ease,transform .18s ease!important}.row-main .search-wrap:hover,.row-main .search-wrap:focus-within{width:min(260px,42vw)!important;max-width:min(260px,42vw)!important;z-index:45!important;filter:drop-shadow(0 8px 14px rgba(37,99,235,.13))}.row-main .search-wrap:hover .code-input,.row-main .search-wrap:focus-within .code-input{width:min(260px,42vw)!important;max-width:min(260px,42vw)!important;background:#fff!important;border-color:#2563eb!important}.row-meta{min-height:20px!important;overflow:hidden!important}.row-help{line-height:14px!important;min-height:14px!important;max-height:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.row-help::before{width:5px!important;height:5px!important;margin-right:4px!important}.code-row .suggest-menu{width:min(540px,78vw)!important;z-index:90!important}

/* 批量入组编码同样短输入框 + hover 自动增宽 */
.mapping-box{padding:7px!important}.mapping-box h4{font-size:12px!important;margin-bottom:5px!important}.mapping-list{gap:4px!important}.batch-edit-row.compact-mapping-row{position:relative!important;overflow:visible!important;grid-template-columns:40px minmax(0,1fr) 22px!important;padding:4px 5px!important;gap:4px!important}.batch-code-line{grid-template-columns:minmax(82px,106px) minmax(0,1fr)!important;gap:5px!important;align-items:center!important}.batch-code-line .search-wrap{max-width:106px!important;width:106px!important;transition:width .18s ease,max-width .18s ease,filter .18s ease;z-index:2}.batch-code-line .batch-code-input{max-width:106px!important;width:106px!important;height:26px!important;transition:width .18s ease,max-width .18s ease,box-shadow .18s ease!important}.batch-code-line .search-wrap:hover,.batch-code-line .search-wrap:focus-within{width:min(240px,38vw)!important;max-width:min(240px,38vw)!important;z-index:45!important;filter:drop-shadow(0 8px 14px rgba(37,99,235,.13))}.batch-code-line .search-wrap:hover .batch-code-input,.batch-code-line .search-wrap:focus-within .batch-code-input{width:min(240px,38vw)!important;max-width:min(240px,38vw)!important;background:#fff!important;border-color:#2563eb!important}.batch-map-side{min-height:20px!important}.batch-map-meta{max-height:34px!important;padding:3px 5px!important;grid-template-columns:minmax(0,1fr)!important}.batch-map-meta b,.batch-map-meta span,.batch-map-meta small{line-height:13px!important;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.batch-map-meta small{display:none!important}.batch-edit-row .suggest-menu{width:min(520px,76vw)!important;z-index:95!important}

/* 批量汇总：病例数/入组成功上下排列，TOP DRG 放右侧 */
#batchReport.report-grid{display:block!important;margin:6px 0 8px!important}.batch-summary-compact{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important}.batch-summary-left{display:grid!important;grid-template-rows:1fr 1fr!important;gap:7px!important}.metric.metric-tight{padding:9px 11px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border-left:4px solid #2563eb!important;background:#eff6ff!important}.metric.metric-tight.ok{border-left-color:#10b981!important;background:#f0fdf4!important}.metric.metric-tight span{margin:0!important;font-size:11px!important}.metric.metric-tight strong{font-size:22px!important}.batch-summary-right{min-width:0!important}.top-drg-panel{height:100%;background:#fff!important;border:1px solid #dbeafe!important;border-radius:12px!important;padding:9px 11px!important;box-shadow:0 4px 14px rgba(37,99,235,.06)!important}.top-drg-title{font-size:12px!important;font-weight:950!important;color:#1e3a8a!important;margin-bottom:6px!important}.top-drg-bars{gap:4px!important;margin:0!important}.top-drg-bars .bar{grid-template-columns:58px minmax(70px,1fr) minmax(120px,2fr) 32px!important;gap:7px!important;font-size:11px!important}.top-drg-bars .bar span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#64748b!important}.top-drg-empty{display:grid;place-items:center;height:100%;min-height:82px;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;font-size:12px}

/* 批量结果：DRG 组别代码和名称突出；参考权重统一命名 */
.batch-card summary{grid-template-columns:minmax(108px,.7fr) 86px minmax(260px,2.1fr) 116px 72px!important;gap:8px!important;padding:10px 13px 10px 18px!important}.batch-drg-strong{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-width:0;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #bfdbfe;border-radius:12px;padding:6px 9px;box-shadow:0 5px 14px rgba(37,99,235,.08)}.batch-drg-strong b{font-family:ui-monospace,Consolas,monospace;color:#1d4ed8;font-size:16px;font-weight:950;letter-spacing:.02em}.batch-drg-strong em{font-style:normal;color:#0f172a;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-weight{background:#ecfeff!important;border:1px solid #a5f3fc!important;color:#0369a1!important;font-size:11px!important;padding:5px 8px!important}.batch-detail{padding:10px 12px!important;gap:8px!important}.batch-grouping-mini{gap:6px!important}.batch-grouping-mini>div{padding:7px 8px!important;border-radius:10px!important}

/* 分析报表：所有标签默认显示完整，悬停到对应图元时高亮 */
.chart{max-height:none!important;overflow:visible!important}.chart [data-tip],.chart .bar-row,.chart .column-item,.chart .hist-item,.chart .donut-legend-row{transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease}.bar-row{grid-template-columns:minmax(155px,.9fr) minmax(160px,1.5fr) 46px 72px!important;align-items:center!important;padding:4px 5px!important;border-radius:8px!important}.bar-label{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important}.bar-row:hover{background:#eef6ff!important;box-shadow:0 6px 16px rgba(37,99,235,.12)!important;transform:translateY(-1px)}.bar-row:hover .bar-fill{filter:brightness(1.08);box-shadow:0 0 0 1px rgba(37,99,235,.16),0 6px 14px rgba(37,99,235,.20)}.column-item:hover,.hist-item:hover,.donut-legend-row:hover{transform:translateY(-2px);filter:brightness(1.03)}.column-item:hover .column-fill,.hist-item:hover .hist-bar span{box-shadow:0 7px 18px rgba(37,99,235,.28)!important}.column-label,.column-item small,.donut-legend-row span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.18!important}.column-chart{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))!important;gap:12px!important}.column-item{grid-template-rows:20px 150px minmax(34px,auto) minmax(20px,auto)!important}.donut-wrap{grid-template-columns:150px minmax(0,1fr)!important}.donut-legend-row{grid-template-columns:12px minmax(0,1fr) 38px 42px!important;padding:3px 5px;border-radius:8px}.donut-svg circle[data-tip]{transition:stroke-width .16s ease,filter .16s ease,opacity .16s ease}.donut-svg circle[data-tip]:hover{stroke-width:26!important;filter:drop-shadow(0 6px 12px rgba(37,99,235,.25))}.line-svg .line-dot{transition:r .16s ease,filter .16s ease}.line-svg .line-dot:hover{r:8;filter:drop-shadow(0 4px 10px rgba(37,99,235,.35))}.line-svg .line-stem{stroke:#93c5fd!important;stroke-width:1.2!important;opacity:.55;transition:stroke-width .16s ease,opacity .16s ease}.line-svg .line-stem:hover{stroke-width:3!important;opacity:1}.line-value-label{font-size:10px!important;font-weight:900!important;fill:#1d4ed8!important;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.line-summary-label{font-size:11px!important;fill:#64748b!important}.line-area{fill:url(#lineAreaGrad)!important}.line-main{stroke:#2563eb!important;stroke-width:3.5!important}.line-svg:hover .line-main{filter:drop-shadow(0 9px 16px rgba(37,99,235,.32))}

@media(max-width:1180px){.layout{grid-template-columns:1fr!important}.batch-summary-compact{grid-template-columns:1fr!important}.batch-summary-left{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}.batch-card summary{grid-template-columns:1fr 86px!important}.batch-drg-strong,.batch-weight{grid-column:1/-1}.row-main .search-wrap:hover,.row-main .search-wrap:focus-within,.row-main .search-wrap:hover .code-input,.row-main .search-wrap:focus-within .code-input{width:min(240px,70vw)!important;max-width:min(240px,70vw)!important}.batch-code-line .search-wrap:hover,.batch-code-line .search-wrap:focus-within,.batch-code-line .search-wrap:hover .batch-code-input,.batch-code-line .search-wrap:focus-within .batch-code-input{width:min(230px,70vw)!important;max-width:min(230px,70vw)!important}}
@media(max-width:760px){.row-main,.batch-code-line{grid-template-columns:1fr!important}.row-main .search-wrap,.code-input,.batch-code-line .search-wrap,.batch-code-line .batch-code-input{width:100%!important;max-width:none!important}.row-main .search-wrap:hover,.row-main .search-wrap:focus-within,.row-main .search-wrap:hover .code-input,.row-main .search-wrap:focus-within .code-input,.batch-code-line .search-wrap:hover,.batch-code-line .search-wrap:focus-within,.batch-code-line .search-wrap:hover .batch-code-input,.batch-code-line .search-wrap:focus-within .batch-code-input{width:100%!important;max-width:none!important}.batch-summary-left{grid-template-columns:1fr!important}.top-drg-bars .bar{grid-template-columns:56px minmax(0,1fr) 30px!important}.top-drg-bars .bar-track{grid-column:1/-1}.donut-wrap{grid-template-columns:1fr!important}.bar-row{grid-template-columns:1fr 1fr 40px!important}.bar-extra{display:block!important;grid-column:3/4}.batch-card summary{grid-template-columns:1fr!important}}

/* ========== v18: 整条编码区域 hover 展开 + 批量结果头部修正 ========== */
/* 取消 v17 的“输入框单独悬停增宽”，改为整条 code-row / batch-edit-row 触发 */
.code-row,
.batch-edit-row.compact-mapping-row{isolation:isolate!important;transition:width .18s ease,min-height .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease!important}
.code-row:hover,.code-row:focus-within{z-index:80!important;width:min(calc(100% + 120px),calc(100vw - 72px))!important;min-height:78px!important;border-color:#60a5fa!important;box-shadow:0 14px 32px rgba(37,99,235,.16)!important;background:#fff!important;transform:translateY(-1px)!important}
.code-row .row-main{grid-template-columns:118px minmax(0,1fr)!important;transition:grid-template-columns .18s ease!important}
.code-row .row-main .search-wrap,
.code-row .code-input{width:118px!important;max-width:118px!important;min-width:118px!important;transition:none!important;filter:none!important}
.code-row .row-main .search-wrap:hover,
.code-row .row-main .search-wrap:focus-within,
.code-row .row-main .search-wrap:hover .code-input,
.code-row .row-main .search-wrap:focus-within .code-input{width:118px!important;max-width:118px!important;min-width:118px!important;filter:none!important;transform:none!important}
.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:168px minmax(0,1fr)!important;gap:4px 10px!important}
.code-row:hover .row-main .search-wrap,
.code-row:focus-within .row-main .search-wrap,
.code-row:hover .code-input,
.code-row:focus-within .code-input{width:168px!important;max-width:168px!important;min-width:168px!important;border-color:#2563eb!important;background:#fff!important}
.code-row:hover .row-meta,.code-row:focus-within .row-meta{overflow:visible!important;white-space:normal!important;flex-wrap:wrap!important;max-height:42px!important;align-content:flex-start!important}
.code-row:hover .row-help,.code-row:focus-within .row-help{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-height:54px!important;line-height:16px!important;color:#0f172a!important;background:#f8fbff!important;border:1px dashed #bfdbfe!important;border-radius:8px!important;padding:3px 6px!important}
.code-row:hover .suggest-menu,.code-row:focus-within .suggest-menu{width:min(540px,78vw)!important}

/* 批量编码行：整条 hover/focus 展开；输入框本身不再单独膨胀 */
.batch-edit-row.compact-mapping-row:hover,
.batch-edit-row.compact-mapping-row:focus-within{z-index:75!important;width:min(calc(100% + 130px),calc(100vw - 88px))!important;min-height:92px!important;border-color:#60a5fa!important;box-shadow:0 13px 30px rgba(37,99,235,.14)!important;background:#fff!important;transform:translateY(-1px)!important}
.batch-edit-row.compact-mapping-row .batch-code-line{grid-template-columns:116px minmax(0,1fr)!important;transition:grid-template-columns .18s ease!important}
.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap,
.batch-edit-row.compact-mapping-row .batch-code-input{width:116px!important;max-width:116px!important;min-width:116px!important;transition:none!important;filter:none!important}
.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:hover,
.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:focus-within,
.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:hover .batch-code-input,
.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:focus-within .batch-code-input{width:116px!important;max-width:116px!important;min-width:116px!important;filter:none!important}
.batch-edit-row.compact-mapping-row:hover .batch-code-line,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-line{grid-template-columns:160px minmax(0,1fr)!important;gap:6px!important}
.batch-edit-row.compact-mapping-row:hover .batch-code-line .search-wrap,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-line .search-wrap,
.batch-edit-row.compact-mapping-row:hover .batch-code-input,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:160px!important;max-width:160px!important;min-width:160px!important;border-color:#2563eb!important;background:#fff!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-side,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-side{overflow:visible!important;white-space:normal!important;flex-wrap:wrap!important;max-height:42px!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta{max-height:74px!important;overflow:visible!important;background:#f8fbff!important;border-color:#bfdbfe!important;box-shadow:inset 0 0 0 1px rgba(96,165,250,.18)!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta small,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta small{display:block!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta b,
.batch-edit-row.compact-mapping-row:hover .batch-map-meta span,
.batch-edit-row.compact-mapping-row:hover .batch-map-meta small,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta b,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta span,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:15px!important}
.mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:hover,
.mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:focus-within{transform:translate(-130px,-1px)!important}

/* 批量结果头部：展开按钮不再错位/换行，DRG 色块按内容自适应 */
.batch-card summary:after{content:none!important;display:none!important}
.batch-card summary{grid-template-columns:minmax(108px,auto) auto minmax(0,1fr) auto 104px!important;gap:10px!important;align-items:center!important}
.batch-drg-strong{display:inline-grid!important;grid-template-columns:auto minmax(0,auto)!important;width:max-content!important;max-width:100%!important;justify-self:start!important;padding:6px 10px!important}
.batch-drg-strong em{max-width:min(560px,45vw)!important}
.batch-weight{justify-self:end!important;white-space:nowrap!important;border-radius:999px!important;font-weight:900!important}
.batch-toggle{justify-self:end!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:96px!important;min-height:36px!important;padding:0 14px!important;border-radius:999px!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;font-weight:950!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;box-shadow:0 8px 18px rgba(37,99,235,.28)!important}
.batch-toggle .toggle-close{display:none!important}.batch-card[open] .batch-toggle{background:linear-gradient(135deg,#0f172a,#334155)!important}.batch-card[open] .batch-toggle .toggle-open{display:none!important}.batch-card[open] .batch-toggle .toggle-close{display:inline!important}
.batch-card summary:hover .batch-toggle{transform:translateY(-1px)!important;filter:brightness(1.05)!important}

@media(max-width:1180px){
  .code-row:hover,.code-row:focus-within,.batch-edit-row.compact-mapping-row:hover,.batch-edit-row.compact-mapping-row:focus-within{width:100%!important;transform:translateY(-1px)!important}
  .mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:hover,.mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:focus-within{transform:translateY(-1px)!important}
  .batch-card summary{grid-template-columns:1fr auto!important}.batch-drg-strong,.batch-weight{grid-column:1/-1!important;justify-self:start!important}.batch-toggle{grid-column:2/3!important;grid-row:1/3!important}
}
@media(max-width:760px){
  .code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main,.batch-edit-row.compact-mapping-row .batch-code-line,.batch-edit-row.compact-mapping-row:hover .batch-code-line,.batch-edit-row.compact-mapping-row:focus-within .batch-code-line{grid-template-columns:1fr!important}
  .code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:hover .code-input,.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row:hover .batch-code-input{width:100%!important;max-width:none!important;min-width:0!important}
  .batch-toggle{min-width:88px!important;padding:0 10px!important}.batch-drg-strong em{max-width:calc(100vw - 160px)!important}
}

/* ========== v19: 拖动排序、编码区域固定输入框、批量结果移动端优化 ========== */
/* 单份：拖动时保持原始不透明度；整条区域可展开，但编码输入框固定长度 */
.code-row.dragging{opacity:1!important;transform:none!important;background:#fff!important;box-shadow:0 8px 18px rgba(37,99,235,.12)!important;border-color:#93c5fd!important}
.code-row{width:100%!important;max-width:100%!important}
.code-row:hover,.code-row:focus-within{width:100%!important;max-width:100%!important;min-height:72px!important;transform:translateY(-1px)!important}
.code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:118px minmax(0,1fr)!important;gap:3px 8px!important}
.code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:focus-within .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .code-input,.code-row .row-main .search-wrap:hover,.code-row .row-main .search-wrap:focus-within,.code-row .row-main .search-wrap:hover .code-input,.code-row .row-main .search-wrap:focus-within .code-input{width:118px!important;min-width:118px!important;max-width:118px!important;transition:none!important;filter:none!important;transform:none!important}
.code-row:hover .row-help,.code-row:focus-within .row-help{max-height:48px!important;line-height:16px!important}

/* 批量：按单份编码行的交互重新设计，支持整条拖动排序，不再向容器外扩宽 */
.mapping-grid.editable{align-items:start!important}
.batch-edit-row.compact-mapping-row{display:grid!important;grid-template-columns:18px 44px minmax(0,1fr) 22px!important;align-items:center!important;width:100%!important;max-width:100%!important;min-height:48px!important;padding:6px 7px!important;gap:5px!important;cursor:grab!important;border-radius:11px!important;background:#fff!important;overflow:visible!important}
.batch-edit-row.compact-mapping-row:hover,.batch-edit-row.compact-mapping-row:focus-within{width:100%!important;max-width:100%!important;min-height:76px!important;transform:translateY(-1px)!important;border-color:#60a5fa!important;box-shadow:0 12px 26px rgba(37,99,235,.13)!important;background:#fff!important}
.mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:hover,.mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:focus-within{transform:translateY(-1px)!important}
.batch-edit-row.compact-mapping-row.dragging{opacity:1!important;transform:none!important;background:#fff!important;border-color:#93c5fd!important;box-shadow:0 8px 18px rgba(37,99,235,.12)!important}
.batch-edit-row.compact-mapping-row.drag-over{border-color:#2563eb!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.22),0 10px 22px rgba(37,99,235,.12)!important;background:#eff6ff!important}
.batch-drag-handle{grid-column:1!important;width:18px!important;line-height:26px!important;text-align:center!important;color:#cbd5e1!important;cursor:grab!important;font-size:12px!important;font-weight:900!important;user-select:none!important}
.batch-edit-row.compact-mapping-row:hover .batch-drag-handle{color:#2563eb!important}
.batch-edit-row.compact-mapping-row:active .batch-drag-handle{cursor:grabbing!important}
.batch-edit-row.compact-mapping-row .mapping-index{grid-column:2!important;line-height:26px!important;font-size:10.5px!important;color:#1e3a8a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.batch-edit-row.compact-mapping-row .batch-code-stack{grid-column:3!important;min-width:0!important;display:grid!important;gap:3px!important}
.batch-edit-row.compact-mapping-row .mini-delete{grid-column:4!important;margin:0!important;align-self:center!important}
.batch-edit-row.compact-mapping-row .batch-code-line,.batch-edit-row.compact-mapping-row:hover .batch-code-line,.batch-edit-row.compact-mapping-row:focus-within .batch-code-line{display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;align-items:center!important;gap:6px!important}
.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row:focus-within .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input,.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:hover,.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:focus-within,.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:hover .batch-code-input,.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap:focus-within .batch-code-input{width:118px!important;min-width:118px!important;max-width:118px!important;transition:none!important;filter:none!important;transform:none!important}
.batch-edit-row.compact-mapping-row .batch-code-input{height:27px!important;font-size:12px!important}
.batch-edit-row.compact-mapping-row .batch-map-side{min-width:0!important;max-height:22px!important;overflow:hidden!important;display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:nowrap!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-side,.batch-edit-row.compact-mapping-row:focus-within .batch-map-side{max-height:44px!important;overflow:visible!important;flex-wrap:wrap!important}
.batch-edit-row.compact-mapping-row .batch-map-meta{max-height:18px!important;min-height:18px!important;padding:0!important;border:0!important;background:transparent!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;box-shadow:none!important;color:#475569!important}
.batch-edit-row.compact-mapping-row .batch-map-meta b,.batch-edit-row.compact-mapping-row .batch-map-meta span,.batch-edit-row.compact-mapping-row .batch-map-meta small{display:inline!important;font-size:10.5px!important;line-height:16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:inherit!important}
.batch-edit-row.compact-mapping-row .batch-map-meta b{font-weight:900!important;color:#1d4ed8!important;margin-right:6px!important}
.batch-edit-row.compact-mapping-row .batch-map-meta span::before{content:'｜';color:#94a3b8;margin-right:3px}.batch-edit-row.compact-mapping-row .batch-map-meta small{display:none!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta{max-height:52px!important;white-space:normal!important;line-height:16px!important;background:#f8fbff!important;border:1px dashed #bfdbfe!important;border-radius:8px!important;padding:3px 6px!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta b,.batch-edit-row.compact-mapping-row:hover .batch-map-meta span,.batch-edit-row.compact-mapping-row:hover .batch-map-meta small,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta b,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta span,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta small{display:inline!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:16px!important}

/* 手机端：保留短编码框，优先让信息分行显示，避免横向滚动 */
@media(max-width:820px){
  .single-grid,.mapping-grid.editable{grid-template-columns:1fr!important}
  .list-head{align-items:flex-start!important;gap:8px!important}.list-head .button-row{width:100%!important;justify-content:flex-start!important}
  .code-row{grid-template-columns:16px 16px minmax(0,1fr) 24px!important;padding:6px!important}.code-row:hover,.code-row:focus-within{min-height:82px!important}
  .code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:112px minmax(0,1fr)!important}
  .code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .row-main .search-wrap,.code-row:focus-within .code-input{width:112px!important;min-width:112px!important;max-width:112px!important}
  .row-meta{flex-wrap:wrap!important}.row-help{white-space:nowrap!important}.code-row:hover .row-help,.code-row:focus-within .row-help{white-space:normal!important}
  .batch-edit-row.compact-mapping-row{grid-template-columns:16px 42px minmax(0,1fr) 22px!important;min-height:50px!important}
  .batch-edit-row.compact-mapping-row:hover,.batch-edit-row.compact-mapping-row:focus-within{min-height:86px!important}
  .batch-edit-row.compact-mapping-row .batch-code-line,.batch-edit-row.compact-mapping-row:hover .batch-code-line,.batch-edit-row.compact-mapping-row:focus-within .batch-code-line{grid-template-columns:112px minmax(0,1fr)!important}
  .batch-edit-row.compact-mapping-row .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:112px!important;min-width:112px!important;max-width:112px!important}
  .batch-card summary{grid-template-columns:1fr auto!important}.batch-toggle{min-width:82px!important;min-height:32px!important;padding:0 10px!important}.batch-drg-strong{max-width:100%!important}.batch-drg-strong em{max-width:calc(100vw - 170px)!important}.batch-weight{justify-self:start!important}
}
@media(max-width:520px){
  .topbar{position:static!important}.layout,.batch-main,.report-main{padding:10px!important}.panel{padding:10px!important}
  .button-row,.case-actions,.batch-toolbar{gap:6px!important}.btn,.batch-toolbar button{padding:7px 10px!important;font-size:12px!important}
  .code-row,.batch-edit-row.compact-mapping-row{border-radius:10px!important}
  .code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:104px minmax(0,1fr)!important}
  .code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .row-main .search-wrap,.code-row:focus-within .code-input{width:104px!important;min-width:104px!important;max-width:104px!important}
  .batch-edit-row.compact-mapping-row{grid-template-columns:14px 38px minmax(0,1fr) 22px!important;gap:4px!important;padding:5px!important}
  .batch-edit-row.compact-mapping-row .batch-code-line,.batch-edit-row.compact-mapping-row:hover .batch-code-line,.batch-edit-row.compact-mapping-row:focus-within .batch-code-line{grid-template-columns:104px minmax(0,1fr)!important;gap:5px!important}
  .batch-edit-row.compact-mapping-row .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-line .search-wrap,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:104px!important;min-width:104px!important;max-width:104px!important}
  .tag{font-size:10px!important;padding:2px 5px!important}.delete-one{width:22px!important;height:22px!important}.batch-edit-row.compact-mapping-row .mapping-index{font-size:10px!important}
}

/* ========== v20 布局与交互微调 ========== */
/* 载入示例按钮更醒目 */
#loadDemoBtn.demo-boost{
  border:0!important;
  background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%)!important;
  color:#fff!important;
  font-weight:950!important;
  letter-spacing:.2px!important;
  padding:9px 15px!important;
  border-radius:999px!important;
  box-shadow:0 10px 24px rgba(37,99,235,.22)!important;
}
#loadDemoBtn.demo-boost:hover{transform:translateY(-1px)!important;filter:brightness(1.05)!important;box-shadow:0 14px 30px rgba(37,99,235,.30)!important}

.single-info-toggle-note{
  display:flex;
  align-items:center;
  gap:6px;
  margin:8px 0 6px;
  padding:7px 10px;
  border:1px solid #dbeafe;
  border-radius:12px;
  background:#eff6ff;
  color:#1e3a8a;
  font-size:11.5px;
  font-weight:700;
}
.single-info-toggle-note:before{content:'ⓘ';font-weight:950;color:#2563eb}

/* 整条编码区域悬停展开改成柔和过渡，输入框保持固定短宽 */
.code-row,
.batch-edit-row.compact-mapping-row{
  transition:min-height .34s cubic-bezier(.22,.61,.36,1),
             border-color .26s ease,
             box-shadow .30s ease,
             background-color .28s ease,
             transform .26s ease!important;
  will-change:min-height,box-shadow,transform;
}
.code-row:hover,
.code-row:focus-within,
.batch-edit-row.compact-mapping-row:hover,
.batch-edit-row.compact-mapping-row:focus-within{
  transition-duration:.38s,.28s,.34s,.28s,.28s!important;
}
.row-help,
.row-meta,
.batch-map-meta,
.batch-map-side{
  transition:max-height .34s cubic-bezier(.22,.61,.36,1),
             background-color .28s ease,
             border-color .28s ease,
             padding .28s ease,
             opacity .24s ease!important;
}
/* 彻底禁止输入框自身变宽，保留整行展开 */
.code-row .row-main .search-wrap,
.code-row .code-input,
.code-row:hover .row-main .search-wrap,
.code-row:focus-within .row-main .search-wrap,
.code-row:hover .code-input,
.code-row:focus-within .code-input,
.batch-edit-row.compact-mapping-row .batch-code-line .search-wrap,
.batch-edit-row.compact-mapping-row .batch-code-input,
.batch-edit-row.compact-mapping-row:hover .batch-code-line .search-wrap,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-line .search-wrap,
.batch-edit-row.compact-mapping-row:hover .batch-code-input,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{
  transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease!important;
}

/* 单份病历信息编辑区压缩：编码区已置顶，病历信息作为补充区域 */
.standard-case-card{
  padding:10px 12px!important;
  margin:6px 0 10px!important;
  border-radius:14px!important;
}
.case-section-head{margin-bottom:6px!important}
.case-section-head h3{font-size:14px!important}.case-section-head p{font-size:10.5px!important;line-height:1.35!important}.std-badge{padding:3px 8px!important;font-size:10px!important}
.standard-case-grid{grid-template-columns:repeat(4,minmax(110px,1fr))!important;gap:6px 8px!important}
.std-field{gap:3px!important}.std-field>span{font-size:11px!important}.std-input,.unit-box{height:30px!important;border-radius:8px!important}.std-input{padding:5px 8px!important;font-size:12px!important}.unit-box input{font-size:12px!important;padding:5px 7px!important}.unit-box em{font-size:12px!important;padding:0 7px!important}.discharge-block{margin-top:7px!important;padding-top:7px!important;gap:8px!important}.radio-pills{gap:6px!important}.radio-pills label span{padding:5px 8px!important;font-size:12px!important}

/* 单份入组结果中的标准病历信息更紧凑 */
.result-view .case-info-panel,
.rs-panel.case-info-panel{
  padding:9px 10px!important;
  margin-top:10px!important;
  border-radius:12px!important;
}
.result-view .case-info-panel h4,
.rs-panel.case-info-panel h4{font-size:13px!important;margin-bottom:6px!important}
.case-info-mini-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important}
.case-info-mini-grid div{padding:5px 7px!important;border-radius:8px!important;min-height:38px!important;background:#fbfdff!important}
.case-info-mini-grid span{font-size:9.5px!important;margin-bottom:1px!important}.case-info-mini-grid b{font-size:11px!important;line-height:1.2!important}

/* 手机端：病历信息不再单列拉长，采用两列紧凑排布；编码区域优先显示 */
@media(max-width:900px){
  .standard-case-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .case-info-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .panel-title{align-items:center!important;gap:8px!important}
  #loadDemoBtn.demo-boost{padding:8px 12px!important;font-size:12px!important}
  .single-info-toggle-note{font-size:10.5px!important;padding:6px 8px!important;margin:6px 0!important}
  .standard-case-card{padding:9px!important;margin:6px 0 8px!important}
  .case-section-head{align-items:center!important}.case-section-head p,.std-badge{display:none!important}
  .standard-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .std-field>span{font-size:10.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .std-input,.unit-box{height:29px!important}.unit-box{grid-template-columns:minmax(0,1fr) 34px!important}.unit-box em{font-size:11px!important;padding:0 5px!important}
  .discharge-block{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;margin-top:6px!important;padding-top:6px!important}.discharge-block strong{font-size:11px!important}.radio-pills{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.radio-pills label span{padding:4px 5px!important;font-size:11px!important;justify-content:center!important}
  .case-info-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}.case-info-mini-grid div{padding:4px 5px!important;min-height:32px!important}.case-info-mini-grid span{font-size:9px!important}.case-info-mini-grid b{font-size:10.5px!important}
}
@media(max-width:420px){
  .standard-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .radio-pills{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .case-info-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ===== v22: mobile feedback and batch regroup progress ===== */
.status-pill.busy{background:#e0f2fe;color:#075985;border-color:#7dd3fc;box-shadow:0 0 0 3px rgba(14,165,233,.12)}
button.is-busy{position:relative;pointer-events:none;opacity:.92;filter:saturate(1.1)}
button.is-busy::after{content:"";width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;margin-left:8px;vertical-align:-2px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.app-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,18px) scale(.98);z-index:3000;opacity:0;pointer-events:none;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:800;box-shadow:0 16px 45px rgba(15,23,42,.18);transition:opacity .22s ease,transform .22s ease;border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(8px)}
.app-toast.show{opacity:1;transform:translate(-50%,0) scale(1)}
.app-toast.ok{background:#dcfce7;color:#166534}.app-toast.warn{background:#fef3c7;color:#92400e}.app-toast.err{background:#fee2e2;color:#991b1b}
.batch-results{position:relative}.batch-recomputing{min-height:140px}.batch-busy-overlay{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(248,250,252,.82);backdrop-filter:blur(4px);border-radius:18px;color:#0f172a;text-align:center}.batch-busy-overlay .spinner{width:36px;height:36px;border:4px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.batch-busy-overlay .batch-progress-track{width:min(320px,72vw);height:9px;border-radius:999px;background:#dbeafe;overflow:hidden;box-shadow:inset 0 1px 2px rgba(37,99,235,.16)}.batch-busy-overlay .batch-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#06b6d4);transition:width .18s ease}.batch-busy-overlay em{font-style:normal;font-size:12px;font-weight:800;color:#1d4ed8}.batch-busy-overlay strong{font-size:16px;color:#1d4ed8}.batch-busy-overlay span{font-size:12px;color:#64748b}.batch-toolbar button[data-action="regroup-all"]{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:0;box-shadow:0 10px 24px rgba(37,99,235,.18);font-weight:900}.batch-toolbar button[data-action="regroup-all"]:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(37,99,235,.24)}
@media(max-width:900px){
  .actions-bar.sticky-actions{position:sticky;bottom:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 -12px 30px rgba(15,23,42,.08)}
  #resultView{scroll-margin-top:82px}.app-toast{width:calc(100vw - 32px);max-width:420px;text-align:center;bottom:18px}.batch-busy-overlay{position:fixed;inset:auto 16px 20px 16px;min-height:118px;border:1px solid #bfdbfe}.batch-toolbar button[data-action="regroup-all"]{width:100%;justify-content:center}
}

/* ========== v27: 编码行右侧摘要、自适应横向展开、批量卡片粘性头部 ========== */
.logo small{display:none!important}
.code-row,.batch-edit-row.compact-mapping-row{position:relative!important;overflow:visible!important;contain:layout style!important}
.code-row{min-height:46px!important;max-width:100%!important;z-index:1!important}
.code-row:hover,.code-row:focus-within{z-index:180!important;width:max-content!important;min-width:100%!important;max-width:min(calc(100vw - 72px),1120px)!important;min-height:46px!important;height:auto!important;transform:translateY(-1px)!important;background:#fff!important}
.code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{display:grid!important;grid-template-columns:118px auto minmax(160px,1fr)!important;grid-template-areas:"input tags help"!important;gap:5px 8px!important;align-items:center!important;min-width:0!important}
.code-row .row-main .search-wrap{grid-area:input!important;width:118px!important;min-width:118px!important;max-width:118px!important}
.code-row .code-input,.code-row:hover .code-input,.code-row:focus-within .code-input{width:118px!important;min-width:118px!important;max-width:118px!important;height:30px!important;transition:border-color .2s ease,box-shadow .2s ease!important}
.code-row .row-meta{grid-area:tags!important;min-width:max-content!important;max-height:24px!important;overflow:hidden!important;flex-wrap:nowrap!important;white-space:nowrap!important;align-items:center!important}
.code-row .row-help{grid-area:help!important;display:block!important;max-height:22px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#334155!important;font-size:11px!important;line-height:18px!important;min-width:120px!important}
.code-row:hover .row-meta,.code-row:focus-within .row-meta{max-height:24px!important;overflow:visible!important;flex-wrap:nowrap!important}
.code-row:hover .row-help,.code-row:focus-within .row-help{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-height:22px!important;line-height:18px!important;color:#0f172a!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.code-row:hover .suggest-menu,.code-row:focus-within .suggest-menu{width:min(540px,82vw)!important}

.batch-edit-row.compact-mapping-row{display:grid!important;grid-template-columns:18px 46px 118px auto minmax(160px,1fr) 22px!important;grid-template-areas:"handle idx input tags meta del"!important;align-items:center!important;gap:5px 7px!important;min-height:46px!important;width:100%!important;max-width:100%!important;padding:6px 7px!important;background:#fff!important;z-index:1!important}
.batch-edit-row.compact-mapping-row:hover,.batch-edit-row.compact-mapping-row:focus-within{z-index:170!important;width:max-content!important;min-width:100%!important;max-width:min(calc(100vw - 72px),1180px)!important;min-height:46px!important;height:auto!important;transform:translateY(-1px)!important;background:#fff!important;border-color:#60a5fa!important;box-shadow:0 12px 26px rgba(37,99,235,.13)!important}
.mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:hover,.mapping-box:nth-child(2) .batch-edit-row.compact-mapping-row:focus-within{transform:translateY(-1px)!important}
.batch-edit-row.compact-mapping-row .batch-drag-handle{grid-area:handle!important;align-self:center!important}
.batch-edit-row.compact-mapping-row .mapping-index{grid-area:idx!important;line-height:28px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#1e3a8a!important;font-size:10.5px!important;font-weight:950!important}
.batch-edit-row.compact-mapping-row>.search-wrap{grid-area:input!important;width:118px!important;min-width:118px!important;max-width:118px!important}
.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:118px!important;min-width:118px!important;max-width:118px!important;height:29px!important;font-size:12px!important;transition:border-color .2s ease,box-shadow .2s ease!important}
.batch-edit-row.compact-mapping-row .batch-map-side{grid-area:tags!important;display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:nowrap!important;white-space:nowrap!important;max-height:24px!important;overflow:hidden!important;min-width:max-content!important;margin:0!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-side,.batch-edit-row.compact-mapping-row:focus-within .batch-map-side{overflow:visible!important;flex-wrap:nowrap!important;max-height:24px!important}
.batch-edit-row.compact-mapping-row .batch-map-meta{grid-area:meta!important;display:block!important;min-width:160px!important;max-width:none!important;max-height:22px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:none!important;color:#334155!important;font-size:11px!important;line-height:18px!important}
.batch-edit-row.compact-mapping-row .batch-map-meta b,.batch-edit-row.compact-mapping-row .batch-map-meta span,.batch-edit-row.compact-mapping-row .batch-map-meta small{display:inline!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:18px!important;color:inherit!important;font-size:11px!important}
.batch-edit-row.compact-mapping-row .batch-map-meta b{font-weight:950!important;color:#1d4ed8!important;margin-right:6px!important}.batch-edit-row.compact-mapping-row .batch-map-meta span::before{content:'｜';color:#94a3b8;margin-right:3px}.batch-edit-row.compact-mapping-row .batch-map-meta small{display:none!important;color:#64748b!important;margin-left:6px!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-height:22px!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.batch-edit-row.compact-mapping-row:hover .batch-map-meta small,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta small{display:inline!important}
.batch-edit-row.compact-mapping-row .mini-delete{grid-area:del!important;margin:0!important;align-self:center!important}
.batch-edit-row.compact-mapping-row.dragging{opacity:1!important;transform:none!important;background:#fff!important;border-color:#93c5fd!important;box-shadow:0 8px 18px rgba(37,99,235,.12)!important}
.batch-edit-row.compact-mapping-row.drag-over{border-color:#2563eb!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.24),0 8px 20px rgba(37,99,235,.12)!important;background:#eff6ff!important}

.batch-card{overflow:visible!important;scroll-margin-top:92px!important}.batch-card[open]>summary{position:sticky!important;top:72px!important;z-index:95!important;border-bottom:1px solid #dbeafe!important;box-shadow:0 10px 22px rgba(37,99,235,.08)!important}.batch-card[open]>summary .batch-drg-strong{max-width:min(620px,48vw)!important}.batch-card summary{grid-template-columns:minmax(108px,auto) auto minmax(120px,max-content) auto 104px!important}.batch-drg-strong{width:max-content!important;max-width:min(620px,48vw)!important}.batch-drg-strong em{max-width:min(520px,42vw)!important}.batch-weight{white-space:nowrap!important}.batch-toggle{white-space:nowrap!important}

@media(max-width:900px){
  .code-row:hover,.code-row:focus-within,.batch-edit-row.compact-mapping-row:hover,.batch-edit-row.compact-mapping-row:focus-within{width:100%!important;max-width:100%!important;min-height:54px!important}
  .code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:108px auto minmax(0,1fr)!important;grid-template-areas:"input tags tags" "input help help"!important}
  .code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .row-main .search-wrap,.code-row:focus-within .code-input{width:108px!important;min-width:108px!important;max-width:108px!important}
  .code-row .row-help,.code-row:hover .row-help,.code-row:focus-within .row-help{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .batch-edit-row.compact-mapping-row{grid-template-columns:16px 42px 108px minmax(0,1fr) 22px!important;grid-template-areas:"handle idx input tags del" "handle idx meta meta del"!important;min-height:54px!important}
  .batch-edit-row.compact-mapping-row>.search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:108px!important;min-width:108px!important;max-width:108px!important}
  .batch-edit-row.compact-mapping-row .batch-map-meta,.batch-edit-row.compact-mapping-row:hover .batch-map-meta,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .batch-card[open]>summary{top:0!important}.batch-card summary{grid-template-columns:1fr auto!important}.batch-drg-strong{max-width:calc(100vw - 52px)!important}.batch-drg-strong em{max-width:calc(100vw - 145px)!important}.batch-toggle{grid-column:2!important;grid-row:1/3!important}
}
@media(max-width:520px){
  .code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:100px auto minmax(0,1fr)!important}
  .code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .row-main .search-wrap,.code-row:focus-within .code-input{width:100px!important;min-width:100px!important;max-width:100px!important}
  .batch-edit-row.compact-mapping-row{grid-template-columns:14px 38px 100px minmax(0,1fr) 22px!important;gap:4px!important;padding:5px!important}
  .batch-edit-row.compact-mapping-row>.search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:100px!important;min-width:100px!important;max-width:100px!important}
  .batch-card[open]>summary{top:0!important}
}

/* ========== v28: 批量头部重排、DRG色块加深、拖动排序更自然 ========== */
.code-row,.batch-edit-row.compact-mapping-row{transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease, width .22s ease, min-height .22s ease!important}
.code-row.dragging,.batch-edit-row.compact-mapping-row.dragging{opacity:1!important;filter:none!important;transform:none!important;background:#fff!important}
.code-row.drag-over{border-color:#2563eb!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.22),0 8px 20px rgba(37,99,235,.10)!important;background:#eff6ff!important}
.code-list,.mapping-list{transition:all .18s ease!important}
.code-list .code-row,.mapping-list .batch-edit-row.compact-mapping-row{will-change:transform!important}

.batch-card summary{grid-template-columns:minmax(112px,auto) auto auto minmax(120px,max-content) auto 104px!important;gap:10px!important;align-items:center!important}
.batch-weight{order:3!important;justify-self:start!important;display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:0 12px!important;border-radius:999px!important;background:#dbeafe!important;border:1px solid #93c5fd!important;color:#1d4ed8!important;font-size:12px!important;font-weight:950!important;box-shadow:0 5px 14px rgba(37,99,235,.10)!important;white-space:nowrap!important}
.batch-drg-strong{order:4!important;display:inline-grid!important;grid-template-columns:auto minmax(0,auto)!important;gap:8px!important;align-items:center!important;width:max-content!important;max-width:min(520px,36vw)!important;justify-self:start!important;background:linear-gradient(135deg,#dbeafe 0%,#e0e7ff 52%,#ede9fe 100%)!important;border:1px solid #60a5fa!important;border-radius:13px!important;padding:7px 11px!important;box-shadow:0 8px 20px rgba(37,99,235,.16)!important}
.batch-drg-strong b{color:#1e40af!important;font-size:16px!important;font-weight:950!important}
.batch-drg-strong em{color:#0f172a!important;font-size:12.5px!important;font-weight:900!important;max-width:min(420px,30vw)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.batch-regroup-inline{order:5!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:32px!important;padding:0 14px!important;border:0!important;border-radius:10px!important;background:linear-gradient(135deg,#2563eb,#4f46e5)!important;color:#fff!important;font-size:12px!important;font-weight:950!important;box-shadow:0 9px 20px rgba(37,99,235,.22)!important;white-space:nowrap!important;cursor:pointer!important}
.batch-regroup-inline:hover{transform:translateY(-1px)!important;filter:brightness(1.05)!important;box-shadow:0 12px 24px rgba(37,99,235,.30)!important}
.batch-toggle{order:6!important;justify-self:end!important}
.batch-card[open]>summary .batch-drg-strong{max-width:min(520px,36vw)!important}.batch-card[open]>summary .batch-drg-strong em{max-width:min(420px,30vw)!important}
.batch-detail>.case-actions:empty{display:none!important}

@media(max-width:1180px){
  .batch-card summary{grid-template-columns:1fr auto!important}
  .batch-weight,.batch-drg-strong,.batch-regroup-inline{grid-column:1/-1!important;justify-self:start!important}
  .batch-toggle{grid-column:2!important;grid-row:1/3!important}
  .batch-drg-strong{max-width:calc(100vw - 160px)!important}.batch-drg-strong em{max-width:calc(100vw - 255px)!important}
}
@media(max-width:560px){
  .batch-card summary{grid-template-columns:1fr!important;gap:7px!important}
  .batch-toggle,.batch-regroup-inline,.batch-weight,.batch-drg-strong{grid-column:1/-1!important;justify-self:start!important}
  .batch-toggle{justify-self:stretch!important}.batch-toggle span{width:100%!important}
  .batch-regroup-inline{width:100%!important}.batch-drg-strong{max-width:100%!important}.batch-drg-strong em{max-width:calc(100vw - 145px)!important}
}

/* ========== v29: 自定义指针拖拽 + 批量顶栏修正 ========== */
.handle,.batch-drag-handle{touch-action:none!important;cursor:grab!important;-webkit-user-drag:none!important;user-select:none!important}
.handle:active,.batch-drag-handle:active{cursor:grabbing!important}
.code-row,.batch-edit-row.compact-mapping-row{-webkit-user-drag:none!important;user-select:none!important}
.code-row input,.batch-edit-row.compact-mapping-row input{user-select:text!important}
.code-row.dragging,.batch-edit-row.compact-mapping-row.dragging,.code-row.pointer-dragging,.batch-edit-row.compact-mapping-row.pointer-dragging{opacity:1!important;filter:none!important;transform:none!important;background:#fff!important}
.code-row.pointer-dragging,.batch-edit-row.compact-mapping-row.pointer-dragging{box-shadow:0 18px 44px rgba(37,99,235,.22)!important;border-color:#2563eb!important;outline:2px solid rgba(37,99,235,.10)!important;transition:none!important;will-change:left,top!important}
.sortable-placeholder{border:2px dashed #93c5fd!important;background:linear-gradient(135deg,#eff6ff,#f8fbff)!important;border-radius:12px!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.10)!important;transition:height .16s ease,margin .16s ease!important;min-height:38px!important}
.batch-placeholder{min-height:46px!important}
.code-list,.mapping-list{position:relative!important}

.batch-card summary{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.batch-case{flex:0 0 auto!important;min-width:98px!important}
.batch-status{flex:0 0 auto!important}
.batch-weight{order:3!important;flex:0 0 auto!important;margin:0!important}
.batch-drg-strong{order:4!important;flex:0 1 auto!important;width:max-content!important;max-width:min(520px,36vw)!important;background:linear-gradient(135deg,#2563eb 0%,#1e40af 100%)!important;border:1px solid #1d4ed8!important;color:#fff!important;box-shadow:0 10px 24px rgba(37,99,235,.24)!important}
.batch-drg-strong b,.batch-drg-strong em{color:#fff!important;text-shadow:0 1px 1px rgba(15,23,42,.18)!important}
.batch-regroup-inline{order:5!important;flex:0 0 auto!important;margin:0!important}
.batch-toggle{order:6!important;margin-left:auto!important;flex:0 0 auto!important;justify-self:auto!important}
.batch-card[open]>summary .batch-drg-strong{max-width:min(520px,36vw)!important}
@media(max-width:1180px){
  .batch-card summary{display:flex!important;grid-template-columns:none!important}
  .batch-weight,.batch-drg-strong,.batch-regroup-inline,.batch-toggle{grid-column:auto!important;grid-row:auto!important;justify-self:auto!important}
  .batch-drg-strong{max-width:calc(100vw - 220px)!important}
}
@media(max-width:620px){
  .batch-card summary{gap:7px!important}
  .batch-case{min-width:0!important}
  .batch-drg-strong{max-width:100%!important;order:4!important}
  .batch-drg-strong em{max-width:calc(100vw - 150px)!important}
  .batch-weight{order:3!important}
  .batch-regroup-inline{order:5!important;width:auto!important;min-height:34px!important}
  .batch-toggle{order:6!important;margin-left:0!important;width:100%!important}
}

/* v30 topbar brand + pointer sorting refinement */
.logo-favicon{width:42px;height:42px;border-radius:12px;display:block;box-shadow:0 10px 22px rgba(37,99,235,.24);flex:0 0 auto}
.logo-text{min-width:0}
.copyright.brand-credit{display:inline-flex!important;align-items:center;gap:6px 8px;flex-wrap:wrap;color:#64748b!important;font-size:11px!important;line-height:1.25;margin-top:5px;max-width:520px;white-space:normal;overflow:visible;text-overflow:clip}
.brand-credit .credit-line,.brand-credit .feedback-line{display:inline-flex;align-items:center;min-height:20px;border:1px solid #dbeafe;border-radius:999px;background:linear-gradient(135deg,#f8fbff,#ffffff);padding:3px 8px;box-shadow:0 4px 12px rgba(37,99,235,.06)}
.brand-credit strong{color:#1d4ed8;font-weight:900}
.brand-credit a{color:#0f766e;font-weight:900;text-decoration:none;border-bottom:1px dashed rgba(15,118,110,.45)}
.brand-credit a:hover{color:#0d9488;border-bottom-color:currentColor}
.logo-icon{display:none!important}
body.sorting-active{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
.sortable-placeholder{height:42px;border:2px dashed #93c5fd;border-radius:11px;background:linear-gradient(135deg,#eff6ff,#f8fbff);box-shadow:inset 0 0 0 1px rgba(37,99,235,.08);transition:height .16s ease,margin .16s ease,transform .16s cubic-bezier(.2,.8,.2,1)}
.sortable-placeholder.batch-placeholder{min-height:42px;border-color:#86efac;background:linear-gradient(135deg,#ecfdf5,#f8fbff)}
.drag-ghost{opacity:1!important;filter:none!important;transform:translate3d(0,0,0);box-shadow:0 22px 48px rgba(37,99,235,.24)!important;border-color:#2563eb!important;outline:2px solid rgba(37,99,235,.12)!important;background:#fff!important;will-change:transform;pointer-events:none!important;transition:none!important;box-sizing:border-box}
.drag-ghost *{pointer-events:none!important}.drag-source-hidden{visibility:hidden!important}
.code-row,.batch-edit-row.compact-mapping-row{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s cubic-bezier(.2,.8,.2,1)}
@media(max-width:1120px){.copyright.brand-credit{max-width:680px;justify-content:center;text-align:center}.logo{min-width:0!important}}
@media(max-width:560px){.logo-favicon{width:36px;height:36px}.copyright.brand-credit{font-size:10px!important;max-width:100%;gap:4px}.brand-credit .credit-line,.brand-credit .feedback-line{padding:3px 7px}.logo{justify-content:flex-start!important}}

/* v31 sorting: keep original row visible; no browser ghost/no transparent clone */
body.sorting-active{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
body.sorting-active .drag-ghost{display:none!important}
body.sorting-active .drag-source-hidden{visibility:visible!important;display:grid!important}
body.sorting-active .code-row,
body.sorting-active .batch-edit-row.compact-mapping-row{opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;width:100%!important;max-width:100%!important;transition:transform 170ms cubic-bezier(.2,.85,.25,1), box-shadow .16s ease, border-color .16s ease, background-color .16s ease!important}
body.sorting-active .code-row:hover,
body.sorting-active .code-row:focus-within,
body.sorting-active .batch-edit-row.compact-mapping-row:hover,
body.sorting-active .batch-edit-row.compact-mapping-row:focus-within{width:100%!important;max-width:100%!important;transform:none!important;min-height:inherit!important}
body.sorting-active .code-row .row-main,
body.sorting-active .code-row:hover .row-main,
body.sorting-active .code-row:focus-within .row-main{grid-template-columns:118px auto minmax(160px,1fr)!important;grid-template-areas:"input tags help"!important}
body.sorting-active .code-row .row-help,
body.sorting-active .code-row:hover .row-help,
body.sorting-active .code-row:focus-within .row-help{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-height:22px!important;background:transparent!important;border:0!important;padding:0!important}
.code-row.sorting-row,
.batch-edit-row.compact-mapping-row.sorting-row{opacity:1!important;visibility:visible!important;background:#fff!important;border-color:#2563eb!important;box-shadow:0 10px 26px rgba(37,99,235,.18)!important;z-index:240!important;position:relative!important}
.code-row.sorting-row .handle,
.batch-edit-row.compact-mapping-row.sorting-row .handle{color:#2563eb!important}
.code-row.is-sorting-now,
.batch-edit-row.compact-mapping-row.is-sorting-now{outline:2px solid rgba(37,99,235,.13)!important}


/* v32 compact sticky topbar + clickable status dot */
.topbar{
  grid-template-columns:minmax(220px,auto) minmax(300px,1fr) minmax(188px,auto)!important;
  gap:10px!important;
  padding:6px 18px!important;
  align-items:center!important;
}
.logo{min-width:0!important;gap:9px!important}.logo-favicon{width:34px!important;height:34px!important;border-radius:10px!important}.logo h1{font-size:16px!important;line-height:1.08!important}.logo small{margin-top:1px!important}.tabs{gap:6px!important}.tab-btn{min-width:112px!important;padding:6px 16px!important;font-size:13px!important}.copyright.brand-credit{display:flex!important;justify-content:flex-start!important;text-align:left!important;max-width:430px!important;margin-top:2px!important;font-size:10.5px!important;line-height:1.18!important;gap:0!important}.brand-credit .credit-line{display:inline!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}.brand-credit .feedback-line{display:none!important}.status-stack{display:grid;justify-items:end;align-items:center;gap:2px;min-width:188px;position:relative}.data-status{position:relative!important;display:grid!important;place-items:center!important;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;padding:0!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;color:#166534!important;justify-self:end}.data-status:hover{background:transparent!important;color:#166534!important;box-shadow:none!important;transform:none!important}.status-dot{width:10px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.16),0 0 18px rgba(34,197,94,.55);animation:statusPulse 1.65s ease-in-out infinite}.data-status::after{content:"";position:absolute;inset:2px;border-radius:999px;border:1px solid rgba(34,197,94,.48);animation:statusRing 1.65s ease-out infinite}.status-text{position:absolute;right:0;top:calc(100% + 8px);z-index:220;display:block;width:max-content;max-width:min(330px,calc(100vw - 24px));padding:8px 11px;border-radius:12px;background:#052e16;color:#dcfce7;border:1px solid rgba(134,239,172,.28);box-shadow:0 16px 34px rgba(15,23,42,.18);font-size:12px;font-weight:850;line-height:1.35;white-space:normal;text-align:left;opacity:0;transform:translateY(-4px) scale(.98);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.status-text::before{content:"";position:absolute;right:7px;top:-5px;width:10px;height:10px;background:#052e16;border-left:1px solid rgba(134,239,172,.28);border-top:1px solid rgba(134,239,172,.28);transform:rotate(45deg)}.data-status.is-open .status-text,.data-status:focus-visible .status-text{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.header-feedback{display:block;color:#64748b;font-size:10.5px;font-weight:700;line-height:1.22;text-align:right;max-width:220px}.header-feedback a{display:block;color:#0f766e;font-weight:950;text-decoration:none;border-bottom:1px dashed rgba(15,118,110,.45);width:max-content;margin-left:auto}.header-feedback a:hover{color:#0d9488;border-bottom-color:currentColor}@keyframes statusPulse{0%,100%{transform:scale(1);filter:saturate(1)}50%{transform:scale(1.2);filter:saturate(1.25)}}@keyframes statusRing{0%{transform:scale(.82);opacity:.72}100%{transform:scale(1.8);opacity:0}}
@media(max-width:900px){.topbar{grid-template-columns:auto 1fr auto!important;grid-template-areas:"logo logo status" "tabs tabs tabs"!important;gap:6px 8px!important;padding:7px 12px 6px!important;position:sticky!important;top:0!important}.logo{grid-area:logo!important;align-items:center!important}.status-stack{grid-area:status!important;min-width:22px!important;align-self:start!important;padding-top:4px}.header-feedback{display:none!important}.tabs{grid-area:tabs!important;width:100%!important;justify-content:stretch!important;gap:6px!important}.tab-btn{flex:1 1 0!important;min-width:0!important;padding:7px 6px!important;font-size:13px!important}.logo-favicon{width:30px!important;height:30px!important}.copyright.brand-credit{max-width:100%!important;justify-content:flex-start!important;text-align:left!important;font-size:10px!important}.layout,.batch-main,.report-main{padding-top:10px!important}#resultView{scroll-margin-top:92px!important}.status-text{right:0;top:calc(100% + 10px);max-width:calc(100vw - 24px)}}
@media(max-width:560px){.topbar{position:sticky!important;top:0!important;padding:6px 10px 6px!important}.logo{justify-content:flex-start!important}.logo h1{font-size:15.5px!important}.logo-favicon{width:28px!important;height:28px!important}.copyright.brand-credit{display:block!important;margin-top:1px!important;font-size:9.8px!important;line-height:1.18!important}.brand-credit .credit-line{display:block!important;white-space:normal!important}.tabs{gap:5px!important}.tab-btn{padding:6px 4px!important;font-size:12.5px!important}.layout,.batch-main,.report-main{padding-top:9px!important}}

/* v33 tighter header, mobile contact-in-dot popup, fixed mobile tabs */
.topbar{grid-template-columns:minmax(210px,auto) minmax(280px,1fr) minmax(154px,auto)!important;gap:8px!important;padding:5px 16px!important;z-index:1200!important}.logo-favicon{width:32px!important;height:32px!important}.logo h1{font-size:15.5px!important}.copyright.brand-credit{max-width:420px!important}.status-stack{min-width:154px!important;justify-items:end!important;gap:1px!important}.data-status{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important}.status-dot{width:9px!important;height:9px!important}.status-text{display:none!important}.status-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:1300;display:grid;gap:6px;width:max-content;max-width:min(350px,calc(100vw - 24px));padding:9px 11px;border-radius:13px;background:#052e16;color:#dcfce7;border:1px solid rgba(134,239,172,.30);box-shadow:0 18px 38px rgba(15,23,42,.20);font-size:12px;font-weight:850;line-height:1.35;white-space:normal;text-align:left;opacity:0;transform:translateY(-4px) scale(.98);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.status-popover::before{content:"";position:absolute;right:5px;top:-5px;width:10px;height:10px;background:#052e16;border-left:1px solid rgba(134,239,172,.30);border-top:1px solid rgba(134,239,172,.30);transform:rotate(45deg)}.status-popover .status-state{display:block}.status-feedback-inline{display:block;color:#bbf7d0;font-weight:760}.status-feedback-inline a{color:#fff;text-decoration:none;border-bottom:1px dashed rgba(255,255,255,.55);font-weight:950}.status-stack.is-open .status-popover,.data-status:focus-visible+.status-popover{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.header-feedback{font-size:10px!important;line-height:1.18!important;max-width:180px!important}.header-feedback a{font-size:10.5px!important}
@media(max-width:900px){body{padding-top:78px!important}.topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"logo status" "tabs tabs"!important;gap:4px 8px!important;padding:5px 10px 5px!important}.logo{grid-area:logo!important;align-items:center!important}.status-stack{grid-area:status!important;min-width:18px!important;padding-top:3px!important;align-self:start!important}.header-feedback{display:none!important}.tabs{grid-area:tabs!important;position:relative!important;top:auto!important;width:100%!important;justify-content:stretch!important;gap:5px!important;overflow:visible!important}.tab-btn{flex:1 1 0!important;min-width:0!important;padding:6px 4px!important;font-size:12.5px!important}.logo-favicon{width:28px!important;height:28px!important}.logo h1{font-size:15px!important}.copyright.brand-credit{max-width:100%!important;text-align:left!important;font-size:9.6px!important;line-height:1.12!important;margin-top:0!important}.brand-credit .credit-line{display:block!important;white-space:normal!important}.status-popover{right:0;top:calc(100% + 9px);max-width:calc(100vw - 22px);min-width:min(310px,calc(100vw - 22px));font-size:12px}.layout,.batch-main,.report-main{padding-top:10px!important}#resultView,.batch-card{scroll-margin-top:88px!important}}
@media(max-width:560px){body{padding-top:76px!important}.topbar{padding:5px 9px 5px!important}.logo{justify-content:flex-start!important}.logo h1{font-size:14.8px!important}.logo-favicon{width:27px!important;height:27px!important}.copyright.brand-credit{font-size:9.4px!important}.tabs{gap:4px!important}.tab-btn{font-size:12px!important;padding:5px 3px!important}.status-popover{right:-2px}}

/* v34 neonatal field labels + compact mobile feedback marker */
.data-status::before{content:"";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:8px;font-weight:950;line-height:1;z-index:2;text-shadow:0 1px 2px rgba(0,0,0,.22);pointer-events:none}.status-dot{position:relative}.status-popover .status-feedback-inline::before{content:"";font-weight:950;color:#fff}.status-popover .status-state{padding-bottom:4px;border-bottom:1px solid rgba(187,247,208,.22)}
@media(max-width:900px){.data-status{width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important}.status-dot{width:12px!important;height:12px!important}.status-popover{position:fixed!important;right:10px!important;top:72px!important;min-width:min(328px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important}.status-popover::before{right:8px!important}.topbar{overflow:visible!important}}
@media(max-width:560px){.status-popover{right:8px!important;top:70px!important}.data-status::before{font-size:7.5px}.std-field.unit-field span{font-size:11px!important}}


/* ===== v38: 折叠病历信息、HQMS 模板与整体字号微调 ===== */
html,body{font-size:14px!important}
button,.file-btn{font-size:13px!important}
input,select,textarea{font-size:14px!important}
.panel-title h2{font-size:19px!important}.list-head h3{font-size:16px!important}.muted,.list-head p,.hint{font-size:13px!important}.eyebrow{font-size:11px!important}.tag{font-size:11px!important}.status-pill{font-size:13px!important}
.case-info-details{display:block!important;padding:0!important;overflow:hidden!important}
.case-info-details summary{list-style:none;cursor:pointer;user-select:none;outline:none;padding:10px 12px!important;margin:0!important;border-radius:14px!important;background:linear-gradient(135deg,#eff6ff,#f8fbff)!important;border:1px solid #dbeafe!important}
.case-info-details summary::-webkit-details-marker{display:none}
.case-info-summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.case-info-summary:after{content:'展开';flex:0 0 auto;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:950;font-size:12px;padding:4px 10px}
.case-info-details[open] .case-info-summary:after{content:'收起'}
.case-info-details .standard-case-body{padding:10px 12px 12px!important}
.case-info-details:not([open]){margin:6px 0 8px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.case-info-details[open]{border:1px solid #dbeafe!important;background:#fff!important;box-shadow:0 10px 26px rgba(37,99,235,.08)!important}
.case-info-details:not([open]) .std-badge{display:none!important}
.case-info-details .case-section-head p{font-size:12px!important}.case-info-details .case-section-head h3{font-size:15px!important}
.standard-case-grid{grid-template-columns:repeat(4,minmax(120px,1fr))!important}.std-field>span{font-size:12px!important}.std-input,.unit-box{height:32px!important}.std-input,.unit-box input,.unit-box em,.radio-pills label span{font-size:13px!important}
.case-info-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.case-info-mini-grid span{font-size:10.5px!important}.case-info-mini-grid b{font-size:12px!important}
@media(max-width:640px){
  html,body{font-size:15px!important}
  button,.file-btn{font-size:14px!important}
  input,select,textarea{font-size:15px!important}
  .tab-btn{font-size:14px!important}.panel-title h2{font-size:20px!important}.list-head h3{font-size:17px!important}.muted,.list-head p,.hint{font-size:13.5px!important}.single-info-toggle-note{font-size:12px!important}
  .case-info-details summary{padding:10px!important}.case-info-summary:after{font-size:12px!important;padding:4px 9px}.case-info-details .case-section-head h3{font-size:16px!important}.case-info-details .case-section-head p{display:none!important}
  .standard-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.std-field>span{font-size:12px!important}.std-input,.unit-box{height:32px!important}.std-input,.unit-box input,.unit-box em,.radio-pills label span{font-size:13.5px!important}
  .case-info-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.case-info-mini-grid span{font-size:10.5px!important}.case-info-mini-grid b{font-size:12px!important}
}


/* ===== v41: collapsed standard case info is visibly editable ===== */
.case-info-details:not([open]){border:1px solid #93c5fd!important;background:linear-gradient(135deg,#dbeafe,#bfdbfe 58%,#dbeafe)!important;box-shadow:0 12px 28px rgba(37,99,235,.16),inset 0 0 0 1px rgba(255,255,255,.55)!important}
.case-info-details:not([open]) summary{background:linear-gradient(135deg,#dbeafe,#bfdbfe 64%,#dbeafe)!important;border-color:#60a5fa!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.48)!important}
.case-info-details:not([open]) summary:hover,.case-info-details:not([open]) summary:focus{background:linear-gradient(135deg,#bfdbfe,#93c5fd 68%,#bfdbfe)!important;border-color:#3b82f6!important}
.case-info-summary:after{content:'展开编辑'!important;background:#2563eb!important;color:#fff!important;box-shadow:0 8px 18px rgba(37,99,235,.22)!important}
.case-info-details[open] .case-info-summary:after{content:'收起编辑'!important}
.case-info-details:not([open]) .case-info-summary h3{color:#0f3f9e!important}
.case-info-details:not([open]) .case-info-summary p{color:#1d4ed8!important;font-weight:700!important}
@media(max-width:640px){.case-info-summary:after{font-size:11px!important;padding:4px 8px!important}}

/* v43：编码列表更明显、未入组对比增强、候选键盘选择 */
.editor-panel .compact-head{
  margin-top:16px!important;
  margin-bottom:0!important;
  padding:12px 14px!important;
  border:1px solid #bfdbfe!important;
  border-bottom:0!important;
  border-radius:16px 16px 0 0!important;
  background:linear-gradient(135deg,#dbeafe 0%,#eef6ff 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.editor-panel .surgery-head{
  background:linear-gradient(135deg,#dcfce7 0%,#effdf5 100%)!important;
  border-color:#86efac!important;
}
.editor-panel .compact-head h3{font-size:16px!important;color:#0f172a!important}
.editor-panel .compact-head p{color:#334155!important;font-weight:650!important}
.editor-panel .compact-code-list{
  padding:10px!important;
  border:1px solid #bfdbfe!important;
  border-top:0!important;
  border-radius:0 0 16px 16px!important;
  background:linear-gradient(180deg,#eaf2ff 0%,#f6f9ff 100%)!important;
  box-shadow:inset 0 1px 8px rgba(37,99,235,.08)!important;
}
#surgeryList.compact-code-list{
  border-color:#86efac!important;
  background:linear-gradient(180deg,#e5fbea 0%,#f5fff8 100%)!important;
  box-shadow:inset 0 1px 8px rgba(16,185,129,.08)!important;
}
.code-row{background:#fff!important;border-color:#cbd5e1!important}
.code-row:hover,.code-row:focus-within{border-color:#60a5fa!important;box-shadow:0 8px 18px rgba(37,99,235,.14)!important}
.suggest-option.active,.suggest-option[aria-selected="true"]{background:#dbeafe!important;outline:2px solid #60a5fa!important;transform:translateX(2px)!important}
.tag.gray{background:#374151!important;color:#fff!important;border-color:#111827!important}
.rs-hero.rs-warn,.rs-hero.rs-qy{
  background:linear-gradient(135deg,#92400e 0%,#b45309 48%,#7c2d12 100%)!important;
  color:#fff!important;
  border:1px solid #f59e0b!important;
  box-shadow:0 16px 36px rgba(146,64,14,.22)!important;
}
.rs-hero.rs-warn .rs-weight,.rs-hero.rs-qy .rs-weight{color:#fde68a!important}
.status-pill.warn{background:#ffedd5!important;color:#7c2d12!important;border:1px solid #fdba74!important}
.result-card:has(.rs-warn),.result-card:has(.rs-qy){border:1px solid #f59e0b;border-radius:16px;padding:10px;background:#fff7ed}
@media(max-width:820px){
  .editor-panel .compact-head{padding:10px 12px!important;border-radius:14px 14px 0 0!important}
  .editor-panel .compact-code-list{padding:8px!important;border-radius:0 0 14px 14px!important}
}

/* ===== v44: custom smooth reorder for diagnosis/procedure rows ===== */
.handle,.batch-drag-handle{
  touch-action:none!important;
  cursor:grab!important;
  display:grid!important;
  place-items:center!important;
  min-width:18px!important;
  min-height:28px!important;
  border-radius:9px!important;
  color:#2563eb!important;
  background:linear-gradient(180deg,#eff6ff,#dbeafe)!important;
  border:1px solid #bfdbfe!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.handle:hover,.batch-drag-handle:hover,.handle.is-grabbing{
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:#1d4ed8!important;
  box-shadow:0 8px 18px rgba(37,99,235,.24)!important;
}
body.sorting-active{
  cursor:grabbing!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
body.sorting-active .code-row:hover,
body.sorting-active .code-row:focus-within,
body.sorting-active .batch-edit-row.compact-mapping-row:hover,
body.sorting-active .batch-edit-row.compact-mapping-row:focus-within{
  width:100%!important;
  min-height:auto!important;
  transform:none!important;
  box-shadow:0 8px 18px rgba(37,99,235,.12)!important;
}
.sort-placeholder{
  border:2px dashed #60a5fa!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,rgba(219,234,254,.78),rgba(239,246,255,.88))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 8px 20px rgba(37,99,235,.10)!important;
  margin:0!important;
  animation:sortPlaceholderPulse .92s ease-in-out infinite alternate;
}
#surgeryList .sort-placeholder,.batch-sort-placeholder{
  border-color:#34d399!important;
  background:linear-gradient(135deg,rgba(220,252,231,.82),rgba(240,253,244,.92))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 8px 20px rgba(16,185,129,.10)!important;
}
@keyframes sortPlaceholderPulse{from{filter:saturate(.96);opacity:.82}to{filter:saturate(1.12);opacity:1}}
.code-row.sortable-floating,
.batch-edit-row.compact-mapping-row.sortable-floating{
  position:fixed!important;
  left:var(--drag-left)!important;
  top:var(--drag-top)!important;
  width:var(--drag-width)!important;
  height:var(--drag-height)!important;
  z-index:2200!important;
  transform:translate3d(0,var(--drag-y,0px),0) scale(1.012)!important;
  pointer-events:none!important;
  opacity:.98!important;
  background:#fff!important;
  border-color:#2563eb!important;
  box-shadow:0 22px 46px rgba(15,23,42,.22),0 8px 18px rgba(37,99,235,.22)!important;
  transition:none!important;
  will-change:transform!important;
}
.batch-edit-row.compact-mapping-row.sortable-floating{
  border-color:#10b981!important;
  box-shadow:0 22px 46px rgba(15,23,42,.22),0 8px 18px rgba(16,185,129,.18)!important;
}
.code-row.sortable-floating .row-help,
.batch-edit-row.compact-mapping-row.sortable-floating .batch-map-meta{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-height:36px!important;
}
@media(max-width:760px){
  .handle,.batch-drag-handle{min-height:32px!important;border-radius:10px!important}
  .sort-placeholder{border-radius:12px!important}
}

/* v46: compact mail link + clean status dot */
.status-stack{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;min-width:132px!important;position:relative!important}
.status-mail-link{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;color:#0f766e!important;font-size:11px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;border:0!important}
.status-mail-link:hover{color:#0d9488!important;text-decoration:underline!important;text-underline-offset:3px!important}
.header-feedback,.status-feedback-inline{display:none!important}.data-status::before{content:none!important}.status-popover .status-state{border-bottom:0!important;padding-bottom:0!important}.status-popover{min-width:auto!important;max-width:min(240px,calc(100vw - 24px))!important}
@media(max-width:900px){.status-stack{gap:5px!important;min-width:102px!important;padding-top:3px!important}.status-mail-link{font-size:10px!important}.status-popover{top:70px!important;right:8px!important;min-width:min(210px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important}}
@media(max-width:560px){.status-mail-link{font-size:9.5px!important}.status-stack{min-width:96px!important;gap:4px!important}.status-popover{top:68px!important}}


/* ===== v47: 编码显示精简、输入框增宽、病历折叠按钮修正 ===== */
.status-mail-link{font-weight:950!important;color:#0f766e!important;text-decoration:none!important;border-bottom:1px dashed rgba(15,118,110,.42)!important;white-space:nowrap!important}
.status-mail-link:hover{color:#0d9488!important;border-bottom-color:currentColor!important}
.case-info-details[open] .std-badge{display:none!important}
.case-info-details:not([open]) .std-badge{display:none!important}
.code-row{grid-template-columns:18px 24px 16px minmax(0,1fr)!important}
.code-row .delete-one{grid-column:2!important;grid-row:1!important}
.code-row input[type="checkbox"]{grid-column:3!important;grid-row:1!important}
.code-row .row-main{grid-column:4!important;grid-row:1!important;grid-template-columns:minmax(210px,310px) auto minmax(180px,1fr)!important;grid-template-areas:"input tags help"!important}
.code-row .row-main .search-wrap{grid-area:input!important;width:clamp(210px,30vw,310px)!important;min-width:210px!important;max-width:310px!important}
.code-row .code-input,.code-row:hover .code-input,.code-row:focus-within .code-input{width:100%!important;min-width:210px!important;max-width:310px!important;height:32px!important}
.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:minmax(210px,310px) auto minmax(180px,1fr)!important}
.code-row:hover .row-main .search-wrap,.code-row:focus-within .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .code-input{width:clamp(210px,30vw,310px)!important;min-width:210px!important;max-width:310px!important}
.row-help{font-size:12px!important;color:#1f2937!important;font-weight:750!important}
.batch-edit-row.compact-mapping-row{grid-template-columns:22px 24px minmax(160px,260px) minmax(0,auto) minmax(180px,1fr)!important}
.batch-edit-row.compact-mapping-row .mini-delete{grid-column:2!important;grid-row:1!important}
.batch-edit-row.compact-mapping-row .search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:clamp(160px,24vw,260px)!important;min-width:160px!important;max-width:260px!important}
.batch-map-meta b{display:none!important}.batch-map-meta span{font-size:12px!important;font-weight:850!important;color:#1f2937!important}.batch-map-meta small{font-size:10.5px!important;color:#64748b!important}
.batch-toolbar .manual-batch-tip{color:#64748b;font-size:12px;font-weight:800;margin-left:auto}
@media(max-width:760px){.code-row{grid-template-columns:18px 24px 16px minmax(0,1fr)!important}.code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{grid-template-columns:1fr!important;grid-template-areas:"input" "tags" "help"!important}.code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:focus-within .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .code-input{width:100%!important;min-width:0!important;max-width:none!important}.batch-edit-row.compact-mapping-row{grid-template-columns:22px 24px minmax(0,1fr)!important}.batch-edit-row.compact-mapping-row .search-wrap{grid-column:3!important}.batch-edit-row.compact-mapping-row .mini-tags,.batch-edit-row.compact-mapping-row .batch-map-meta{grid-column:1/-1!important}.batch-edit-row.compact-mapping-row .search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input{width:100%!important;min-width:0!important;max-width:none!important}}

/* ===== v49: fixed-width code input, tags immediately after input ===== */
.code-row,
.code-row:hover,
.code-row:focus-within{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  transform:none!important;
  overflow:visible!important;
}
.code-row .row-main,
.code-row:hover .row-main,
.code-row:focus-within .row-main{
  display:grid!important;
  grid-template-columns:156px max-content minmax(0,1fr)!important;
  grid-template-areas:"input tags help"!important;
  align-items:center!important;
  column-gap:8px!important;
  row-gap:3px!important;
  min-width:0!important;
}
.code-row .row-main .search-wrap,
.code-row:hover .row-main .search-wrap,
.code-row:focus-within .row-main .search-wrap,
.code-row .row-main .search-wrap:hover,
.code-row .row-main .search-wrap:focus-within{
  grid-area:input!important;
  width:156px!important;
  min-width:156px!important;
  max-width:156px!important;
  z-index:80!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
}
.code-row .code-input,
.code-row:hover .code-input,
.code-row:focus-within .code-input,
.code-row .row-main .search-wrap:hover .code-input,
.code-row .row-main .search-wrap:focus-within .code-input{
  width:156px!important;
  min-width:156px!important;
  max-width:156px!important;
  height:32px!important;
  transition:border-color .15s ease, box-shadow .15s ease!important;
  transform:none!important;
}
.code-row .row-meta,
.code-row:hover .row-meta,
.code-row:focus-within .row-meta{
  grid-area:tags!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  overflow:visible!important;
  max-height:32px!important;
  min-width:max-content!important;
  padding:0!important;
}
.code-row .row-help,
.code-row:hover .row-help,
.code-row:focus-within .row-help{
  grid-area:help!important;
  display:block!important;
  min-width:0!important;
  max-height:32px!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:16px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:#1f2937!important;
  font-size:12px!important;
  font-weight:800!important;
}
.code-row .row-help::before{margin-left:0!important}
.code-row .suggest-menu,
.code-row:hover .suggest-menu,
.code-row:focus-within .suggest-menu{
  width:min(760px,92vw)!important;
  z-index:2400!important;
}
.batch-edit-row.compact-mapping-row,
.batch-edit-row.compact-mapping-row:hover,
.batch-edit-row.compact-mapping-row:focus-within{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  transform:none!important;
}
.batch-edit-row.compact-mapping-row .search-wrap,
.batch-edit-row.compact-mapping-row:hover .search-wrap,
.batch-edit-row.compact-mapping-row:focus-within .search-wrap,
.batch-edit-row.compact-mapping-row .batch-code-input,
.batch-edit-row.compact-mapping-row:hover .batch-code-input,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{
  width:156px!important;
  min-width:156px!important;
  max-width:156px!important;
  transition:border-color .15s ease, box-shadow .15s ease!important;
}
.batch-edit-row.compact-mapping-row .batch-map-side,
.batch-edit-row.compact-mapping-row:hover .batch-map-side,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-side{
  overflow:visible!important;
  white-space:nowrap!important;
  min-width:max-content!important;
}
@media(max-width:760px){
  .code-row .row-main,
  .code-row:hover .row-main,
  .code-row:focus-within .row-main{
    grid-template-columns:minmax(132px,156px) max-content minmax(0,1fr)!important;
    grid-template-areas:"input tags tags" "help help help"!important;
    column-gap:7px!important;
  }
  .code-row .row-main .search-wrap,
  .code-row:hover .row-main .search-wrap,
  .code-row:focus-within .row-main .search-wrap,
  .code-row .code-input,
  .code-row:hover .code-input,
  .code-row:focus-within .code-input{
    width:clamp(132px,36vw,156px)!important;
    min-width:132px!important;
    max-width:156px!important;
  }
  .code-row .row-meta{min-width:0!important;overflow:visible!important;flex-wrap:wrap!important;max-height:none!important}
  .batch-edit-row.compact-mapping-row .search-wrap,
  .batch-edit-row.compact-mapping-row .batch-code-input{
    width:clamp(132px,42vw,156px)!important;
    min-width:132px!important;
    max-width:156px!important;
  }
}


/* ===== v50: batch mapping alignment + low-risk death flag + single death toggle ===== */
.death-toggle-block{align-items:center!important}.death-toggle-block strong{min-width:96px!important}.death-pills{grid-template-columns:repeat(2,minmax(72px,112px))!important;width:auto!important}.death-pills label span{justify-content:center!important;font-weight:950!important}
.low-risk-card{display:grid;gap:4px;border:1px solid #fde68a;border-radius:12px;background:linear-gradient(135deg,#fffbeb,#fff7ed);padding:10px 12px;color:#78350f;box-shadow:0 8px 20px rgba(245,158,11,.10)}
.low-risk-card span{font-size:12px;font-weight:950;letter-spacing:.5px;color:#b45309}.low-risk-card strong{font-size:15px;color:#92400e}.low-risk-card em{font-style:normal;font-size:12px;color:#92400e;line-height:1.4}.low-risk-card.low-risk-death{border-color:#fb7185;background:linear-gradient(135deg,#fff1f2,#fff7ed)}.low-risk-card.low-risk-death span,.low-risk-card.low-risk-death strong{color:#be123c}.low-risk-card.low-risk-death em{color:#9f1239}.batch-detail-low-risk:empty{display:none}.low-risk-mini{display:inline-flex;align-items:center;justify-content:center;border:1px solid #facc15;background:#fef9c3;color:#854d0e;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;white-space:nowrap}.low-risk-mini.death{border-color:#fb7185;background:#ffe4e6;color:#be123c}
.batch-edit-row.compact-mapping-row,
.batch-edit-row.compact-mapping-row:hover,
.batch-edit-row.compact-mapping-row:focus-within{display:grid!important;grid-template-columns:18px 22px 54px 156px max-content minmax(0,1fr)!important;grid-template-areas:"handle del idx input tags meta"!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:46px!important;height:auto!important;gap:5px 7px!important;transform:none!important;overflow:visible!important;box-sizing:border-box!important}.batch-edit-row.compact-mapping-row .batch-drag-handle{grid-area:handle!important}.batch-edit-row.compact-mapping-row .mini-delete{grid-area:del!important;margin:0!important;align-self:center!important}.batch-edit-row.compact-mapping-row .mapping-index{grid-area:idx!important;line-height:28px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10.5px!important;color:#1e3a8a!important;font-weight:950!important}.batch-edit-row.compact-mapping-row>.search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input-wrap{grid-area:input!important;width:156px!important;min-width:156px!important;max-width:156px!important}.batch-edit-row.compact-mapping-row .batch-code-input,.batch-edit-row.compact-mapping-row:hover .batch-code-input,.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{width:156px!important;min-width:156px!important;max-width:156px!important;height:32px!important}.batch-edit-row.compact-mapping-row .batch-map-side,.batch-edit-row.compact-mapping-row:hover .batch-map-side,.batch-edit-row.compact-mapping-row:focus-within .batch-map-side{grid-area:tags!important;display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;white-space:nowrap!important;overflow:visible!important;min-width:max-content!important;max-height:32px!important;margin:0!important}.batch-edit-row.compact-mapping-row .batch-map-meta,.batch-edit-row.compact-mapping-row:hover .batch-map-meta,.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta{grid-area:meta!important;display:block!important;min-width:0!important;max-width:100%!important;max-height:40px!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:#1f2937!important;font-size:12px!important;line-height:18px!important}.batch-edit-row.compact-mapping-row .batch-map-meta b{display:none!important}.batch-edit-row.compact-mapping-row .batch-map-meta span{font-weight:850!important;color:#1f2937!important}.batch-edit-row.compact-mapping-row .batch-map-meta span::before{content:none!important}.batch-edit-row.compact-mapping-row .batch-map-meta small{display:none!important}.batch-edit-row.compact-mapping-row .suggest-menu{width:min(760px,92vw)!important;z-index:2400!important}
@media(max-width:900px){.batch-edit-row.compact-mapping-row,.batch-edit-row.compact-mapping-row:hover,.batch-edit-row.compact-mapping-row:focus-within{grid-template-columns:18px 22px 48px minmax(132px,156px) minmax(0,1fr)!important;grid-template-areas:"handle del idx input tags" "meta meta meta meta meta"!important}.batch-edit-row.compact-mapping-row>.search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input-wrap,.batch-edit-row.compact-mapping-row .batch-code-input{width:clamp(132px,35vw,156px)!important;min-width:132px!important;max-width:156px!important}.batch-edit-row.compact-mapping-row .batch-map-side{min-width:0!important;overflow:visible!important;flex-wrap:wrap!important}.batch-edit-row.compact-mapping-row .batch-map-meta{margin-top:2px!important}.low-risk-mini{padding:4px 7px}}
@media(max-width:560px){.death-toggle-block{grid-template-columns:88px minmax(0,1fr)!important}.death-pills{grid-template-columns:repeat(2,minmax(0,1fr))!important}.batch-edit-row.compact-mapping-row,.batch-edit-row.compact-mapping-row:hover,.batch-edit-row.compact-mapping-row:focus-within{grid-template-columns:16px 22px 44px minmax(112px,1fr)!important;grid-template-areas:"handle del idx input" "tags tags tags tags" "meta meta meta meta"!important}.batch-edit-row.compact-mapping-row>.search-wrap,.batch-edit-row.compact-mapping-row .batch-code-input-wrap,.batch-edit-row.compact-mapping-row .batch-code-input{width:100%!important;min-width:0!important;max-width:none!important}}


/* ===== v51: low-risk death only when discharged dead + compact list hints ===== */
.list-head.compact-head{align-items:center!important;gap:10px!important}
.list-head.compact-head>div:first-child{min-width:0!important;flex:1 1 auto!important}
.list-head.compact-head p{max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.25!important;margin-top:2px!important}
.list-head.compact-head .button-row{flex:0 0 auto!important;align-self:center!important}
.low-risk-card.low-risk-category,.low-risk-mini:not(.death){display:none!important}
@media(max-width:760px){.list-head.compact-head{align-items:center!important}.list-head.compact-head p{max-width:calc(100vw - 178px)!important}}


/* ===== v52: mail contact popover, 5-column case fields, ICU plugin UI ===== */
.status-stack{position:relative!important}
.status-mail-link{appearance:none!important;background:transparent!important;border:0!important;padding:0!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important;color:#0f766e!important;font-size:11px!important;font-weight:950!important;line-height:1!important;text-decoration:none!important;border-bottom:1px dashed rgba(15,118,110,.42)!important;cursor:pointer!important}
.status-mail-link:hover,.status-mail-link.is-open{color:#0d9488!important;border-bottom-color:currentColor!important}
.mail-popover{position:absolute;right:26px;top:30px;z-index:2300;display:none;min-width:210px;padding:10px 12px;border:1px solid #99f6e4;border-radius:14px;background:rgba(240,253,250,.96);box-shadow:0 18px 40px rgba(15,23,42,.16);backdrop-filter:blur(10px);color:#134e4a;font-size:12px;line-height:1.35}
.status-stack.mail-open .mail-popover{display:grid;gap:4px}.mail-popover span{font-size:10px;font-weight:900;color:#0f766e;letter-spacing:.06em}.mail-popover a{font-size:13px;font-weight:950;color:#0f766e;text-decoration:none}.mail-popover a:hover{text-decoration:underline;text-underline-offset:3px}
.standard-case-grid{grid-template-columns:repeat(5,minmax(84px,1fr))!important;gap:6px 7px!important}.std-field{min-width:0!important}.std-input,.unit-box{min-width:0!important}.std-field.icu-field small{font-size:9.5px!important;line-height:1.1!important;color:#64748b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.std-field.icu-field .std-input{font-weight:900;color:#1d4ed8;background:#f8fbff}.case-info-mini-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}.batch-info-edit-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important}.sichuan-icu-mini{display:inline-flex;align-items:center;justify-content:center;border:1px solid #60a5fa;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;white-space:nowrap}.sichuan-icu-card{display:grid;gap:4px;border:1px solid #93c5fd;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f8fbff);padding:10px 12px;color:#1e3a8a;box-shadow:0 8px 20px rgba(37,99,235,.10)}.sichuan-icu-card span{font-size:12px;font-weight:950;letter-spacing:.5px;color:#1d4ed8}.sichuan-icu-card strong{font-size:15px;color:#1e40af}.sichuan-icu-card em{font-style:normal;font-size:12px;color:#334155;line-height:1.4}
@media(max-width:1100px){.standard-case-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.case-info-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){.standard-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.case-info-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.mail-popover{right:0;top:28px;min-width:min(220px,calc(100vw - 18px))}.status-mail-link{font-size:10px!important}}
@media(max-width:420px){.case-info-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.std-field.icu-field small{font-size:9px!important}}

/* ===== v53: mobile list alignment + manual batch start after CSV upload ===== */
.batch-upload-ready{display:grid;gap:6px;border:1px dashed #93c5fd;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#ffffff);padding:18px 20px;color:#1e3a8a;box-shadow:0 8px 22px rgba(37,99,235,.06)}
.batch-upload-ready strong{font-size:15px;font-weight:950;color:#1d4ed8}.batch-upload-ready span{font-size:13px;line-height:1.55;color:#475569}.batch-pending .batch-toolbar{align-items:center}.batch-pending .manual-batch-tip{white-space:normal;line-height:1.4}.code-row .row-meta{grid-area:tags!important}.code-row .row-help{grid-area:help!important}.code-row .row-main{min-width:0!important}.code-row .row-main .search-wrap{min-width:0!important}.code-row .row-meta,.code-row .row-help{min-width:0!important;max-width:100%!important}
@media(max-width:760px){
  .code-list{gap:8px!important}.code-row{grid-template-columns:20px 26px 18px minmax(0,1fr)!important;align-items:start!important;padding:8px!important;gap:6px!important}.code-row .handle,.code-row .delete-one,.code-row input[type="checkbox"]{grid-row:1!important}.code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{grid-column:4!important;grid-row:1!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"input" "tags" "help"!important;gap:5px!important;align-items:start!important}.code-row .row-main .search-wrap,.code-row .code-input,.code-row:hover .row-main .search-wrap,.code-row:focus-within .row-main .search-wrap,.code-row:hover .code-input,.code-row:focus-within .code-input{width:100%!important;min-width:0!important;max-width:none!important}.code-row .row-meta{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:4px!important;min-height:0!important;line-height:1.25!important}.code-row .row-help{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35!important;color:#334155!important;font-weight:700!important;word-break:break-word!important}.list-head.compact-head p{white-space:normal!important;max-width:100%!important}.batch-toolbar .manual-batch-tip{flex:1 1 100%;margin-left:0!important}.batch-upload-ready{padding:14px 15px}.batch-upload-ready strong{font-size:14px}.batch-upload-ready span{font-size:12.5px}
}
@media(max-width:420px){
  .code-row{grid-template-columns:18px 24px 16px minmax(0,1fr)!important;padding:7px!important}.code-row .row-main,.code-row:hover .row-main,.code-row:focus-within .row-main{gap:4px!important}.code-row .row-help{font-size:11.5px!important}.code-row .tag{font-size:10px!important;padding:2px 5px!important}
}

/* ===== v54: mobile single-case diagnosis/surgery blocks realignment ===== */
@media (max-width: 760px) {
  .layout,
  .batch-main,
  .report-main {
    width: 100% !important;
    max-width: 100vw !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }

  .editor-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .editor-panel .list-head.compact-head,
  .editor-panel .list-head.compact-head.surgery-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    padding: 10px 12px !important;
    margin: 12px 0 0 !important;
  }

  .editor-panel .list-head.compact-head > div:first-child,
  .editor-panel .list-head.compact-head .button-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    box-sizing: border-box !important;
  }

  .editor-panel .list-head.compact-head h3 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: keep-all !important;
    writing-mode: horizontal-tb !important;
    line-height: 1.25 !important;
  }

  .editor-panel .list-head.compact-head p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 3px 0 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    line-height: 1.35 !important;
  }

  .editor-panel .list-head.compact-head .button-row {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 7px !important;
    flex-wrap: wrap !important;
  }

  .editor-panel .list-head.compact-head .button-row button {
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  .editor-panel .compact-code-list,
  #diagnosisList.compact-code-list,
  #surgeryList.compact-code-list {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 8px !important;
    overflow: visible !important;
  }

  .editor-panel .code-row,
  .editor-panel .code-row:hover,
  .editor-panel .code-row:focus-within {
    display: grid !important;
    grid-template-columns: 24px 24px 18px minmax(0, 1fr) !important;
    grid-template-areas: "drag del check main" !important;
    align-items: start !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .editor-panel .code-row .handle {
    grid-area: drag !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 30px !important;
    min-height: 30px !important;
  }

  .editor-panel .code-row .delete-one {
    grid-area: del !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    margin-top: 3px !important;
  }

  .editor-panel .code-row > input[type="checkbox"] {
    grid-area: check !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 7px 0 0 !important;
    align-self: start !important;
    justify-self: center !important;
  }

  .editor-panel .code-row .row-main,
  .editor-panel .code-row:hover .row-main,
  .editor-panel .code-row:focus-within .row-main {
    grid-area: main !important;
    grid-column: auto !important;
    grid-row: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "input" "tags" "help" !important;
    gap: 5px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .editor-panel .code-row .row-main .search-wrap,
  .editor-panel .code-row .code-input,
  .editor-panel .code-row:hover .row-main .search-wrap,
  .editor-panel .code-row:focus-within .row-main .search-wrap,
  .editor-panel .code-row:hover .code-input,
  .editor-panel .code-row:focus-within .code-input {
    grid-area: input !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 30px !important;
    box-sizing: border-box !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }

  .editor-panel .code-row .row-meta {
    grid-area: tags !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .editor-panel .code-row .row-help,
  .editor-panel .code-row:hover .row-help,
  .editor-panel .code-row:focus-within .row-help {
    grid-area: help !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 420px) {
  .editor-panel .code-row,
  .editor-panel .code-row:hover,
  .editor-panel .code-row:focus-within {
    grid-template-columns: 22px 22px 16px minmax(0, 1fr) !important;
    gap: 5px !important;
    padding: 7px !important;
  }
  .editor-panel .code-row .handle,
  .editor-panel .code-row .delete-one {
    width: 22px !important;
    min-width: 22px !important;
  }
}

/* ===== v56: hard mobile list reset + clipped drag rows ===== */
.code-row,
.code-row:hover,
.code-row:focus-within,
.code-row.dragging,
.batch-edit-row.compact-mapping-row,
.batch-edit-row.compact-mapping-row:hover,
.batch-edit-row.compact-mapping-row:focus-within,
.batch-edit-row.compact-mapping-row.dragging{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}
.code-row.dragging,
.batch-edit-row.compact-mapping-row.dragging{
  overflow:hidden!important;
  contain:layout paint!important;
}
.drag-image-ghost{
  width:min(520px,calc(100vw - 32px))!important;
  max-width:min(520px,calc(100vw - 32px))!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  transform:none!important;
  contain:layout paint!important;
}
.mapping-grid,.mapping-box,.mapping-list,.batch-code-stack,.row-main,.search-wrap{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.editor-panel .compact-head,
.editor-panel .compact-code-list{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media (max-width:760px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  .layout,.batch-main,.report-main{
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:8px!important;
    margin:0!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  .layout>.panel,.editor-panel,.result-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .layout>.result-panel{margin-top:12px!important}
  .editor-panel{overflow:hidden!important}
  .editor-panel .panel-title{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-width:0!important;
  }
  .editor-panel .panel-title>div{min-width:0!important;max-width:100%!important}
  .editor-panel .panel-title h2{font-size:18px!important;line-height:1.25!important;white-space:normal!important;word-break:keep-all!important}
  .editor-panel .list-head.compact-head,
  .editor-panel .list-head.compact-head.surgery-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:12px 0 0!important;
    padding:12px!important;
    overflow:hidden!important;
    border-radius:16px 16px 0 0!important;
    box-sizing:border-box!important;
  }
  .editor-panel .list-head.compact-head *,
  .editor-panel .compact-code-list *{
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
  }
  .editor-panel .list-head.compact-head>div:first-child,
  .editor-panel .list-head.compact-head .button-row{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }
  .editor-panel .list-head.compact-head h3{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:18px!important;
    line-height:1.22!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow:visible!important;
    text-overflow:clip!important;
    letter-spacing:0!important;
  }
  .editor-panel .list-head.compact-head p{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:4px 0 0!important;
    font-size:12.5px!important;
    line-height:1.45!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .editor-panel .list-head.compact-head .button-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  .editor-panel .list-head.compact-head .button-row button{
    flex:0 0 auto!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  .editor-panel .compact-code-list,
  #diagnosisList.compact-code-list,
  #surgeryList.compact-code-list{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 14px!important;
    padding:8px!important;
    overflow:visible!important;
    border-radius:0 0 16px 16px!important;
    box-sizing:border-box!important;
  }
  .editor-panel .code-row,
  .editor-panel .code-row:hover,
  .editor-panel .code-row:focus-within,
  .editor-panel .code-row.dragging{
    display:grid!important;
    grid-template-columns:26px 26px 18px minmax(0,1fr)!important;
    grid-template-areas:"drag del check main"!important;
    align-items:start!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:8px!important;
    overflow:visible!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
  .editor-panel .code-row .handle{grid-area:drag!important;width:26px!important;min-width:26px!important;height:30px!important;min-height:30px!important}
  .editor-panel .code-row .delete-one{grid-area:del!important;width:26px!important;min-width:26px!important;height:26px!important;margin-top:2px!important}
  .editor-panel .code-row>input[type="checkbox"]{grid-area:check!important;width:16px!important;min-width:16px!important;height:16px!important;margin:7px 0 0!important;justify-self:center!important;align-self:start!important}
  .editor-panel .code-row .row-main,
  .editor-panel .code-row:hover .row-main,
  .editor-panel .code-row:focus-within .row-main{
    grid-area:main!important;
    grid-column:auto!important;
    grid-row:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"input" "tags" "help"!important;
    gap:5px!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .editor-panel .code-row .row-main .search-wrap,
  .editor-panel .code-row .code-input,
  .editor-panel .code-row:hover .row-main .search-wrap,
  .editor-panel .code-row:focus-within .row-main .search-wrap,
  .editor-panel .code-row:hover .code-input,
  .editor-panel .code-row:focus-within .code-input,
  .editor-panel .code-row .row-main .search-wrap:hover,
  .editor-panel .code-row .row-main .search-wrap:focus-within{
    grid-area:input!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:32px!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
    box-sizing:border-box!important;
  }
  .editor-panel .code-row .row-meta,
  .editor-panel .code-row:hover .row-meta,
  .editor-panel .code-row:focus-within .row-meta{
    grid-area:tags!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
  }
  .editor-panel .code-row .row-help,
  .editor-panel .code-row:hover .row-help,
  .editor-panel .code-row:focus-within .row-help{
    grid-area:help!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:break-word!important;
    line-height:1.35!important;
  }
  .suggest-menu{max-width:calc(100vw - 32px)!important}
}
@media (max-width:380px){
  .editor-panel .code-row,
  .editor-panel .code-row:hover,
  .editor-panel .code-row:focus-within,
  .editor-panel .code-row.dragging{
    grid-template-columns:24px 24px 16px minmax(0,1fr)!important;
    gap:5px!important;
    padding:7px!important;
  }
}

/* ===== v56: input keeps source code; outside shows mapped medical code + name ===== */
.batch-edit-row.compact-mapping-row .batch-map-meta,
.batch-edit-row.compact-mapping-row:hover .batch-map-meta,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-height:24px!important;
}
.batch-edit-row.compact-mapping-row .batch-map-meta b,
.batch-edit-row.compact-mapping-row:hover .batch-map-meta b,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta b{
  display:inline-block!important;
  flex:0 1 auto!important;
  max-width:44%!important;
  min-width:0!important;
  color:#1d4ed8!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.batch-edit-row.compact-mapping-row .batch-map-meta span,
.batch-edit-row.compact-mapping-row:hover .batch-map-meta span,
.batch-edit-row.compact-mapping-row:focus-within .batch-map-meta span{
  display:inline-block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  color:#1f2937!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.batch-edit-row.compact-mapping-row .batch-map-meta span::before{content:'｜';color:#94a3b8;margin-right:4px}
.batch-edit-row.compact-mapping-row .batch-map-meta small{display:none!important}
.editor-panel .code-row .row-help,
.editor-panel .code-row:hover .row-help,
.editor-panel .code-row:focus-within .row-help{
  color:#1f2937!important;
  font-weight:800!important;
}

/* ===== v57: controlled pointer sorting, no native full-page drag outline ===== */
.code-row,
.batch-edit-row.compact-mapping-row{
  -webkit-user-drag:none!important;
  user-drag:none!important;
}
.code-row .handle,
.batch-edit-row.compact-mapping-row .batch-drag-handle{
  touch-action:none!important;
  -webkit-user-drag:none!important;
  user-select:none!important;
  cursor:grab!important;
}
body.is-code-sorting,
body.is-code-sorting *{
  cursor:grabbing!important;
  user-select:none!important;
}
.code-row.sorting-active,
.batch-edit-row.compact-mapping-row.sorting-active{
  opacity:.55!important;
  transform:none!important;
  box-shadow:none!important;
  outline:0!important;
}
.sort-drop-marker{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  height:36px!important;
  min-height:36px!important;
  margin:3px 0!important;
  border:2px dashed #60a5fa!important;
  border-radius:10px!important;
  background:rgba(96,165,250,.10)!important;
  pointer-events:none!important;
  grid-column:1 / -1!important;
}
.mapping-list .sort-drop-marker{
  height:34px!important;
  min-height:34px!important;
}
@media (max-width:900px){
  .sort-drop-marker{height:42px!important;min-height:42px!important}
}



/* ===== v62: native handle sorting + death select aligned with ICU select ===== */
.std-field.death-field .std-input{font-weight:900;color:#1d4ed8;background:#f8fbff}.std-field.death-field small{font-size:9.5px!important;line-height:1.1!important;color:#64748b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.discharge-block.death-toggle-block,.radio-pills.death-pills{display:none!important}.code-list,.mapping-list{position:relative!important;isolation:isolate!important}.is-code-sorting .panel.result-panel{pointer-events:none!important}.is-code-sorting .code-row,.is-code-sorting .batch-edit-row.compact-mapping-row{transition:box-shadow .18s ease,border-color .18s ease!important}.handle,.batch-drag-handle{touch-action:none!important}@media(max-width:560px){.std-field.death-field small{font-size:9px!important}}

/* ===== v63: lift code suggestion dropdowns above panels and sticky action bar ===== */
body.is-suggest-open .layout,
body.is-suggest-open .panel,
body.is-suggest-open .editor-panel,
body.is-suggest-open .compact-code-list,
body.is-suggest-open .code-list,
body.is-suggest-open .mapping-grid,
body.is-suggest-open .mapping-box,
body.is-suggest-open .mapping-list,
body.is-suggest-open .batch-code-stack,
body.is-suggest-open .code-row,
body.is-suggest-open .batch-edit-row.compact-mapping-row,
body.is-suggest-open .row-main,
body.is-suggest-open .search-wrap{
  overflow:visible!important;
}
body.is-suggest-open .editor-panel,
body.is-suggest-open .batch-panel{
  position:relative!important;
  z-index:500000!important;
}
body.is-suggest-open .result-panel,
body.is-suggest-open .report-panel{
  position:relative!important;
  z-index:1!important;
}
body.is-suggest-open .code-list,
body.is-suggest-open .mapping-list{
  isolation:auto!important;
  z-index:auto!important;
}
body.is-suggest-open .code-row:focus-within,
body.is-suggest-open .batch-edit-row.compact-mapping-row:focus-within,
body.is-suggest-open .search-wrap:focus-within{
  position:relative!important;
  z-index:700000!important;
}
body.is-suggest-open .sticky-actions{
  z-index:2!important;
}
body.is-suggest-open .suggest-menu,
body.is-suggest-open .suggest-menu.show,
.suggest-menu.show{
  z-index:2147483000!important;
}
body.is-suggest-open .suggest-menu.show{
  box-shadow:0 24px 70px rgba(15,23,42,.22), 0 0 0 1px rgba(37,99,235,.08)!important;
}
@supports selector(:has(*)){
  .editor-panel:has(.suggest-menu.show),
  .batch-panel:has(.suggest-menu.show){
    position:relative!important;
    z-index:500000!important;
    overflow:visible!important;
  }
  .code-list:has(.suggest-menu.show),
  .mapping-list:has(.suggest-menu.show){
    isolation:auto!important;
    overflow:visible!important;
  }
}



/* ===== v64: larger top tabs + fixed mobile single-case actions ===== */
.tab-btn{
  min-width:150px!important;
  min-height:44px!important;
  padding:11px 28px!important;
  font-size:15px!important;
  letter-spacing:.01em!important;
}
@media(max-width:1120px){
  .tabs{gap:10px!important;}
  .tab-btn{min-width:142px!important;}
}
@media(max-width:820px){
  .tabs{
    gap:8px!important;
    padding:2px 0 4px!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .tab-btn{
    flex:0 0 auto!important;
    min-width:128px!important;
    min-height:42px!important;
    padding:10px 18px!important;
    font-size:14px!important;
  }
  #singleTab.active{
    padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px))!important;
  }
  #singleTab.active .sticky-actions{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(8px + env(safe-area-inset-bottom, 0px))!important;
    z-index:1500000!important;
    margin:0!important;
    padding:10px 12px!important;
    border-radius:18px!important;
    border:1px solid rgba(96,165,250,.42)!important;
    background:rgba(239,246,255,.97)!important;
    box-shadow:0 -8px 26px rgba(15,23,42,.10),0 10px 28px rgba(37,99,235,.13)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  #singleTab.active .sticky-actions .btn-main,
  #singleTab.active .sticky-actions .ghost{
    min-height:46px!important;
    font-size:15px!important;
    border-radius:999px!important;
  }
  body.is-suggest-open #singleTab.active .sticky-actions{
    z-index:2!important;
  }
}
@media(max-width:420px){
  .tab-btn{
    min-width:120px!important;
    padding:9px 16px!important;
    font-size:13.5px!important;
  }
  #singleTab.active .sticky-actions{
    left:8px!important;
    right:8px!important;
    padding:9px 10px!important;
  }
}

/* v65 单份快速粘贴识别 */
.single-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#quickPasteBtn.quick-paste-boost{background:linear-gradient(135deg,#10b981,#2563eb)!important;color:#fff!important;border:0!important;border-radius:999px!important;font-weight:950!important;box-shadow:0 12px 26px rgba(16,185,129,.22)!important;white-space:nowrap}
#quickPasteBtn.quick-paste-boost:hover{transform:translateY(-1px)!important;filter:brightness(1.05)!important;box-shadow:0 14px 30px rgba(16,185,129,.28)!important}
.quick-paste-modal[hidden]{display:none!important}.quick-paste-modal{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:18px}.quick-paste-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(8px)}
.quick-paste-card{position:relative;width:min(760px,calc(100vw - 28px));max-height:min(86vh,760px);display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border:1px solid #bfdbfe;border-radius:22px;box-shadow:0 28px 80px rgba(15,23,42,.30);padding:18px;overflow:hidden}.quick-paste-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quick-paste-head h2{font-size:20px;font-weight:950;margin:2px 0}.quick-paste-head p:not(.eyebrow){font-size:13px;color:#475569;line-height:1.5;margin-top:3px}.quick-paste-close{width:34px;height:34px;border-radius:12px;background:#eef2ff;color:#1e3a8a;font-size:22px;line-height:1;padding:0;flex:0 0 auto}.quick-paste-close:hover{background:#dbeafe;color:#1d4ed8}
.quick-paste-textarea{width:100%;min-height:210px;max-height:42vh;resize:vertical;border:1px solid #bfdbfe;border-radius:16px;background:#fff;color:#0f172a;font-size:14px;line-height:1.65;padding:12px 13px;outline:none;box-shadow:inset 0 1px 0 rgba(37,99,235,.05)}.quick-paste-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.quick-paste-stats{border:1px dashed #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.55;max-height:150px;overflow:auto}.quick-paste-stats.ok{border-style:solid;background:#ecfdf5;color:#065f46}.quick-paste-stats.warn{border-style:solid;background:#fff7ed;color:#9a3412}.quick-paste-stats b{font-weight:950}.quick-paste-stats code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;background:rgba(255,255,255,.72);padding:1px 5px;border-radius:6px;color:#1d4ed8}
.quick-paste-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.quick-paste-actions button{min-width:150px}.quick-paste-actions .primary{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff}
@media(max-width:700px){.single-title-actions{width:100%;justify-content:flex-start}.quick-paste-modal{padding:10px;align-items:end}.quick-paste-card{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding:14px}.quick-paste-head h2{font-size:18px}.quick-paste-textarea{min-height:220px;font-size:13px}.quick-paste-actions{display:grid;grid-template-columns:1fr;gap:8px}.quick-paste-actions button{width:100%;min-width:0}}

/* v66 快速识别移动端标题区与弹窗层级修复 */
.quick-paste-modal{
  z-index:2147483600!important;
  pointer-events:auto!important;
}
.quick-paste-backdrop,
.quick-paste-card{
  pointer-events:auto!important;
}
body.quick-paste-open{
  overflow:hidden!important;
}
@media(max-width:700px){
  .editor-panel .panel-title{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    justify-content:stretch!important;
    gap:8px!important;
    min-height:0!important;
  }
  .editor-panel .panel-title>div:first-child{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .editor-panel .panel-title h2{
    margin:0!important;
    padding:0!important;
    line-height:1.25!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }
  .single-title-actions{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    margin-top:0!important;
    position:relative!important;
    z-index:4!important;
  }
  .single-title-actions button,
  #quickPasteBtn.quick-paste-boost,
  #loadDemoBtn.demo-boost{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    padding:9px 8px!important;
    font-size:12px!important;
    line-height:1.1!important;
    text-align:center!important;
    justify-content:center!important;
  }
}
@media(max-width:360px){
  .single-title-actions{
    grid-template-columns:1fr!important;
  }
}

/* v69 quick paste: swapped actions; fill button is emphasized; recognized codes replace previous rows. */
.quick-paste-actions #quickPasteFillBtn.primary,.quick-paste-actions .primary.deep-fill{background:linear-gradient(135deg,#1e3a8a,#2563eb)!important;color:#fff!important;box-shadow:0 12px 26px rgba(30,58,138,.28)!important}.quick-paste-actions #quickPasteFillBtn.primary:hover,.quick-paste-actions .primary.deep-fill:hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}


/* v69: unmatched code warnings and two-column MCC/CC detail */
.code-row.unmatched-code{border-color:#ef4444!important;background:#fff7f7!important;box-shadow:0 0 0 1px rgba(239,68,68,.16),0 8px 18px rgba(239,68,68,.08)!important}
.code-row.unmatched-code .code-input{border-color:#ef4444!important;background:#fffafa!important;color:#991b1b!important;box-shadow:0 0 0 2px rgba(239,68,68,.10)!important}
.code-row.unmatched-code .row-help{color:#b91c1c!important;font-weight:800!important}
.code-row.unmatched-code .row-help::before{background:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important}
.quick-paste-stats.warn code{background:#fee2e2!important;border:1px solid #fecaca!important;color:#991b1b!important;border-radius:6px!important;padding:1px 5px!important;font-weight:800!important}
.severity-grid-2{grid-template-columns:1fr 1fr!important}
@media(max-width:760px){.severity-grid-2{grid-template-columns:1fr!important}}


/* v69 quick paste: progress display and single fill action */
.quick-paste-stats.busy{border-style:solid;background:#eff6ff;color:#1e3a8a}
.quick-progress{display:grid;gap:8px}
.quick-progress-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.quick-progress-title span{font-weight:950;color:#2563eb}
.quick-progress-detail{font-size:12px;line-height:1.55;color:#475569}
.quick-progress-detail code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:850;background:#dbeafe;color:#1d4ed8;border-radius:6px;padding:1px 5px}
.quick-progress-track{height:8px;border-radius:999px;background:#dbeafe;overflow:hidden;box-shadow:inset 0 1px 2px rgba(37,99,235,.16)}
.quick-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#06b6d4);transition:width .18s ease}
.quick-paste-actions{justify-content:flex-end}
.quick-paste-actions #quickPasteFillBtn{min-width:168px}
.quick-paste-actions button:disabled{opacity:.76;cursor:wait;transform:none!important}
@media(max-width:700px){.quick-paste-actions #quickPasteFillBtn{width:100%}}

/* v70.1: MCC/CC detail rows - prevent diagnosis names from becoming vertical. */
.severity-grid-2.severity-grid-single,
.severity-grid-3.severity-filled-1{grid-template-columns:1fr!important}
.severity-grid-3.severity-filled-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.severity-grid-2.severity-grid-single .severity-col.empty-col,
.severity-grid-3.severity-filled-1 .severity-col.empty-col,
.severity-grid-3.severity-filled-2 .severity-col.empty-col{display:none!important}
.severity-grid-2 .severity-col li,
.severity-grid-3 .severity-col li{grid-template-columns:44px 48px minmax(78px,96px) minmax(0,1fr) auto!important;gap:6px!important;align-items:start!important;padding:7px 9px!important}
.severity-grid-2 .severity-col li code,
.severity-grid-3 .severity-col li code{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;line-height:1.35!important;min-width:0!important;font-size:11px!important}
.severity-grid-2 .severity-col li span:last-child,
.severity-grid-3 .severity-col li span:last-child{min-width:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;line-height:1.4!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important}
.severity-grid-2 .severity-col li em,
.severity-grid-3 .severity-col li em{white-space:normal!important;line-height:1.3!important;min-width:0!important}
@media(max-width:560px){.severity-grid-2 .severity-col li,.severity-grid-3 .severity-col li{grid-template-columns:44px minmax(0,1fr)!important}.severity-grid-2 .severity-col li code,.severity-grid-2 .severity-col li span:last-child,.severity-grid-2 .severity-col li em,.severity-grid-3 .severity-col li code,.severity-grid-3 .severity-col li span:last-child,.severity-grid-3 .severity-col li em{grid-column:2/-1!important}}

/* ===== v74: custom batch weight table + privacy warning ===== */
.batch-sensitive-warning{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:11px!important;font-weight:900;line-height:1.4}
.batch-sensitive-warning:before{content:'⚠';font-size:12px}.weight-status{margin:8px 0 8px;padding:8px 11px;border-radius:12px;border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;font-size:12px;line-height:1.5}.weight-status.empty{background:#f8fafc;border-color:#e2e8f0;color:#64748b}.weight-status.ready{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.weight-status b{font-weight:950}.batch-upload-actions a.batch-action-main{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.batch-upload-actions .weight-template-action{background:linear-gradient(135deg,#4f46e5,#8b5cf6)!important;border-color:#4f46e5!important;color:#fff!important}.batch-upload-actions .weight-upload-action{background:linear-gradient(135deg,#9333ea,#c084fc)!important;border-color:#9333ea!important;color:#fff!important}.metric.metric-tight.custom{border-left-color:#8b5cf6!important;background:#f5f3ff!important}.batch-weight.custom{background:#f5f3ff!important;border-color:#ddd6fe!important;color:#6d28d9!important}.batch-grouping-mini{grid-template-columns:repeat(5,minmax(0,1fr))}.batch-grouping-mini>div:nth-child(5),.weight-mini-card{background:#f5f3ff!important;border-color:#ddd6fe!important}.weight-mini-card b{color:#6d28d9!important}.custom-weight-note{display:block;color:#6d28d9;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-summary-left:has(.metric.custom){grid-template-rows:repeat(3,1fr)!important}@media(max-width:1180px){.batch-grouping-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-summary-left:has(.metric.custom){grid-template-columns:1fr 1fr 1fr!important;grid-template-rows:auto!important}}@media(max-width:820px){.batch-sensitive-warning{border-radius:12px;align-items:flex-start}.batch-grouping-mini{grid-template-columns:1fr}.batch-summary-left:has(.metric.custom){grid-template-columns:1fr!important}}
.batch-upload-actions{flex-wrap:wrap!important}.batch-upload-actions .batch-action-main,.batch-upload-actions .file-btn,.batch-upload-actions #clearBatchBtn{min-width:150px!important}

/* ===== v76: batch split upload area + local weight switch + sticky controls ===== */
.hidden-file-input{display:none!important}
.batch-upload-split{display:grid!important;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0 12px;align-items:stretch}
.batch-upload-split .upload-drop-zone{margin:0!important;min-height:96px;display:flex!important;align-items:center!important;gap:14px!important;padding:16px 18px!important;border:2px dashed #bfdbfe!important;border-radius:18px!important;background:linear-gradient(135deg,#eff6ff,#ffffff)!important;color:#1e3a8a!important;cursor:pointer!important;transition:.18s ease!important;box-shadow:0 8px 22px rgba(37,99,235,.06)!important;min-width:0}
.batch-upload-split .upload-drop-zone:hover,.batch-upload-split .upload-drop-zone.drag-over{border-color:#2563eb!important;background:linear-gradient(135deg,#dbeafe,#f8fbff)!important;transform:translateY(-1px);box-shadow:0 14px 30px rgba(37,99,235,.12)!important}
.batch-upload-split .weight-drop-zone{border-color:#ddd6fe!important;background:linear-gradient(135deg,#f5f3ff,#ffffff)!important;color:#4c1d95!important}
.batch-upload-split .weight-drop-zone:hover,.batch-upload-split .weight-drop-zone.drag-over{border-color:#8b5cf6!important;background:linear-gradient(135deg,#ede9fe,#ffffff)!important;box-shadow:0 14px 30px rgba(124,58,237,.12)!important}
.batch-upload-split .drop-icon{flex:0 0 auto;width:48px!important;height:48px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#2563eb,#60a5fa)!important;color:#fff!important;font-size:24px!important;font-weight:950!important;box-shadow:0 8px 18px rgba(37,99,235,.25)!important}
.batch-upload-split .weight-icon{background:linear-gradient(135deg,#7c3aed,#c084fc)!important;box-shadow:0 8px 18px rgba(124,58,237,.24)!important}
.batch-upload-split strong{display:block;font-size:15px;margin-bottom:4px;color:inherit}.batch-upload-split span{display:block;font-size:12px;color:#64748b;line-height:1.42}.batch-upload-split .weight-drop-zone span{color:#6b5a85}
.batch-upload-split .weight-status{margin:8px 0 0!important;padding:7px 9px!important;border-radius:10px!important;font-size:12px!important;line-height:1.42!important}
.batch-result-toolbar{position:sticky!important;top:62px!important;z-index:300!important;display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:0 0 12px!important;background:rgba(255,255,255,.96)!important;border:1px solid #bfdbfe!important;box-shadow:0 12px 30px rgba(37,99,235,.14)!important;backdrop-filter:blur(14px)}
.batch-toolbar-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;align-items:center!important;gap:10px!important;width:100%!important}
.batch-toolbar-actions button{width:auto!important;min-width:0!important;white-space:nowrap!important}
.batch-toolbar-actions button:nth-child(1){justify-self:start!important}.batch-toolbar-actions button:nth-child(2){justify-self:center!important}.batch-toolbar-actions button:nth-child(3){justify-self:end!important}
.batch-weight-switch-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;padding-top:8px!important;border-top:1px dashed #dbeafe!important}
.weight-mode-control{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:950;color:#1e3a8a}.weight-mode-control select{height:34px;border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:#0f172a;font-weight:900;padding:0 34px 0 12px;box-shadow:0 3px 10px rgba(37,99,235,.08)}.weight-mode-note{font-size:12px;color:#64748b;font-weight:800;line-height:1.35}.batch-weight.custom,.batch-weight:has(+ .batch-drg-strong){white-space:nowrap!important}
.batch-result-toolbar button[data-action="regroup-all"]{width:auto!important;justify-content:center!important}.batch-result-toolbar button[data-action="download-batch"]{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;border:1px solid #2563eb;box-shadow:0 10px 24px rgba(37,99,235,.18);font-weight:900}.batch-result-toolbar button[data-action="clear-batch"]{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;font-weight:900}
.batch-card[open]>summary{position:sticky!important;top:156px!important;z-index:240!important;border-bottom:1px solid #dbeafe!important;box-shadow:0 10px 22px rgba(37,99,235,.10)!important;background:linear-gradient(135deg,#ffffff,#f8fbff)!important}
@media(max-width:900px){.batch-upload-split{grid-template-columns:1fr!important}.batch-result-toolbar{top:78px!important}.batch-card[open]>summary{top:178px!important}.batch-toolbar-actions{grid-template-columns:1fr!important}.batch-toolbar-actions button{justify-self:stretch!important;width:100%!important}.batch-weight-switch-row{align-items:flex-start!important}.weight-mode-control{width:100%;justify-content:space-between}.weight-mode-control select{min-width:172px}.weight-mode-note{width:100%}}
@media(max-width:560px){.batch-result-toolbar{top:76px!important}.batch-card[open]>summary{top:176px!important}.batch-upload-split .upload-drop-zone{padding:14px!important}.batch-upload-split .drop-icon{width:42px!important;height:42px!important}}

/* ===== v77: compact batch controls + summary weight selector ===== */
.batch-panel .panel-title{align-items:flex-start!important;gap:16px!important}
.batch-panel .panel-title>div:first-child{min-width:0!important;flex:1 1 auto!important}
.batch-template-note{max-width:860px!important;line-height:1.45!important}
.batch-upload-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;min-width:max-content!important}
.batch-upload-actions .batch-action-main,.batch-upload-actions .file-btn{min-width:0!important;width:auto!important;white-space:nowrap!important;padding:8px 11px!important;font-size:12px!important;border-radius:11px!important}
.batch-upload-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;margin:8px 0 10px!important}
.batch-upload-split .upload-drop-zone{min-height:72px!important;padding:10px 14px!important;border-radius:15px!important;gap:10px!important}
.batch-upload-split .drop-icon{width:38px!important;height:38px!important;border-radius:13px!important;font-size:20px!important}
.batch-upload-split strong{font-size:14px!important;margin-bottom:2px!important}.batch-upload-split span{font-size:11.5px!important;line-height:1.35!important}
.batch-upload-split .weight-status{margin:6px 0 0!important;padding:5px 8px!important;font-size:11.5px!important;line-height:1.35!important}
.top-drg-panel,.top-drg-empty,.batch-summary-right{display:none!important}
#batchReport.report-grid{display:block!important;margin:8px 0 10px!important}
.batch-summary-compact.batch-summary-inline{display:grid!important;grid-template-columns:1fr 1fr 1.25fr!important;gap:10px!important;align-items:stretch!important}
.batch-summary-inline .metric.metric-tight{min-height:68px!important;padding:10px 12px!important;border-radius:13px!important}
.batch-summary-inline .weight-select-metric{display:grid!important;grid-template-columns:auto minmax(210px,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:12px!important;row-gap:4px!important;border-left-color:#8b5cf6!important;background:#f5f3ff!important}
.batch-summary-inline .weight-select-metric>span:first-child{grid-column:1/2;grid-row:1/3;color:#6d28d9!important;font-weight:950!important;white-space:nowrap!important}
.batch-summary-inline .weight-select-metric .weight-mode-control{grid-column:2/3;grid-row:1/2;justify-self:start!important}
.batch-summary-inline .weight-select-metric .weight-mode-note{grid-column:2/3;grid-row:2/3;font-size:11.5px!important;color:#7c3aed!important;line-height:1.25!important}
.weight-mode-control.compact select{min-width:168px!important;height:32px!important;border-color:#c4b5fd!important}.weight-mode-note.compact{display:block!important}
.batch-result-toolbar{top:62px!important;padding:10px 12px!important;border-radius:15px!important;gap:0!important}
.batch-toolbar-actions{grid-template-columns:1fr 1fr 1fr!important;width:100%!important}.batch-toolbar-actions button:nth-child(1){justify-self:start!important}.batch-toolbar-actions button:nth-child(2){justify-self:center!important}.batch-toolbar-actions button:nth-child(3){justify-self:end!important}
.batch-weight-switch-row{display:none!important}.batch-card[open]>summary{position:sticky!important;top:126px!important;z-index:260!important;background:linear-gradient(135deg,#ffffff,#f8fbff)!important;border-bottom:1px solid #dbeafe!important;box-shadow:0 10px 22px rgba(37,99,235,.10)!important}
@media(max-width:1080px){.batch-panel .panel-title{display:block!important}.batch-upload-actions{justify-content:flex-start!important;margin-top:10px!important;min-width:0!important;overflow-x:auto!important;padding-bottom:2px!important}.batch-summary-compact.batch-summary-inline{grid-template-columns:1fr!important}.batch-summary-inline .weight-select-metric{grid-template-columns:1fr!important}.batch-summary-inline .weight-select-metric>span:first-child,.batch-summary-inline .weight-select-metric .weight-mode-control,.batch-summary-inline .weight-select-metric .weight-mode-note{grid-column:1!important;grid-row:auto!important}.batch-card[open]>summary{top:138px!important}}
@media(max-width:900px){.batch-upload-split{grid-template-columns:1fr!important}.batch-result-toolbar{top:78px!important}.batch-card[open]>summary{top:154px!important}.batch-toolbar-actions{grid-template-columns:1fr!important}.batch-toolbar-actions button{justify-self:stretch!important;width:100%!important}.batch-upload-actions{flex-wrap:wrap!important}}

/* ===== v78: tighter batch header, horizontal summary metrics, dropdown weight switch ===== */
.batch-compact-title{display:grid!important;grid-template-columns:minmax(260px,1fr) auto!important;align-items:start!important;gap:14px!important;margin-bottom:8px!important}
.batch-title-copy h2{margin-bottom:6px!important}.batch-title-copy .batch-sensitive-warning{margin-top:4px!important}
.batch-upload-actions{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;justify-content:flex-end!important;gap:8px!important;min-width:0!important;max-width:760px!important}
.template-action-stack{display:grid!important;gap:5px!important;min-width:430px!important;max-width:540px!important}.template-action-stack #templateBtn{justify-self:start!important}
.batch-template-note{margin:0!important;max-width:540px!important;font-size:11.5px!important;line-height:1.35!important;color:#52627a!important}
.batch-upload-actions .weight-upload-action{display:none!important}.batch-upload-actions .batch-action-main{height:36px!important;padding:8px 13px!important;border-radius:12px!important;white-space:nowrap!important}
.batch-upload-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;margin:6px 0 8px!important}.batch-upload-split .upload-drop-zone{min-height:58px!important;padding:8px 12px!important;border-radius:14px!important;gap:9px!important}.batch-upload-split .drop-icon{width:34px!important;height:34px!important;border-radius:12px!important;font-size:18px!important}.batch-upload-split strong{font-size:13px!important;margin-bottom:1px!important}.batch-upload-split span{font-size:11px!important;line-height:1.28!important}.batch-upload-split .weight-status{margin:4px 0 0!important;padding:4px 7px!important;font-size:11px!important;line-height:1.25!important;border-radius:9px!important}.batch-panel>.hint{margin:4px 0 8px!important;padding:7px 10px!important;font-size:12px!important;line-height:1.4!important}
#batchReport.report-grid{display:block!important;margin:6px 0 8px!important;width:100%!important}.batch-summary-compact.batch-summary-inline{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,1.35fr)!important;gap:10px!important;align-items:stretch!important;width:100%!important}.batch-summary-inline .metric.metric-tight{display:grid!important;min-height:56px!important;padding:9px 12px!important;border-radius:13px!important}.batch-summary-inline .metric.metric-tight span{margin:0!important;font-size:11px!important}.batch-summary-inline .metric.metric-tight strong{align-self:end!important;font-size:24px!important;line-height:1!important;text-align:right!important}.batch-summary-inline .weight-select-metric{grid-template-columns:auto minmax(180px,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;min-width:0!important}.batch-summary-inline .weight-select-metric>span:first-child{grid-row:1/3!important;align-self:center!important}.batch-summary-inline .weight-select-metric .weight-mode-control{min-width:0!important;justify-self:start!important}.batch-summary-inline .weight-select-metric .weight-mode-control select{min-width:180px!important;height:31px!important}.batch-summary-inline .weight-select-metric .weight-mode-note{font-size:11px!important;line-height:1.2!important;white-space:normal!important}.batch-summary-inline .weight-mode-control.compact{display:inline-flex!important}.batch-summary-inline .weight-mode-control.compact select{display:inline-block!important}.batch-result-toolbar{top:58px!important;margin-top:4px!important;padding:9px 12px!important}.batch-toolbar-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;width:100%!important;gap:10px!important}.batch-toolbar-actions button:nth-child(1){justify-self:start!important}.batch-toolbar-actions button:nth-child(2){justify-self:center!important}.batch-toolbar-actions button:nth-child(3){justify-self:end!important}.batch-card[open]>summary{top:118px!important}
@media(max-width:1080px){.batch-compact-title{grid-template-columns:1fr!important}.batch-upload-actions{justify-content:flex-start!important;max-width:none!important;overflow-x:auto!important;padding-bottom:3px!important}.template-action-stack{min-width:360px!important;max-width:520px!important}.batch-summary-compact.batch-summary-inline{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,1.25fr)!important}.batch-card[open]>summary{top:128px!important}}
@media(max-width:760px){.batch-upload-actions{flex-wrap:wrap!important}.template-action-stack{min-width:0!important;width:100%!important}.batch-upload-split{grid-template-columns:1fr!important}.batch-summary-compact.batch-summary-inline{grid-template-columns:1fr!important}.batch-toolbar-actions{grid-template-columns:1fr!important}.batch-toolbar-actions button{justify-self:stretch!important;width:100%!important}.batch-card[open]>summary{top:148px!important}}

/* ===== v79: 按标注图重排批量页头部与结果摘要 ===== */
.batch-compact-title{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) minmax(430px,auto)!important;
  align-items:start!important;
  gap:14px!important;
  margin-bottom:6px!important;
}
.batch-title-copy h2{margin-bottom:5px!important;line-height:1.1!important}
.batch-title-copy .eyebrow{margin-bottom:3px!important}
.batch-sensitive-warning{margin-top:5px!important}
.batch-upload-actions{
  justify-self:end!important;
  display:block!important;
  width:auto!important;
  max-width:620px!important;
  min-width:0!important;
  padding:9px 10px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#eff6ff,#fff)!important;
  border:1px solid #dbeafe!important;
  box-shadow:0 8px 22px rgba(37,99,235,.10)!important;
}
.template-action-stack{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
}
.template-button-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
.template-button-row .batch-action-main{
  flex:0 0 auto!important;
  min-width:0!important;
  width:auto!important;
  height:34px!important;
  padding:7px 12px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.template-action-stack #templateBtn{justify-self:auto!important}
.batch-template-note{
  margin:0!important;
  max-width:520px!important;
  font-size:11px!important;
  line-height:1.32!important;
  color:#52627a!important;
  text-align:left!important;
}
.batch-upload-split{margin:6px 0 7px!important;gap:9px!important}
.batch-upload-split .upload-drop-zone{min-height:54px!important;padding:8px 12px!important}
.batch-panel>.hint{margin:3px 0 7px!important;padding:6px 10px!important;font-size:11.5px!important;line-height:1.35!important}
#batchReport.report-grid{
  display:block!important;
  width:100%!important;
  margin:6px 0 10px!important;
  clear:both!important;
}
#batchReport .batch-summary-compact.batch-summary-inline{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,1fr)!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  align-items:stretch!important;
}
#batchReport .batch-summary-inline .metric.metric-tight{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  min-height:52px!important;
  padding:9px 14px!important;
  border-radius:14px!important;
}
#batchReport .batch-summary-inline .metric.metric-tight span{
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#batchReport .batch-summary-inline .metric.metric-tight strong{
  align-self:center!important;
  justify-self:end!important;
  font-size:25px!important;
  line-height:1!important;
  text-align:right!important;
}
#batchReport .batch-summary-inline .weight-select-metric{
  grid-template-columns:auto minmax(190px,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  row-gap:3px!important;
  border-left-color:#8b5cf6!important;
  background:#f5f3ff!important;
}
#batchReport .batch-summary-inline .weight-select-metric>span:first-child{
  grid-column:1/2!important;
  grid-row:1/3!important;
  align-self:center!important;
  color:#6d28d9!important;
  font-weight:950!important;
}
#batchReport .batch-summary-inline .weight-select-metric .weight-mode-control{
  grid-column:2/3!important;
  grid-row:1/2!important;
  justify-self:start!important;
  display:inline-flex!important;
}
#batchReport .batch-summary-inline .weight-select-metric .weight-mode-control select{
  display:inline-block!important;
  min-width:190px!important;
  height:31px!important;
  border-color:#c4b5fd!important;
}
#batchReport .batch-summary-inline .weight-select-metric .weight-mode-note{
  grid-column:2/3!important;
  grid-row:2/3!important;
  display:block!important;
  font-size:11px!important;
  line-height:1.22!important;
  color:#7c3aed!important;
  white-space:normal!important;
}
.batch-summary-left,.batch-summary-right,.top-drg-panel,.top-drg-empty{display:none!important}
.batch-result-toolbar{top:58px!important;margin-top:4px!important}
.batch-card[open]>summary{top:118px!important}
@media(max-width:1180px){
  .batch-compact-title{grid-template-columns:1fr!important}
  .batch-upload-actions{justify-self:start!important;max-width:100%!important;margin-top:6px!important}
  .template-button-row{justify-content:flex-start!important}
  #batchReport .batch-summary-compact.batch-summary-inline{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,1.15fr)!important}
}
@media(max-width:860px){
  #batchReport .batch-summary-compact.batch-summary-inline{grid-template-columns:1fr!important}
  #batchReport .batch-summary-inline .metric.metric-tight{min-height:48px!important}
}
@media(max-width:680px){
  .template-button-row{flex-wrap:wrap!important}
  .template-button-row .batch-action-main{flex:1 1 180px!important}
  .batch-upload-split{grid-template-columns:1fr!important}
}

/* ===== v80: 批量结果摘要强制放入结果区，确保横向三段显示 ===== */
#batchReport:empty{display:none!important;margin:0!important;padding:0!important}
.batch-results>.batch-summary-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(320px,1.15fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:2px 0 0!important;
}
.batch-summary-row .batch-summary-item{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  min-height:48px!important;
  padding:8px 14px!important;
  border:1px solid #dbeafe!important;
  border-left:4px solid #2563eb!important;
  border-radius:13px!important;
  background:#eff6ff!important;
  box-shadow:0 3px 10px rgba(37,99,235,.06)!important;
}
.batch-summary-row .batch-summary-item.ok{
  border-left-color:#10b981!important;
  background:#ecfdf5!important;
}
.batch-summary-row .batch-summary-item.weight-switch{
  grid-template-columns:auto minmax(190px,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  row-gap:2px!important;
  border-left-color:#8b5cf6!important;
  background:#f5f3ff!important;
}
.batch-summary-row .batch-summary-item>span:first-child{
  color:#475569!important;
  font-size:12px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.batch-summary-row .batch-summary-item>strong{
  color:#0f172a!important;
  font-size:25px!important;
  line-height:1!important;
  font-weight:950!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}
.batch-summary-row .weight-switch>span:first-child{
  grid-column:1/2!important;
  grid-row:1/3!important;
  align-self:center!important;
  color:#6d28d9!important;
}
.batch-summary-row .weight-switch .weight-mode-control{
  grid-column:2/3!important;
  grid-row:1/2!important;
  justify-self:start!important;
  display:inline-flex!important;
  min-width:0!important;
}
.batch-summary-row .weight-switch .weight-mode-control select{
  display:inline-block!important;
  min-width:190px!important;
  height:31px!important;
  border-color:#c4b5fd!important;
}
.batch-summary-row .weight-switch .weight-mode-note{
  grid-column:2/3!important;
  grid-row:2/3!important;
  display:block!important;
  font-size:11px!important;
  line-height:1.2!important;
  color:#7c3aed!important;
  white-space:normal!important;
}
.batch-result-toolbar{margin-top:0!important}
@media(max-width:960px){
  .batch-results>.batch-summary-row{grid-template-columns:1fr!important}
  .batch-summary-row .batch-summary-item.weight-switch{grid-template-columns:1fr!important}
  .batch-summary-row .weight-switch>span:first-child,.batch-summary-row .weight-switch .weight-mode-control,.batch-summary-row .weight-switch .weight-mode-note{grid-column:1!important;grid-row:auto!important}
}

/* ===== v81: show batch stats + weight selector in the dedicated row above actions ===== */
#batchReport.report-grid{
  display:block!important;
  width:100%!important;
  margin:8px 0 10px!important;
  padding:0!important;
  clear:both!important;
}
#batchReport:empty{display:none!important;margin:0!important;padding:0!important}
#batchReport>.batch-summary-row.batch-summary-visible{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,1fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:0!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .batch-summary-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  min-height:58px!important;
  padding:10px 16px!important;
  border:1px solid #bfdbfe!important;
  border-left:5px solid #2563eb!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#eff6ff,#ffffff)!important;
  box-shadow:0 8px 20px rgba(37,99,235,.08)!important;
  overflow:visible!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .batch-summary-item.ok{
  border-color:#bbf7d0!important;
  border-left-color:#10b981!important;
  background:linear-gradient(135deg,#ecfdf5,#ffffff)!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .batch-summary-item.weight-switch{
  grid-template-columns:auto minmax(180px,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  row-gap:2px!important;
  border-color:#ddd6fe!important;
  border-left-color:#8b5cf6!important;
  background:linear-gradient(135deg,#f5f3ff,#ffffff)!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .batch-summary-item>span:first-child{
  color:#334155!important;
  font-size:13px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .batch-summary-item>strong{
  justify-self:end!important;
  color:#020617!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .weight-switch>span:first-child{
  grid-column:1/2!important;
  grid-row:1/3!important;
  align-self:center!important;
  color:#6d28d9!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .weight-switch .weight-mode-control{
  grid-column:2/3!important;
  grid-row:1/2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .weight-switch .weight-mode-control select{
  display:block!important;
  width:100%!important;
  max-width:260px!important;
  min-width:180px!important;
  height:34px!important;
  padding:0 12px!important;
  border:1px solid #c4b5fd!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#4c1d95!important;
  font-weight:900!important;
}
#batchReport>.batch-summary-row.batch-summary-visible .weight-switch .weight-mode-note{
  grid-column:2/3!important;
  grid-row:2/3!important;
  display:block!important;
  color:#7c3aed!important;
  font-size:11px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
@media(max-width:900px){
  #batchReport>.batch-summary-row.batch-summary-visible{grid-template-columns:1fr!important}
  #batchReport>.batch-summary-row.batch-summary-visible .batch-summary-item.weight-switch{grid-template-columns:1fr!important}
  #batchReport>.batch-summary-row.batch-summary-visible .weight-switch>span:first-child,
  #batchReport>.batch-summary-row.batch-summary-visible .weight-switch .weight-mode-control,
  #batchReport>.batch-summary-row.batch-summary-visible .weight-switch .weight-mode-note{grid-column:1!important;grid-row:auto!important}
}

/* ===== v82: visible batch summary row + pagination ===== */
#batchReport.report-grid{display:none!important;margin:0!important;padding:0!important}
.batch-stats-bar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,1.15fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:10px 0 8px!important;
  clear:both!important;
}
.batch-stat-box{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  min-height:62px!important;
  padding:10px 16px!important;
  border:1px solid #bfdbfe!important;
  border-left:5px solid #2563eb!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#eff6ff,#fff)!important;
  box-shadow:0 8px 20px rgba(37,99,235,.08)!important;
  overflow:visible!important;
}
.batch-stat-box>span:first-child{
  color:#334155!important;
  font-size:13px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.batch-stat-box>strong{
  justify-self:end!important;
  color:#020617!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
}
.batch-stat-box.stat-ok{border-color:#bbf7d0!important;border-left-color:#10b981!important;background:linear-gradient(135deg,#ecfdf5,#fff)!important}
.batch-stat-box.stat-weight{
  grid-template-columns:auto minmax(180px,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  row-gap:2px!important;
  border-color:#ddd6fe!important;
  border-left-color:#8b5cf6!important;
  background:linear-gradient(135deg,#f5f3ff,#fff)!important;
}
.batch-stat-box.stat-weight>span:first-child{grid-column:1/2!important;grid-row:1/3!important;align-self:center!important;color:#6d28d9!important}
.batch-stat-control{grid-column:2/3!important;grid-row:1/3!important;display:grid!important;grid-template-columns:minmax(180px,260px) minmax(0,1fr)!important;gap:8px 10px!important;align-items:center!important;min-width:0!important}
.batch-stat-control .weight-mode-control{display:flex!important;min-width:0!important;margin:0!important}
.batch-stat-control .weight-mode-control select{display:block!important;width:100%!important;height:34px!important;padding:0 12px!important;border:1px solid #c4b5fd!important;border-radius:999px!important;background:#fff!important;color:#4c1d95!important;font-weight:900!important}
.batch-stat-control .weight-mode-note{display:block!important;color:#7c3aed!important;font-size:11px!important;line-height:1.25!important;white-space:normal!important;min-width:0!important}
.batch-page-list{display:grid!important;gap:10px!important}
.batch-result-toolbar{gap:8px!important}
.batch-pager{
  display:grid!important;
  grid-template-columns:1fr auto auto!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  padding-top:8px!important;
  border-top:1px dashed #bfdbfe!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:800!important;
}
.batch-page-size{display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
.batch-page-size select{height:30px!important;border:1px solid #bfdbfe!important;border-radius:999px!important;background:#fff!important;color:#1d4ed8!important;font-weight:900!important;padding:0 8px!important}
.batch-pager-buttons{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}
.batch-pager-buttons button{padding:6px 10px!important;border-radius:999px!important;border:1px solid #bfdbfe!important;background:#fff!important;color:#1d4ed8!important;font-weight:900!important}
.batch-pager-buttons button:disabled{opacity:.45!important;cursor:not-allowed!important;box-shadow:none!important}
@media(max-width:960px){
  .batch-stats-bar{grid-template-columns:1fr!important}
  .batch-stat-box.stat-weight{grid-template-columns:1fr!important}
  .batch-stat-box.stat-weight>span:first-child,.batch-stat-control{grid-column:1!important;grid-row:auto!important}
  .batch-stat-control{grid-template-columns:1fr!important}
  .batch-pager{grid-template-columns:1fr!important;justify-items:start!important}
  .batch-pager-buttons{flex-wrap:wrap!important}
}

/* ===== v83: batch search and weight sorting toolbar ===== */
.batch-toolbar-actions.batch-toolbar-four{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
}
.batch-toolbar-actions.batch-toolbar-four button{
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  border-radius:13px!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.batch-toolbar-actions.batch-toolbar-four button:nth-child(n){justify-self:stretch!important}
.batch-toolbar-actions.batch-toolbar-four .batch-tool-search{
  background:linear-gradient(135deg,#0ea5e9,#2563eb)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(14,165,233,.18)!important;
}
.batch-toolbar-actions.batch-toolbar-four .batch-tool-sort{
  background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(124,58,237,.18)!important;
}
.batch-search-panel{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto auto minmax(180px,.8fr)!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  margin-top:10px!important;
  padding:10px 12px!important;
  border:1px dashed #93c5fd!important;
  border-radius:14px!important;
  background:rgba(239,246,255,.78)!important;
}
.batch-search-panel label{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  margin:0!important;
  color:#1e3a8a!important;
  font-size:12px!important;
  font-weight:950!important;
}
.batch-search-panel input{
  width:100%!important;
  height:34px!important;
  border:1px solid #bfdbfe!important;
  border-radius:999px!important;
  padding:0 12px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-weight:800!important;
}
.batch-search-panel button{
  height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#fff!important;
  color:#1d4ed8!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.batch-filter-status{
  color:#475569!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  justify-self:end!important;
}
@media(max-width:900px){
  .batch-toolbar-actions.batch-toolbar-four{grid-template-columns:1fr 1fr!important}
  .batch-search-panel{grid-template-columns:1fr!important}
  .batch-search-panel label{grid-template-columns:1fr!important}
  .batch-filter-status{justify-self:start!important;white-space:normal!important}
}
@media(max-width:560px){
  .batch-toolbar-actions.batch-toolbar-four{grid-template-columns:1fr!important}
}


/* ===== v84: five evenly-spaced batch actions, search/sort as dropdowns ===== */
.batch-toolbar-actions.batch-toolbar-five{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:start!important;
  gap:12px!important;
  width:100%!important;
}
.batch-toolbar-actions.batch-toolbar-five .batch-action-cell{
  position:relative!important;
  min-width:0!important;
  display:flex!important;
  justify-content:stretch!important;
}
.batch-toolbar-actions.batch-toolbar-five .batch-action-cell>button{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  border-radius:13px!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
.batch-toolbar-actions.batch-toolbar-five button[data-action="regroup-all"]{
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(37,99,235,.18)!important;
}
.batch-toolbar-actions.batch-toolbar-five button[data-action="download-batch"]{
  background:linear-gradient(135deg,#2563eb,#60a5fa)!important;
  color:#fff!important;
  border:1px solid #2563eb!important;
  box-shadow:0 10px 24px rgba(37,99,235,.18)!important;
}
.batch-toolbar-actions.batch-toolbar-five button[data-action="clear-batch"]{
  background:#fff7ed!important;
  color:#c2410c!important;
  border:1px solid #fed7aa!important;
  box-shadow:0 8px 18px rgba(249,115,22,.10)!important;
}
.batch-toolbar-actions.batch-toolbar-five .batch-tool-search{
  background:linear-gradient(135deg,#06b6d4,#2563eb)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(6,182,212,.20)!important;
}
.batch-toolbar-actions.batch-toolbar-five .batch-tool-sort{
  background:linear-gradient(135deg,#f59e0b,#7c3aed)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(124,58,237,.20)!important;
}
.batch-toolbar-actions.batch-toolbar-five .batch-tool-search.active{
  background:linear-gradient(135deg,#0891b2,#1d4ed8)!important;
  color:#fff!important;
  border:0!important;
}
.batch-toolbar-actions.batch-toolbar-five .batch-tool-sort.active{
  background:linear-gradient(135deg,#d97706,#6d28d9)!important;
  color:#fff!important;
  border:0!important;
}
.batch-dropdown-cell.open{z-index:80!important}
.batch-action-dropdown{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  width:min(360px,calc(100vw - 48px))!important;
  padding:12px!important;
  border:1px solid #bfdbfe!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
  display:grid!important;
  gap:9px!important;
  z-index:90!important;
}
.batch-toolbar-actions.batch-toolbar-five .batch-action-cell:nth-child(4) .batch-action-dropdown,
.batch-toolbar-actions.batch-toolbar-five .batch-action-cell:nth-child(5) .batch-action-dropdown{
  left:auto!important;
  right:0!important;
}
.batch-dropdown-label{
  color:#1e3a8a!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.25!important;
}
.batch-search-dropdown input{
  width:100%!important;
  height:36px!important;
  border:1px solid #bfdbfe!important;
  border-radius:999px!important;
  padding:0 12px!important;
  background:#f8fbff!important;
  color:#0f172a!important;
  font-weight:850!important;
}
.batch-dropdown-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.batch-dropdown-actions button{
  height:34px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#fff!important;
  color:#1d4ed8!important;
  font-weight:950!important;
  box-shadow:none!important;
}
.batch-sort-dropdown{
  width:min(300px,calc(100vw - 48px))!important;
}
.batch-sort-select{
  width:100%!important;
  height:38px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#f8fbff!important;
  color:#1d4ed8!important;
  font-weight:950!important;
  padding:0 36px 0 12px!important;
  outline:none!important;
}
.batch-sort-select:focus{
  border-color:#7c3aed!important;
  box-shadow:0 0 0 3px rgba(124,58,237,.14)!important;
}
.batch-search-dropdown .batch-filter-status{
  justify-self:start!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:normal!important;
}
.batch-result-toolbar .batch-search-panel{display:none!important}
@media(max-width:1100px){
  .batch-toolbar-actions.batch-toolbar-five{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .batch-toolbar-actions.batch-toolbar-five{grid-template-columns:1fr!important}
  .batch-action-dropdown{position:static!important;width:100%!important;margin-top:8px!important;box-shadow:0 10px 24px rgba(15,23,42,.12)!important}
}


/* ===== v86: keep expanded batch case header below the sticky action/pager bar ===== */
:root{
  --batch-result-toolbar-top:62px;
  --batch-open-summary-top:176px;
}
.batch-result-toolbar{
  top:var(--batch-result-toolbar-top)!important;
}
.batch-card{
  scroll-margin-top:calc(var(--batch-open-summary-top) + 12px)!important;
}
.batch-card[open]>summary{
  top:var(--batch-open-summary-top)!important;
  z-index:260!important;
}

/* ===== v88: PFBZ_HZ quality audit warnings ===== */
.quality-alert-panel{border-color:#fbbf24!important;background:linear-gradient(135deg,#fffbeb,#fff7ed)!important;box-shadow:0 8px 22px rgba(245,158,11,.10)!important}
.quality-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.quality-title h4{margin:0!important;color:#92400e!important}.quality-title span{display:inline-flex;align-items:center;border-radius:999px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;padding:3px 8px;font-size:11px;font-weight:950;white-space:nowrap}.quality-alert-panel ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.quality-alert-panel li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px;align-items:start;border:1px solid #fde68a;background:rgba(255,255,255,.78);border-radius:10px;padding:8px}.quality-alert-panel li>span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;padding:3px 7px;font-size:10px;font-weight:950;white-space:nowrap}.quality-alert-panel li b{display:block;color:#78350f;font-size:12px;line-height:1.45;font-weight:800}.quality-codes{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.quality-codes code{border-radius:6px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;padding:2px 5px;font-size:11px}.quality-mini{display:inline-flex;align-items:center;justify-content:center;border:1px solid #f59e0b;background:#fef3c7;color:#92400e;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;white-space:nowrap}.batch-card summary{grid-template-columns:minmax(120px,.85fr) 90px 100px 94px minmax(150px,1.35fr) 94px 90px!important}@media(max-width:820px){.quality-alert-panel li{grid-template-columns:1fr}.batch-card summary{grid-template-columns:1fr 90px 84px!important}.quality-mini{grid-column:auto}}


/* ===== v91: 关于页与正式站点名称 ===== */
.about-main{max-width:1180px;margin:0 auto;padding:16px 24px 28px;display:block}
.about-panel{background:linear-gradient(180deg,#ffffff,#f6f9ff)!important;border-color:#c7d2fe!important}
.about-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:stretch;padding:22px;border-radius:18px;background:linear-gradient(135deg,#1d4ed8,#2563eb 54%,#7c3aed);color:#fff;box-shadow:0 18px 46px rgba(37,99,235,.22);margin-bottom:16px}
.about-hero .eyebrow{color:#bfdbfe}.about-hero h2{font-size:26px;line-height:1.15;margin:4px 0 8px;font-weight:950}.about-hero p{font-size:14px;line-height:1.75;opacity:.95;max-width:760px}.about-version-card{display:grid;align-content:center;gap:7px;border:1px solid rgba(255,255,255,.32);border-radius:16px;background:rgba(255,255,255,.16);padding:18px;backdrop-filter:blur(12px)}.about-version-card span{font-size:12px;opacity:.82}.about-version-card strong{font-size:23px;line-height:1;font-weight:950}.about-version-card em{font-style:normal;font-size:12px;opacity:.9}
.about-grid{display:grid;grid-template-columns:1.05fr .8fr 1.35fr;gap:12px;margin-bottom:16px}.about-card{background:#fff;border:1px solid #dbeafe;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(37,99,235,.07)}.about-card-primary{background:#eff6ff}.about-card h3{font-size:16px;margin-bottom:9px;color:#1e3a8a}.about-card p{font-size:13px;color:#334155;line-height:1.7;margin-top:5px}.about-card a{color:#1d4ed8;font-weight:900;text-decoration:none;word-break:break-all}.about-card a:hover{text-decoration:underline}.download-card{grid-column:auto}.download-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.download-list li{display:grid;gap:5px;border:1px dashed #bfdbfe;border-radius:12px;background:#f8fbff;padding:10px}.download-list strong{font-size:12px;color:#0f172a}.download-list span{display:inline-flex;width:max-content;border-radius:999px;background:#eef2ff;color:#3730a3;padding:3px 8px;font-size:11px;font-weight:900}
.about-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;margin-top:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.section-title-block{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.section-title-block h3{font-size:18px;font-weight:950;color:#0f172a}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.feature-item{border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f8fbff);padding:12px;display:grid;gap:7px;min-height:116px}.feature-item b{font-size:13px;color:#1d4ed8}.feature-item span{font-size:12px;line-height:1.62;color:#475569}.usage-section{background:#fffef8;border-color:#fde68a}.usage-list{display:grid;gap:9px;margin:0;padding-left:22px}.usage-list li{font-size:13px;line-height:1.75;color:#334155;padding-left:4px}.usage-list strong{color:#92400e}
@media(max-width:1180px){.topbar{grid-template-columns:1fr;gap:10px}.logo{justify-content:center;min-width:0}.tabs{flex-wrap:wrap}.status-stack{justify-self:center}.about-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.about-main{padding:12px}.about-hero{grid-template-columns:1fr;padding:18px}.about-hero h2{font-size:22px}.feature-grid{grid-template-columns:1fr}.about-grid{gap:10px}.tab-btn{min-width:96px;padding:8px 14px}.logo h1{font-size:16px}}

/* ===== v92: tab anchors, compact about page, left aligned content ===== */
.tab-btn{
  border:1px solid #b7c8ff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 6px 14px rgba(37,99,235,.08)!important;
  text-decoration:none!important;
  color:#1e40af!important;
}
.tab-btn.active{
  border-color:#2563eb!important;
  box-shadow:0 8px 20px rgba(37,99,235,.18)!important;
  color:#fff!important;
}
.about-grid{
  grid-template-columns:minmax(180px,.75fr) minmax(180px,.7fr) minmax(420px,1.65fr)!important;
  align-items:start!important;
  gap:12px!important;
}
.about-card{
  align-self:start!important;
  min-height:0!important;
}
.about-card-compact{
  padding:14px 16px!important;
}
.about-card-compact h3,
.download-card h3{
  margin-bottom:6px!important;
}
.about-card-compact p{
  margin:4px 0!important;
  line-height:1.55!important;
}
.download-list li{
  padding:9px 10px!important;
}
.download-list a{
  display:block!important;
  line-height:1.35!important;
}
.about-section,
.section-title-block,
.feature-grid,
.feature-item,
.usage-section,
.usage-list{
  text-align:left!important;
}
.section-title-block{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:3px!important;
}
.feature-item{
  justify-items:start!important;
  align-content:start!important;
}
@media(max-width:1180px){
  .about-grid{grid-template-columns:1fr!important;align-items:start!important}
}


/* ===== v93: robust clickable centered top tabs ===== */
.tabs{align-items:center!important;}
.tab-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.2!important;cursor:pointer!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important;}
@media(max-width:900px){.tab-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;}}


/* ===== v95: stable hash button tabs ===== */
.tabs{position:relative!important;}
.tab-btn{appearance:none!important;-webkit-appearance:none!important;text-decoration:none!important;border-style:solid!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-height:38px!important;white-space:nowrap!important;}
.tab-btn:focus-visible{outline:3px solid rgba(37,99,235,.25)!important;outline-offset:2px!important;}
.tab-panel[hidden]{display:none!important;}

/* ===== v96: non-refresh tab router hardening ===== */
.tabs{pointer-events:auto!important;z-index:10!important;}
.tab-btn{pointer-events:auto!important;position:relative!important;z-index:11!important;}
.tab-panel[hidden],.tab-panel:not(.active){display:none!important;}
.tab-panel.active{display:block!important;}
html[data-active-tab="single"] #singleTab,html[data-active-tab="batch"] #batchTab,html[data-active-tab="report"] #reportTab,html[data-active-tab="about"] #aboutTab{display:block!important;}
html[data-active-tab="single"] #batchTab,html[data-active-tab="single"] #reportTab,html[data-active-tab="single"] #aboutTab,html[data-active-tab="batch"] #singleTab,html[data-active-tab="batch"] #reportTab,html[data-active-tab="batch"] #aboutTab,html[data-active-tab="report"] #singleTab,html[data-active-tab="report"] #batchTab,html[data-active-tab="report"] #aboutTab,html[data-active-tab="about"] #singleTab,html[data-active-tab="about"] #batchTab,html[data-active-tab="about"] #reportTab{display:none!important;}


/* ===== v97: about layout stack + wider download card ===== */
.about-grid.about-grid-v97{
  display:grid!important;
  grid-template-columns:minmax(260px,.72fr) minmax(620px,2.28fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.about-side-stack{
  display:grid!important;
  gap:12px!important;
  align-items:start!important;
}
.about-grid-v97 .download-card{
  width:100%!important;
  min-width:0!important;
}
.about-grid-v97 .about-card-compact{
  padding:14px 16px!important;
}
.about-grid-v97 .about-card-compact p{
  margin:4px 0!important;
}
.about-grid-v97 .download-list li{
  padding:12px 14px!important;
}
.about-grid-v97 .download-list a{
  font-size:16px!important;
  line-height:1.45!important;
}
@media(max-width:980px){
  .about-grid.about-grid-v97{grid-template-columns:1fr!important;}
}


/* ===== v101: mobile topbar layout-safe fix =====
   Mobile header now stays in normal document flow while remaining sticky.
   This avoids covering report toolbar/buttons when the header wraps to two rows. */
@media (max-width: 900px) {
  html,
  body {
    padding-top: 0 !important;
    scroll-padding-top: 0 !important;
  }

  .topbar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .layout,
  .batch-main,
  .report-main {
    padding-top: 12px !important;
  }

  #singleTab,
  #batchTab,
  #reportTab,
  #aboutTab {
    scroll-margin-top: 12px !important;
  }

  #resultView,
  .batch-card,
  .report-panel {
    scroll-margin-top: 12px !important;
  }
}

@media (max-width: 560px) {
  html,
  body {
    padding-top: 0 !important;
  }

  .topbar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
  }

  .layout,
  .batch-main,
  .report-main {
    padding-top: 10px !important;
  }
}

/* ===== v102: single-case diagnosis/surgery list headers stay available while scrolling ===== */
#singleTab.active .editor-panel{
  overflow:visible!important;
}
#singleTab.active .editor-panel .list-head.compact-head{
  position:sticky!important;
  top:62px!important;
  z-index:260!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(14px);
}
#singleTab.active .editor-panel .list-head.compact-head.surgery-head{
  z-index:261!important;
}
@media(max-width:900px){
  #singleTab.active .editor-panel .list-head.compact-head{top:86px!important;}
}
@media(max-width:560px){
  #singleTab.active .editor-panel .list-head.compact-head{top:82px!important;}
}

/* ===== v103: keep autocomplete suggestions above single-case sticky section headers ===== */
body.is-suggest-open #singleTab.active .editor-panel .list-head.compact-head{
  z-index:30!important;
}
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list:focus-within,
body.is-suggest-open #singleTab.active .editor-panel .code-row:focus-within,
body.is-suggest-open #singleTab.active .editor-panel .search-wrap:focus-within{
  position:relative!important;
  z-index:2147482000!important;
  isolation:auto!important;
  overflow:visible!important;
}
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .code-row:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .search-wrap:has(.suggest-menu.show){
  position:relative!important;
  z-index:2147482000!important;
  isolation:auto!important;
  overflow:visible!important;
}
body.is-suggest-open #singleTab.active .editor-panel .suggest-menu.show{
  z-index:2147483000!important;
}

/* ===== v104: keep top tabs above batch edit autocomplete layers ===== */
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:2147483620!important;
  isolation:isolate!important;
  overflow:visible!important;
  transform:none!important;
}
.topbar .logo,
.topbar .tabs,
.topbar .tab-btn,
.topbar .status-stack{
  position:relative!important;
  z-index:2147483621!important;
}
.topbar .mail-popover,
.topbar .status-popover{
  z-index:2147483622!important;
}
@media(max-width:900px){
  .topbar{
    z-index:2147483620!important;
    overflow:visible!important;
  }
}


/* ===== v105: compact acknowledgement list on about page ===== */
.thanks-card{
  overflow:hidden!important;
  border-color:#bfdbfe!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 56%,#eff6ff 100%)!important;
}
.thanks-title-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:4px!important;
}
.thanks-title-row h3{
  margin:0!important;
}
.thanks-title-row span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #bfdbfe!important;
  border-radius:999px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  padding:2px 8px!important;
  font-size:11px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.thanks-card>p{
  margin:2px 0 8px!important;
  color:#475569!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.thanks-list{
  display:grid!important;
  gap:7px!important;
}
.thanks-region{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  border:1px solid #dbeafe!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.78)!important;
  padding:7px 8px!important;
}
.thanks-region>span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:22px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
}
.thanks-people{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  min-width:0!important;
}
.thanks-person{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  border:1px solid #c7d2fe!important;
  border-radius:999px!important;
  background:#eef2ff!important;
  color:#312e81!important;
  padding:3px 8px!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:950!important;
  white-space:normal!important;
}
@media(max-width:980px){
  .thanks-region{grid-template-columns:40px minmax(0,1fr)!important;}
}


/* ===== v106: header mail popover must be the absolute top visual layer =====
   Layering contract for future iterations:
   1) Normal page content / sticky panels / autocomplete suggestions stay below .topbar.
   2) .topbar is the highest persistent shell layer across all pages.
   3) The “点此邮件联系” floating popover is the only element allowed above topbar controls.
   Do not lower these z-index values unless the whole header layering scheme is reviewed. */
.topbar{
  z-index:2147483620!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.topbar .logo,
.topbar .tabs,
.topbar .tab-btn{
  position:relative!important;
  z-index:2147483621!important;
}
.topbar .status-stack{
  position:relative!important;
  z-index:2147483646!important;
  isolation:isolate!important;
  overflow:visible!important;
}
.topbar .status-stack.mail-open,
body.is-mail-popover-open .topbar .status-stack{
  z-index:2147483646!important;
}
.topbar .mail-popover,
body.is-mail-popover-open .topbar .mail-popover{
  position:absolute!important;
  z-index:2147483647!important;
  pointer-events:auto!important;
}
.topbar .status-popover{
  z-index:2147483640!important;
}

/* ===== build105: mobile docked code-list headers, MCC/CC inline tags, quick-paste safe layer =====
   Iteration notes:
   - Topbar remains the persistent highest shell layer for normal page content.
   - Quick-paste is a modal sheet, so it is allowed above topbar but below mailPopover.
   - Diagnosis/surgery list headers use --single-list-sticky-top from app.js so wrapped mobile topbars do not cover them. */
:root{
  --topbar-sticky-offset:72px;
  --single-list-sticky-top:76px;
  --quick-paste-safe-top:86px;
}
@media(max-width:900px){
  #singleTab.active .editor-panel .list-head.compact-head{
    position:sticky!important;
    top:var(--single-list-sticky-top)!important;
    z-index:2147483500!important;
    margin-top:10px!important;
    padding:8px 10px!important;
    border:1px solid #dbeafe!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 10px 26px rgba(37,99,235,.12)!important;
    backdrop-filter:blur(14px)!important;
  }
  #singleTab.active .editor-panel .list-head.compact-head.surgery-head{
    z-index:2147483501!important;
  }
}
body.is-suggest-open #singleTab.active .editor-panel .list-head.compact-head{
  z-index:2147481000!important;
}
.quick-paste-modal{
  z-index:2147483630!important;
  padding-top:var(--quick-paste-safe-top)!important;
}
.quick-paste-card{
  max-height:calc(100dvh - var(--quick-paste-safe-top) - 12px)!important;
}
@media(max-width:700px){
  .quick-paste-modal{
    align-items:end!important;
    place-items:end center!important;
    padding:var(--quick-paste-safe-top) 10px 10px!important;
  }
  .quick-paste-card{
    max-height:calc(100dvh - var(--quick-paste-safe-top) - 10px)!important;
    overflow:auto!important;
  }
}
.code-row .row-main,
.code-row:hover .row-main,
.code-row:focus-within .row-main{
  grid-template-columns:117px max-content minmax(0,1fr)!important;
  grid-template-areas:"input tags help"!important;
}
.code-row .row-main .search-wrap,
.code-row:hover .row-main .search-wrap,
.code-row:focus-within .row-main .search-wrap,
.code-row .code-input,
.code-row:hover .code-input,
.code-row:focus-within .code-input{
  width:117px!important;
  min-width:117px!important;
  max-width:117px!important;
}
.code-row .row-meta,
.batch-edit-row.compact-mapping-row .batch-map-side{
  align-items:center!important;
}
.code-row .row-meta .tag.mcc,
.code-row .row-meta .tag.cc,
.batch-edit-row.compact-mapping-row .batch-map-side .tag.mcc,
.batch-edit-row.compact-mapping-row .batch-map-side .tag.cc{
  order:-10!important;
  min-width:42px!important;
  justify-content:center!important;
  font-size:10.5px!important;
  font-weight:950!important;
}
.batch-edit-row.compact-mapping-row,
.batch-edit-row.compact-mapping-row:hover,
.batch-edit-row.compact-mapping-row:focus-within{
  grid-template-columns:18px 22px 54px 117px max-content minmax(0,1fr)!important;
  grid-template-areas:"handle del idx input tags meta"!important;
}
.batch-edit-row.compact-mapping-row>.search-wrap,
.batch-edit-row.compact-mapping-row .batch-code-input-wrap,
.batch-edit-row.compact-mapping-row .batch-code-input,
.batch-edit-row.compact-mapping-row:hover .batch-code-input,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{
  width:117px!important;
  min-width:117px!important;
  max-width:117px!important;
}
@media(max-width:900px){
  .code-row .row-main,
  .code-row:hover .row-main,
  .code-row:focus-within .row-main{
    grid-template-columns:minmax(112px,117px) minmax(0,1fr)!important;
    grid-template-areas:"input tags" "help help"!important;
  }
  .code-row .row-main .search-wrap,
  .code-row:hover .row-main .search-wrap,
  .code-row:focus-within .row-main .search-wrap,
  .code-row .code-input,
  .code-row:hover .code-input,
  .code-row:focus-within .code-input{
    width:clamp(112px,30vw,117px)!important;
    min-width:112px!important;
    max-width:117px!important;
  }
  .batch-edit-row.compact-mapping-row,
  .batch-edit-row.compact-mapping-row:hover,
  .batch-edit-row.compact-mapping-row:focus-within{
    grid-template-columns:18px 22px 48px 117px minmax(0,1fr)!important;
    grid-template-areas:"handle del idx input tags" "meta meta meta meta meta"!important;
  }
  .batch-edit-row.compact-mapping-row>.search-wrap,
  .batch-edit-row.compact-mapping-row .batch-code-input-wrap,
  .batch-edit-row.compact-mapping-row .batch-code-input{
    width:117px!important;
    min-width:117px!important;
    max-width:117px!important;
  }
}
@media(max-width:560px){
  .batch-edit-row.compact-mapping-row,
  .batch-edit-row.compact-mapping-row:hover,
  .batch-edit-row.compact-mapping-row:focus-within{
    grid-template-columns:16px 22px 44px minmax(112px,117px) minmax(0,1fr)!important;
    grid-template-areas:"handle del idx input tags" "meta meta meta meta meta"!important;
  }
  .batch-edit-row.compact-mapping-row .batch-map-side{
    grid-area:tags!important;
    min-width:0!important;
    flex-wrap:wrap!important;
    margin:0!important;
  }
}
.copyright-card{
  border-color:#c7d2fe!important;
  background:linear-gradient(135deg,#f8fbff,#eef2ff)!important;
  overflow:hidden!important;
}
.copyright-badge-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:6px!important;
}
.copyright-badge-row h3{margin:0!important;}
.copyright-badge-row span{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  border:1px solid #c7d2fe!important;
  background:#fff!important;
  color:#3730a3!important;
  padding:2px 8px!important;
  font-size:11px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.copyright-card p{
  margin:4px 0!important;
  line-height:1.55!important;
  color:#334155!important;
  font-size:12px!important;
}
.copyright-card strong{color:#1e3a8a!important;}

/* ===== build105: mobile sticky list headers + invariant code input width =====
   Regression guard for future iterations:
   - Diagnosis / surgery section headers in the single-case editor must dock directly
     under the fixed mobile topbar; ancestors must not create an overflow scroll box.
   - Code input width must be identical for normal, hover and focus states. Do not add
     focus-width expansion rules; put MCC/CC and mapping tags after the fixed input. */
@media(max-width:900px){
  #singleTab.active,
  #singleTab.active .layout,
  #singleTab.active .editor-panel,
  #singleTab.active .panel.editor-panel{
    overflow:visible!important;
    contain:none!important;
  }
  #singleTab.active .editor-panel .list-head.compact-head,
  #singleTab.active .editor-panel .list-head.compact-head.surgery-head{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:calc(var(--single-list-sticky-top, 76px) + env(safe-area-inset-top, 0px))!important;
    z-index:2147483000!important;
    margin-top:10px!important;
    margin-bottom:0!important;
    border:1px solid #bfdbfe!important;
    border-radius:14px 14px 0 0!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 12px 28px rgba(37,99,235,.14)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }
  #singleTab.active .editor-panel .list-head.compact-head.surgery-head{
    z-index:2147483001!important;
  }
  body.is-suggest-open #singleTab.active .editor-panel .list-head.compact-head{
    z-index:2147480500!important;
  }
}
.editor-panel .code-row .row-main,
.editor-panel .code-row:hover .row-main,
.editor-panel .code-row:focus-within .row-main,
#diagnosisList .code-row .row-main,
#diagnosisList .code-row:hover .row-main,
#diagnosisList .code-row:focus-within .row-main,
#surgeryList .code-row .row-main,
#surgeryList .code-row:hover .row-main,
#surgeryList .code-row:focus-within .row-main{
  grid-template-columns:117px max-content minmax(0,1fr)!important;
  grid-template-areas:"input tags help"!important;
  align-items:center!important;
}
.editor-panel .code-row .row-main .search-wrap,
.editor-panel .code-row:hover .row-main .search-wrap,
.editor-panel .code-row:focus-within .row-main .search-wrap,
.editor-panel .code-row .row-main .search-wrap:hover,
.editor-panel .code-row .row-main .search-wrap:focus-within,
.editor-panel .code-row .code-input,
.editor-panel .code-row:hover .code-input,
.editor-panel .code-row:focus-within .code-input,
.editor-panel .code-row .row-main .search-wrap:hover .code-input,
.editor-panel .code-row .row-main .search-wrap:focus-within .code-input,
#diagnosisList .code-row .row-main .search-wrap,
#diagnosisList .code-row:hover .row-main .search-wrap,
#diagnosisList .code-row:focus-within .row-main .search-wrap,
#diagnosisList .code-row .code-input,
#diagnosisList .code-row:hover .code-input,
#diagnosisList .code-row:focus-within .code-input,
#surgeryList .code-row .row-main .search-wrap,
#surgeryList .code-row:hover .row-main .search-wrap,
#surgeryList .code-row:focus-within .row-main .search-wrap,
#surgeryList .code-row .code-input,
#surgeryList .code-row:hover .code-input,
#surgeryList .code-row:focus-within .code-input{
  width:117px!important;
  min-width:117px!important;
  max-width:117px!important;
  height:32px!important;
  transform:none!important;
  filter:none!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
@media(max-width:760px){
  #singleTab.active .editor-panel .code-row .row-main,
  #singleTab.active .editor-panel .code-row:hover .row-main,
  #singleTab.active .editor-panel .code-row:focus-within .row-main,
  #singleTab.active #diagnosisList .code-row .row-main,
  #singleTab.active #diagnosisList .code-row:hover .row-main,
  #singleTab.active #diagnosisList .code-row:focus-within .row-main,
  #singleTab.active #surgeryList .code-row .row-main,
  #singleTab.active #surgeryList .code-row:hover .row-main,
  #singleTab.active #surgeryList .code-row:focus-within .row-main{
    grid-template-columns:117px minmax(0,1fr)!important;
    grid-template-areas:"input tags" "help help"!important;
    align-items:center!important;
    column-gap:7px!important;
  }
  #singleTab.active .editor-panel .code-row .row-main .search-wrap,
  #singleTab.active .editor-panel .code-row:hover .row-main .search-wrap,
  #singleTab.active .editor-panel .code-row:focus-within .row-main .search-wrap,
  #singleTab.active .editor-panel .code-row .code-input,
  #singleTab.active .editor-panel .code-row:hover .code-input,
  #singleTab.active .editor-panel .code-row:focus-within .code-input{
    width:117px!important;
    min-width:117px!important;
    max-width:117px!important;
  }
  #singleTab.active .editor-panel .code-row .row-meta,
  #singleTab.active .editor-panel .code-row:hover .row-meta,
  #singleTab.active .editor-panel .code-row:focus-within .row-meta{
    grid-area:tags!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    align-items:center!important;
  }
}
.batch-edit-row.compact-mapping-row>.search-wrap,
.batch-edit-row.compact-mapping-row:hover>.search-wrap,
.batch-edit-row.compact-mapping-row:focus-within>.search-wrap,
.batch-edit-row.compact-mapping-row .batch-code-input-wrap,
.batch-edit-row.compact-mapping-row:hover .batch-code-input-wrap,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-input-wrap,
.batch-edit-row.compact-mapping-row .batch-code-input,
.batch-edit-row.compact-mapping-row:hover .batch-code-input,
.batch-edit-row.compact-mapping-row:focus-within .batch-code-input{
  width:117px!important;
  min-width:117px!important;
  max-width:117px!important;
  transform:none!important;
  filter:none!important;
}
@media(max-width:560px){
  .batch-edit-row.compact-mapping-row,
  .batch-edit-row.compact-mapping-row:hover,
  .batch-edit-row.compact-mapping-row:focus-within{
    grid-template-columns:16px 22px 44px 117px minmax(0,1fr)!important;
    grid-template-areas:"handle del idx input tags" "meta meta meta meta meta"!important;
  }
}
.quick-paste-modal{
  padding-top:calc(var(--quick-paste-safe-top, 86px) + env(safe-area-inset-top, 0px))!important;
}
@media(max-width:700px){
  .quick-paste-modal{
    padding:calc(var(--quick-paste-safe-top, 86px) + env(safe-area-inset-top, 0px)) 10px 10px!important;
  }
  .quick-paste-card{
    max-height:calc(100dvh - var(--quick-paste-safe-top, 86px) - env(safe-area-inset-top, 0px) - 10px)!important;
  }
}

/* ===== build107: 列表标题栏去重，添加入口固定放到列表末尾 =====
   后续迭代请保持：标题栏只放说明文字；新增入口放在最后一条诊断/手术之后，
   行内删除继续由每条编码左侧的 × 承担，避免移动端顶部操作重复。 */
.editor-panel .list-head.compact-head .button-row{display:none!important}
#diagnosisList.compact-code-list,
#surgeryList.compact-code-list{
  border-bottom:0!important;
  border-radius:0!important;
  padding-bottom:7px!important;
}
.code-list-add-row{
  display:block!important;
  padding:0 10px 10px!important;
  margin:0 0 12px!important;
  border:1px solid #bfdbfe!important;
  border-top:0!important;
  border-radius:0 0 16px 16px!important;
  background:linear-gradient(180deg,#f6f9ff 0%,#ffffff 100%)!important;
  box-shadow:inset 0 -1px 8px rgba(37,99,235,.045)!important;
}
.surgery-add-row{
  border-color:#86efac!important;
  background:linear-gradient(180deg,#f5fff8 0%,#ffffff 100%)!important;
  box-shadow:inset 0 -1px 8px rgba(16,185,129,.045)!important;
}
.code-list-add-btn{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1.5px dashed #14b8a6!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0d9488!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:.2px!important;
  box-shadow:none!important;
}
.code-list-add-btn:hover:not(:disabled),
.code-list-add-btn:focus-visible:not(:disabled){
  background:#ecfdf5!important;
  border-color:#0d9488!important;
  color:#047857!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.code-list-add-btn:disabled{
  cursor:not-allowed!important;
  opacity:.55!important;
  color:#64748b!important;
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
}
@media(max-width:760px){
  .code-list-add-row{padding:0 8px 8px!important;margin-bottom:10px!important;border-radius:0 0 14px 14px!important}
  .code-list-add-btn{min-height:44px!important;font-size:16px!important;border-radius:7px!important}
}

/* ===== build108: 更紧凑的关于页布局 =====
   目标：减少关于页首屏留白，让在线地址/联系/感谢/版权与下载区更紧凑地并排展示。 */
#aboutTab .about-main{
  max-width:1160px!important;
  padding:10px 18px 20px!important;
}
#aboutTab .about-panel{
  padding:12px 14px 14px!important;
}
#aboutTab .about-hero{
  grid-template-columns:minmax(0,1fr) 210px!important;
  gap:12px!important;
  padding:13px 16px!important;
  margin-bottom:10px!important;
  border-radius:15px!important;
  box-shadow:0 10px 26px rgba(37,99,235,.16)!important;
}
#aboutTab .about-hero h2{
  font-size:22px!important;
  margin:2px 0 4px!important;
}
#aboutTab .about-hero p{
  font-size:13px!important;
  line-height:1.55!important;
}
#aboutTab .about-version-card{
  padding:11px 13px!important;
  border-radius:14px!important;
  gap:4px!important;
}
#aboutTab .about-version-card strong{
  font-size:19px!important;
}
#aboutTab .about-grid.about-grid-v97{
  grid-template-columns:minmax(420px,.95fr) minmax(520px,1.45fr)!important;
  gap:10px!important;
  margin-bottom:10px!important;
}
#aboutTab .about-side-stack{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
#aboutTab .about-card,
#aboutTab .about-grid-v97 .about-card-compact{
  padding:10px 12px!important;
  border-radius:13px!important;
  box-shadow:0 5px 14px rgba(37,99,235,.055)!important;
}
#aboutTab .about-card h3,
#aboutTab .download-card h3{
  font-size:15px!important;
  margin:0 0 5px!important;
}
#aboutTab .about-card p,
#aboutTab .about-grid-v97 .about-card-compact p{
  font-size:12px!important;
  line-height:1.45!important;
  margin:2px 0!important;
}
#aboutTab .copyright-card p:last-child{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#aboutTab .thanks-title-row{
  margin-bottom:2px!important;
}
#aboutTab .thanks-title-row span,
#aboutTab .copyright-badge-row span{
  padding:2px 7px!important;
  font-size:10px!important;
}
#aboutTab .thanks-card>p{
  display:none!important;
}
#aboutTab .thanks-list{
  gap:5px!important;
}
#aboutTab .thanks-region{
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:6px!important;
  padding:5px 6px!important;
  border-radius:10px!important;
}
#aboutTab .thanks-region>span{
  min-height:20px!important;
  font-size:10px!important;
}
#aboutTab .thanks-people{
  gap:4px!important;
}
#aboutTab .thanks-person{
  padding:2px 6px!important;
  font-size:11px!important;
}
#aboutTab .download-list{
  gap:8px!important;
}
#aboutTab .about-grid-v97 .download-list li,
#aboutTab .download-list li{
  grid-template-columns:minmax(135px,.34fr) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 11px!important;
  border-radius:11px!important;
}
#aboutTab .download-list strong{
  font-size:12px!important;
}
#aboutTab .about-grid-v97 .download-list a,
#aboutTab .download-list a{
  font-size:15px!important;
  line-height:1.25!important;
}
#aboutTab .download-list span{
  padding:2px 7px!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
#aboutTab .about-section{
  margin-top:10px!important;
  padding:12px!important;
  border-radius:13px!important;
}
#aboutTab .feature-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
#aboutTab .feature-item{
  min-height:88px!important;
  padding:9px!important;
  border-radius:12px!important;
  gap:4px!important;
}
#aboutTab .feature-item span,
#aboutTab .usage-list li{
  font-size:12px!important;
  line-height:1.5!important;
}
@media(max-width:1180px){
  #aboutTab .about-grid.about-grid-v97{grid-template-columns:1fr!important;}
  #aboutTab .about-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #aboutTab .about-main{padding:8px 10px 16px!important;}
  #aboutTab .about-panel{padding:10px!important;}
  #aboutTab .about-hero{grid-template-columns:1fr!important;padding:12px!important;}
  #aboutTab .about-side-stack{grid-template-columns:1fr!important;}
  #aboutTab .download-list li{grid-template-columns:1fr!important;align-items:start!important;}
  #aboutTab .feature-grid{grid-template-columns:1fr!important;}
}

/* ===== build110: merge online/download cards and simplify copyright ===== */
#aboutTab .about-grid.about-grid-v110{
  grid-template-columns:minmax(270px,.58fr) minmax(0,1.42fr)!important;
  gap:10px!important;
  margin-bottom:10px!important;
}
#aboutTab .about-grid-v110 .about-side-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
#aboutTab .about-grid-v110 .copyright-card p{
  font-size:12px!important;
  line-height:1.5!important;
  margin:0!important;
}
#aboutTab .about-grid-v110 .copyright-card p:last-child{
  display:block!important;
  -webkit-line-clamp:unset!important;
  overflow:visible!important;
}
#aboutTab .about-grid-v110 .merged-link-card{
  display:grid!important;
  align-content:start!important;
  min-height:0!important;
}
#aboutTab .about-grid-v110 .merged-download-list{
  gap:7px!important;
}
#aboutTab .about-grid-v110 .merged-download-list li{
  grid-template-columns:minmax(150px,.34fr) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 10px!important;
  min-height:44px!important;
}
#aboutTab .about-grid-v110 .merged-download-list a{
  font-size:14px!important;
  line-height:1.22!important;
}
#aboutTab .about-grid-v110 .merged-download-list strong{
  font-size:12px!important;
  line-height:1.25!important;
}
@media(max-width:1180px){
  #aboutTab .about-grid.about-grid-v110{grid-template-columns:1fr!important;}
  #aboutTab .about-grid-v110 .about-side-stack{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #aboutTab .about-grid-v110 .about-side-stack{grid-template-columns:1fr!important;}
  #aboutTab .about-grid-v110 .merged-download-list li{grid-template-columns:1fr!important;align-items:start!important;}
}

/* ===== build114: 单份入组编码区块与底部操作按钮层级修正 =====
   层级约定：
   1. .editor-panel 是单份入组编辑根面板，只负责容纳各业务区块，不参与覆盖。
   2. .single-coding-area 是编码区域容器；诊断列表和手术/操作列表为同级 .single-code-section。
   3. .sticky-actions 是编码区域之后的操作层，视觉层级高于列表标题，但通过间距和 padding 避免遮挡内容。
   4. 候选下拉 .suggest-menu 是临时浮层，可在输入时高于按钮层。 */
#singleTab.active .panel.editor-panel,
#singleTab.active .editor-panel{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.single-coding-area{
  position:relative!important;
  z-index:10!important;
  display:grid!important;
  gap:0!important;
  margin:0 0 12px!important;
  overflow:visible!important;
}
.single-code-section{
  position:relative!important;
  z-index:10!important;
  display:block!important;
  overflow:visible!important;
  clear:both!important;
}
.single-code-section + .single-code-section{margin-top:2px!important;}
#singleTab.active .editor-panel .single-code-section .list-head.compact-head,
#singleTab.active .editor-panel .single-code-section .list-head.compact-head.surgery-head{
  z-index:1100!important;
}
#singleTab.active .editor-panel .single-code-section .compact-code-list,
#singleTab.active .editor-panel .single-code-section .code-list-add-row{
  position:relative!important;
  z-index:10!important;
}
.single-info-toggle-note,
.case-info-details{
  position:relative!important;
  z-index:20!important;
}
#singleTab.active .sticky-actions,
#singleTab.active .actions-bar.sticky-actions{
  position:relative!important;
  bottom:auto!important;
  z-index:2200!important;
  margin-top:14px!important;
  clear:both!important;
}
@media(max-width:820px){
  #singleTab.active{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))!important;}
  #singleTab.active .sticky-actions,
  #singleTab.active .actions-bar.sticky-actions{
    position:fixed!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    z-index:4200!important;
  }
}
body.is-suggest-open #singleTab.active .sticky-actions,
body.is-suggest-open #singleTab.active .actions-bar.sticky-actions{
  z-index:2!important;
}
body.is-suggest-open #singleTab.active .editor-panel .single-code-section .list-head.compact-head{
  z-index:100!important;
}
/* build114 追加：诊断/手术标题栏不再单独吸顶，避免脱离编码区块后压住底部操作按钮。 */
#singleTab.active .editor-panel .single-code-section .list-head.compact-head,
#singleTab.active .editor-panel .single-code-section .list-head.compact-head.surgery-head{
  position:relative!important;
  top:auto!important;
}

/* ===== build114: single-case bottom action docking contract =====
   层级关系补充：
   1. .single-coding-area 是诊断列表和手术/操作列表的共同编码区域。
   2. .diagnosis-code-section 与 .surgery-code-section 只做内容分区，不允许设置高于按钮的吸顶层级。
   3. .sticky-actions 是单份入组的底部操作层，必须停靠在页面底部；列表标题不能覆盖“开始/重新入组 / 清空”。
   4. .suggest-menu 是唯一可临时高于按钮层的输入候选浮层。 */
#singleTab.active,
#singleTab.active .layout,
#singleTab.active .panel.editor-panel,
#singleTab.active .editor-panel{
  overflow:visible!important;
  contain:none!important;
}
#singleTab.active .panel.editor-panel,
#singleTab.active .editor-panel{
  position:relative!important;
  isolation:isolate!important;
  padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important;
}
#singleTab.active .single-coding-area{
  position:relative!important;
  z-index:10!important;
  isolation:auto!important;
  display:grid!important;
  gap:0!important;
  margin:0 0 12px!important;
  overflow:visible!important;
}
#singleTab.active .diagnosis-code-section,
#singleTab.active .surgery-code-section,
#singleTab.active .single-code-section{
  position:relative!important;
  z-index:auto!important;
  display:block!important;
  overflow:visible!important;
  clear:both!important;
}
#singleTab.active .editor-panel .single-code-section .list-head.compact-head,
#singleTab.active .editor-panel .single-code-section .list-head.compact-head.surgery-head{
  position:relative!important;
  top:auto!important;
  z-index:30!important;
}
#singleTab.active .editor-panel .single-code-section .compact-code-list,
#singleTab.active .editor-panel .single-code-section .code-list-add-row{
  position:relative!important;
  z-index:20!important;
}
#singleTab.active .actions-bar.sticky-actions,
#singleTab.active .sticky-actions{
  position:sticky!important;
  left:auto!important;
  right:auto!important;
  bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
  z-index:3000!important;
  clear:both!important;
  margin:14px 0 0!important;
  background:rgba(239,246,255,.97)!important;
  border:1px solid rgba(96,165,250,.42)!important;
  box-shadow:0 -10px 26px rgba(15,23,42,.10),0 10px 28px rgba(37,99,235,.10)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
@media(max-width:820px){
  #singleTab.active{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;}
  #singleTab.active .actions-bar.sticky-actions,
  #singleTab.active .sticky-actions{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    z-index:1500000!important;
    margin:0!important;
    border-radius:18px!important;
  }
}
body.is-suggest-open #singleTab.active .actions-bar.sticky-actions,
body.is-suggest-open #singleTab.active .sticky-actions{
  z-index:2!important;
}
body.is-suggest-open #singleTab.active .suggest-menu.show{
  z-index:2147483000!important;
}

/* ===== build114: 单份编辑区、底部按钮、候选框三层关系 =====
   1. .single-coding-area 是编码编辑层；诊断列表与手术/操作列表同属这一层。
   2. .sticky-actions 与编码编辑层保持同一业务层，不得被诊断/手术列表覆盖。
   3. 只有 .suggest-menu 候选框可在输入时升到上一层，覆盖编码层和按钮层。 */
#singleTab.active .single-coding-area,
#singleTab.active .actions-bar.sticky-actions,
#singleTab.active .sticky-actions{
  position:relative!important;
  z-index:100!important;
}
#singleTab.active .actions-bar.sticky-actions,
#singleTab.active .sticky-actions{
  position:sticky!important;
  bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
  isolation:isolate!important;
}
body.is-suggest-open #singleTab.active .single-coding-area,
body.is-suggest-open #singleTab.active .actions-bar.sticky-actions,
body.is-suggest-open #singleTab.active .sticky-actions{
  z-index:100!important;
}
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .code-row:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .code-row:focus-within,
body.is-suggest-open #singleTab.active .editor-panel .search-wrap:focus-within{
  position:relative!important;
  z-index:2000000!important;
}
body.is-suggest-open #singleTab.active .suggest-menu,
body.is-suggest-open #singleTab.active .suggest-menu.show,
#singleTab.active .suggest-menu.show{
  z-index:2147483000!important;
}
@media(max-width:820px){
  #singleTab.active .actions-bar.sticky-actions,
  #singleTab.active .sticky-actions{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    z-index:100!important;
  }
  body.is-suggest-open #singleTab.active .actions-bar.sticky-actions,
  body.is-suggest-open #singleTab.active .sticky-actions{
    z-index:100!important;
  }
}

/* build114: 移动端提示浮层上移到屏幕中部，避免遮挡底部“开始入组 / 清空”按钮。 */
@media(max-width:820px){
  .app-toast{
    top:50%!important;
    bottom:auto!important;
    transform:translate(-50%,calc(-50% + 18px)) scale(.98)!important;
    z-index:2000001!important;
  }
  .app-toast.show{
    transform:translate(-50%,-50%) scale(1)!important;
  }
}

/* ===== build117: MCC/CC 命中提示与最终DRG路径分开展示 ===== */
.mcc-hit-panel{border-color:#bfdbfe!important;background:linear-gradient(180deg,#ffffff,#f8fbff)!important}
.mcc-hit-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.mcc-hit-title h4{margin:0!important;color:#1d4ed8!important;font-size:13px!important}
.mcc-hit-title span{display:inline-flex;align-items:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:3px 9px;font-size:11px;font-weight:900;line-height:1.35;text-align:right}
.mcc-hit-panel ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.mcc-hit-panel li{display:grid;grid-template-columns:52px minmax(86px,auto) minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:7px 9px;font-size:12px}
.mcc-hit-panel li b{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:950;background:#f1f5f9;color:#475569}
.mcc-hit-panel li b.mcc{background:#fee2e2;color:#991b1b}.mcc-hit-panel li b.cc{background:#fef3c7;color:#92400e}
.mcc-hit-panel li code{font-family:ui-monospace,Consolas,monospace;font-weight:900;color:#0f172a;word-break:break-word}.mcc-hit-panel li span{color:#334155;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcc-hit-panel li em{font-style:normal;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;padding:2px 7px;white-space:nowrap}.mcc-hit-panel li.excluded{opacity:.72}.mcc-hit-panel li.excluded b{background:#f3f4f6;color:#6b7280}.mcc-hit-panel p{margin:8px 0 0;color:#475569;font-size:12px;line-height:1.45}
@media(max-width:680px){.mcc-hit-title{display:grid;align-items:start}.mcc-hit-title span{justify-content:flex-start;text-align:left}.mcc-hit-panel li{grid-template-columns:48px minmax(0,1fr);align-items:start}.mcc-hit-panel li code,.mcc-hit-panel li span,.mcc-hit-panel li em{grid-column:2/-1;white-space:normal;overflow:visible;text-overflow:clip}.mcc-hit-panel li em{width:max-content;max-width:100%}}

/* ===== build122: Win7 x86/旧 360 编码行 MCC/CC 标签兜底显示 ===== */
.row-meta .tag.mcc,
.row-meta .tag.cc,
.batch-map-side .tag.mcc,
.batch-map-side .tag.cc,
.suggest-tags .tag.mcc,
.suggest-tags .tag.cc{
  display:inline-flex!important;
  flex:0 0 auto!important;
  min-width:38px!important;
  opacity:1!important;
  visibility:visible!important;
}
.row-meta .tag.mcc{background:#fee2e2!important;color:#991b1b!important}
.row-meta .tag.cc{background:#fef3c7!important;color:#92400e!important}


/* ===== build130: 单份结果/底部按钮避让 ===== */
.result-view{position:relative!important;z-index:1!important;}
#singleTab.active .result-panel{position:relative!important;z-index:1!important;}
@media(max-width:820px){
  #singleTab.active .layout{padding-bottom:calc(138px + env(safe-area-inset-bottom,0px))!important;}
  #singleTab.active .result-panel{margin-bottom:calc(126px + env(safe-area-inset-bottom,0px))!important;}
  #singleTab.active #resultView{padding-bottom:16px!important;}
}

/* ===== build131: 单份结果面板不得覆盖底部开始入组按钮 ===== */
#singleTab.active .panel.editor-panel,
#singleTab.active .editor-panel{
  position:relative!important;
  z-index:30!important;
}
#singleTab.active .panel.result-panel,
#singleTab.active .result-panel{
  position:relative!important;
  z-index:0!important;
  transform:none!important;
}
#singleTab.active .result-view,
#singleTab.active #resultView{
  position:relative!important;
  z-index:0!important;
}
#singleTab.active .actions-bar.sticky-actions,
#singleTab.active .sticky-actions{
  z-index:2147480!important;
  pointer-events:auto!important;
}
@media(max-width:820px){
  #singleTab.active,
  #singleTab.active .layout{
    padding-bottom:calc(168px + env(safe-area-inset-bottom,0px))!important;
  }
  #singleTab.active .panel.editor-panel,
  #singleTab.active .editor-panel{
    z-index:60!important;
  }
  #singleTab.active .panel.result-panel,
  #singleTab.active .result-panel{
    z-index:0!important;
    margin-bottom:calc(172px + env(safe-area-inset-bottom,0px))!important;
    padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))!important;
  }
  #singleTab.active .actions-bar.sticky-actions,
  #singleTab.active .sticky-actions{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    z-index:2147483000!important;
    margin:0!important;
    border-radius:18px!important;
  }
  #singleTab.active #resultView{
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* v1.0.52-build142: OpenDRG independent-scheme selector */
.algorithm-mode-control{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:950;color:#1e3a8a;white-space:nowrap}
.algorithm-mode-control .std-input{min-width:180px;height:34px;border-radius:999px;font-weight:900}
.opendrg-scheme-control .std-input{min-width:260px;max-width:360px}
.opendrg-scheme-control.disabled{opacity:.56}
@media(max-width:820px){.algorithm-mode-control{width:100%;justify-content:space-between}.algorithm-mode-control .std-input,.opendrg-scheme-control .std-input{min-width:0;width:min(62vw,360px)}}

/* ===== v1.0.53-build143: OpenDRG cost parameter controls and progress bar ===== */
.opendrg-cost-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0 0;padding:10px;border:1px solid var(--gray-200);border-radius:12px;background:#f8fafc}
.opendrg-cost-controls[hidden]{display:none!important}
.opendrg-cost-title{font-weight:900;color:#0f172a;width:100%;font-size:13px}
.opendrg-cost-controls label{display:grid;gap:4px;font-size:12px;color:#475569;font-weight:700}
.opendrg-cost-controls .std-input{min-width:98px;max-width:170px;height:38px}
.opendrg-cost-controls input.std-input{width:120px}
.opendrg-cost-controls .cost-btn{height:38px;padding:0 16px;align-self:end}
.opendrg-cost-controls small{width:100%;color:#64748b;line-height:1.45}
.opendrg-cost-result{border-color:#c7d2fe;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.opendrg-cost-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.opendrg-cost-heading h4{margin:0}.opendrg-cost-heading span{color:#475569;font-size:12px;font-weight:700}
.cost-table-wrap{overflow-x:auto}.cost-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;margin:4px 0 14px;background:#fff}.cost-table th{background:#818cf8;color:#fff;text-align:center;font-size:12px;padding:9px}.cost-table td{text-align:center;padding:10px;color:#334155;border-bottom:0;font-weight:700}
.fee-progress-card{background:linear-gradient(135deg,#eef2ff,#f8fafc);border-radius:18px;padding:16px;margin-top:8px;border:1px solid #e2e8f0;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.fee-progress-card h4{margin:0 0 18px;color:#334155}.fee-progress-track{position:relative;height:72px;margin:22px 18px 6px;border-radius:999px;background:linear-gradient(90deg,#dcfce7,#fef3c7,#fee2e2);box-shadow:inset 0 1px 4px rgba(15,23,42,.16)}
.fee-progress-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#22c55e,#f97316,#38bdf8);min-width:6px;max-width:100%}.fee-marker{position:absolute;top:-6px;transform:translateX(-50%);z-index:2;text-align:center}.fee-marker i{display:block;width:4px;height:50px;margin:0 auto;border-radius:4px;background:#22c55e;box-shadow:0 2px 8px rgba(34,197,94,.25)}.fee-marker b{display:block;white-space:nowrap;margin-top:-70px;padding:7px 10px;border-radius:8px;background:#22c55e;color:#fff;font-size:11px;line-height:1.2;box-shadow:0 6px 14px rgba(15,23,42,.15)}.fee-marker.standard i,.fee-marker.standard b{background:#f59e0b}.fee-marker.high i,.fee-marker.high b{background:#e91e63}.fee-marker.current i,.fee-marker.current b{background:#0ea5e9}.fee-marker.bottom{top:26px}.fee-marker.bottom b{margin-top:8px}.fee-progress-scale{display:flex;justify-content:space-between;margin:0 18px 10px;color:#64748b;font-size:12px}.fee-legend{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;border-top:1px solid rgba(255,255,255,.8);padding-top:12px}.fee-legend span{background:#fff;padding:7px 12px;border-radius:999px;box-shadow:0 4px 10px rgba(15,23,42,.08);font-size:12px;color:#475569}.fee-status-tip{margin:12px auto 0;max-width:max-content;background:#fff;padding:9px 14px;border-radius:10px;color:#475569;font-weight:800}.opendrg-cost-error{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
@media(max-width:760px){.opendrg-cost-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.opendrg-cost-title,.opendrg-cost-controls small{grid-column:1/-1}.opendrg-cost-controls .std-input,.opendrg-cost-controls input.std-input{width:100%;min-width:0;max-width:none}.opendrg-cost-controls .cost-btn{width:100%}.fee-progress-track{margin-left:10px;margin-right:10px}.fee-marker b{font-size:10px;padding:6px 8px}.fee-legend{justify-content:flex-start}.cost-table th,.cost-table td{font-size:11px;padding:8px}}


/* build145: dynamic per-scheme OpenDRG cost fields. */
.opendrg-cost-controls label[hidden],
.opendrg-cost-controls button[hidden],
#opendrgCostRegionWrap[hidden],
#opendrgCostLevelWrap[hidden],
#opendrgCostInsuranceWrap[hidden],
#opendrgCostHospitalWrap[hidden],
#opendrgCostPointValueWrap[hidden],
#opendrgCostRateWrap[hidden],
#opendrgCostMeanAmountWrap[hidden],
#opendrgCostMeanWrap[hidden],
#opendrgCostCoefficientWrap[hidden],
#opendrgCostCoeffWrap[hidden],
#opendrgCostAdjustmentWrap[hidden],
#opendrgCostTotalFeeWrap[hidden]{display:none!important}

.batch-scheme-param-snapshot{margin-top:8px;border:1px dashed #bfdbfe;background:#f8fbff;border-radius:12px;padding:8px 10px}.batch-scheme-param-snapshot h5{margin:0 0 6px;color:#1e3a8a;font-size:12px}.batch-scheme-param-snapshot div{display:flex;flex-wrap:wrap;gap:6px}.batch-scheme-param-snapshot span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#eef6ff;border:1px solid #dbeafe}.batch-scheme-param-snapshot em{font-style:normal;color:#64748b;font-size:10px;font-weight:900}.batch-scheme-param-snapshot b{color:#0f172a;font-size:11px}


/* build147: batch OpenDRG per-scheme parameters and per-case scheme override. */
.batch-opendrg-cost-controls{margin:10px 0 12px;background:linear-gradient(135deg,#f8fbff,#f8fafc);border-color:#bfdbfe}
.batch-case-scheme-panel{display:grid;gap:8px;margin:0 0 10px;padding:9px;border:1px dashed #bfdbfe;border-radius:12px;background:#f8fbff}
.batch-case-scheme-head{display:grid;grid-template-columns:minmax(240px,420px) minmax(0,1fr);gap:8px;align-items:end}
.batch-case-scheme-head label{display:grid;gap:4px}.batch-case-scheme-head label span{font-size:10px;color:#1e3a8a;font-weight:950}.batch-case-scheme-head em{font-style:normal;color:#64748b;font-size:11px;line-height:1.35;font-weight:800}
.batch-case-cost-grid{padding-top:2px;border-top:1px solid #dbeafe}
@media(max-width:760px){.batch-case-scheme-head{grid-template-columns:1fr}.batch-case-scheme-head em{font-size:10px}}
#batchOpendrgCostRegionWrap[hidden],
#batchOpendrgCostLevelWrap[hidden],
#batchOpendrgCostInsuranceWrap[hidden],
#batchOpendrgCostHospitalWrap[hidden],
#batchOpendrgCostPointValueWrap[hidden],
#batchOpendrgCostRateWrap[hidden],
#batchOpendrgCostMeanAmountWrap[hidden],
#batchOpendrgCostCoefficientWrap[hidden],
#batchOpendrgCostAdjustmentWrap[hidden],
#batchOpendrgCostTotalFeeWrap[hidden]{display:none!important}


/* ===== v1.0.59-build149: requested layout and OpenDRG cost refinements ===== */
#singleTab.active .actions-bar.sticky-actions{
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:9px 12px!important;
}
#singleTab.active .actions-bar.sticky-actions .algorithm-mode-control{
  flex:1 1 100%!important;
  width:min(100%,520px)!important;
  max-width:520px!important;
  justify-content:space-between!important;
  margin:0 auto!important;
}
#singleTab.active .actions-bar.sticky-actions .algorithm-mode-control .std-input{
  min-width:0!important;
  width:min(62vw,340px)!important;
  border-radius:10px!important;
}
#singleTab.active .actions-bar.sticky-actions #groupBtn,
#singleTab.active .actions-bar.sticky-actions #clearBtn{
  flex:1 1 180px!important;
  max-width:260px!important;
}
.template-button-row{
  justify-content:center!important;
  width:100%!important;
}
.template-button-row .batch-action-main{
  flex:1 1 0!important;
  min-width:170px!important;
  display:inline-flex!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
.thanks-list-plain{display:block!important;margin-top:8px!important}
#aboutTab .thanks-list-plain .thanks-people{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
#aboutTab .opendrg-credit{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.github-star-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #d0d7de;border-radius:999px;background:#f6f8fa;color:#24292f;font-size:12px;font-weight:900;line-height:1}
.weight-mode-stack{display:grid!important;gap:5px!important;min-width:0!important;width:100%!important}
.weight-mode-stack.compact{grid-template-columns:minmax(90px,auto) minmax(180px,260px) minmax(0,1fr)!important;align-items:center!important;gap:6px 10px!important}
.weight-current-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;background:#eef2ff;color:#4c1d95;border:1px solid #ddd6fe;padding:4px 9px;font-size:11px;font-weight:950;white-space:nowrap}
.batch-stat-control{grid-template-columns:minmax(0,1fr)!important}
.batch-stat-control .weight-mode-stack.compact .weight-mode-control{min-width:0!important;width:100%!important}
.batch-stat-control .weight-mode-stack.compact .weight-mode-note{min-width:0!important}
.batch-case-cost-panel{margin:0 0 10px!important;padding:10px!important;border:1px dashed #bfdbfe!important;background:linear-gradient(135deg,#f8fbff,#f8fafc)!important;align-items:end!important}
.batch-case-cost-panel .opendrg-cost-title{color:#1e3a8a!important}
.batch-case-cost-panel label{display:grid!important;gap:4px!important;font-size:12px!important;color:#475569!important;font-weight:800!important}
.batch-case-cost-panel label span{font-size:11px!important;color:#1e3a8a!important;font-weight:950!important}
.batch-case-cost-panel .batch-info-input{min-width:120px!important;max-width:190px!important;height:38px!important;border-radius:10px!important;border:1px solid #cbd5e1!important;background:#fff!important;padding:0 10px!important;font-weight:850!important;color:#0f172a!important}
.batch-case-cost-panel .batch-case-scheme-select-wrap .batch-info-input{min-width:240px!important;max-width:360px!important}
.batch-case-cost-panel .cost-btn{height:38px!important;align-self:end!important;padding:0 16px!important}
.batch-case-cost-panel small{width:100%!important;color:#64748b!important;line-height:1.45!important;font-weight:700!important}
@media(max-width:980px){
  .weight-mode-stack.compact{grid-template-columns:1fr!important}
  .batch-stat-control .weight-mode-stack.compact .weight-mode-control select{width:100%!important}
}
@media(max-width:760px){
  .template-button-row{flex-wrap:wrap!important}
  .batch-case-cost-panel .batch-info-input,.batch-case-cost-panel .batch-case-scheme-select-wrap .batch-info-input{width:100%!important;min-width:0!important;max-width:none!important}
}

/* ===== v1.0.60-build150: show OpenDRG GitHub credit on about page ===== */
#aboutTab .thanks-card>p.opendrg-credit{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-top:8px!important;
  margin-bottom:0!important;
  padding-top:8px!important;
  border-top:1px dashed #bfdbfe!important;
  color:#1e3a8a!important;
}
#aboutTab .github-tag{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  padding:4px 9px!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1!important;
  text-decoration:none!important;
}
#aboutTab .github-tag:hover{text-decoration:underline!important;}
#aboutTab .github-star-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:4px 8px!important;
  border:1px solid #d0d7de!important;
  border-radius:999px!important;
  background:#f6f8fa!important;
  color:#24292f!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
}

/* ===== v1.0.61-build151: requested responsive action row, batch cost parameter row, and compact OpenDRG-like fee bar ===== */
@media (min-width: 821px){
  #singleTab.active .actions-bar.sticky-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:12px!important;
    padding:10px 12px!important;
  }
  #singleTab.active .actions-bar.sticky-actions .algorithm-mode-control{
    flex:0 1 auto!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    justify-content:flex-start!important;
  }
  #singleTab.active .actions-bar.sticky-actions .algorithm-mode-control .std-input{
    width:180px!important;
    min-width:180px!important;
    max-width:220px!important;
    border-radius:10px!important;
  }
  #singleTab.active .actions-bar.sticky-actions .opendrg-scheme-control .std-input{
    width:260px!important;
    min-width:240px!important;
    max-width:320px!important;
  }
  #singleTab.active .actions-bar.sticky-actions #groupBtn{
    flex:0 0 220px!important;
    max-width:220px!important;
    min-width:180px!important;
  }
  #singleTab.active .actions-bar.sticky-actions #clearBtn{
    flex:0 0 180px!important;
    max-width:180px!important;
    min-width:130px!important;
  }
}
@media (max-width: 820px){
  #singleTab.active .actions-bar.sticky-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:9px!important;
  }
  #singleTab.active .actions-bar.sticky-actions .algorithm-mode-control{
    flex:1 1 100%!important;
    width:100%!important;
    max-width:none!important;
  }
  #singleTab.active .actions-bar.sticky-actions .algorithm-mode-control .std-input,
  #singleTab.active .actions-bar.sticky-actions .opendrg-scheme-control .std-input{
    width:min(64vw,360px)!important;
    min-width:0!important;
  }
  #singleTab.active .actions-bar.sticky-actions #groupBtn,
  #singleTab.active .actions-bar.sticky-actions #clearBtn{
    flex:1 1 calc(50% - 6px)!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:48px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

.batch-case-cost-panel.batch-case-scheme-panel,
.batch-detail .batch-case-cost-panel.batch-case-scheme-panel{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  gap:8px 10px!important;
  margin:0 0 10px!important;
}
.batch-case-cost-panel .opendrg-cost-title{
  flex:1 1 100%!important;
  width:100%!important;
  margin-bottom:0!important;
}
.batch-case-cost-panel label{
  flex:0 1 156px!important;
  min-width:136px!important;
  max-width:190px!important;
}
.batch-case-cost-panel .batch-case-scheme-select-wrap{
  flex:1 1 300px!important;
  min-width:260px!important;
  max-width:420px!important;
}
.batch-case-cost-panel .batch-info-input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.batch-case-cost-panel .cost-btn{
  flex:0 0 auto!important;
  min-width:108px!important;
}
.batch-case-cost-panel small{
  flex:1 1 100%!important;
}
@media (max-width: 760px){
  .batch-case-cost-panel label{
    flex:1 1 calc(50% - 8px)!important;
    min-width:142px!important;
    max-width:none!important;
  }
  .batch-case-cost-panel .batch-case-scheme-select-wrap{
    flex:1 1 100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .batch-case-cost-panel .cost-btn{
    flex:1 1 100%!important;
    width:100%!important;
  }
}

.fee-progress-card{
  width:min(100%,940px)!important;
  max-width:940px!important;
  margin:10px auto 0!important;
  padding:18px 24px 20px!important;
  background:linear-gradient(180deg,#dbe6f5 0%,#cbd8e8 100%)!important;
  border:1px solid #c4d2e6!important;
  box-shadow:0 10px 24px rgba(15,23,42,.12)!important;
}
.fee-progress-card h4{
  margin:0 0 24px!important;
  color:#17324d!important;
  font-size:15px!important;
}
.fee-progress-track{
  height:28px!important;
  max-width:860px!important;
  margin:40px auto 16px!important;
  background:linear-gradient(90deg,#dcfce7 0%,#fef3c7 55%,#fee2e2 100%)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 5px rgba(15,23,42,.18),0 2px 8px rgba(15,23,42,.08)!important;
}
.fee-progress-fill{
  border-radius:999px!important;
  background:linear-gradient(90deg,#22c55e 0%,#f59e0b 62%,#ef4444 100%)!important;
  opacity:.95!important;
}
.fee-marker{
  top:-8px!important;
}
.fee-marker i{
  width:4px!important;
  height:44px!important;
}
.fee-marker b{
  margin-top:-60px!important;
  padding:7px 10px!important;
  border-radius:7px!important;
  font-size:11px!important;
}
.fee-marker.bottom{
  top:30px!important;
}
.fee-marker.bottom b{
  margin-top:8px!important;
}
.fee-progress-scale{
  max-width:860px!important;
  margin:0 auto 14px!important;
}
.fee-legend{
  max-width:860px!important;
  margin:0 auto!important;
  border-top:1px solid rgba(255,255,255,.75)!important;
}
.fee-status-tip{
  max-width:860px!important;
}
@media (max-width: 760px){
  .fee-progress-card{
    padding:16px 12px 18px!important;
  }
  .fee-progress-track{
    height:24px!important;
    margin:38px 6px 14px!important;
  }
  .fee-marker b{
    font-size:10px!important;
    padding:5px 7px!important;
  }
}

/* ===== v1.0.62-build152: separated single-case selector row, compact batch cost rows, OpenDRG weight switch ===== */
#singleTab.active .actions-bar.sticky-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:10px 12px!important;
}
#singleTab.active .single-algorithm-row,
#singleTab.active .single-action-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px 12px!important;
  width:100%!important;
  flex-wrap:wrap!important;
}
#singleTab.active .single-algorithm-row .algorithm-mode-control{
  flex:0 1 auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  justify-content:flex-start!important;
}
#singleTab.active .single-algorithm-row .algorithm-mode-control .std-input{
  width:200px!important;
  min-width:190px!important;
  max-width:240px!important;
  border-radius:10px!important;
}
#singleTab.active .single-algorithm-row .opendrg-scheme-control .std-input{
  width:300px!important;
  min-width:260px!important;
  max-width:360px!important;
}
#singleTab.active .single-action-row #groupBtn,
#singleTab.active .single-action-row #clearBtn{
  flex:0 1 220px!important;
  min-width:160px!important;
  max-width:260px!important;
}
#singleTab.active .single-action-row #clearBtn{
  flex-basis:180px!important;
}
@media(max-width:820px){
  #singleTab.active .single-algorithm-row{
    gap:7px!important;
  }
  #singleTab.active .single-algorithm-row .algorithm-mode-control{
    flex:1 1 100%!important;
    width:100%!important;
    justify-content:space-between!important;
  }
  #singleTab.active .single-algorithm-row .algorithm-mode-control .std-input,
  #singleTab.active .single-algorithm-row .opendrg-scheme-control .std-input{
    width:min(62vw,360px)!important;
    min-width:0!important;
    max-width:none!important;
  }
  #singleTab.active .single-action-row{
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  #singleTab.active .single-action-row #groupBtn,
  #singleTab.active .single-action-row #clearBtn{
    flex:1 1 0!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

.batch-opendrg-cost-controls{
  align-items:center!important;
  gap:8px 10px!important;
  padding:9px 10px!important;
}
.batch-opendrg-cost-controls .opendrg-cost-title{
  flex:0 0 auto!important;
  width:auto!important;
  margin-right:4px!important;
  white-space:nowrap!important;
}
.batch-opendrg-cost-controls label{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
  min-width:0!important;
}
.batch-opendrg-cost-controls label .std-input{
  min-width:120px!important;
  max-width:180px!important;
  width:auto!important;
}
.batch-opendrg-cost-controls small{
  flex:1 1 100%!important;
  width:100%!important;
}
.batch-case-cost-panel.batch-case-scheme-panel,
.batch-detail .batch-case-cost-panel.batch-case-scheme-panel{
  gap:8px 10px!important;
  align-items:center!important;
}
.batch-case-cost-panel label{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:6px!important;
  flex:0 1 240px!important;
  min-width:190px!important;
  max-width:300px!important;
  white-space:nowrap!important;
}
.batch-case-cost-panel label span{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.batch-case-cost-panel .batch-info-input{
  min-width:118px!important;
  max-width:190px!important;
}
.batch-case-cost-panel .batch-case-scheme-select-wrap{
  flex:1 1 390px!important;
  min-width:300px!important;
  max-width:540px!important;
}
.batch-case-cost-panel .batch-case-scheme-select-wrap .batch-info-input{
  max-width:420px!important;
}
.batch-mapping-first{
  margin-bottom:0!important;
}
.batch-info-edit-panel .opendrg-cost-result{
  margin:8px 0 10px!important;
}
.batch-case-cost-error{
  margin:8px 0 10px!important;
}
.fee-progress-card{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin:10px auto 0!important;
  padding:16px 20px 18px!important;
}
.fee-progress-track{
  max-width:660px!important;
  height:26px!important;
  margin:38px auto 14px!important;
}
.fee-progress-scale,
.fee-legend,
.fee-status-tip{
  max-width:660px!important;
}
.fee-legend span{
  padding:6px 10px!important;
}
@media(max-width:760px){
  .batch-opendrg-cost-controls{
    display:flex!important;
    flex-wrap:wrap!important;
  }
  .batch-opendrg-cost-controls .opendrg-cost-title,
  .batch-opendrg-cost-controls label,
  .batch-opendrg-cost-controls small{
    flex:1 1 100%!important;
    width:100%!important;
  }
  .batch-opendrg-cost-controls label{
    justify-content:space-between!important;
  }
  .batch-opendrg-cost-controls label .std-input{
    width:min(62vw,360px)!important;
    max-width:none!important;
  }
  .batch-case-cost-panel label,
  .batch-case-cost-panel .batch-case-scheme-select-wrap{
    flex:1 1 100%!important;
    min-width:0!important;
    max-width:none!important;
    justify-content:space-between!important;
  }
  .batch-case-cost-panel .batch-info-input,
  .batch-case-cost-panel .batch-case-scheme-select-wrap .batch-info-input{
    width:min(62vw,360px)!important;
    max-width:none!important;
  }
  .fee-progress-card{
    max-width:100%!important;
    padding:15px 10px 17px!important;
  }
  .fee-progress-track{
    max-width:none!important;
    margin-left:8px!important;
    margin-right:8px!important;
  }
}

/* ===== v1.0.63-build153: low-saturation compact UI + fixed batch summary widths + cost field sizing ===== */
:root{
  --primary:#4b76c4!important;
  --primary-dark:#345a9a!important;
  --primary-light:#e8effb!important;
  --success:#2fa77c!important;
  --warning:#d99a3a!important;
  --danger:#d85d5d!important;
  --purple:#755dc4!important;
  --gray-50:#f8fafc!important;
  --gray-100:#f2f5f9!important;
  --gray-200:#e1e7f0!important;
  --gray-300:#c7d2e0!important;
}
html,body{background:linear-gradient(180deg,#f7faff 0,#f8fafc 36%,#f4f7fb 100%)!important;color:#122033!important}
.topbar{padding:6px 16px!important;border-bottom-color:#dfe7f2!important;box-shadow:0 1px 3px rgba(30,49,83,.05)!important}.layout,.batch-main,.report-main{padding:12px 18px 16px!important}.panel{padding:13px 14px!important;border-color:#dfe7f2!important;box-shadow:0 1px 3px rgba(30,49,83,.045)!important}.panel-title{margin-bottom:10px!important}.list-head{margin:10px 0 6px!important}.hint{padding:7px 9px!important;margin:5px 0 8px!important}
button,.file-btn{background:#edf3fb!important;color:#345a9a!important;border:1px solid #d4e0f2!important;box-shadow:none!important}.tab-btn{background:#fff!important;color:#56677f!important;border-color:#dfe7f2!important}.tab-btn:hover,button:hover,.file-btn:hover{background:#e8effb!important;color:#2f528c!important;box-shadow:0 6px 16px rgba(75,118,196,.12)!important;filter:none!important}.tab-btn.active,button.primary,.btn-main,#groupBtn,.batch-upload-actions .batch-action-main,.batch-result-toolbar button[data-action="download-batch"],.batch-toolbar-actions.batch-toolbar-five button[data-action="download-batch"]{background:linear-gradient(135deg,#4b76c4,#78a4d7)!important;border-color:#4b76c4!important;color:#fff!important;box-shadow:0 8px 18px rgba(75,118,196,.16)!important}.logo-favicon{box-shadow:0 8px 18px rgba(75,118,196,.16)!important}.eyebrow{color:#426caf!important}.status-pill.ok,.data-status.ready{background:#e7f5ee!important;color:#237a5d!important}.tag.main{background:linear-gradient(135deg,#4b76c4,#755dc4)!important}.tag.med{background:#e8effb!important;color:#345a9a!important}.tag.mapped{background:#f0ecfb!important;color:#5e49a5!important}.rs-hero.rs-ok{background:linear-gradient(135deg,#4b76c4 0%,#345a9a 100%)!important}.rs-hero.rs-qy{background:linear-gradient(135deg,#d85d5d 0%,#9f3f3f 100%)!important}.batch-toolbar button[data-action="regroup-all"],.batch-toolbar-actions.batch-toolbar-five button[data-action="regroup-all"],.batch-regroup-inline{background:linear-gradient(135deg,#4b76c4,#755dc4)!important;box-shadow:0 8px 18px rgba(75,118,196,.16)!important;color:#fff!important}.batch-toolbar-actions.batch-toolbar-five .batch-tool-search,.batch-toolbar-actions.batch-toolbar-four .batch-tool-search{background:linear-gradient(135deg,#4c9fbd,#4b76c4)!important;box-shadow:0 8px 18px rgba(76,159,189,.14)!important}.batch-toolbar-actions.batch-toolbar-five .batch-tool-sort,.batch-toolbar-actions.batch-toolbar-four .batch-tool-sort{background:linear-gradient(135deg,#755dc4,#6371c4)!important;box-shadow:0 8px 18px rgba(117,93,196,.14)!important}.batch-toolbar-actions.batch-toolbar-five button[data-action="clear-batch"],.batch-toolbar button[data-action="clear-batch"]{background:#fff8f0!important;color:#a25b20!important;border-color:#f3d5b3!important;box-shadow:0 6px 14px rgba(217,154,58,.10)!important}.weight-template-action{background:linear-gradient(135deg,#6371c4,#8d78ca)!important;border-color:#6371c4!important}.drop-icon{background:#e8effb!important;color:#345a9a!important}.weight-icon{background:#f0ecfb!important;color:#5e49a5!important}
.code-row,.batch-edit-row,.metric,.kpi-card,.detail-box,.rs-panel,.standard-case-card,.upload-drop-zone,.batch-toolbar,.batch-card,.chart-card{border-color:#dfe7f2!important;box-shadow:0 4px 14px rgba(30,49,83,.035)!important}.code-row:hover,.batch-edit-row:hover{border-color:#aebfde!important;box-shadow:0 6px 16px rgba(75,118,196,.08)!important}.text-input,.code-input,.batch-code-input,.std-input,.unit-box,.batch-info-input{border-color:#cbd6e6!important}.text-input:focus,.code-input:focus,.batch-code-input:focus,.std-input:focus,.unit-box:focus-within,.batch-info-input:focus{border-color:#4b76c4!important;box-shadow:0 0 0 3px #e8effb!important}
/* Batch summary row: each card uses the same grid column width as one action button below. */
.batch-stats-bar{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important;width:100%!important;margin:8px 0 7px!important}.batch-stat-box{min-height:50px!important;padding:8px 11px!important;border-radius:13px!important;border-color:#c8d7ee!important;border-left-width:4px!important;background:linear-gradient(135deg,#eef4fb,#fff)!important;box-shadow:0 5px 14px rgba(75,118,196,.07)!important;overflow:hidden!important}.batch-stat-box.stat-ok{border-color:#c6eadb!important;border-left-color:#2fa77c!important;background:linear-gradient(135deg,#edf8f3,#fff)!important}.batch-stat-box.stat-weight{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:4px!important;border-color:#dcd5f1!important;border-left-color:#755dc4!important;background:linear-gradient(135deg,#f3f0fb,#fff)!important}.batch-stat-box>span:first-child{font-size:12px!important;color:#40516a!important}.batch-stat-box>strong{font-size:24px!important;color:#0f172a!important}.batch-stat-box.stat-weight>span:first-child{grid-column:auto!important;grid-row:auto!important;color:#5e49a5!important}.batch-stat-control{grid-column:auto!important;grid-row:auto!important;display:block!important;min-width:0!important}.batch-stat-control .weight-mode-stack.compact{display:block!important;min-width:0!important;width:100%!important}.batch-stat-control .weight-current-badge,.batch-stat-control .weight-mode-note{display:none!important}.batch-stat-control .weight-mode-control{display:block!important;width:100%!important;min-width:0!important}.batch-stat-control .weight-mode-control select{width:100%!important;min-width:0!important;height:31px!important;padding:0 8px!important;border-radius:10px!important;border-color:#c9c1e9!important;color:#4f418d!important;font-size:12px!important;background:#fff!important;overflow:hidden!important;text-overflow:ellipsis!important}.batch-result-toolbar{padding:8px 10px!important}.batch-toolbar-actions.batch-toolbar-five{gap:10px!important}.batch-toolbar-actions.batch-toolbar-five .batch-action-cell>button{min-height:40px!important;border-radius:12px!important}
@media(max-width:1180px){.batch-stats-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:760px){.batch-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.batch-stat-box.stat-weight{grid-column:auto!important}}@media(max-width:520px){.batch-stats-bar{grid-template-columns:1fr!important}}
/* Single OpenDRG cost controls match standard case/input sizes. */
#opendrgCostControls.opendrg-cost-controls:not(.batch-opendrg-cost-controls){display:grid!important;grid-template-columns:repeat(5,minmax(150px,1fr))!important;gap:8px 12px!important;align-items:end!important;margin:8px 0 0!important;padding:9px 10px!important;border-color:#dfe7f2!important;background:#f8fafc!important;border-radius:12px!important}.opendrg-cost-controls:not(.batch-opendrg-cost-controls) .opendrg-cost-title{grid-column:1/-1!important;width:auto!important;font-size:13px!important;color:#345a9a!important}.opendrg-cost-controls:not(.batch-opendrg-cost-controls) label{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;min-width:0!important;max-width:none!important;font-size:12px!important;color:#40516a!important}.opendrg-cost-controls:not(.batch-opendrg-cost-controls) .std-input,.opendrg-cost-controls:not(.batch-opendrg-cost-controls) input.std-input{width:100%!important;min-width:0!important;max-width:none!important;height:36px!important;border-radius:8px!important;padding:7px 10px!important;background:#fff!important}.opendrg-cost-controls:not(.batch-opendrg-cost-controls) .cost-btn{height:36px!important;min-height:36px!important;align-self:end!important;border-radius:9px!important;padding:0 14px!important}.opendrg-cost-controls:not(.batch-opendrg-cost-controls) small{grid-column:1/-1!important;width:auto!important;font-size:12px!important;color:#5f6f86!important}.batch-opendrg-cost-controls{gap:7px 9px!important;padding:8px 10px!important;border-color:#c8d7ee!important}.batch-opendrg-cost-controls label .std-input{height:34px!important;border-radius:8px!important}
@media(max-width:1100px){#opendrgCostControls.opendrg-cost-controls:not(.batch-opendrg-cost-controls){grid-template-columns:repeat(3,minmax(150px,1fr))!important}}@media(max-width:760px){#opendrgCostControls.opendrg-cost-controls:not(.batch-opendrg-cost-controls){grid-template-columns:repeat(2,minmax(0,1fr))!important}.opendrg-cost-controls:not(.batch-opendrg-cost-controls) .cost-btn{width:100%!important}}@media(max-width:520px){#opendrgCostControls.opendrg-cost-controls:not(.batch-opendrg-cost-controls){grid-template-columns:1fr!important}}

/* ===== v1.0.64-build154: tighter batch summary/action alignment and shields.io star badge ===== */
.batch-stats-bar{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
.batch-stat-box{min-width:0!important;width:100%!important;max-width:none!important}
.batch-stat-box.stat-weight{min-width:0!important}
.batch-stat-control .weight-mode-control.compact{display:block!important;width:100%!important;min-width:0!important;margin:0!important}
.batch-stat-control .weight-mode-control.compact select{width:100%!important;min-width:0!important;max-width:100%!important;height:31px!important}
#aboutTab .github-star-badge{padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;line-height:1!important;box-shadow:none!important}
#aboutTab .github-star-badge img{display:block!important;height:20px!important;max-width:160px!important}
@media(max-width:1100px){.batch-stats-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:720px){.batch-stats-bar{grid-template-columns:1fr!important}}


/* ===== v1.0.65-build155: shortcode order + compact low-saturation button/drop-zone fixes ===== */
#singleTab.active .single-action-row #clearBtn,
#singleTab.active .actions-bar.sticky-actions #clearBtn{
  background:linear-gradient(135deg,#4b76c4,#78a4d7)!important;
  border-color:#4b76c4!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(75,118,196,.16)!important;
}
.batch-pending-toolbar button[data-action="regroup-all"]{
  background:linear-gradient(135deg,#4b76c4,#755dc4)!important;
  border-color:#4b76c4!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(75,118,196,.16)!important;
}
.batch-pending-toolbar button[data-action="clear-batch"]{
  background:linear-gradient(135deg,#d99a3a,#e5b96d)!important;
  border-color:#d99a3a!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(217,154,58,.14)!important;
}
#csvDropZone.upload-drop-zone,
#weightDropZone.upload-drop-zone{
  border:1.5px solid #111827!important;
}
@media(min-width:1101px) and (max-width:1180px){
  .batch-stats-bar{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
}
@media(max-width:1100px){
  .batch-stats-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
}
@media(max-width:720px){
  .batch-stats-bar{grid-template-columns:1fr!important}
}


/* ===== v1.0.67-build157: dynamic OpenDRG cost fields, centered batch stats, template colors ===== */
/* 费用参数区按方案字段自动换行，输入尺寸与“标准病历信息”一致，避免右侧溢出。 */
#opendrgCostControls.opendrg-cost-controls:not(.batch-opendrg-cost-controls){
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;
  gap:7px 9px!important;
  align-items:end!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 0!important;
  padding:9px 10px!important;
  border:1px solid #dfe7f2!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  overflow:visible!important;
}
#opendrgCostControls.opendrg-cost-controls[hidden]{display:none!important}
#opendrgCostControls .opendrg-cost-title{grid-column:1/-1!important;color:#345a9a!important;font-size:13px!important;font-weight:950!important;margin:0!important}
#opendrgCostControls label{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;min-width:0!important;max-width:none!important;color:#40516a!important;font-size:12px!important;font-weight:850!important;white-space:normal!important}
#opendrgCostControls .std-input,#opendrgCostControls input.std-input{width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;padding:5px 8px!important;border-radius:8px!important;font-size:13px!important;background:#fff!important}
#opendrgCostControls .cost-btn{height:32px!important;min-height:32px!important;padding:0 12px!important;border-radius:8px!important;align-self:end!important}
#opendrgCostControls small{grid-column:1/-1!important;width:auto!important;color:#5f6f86!important;font-size:11.5px!important;line-height:1.35!important;margin:0!important}

/* 批量单份费用参数：无费用测算方案只保留方案选择，不再显示“费用参数”面板。 */
.batch-case-scheme-only-panel{display:grid!important;grid-template-columns:minmax(240px,420px)!important;gap:8px!important;margin:0 0 8px!important;padding:8px 10px!important;border:1px solid #dfe7f2!important;border-radius:12px!important;background:#f8fafc!important}
.batch-case-scheme-only-panel label{display:grid!important;gap:4px!important;min-width:0!important;color:#1e3a8a!important;font-size:12px!important;font-weight:900!important}
.batch-case-scheme-only-panel .batch-info-input{width:100%!important;height:32px!important;border-radius:8px!important;min-width:0!important;max-width:none!important}
.batch-case-cost-panel.batch-case-scheme-panel,.batch-detail .batch-case-cost-panel.batch-case-scheme-panel{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:7px 9px!important;align-items:end!important;margin:0 0 8px!important;padding:9px 10px!important;border:1px solid #dfe7f2!important;border-radius:12px!important;background:#f8fafc!important;overflow:visible!important}
.batch-case-cost-panel .opendrg-cost-title{grid-column:1/-1!important;font-size:13px!important;color:#345a9a!important;margin:0!important}
.batch-case-cost-panel label,.batch-case-cost-panel .batch-case-scheme-select-wrap{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;min-width:0!important;max-width:none!important;flex:none!important;white-space:normal!important}
.batch-case-cost-panel label span{font-size:11.5px!important;color:#1e3a8a!important;font-weight:950!important;white-space:nowrap!important}
.batch-case-cost-panel .batch-info-input,.batch-case-cost-panel .batch-case-scheme-select-wrap .batch-info-input{width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;border-radius:8px!important;padding:5px 8px!important;font-size:13px!important}
.batch-case-cost-panel .batch-case-scheme-select-wrap{grid-column:span 2!important}
.batch-case-cost-panel .cost-btn{height:32px!important;min-height:32px!important;border-radius:8px!important;align-self:end!important;padding:0 12px!important}
.batch-case-cost-panel small{grid-column:1/-1!important;width:auto!important;font-size:11.5px!important;line-height:1.35!important;color:#5f6f86!important}

/* 批量汇总：三块左右居中、均匀排布；费用参数口径文字在选择框左侧。 */
.batch-stats-bar{display:grid!important;grid-template-columns:repeat(3,minmax(210px,1fr))!important;gap:12px!important;align-items:center!important;width:100%!important;margin:8px 0 8px!important}
.batch-stat-box,.batch-stat-box.stat-weight{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:18px!important;min-height:44px!important;padding:7px 12px!important;border:1px solid #d8e2ef!important;border-left-width:4px!important;border-radius:13px!important;background:linear-gradient(135deg,#f5f9ff,#fff)!important;box-shadow:0 4px 12px rgba(75,118,196,.055)!important;overflow:visible!important}
.batch-stat-box.stat-ok{background:linear-gradient(135deg,#f0faf6,#fff)!important;border-color:#cbeade!important;border-left-color:#2fa77c!important}
.batch-stat-box.stat-weight{background:linear-gradient(135deg,#f5f2fb,#fff)!important;border-color:#ddd7ef!important;border-left-color:#755dc4!important}
.batch-stat-box>span:first-child,.batch-stat-box.stat-weight>span:first-child{grid-column:auto!important;grid-row:auto!important;align-self:center!important;font-size:13px!important;font-weight:950!important;color:#40516a!important;white-space:nowrap!important}
.batch-stat-box.stat-weight>span:first-child{color:#5e49a5!important}
.batch-stat-box>strong{justify-self:auto!important;font-size:28px!important;line-height:1!important;font-weight:950!important;color:#0f172a!important;text-align:center!important}
.batch-stat-control{display:block!important;grid-column:auto!important;grid-row:auto!important;min-width:0!important;max-width:260px!important;width:100%!important}
.batch-stat-control .weight-mode-control.compact{display:block!important;width:100%!important;min-width:0!important;margin:0!important}
.batch-stat-control .weight-mode-control.compact select{width:100%!important;min-width:170px!important;max-width:260px!important;height:32px!important;border-radius:999px!important;padding:0 32px 0 12px!important;background:#fff!important;border-color:#c9c1e9!important;color:#4f418d!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.batch-stat-control .weight-current-badge,.batch-stat-control .weight-mode-note{display:none!important}
@media(max-width:900px){.batch-stats-bar{grid-template-columns:1fr!important}.batch-stat-box,.batch-stat-box.stat-weight{justify-content:space-between!important}.batch-stat-control{max-width:none!important}.batch-stat-control .weight-mode-control.compact select{max-width:none!important;width:100%!important}}

/* 模板按钮颜色与对应拖拽上传区保持一致。 */
#templateBtn.batch-action-main{background:linear-gradient(135deg,#eff6ff,#ffffff)!important;border:1.5px solid #111827!important;color:#1e3a8a!important;box-shadow:0 6px 14px rgba(75,118,196,.08)!important}
#templateBtn.batch-action-main:hover{background:linear-gradient(135deg,#dcecff,#ffffff)!important;color:#1e3a8a!important}
#weightTemplateBtn.weight-template-action{background:linear-gradient(135deg,#f5f3ff,#ffffff)!important;border:1.5px solid #111827!important;color:#4c1d95!important;box-shadow:0 6px 14px rgba(117,93,196,.08)!important}
#weightTemplateBtn.weight-template-action:hover{background:linear-gradient(135deg,#ede9fe,#ffffff)!important;color:#4c1d95!important}

/* v1.1.18-build208: 权重表模板按钮与病历模板按钮保持一致。 */
#weightTemplateXlsxBtn.batch-action-main{
  background:linear-gradient(135deg,#eff6ff,#ffffff)!important;
  border:1.5px solid #111827!important;
  color:#1e3a8a!important;
  box-shadow:0 6px 14px rgba(75,118,196,.08)!important;
}
#weightTemplateXlsxBtn.batch-action-main:hover{
  background:linear-gradient(135deg,#dcecff,#ffffff)!important;
  color:#1e3a8a!important;
}
#csvDropZone.upload-drop-zone,#weightDropZone.upload-drop-zone{border:1.5px solid #111827!important}
/* Build156 hidden-state guard: later ID selectors must not unhide dynamic cost fields. */
#opendrgCostControls label[hidden],#opendrgCostControls button[hidden],#batchOpendrgCostControls label[hidden],#batchOpendrgCostControls button[hidden]{display:none!important}

/* ===== v1.0.68-build158: single OpenDRG cost panel moved below standard case info + brighter light UI ===== */
:root{
  --primary:#3b82f6!important;
  --primary-dark:#1d4ed8!important;
  --primary-light:#dbeafe!important;
  --success:#10b981!important;
  --warning:#f59e0b!important;
  --danger:#ef4444!important;
  --purple:#7c3aed!important;
  --gray-50:#f8fbff!important;
  --gray-100:#eef6ff!important;
  --gray-200:#d7e8ff!important;
  --gray-300:#b8d4f8!important;
}
html,body{
  background:linear-gradient(180deg,#eef7ff 0,#f7fbff 36%,#f0f8ff 100%)!important;
  color:#0b1f3a!important;
}
.topbar{
  background:rgba(255,255,255,.97)!important;
  border-bottom-color:#cfe2ff!important;
  box-shadow:0 4px 18px rgba(59,130,246,.08)!important;
}
.panel{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,252,255,.98))!important;
  border-color:#cfe2ff!important;
  box-shadow:0 10px 26px rgba(59,130,246,.075)!important;
}
button,.file-btn{
  background:#e7f1ff!important;
  border-color:#bdd7ff!important;
  color:#1d4ed8!important;
}
button:hover,.file-btn:hover,.tab-btn:hover{
  background:#d9ebff!important;
  color:#1e40af!important;
  box-shadow:0 8px 20px rgba(59,130,246,.16)!important;
}
.tab-btn.active,button.primary,.btn-main,#groupBtn,
.batch-upload-actions .batch-action-main,
.batch-result-toolbar button[data-action="download-batch"],
.batch-toolbar-actions.batch-toolbar-five button[data-action="download-batch"]{
  background:linear-gradient(135deg,#3b82f6,#60a5fa)!important;
  border-color:#3b82f6!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(59,130,246,.22)!important;
}
#singleTab.active .single-action-row #clearBtn,
#singleTab.active .actions-bar.sticky-actions #clearBtn{
  background:linear-gradient(135deg,#3b82f6,#60a5fa)!important;
  border-color:#3b82f6!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(59,130,246,.22)!important;
}
.logo-icon,.logo-favicon{box-shadow:0 10px 24px rgba(59,130,246,.20)!important}
.eyebrow{color:#2563eb!important}.tab-btn{border-color:#cfe2ff!important}.status-pill.ok,.data-status.ready{background:#dcfce7!important;color:#047857!important}
.tag.med{background:#dbeafe!important;color:#1d4ed8!important}.tag.nat{background:#cffafe!important;color:#0e7490!important}.tag.mapped{background:#ede9fe!important;color:#6d28d9!important}.tag.main{background:linear-gradient(135deg,#3b82f6,#7c3aed)!important;color:#fff!important}
.standard-case-card{
  background:linear-gradient(135deg,#dcedff 0%,#f8fbff 78%)!important;
  border-color:#93c5fd!important;
  box-shadow:0 10px 26px rgba(59,130,246,.12)!important;
}
.case-info-summary .std-badge,
.std-badge{
  background:linear-gradient(135deg,#2563eb,#3b82f6)!important;
  color:#fff!important;
}
.text-input,.code-input,.batch-code-input,.std-input,.unit-box,.batch-info-input{
  border-color:#b7cff5!important;
  background:#fff!important;
}
.text-input:focus,.code-input:focus,.batch-code-input:focus,.std-input:focus,.unit-box:focus-within,.batch-info-input:focus{
  border-color:#3b82f6!important;
  box-shadow:0 0 0 3px #dbeafe!important;
}

#opendrgCostControls.opendrg-cost-controls.opendrg-cost-details:not(.batch-opendrg-cost-controls){
  display:block!important;
  width:100%!important;
  margin:8px 0 10px!important;
  padding:0!important;
  border:1px solid #f6c453!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff7d6 0%,#ecfeff 100%)!important;
  box-shadow:0 10px 26px rgba(245,158,11,.12),0 6px 18px rgba(14,165,233,.08)!important;
  overflow:hidden!important;
}
#opendrgCostControls.opendrg-cost-controls.opendrg-cost-details[hidden]{display:none!important}
#opendrgCostControls .opendrg-cost-summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:56px!important;
  padding:10px 14px!important;
  cursor:pointer!important;
  background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(224,242,254,.96))!important;
  border-bottom:1px solid rgba(251,191,36,.35)!important;
}
#opendrgCostControls .opendrg-cost-summary::-webkit-details-marker{display:none!important}
#opendrgCostControls .opendrg-cost-kicker{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  color:#1d4ed8!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
#opendrgCostControls .opendrg-cost-summary h3{
  margin:3px 0 2px!important;
  font-size:15px!important;
  line-height:1.15!important;
  color:#0f3d78!important;
  font-weight:950!important;
}
#opendrgCostControls .opendrg-cost-summary p{
  margin:0!important;
  color:#365f8d!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
#opendrgCostControls .opendrg-cost-toggle{
  flex:0 0 auto!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#f59e0b,#38bdf8)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
  box-shadow:0 8px 18px rgba(56,189,248,.16)!important;
}
#opendrgCostControls:not([open]) .opendrg-cost-toggle::after{content:'  ▾'}
#opendrgCostControls[open] .opendrg-cost-toggle::after{content:'  ▴'}
#opendrgCostControls .opendrg-cost-body{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;
  gap:8px 10px!important;
  align-items:end!important;
  padding:10px 12px 12px!important;
  background:linear-gradient(135deg,#fffdf2 0%,#f0fbff 100%)!important;
}
#opendrgCostControls .opendrg-cost-body label{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  min-width:0!important;
  color:#17447a!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:normal!important;
}
#opendrgCostControls .opendrg-cost-body .std-input,
#opendrgCostControls .opendrg-cost-body input.std-input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:32px!important;
  padding:5px 8px!important;
  border-radius:8px!important;
  font-size:13px!important;
  background:#fff!important;
}
#opendrgCostControls .opendrg-cost-body .cost-btn{
  height:32px!important;
  min-height:32px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  align-self:end!important;
}
#opendrgCostControls .opendrg-cost-body label[hidden],
#opendrgCostControls .opendrg-cost-body button[hidden]{display:none!important}
@media(max-width:760px){
  #opendrgCostControls .opendrg-cost-summary{align-items:flex-start!important;flex-direction:column!important}
  #opendrgCostControls .opendrg-cost-toggle{width:100%!important;justify-content:center!important;text-align:center!important}
  #opendrgCostControls .opendrg-cost-body{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){#opendrgCostControls .opendrg-cost-body{grid-template-columns:1fr!important}}


/* ===== v1.0.69-build159: result-side OpenDRG cost controls + softer compact result hero ===== */
:root{
  --primary:#4f8df7!important;
  --primary-dark:#2563eb!important;
  --primary-light:#e1efff!important;
  --success:#22c55e!important;
  --warning:#fbbf24!important;
  --purple:#8b5cf6!important;
  --gray-100:#edf7ff!important;
  --gray-200:#cfe5ff!important;
  --gray-300:#a9ccff!important;
}
html,body{
  background:linear-gradient(180deg,#e9f6ff 0,#f8fcff 42%,#effaff 100%)!important;
}
.panel,.result-view.empty,.rs-panel,.detail-box{
  border-color:#c7e0ff!important;
  box-shadow:0 8px 22px rgba(79,141,247,.07)!important;
}
.result-card{gap:10px!important;max-width:100%!important;overflow:hidden!important}
.rs-hero{
  grid-template-columns:minmax(0,1.05fr) minmax(220px,.78fr)!important;
  gap:14px!important;
  padding:16px 18px!important;
  min-height:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  box-shadow:0 12px 24px rgba(79,141,247,.16)!important;
  border:1px solid rgba(255,255,255,.65)!important;
}
.rs-hero.rs-ok{
  background:linear-gradient(135deg,#5f96f4 0%,#6aa8f7 54%,#7fc7ff 100%)!important;
}
.rs-hero.rs-warn,.rs-hero.rs-qy{
  background:linear-gradient(135deg,#fb923c 0%,#f97316 100%)!important;
}
.rs-label{font-size:11px!important;margin-bottom:4px!important;letter-spacing:1.7px!important;opacity:.88!important}
.rs-drg{font-size:34px!important;line-height:.98!important;letter-spacing:.5px!important}
.rs-drg-name{font-size:14px!important;margin-top:6px!important;line-height:1.28!important}
.rs-right{gap:6px 12px!important;align-content:center!important}
.rs-kv{gap:1px!important;padding:2px 0!important}.rs-kv span{font-size:10.5px!important}.rs-kv b{font-size:13px!important}.rs-weight{font-size:18px!important;color:#fff176!important}
.single-info-toggle-note{display:none!important}

#opendrgCostControls.opendrg-cost-controls.opendrg-cost-inline{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #b7d7ff!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff9dd 0%,#eaf7ff 52%,#f5fbff 100%)!important;
  box-shadow:0 10px 24px rgba(79,141,247,.10),0 6px 16px rgba(251,191,36,.08)!important;
  overflow:hidden!important;
}
#opendrgCostControls.opendrg-cost-inline[hidden]{display:none!important}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:46px!important;
  padding:9px 12px!important;
  cursor:default!important;
  background:linear-gradient(135deg,#fff3bd 0%,#dff4ff 100%)!important;
  border-bottom:1px solid rgba(96,165,250,.25)!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-kicker{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:2px 8px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  color:#1d4ed8!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-summary h3{
  margin:3px 0 2px!important;
  font-size:15px!important;
  line-height:1.12!important;
  color:#0f3d78!important;
  font-weight:950!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-summary p{
  margin:0!important;
  color:#33618c!important;
  font-size:11.5px!important;
  line-height:1.28!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-toggle{display:none!important}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;
  gap:8px 10px!important;
  align-items:end!important;
  padding:10px 12px 12px!important;
  background:linear-gradient(135deg,#fffdf1 0%,#f0fbff 100%)!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body label{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  min-width:0!important;
  color:#17447a!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:normal!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body .std-input,
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body input.std-input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:34px!important;
  padding:6px 9px!important;
  border-radius:9px!important;
  font-size:13px!important;
  background:#fff!important;
  border-color:#b7cff5!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body .cost-btn{
  height:34px!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  align-self:end!important;
}
#opendrgCostControls label[hidden],#opendrgCostControls button[hidden]{display:none!important}

.opendrg-cost-result{max-width:100%!important;overflow:hidden!important;border-color:#bfdcff!important;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important}
.cost-table-wrap{max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain!important}
.cost-table{min-width:760px!important;width:max-content!important;max-width:none!important}
.fee-progress-card{
  max-width:100%!important;
  overflow:hidden!important;
  padding:12px 12px 14px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f0f7ff,#fffaf0)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
.fee-progress-card h4{margin:0 0 10px!important;font-size:14px!important;color:#0f3d78!important}
.fee-progress-track{
  max-width:100%!important;
  height:56px!important;
  margin:14px 8px 4px!important;
  border-radius:999px!important;
}
.fee-marker i{height:38px!important}.fee-marker b{font-size:10.5px!important;padding:5px 8px!important;line-height:1.15!important;max-width:88px!important;white-space:normal!important;word-break:break-word!important;margin-top:-57px!important}.fee-marker.bottom{top:22px!important}.fee-marker.bottom b{margin-top:6px!important}.fee-marker{max-width:92px!important}.fee-progress-scale{margin:0 8px 8px!important}.fee-legend{gap:6px!important;justify-content:flex-start!important}.fee-legend span{padding:5px 8px!important;font-size:11px!important}.fee-status-tip{font-size:12px!important;margin-top:8px!important;padding:7px 10px!important;max-width:100%!important;text-align:center!important}
@media(max-width:820px){.rs-hero{grid-template-columns:1fr!important}.rs-right{grid-template-columns:repeat(2,minmax(0,1fr))!important}#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cost-table{min-width:680px!important}.fee-marker b{font-size:10px!important;max-width:76px!important}}
@media(max-width:520px){#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{grid-template-columns:1fr!important}.rs-right{grid-template-columns:1fr!important}.cost-table{min-width:620px!important}}


/* ===== v1.0.70-build160: readable DRG hero, scheme-specific cost fields, compact fee chart ===== */
/* DRG Group 色块调深一档：仍保留浅色渐变感，但提高白字对比度。 */
.rs-hero.rs-ok{
  background:linear-gradient(135deg,#4078d9 0%,#4b91e8 52%,#66b9f4 100%)!important;
}
.rs-hero{
  padding:14px 16px!important;
  gap:12px!important;
}
.rs-drg{font-size:33px!important}.rs-drg-name{font-weight:850!important;text-shadow:0 1px 1px rgba(0,0,0,.10)!important}

/* 费用参数：只让当前方案启用的字段参与布局，hidden 字段彻底从网格移除。 */
#opendrgCostControls.opendrg-cost-inline label[hidden],
#opendrgCostControls.opendrg-cost-inline button[hidden]{
  display:none!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;
  gap:8px 12px!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-summary p{
  color:#25537d!important;
}

/* 费用分析图：结果栏宽度较窄时，使用本容器宽度内的紧凑刻度，不再沿用宽页面的 860/940px 规格。 */
.opendrg-cost-result .fee-progress-card{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 0!important;
  padding:10px 12px 12px!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.opendrg-cost-result .fee-progress-card h4{
  margin:0 0 8px!important;
  font-size:13px!important;
}
.opendrg-cost-result .fee-progress-track{
  box-sizing:border-box!important;
  width:auto!important;
  max-width:none!important;
  height:22px!important;
  margin:34px 22px 8px!important;
}
.opendrg-cost-result .fee-progress-scale{
  margin:0 22px 8px!important;
  font-size:11px!important;
}
.opendrg-cost-result .fee-marker{
  max-width:72px!important;
}
.opendrg-cost-result .fee-marker i{
  height:34px!important;
  width:3px!important;
}
.opendrg-cost-result .fee-marker b{
  max-width:72px!important;
  padding:4px 6px!important;
  font-size:9.5px!important;
  line-height:1.12!important;
  margin-top:-49px!important;
  white-space:normal!important;
  word-break:break-word!important;
}
.opendrg-cost-result .fee-marker.bottom{top:20px!important}
.opendrg-cost-result .fee-marker.bottom b{margin-top:5px!important}
.opendrg-cost-result .fee-legend{
  max-width:100%!important;
  margin:0!important;
  padding-top:8px!important;
  gap:6px!important;
  justify-content:center!important;
}
.opendrg-cost-result .fee-legend span{
  padding:4px 7px!important;
  font-size:10.5px!important;
}
.opendrg-cost-result .fee-status-tip{
  max-width:100%!important;
  margin-top:7px!important;
  padding:6px 8px!important;
  font-size:11.5px!important;
  text-align:center!important;
}
@media(max-width:760px){
  .opendrg-cost-result .fee-progress-track{margin-left:16px!important;margin-right:16px!important}
  .opendrg-cost-result .fee-progress-scale{margin-left:16px!important;margin-right:16px!important}
  .opendrg-cost-result .fee-marker b{max-width:64px!important;font-size:9px!important;padding:4px 5px!important}
}

/* ===== v1.0.71-build161: stronger DRG Group hero and five-column max cost parameter grid ===== */
/* DRG Group：继续加深、加饱和，并给白字轻微阴影，避免浅蓝背景下可读性下降。 */
.rs-hero.rs-ok{
  background:linear-gradient(135deg,#2156c9 0%,#176fe0 52%,#0796e8 100%)!important;
  box-shadow:0 16px 34px rgba(23,111,224,.24)!important;
}
.rs-hero.rs-ok .rs-label,
.rs-hero.rs-ok .rs-drg,
.rs-hero.rs-ok .rs-drg-name,
.rs-hero.rs-ok .rs-kv span,
.rs-hero.rs-ok .rs-kv b{
  text-shadow:0 1px 2px rgba(9,34,86,.28)!important;
}
.rs-hero.rs-ok .rs-weight{
  color:#ffe75a!important;
  text-shadow:0 1px 2px rgba(9,34,86,.35)!important;
}

/* OpenDRG 费用参数：桌面端最多 5 列；hidden 字段不参与网格，仍按具体方案字段动态呈现。 */
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
#opendrgCostControls.opendrg-cost-inline .opendrg-cost-body .cost-btn{
  min-width:0!important;
  width:100%!important;
}
@media(max-width:980px){
  #opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  #opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:420px){
  #opendrgCostControls.opendrg-cost-inline .opendrg-cost-body{grid-template-columns:1fr!important;}
}


/* ===== v1.0.72-build162: candidate layer, compact suggestions, and 8-column result case info =====
   1. 候选下拉框必须高于底部“开始/重新入组”按钮区块，输入时把编码区提升到按钮层之上。
   2. 单份编码候选框收窄到可读范围，避免横跨整个编辑区；长名称允许换行完整显示。
   3. 结果页“标准病历信息”固定桌面 8 列展示，对应八个摘要字段。 */
body.is-suggest-open #singleTab.active .single-coding-area{
  z-index:4000000!important;
}
body.is-suggest-open #singleTab.active .actions-bar.sticky-actions,
body.is-suggest-open #singleTab.active .sticky-actions{
  z-index:20!important;
}
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .code-row:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .code-row:focus-within,
body.is-suggest-open #singleTab.active .editor-panel .search-wrap:focus-within{
  position:relative!important;
  z-index:5000000!important;
}
#singleTab.active .code-row .suggest-menu,
#singleTab.active .code-row:hover .suggest-menu,
#singleTab.active .code-row:focus-within .suggest-menu,
body.is-suggest-open #singleTab.active .suggest-menu.show{
  width:min(680px,calc(100vw - 96px))!important;
  max-width:min(680px,calc(100vw - 96px))!important;
  z-index:2147483000!important;
}
#singleTab.active .suggest-option{
  grid-template-columns:minmax(168px,220px) minmax(260px,1fr) auto!important;
  gap:8px!important;
}
#singleTab.active .suggest-name{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35!important;
}
.case-info-panel .case-info-mini-grid{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:6px!important;
}
.case-info-panel .case-info-mini-grid>div{
  min-width:0!important;
  padding:8px 7px!important;
}
.case-info-panel .case-info-mini-grid span{
  font-size:10px!important;
  white-space:normal!important;
}
.case-info-panel .case-info-mini-grid b{
  font-size:11.5px!important;
  line-height:1.2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:980px){
  #singleTab.active .code-row .suggest-menu,
  #singleTab.active .code-row:hover .suggest-menu,
  #singleTab.active .code-row:focus-within .suggest-menu,
  body.is-suggest-open #singleTab.active .suggest-menu.show{
    width:min(620px,calc(100vw - 56px))!important;
    max-width:min(620px,calc(100vw - 56px))!important;
  }
  #singleTab.active .suggest-option{grid-template-columns:minmax(150px,190px) minmax(220px,1fr) auto!important;}
}
@media(max-width:760px){
  #singleTab.active .suggest-option{grid-template-columns:1fr!important;}
  .case-info-panel .case-info-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:520px){
  .case-info-panel .case-info-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* ===== v1.0.73-build163: result case-info 5 columns, report scheme labels, copyright polish =====
   - 结果页“标准病历信息”桌面端每行最多 5 项，并按录入顺序由 JS 输出。
   - 分析报表的每个图表显示对应分组器/方案，混合数据时显示多方案摘要。
   - 版权信息改为用户指定文本。 */
.case-info-panel .case-info-mini-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
}
@media(max-width:980px){
  .case-info-panel .case-info-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .case-info-panel .case-info-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:520px){
  .case-info-panel .case-info-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
.report-scheme-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:9px 12px!important;
  border:1px solid #b7d7ff!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#eaf4ff 0%,#fff8dc 100%)!important;
  color:#1d4ed8!important;
  box-shadow:0 8px 18px rgba(79,141,247,.08)!important;
}
.report-scheme-bar span,.chart-scheme span{
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  color:#2563eb!important;
}
.report-scheme-bar b,.chart-scheme b{
  min-width:0!important;
  color:#0f2557!important;
  font-size:12px!important;
  font-weight:950!important;
  text-align:right!important;
}
.chart-scheme{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin:3px 0 6px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#eef6ff!important;
  border:1px solid #cfe5ff!important;
}
.brand-credit .credit-line{
  display:block!important;
  line-height:1.25!important;
}
#aboutTab .copyright-card p{
  line-height:1.65!important;
  font-size:14px!important;
}

/* v1.0.74-build164: built-in scheme selector */
.builtin-scheme-control .std-input{min-width:220px;max-width:300px}
.builtin-scheme-control.disabled{opacity:.56}
@media(max-width:820px){.algorithm-mode-control .std-input,.builtin-scheme-control .std-input,.opendrg-scheme-control .std-input{min-width:0;width:min(62vw,360px)}}
#singleTab.active .single-algorithm-row .builtin-scheme-control .std-input{
  width:240px!important;
  min-width:220px!important;
  max-width:300px!important;
}
@media(max-width:820px){
  #singleTab.active .single-algorithm-row .builtin-scheme-control .std-input{
    width:min(62vw,360px)!important;
    min-width:0!important;
    max-width:none!important;
  }
}


/* v1.0.76-build166: GitHub Release asset publishing fix
   Only the active scheme selector is displayed after the algorithm selector.
   This guard prevents previous flex rules from overriding the hidden attribute. */
.algorithm-mode-control[hidden],
.builtin-scheme-control[hidden],
.opendrg-scheme-control[hidden]{
  display:none!important;
}
#singleTab.active .single-algorithm-row .builtin-scheme-control:not([hidden]),
#singleTab.active .single-algorithm-row .opendrg-scheme-control:not([hidden]),
.batch-upload-actions .builtin-scheme-control:not([hidden]),
.batch-upload-actions .opendrg-scheme-control:not([hidden]){
  display:inline-flex!important;
}

/* ===== v1.0.78-build168: offline SVG icons, report scheme filter, and mobile action layout ===== */
button.has-icon,
a.has-icon,
.batch-action-main.has-icon,
.tab-btn.has-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
.btn-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  stroke:currentColor!important;
  fill:none!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.github-tag .btn-icon,
.github-badge-icon{width:14px!important;height:14px!important;flex:0 0 14px!important;fill:currentColor!important;stroke:none!important}
.quick-paste-close.has-icon,
.delete-one.has-icon,
.mini-delete.has-icon{gap:0!important;padding:0!important}
.quick-paste-close .btn-icon,
.delete-one .btn-icon,
.mini-delete .btn-icon{width:16px!important;height:16px!important}
.topbar .tabs{display:flex!important;align-items:center!important;flex-wrap:nowrap!important}
.topbar .tab-btn{white-space:nowrap!important;min-width:0!important}
.topbar .tab-btn .btn-icon{width:16px!important;height:16px!important}
.offline-github-badge img{display:none!important}
.offline-github-badge{min-height:24px!important;text-decoration:none!important}
.drop-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.report-scheme-filter{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;padding:10px 12px!important}
.report-scheme-filter label{display:inline-flex!important;align-items:center!important;gap:8px!important;font-weight:950!important;color:#1e3a8a!important}
.report-scheme-filter select{height:36px;border:1px solid #bfdbfe;border-radius:10px;background:#fff;color:#0f172a;font-weight:850;padding:0 10px;max-width:min(560px,76vw)}
.report-scheme-filter em{font-style:normal;color:#64748b;font-size:12px;font-weight:850}
.report-placeholder-block{border:1px dashed #bfdbfe;background:#f8fbff;border-radius:16px;padding:18px;margin:12px 0;color:#1e3a8a}
.report-placeholder-block h3{margin:0 0 6px;font-size:18px}.report-placeholder-block p{margin:0;color:#475569;line-height:1.55;font-weight:750}
.report-kpi.placeholder .kpi-card{opacity:.78}
@media(max-width:900px){
  .topbar .tabs{width:100%!important;display:flex!important;flex-wrap:nowrap!important;gap:4px!important;overflow:visible!important}
  .topbar .tab-btn{flex:1 1 0!important;min-width:0!important;padding:6px 2px!important;font-size:12px!important;gap:3px!important}
  .topbar .tab-btn .btn-icon{width:14px!important;height:14px!important;flex-basis:14px!important}
  .single-title-actions{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;width:100%!important;overflow-x:auto!important;padding-bottom:2px!important}
  .single-title-actions button{flex:1 1 0!important;min-width:0!important;white-space:nowrap!important;border:1px solid #cbd5e1!important;background:#f8fafc!important;color:#0f172a!important;box-shadow:none!important;border-radius:999px!important;padding:8px 8px!important;font-size:12px!important;font-weight:950!important}
  #quickPasteBtn.quick-paste-boost,#loadDemoBtn.demo-boost,#copyCodesBtn.copy-codes-boost{background:#f8fafc!important;color:#0f172a!important;border:1px solid #cbd5e1!important;box-shadow:none!important;filter:none!important;transform:none!important}
  #quickPasteBtn{order:1!important}#copyCodesBtn{order:2!important}#loadDemoBtn{order:3!important}
  .row-main{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important}
  .row-main .search-wrap{order:1!important;width:100%!important;max-width:none!important;grid-row:auto!important}
  .row-meta{order:2!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;padding:2px 0 1px!important;min-height:24px!important}
  .row-meta .tag{flex:0 0 auto!important}
  .row-help{order:3!important;max-height:none!important}
  .report-scheme-filter{align-items:stretch!important}.report-scheme-filter label{width:100%!important;justify-content:space-between!important}.report-scheme-filter select{max-width:100%;width:min(66vw,420px)!important}
}
@media(max-width:560px){
  .topbar .tab-btn{font-size:11.5px!important;padding:5px 1px!important;gap:2px!important}
  .topbar .tab-btn .btn-icon{width:13px!important;height:13px!important;flex-basis:13px!important}
  .single-title-actions button{font-size:11.5px!important;padding:7px 5px!important;gap:3px!important}
  .single-title-actions .btn-icon{width:13px!important;height:13px!important;flex-basis:13px!important}
}

/* ===== v1.0.83-build173: light icon button style and compact upload/about layout ===== */
#quickPasteBtn.quick-paste-boost,
#loadDemoBtn.demo-boost,
#copyCodesBtn.copy-codes-boost,
.single-title-actions button,
.report-actions button,
.batch-toolbar button,
.batch-upload-inline-actions button,
.batch-toolbar-actions.batch-toolbar-five button,
.batch-toolbar-actions.batch-toolbar-five .batch-tool-search,
.batch-toolbar-actions.batch-toolbar-five .batch-tool-sort,
.batch-result-toolbar button[data-action="download-batch"],
.batch-toolbar-actions.batch-toolbar-five button[data-action="download-batch"],
.batch-toolbar-actions.batch-toolbar-five button[data-action="regroup-all"],
.batch-toolbar-actions.batch-toolbar-five button[data-action="clear-batch"],
.batch-toolbar button[data-action="regroup-all"],
.batch-toolbar button[data-action="clear-batch"],
#groupBtn,
#clearBtn,
.batch-regroup-inline{
  background:#e7f1ff!important;
  background-image:none!important;
  color:#1d4ed8!important;
  border:1px solid #bdd7ff!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  border-radius:13px!important;
  font-weight:900!important;
}
#quickPasteBtn.quick-paste-boost:hover,
#loadDemoBtn.demo-boost:hover,
#copyCodesBtn.copy-codes-boost:hover,
.single-title-actions button:hover,
.report-actions button:hover,
.batch-toolbar button:hover,
.batch-upload-inline-actions button:hover,
.batch-toolbar-actions.batch-toolbar-five button:hover,
.batch-toolbar-actions.batch-toolbar-five .batch-tool-search:hover,
.batch-toolbar-actions.batch-toolbar-five .batch-tool-sort:hover,
#groupBtn:hover,
#clearBtn:hover,
.batch-regroup-inline:hover{
  background:#dbeafe!important;
  color:#1e40af!important;
  border-color:#93c5fd!important;
  box-shadow:0 8px 20px rgba(59,130,246,.13)!important;
  transform:translateY(-1px)!important;
}
.single-title-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.single-title-actions button{min-height:40px!important;padding:9px 14px!important;white-space:nowrap!important}
.single-title-actions .btn-icon,.batch-upload-inline-actions .btn-icon,.report-actions .btn-icon,.batch-toolbar .btn-icon{stroke:currentColor!important;fill:none!important}
.batch-upload-split{align-items:stretch!important}
.upload-action-card{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important}
.upload-action-card .upload-drop-zone{flex:1 1 auto!important;width:100%!important}
.batch-upload-inline-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
.batch-upload-inline-actions button{min-height:38px!important;padding:8px 10px!important;width:100%!important;white-space:nowrap!important}
.batch-upload-ready{border:1px dashed #bfdbfe!important;background:#f8fbff!important;border-radius:14px!important;padding:14px!important;color:#1e3a8a!important;margin-top:8px!important}
.batch-upload-ready strong{display:block!important;margin-bottom:4px!important;font-size:15px!important}.batch-upload-ready span{display:block!important;color:#64748b!important;line-height:1.55!important}
.manual-batch-tip{display:none!important}
#aboutTab .about-hero{grid-template-columns:minmax(0,1fr) 310px!important;margin-bottom:12px!important}
#aboutTab .about-version-card{gap:8px!important}
#aboutTab .about-hero-copyright{margin:6px 0 0!important;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.28)!important;font-size:12px!important;line-height:1.5!important;opacity:.96!important;color:#fff!important}
#aboutTab .about-hero-copyright strong{font-size:13px!important;color:#fff!important}
#aboutTab .github-star-badge{display:none!important}
@media(max-width:900px){
  .batch-upload-inline-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .batch-upload-inline-actions button{font-size:12px!important;padding:8px 6px!important}
  #aboutTab .about-hero{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .single-title-actions{flex-wrap:nowrap!important;width:100%!important;overflow-x:auto!important;justify-content:flex-start!important;padding-bottom:2px!important}
  .single-title-actions button{flex:1 1 0!important;min-width:0!important;font-size:11.5px!important;padding:7px 5px!important;gap:3px!important}
  .batch-upload-inline-actions{gap:6px!important}
  .batch-upload-inline-actions button{min-height:36px!important;font-size:11.5px!important;gap:3px!important}
}

/* ===== v1.0.83-build173: remove duplicate upload/report controls, compact about copyright, mobile code labels ===== */
.report-actions #refreshReportBtn::before,
.report-actions #clearReportBtn::before{content:none!important;display:none!important;margin:0!important}
#singleTab.active .single-action-row #groupBtn,
#singleTab.active .single-action-row #clearBtn,
#singleTab.active .actions-bar.sticky-actions #groupBtn,
#singleTab.active .actions-bar.sticky-actions #clearBtn,
#groupBtn.primary.btn-main,
#clearBtn.ghost{
  background:#e7f1ff!important;
  background-image:none!important;
  color:#1d4ed8!important;
  border:1px solid #bdd7ff!important;
  box-shadow:none!important;
  filter:none!important;
  border-radius:13px!important;
  font-weight:900!important;
}
#singleTab.active .single-action-row #groupBtn:hover,
#singleTab.active .single-action-row #clearBtn:hover,
#groupBtn.primary.btn-main:hover,
#clearBtn.ghost:hover{
  background:#dbeafe!important;
  color:#1e40af!important;
  border-color:#93c5fd!important;
  box-shadow:0 8px 20px rgba(59,130,246,.13)!important;
  transform:translateY(-1px)!important;
}
.report-actions button,
.report-actions #refreshReportBtn,
.report-actions #clearReportBtn,
.report-actions .ghost,
.report-actions .danger.ghost,
.batch-pending-toolbar button,
.batch-toolbar-actions.batch-toolbar-pending button{
  background:#e7f1ff!important;
  background-image:none!important;
  color:#1d4ed8!important;
  border:1px solid #bdd7ff!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  border-radius:13px!important;
  font-weight:900!important;
}
.report-actions button:hover,
.report-actions #refreshReportBtn:hover,
.report-actions #clearReportBtn:hover,
.batch-pending-toolbar button:hover,
.batch-toolbar-actions.batch-toolbar-pending button:hover{
  background:#dbeafe!important;
  color:#1e40af!important;
  border-color:#93c5fd!important;
  box-shadow:0 8px 20px rgba(59,130,246,.13)!important;
  transform:translateY(-1px)!important;
}
.batch-pending-toolbar{position:static!important;margin:0 0 10px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.batch-toolbar-actions.batch-toolbar-pending{display:grid!important;grid-template-columns:repeat(2,minmax(0,220px))!important;gap:10px!important;justify-content:start!important}
.batch-toolbar-actions.batch-toolbar-pending button{width:100%!important;min-height:40px!important;padding:9px 14px!important;white-space:nowrap!important}
#aboutTab .about-hero{grid-template-columns:minmax(0,1fr) 230px!important;gap:18px!important;align-items:stretch!important;margin-bottom:10px!important;padding:18px 20px!important}
#aboutTab .about-hero-copy{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:6px!important;min-width:0!important}
#aboutTab .about-version-card{width:100%!important;min-width:0!important;padding:14px 16px!important;align-self:stretch!important;justify-content:center!important;gap:6px!important}
#aboutTab .about-hero-copyright{align-self:flex-start!important;max-width:520px!important;margin:8px 0 0!important;padding:10px 14px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;font-size:13px!important;line-height:1.45!important;color:#fff!important;opacity:.98!important}
#aboutTab .about-hero-copyright strong{font-size:14px!important;color:#fff!important}
@media(max-width:760px){
  .code-row .row-main,
  .code-row:hover .row-main,
  .code-row:focus-within .row-main{
    grid-template-columns:1fr!important;
    grid-template-areas:"input" "tags" "help"!important;
    gap:5px!important;
    align-items:stretch!important;
  }
  .code-row .row-main .search-wrap,
  .code-row:hover .row-main .search-wrap,
  .code-row:focus-within .row-main .search-wrap,
  .code-row .code-input,
  .code-row:hover .code-input,
  .code-row:focus-within .code-input{
    grid-area:input!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .code-row .row-meta,
  .code-row:hover .row-meta,
  .code-row:focus-within .row-meta{
    grid-area:tags!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
    padding-top:0!important;
  }
  .code-row .row-meta .tag{flex:0 0 auto!important}
  .code-row .row-help,
  .code-row:hover .row-help,
  .code-row:focus-within .row-help{
    grid-area:help!important;
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    max-height:none!important;
  }
}
@media(max-width:900px){
  #aboutTab .about-hero{grid-template-columns:1fr!important;padding:16px!important}
  #aboutTab .about-version-card{align-items:flex-start!important;justify-content:flex-start!important}
  .batch-toolbar-actions.batch-toolbar-pending{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== v1.0.84-build174: batch upload actions in one row, deeper single buttons, no single checkboxes, stable batch autocomplete ===== */
.batch-upload-inline-row{
  display:grid!important;
  grid-template-columns:minmax(260px,1.1fr) minmax(260px,1.1fr) minmax(180px,.62fr) minmax(180px,.62fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  margin:6px 0 8px!important;
}
.batch-upload-inline-row .upload-action-card{min-width:0!important;display:flex!important;align-items:stretch!important}
.batch-upload-inline-row .upload-drop-zone{width:100%!important;margin:0!important;height:100%!important;min-height:54px!important}
.batch-inline-action-card{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.batch-inline-action-card .batch-inline-action-btn{
  width:100%!important;
  height:100%!important;
  min-height:54px!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:#e1edfb!important;
  background-image:none!important;
  color:#1d4ed8!important;
  border:1px solid #b9d4fb!important;
  box-shadow:none!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.batch-inline-action-card .batch-inline-action-btn:hover{
  background:#d4e6fb!important;
  color:#1e40af!important;
  border-color:#93c5fd!important;
  box-shadow:0 8px 20px rgba(59,130,246,.13)!important;
  transform:translateY(-1px)!important;
}
.batch-results.batch-pending .batch-pending-toolbar{display:none!important}
#singleTab.active .single-action-row #groupBtn,
#singleTab.active .single-action-row #clearBtn,
#singleTab.active .actions-bar.sticky-actions #groupBtn,
#singleTab.active .actions-bar.sticky-actions #clearBtn,
#groupBtn.primary.btn-main,
#clearBtn.ghost{
  background:#dbeafe!important;
  background-image:none!important;
  color:#1d4ed8!important;
  border:1px solid #a8c7f5!important;
  box-shadow:none!important;
}
#singleTab.active .single-action-row #groupBtn:hover,
#singleTab.active .single-action-row #clearBtn:hover,
#singleTab.active .actions-bar.sticky-actions #groupBtn:hover,
#singleTab.active .actions-bar.sticky-actions #clearBtn:hover{
  background:#cfe0f6!important;
  border-color:#7fb0ef!important;
  color:#173f9f!important;
}
#singleTab.active .code-row,
.code-row{grid-template-columns:18px 24px minmax(0,1fr)!important}
.code-row input[type="checkbox"]{display:none!important}
.batch-edit-row.compact-mapping-row .suggest-menu.show{display:grid!important}
@media(max-width:1180px){
  .batch-upload-inline-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .batch-inline-action-card .batch-inline-action-btn{min-height:46px!important}
}
@media(max-width:640px){
  .batch-upload-inline-row{grid-template-columns:1fr!important}
}


/* ===== prior targeted layout fixes before v1.0.86 =====
   1) 批量上传四个操作保持同一横向行，不再自动落到下一排。
   2) 单份编码行恢复“输入框 + 标签 + 名称”靠左排列；移动端标签固定在输入框下方横排。
   3) 统一移动端快速识别 / 载入示例 / 复制编码按钮尺寸。
   4) 单份开始/清空按钮背景略加深，但仍保持浅色按钮体系。 */
.batch-compact-title .batch-upload-actions{
  row-gap:10px!important;
}
.batch-compact-title .template-action-stack{
  margin-top:8px!important;
}
.batch-upload-inline-row{
  display:grid!important;
  grid-template-columns:minmax(300px,1.15fr) minmax(300px,1.15fr) minmax(190px,.68fr) minmax(190px,.68fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:2px!important;
  margin:8px 0 10px!important;
  scrollbar-width:thin;
}
.batch-upload-inline-row .upload-action-card,
.batch-upload-inline-row .batch-inline-action-card{
  min-width:0!important;
}
.batch-upload-inline-row .upload-drop-zone,
.batch-inline-action-card .batch-inline-action-btn{
  min-height:54px!important;
  height:100%!important;
}
@media(max-width:1180px){
  .batch-upload-inline-row{
    grid-template-columns:minmax(285px,1.15fr) minmax(285px,1.15fr) minmax(178px,.68fr) minmax(178px,.68fr)!important;
  }
}
@media(max-width:760px){
  .batch-upload-inline-row{
    grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(164px,.62fr) minmax(164px,.62fr)!important;
  }
}
#singleTab.active .single-action-row #groupBtn,
#singleTab.active .single-action-row #clearBtn,
#singleTab.active .actions-bar.sticky-actions #groupBtn,
#singleTab.active .actions-bar.sticky-actions #clearBtn,
#groupBtn.primary.btn-main,
#clearBtn.ghost{
  background:#cfe2fb!important;
  background-image:none!important;
  border:1px solid #8fbaf2!important;
  color:#1d4ed8!important;
  box-shadow:0 6px 14px rgba(59,130,246,.12)!important;
}
#singleTab.active .single-action-row #groupBtn:hover,
#singleTab.active .single-action-row #clearBtn:hover,
#singleTab.active .actions-bar.sticky-actions #groupBtn:hover,
#singleTab.active .actions-bar.sticky-actions #clearBtn:hover{
  background:#bed7f7!important;
  border-color:#6fa5ec!important;
  color:#173f9f!important;
}
#singleTab.active .code-row,
.code-row{
  grid-template-columns:22px 26px minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  align-items:center!important;
}
#singleTab.active .code-row:hover,
#singleTab.active .code-row:focus-within,
.code-row:hover,
.code-row:focus-within{
  width:100%!important;
  max-width:100%!important;
  transform:translateY(-1px)!important;
}
#singleTab.active .code-row .row-main,
#singleTab.active .code-row:hover .row-main,
#singleTab.active .code-row:focus-within .row-main,
.code-row .row-main,
.code-row:hover .row-main,
.code-row:focus-within .row-main{
  display:grid!important;
  grid-template-columns:150px max-content minmax(0,1fr)!important;
  grid-template-areas:"input tags help"!important;
  gap:5px 8px!important;
  justify-content:start!important;
  justify-items:start!important;
  align-items:center!important;
  min-width:0!important;
}
#singleTab.active .code-row .row-main .search-wrap,
#singleTab.active .code-row:hover .row-main .search-wrap,
#singleTab.active .code-row:focus-within .row-main .search-wrap,
#singleTab.active .code-row .code-input,
#singleTab.active .code-row:hover .code-input,
#singleTab.active .code-row:focus-within .code-input,
.code-row .row-main .search-wrap,
.code-row:hover .row-main .search-wrap,
.code-row:focus-within .row-main .search-wrap,
.code-row .code-input,
.code-row:hover .code-input,
.code-row:focus-within .code-input{
  grid-area:input!important;
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  justify-self:start!important;
}
#singleTab.active .code-row .row-meta,
#singleTab.active .code-row:hover .row-meta,
#singleTab.active .code-row:focus-within .row-meta,
.code-row .row-meta,
.code-row:hover .row-meta,
.code-row:focus-within .row-meta{
  grid-area:tags!important;
  justify-self:start!important;
  justify-content:flex-start!important;
  align-items:center!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  flex-wrap:wrap!important;
  white-space:normal!important;
}
#singleTab.active .code-row .row-help,
#singleTab.active .code-row:hover .row-help,
#singleTab.active .code-row:focus-within .row-help,
.code-row .row-help,
.code-row:hover .row-help,
.code-row:focus-within .row-help{
  grid-area:help!important;
  justify-self:start!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:900px){
  .single-title-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    overflow:visible!important;
  }
  .single-title-actions button,
  #quickPasteBtn.quick-paste-boost,
  #loadDemoBtn.demo-boost,
  #copyCodesBtn.copy-codes-boost{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 8px!important;
    border-radius:12px!important;
    font-size:12px!important;
    line-height:1!important;
    justify-content:center!important;
    background:#f8fbff!important;
    color:#1d4ed8!important;
    border:1px solid #bdd7ff!important;
    box-shadow:none!important;
  }
  #quickPasteBtn{order:1!important}#loadDemoBtn{order:2!important}#copyCodesBtn{order:3!important}
  #singleTab.active .code-row,
  .code-row{
    grid-template-columns:22px 26px minmax(0,1fr)!important;
  }
  #singleTab.active .code-row .row-main,
  #singleTab.active .code-row:hover .row-main,
  #singleTab.active .code-row:focus-within .row-main,
  .code-row .row-main,
  .code-row:hover .row-main,
  .code-row:focus-within .row-main{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"input" "tags" "help"!important;
    gap:5px!important;
    justify-items:start!important;
    align-items:start!important;
  }
  #singleTab.active .code-row .row-main .search-wrap,
  #singleTab.active .code-row:hover .row-main .search-wrap,
  #singleTab.active .code-row:focus-within .row-main .search-wrap,
  #singleTab.active .code-row .code-input,
  #singleTab.active .code-row:hover .code-input,
  #singleTab.active .code-row:focus-within .code-input,
  .code-row .row-main .search-wrap,
  .code-row:hover .row-main .search-wrap,
  .code-row:focus-within .row-main .search-wrap,
  .code-row .code-input,
  .code-row:hover .code-input,
  .code-row:focus-within .code-input{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  #singleTab.active .code-row .row-meta,
  #singleTab.active .code-row:hover .row-meta,
  #singleTab.active .code-row:focus-within .row-meta,
  .code-row .row-meta,
  .code-row:hover .row-meta,
  .code-row:focus-within .row-meta{
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:5px!important;
    overflow:visible!important;
    white-space:normal!important;
  }
}
@media(max-width:420px){
  .single-title-actions button,
  #quickPasteBtn.quick-paste-boost,
  #loadDemoBtn.demo-boost,
  #copyCodesBtn.copy-codes-boost{
    font-size:11px!important;
    padding:0 5px!important;
    gap:3px!important;
  }
}


/* ===== v1.0.89-build179: left-align single code rows and keep batch mapping auto-preview stable ===== */
#diagnosisList .code-row,
#surgeryList .code-row{
  grid-template-columns:22px 26px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:start!important;
}
#diagnosisList .code-row>.handle,
#surgeryList .code-row>.handle{
  grid-column:1!important;
  grid-row:1!important;
}
#diagnosisList .code-row>.delete-one,
#surgeryList .code-row>.delete-one{
  grid-column:2!important;
  grid-row:1!important;
}
#diagnosisList .code-row>.row-main,
#surgeryList .code-row>.row-main,
#diagnosisList .code-row:hover>.row-main,
#surgeryList .code-row:hover>.row-main,
#diagnosisList .code-row:focus-within>.row-main,
#surgeryList .code-row:focus-within>.row-main{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:start!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  display:grid!important;
  grid-template-columns:150px max-content minmax(0,1fr)!important;
  grid-template-areas:"input tags help"!important;
  justify-content:start!important;
  justify-items:start!important;
  align-items:center!important;
  gap:5px 8px!important;
}
#diagnosisList .code-row .row-main .search-wrap,
#surgeryList .code-row .row-main .search-wrap,
#diagnosisList .code-row .code-input,
#surgeryList .code-row .code-input{
  justify-self:start!important;
  margin-left:0!important;
}
#diagnosisList .code-row .row-meta,
#surgeryList .code-row .row-meta,
#diagnosisList .code-row .row-help,
#surgeryList .code-row .row-help{
  justify-self:start!important;
  text-align:left!important;
}
@media(max-width:900px){
  #diagnosisList .code-row>.row-main,
  #surgeryList .code-row>.row-main,
  #diagnosisList .code-row:hover>.row-main,
  #surgeryList .code-row:hover>.row-main,
  #diagnosisList .code-row:focus-within>.row-main,
  #surgeryList .code-row:focus-within>.row-main{
    grid-column:3!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"input" "tags" "help"!important;
    align-items:start!important;
  }
}

/* ===== v1.0.89-build179: keep batch upload focus rings inside cards ===== */
.batch-upload-inline-row{
  padding:4px!important;
  margin:4px -4px 8px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
.batch-upload-inline-row .upload-action-card{
  padding:0!important;
  overflow:visible!important;
}
.batch-upload-inline-row .upload-drop-zone,
.batch-inline-action-card .batch-inline-action-btn{
  outline:none!important;
  outline-offset:0!important;
  border-radius:14px!important;
}
.batch-upload-inline-row .upload-drop-zone:focus,
.batch-upload-inline-row .upload-drop-zone:focus-visible,
.batch-inline-action-card .batch-inline-action-btn:focus,
.batch-inline-action-card .batch-inline-action-btn:focus-visible{
  outline:none!important;
  transform:none!important;
  box-shadow:inset 0 0 0 2px #93c5fd,0 4px 12px rgba(59,130,246,.12)!important;
}
#csvDropZone.upload-drop-zone:focus,
#csvDropZone.upload-drop-zone:focus-visible,
#weightDropZone.upload-drop-zone:focus,
#weightDropZone.upload-drop-zone:focus-visible{
  border-color:#4b76c4!important;
}

/* ===== v1.0.89-build179: show parsed case count inside CSV upload card ===== */
.csv-status{
  margin:8px 0 0;
  padding:7px 9px;
  border-radius:10px;
  border:1px solid #dbeafe;
  background:#eff6ff;
  color:#1e3a8a;
  font-size:12px;
  line-height:1.42;
}
.csv-status.empty{background:#f8fafc;border-color:#e2e8f0;color:#64748b}
.csv-status.ready{background:#eef6ff;border-color:#bfdbfe;color:#1d4ed8}
.csv-status b{font-weight:950}
.batch-upload-split .csv-status{margin:4px 0 0!important;padding:4px 7px!important;font-size:11px!important;line-height:1.25!important;border-radius:9px!important}

/* ===== 1.0.90-build180: single-case autocomplete layering + responsive batch upload actions =====
   层级说明（由下到上）：编码编辑区域 < 固定“开始/重新入组”操作区 < 编码候选框。
   这样可避免单份病例编辑编码时，列表区域压住底部操作按钮，同时候选框仍可覆盖按钮方便选择。 */
body.is-suggest-open #singleTab.active .sticky-actions{
  z-index:1000000!important; /* 中间层：高于编码区域，低于候选框。 */
  pointer-events:auto!important;
}
body.is-suggest-open #singleTab.active .editor-panel,
body.is-suggest-open #singleTab.active .panel,
body.is-suggest-open #singleTab.active .compact-code-list,
body.is-suggest-open #singleTab.active .code-list,
body.is-suggest-open #singleTab.active .code-row,
body.is-suggest-open #singleTab.active .code-row:hover,
body.is-suggest-open #singleTab.active .code-row:focus-within{
  z-index:auto!important; /* 编码区域回到底层，避免整体盖住固定操作区。 */
  transform:none!important; /* 防止 hover/focus transform 生成新的堆叠上下文。 */
}
body.is-suggest-open #singleTab.active .row-main,
body.is-suggest-open #singleTab.active .search-wrap{
  overflow:visible!important;
}
body.is-suggest-open #singleTab.active .search-wrap:focus-within{
  position:relative!important;
  z-index:2147482000!important; /* 只抬高输入框/候选框承载层，不抬高整块编码列表。 */
}
body.is-suggest-open #singleTab.active .suggest-menu,
body.is-suggest-open #singleTab.active .suggest-menu.show{
  z-index:2147483000!important; /* 顶层：候选框始终在“开始入组”操作区之上。 */
}

/* 批量入组顶部四个操作卡片自适应换行：桌面横排，窄屏自动竖排；禁用横向滚动找按钮。 */
.batch-upload-inline-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  padding:4px 0 8px!important;
  margin:4px 0 8px!important;
}
.batch-upload-inline-row .upload-action-card,
.batch-upload-inline-row .batch-inline-action-card{
  min-width:0!important;
  width:100%!important;
}
.batch-upload-inline-row .upload-drop-zone,
.batch-inline-action-card .batch-inline-action-btn{
  width:100%!important;
  min-width:0!important;
}
@media(max-width:1180px){
  .batch-upload-inline-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important; /* 中等屏自动折为两列，不出现横向滚动。 */
  }
}
@media(max-width:640px){
  .batch-upload-inline-row{
    grid-template-columns:1fr!important; /* 移动端四个按钮/上传卡依次竖向排列。 */
  }
}

/* ===== v1.0.91-build181: mobile layering, no add-gap, and batch result overflow fixes =====
   单份编码层级约定：编码分区(.single-code-section) < 开始/重新入组操作区(.sticky-actions) < 当前输入的候选框(.suggest-menu)。
   注意：不要再提升整个 .single-coding-area / .surgery-code-section；只提升带 .suggest-open 的输入容器，
   否则手术列表区域会整块盖住底部“开始/重新入组”按钮。 */
#singleTab.active .single-coding-area,
#singleTab.active .single-code-section,
#singleTab.active .diagnosis-code-section,
#singleTab.active .surgery-code-section,
#singleTab.active .compact-code-list,
#singleTab.active .code-list,
#singleTab.active .code-row,
#singleTab.active .code-row:hover,
#singleTab.active .code-row:focus-within{
  z-index:auto!important;
  transform:none!important;
}
#singleTab.active .actions-bar.sticky-actions,
#singleTab.active .sticky-actions,
body.is-suggest-open #singleTab.active .actions-bar.sticky-actions,
body.is-suggest-open #singleTab.active .sticky-actions{
  z-index:10000!important; /* 中间层：永远高于诊断/手术列表，但低于候选框。 */
  pointer-events:auto!important;
}
#singleTab.active .search-wrap.suggest-open,
#singleTab.active .search-wrap:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .search-wrap.suggest-open,
body.is-suggest-open #singleTab.active .search-wrap:has(.suggest-menu.show){
  position:relative!important;
  z-index:20000!important; /* 仅提升当前输入框容器，避免整个编码区块遮住按钮。 */
  overflow:visible!important;
}
#singleTab.active .search-wrap.suggest-open .suggest-menu.show,
#singleTab.active .search-wrap:has(.suggest-menu.show) .suggest-menu.show,
body.is-suggest-open #singleTab.active .suggest-menu.show{
  z-index:30000!important; /* 顶层：候选框可以覆盖按钮，方便点选。 */
}

@media(max-width:760px){
  /* 移动端删除编码列表与“添加诊断/添加手术操作”之间的额外空隙和色块。 */
  #singleTab.active .editor-panel .compact-code-list,
  #singleTab.active #diagnosisList.compact-code-list,
  #singleTab.active #surgeryList.compact-code-list{
    margin:0!important;
    border-radius:0!important;
    padding-bottom:8px!important;
  }
  #singleTab.active .code-list-add-row,
  #singleTab.active .diagnosis-add-row,
  #singleTab.active .surgery-add-row{
    margin:0 0 10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #singleTab.active .code-list-add-btn{
    min-height:40px!important;
    border-radius:10px!important;
  }
}

@media(max-width:820px){
  /* 批量结果移动端不允许任何卡片、按钮或展开详情撑出右边界。 */
  #batchTab.active,
  #batchTab.active .batch-main,
  #batchTab.active .batch-panel,
  #batchResults,
  #batchResults .batch-results,
  #batchResults .batch-page-list,
  #batchResults .batch-result-toolbar,
  #batchResults .batch-toolbar-actions,
  #batchResults .batch-toolbar-actions .batch-action-cell,
  #batchResults .batch-card,
  #batchResults .batch-card summary,
  #batchResults .batch-detail{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  #batchResults .batch-result-toolbar{
    margin-left:0!important;
    margin-right:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  #batchResults .batch-toolbar-actions.batch-toolbar-five{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #batchResults .batch-toolbar-actions.batch-toolbar-five .batch-action-cell,
  #batchResults .batch-toolbar-actions.batch-toolbar-five .batch-action-cell>button,
  #batchResults .batch-toolbar-actions.batch-toolbar-five .batch-tool-search,
  #batchResults .batch-toolbar-actions.batch-toolbar-five .batch-tool-sort{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
  }
  #batchResults .batch-card{
    margin-left:0!important;
    margin-right:0!important;
  }
  #batchResults .batch-card summary,
  #batchResults .batch-card[open]>summary{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    padding:10px 10px 10px 14px!important;
  }
  #batchResults .batch-card summary>*{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #batchResults .batch-drg-strong,
  #batchResults .batch-regroup-inline,
  #batchResults .batch-toggle,
  #batchResults .batch-card summary:after{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
  }
  #batchResults .batch-drg-strong{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  #batchResults .batch-drg-strong em,
  #batchResults .batch-case,
  #batchResults .batch-status,
  #batchResults .batch-weight{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}


/* v1.0.91-build181 override: reset older high-z single-code selectors while autocomplete is open. */
body.is-suggest-open #singleTab.active .single-coding-area,
body.is-suggest-open #singleTab.active .single-code-section,
body.is-suggest-open #singleTab.active .diagnosis-code-section,
body.is-suggest-open #singleTab.active .surgery-code-section,
body.is-suggest-open #singleTab.active .editor-panel .single-coding-area,
body.is-suggest-open #singleTab.active .editor-panel .single-code-section,
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list,
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list:focus-within,
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .code-row:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .code-row:focus-within{
  z-index:auto!important;
  transform:none!important;
}
body.is-suggest-open #singleTab.active .editor-panel .search-wrap.suggest-open,
body.is-suggest-open #singleTab.active .editor-panel .search-wrap:has(.suggest-menu.show){
  position:relative!important;
  z-index:20000!important;
  overflow:visible!important;
}


/* ===== v1.0.92-build182: fixed-position autocomplete and fill-button visual parity =====
   候选框(.suggest-menu)不再放在编码列表内部参与堆叠，打开时由 JS 计算输入框坐标并固定到视口。
   层级顺序：编码区域 < 开始/重新入组操作区 < 编码候选框 < 快速粘贴识别弹窗。 */
#singleTab.active .search-wrap.suggest-open > .suggest-menu.show,
#singleTab.active .search-wrap.suggest-open .suggest-menu.show,
body.is-suggest-open #singleTab.active .suggest-menu.show,
body.is-suggest-open .batch-code-input-wrap.suggest-open > .suggest-menu.show{
  position:fixed!important;
  left:var(--suggest-left,12px)!important;
  top:var(--suggest-top,64px)!important;
  width:var(--suggest-width,min(680px,calc(100vw - 24px)))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:var(--suggest-max-height,min(420px,calc(100vh - 96px)))!important;
  z-index:2147483400!important;
  overflow:auto!important;
  transform:none!important;
}
.quick-paste-modal{
  z-index:2147483600!important; /* 唯一高于编码候选框的弹窗。 */
}
#singleTab.active .actions-bar.sticky-actions,
#singleTab.active .sticky-actions{
  z-index:10000!important;
}

/* “识别填入”按钮与顶部“复制编码”按钮保持同一套浅蓝按钮样式、尺寸和交互。 */
.quick-paste-actions #quickPasteFillBtn,
.quick-paste-actions #quickPasteFillBtn.primary,
.quick-paste-actions #quickPasteFillBtn.deep-fill{
  min-width:0!important;
  min-height:40px!important;
  padding:9px 14px!important;
  border-radius:13px!important;
  background:#e7f1ff!important;
  background-image:none!important;
  color:#1d4ed8!important;
  border:1px solid #bdd7ff!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  font-weight:900!important;
}
.quick-paste-actions #quickPasteFillBtn:hover,
.quick-paste-actions #quickPasteFillBtn.primary:hover,
.quick-paste-actions #quickPasteFillBtn.deep-fill:hover{
  background:#dbeafe!important;
  color:#1e40af!important;
  border-color:#93c5fd!important;
  box-shadow:0 8px 20px rgba(59,130,246,.13)!important;
  transform:translateY(-1px)!important;
}
.quick-paste-actions #quickPasteFillBtn:disabled{
  opacity:.76!important;
  cursor:wait!important;
  transform:none!important;
}
@media(max-width:700px){
  .quick-paste-actions #quickPasteFillBtn,
  .quick-paste-actions #quickPasteFillBtn.primary,
  .quick-paste-actions #quickPasteFillBtn.deep-fill{
    width:100%!important;
  }
}

/* ===== v1.0.93-build183: restore in-row autocomplete position and keep top layer =====
   1. .suggest-menu 重新采用 absolute，相对当前 .search-wrap 定位，始终紧贴编码输入框下方。
   2. 仅提升当前输入容器和候选框层级，不提升整块诊断/手术列表，避免列表遮住“开始/重新入组”。
   3. 层级顺序：编码区域 < 开始/重新入组操作区 < 编码候选框 < 快速粘贴识别编码弹窗。 */
#singleTab.active .search-wrap.suggest-open > .suggest-menu.show,
#singleTab.active .search-wrap.suggest-open .suggest-menu.show,
body.is-suggest-open #singleTab.active .suggest-menu.show,
body.is-suggest-open .batch-code-input-wrap.suggest-open > .suggest-menu.show,
body.is-suggest-open .suggest-menu.show,
.suggest-menu.show{
  position:absolute!important;
  left:var(--suggest-local-left,0)!important;
  top:calc(100% + 6px)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--suggest-width,min(680px,calc(100vw - 24px)))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:var(--suggest-max-height,min(420px,calc(100vh - 140px)))!important;
  z-index:2147483400!important;
  overflow:auto!important;
  transform:none!important;
  pointer-events:auto!important;
}
#singleTab.active .search-wrap.suggest-open,
#singleTab.active .search-wrap:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .search-wrap.suggest-open,
body.is-suggest-open #singleTab.active .search-wrap:has(.suggest-menu.show),
body.is-suggest-open #singleTab.active .editor-panel .search-wrap.suggest-open,
body.is-suggest-open #singleTab.active .editor-panel .search-wrap:has(.suggest-menu.show){
  position:relative!important;
  z-index:2147482000!important;
  overflow:visible!important;
  transform:none!important;
}
body.is-suggest-open #singleTab.active .row-main,
body.is-suggest-open #singleTab.active .code-row,
body.is-suggest-open #singleTab.active .code-list,
body.is-suggest-open #singleTab.active .compact-code-list,
body.is-suggest-open #singleTab.active .single-code-section,
body.is-suggest-open #singleTab.active .single-coding-area,
body.is-suggest-open .batch-code-line,
body.is-suggest-open .batch-edit-row.compact-mapping-row,
body.is-suggest-open .mapping-list{
  overflow:visible!important;
}
#singleTab.active .actions-bar.sticky-actions,
#singleTab.active .sticky-actions,
body.is-suggest-open #singleTab.active .actions-bar.sticky-actions,
body.is-suggest-open #singleTab.active .sticky-actions{
  z-index:10000!important;
}
.quick-paste-modal{
  z-index:2147483600!important;
}
@media(max-width:760px){
  #singleTab.active .search-wrap.suggest-open > .suggest-menu.show,
  #singleTab.active .search-wrap.suggest-open .suggest-menu.show,
  body.is-suggest-open #singleTab.active .suggest-menu.show,
  body.is-suggest-open .suggest-menu.show,
  .suggest-menu.show{
    width:var(--suggest-width,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
  }
}

/* v1.0.93 兼容补充：关键层级规则不与 :has() 写在同一选择器列表，避免旧浏览器整条丢弃。 */
#singleTab.active .search-wrap.suggest-open,
body.is-suggest-open #singleTab.active .search-wrap.suggest-open,
body.is-suggest-open #singleTab.active .editor-panel .search-wrap.suggest-open{
  position:relative!important;
  z-index:2147482000!important;
  overflow:visible!important;
  transform:none!important;
}
@supports selector(:has(*)){
  #singleTab.active .search-wrap:has(.suggest-menu.show),
  body.is-suggest-open #singleTab.active .search-wrap:has(.suggest-menu.show),
  body.is-suggest-open #singleTab.active .editor-panel .search-wrap:has(.suggest-menu.show){
    position:relative!important;
    z-index:2147482000!important;
    overflow:visible!important;
    transform:none!important;
  }
}

/* ===== v1.0.94-build184: body-level autocomplete portal, fixed stacking contract =====
   1. 编码候选框只把 .suggest-menu 这一层移到 body，坐标仍按当前输入框计算，视觉上紧贴输入框下方。
   2. 不再提升 single-coding-area / diagnosis-code-section / surgery-code-section，避免编码区块或手术列表反向盖住候选框和底部按钮。
   3. 层级顺序：编码列表 < 开始/重新入组操作区 < body 级编码候选框 < 快速粘贴识别编码弹窗。 */
body > .suggest-menu.suggest-menu-portal.show{
  position:absolute!important;
  left:var(--suggest-page-left,12px)!important;
  top:var(--suggest-page-top,72px)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--suggest-width,min(680px,calc(100vw - 24px)))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:var(--suggest-max-height,min(420px,calc(100vh - 96px)))!important;
  z-index:2147483400!important;
  display:grid!important;
  gap:4px!important;
  overflow:auto!important;
  transform:none!important;
  pointer-events:auto!important;
}
body.is-suggest-open #singleTab.active .single-coding-area,
body.is-suggest-open #singleTab.active .single-code-section,
body.is-suggest-open #singleTab.active .diagnosis-code-section,
body.is-suggest-open #singleTab.active .surgery-code-section,
body.is-suggest-open #singleTab.active .editor-panel .compact-code-list,
body.is-suggest-open #singleTab.active .editor-panel .code-list,
body.is-suggest-open #singleTab.active .editor-panel .code-row,
body.is-suggest-open #singleTab.active .editor-panel .row-main{
  z-index:auto!important;
  transform:none!important;
  isolation:auto!important;
}
body.is-suggest-open #singleTab.active .actions-bar.sticky-actions,
body.is-suggest-open #singleTab.active .sticky-actions{
  z-index:10000!important;
}
body.is-suggest-open #singleTab.active .search-wrap.suggest-open,
body.is-suggest-open #singleTab.active .editor-panel .search-wrap.suggest-open{
  z-index:auto!important;
  overflow:visible!important;
  transform:none!important;
  isolation:auto!important;
}
.quick-paste-modal{
  z-index:2147483600!important;
}
@media(max-width:760px){
  body > .suggest-menu.suggest-menu-portal.show{
    width:var(--suggest-width,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
  }
}

/* v1.1.12-build202: report department and DRG operation dashboard refinements. */
.report-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:4px 2px 0}.report-section-title h3{font-size:16px;margin:0;color:#0f172a}.report-section-title p{margin:0;color:#64748b;font-size:12px;font-weight:700}.operation-kpi .kpi-card small{display:block;margin-top:3px;color:#94a3b8;font-size:10.5px;line-height:1.25}.operation-kpi .kpi-card .value em{display:block;font-size:12px;font-style:normal;color:#64748b;margin-top:2px}.metric-bar{grid-template-columns:160px 1fr 74px 42px}.metric-bar .metric-val{font-variant-numeric:tabular-nums}.dept-operation-card .table-wrap,.drg-operation-card .table-wrap{max-height:520px}.dept-operation-table td:first-child,.drg-operation-table td:first-child{font-weight:900;color:#0f172a}.batch-dept-mini{display:inline-flex;align-items:center;max-width:130px;min-width:0;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-table th:nth-child(3),.report-table td:nth-child(3){min-width:96px;font-weight:800;color:#334155}.high-weight-card .metric-bar .bar-fill,.metric-bar.bar-warn .bar-fill{background:linear-gradient(90deg,#f97316,#fbbf24)}.metric-bar.bar-ok .bar-fill{background:linear-gradient(90deg,#16a34a,#4ade80)}.dept-card .bar-fill,.dept-cmi-card .bar-fill,.dept-success-card .bar-fill,.dept-los-card .bar-fill{background:linear-gradient(90deg,#4f46e5,#38bdf8)}
@media(max-width:900px){.report-grid-2{grid-template-columns:1fr}.report-section-title{display:block}.metric-bar{grid-template-columns:120px 1fr 62px 34px}.batch-dept-mini{max-width:96px}.report-table{min-width:980px}}
/* v1.1.12-build202: add Zhejiang DRG 2.0 built-in scheme overlay. */
/* ===== v1.1.21-build211: XLSX 病历模板解析进度 ===== */
.csv-status.parsing{
  background:#f8fbff!important;
  border-color:#c7d9f1!important;
  color:#345a9a!important;
}
.csv-progress-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:900;
}
.csv-progress-title span{color:#426caf;font-weight:950}
.csv-progress-detail{
  margin-top:3px;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
}
.csv-progress-track{
  height:7px;
  margin-top:6px;
  overflow:hidden;
  border-radius:999px;
  background:#e8effb;
  box-shadow:inset 0 1px 2px rgba(75,118,196,.12);
}
.csv-progress-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#4b76c4,#78a4d7);
  transition:width .18s ease;
}
.line-summary-label.muted{fill:#64748b;font-size:11px;font-weight:700}

/* ===== v1.1.21-build211: parse progress, compact trend and report overview ===== */
.csv-status.ready .csv-progress-track.done i{width:100%!important;background:linear-gradient(90deg,#93c5fd,#60a5fa)!important}
.csv-status.ready .csv-progress-title strong{color:#1e3a8a!important}
.line-wrap-compact{padding:8px 10px 4px!important;box-shadow:inset 0 -18px 36px rgba(37,99,235,.035)!important}
.line-svg-compact{min-height:190px!important;display:block!important}
.line-svg-compact .line-stem{display:none!important}
.line-svg-compact .line-main{stroke:#2563eb!important;stroke-width:3.2!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 7px 12px rgba(37,99,235,.18))!important}
.line-svg-compact .line-area{fill:url(#lineAreaGrad)!important;filter:none!important}
.line-svg-compact .line-dot{fill:#fff!important;stroke:#2563eb!important;stroke-width:2.4!important;filter:none!important}
.line-svg-compact .line-x-label{font-size:10px!important;fill:#64748b!important;font-weight:800!important}
.line-svg-compact .line-summary-label{font-size:11px!important;fill:#1e40af!important;font-weight:900!important}
.line-svg-compact .line-summary-label.muted{fill:#64748b!important;font-weight:800!important}
.weight-band-card{border-color:#bae6fd!important}
.report-note-card{border-color:#dbeafe!important;background:#f8fbff!important}

/* ===== v1.1.22-build212: floating XLSX parse progress and compact upload row ===== */
.batch-upload-inline-row{
  grid-template-columns:minmax(180px,220px) minmax(180px,220px) minmax(190px,230px) minmax(190px,230px)!important;
  justify-content:start!important;
  align-items:stretch!important;
  gap:10px!important;
}
.batch-upload-inline-row .upload-drop-zone,
.batch-inline-action-card .batch-inline-action-btn{
  min-height:50px!important;
  padding:8px 12px!important;
}
.batch-upload-inline-row .upload-drop-zone .upload-label,
.batch-upload-inline-row .upload-drop-zone>div:not(.drop-icon){
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}
.batch-upload-inline-row .upload-drop-zone strong{
  margin:0!important;
  font-size:15px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.batch-upload-inline-row .upload-drop-zone span,
.batch-upload-inline-row .csv-status,
.batch-upload-inline-row .weight-status{
  display:none!important;
}
@media(max-width:1180px){
  .batch-upload-inline-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important}
}
@media(max-width:640px){
  .batch-upload-inline-row{grid-template-columns:1fr!important}
}
.upload-parse-popover{
  position:fixed;
  right:24px;
  bottom:24px;
  width:min(380px,calc(100vw - 32px));
  z-index:2147482500;
  border:1px solid #c7d2fe;
  border-radius:18px;
  background:rgba(255,255,255,.98);
  color:#0f172a;
  box-shadow:0 22px 60px rgba(15,23,42,.18);
  backdrop-filter:blur(14px);
  padding:14px 15px 15px;
  opacity:0;
  pointer-events:none;
  transform:translateY(14px) scale(.98);
  transition:opacity .18s ease,transform .18s ease;
}
.upload-parse-popover.show{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.upload-parse-popover.weight{border-color:#ddd6fe}
.upload-parse-close{
  position:absolute;
  top:8px;
  right:10px;
  width:24px;
  height:24px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-size:18px;
  line-height:22px;
  cursor:pointer;
}
.upload-parse-close:hover{background:#e2e8f0;color:#0f172a}
.upload-parse-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding-right:22px;
}
.upload-parse-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#dbeafe,#eff6ff);
  color:#1d4ed8;
  font-size:23px;
  font-weight:950;
}
.upload-parse-popover.weight .upload-parse-icon{
  background:linear-gradient(135deg,#ede9fe,#f5f3ff);
  color:#6d28d9;
}
.upload-parse-head strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  font-weight:950;
  line-height:1.2;
}
.upload-parse-head em{
  display:block;
  margin-top:3px;
  color:#475569;
  font-size:12px;
  font-style:normal;
  font-weight:850;
  line-height:1.35;
}
.upload-parse-head b{
  color:#1d4ed8;
  font-size:16px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.upload-parse-popover.weight .upload-parse-head b{color:#6d28d9}
.upload-parse-detail{
  margin:10px 0 8px 52px;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
  font-weight:750;
}
.upload-parse-track{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#e8effb;
  box-shadow:inset 0 1px 2px rgba(75,118,196,.12);
}
.upload-parse-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#60a5fa,#93c5fd);
  transition:width .18s ease;
}
.upload-parse-popover.weight .upload-parse-track i{background:linear-gradient(90deg,#8b5cf6,#c4b5fd)}
.upload-parse-popover.done .upload-parse-track i{background:linear-gradient(90deg,#22c55e,#86efac)}
.upload-parse-popover.done .upload-parse-head b{color:#166534}
#aboutTab .about-hero{
  background:linear-gradient(135deg,#eef6ff,#f8fbff 56%,#f6f2ff)!important;
  color:#0f172a!important;
  border:1px solid #cfe2ff!important;
  box-shadow:0 10px 28px rgba(59,130,246,.10)!important;
}
#aboutTab .about-hero .eyebrow{color:#3b65b8!important}
#aboutTab .about-hero h2{color:#0f172a!important}
#aboutTab .about-hero p{color:#334155!important;opacity:1!important}
#aboutTab .about-version-card{
  background:rgba(255,255,255,.78)!important;
  border-color:#dbeafe!important;
  color:#0f172a!important;
  box-shadow:0 8px 20px rgba(59,130,246,.08)!important;
}
#aboutTab .about-version-card span,
#aboutTab .about-version-card em{color:#475569!important;opacity:1!important}
#aboutTab .about-hero-copyright{
  color:#334155!important;
  border-color:#dbeafe!important;
  background:rgba(255,255,255,.68)!important;
}
#aboutTab .about-hero-copyright strong{color:#0f172a!important}
@media(max-width:640px){
  .upload-parse-popover{right:16px;bottom:18px;width:calc(100vw - 32px)}
}


/* ===== v1.1.23-build213: centered parse progress, equal upload row, adjusted about tone ===== */
.batch-upload-inline-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  justify-content:stretch!important;
  align-items:stretch!important;
  gap:12px!important;
  overflow:visible!important;
  padding:0!important;
  margin:8px 0 10px!important;
  width:100%!important;
}
.batch-upload-inline-row .upload-action-card,
.batch-upload-inline-row .batch-inline-action-card{
  width:100%!important;
  min-width:0!important;
}
.batch-upload-inline-row .upload-drop-zone,
.batch-inline-action-card .batch-inline-action-btn{
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  justify-content:center!important;
}
.batch-upload-inline-row .upload-drop-zone{
  border-radius:18px!important;
}
.batch-upload-inline-row .upload-drop-zone strong{
  font-size:16px!important;
}
@media(max-width:1180px){
  .batch-upload-inline-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .batch-upload-inline-row{grid-template-columns:1fr!important}
}
.upload-parse-popover{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:min(420px,calc(100vw - 32px))!important;
  transform:translate(-50%,-46%) scale(.98)!important;
  padding:16px 16px 15px!important;
}
.upload-parse-popover.show{
  transform:translate(-50%,-50%) scale(1)!important;
}
.upload-parse-close{
  display:grid!important;
  place-items:center!important;
  position:absolute!important;
  top:10px!important;
  right:12px!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #dbeafe!important;
  border-radius:999px!important;
  background:#f8fbff!important;
  color:#345a9a!important;
  font-size:18px!important;
  line-height:1!important;
  box-shadow:none!important;
  gap:0!important;
}
.upload-parse-close:hover{
  background:#e8effb!important;
  color:#1e40af!important;
  transform:none!important;
}
.upload-parse-close .btn-icon{display:none!important}
#aboutTab .about-hero{
  background:linear-gradient(135deg,#dcecff,#edf6ff 56%,#eee7ff)!important;
  border-color:#bdd7fb!important;
  box-shadow:0 10px 28px rgba(59,130,246,.12)!important;
}
#aboutTab .about-version-card{
  background:rgba(255,255,255,.82)!important;
  border-color:#c7d9f1!important;
}
#aboutTab .about-hero-copyright{
  border-color:#c7d9f1!important;
  background:rgba(255,255,255,.72)!important;
}

/* ===== v1.1.27-build217: trend labels, stable batch toolbar, canonical code display ===== */
.line-svg-compact .line-node{cursor:crosshair!important;pointer-events:all!important}
.line-svg-compact .line-hit{fill:rgba(37,99,235,0)!important;stroke:transparent!important;stroke-width:0!important;filter:none!important;pointer-events:all!important}
.line-svg-compact .line-node .line-dot{pointer-events:none!important;transition:r .14s ease,fill .14s ease,stroke-width .14s ease,filter .14s ease!important}
.line-svg-compact .line-node:hover .line-dot{r:6!important;fill:#dbeafe!important;stroke-width:3!important;filter:drop-shadow(0 4px 10px rgba(37,99,235,.32))!important}
.line-svg-compact .line-y-label{font-size:10px!important;fill:#64748b!important;font-weight:850!important;font-variant-numeric:tabular-nums!important;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.line-svg-compact .line-y-tick .grid-line{stroke:#dbe5f4!important;stroke-dasharray:4 5!important}
.batch-result-toolbar .batch-toolbar-actions.batch-toolbar-five button{transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease!important;transform:none!important;will-change:auto!important;backface-visibility:hidden!important;gap:6px!important}
.batch-result-toolbar .batch-toolbar-actions.batch-toolbar-five button:hover,.batch-result-toolbar .batch-toolbar-actions.batch-toolbar-five button:active,.batch-result-toolbar .batch-toolbar-actions.batch-toolbar-five button:focus{transform:none!important}
.batch-result-toolbar .batch-toolbar-actions.batch-toolbar-five .btn-icon{flex:0 0 16px!important;width:16px!important;height:16px!important}
#aboutTab .about-hero{background:linear-gradient(135deg,#cfe3ff,#e3f0ff 56%,#e8ddff)!important;border-color:#aacbf5!important;box-shadow:0 12px 30px rgba(59,130,246,.15)!important}
#aboutTab .about-version-card{background:rgba(255,255,255,.78)!important;border-color:#b9cfea!important}
#aboutTab .about-hero-copyright{background:rgba(255,255,255,.66)!important;border-color:#b9cfea!important}

/* ===== v1.1.39-build229: raw XLSX upload and centered progress for template reading and batch grouping ===== */
.upload-parse-popover.group{border-color:#bfdbfe!important}
.upload-parse-popover.group .upload-parse-icon{background:linear-gradient(135deg,#dbeafe,#f0f7ff)!important;color:#1d4ed8!important}
.upload-parse-popover.group .upload-parse-track i{background:linear-gradient(90deg,#2563eb,#93c5fd)!important}
.upload-parse-popover.group .upload-parse-head b{color:#1d4ed8!important}
.upload-parse-popover.group.done .upload-parse-track i{background:linear-gradient(90deg,#22c55e,#86efac)!important}
.upload-parse-popover.group.done .upload-parse-head b{color:#166534!important}
/* v1.1.46 compact batch pager row */
.batch-page-jump{display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important;color:#334155!important;font-weight:800!important}
.batch-page-jump input{width:76px!important;height:32px!important;border:1px solid #bfdbfe!important;border-radius:10px!important;padding:0 8px!important;font-weight:900!important;color:#1e3a8a!important;background:#fff!important}
.batch-page-jump button{padding:6px 10px!important;border-radius:999px!important;border:1px solid #bfdbfe!important;background:#fff!important;color:#1d4ed8!important;font-weight:900!important}
.batch-stat-box.stat-time{border-color:#fde7bd!important;border-left-color:#d97706!important;background:linear-gradient(135deg,#fff7ed,#fff)!important}
.batch-stat-box.stat-time>strong{font-size:18px!important;line-height:1.15!important}

/* ===== v1.1.47-build237: compact batch pager row with first/last buttons ===== */
.batch-pager{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) auto auto!important;
  gap:10px 14px!important;
  align-items:center!important;
  justify-items:start!important;
}
.batch-pager-left{white-space:nowrap!important}
.batch-pager-controls{display:inline-flex!important;align-items:center!important;gap:8px!important;justify-self:end!important;white-space:nowrap!important}
.batch-page-jump{display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
.batch-page-jump input{width:76px!important;height:30px!important;border:1px solid #bfdbfe!important;border-radius:10px!important;background:#fff!important;color:#1d4ed8!important;font-weight:900!important;text-align:center!important;padding:0 8px!important}
.batch-pager-controls button[data-action="batch-page-jump"]{padding:6px 10px!important;border-radius:999px!important;border:1px solid #bfdbfe!important;background:#fff!important;color:#1d4ed8!important;font-weight:900!important}
@media(max-width:960px){
  .batch-pager{grid-template-columns:1fr!important;justify-items:start!important}
  .batch-pager-controls{justify-self:start!important;flex-wrap:wrap!important}
}

/* ===== v1.1.49-build239: validation dialog close alignment and concise messages ===== */
.app-validation-dialog[hidden]{display:none!important}
.app-validation-dialog{position:fixed!important;inset:0!important;z-index:2147483200!important;display:flex!important;justify-content:center!important;align-items:flex-start!important;padding:12vh 18px 18px!important;box-sizing:border-box!important;pointer-events:none!important}
.app-validation-dialog.show{pointer-events:auto!important}
.app-validation-backdrop{position:absolute!important;inset:0!important;background:rgba(15,23,42,.42)!important;backdrop-filter:blur(7px)!important}
.app-validation-card{position:relative!important;width:min(720px,calc(100vw - 32px))!important;max-height:min(76vh,680px)!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:12px!important;border:1px solid #fecaca!important;border-radius:22px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 26px 80px rgba(15,23,42,.26)!important;padding:18px!important;color:#0f172a!important;overflow:hidden!important;transform:translateY(-2vh)!important}
.app-validation-head{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding-right:34px!important}
.app-validation-icon{width:48px!important;height:48px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#fee2e2,#fff7ed)!important;color:#b91c1c!important;font-size:28px!important;font-weight:1000!important;line-height:1!important;border:1px solid #fecaca!important}
.app-validation-head .eyebrow{margin:0 0 2px!important;color:#b91c1c!important;font-size:10px!important;font-weight:950!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.app-validation-head h2{margin:0 0 5px!important;font-size:20px!important;line-height:1.22!important;color:#7f1d1d!important;font-weight:950!important}
.app-validation-head p{margin:0!important;font-size:13px!important;line-height:1.55!important;color:#475569!important;font-weight:760!important}
.app-validation-errors{min-height:0!important;overflow:auto!important;border:1px solid #fee2e2!important;border-radius:16px!important;background:linear-gradient(180deg,#fff7f7,#fff)!important;padding:10px 12px!important;overscroll-behavior:contain!important}
.app-validation-errors ol{margin:0!important;padding-left:22px!important;display:grid!important;gap:8px!important}
.app-validation-errors li{font-size:13px!important;line-height:1.5!important;color:#7f1d1d!important;font-weight:780!important;word-break:break-word!important}
.app-validation-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.app-validation-actions button{min-height:34px!important;border-radius:999px!important;font-weight:950!important}
.app-validation-copy{border:1px solid #bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;padding:8px 14px!important}
.app-validation-copy:hover{background:#dbeafe!important;color:#1e40af!important;box-shadow:0 8px 20px rgba(37,99,235,.14)!important}
.app-validation-x{position:absolute!important;right:14px!important;top:12px!important;width:30px!important;height:30px!important;border-radius:999px!important;border:1px solid #fecaca!important;background:#fff7f7!important;color:#991b1b!important;font-size:22px!important;line-height:1!important;padding:0!important;display:grid!important;place-items:center!important;box-shadow:none!important;z-index:2!important}
.app-validation-x:hover{background:#fee2e2!important;color:#7f1d1d!important;transform:none!important}
.app-validation-dialog.template .app-validation-card{border-color:#fed7aa!important}
.app-validation-dialog.template .app-validation-icon{background:linear-gradient(135deg,#ffedd5,#fff7ed)!important;color:#c2410c!important;border-color:#fed7aa!important}
.app-validation-dialog.template .app-validation-head .eyebrow,.app-validation-dialog.template .app-validation-head h2{color:#9a3412!important}
.app-validation-dialog.template .app-validation-errors{border-color:#fed7aa!important;background:linear-gradient(180deg,#fff7ed,#fff)!important}
.app-validation-dialog.template .app-validation-errors li{color:#7c2d12!important}
@media(max-width:720px){.app-validation-dialog{padding:9vh 10px 10px!important}.app-validation-card{width:100%!important;max-height:82vh!important;border-radius:20px!important;padding:14px!important}.app-validation-head{grid-template-columns:40px minmax(0,1fr)!important}.app-validation-icon{width:40px!important;height:40px!important;border-radius:14px!important;font-size:24px!important}.app-validation-head h2{font-size:18px!important}.app-validation-actions{display:grid!important;grid-template-columns:1fr!important}.app-validation-actions button{width:100%!important}}

/* v1.1.49-build239: keep top-right validation close button centered and single-icon only. */
.app-validation-x{display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;gap:0!important;text-align:center!important;vertical-align:middle!important}
.app-validation-x.has-icon{gap:0!important;padding:0!important}
.app-validation-x .btn-icon{width:16px!important;height:16px!important;margin:0!important;flex:0 0 16px!important}
.app-validation-x:not(.has-icon){font-size:20px!important;line-height:1!important}

/* v1.1.66-build256: 批量入组费用测算与费用盈亏报表。 */
.batch-card{
  border-color:rgba(17,24,39,.28)!important;
}
#batchResults .batch-card summary{
  border:1px solid rgba(17,24,39,.30)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(241,245,249,.92))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)!important;
  grid-template-columns:minmax(118px,.78fr) 86px 88px minmax(108px,.72fr) 88px minmax(138px,1.12fr) auto auto!important;
}
.batch-fee-surplus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(100,116,139,.24);
  font-weight:800;
  font-size:.82rem;
  white-space:nowrap;
}
.batch-fee-surplus.positive,.fee-mini-card.positive,.fee-balance-positive,.fee-row-positive td:nth-child(5){
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#86efac!important;
}
.batch-fee-surplus.negative,.fee-mini-card.negative,.fee-balance-negative,.fee-row-negative td:nth-child(5){
  background:#fee2e2!important;
  color:#991b1b!important;
  border-color:#fecaca!important;
}
.batch-fee-surplus.zero,.fee-mini-card.zero{
  background:#e0f2fe!important;
  color:#075985!important;
  border-color:#bae6fd!important;
}
.batch-fee-surplus.neutral,.fee-mini-card.neutral{
  background:#f1f5f9!important;
  color:#475569!important;
  border-color:#cbd5e1!important;
}
.batch-grouping-mini{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
}
.fee-mini-card{
  border:1px solid rgba(148,163,184,.35);
  border-radius:16px;
  background:#f8fafc;
  padding:10px 12px;
  min-width:0;
}
.fee-mini-card span{
  display:block;
  color:#64748b;
  font-size:.78rem;
  font-weight:700;
  margin-bottom:3px;
}
.fee-mini-card b{
  display:block;
  color:#0f172a;
  font-size:1rem;
  line-height:1.2;
  word-break:break-all;
}
.fee-mini-card em{
  display:block;
  color:#64748b;
  font-size:.72rem;
  font-style:normal;
  margin-top:3px;
}
.batch-info-edit-grid{
  grid-template-columns:repeat(auto-fit,minmax(88px,1fr))!important;
}
.batch-info-edit-grid label span{
  white-space:nowrap;
}
.batch-info-edit-grid select,.batch-info-edit-grid input{
  min-width:0;
}
.payment-method-select{
  text-overflow:ellipsis;
}
/* v1.2.009-build299: 批量入组展开的病历信息字段按一排自适应压缩，长字段名和值用省略号显示。 */
.batch-detail .batch-info-edit-grid{
  grid-template-columns:repeat(var(--batch-info-field-count,13),minmax(0,1fr))!important;
  grid-auto-flow:column!important;
  align-items:end!important;
}
.batch-detail .batch-info-edit-grid label,
.batch-detail .batch-info-control{
  min-width:0!important;
  overflow:hidden!important;
}
.batch-detail .batch-info-edit-grid label span{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.batch-detail .batch-info-edit-grid select,
.batch-detail .batch-info-edit-grid input{
  width:100%!important;
  min-width:0!important;
  font-size:12px!important;
}
.batch-detail .batch-info-control.has-unit input{
  padding-right:18px!important;
}
.batch-detail .batch-info-control em{
  right:5px!important;
  font-size:10px!important;
}
.fee-kpi .kpi-card .value{
  font-size:1.25rem;
}
.fee-report-grid .chart-card{
  border-color:rgba(148,163,184,.32);
}
.fee-analysis-table td:nth-child(3),.fee-analysis-table td:nth-child(4),.fee-analysis-table td:nth-child(5),.fee-analysis-table td:nth-child(6),
.fee-analysis-table th:nth-child(3),.fee-analysis-table th:nth-child(4),.fee-analysis-table th:nth-child(5),.fee-analysis-table th:nth-child(6){
  text-align:right;
}
.fee-balance-bar .bar-fill{
  background:linear-gradient(90deg,#bfdbfe,#60a5fa)!important;
}
@media (max-width:1180px){
  #batchResults .batch-card summary{
    grid-template-columns:1fr 88px 88px minmax(108px,.8fr) 88px auto!important;
  }
  .batch-grouping-mini{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:720px){
  #batchResults .batch-card summary{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .batch-fee-surplus{
    justify-content:flex-start;
  }
  .batch-grouping-mini{
    grid-template-columns:1fr!important;
  }
}


/* v1.1.76-build266: 批量入组明细参数卡片压缩为单行九列，长文本省略，减少换行占用。 */
.batch-detail .batch-grouping-mini{
  grid-template-columns:repeat(9,minmax(0,1fr))!important;
  gap:6px!important;
  align-items:stretch!important;
}
.batch-detail .batch-grouping-mini>div,
.batch-detail .batch-grouping-mini .fee-mini-card{
  min-width:0!important;
  padding:7px 8px!important;
  border-radius:11px!important;
  min-height:66px!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr!important;
  align-content:start!important;
}
.batch-detail .batch-grouping-mini span,
.batch-detail .fee-mini-card span{
  font-size:10px!important;
  line-height:1.15!important;
  margin-bottom:3px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.batch-detail .batch-grouping-mini b,
.batch-detail .fee-mini-card b{
  font-size:13px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
}
.batch-detail .batch-grouping-mini em,
.batch-detail .fee-mini-card em{
  font-size:10px!important;
  line-height:1.2!important;
  margin-top:2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media (max-width:1500px){
  .batch-detail .batch-grouping-mini{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media (max-width:1180px){
  .batch-detail .batch-grouping-mini{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:720px){
  .batch-detail .batch-grouping-mini{grid-template-columns:1fr!important}
}

/* v1.1.67-build257: 批量入组结果表格/明细所有单元格左对齐，便于与导出的 XLSX 结果保持一致。 */
.batch-results table th,
.batch-results table td,
.batch-detail table th,
.batch-detail table td {
  text-align: left !important;
}

/* ===== v1.1.73-build263: batch grouping pause/resume and stop controls ===== */
.upload-parse-controls{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  margin:12px 0 0 52px!important;
  flex-wrap:wrap!important;
}
.upload-parse-control{
  min-height:32px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#fff!important;
  color:#1d4ed8!important;
  font-weight:900!important;
  font-size:12px!important;
  box-shadow:none!important;
  transform:none!important;
}
.upload-parse-control:hover{background:#eff6ff!important;transform:none!important}
.upload-parse-control.danger{
  border-color:#fecaca!important;
  color:#b91c1c!important;
  background:#fffafa!important;
}
.upload-parse-control.danger:hover{background:#fef2f2!important}
@media(max-width:640px){
  .upload-parse-controls{margin-left:0!important;justify-content:stretch!important}
  .upload-parse-control{flex:1 1 120px!important}
}

/* ===== v1.1.82-build272: simplified OpenDRG cost estimator ===== */
#opendrgCostControls.simple-cost-panel{
  display:block!important;
  margin:10px 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#opendrgCostControls.simple-cost-panel[hidden],
.batch-opendrg-cost-controls.simple-cost-panel[hidden]{display:none!important;}
.simple-cost-warning{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  margin:0 0 10px!important;
  padding:9px 12px!important;
  border:1.5px solid #f5bd49!important;
  border-radius:8px!important;
  background:#fff7e6!important;
  color:#9a5a00!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.simple-cost-warning::before{content:'ⓘ';font-size:18px!important;font-weight:900!important;line-height:1!important;color:#d97706!important;}
#opendrgCostControls.simple-cost-panel .opendrg-cost-body.simple-cost-grid,
.batch-opendrg-cost-controls.simple-cost-panel,
.batch-case-cost-panel.simple-cost-panel{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:end!important;
}
#opendrgCostControls.simple-cost-panel .opendrg-cost-body.simple-cost-grid{width:100%!important;}
.batch-opendrg-cost-controls.simple-cost-panel{
  margin:10px 0 8px!important;
  padding:10px!important;
  border:1px solid #d7e3f5!important;
  border-radius:12px!important;
  background:#f8fbff!important;
}
.batch-opendrg-cost-controls.simple-cost-panel .opendrg-cost-title,
.batch-case-cost-panel.simple-cost-panel .opendrg-cost-title{grid-column:1/-1!important;}
#opendrgCostControls.simple-cost-panel label,
.batch-opendrg-cost-controls.simple-cost-panel label,
.batch-case-cost-panel.simple-cost-panel label{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  color:#5c6472!important;
  font-size:13px!important;
  font-weight:700!important;
  text-align:center!important;
  white-space:nowrap!important;
}
#opendrgCostControls.simple-cost-panel .std-input,
.batch-opendrg-cost-controls.simple-cost-panel .std-input,
.batch-case-cost-panel.simple-cost-panel .batch-info-input{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  border-radius:7px!important;
  border:1px solid #dfe5ef!important;
  background:#f8fafc!important;
  color:#111827!important;
  font-size:18px!important;
  font-weight:500!important;
  text-align:center!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04)!important;
}
#opendrgCostControls.simple-cost-panel .cost-btn,
#opendrgCostControls.simple-cost-panel .cost-save-default-btn,
.batch-case-cost-panel.simple-cost-panel .cost-btn{
  height:44px!important;
  min-height:44px!important;
  border-radius:8px!important;
  align-self:end!important;
  white-space:nowrap!important;
}
#opendrgCostControls.simple-cost-panel .cost-save-default-btn{
  background:#fff!important;
  border:1px solid #bad2f8!important;
  color:#1d4ed8!important;
  font-weight:900!important;
}
.batch-opendrg-cost-controls.simple-cost-panel small,
.batch-case-cost-panel.simple-cost-panel small{grid-column:1/-1!important;color:#64748b!important;font-size:12px!important;line-height:1.45!important;}
@media(max-width:980px){
  #opendrgCostControls.simple-cost-panel .opendrg-cost-body.simple-cost-grid,
  .batch-opendrg-cost-controls.simple-cost-panel,
  .batch-case-cost-panel.simple-cost-panel{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  #opendrgCostControls.simple-cost-panel .opendrg-cost-body.simple-cost-grid,
  .batch-opendrg-cost-controls.simple-cost-panel,
  .batch-case-cost-panel.simple-cost-panel{grid-template-columns:1fr!important;}
}
#opendrgCostControls.opendrg-cost-controls.simple-cost-panel:not(.batch-opendrg-cost-controls){
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  margin:10px 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* ===== v1.1.83-build273: batch cost defaults popup and fee parameter scope wording ===== */
.batch-cost-defaults-card .batch-cost-defaults-btn,
#batchCostDefaultsBtn.batch-inline-action-btn{
  background:linear-gradient(135deg,#fff7ed,#ffffff)!important;
  border:1.5px solid #111827!important;
  color:#9a3412!important;
  box-shadow:0 6px 14px rgba(245,158,11,.10)!important;
}
#batchCostDefaultsBtn.batch-inline-action-btn:hover{
  background:linear-gradient(135deg,#ffedd5,#ffffff)!important;
  color:#7c2d12!important;
}
#batchCostDefaultsBtn.batch-inline-action-btn:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  filter:grayscale(.25)!important;
}
.batch-cost-popup[hidden]{display:none!important;}
.batch-cost-popup{
  position:fixed!important;
  inset:0!important;
  z-index:9000!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:92px 16px 24px!important;
  background:rgba(15,23,42,.32)!important;
  backdrop-filter:blur(3px)!important;
}
.batch-cost-popup-card{
  width:min(860px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 120px)!important;
  overflow:auto!important;
  border:1px solid #bfdbfe!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.22)!important;
  padding:16px!important;
}
.batch-cost-popup-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:10px!important;
}
.batch-cost-popup-head h3{
  margin:0!important;
  color:#0f172a!important;
  font-size:18px!important;
  font-weight:950!important;
}
.batch-cost-popup-head p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.batch-cost-popup-close{
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#334155!important;
  border:1px solid #cbd5e1!important;
  font-size:22px!important;
  line-height:1!important;
  box-shadow:none!important;
}
.batch-cost-popup .batch-opendrg-cost-controls.simple-cost-panel{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.batch-cost-popup .batch-opendrg-cost-controls.simple-cost-panel .opendrg-cost-title{
  display:none!important;
}
.batch-cost-popup-actions{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:14px!important;
}
.batch-cost-popup-actions button{
  min-width:110px!important;
  border-radius:12px!important;
}
body.batch-cost-popup-open{overflow:hidden!important;}
@media(max-width:640px){
  .batch-cost-popup{padding:72px 10px 16px!important;}
  .batch-cost-popup-card{width:100%!important;max-height:calc(100vh - 88px)!important;border-radius:16px!important;padding:12px!important;}
  .batch-cost-popup-head{gap:8px!important;}
}


/* ===== v1.1.85-build275: batch cost defaults without total fee and stopped-run partial results ===== */
.batch-upload-inline-row{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  justify-content:stretch!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:6px 0 10px!important;
  padding:0!important;
  overflow:visible!important;
}
.batch-upload-inline-row .upload-action-card,
.batch-upload-inline-row .batch-inline-action-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:flex!important;
}
.batch-upload-inline-row .upload-drop-zone,
.batch-inline-action-card .batch-inline-action-btn{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  height:46px!important;
  padding:6px 10px!important;
  border-radius:14px!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:nowrap!important;
}
.batch-upload-inline-row .drop-icon{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border-radius:10px!important;
}
.batch-upload-inline-row .drop-icon svg{
  width:20px!important;
  height:20px!important;
}
.batch-upload-inline-row .upload-drop-zone strong,
.batch-inline-action-card .batch-inline-action-btn{
  font-size:14px!important;
  line-height:1.1!important;
}
.batch-upload-inline-row .upload-label{
  flex:0 1 auto!important;
  min-width:0!important;
}
@media(max-width:1320px){
  .batch-upload-inline-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  .batch-upload-inline-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .batch-upload-inline-row{grid-template-columns:1fr!important;}
}
.batch-cost-popup-card{
  position:relative!important;
  overflow:visible!important;
}
.batch-cost-popup-head{
  position:relative!important;
  align-items:flex-start!important;
  padding-right:44px!important;
}
.batch-cost-popup-close,
.batch-cost-popup-close.has-icon{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:999px!important;
  z-index:3!important;
  cursor:pointer!important;
  background:#e8f1ff!important;
  color:#1d4ed8!important;
  border:1px solid #bcd2f6!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
}
.batch-cost-popup-close .btn-icon{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
  margin:0!important;
  pointer-events:none!important;
}
.batch-cost-popup-close:hover{
  background:#dbeafe!important;
  color:#1e40af!important;
  transform:none!important;
}

/* ===== v1.1.88-build278: cost template layout polish ===== */
.batch-cost-popup .cost-fallback-switch,
.batch-opendrg-cost-controls.simple-cost-panel .cost-fallback-switch{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:auto auto 1fr!important;
  align-items:center!important;
  justify-content:start!important;
  gap:8px 10px!important;
  text-align:left!important;
  white-space:normal!important;
  padding:9px 10px!important;
  border:1px solid #dbeafe!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
}
.cost-fallback-switch input[type="checkbox"]{
  width:42px!important;
  height:24px!important;
  margin:0!important;
  appearance:none!important;
  border:1px solid #cbd5e1!important;
  border-radius:999px!important;
  background:#e5e7eb!important;
  position:relative!important;
  cursor:pointer!important;
  transition:.18s ease!important;
}
.cost-fallback-switch input[type="checkbox"]::after{
  content:''!important;
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:16px!important;
  height:16px!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(15,23,42,.25)!important;
  transition:.18s ease!important;
}
.cost-fallback-switch input[type="checkbox"]:checked{
  background:#2563eb!important;
  border-color:#2563eb!important;
}
.cost-fallback-switch input[type="checkbox"]:checked::after{left:21px!important;}
.cost-fallback-switch span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

/* v1.1.100-build290: compiled client heartbeat, red status dot and in-page closed prompt */
.data-status.down .status-dot,.data-status.offline .status-dot{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.18),0 0 18px rgba(239,68,68,.58)!important;animation:statusPulse 1.2s ease-in-out infinite!important}
.data-status.down::after,.data-status.offline::after{border-color:rgba(239,68,68,.55)!important;animation:statusRing 1.2s ease-out infinite!important}
.status-stack.is-down .status-popover{background:#7f1d1d!important;color:#fee2e2!important;border-color:rgba(252,165,165,.45)!important}
.status-stack.is-down .status-popover::before{background:#7f1d1d!important;border-color:rgba(252,165,165,.45)!important}
.app-closed-dialog{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.32);backdrop-filter:blur(3px)}
.app-closed-card{width:min(420px,calc(100vw - 32px));border:1px solid #fecaca;border-radius:18px;background:#fff;box-shadow:0 26px 68px rgba(15,23,42,.28);padding:22px;text-align:left}
.app-closed-card h2{margin:0 0 8px;color:#991b1b;font-size:20px;font-weight:950}
.app-closed-card p{margin:0 0 16px;color:#7f1d1d;font-size:15px;font-weight:800;line-height:1.55}
.app-closed-card button{border:0;border-radius:12px;background:#dc2626;color:#fff;padding:10px 16px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(220,38,38,.24)}
.app-closed-card button:hover{filter:brightness(1.04);transform:translateY(-1px)}

/* v1.1.101-build291: communication monitor busy/degraded states */
.data-status.busy .status-dot{background:#0ea5e9!important;box-shadow:0 0 0 4px rgba(14,165,233,.18),0 0 18px rgba(14,165,233,.55)!important;animation:statusPulse 1.35s ease-in-out infinite!important}
.data-status.busy::after{border-color:rgba(14,165,233,.55)!important;animation:statusRing 1.35s ease-out infinite!important}
.status-stack.is-busy .status-popover{background:#075985!important;color:#e0f2fe!important;border-color:rgba(125,211,252,.45)!important}
.status-stack.is-busy .status-popover::before{background:#075985!important;border-color:rgba(125,211,252,.45)!important}
.data-status.degraded .status-dot{background:#f59e0b!important;box-shadow:0 0 0 4px rgba(245,158,11,.18),0 0 18px rgba(245,158,11,.55)!important;animation:statusPulse 1.35s ease-in-out infinite!important}
.data-status.degraded::after{border-color:rgba(245,158,11,.55)!important;animation:statusRing 1.35s ease-out infinite!important}
.status-stack.is-degraded .status-popover{background:#78350f!important;color:#fef3c7!important;border-color:rgba(251,191,36,.45)!important}
.status-stack.is-degraded .status-popover::before{background:#78350f!important;border-color:rgba(251,191,36,.45)!important}

/* v1.2.002-build292: batch pager quick top/bottom jump buttons */
.batch-pager{
  grid-template-columns:minmax(130px,1fr) auto auto auto!important;
}
.batch-pager-scroll{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.batch-pager-scroll button{
  padding:6px 10px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#fff!important;
  color:#1d4ed8!important;
  font-weight:900!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
}
.batch-pager-scroll button:hover{background:#eff6ff!important;border-color:#93c5fd!important}
@media(max-width:960px){
  .batch-pager{grid-template-columns:1fr!important;justify-items:start!important}
  .batch-pager-scroll{flex-wrap:wrap!important}
}

/* v1.2.003-build293: historical bottom-toolbar override. Superseded by v1.2.004 scoped split toolbar rules below. */
.batch-page-list{display:grid!important;gap:12px!important}


/* v1.2.005-build295: keep the fixed bottom pager horizontally aligned with the batch result container */
:root{
  --batch-bottom-pager-left:clamp(12px,2vw,36px);
  --batch-bottom-pager-right:clamp(12px,2vw,36px);
}
#batchResults.has-fixed-pager{
  padding-bottom:88px!important;
}
#batchResults.has-fixed-pager .batch-result-actions-toolbar{
  position:sticky!important;
  top:var(--batch-result-toolbar-top,62px)!important;
  z-index:340!important;
  margin:0 0 12px!important;
  border-radius:15px!important;
}
#batchResults.has-fixed-pager .batch-result-actions-toolbar .batch-toolbar-actions{
  width:100%!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager{
  position:fixed!important;
  left:var(--batch-bottom-pager-left)!important;
  right:var(--batch-bottom-pager-right)!important;
  bottom:10px!important;
  z-index:360!important;
  pointer-events:none!important;
}
#batchTab.active #batchResults.has-fixed-pager .batch-bottom-pager{
  display:block!important;
}
#batchTab:not(.active) #batchResults.has-fixed-pager .batch-bottom-pager{
  display:none!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager .batch-pager{
  pointer-events:auto!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #bfdbfe!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 14px 36px rgba(37,99,235,.16)!important;
  backdrop-filter:blur(14px)!important;
}
#batchResults.has-fixed-pager .batch-page-list{
  margin-bottom:8px!important;
}
#batchResults.has-fixed-pager .batch-card[open]>summary{
  top:var(--batch-open-summary-top,128px)!important;
}
@media(max-width:900px){
  #batchResults.has-fixed-pager{padding-bottom:132px!important}
  #batchResults.has-fixed-pager .batch-bottom-pager{left:8px!important;right:8px!important;bottom:8px!important}
  #batchResults.has-fixed-pager .batch-bottom-pager .batch-pager{grid-template-columns:1fr!important;gap:8px!important;align-items:start!important}
}
/* v1.2.006-build296: center the bottom pager page indicator and move bottom jump after the last-page button */
#batchResults.has-fixed-pager .batch-bottom-pager .batch-pager{
  grid-template-columns:minmax(260px,1fr) minmax(520px,2.2fr) minmax(260px,1fr)!important;
  column-gap:14px!important;
  align-items:center!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-left{
  justify-self:start!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-nav{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  justify-self:stretch!important;
  gap:10px!important;
  min-width:0!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-nav-left{
  justify-self:end!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-nav-right{
  justify-self:start!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager .batch-page-indicator{
  justify-self:center!important;
  min-width:104px!important;
  text-align:center!important;
  white-space:nowrap!important;
  color:#1e293b!important;
  font-weight:950!important;
}
#batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-controls{
  justify-self:end!important;
}
@media(max-width:1180px){
  #batchResults.has-fixed-pager .batch-bottom-pager .batch-pager{
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:start!important;
  }
  #batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-nav{
    width:100%!important;
    grid-template-columns:1fr!important;
    justify-items:start!important;
  }
  #batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-nav-left,
  #batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-nav-right,
  #batchResults.has-fixed-pager .batch-bottom-pager .batch-page-indicator,
  #batchResults.has-fixed-pager .batch-bottom-pager .batch-pager-controls{
    justify-self:start!important;
  }
}


/* v1.2.007-build297: bottom pager aligns to the visible batch panel border. Boundary values are provided by syncBatchBottomPagerBounds(). */
#batchResults.has-fixed-pager .batch-bottom-pager{
  width:auto!important;
  box-sizing:border-box!important;
}
