/* Checklist bảo lãnh dự thầu (CONTRACT §34.1). Dùng token màu của app.css. */
.bl{display:grid;gap:12px}
.bl-sum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bl-sum>div{background:var(--sheet-2);border:1px solid var(--rule-2);border-radius:var(--r);padding:8px 10px;min-width:0}
.bl-sum span{display:block;font-size:12px;color:var(--ink-3)}
.bl-sum b{display:block;font:600 16px/1.25 var(--f-num);font-variant-numeric:tabular-nums;word-break:break-word}
.bl-sum small{display:block;font-size:12px;color:var(--ink-3)}
.bl-sum .bl-wide{grid-column:1/-1}
.bl-sum .bl-name{font:600 14px/1.35 var(--f-ui)}
.bl-form{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:10px;overflow:hidden}
.bl-form button{min-height:48px;border:0;background:var(--sheet);font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.bl-form button+button{border-left:1px solid var(--rule)}
.bl-form button small{font-weight:400;font-size:11.5px;color:var(--ink-3)}
.bl-form button[aria-checked="true"]{background:var(--accent-soft);color:var(--accent)}
.bl-form button[aria-checked="true"] small{color:var(--accent)}
.bl-prog{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.bl-prog i{flex:1;height:6px;border-radius:99px;background:var(--muted-soft);overflow:hidden}
.bl-prog em{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .25s var(--ease)}
.bl-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:6px 0 0;font:600 13.5px/1.3 var(--f-ui)}
.bl-h small{font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}
.bl-list{list-style:none;margin:0;padding:0}
.bl-item{padding:8px 0;border-top:1px solid var(--rule-2)}
.bl-item:first-child{border-top:0}
.bl-check{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;min-height:44px;padding-top:4px;cursor:pointer}
.bl-check input{position:absolute;opacity:0;width:1px;height:1px}
.bl-box{width:22px;height:22px;border:1.5px solid var(--ink-3);border-radius:6px;display:grid;place-items:center;background:var(--sheet);margin-top:1px}
.bl-box .ic{width:15px;height:15px;opacity:0;stroke-width:2.4}
.bl-check input:checked+.bl-box{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.bl-check input:checked+.bl-box .ic{opacity:1}
.bl-check input:focus-visible+.bl-box{outline:2px solid var(--focus);outline-offset:2px}
.bl-label{font-size:14px;line-height:1.45}
.bl-item.done .bl-label{color:var(--ink-3)}
.bl-val{margin:4px 0 0 36px;padding:8px 10px;background:var(--sheet-2);border-radius:var(--r);font-size:13.5px;font-weight:600;line-height:1.45;word-break:break-word;display:flex;gap:8px;align-items:flex-start;justify-content:space-between}
.bl-copy{flex:none;min-height:32px;padding:0 10px;border:1px solid var(--rule);border-radius:8px;background:var(--sheet);font-size:12.5px;font-weight:600;color:var(--accent)}
.bl-why{margin:4px 0 0 36px;font-size:13px;color:var(--ink-2)}
.bl-why summary{cursor:pointer;color:var(--accent);font-weight:500;min-height:32px;display:inline-flex;align-items:center}
.bl-why p{margin:2px 0 6px}
.bl-src{color:var(--ink-3);font-size:12px}
.bl-mistakes{border:1px solid var(--gold-soft);background:color-mix(in srgb,var(--gold-soft) 45%,var(--sheet));border-radius:var(--r);padding:0 12px}
.bl-mistakes summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-weight:600;color:var(--gold)}
.bl-mistakes ul{margin:0 0 10px;padding-left:20px;font-size:13.5px}
.bl-mistakes li{margin:4px 0}
.bl-actions{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.bl-actions .btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:0 14px}
.bl-actions a{font-size:13.5px}
.bl-msg{margin:0;min-height:18px;font-size:13px;color:var(--accent)}
.bl-note p{margin:0 0 6px;font-size:14px}
.bl-note .hint{color:var(--ink-3);font-size:13px;margin:0}
@media (min-width:760px){
  .bl-sum{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr)}
  .bl-sum .bl-wide{grid-column:auto}
}
/* Hai văn bản ghi số bảo đảm khác nhau (CONTRACT §36) */
.bl-conflict{background:var(--gold-soft);border-radius:var(--r);padding:10px 12px;margin:0 0 10px;font-size:13.5px}
.bl-conflict .bl-c-h{display:flex;align-items:flex-start;gap:8px;margin:0 0 6px;font-weight:600}
.bl-conflict .bl-c-h .ic{color:var(--gold);flex:none;margin-top:1px}
.bl-conflict dl{margin:0 0 6px;display:grid;gap:4px}
.bl-conflict dl div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px}
.bl-conflict dt{color:var(--ink-2);min-width:0}
.bl-conflict dd{margin:0 0 0 auto;font:600 14px/1.35 var(--f-num);font-variant-numeric:tabular-nums}
.bl-conflict p:last-child{margin:0;color:var(--ink-2)}
.bl-alt{display:block;font-size:12px;color:var(--gold);margin-top:2px;font-weight:500}
.bl-alt a{color:inherit}

/* Nhóm checklist thu gọn được (rà UX 31/10) */
.bl-g{border-top:1px solid var(--rule-2);margin-top:6px}
.bl-g>summary.bl-h{cursor:pointer;list-style:none;min-height:44px;align-items:center;margin:0;padding:8px 0}
.bl-g>summary.bl-h::-webkit-details-marker{display:none}
.bl-g>summary.bl-h::after{content:"";width:8px;height:8px;border:solid var(--ink-3);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-left:8px;flex:none}
.bl-g[open]>summary.bl-h::after{transform:rotate(-135deg)}
.bl-g>summary.bl-h small{margin-left:auto}
/* Tương phản ≥ 4,5:1 (rà UX 31/10: nhãn mẫu đang chọn 4,4; tiêu đề "Lỗi hay gặp" 4,02) */
.bl-form button[aria-checked="true"],.bl-form button[aria-checked="true"] small{color:color-mix(in srgb,var(--accent) 72%,var(--ink))}
.bl-mistakes summary{color:color-mix(in srgb,var(--gold) 70%,var(--ink))}
