/* Public company card: live evidence panel (company-card-live-evidence.js).
 * Motion is opt-in: only `[data-arrived]` moves, only after a newer receipt
 * revision, and never under prefers-reduced-motion. Stale, disputed and error
 * differ by glyph, words, border style and colour, not colour alone.
 */
.le-panel { display: grid; gap: 1rem; font-size: .88rem; }
.le-note { margin: 0; color: var(--muted, #5b6b85); font-size: .78rem; }
.le-counts { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .5rem; margin: 0; }
.le-counts > div { border: 1px solid #e2e7ee; border-radius: .5rem; padding: .5rem .7rem; }
.le-counts dt { font-size: .72rem; color: var(--muted, #5b6b85); }
.le-counts dd { margin: 0; font-size: 1.2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.le-judges { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.le-judges caption { text-align: left; font-size: .72rem; color: var(--muted, #5b6b85); }
.le-judges th, .le-judges td { border-bottom: 1px solid #e2e7ee; padding: .3rem .4rem; text-align: left; }
.le-consensus, .le-matrix, .le-cells { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.le-cells { flex-direction: column; }
.le-cell { border: 1px solid #e2e7ee; border-radius: .5rem; padding: .5rem .7rem; }
.le-cell-judges { margin-left: .5rem; font-size: .72rem; color: var(--muted, #5b6b85); }
.le-matrix > li { border: 1px solid #d5dce6; border-radius: 999px; padding: .15rem .6rem; }

.le-state { display: inline-flex; align-items: center; gap: .25rem; border-radius: 999px; padding: .12rem .55rem; border: 1px solid #c9d2de; }
.le-state--green { border-color: #1f7a4d; color: #145c39; background: #e8f6ee; }
.le-state--pending { border-color: #8a96a8; color: #3e4a5c; background: #f4f6f9; }
.le-state--needs_review { border-color: #8a6d1f; color: #5e4a12; background: #fbf4df; }
.le-state--rejected { border-color: #7c3a3a; color: #5c2525; background: #f7ecec; }
/* The three states that must never look alike. */
.le-state--stale { border: 2px dashed #9a6b00; color: #6b4a00; background: #fff8e5; }
.le-state--disputed { border: 3px double #5b3fa6; color: #3f2a78; background: repeating-linear-gradient(135deg, #f1edfb 0 6px, #e6def8 6px 12px); }
.le-state--error { border: 2px solid #b3261e; color: #fff; background: #b3261e; font-weight: 700; }

.le-matrix--supported { border-left: 4px solid #1f7a4d; }
.le-matrix--review { border-left: 4px solid #8a6d1f; }
.le-matrix--conflict { border-left: 4px solid #5b3fa6; }
.le-matrix--no_evidence { border-left: 4px dotted #8a96a8; }
.le-matrix--not_evaluated { border-left: 4px solid transparent; opacity: .75; }

.le-details summary { cursor: pointer; font-size: .78rem; }
.le-excerpt { margin: .4rem 0; padding-left: .6rem; border-left: 3px solid #e2e7ee; }
.le-provenance { display: grid; grid-template-columns: max-content 1fr; gap: .15rem .6rem; font-size: .72rem; }
.le-provenance dd { margin: 0; overflow-wrap: anywhere; }

@media (prefers-reduced-motion: no-preference) {
  .le-panel [data-arrived] { animation: le-arrive .6s ease-out 1; }
  @keyframes le-arrive {
    from { box-shadow: 0 0 0 3px rgba(31, 122, 77, .35); }
    to { box-shadow: 0 0 0 0 rgba(31, 122, 77, 0); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .le-panel [data-arrived] { animation: none !important; transition: none !important; }
}
