.document-library { padding-top: 1rem; }
.document-library__heading { display: grid; grid-template-columns: minmax(0, .8fr) minmax(18rem, .6fr); gap: clamp(2rem, 5vw, 6rem); align-items: end; margin-bottom: 2rem; }
.document-library__heading h2 { margin: .25rem 0 0; font-size: clamp(2rem, 4vw, 3.4rem); }
.document-library__heading > p { color: var(--notice-muted); line-height: 1.75; }
.document-library__warning { display: flex; gap: .8rem; align-items: flex-start; padding: 1rem 1.25rem; border-left: .28rem solid var(--notice-orange); background: #fff7f1; color: #4d2b19; margin-bottom: 1.5rem; }
.document-library__warning strong { white-space: nowrap; text-transform: uppercase; letter-spacing: .06em; font-size: .76rem; }
.document-filters { display: grid; grid-template-columns: minmax(15rem, 1.5fr) minmax(12rem, 1fr) minmax(12rem, 1fr) auto; gap: .8rem; align-items: end; padding: 1rem; border: 1px solid var(--notice-line); background: #fff; box-shadow: none; }
.document-filters label { display: grid; gap: .35rem; color: var(--notice-navy); font-weight: 700; font-size: .78rem; }
.document-filters input, .document-filters select { min-height: 3rem; width: 100%; border: 1px solid #bacad4; background: #fff; color: var(--notice-navy); padding: .65rem .75rem; font: inherit; }
.document-library__count { margin: 1.2rem 0 .8rem; color: var(--notice-muted); font-size: .9rem; }
.document-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.document-card { display: flex; flex-direction: column; min-width: 0; min-height: 25rem; padding: 1.2rem; border: 1px solid var(--notice-line); border-top: .22rem solid #f36c00; background: #fff; box-shadow: none; }
.document-card--legacy { border-top-color: #9b5b28; background: #fffaf5; }
.document-card[hidden] { display: none !important; }
.document-card__topline { display: flex; justify-content: space-between; gap: .5rem; align-items: flex-start; color: var(--notice-muted); font-size: .72rem; font-weight: 800; }
.document-status { display: inline-flex; padding: .3rem .5rem; color: #285a4b; background: #e5f4ef; }
.document-status--historical-source { color: #6a3c18; background: #f9e8d8; }
.document-status--correction-required { color: #7f201f; background: #fde7e6; }
.document-card__collection { margin: 1.1rem 0 .25rem; text-transform: uppercase; letter-spacing: .08em; color: var(--notice-orange-dark); font-size: .72rem; font-weight: 800; }
.document-card h3 { margin: 0 0 1rem; font-size: 1.12rem; line-height: 1.35; }
.document-metadata { display: grid; gap: .2rem; margin: 0 0 1rem; }
.document-metadata div { display: grid; grid-template-columns: minmax(6.5rem, .8fr) minmax(0, 1.2fr); gap: .5rem; border-bottom: 1px solid #edf1f3; padding: .45rem 0; }
.document-metadata dt { color: var(--notice-muted); font-size: .72rem; }
.document-metadata dd { min-width: 0; margin: 0; font-size: .78rem; font-weight: 700; overflow-wrap: anywhere; }
.document-integrity { margin: auto 0 .9rem; border-top: 1px solid var(--notice-line); padding-top: .8rem; font-size: .75rem; }
.document-integrity summary { cursor: pointer; color: var(--notice-link); font-weight: 700; }
.document-integrity code { display: block; margin-top: .3rem; overflow-wrap: anywhere; font-size: .65rem; }
.document-card__actions { min-height: 2.4rem; display: flex; align-items: center; }
.document-withheld { color: #7f201f; font-size: .75rem; font-weight: 700; }
.button--small { min-height: 2.4rem; padding: .55rem .75rem; font-size: .75rem; }
.document-library__pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.document-library__pagination span { min-width: 7rem; text-align: center; font-size: .85rem; }
.document-library__pagination button:disabled { opacity: .45; cursor: not-allowed; }
.document-library__empty { padding: 2rem; background: #fff; border: 1px solid var(--notice-line); text-align: center; }
@media (max-width: 1000px) { .document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .document-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .document-library__heading, .document-grid, .document-filters { grid-template-columns: 1fr; } .document-library__warning { display: grid; } .document-card { min-height: 0; } }
