:root{--primary:#0055FF;--bg:#F7F9FC;--card:#FFFFFF;--border:#E6EEF7;--text:#1F2A37;--muted:#6B7280}
.bcc-wrap{font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);max-width:1200px;margin:8px auto;padding:6px}
.bcc-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin:10px 0;box-shadow:0 6px 20px rgba(16,24,40,0.03)}
.bcc-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}
@media (max-width:980px){.bcc-grid{grid-template-columns:1fr}}
.bcc-h{font-size:1.4rem;margin:0 0 6px;font-weight:600}
.bcc-muted{color:var(--muted);font-size:.95rem;margin-bottom:12px}
.bcc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.bcc-field label{display:block;color:var(--muted);margin-bottom:6px;font-size:.95rem}
.bcc-input,.bcc-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:1rem}
.bcc-segs{display:flex;gap:8px}
.bcc-seg{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:#fff;cursor:pointer}
.bcc-seg.is-active{background:var(--primary);border-color:var(--primary);color:#fff}
.bcc-type{padding:8px 12px;border-radius:10px;border:1px solid var(--border);cursor:pointer;background:#fff}
.bcc-type.is-active{background:#eef3ff;border-color:#cfe0ff;color:#0b3bff}
.bcc-slider{width:100%}
.bcc-out{min-width:72px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:#fff}
.bcc-aside{position:sticky;top:12px}
.donut-wrap{display:flex;align-items:center;justify-content:center;position:relative;padding:12px;border:1px solid var(--border);border-radius:16px}
.donut-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.donut-center .big{font-size:1.5rem;font-weight:700;color:var(--primary)}
.legend{padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}
.legend-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--border)}
.timeline{border-left:2px solid #dbe5ff;margin-left:12px;padding-left:12px}
.trow{display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.trow .left{display:flex;align-items:flex-start;gap:12px}
.trow .dot{width:12px;height:12px;border-radius:999px;background:var(--primary);margin-left:-19px;border:4px solid #e9efff}
.trow .note{color:var(--muted);font-size:.92rem}
.trow .stage{font-weight:600}
.small-muted{font-size:.85rem;color:var(--muted)}
