.bf-store { gap: 12px; }
.bf-cov-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 18px; }
.bf-cov { display: grid; gap: 4px; padding: 10px 12px; border-left: 3px solid var(--gold, #b8892c); background: rgba(184,137,44,.06); border-radius: 0 8px 8px 0; }
.bf-cov-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bf-cov h4, .bf-sub { margin: 0; font-size: .92rem; }
.bf-cov-num, .bf-cov p, .bf-plan p { margin: 0; }
.bf-page progress { width: 100%; height: 8px; appearance: none; -webkit-appearance: none; border: 0; border-radius: 4px; background: rgba(120,100,60,.15); overflow: hidden; }
.bf-page progress::-webkit-progress-bar { background: rgba(120,100,60,.15); border-radius: 4px; }
.bf-page progress::-webkit-progress-value { background: var(--gold, #b8892c); border-radius: 4px; }
.bf-page progress::-moz-progress-bar { background: var(--gold, #b8892c); border-radius: 4px; }
.bf-missing summary { cursor: pointer; font-size: .84rem; color: var(--muted, #6f6550); }
.bf-missing ul { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .8rem; font-variant-numeric: tabular-nums; }
.bf-plans { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bf-plan { display: grid; gap: 6px; padding: 10px 12px; border: 1px solid var(--line, rgba(120,100,60,.25)); border-radius: 10px; }
.bf-plan-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.bf-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.bf-pill-complete, .bf-pill-completed { color: var(--success, #2f7d4f); }
.bf-pill-running, .bf-pill-active, .bf-pill-queued, .bf-pill-pending { color: var(--gold, #8a6418); }
.bf-pill-paused { color: var(--warning, #9a6510); }
.bf-pill-failed, .bf-pill-cancelled { color: var(--danger, #b3261e); }
.bf-dialog { max-width: min(440px, calc(100vw - 32px)); padding: 18px 20px; border: 1px solid var(--line, rgba(120,100,60,.3)); border-radius: 12px; background: var(--panel-solid, #fbf6ea); color: inherit; display: grid; gap: 10px; }
.bf-dialog:not([open]) { display: none; }
.bf-dialog::backdrop { background: rgba(40,32,18,.42); }
.bf-dialog h2 { margin: 0; font-size: 1.05rem; }
.bf-dialog p { margin: 0; }
.bf-dialog .bf-actions { justify-content: flex-end; }
@media (max-width: 767px) { .bf-cov-grid { grid-template-columns: 1fr; } .bf-actions .btn { flex: 1 1 auto; } }
