.sf-card{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 20px 12px;box-shadow:var(--shadow)}
.sf-card-h{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-light);flex-wrap:wrap}
.sf-card-h .t{font-weight:700;color:var(--heading);font-size:13.5px}
.sf-card-h .s{font-size:11.5px;color:var(--muted)}
.sf-card-h .r{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sf-card-b{padding:12px 16px}
.sf-steps{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.sf-step{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--line-light);color:var(--muted);border:1px solid var(--line)}
.sf-step.done{background:var(--success-bg);color:var(--success);border-color:#bbf7d0}
.sf-step.next{background:var(--warning-bg);color:var(--warning);border-color:#fde68a}
.sf-checklist{border:1px solid var(--line);border-radius:8px;padding:6px 10px;max-height:230px;overflow:auto;background:#fff}
.sf-checklist label{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:12.5px;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:500;color:var(--text)}
.sf-checklist input{width:auto;margin-top:3px}
.sf-checklist .std{color:var(--muted);font-size:11.5px}
.sf-banner{padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;margin:8px 0}
.sf-banner.trf{background:var(--purple-bg);color:var(--purple)}
.sf-banner.held{background:var(--blue-bg);color:var(--blue)}
.sf-banner.none{background:var(--line-light);color:var(--muted)}
.sf-sec{margin:14px 0 6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--heading);border-bottom:1px solid var(--line);padding-bottom:3px}
.sf-grp summary{cursor:pointer;font-weight:700;font-size:12px;padding:4px 0;color:var(--heading)}
.sf-tbl input,.sf-tbl select,.sf-tbl textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:5px 7px;font:inherit;font-size:12px;background:#fff}
.sf-tbl td{padding:4px}
.sf-diff-neg{color:var(--danger);font-weight:700}.sf-diff-ok{color:var(--success);font-weight:700}
.sf-files a{color:var(--teal);text-decoration:none;font-size:12px}
.sf-files .x{color:var(--danger);cursor:pointer;margin-left:6px}
.sf-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.sf-hint{font-size:11.5px;color:var(--muted)}

.sf-row:hover td{background:var(--line-light)}
