/* ==========================================================================
   Account audit scorecard — tool-only CSS.

   Shared components (jbm-panel, jbm-meter, jbm-pill, jbm-stat, jbm-list) come
   from jbm-tools.css. Only the component rows are new here.
   ========================================================================== */

.jbm-comp {
  padding: 1rem 0;
  border-top: 1px solid var(--jbm-line);
}
.jbm-comp:first-child { border-top: 0; padding-top: 0; }

.jbm-comp__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
}

.jbm-comp__label {
  font-weight: 700;
  color: #fff;
  font-size: .98rem;
  line-height: 1.3;
  min-width: 0;
}

.jbm-comp__pill { flex: none; }

.jbm-comp__formula {
  margin: .3rem 0 0;
  font-size: .78rem;
  color: var(--jbm-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.jbm-comp .jbm-meter { margin-top: .6rem; }

.jbm-comp__figures {
  margin: .6rem 0 0;
  font-size: .84rem;
  color: var(--jbm-ink-soft);
}
.jbm-comp__figures b { color: #fff; }

.jbm-comp__note {
  margin: .35rem 0 0;
  font-size: .8rem;
  color: var(--jbm-muted);
  line-height: 1.5;
}

/* A component that could not be scored is visually distinct from one that
   scored badly. Not scoring and scoring zero are different failures. */
.jbm-comp[data-unscored="true"] .jbm-comp__label { color: var(--jbm-ink-soft); }
.jbm-comp[data-unscored="true"] {
  border-left: 3px solid var(--jbm-line-strong);
  padding-left: .75rem;
  margin-left: -.75rem;
}

.jbm-list--warn-item { color: var(--jbm-warn); }

/* The score is the headline, so give it presence on a small screen. */
@media (max-width: 560px) {
  .jbm-comp__top { flex-wrap: wrap; }
  .jbm-comp__label { flex: 1 1 100%; }
  .jbm-comp__pill { margin-top: .35rem; }
}
