.evidence-library { padding-block: 0 var(--al-section-block); }
.library-toolbar {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) minmax(12rem, 0.35fr) auto;
  gap: var(--al-space-3);
  align-items: end;
  margin-block-end: var(--al-space-6);
  padding: var(--al-space-5);
  border: 1px solid var(--al-border);
  border-radius: var(--al-radius-md);
  background: var(--al-surface);
}
.library-toolbar label { display: grid; gap: var(--al-space-2); color: var(--al-text-secondary); font-size: var(--al-font-size-sm); }
.library-toolbar input,
.library-toolbar select {
  min-block-size: 2.8rem;
  padding-inline: var(--al-space-3);
  border: 1px solid var(--al-border-strong);
  border-radius: var(--al-radius-xs);
  background: var(--al-canvas);
  color: var(--al-text);
  font: inherit;
}
.library-summary { margin: 0 0 var(--al-space-5); color: var(--al-text-muted); }
.library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--al-space-5); }
.library-card {
  display: flex;
  min-block-size: 100%;
  flex-direction: column;
  gap: var(--al-space-3);
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--al-border);
  border-radius: var(--al-radius-md);
  background: var(--al-surface);
  box-shadow: var(--al-shadow-sm);
}
.library-card[hidden] { display: none; }
.library-card h2 { margin: 0; font-size: var(--al-font-size-xl); letter-spacing: -0.035em; }
.library-card p { margin: 0; color: var(--al-text-secondary); }
.library-card__meta { display: flex; flex-wrap: wrap; gap: var(--al-space-2); }
.library-badge { display: inline-flex; padding: 0.35rem 0.65rem; border-radius: var(--al-radius-pill); background: var(--al-canvas-subtle); color: var(--al-text-muted); font-size: var(--al-font-size-xs); font-weight: var(--al-weight-bold); text-transform: uppercase; }
.library-card__actions { display: flex; flex-wrap: wrap; gap: var(--al-space-3); margin-block-start: auto; padding-block-start: var(--al-space-4); }
.library-empty { margin-block-start: var(--al-space-5); padding: var(--al-space-5); border: 1px dashed var(--al-border-strong); border-radius: var(--al-radius-md); color: var(--al-text-muted); }
.evidence-detail { display: grid; gap: var(--al-space-6); padding-block: 0 var(--al-section-block); }
.evidence-detail__notice { padding: var(--al-space-4); border-inline-start: 4px solid var(--al-accent); border-radius: var(--al-radius-xs); background: var(--al-canvas-subtle); color: var(--al-text-secondary); }
.evidence-detail__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--al-space-5); }
.evidence-detail__panel { padding: var(--al-space-5); border: 1px solid var(--al-border); border-radius: var(--al-radius-md); background: var(--al-surface); }
.evidence-detail__panel h2 { margin-block-start: 0; }
.resource-section { padding-block: var(--al-space-4); border-block-start: 1px solid var(--al-border); }
.resource-section:first-child { border-block-start: 0; }
@media (max-width: 64rem) { .library-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 46rem) {
  .library-toolbar, .library-grid, .evidence-detail__grid { grid-template-columns: 1fr; }
}
@media print {
  .route-header, .route-footer, .library-toolbar, [data-no-print] { display: none !important; }
  .library-card, .evidence-detail__panel { box-shadow: none; break-inside: avoid; }
}
