/* EMOD App — bundles & checklists */
.bd-bar { display: flex; align-items: center; gap: 10px; margin: 12px 0 8px; }
.bd-prog { flex: 1; height: 8px; border-radius: 4px; background: var(--navy-soft); overflow: hidden; }
.bd-prog i { display: block; height: 100%; background: linear-gradient(90deg, var(--teal), var(--mint)); transition: width .25s; }
.bd-bar > span { font-weight: 900; font-variant-numeric: tabular-nums; font-size: 13px; color: var(--slate); }
.bd-clock { border: 2px solid var(--teal); background: var(--card); color: var(--teal-ink); border-radius: 999px; padding: 6px 12px; font-weight: 900; font-size: 13px; font-variant-numeric: tabular-nums; cursor: pointer; min-width: 92px; }
.bd-clock.on { background: var(--teal-btn); color: #fff; }
.bd-clock.late { background: var(--red); border-color: var(--red); color: #fff; }
.bd-intro { color: var(--slate); font-size: 14px; margin: 0 2px 8px; }
.bd-sec { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 6px 6px 6px; margin: 12px 0; }
.bd-sec h3 { font-size: 12px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; color: var(--teal-ink); padding: 8px 10px 4px; }
.bd-item { display: flex; gap: 12px; align-items: flex-start; padding: 10px 10px; border-radius: 12px; cursor: pointer; border-top: 1px solid var(--line); }
.bd-item:first-of-type { border-top: none; }
.bd-item input { position: absolute; opacity: 0; width: 0; height: 0; }
.bd-item .bx { width: 26px; height: 26px; border-radius: 8px; border: 2px solid var(--line); flex: none; margin-top: 1px; display: grid; place-items: center; background: var(--bg); transition: all .15s; }
.bd-item .bx::after { content: "✓"; color: #fff; font-weight: 900; font-size: 15px; opacity: 0; }
.bd-item.done .bx { background: var(--teal); border-color: var(--teal); } .bd-item.done .bx::after { opacity: 1; }
.bd-item.crit .bx { border-color: var(--red); }
.bd-item .tx b { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.35; }
.bd-item .tx small { display: block; font-size: 12.5px; color: var(--slate); margin-top: 3px; line-height: 1.4; }
.bd-item.done .tx b { color: var(--slate); text-decoration: line-through; text-decoration-color: var(--teal); }
.bd-src { font-size: 12px; color: var(--slate); margin: 12px 2px 0; line-height: 1.5; }
.bd-src b { display: block; color: var(--ink); margin-bottom: 2px; }
.bd-act { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.bd-act .btn { flex: 1; }
@media print {
  .top, .tabs, .bd-act, .back, .bd-bar, .sheet, .lightbox, .small.muted { display: none !important; }
  body, #app { background: #fff !important; color: #000 !important; }
  .view { padding: 0 !important; }
  .bd-sec, .sc-gate, .sc-note { box-shadow: none !important; border: 1px solid #ccc !important; break-inside: avoid; }
  .bd-item .bx { border-color: #333 !important; background: #fff !important; }
  .bd-item.done .bx { background: #333 !important; }
  .chip { border: 1px solid #333; background: #fff !important; color: #000 !important; }
}
