:root {
    --lib-green: #08784a;
    --lib-deep: #073b2d;
    --lib-gold: #f4c430;
    --lib-maroon: #7a1730;
    --lib-ink: #18251f;
    --lib-muted: #68776f;
    --lib-line: #dbe6df;
    --lib-bg: #f3f7f4;
    --lib-white: #fff;
    --lib-danger: #9d2626;
    --lib-blue: #245b83;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    padding-left: 76px;
    background: var(--lib-bg);
    color: var(--lib-ink);
    font-family: Arial, Helvetica, sans-serif;
    letter-spacing: 0;
}
.catalogue-main { width: 100%; max-width: 1640px; padding: 26px; }
.page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.page-head h1 { margin: 0; color: var(--lib-deep); font-size: 29px; line-height: 1.2; }
.page-head p { margin: 7px 0 0; color: var(--lib-muted); line-height: 1.5; }
.eyebrow {
    display: inline-block;
    margin-bottom: 7px;
    color: var(--lib-green);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}
.head-actions, .inline-actions, .workflow-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    padding: 8px 13px;
    border: 0;
    border-radius: 7px;
    background: var(--lib-green);
    color: #fff;
    font: 800 12px/1.2 Arial, sans-serif;
    text-decoration: none;
    cursor: pointer;
}
.button:hover { background: #06633d; }
.button.gold { background: var(--lib-gold); color: var(--lib-deep); }
.button.light { background: #e8f2ec; color: var(--lib-deep); }
.button.maroon { background: var(--lib-maroon); color: #fff; }
.button.danger { background: var(--lib-danger); color: #fff; }
.button.small { min-height: 31px; padding: 6px 9px; font-size: 10px; }
.button:disabled { cursor: not-allowed; opacity: .55; }
.notice {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid #b9e2ca;
    border-radius: 7px;
    background: #eaf8ef;
    color: #075a36;
    font-size: 13px;
    font-weight: 800;
}
.notice.error { border-color: #efc1c1; background: #fff1f1; color: #822; }
.notice.error ul { margin: 7px 0 0; padding-left: 19px; }
.metric-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 11px;
    margin-bottom: 16px;
}
.metric {
    min-height: 82px;
    padding: 13px;
    border: 1px solid var(--lib-line);
    border-top: 3px solid var(--lib-green);
    border-radius: 7px;
    background: #fff;
}
.metric.gold { border-top-color: var(--lib-gold); }
.metric.maroon { border-top-color: var(--lib-maroon); }
.metric span { display: block; color: var(--lib-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.metric strong { display: block; margin-top: 8px; color: var(--lib-deep); font-size: 24px; }
.panel {
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--lib-line);
    border-radius: 7px;
    background: #fff;
}
.panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--lib-line);
}
.panel > header h2 { margin: 0; color: var(--lib-deep); font-size: 16px; }
.panel > header p { margin: 4px 0 0; color: var(--lib-muted); font-size: 11px; line-height: 1.45; }
.panel-body { padding: 16px; }
.filter-grid, .form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
    align-items: end;
}
.filter-grid { grid-template-columns: 2fr repeat(4, minmax(135px, 1fr)); }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.wide { grid-column: 1 / -1; }
label {
    display: block;
    margin-bottom: 5px;
    color: var(--lib-muted);
    font-size: 9.5px;
    font-weight: 900;
    text-transform: uppercase;
}
input, select, textarea {
    width: 100%;
    min-height: 39px;
    padding: 8px 9px;
    border: 1px solid #cfdcd4;
    border-radius: 6px;
    background: #fff;
    color: var(--lib-ink);
    font: 13px Arial, sans-serif;
}
select[multiple] { min-height: 154px; }
textarea { min-height: 88px; resize: vertical; line-height: 1.45; }
input:focus, select:focus, textarea:focus {
    outline: 3px solid rgba(8, 120, 74, .12);
    border-color: var(--lib-green);
}
.check {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--lib-ink);
    font-size: 12px;
    text-transform: none;
}
.check input { width: auto; min-height: auto; }
.help { margin: 5px 0 0; color: var(--lib-muted); font-size: 10.5px; line-height: 1.45; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td {
    padding: 10px 8px;
    border-bottom: 1px solid #e9efeb;
    text-align: left;
    vertical-align: top;
    font-size: 12px;
    line-height: 1.4;
}
th {
    color: var(--lib-muted);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
tbody tr:hover { background: #fafcfb; }
.record-title { color: var(--lib-deep); font-weight: 900; text-decoration: none; }
.muted { color: var(--lib-muted); }
.small-text { font-size: 10.5px; }
.status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e4f3e9;
    color: #08603d;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.status.draft, .status.inactive { background: #edf0ee; color: #59655f; }
.status.under_review, .status.approved { background: #fff4c9; color: #695300; }
.status.returned, .status.rejected, .status.archived { background: #fae5e5; color: #8b2626; }
.tag-list { display: flex; gap: 5px; flex-wrap: wrap; }
.tag {
    display: inline-flex;
    padding: 3px 7px;
    border-radius: 4px;
    background: #eef5f1;
    color: #315b49;
    font-size: 9.5px;
    font-weight: 800;
}
.cover-thumb {
    display: block;
    width: 52px;
    height: 68px;
    object-fit: cover;
    border: 1px solid var(--lib-line);
    border-radius: 4px;
    background: #eef4f0;
}
.cover-placeholder {
    display: grid;
    width: 52px;
    height: 68px;
    place-items: center;
    border-left: 4px solid var(--lib-gold);
    border-radius: 4px;
    background: var(--lib-deep);
    color: #fff;
    font: 900 18px Georgia, serif;
}
.empty {
    padding: 22px;
    border: 1px dashed #bfd1c6;
    border-radius: 6px;
    background: #f9fcfa;
    color: var(--lib-muted);
    line-height: 1.55;
}
.pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 13px;
    color: var(--lib-muted);
    font-size: 11px;
}
.pager a { color: var(--lib-green); font-weight: 900; text-decoration: none; }
.form-section-title { margin: 0 0 13px; color: var(--lib-deep); font-size: 15px; }
.contributor-list { display: grid; gap: 8px; }
.contributor-row {
    display: grid;
    grid-template-columns: minmax(200px, 2fr) minmax(150px, 1fr) 100px 44px;
    gap: 8px;
    align-items: end;
    padding: 10px;
    border-left: 3px solid var(--lib-gold);
    background: #f7faf8;
}
.remove-row {
    width: 39px;
    min-height: 39px;
    border: 0;
    border-radius: 6px;
    background: #f7dddd;
    color: var(--lib-danger);
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
}
.form-footer {
    position: sticky;
    bottom: 0;
    z-index: 10;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 0;
    background: var(--lib-bg);
}
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .65fr); gap: 16px; }
.metadata-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.meta {
    min-height: 74px;
    padding: 12px;
    border-right: 1px solid var(--lib-line);
    border-bottom: 1px solid var(--lib-line);
}
.meta span { display: block; color: var(--lib-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.meta strong { display: block; margin-top: 6px; font-size: 12px; line-height: 1.45; }
.hero-cover {
    width: min(230px, 100%);
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border: 1px solid var(--lib-line);
    border-radius: 6px;
    background: #eef4f0;
}
.hero-cover-placeholder {
    display: grid;
    width: min(230px, 100%);
    aspect-ratio: 3 / 4;
    place-items: center;
    border-left: 8px solid var(--lib-gold);
    border-radius: 6px;
    background: var(--lib-deep);
    color: #fff;
    font: 900 46px Georgia, serif;
}
.timeline { display: grid; gap: 0; }
.timeline-item { position: relative; padding: 0 0 17px 24px; border-left: 2px solid #cfe0d6; }
.timeline-item:last-child { border-left-color: transparent; padding-bottom: 0; }
.timeline-item::before {
    content: "";
    position: absolute;
    top: 1px;
    left: -6px;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--lib-green);
}
.timeline-item strong { display: block; font-size: 12px; }
.timeline-item span, .timeline-item p { margin: 4px 0 0; color: var(--lib-muted); font-size: 10.5px; line-height: 1.45; }
.workflow-form {
    min-width: 210px;
    padding: 10px;
    border-left: 3px solid var(--lib-gold);
    background: #f8faf9;
}
.workflow-form textarea { min-height: 60px; margin-bottom: 7px; }
.anchor-tabs {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    gap: 6px;
    padding: 11px 0;
    overflow-x: auto;
    background: var(--lib-bg);
}
.anchor-tabs a {
    flex: 0 0 auto;
    padding: 8px 10px;
    border: 1px solid var(--lib-line);
    border-radius: 6px;
    background: #fff;
    color: var(--lib-deep);
    font-size: 11px;
    font-weight: 900;
    text-decoration: none;
}
details.creator { margin-bottom: 14px; border-left: 4px solid var(--lib-gold); background: #f7faf8; }
details.creator > summary { padding: 11px 13px; color: var(--lib-deep); font-size: 12px; font-weight: 900; cursor: pointer; }
.creator-body { padding: 2px 13px 14px; }
dialog {
    width: min(940px, 95vw);
    max-height: 90vh;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 7px;
    box-shadow: 0 24px 70px rgba(5, 45, 31, .3);
}
dialog::backdrop { background: rgba(4, 35, 25, .56); }
.dialog-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 15px;
    background: var(--lib-deep);
    color: #fff;
}
.dialog-head h3 { margin: 0; font-size: 15px; }
.dialog-body { max-height: calc(90vh - 54px); padding: 15px; overflow-y: auto; }
.dialog-close { border: 0; border-radius: 5px; background: var(--lib-gold); color: var(--lib-deep); padding: 7px 9px; font-weight: 900; cursor: pointer; }
.mono { font-family: Consolas, "Courier New", monospace; letter-spacing: 0; }
.copy-filters { grid-template-columns: minmax(230px, 2fr) repeat(5, minmax(125px, 1fr)); }
.batch-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 16px;
    border-bottom: 1px solid var(--lib-line);
    background: #f8fbf9;
}
.batch-bar span { color: var(--lib-muted); font-size: 10.5px; }
.readonly-box {
    min-height: 63px;
    padding: 10px 12px;
    border: 1px solid var(--lib-line);
    border-radius: 6px;
    background: #f4f7f5;
}
.readonly-box strong, .readonly-box span { display: block; }
.readonly-box span { margin-top: 5px; color: var(--lib-muted); font-size: 11px; }
.check-stack { display: grid; gap: 11px; align-self: center; padding: 9px 0; }
.copy-identity {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(250px, 1.2fr) minmax(150px, .45fr);
    gap: 0;
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--lib-line);
    border-radius: 7px;
    background: #fff;
}
.copy-barcode, .copy-id-main, .copy-id-side { padding: 16px; }
.copy-barcode { border-right: 1px solid var(--lib-line); }
.copy-barcode > span, .copy-id-side > span { display: block; color: var(--lib-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.copy-barcode > strong { display: block; margin-top: 4px; font-size: 11px; text-align: center; }
.barcode-svg { height: 58px; margin-top: 7px; overflow: hidden; }
.barcode-svg svg { display: block; width: 100%; height: 54px; }
.copy-id-main h2 { margin: 12px 0 5px; color: var(--lib-deep); font-size: 21px; }
.copy-id-main p { margin: 0; color: var(--lib-muted); font-size: 11px; }
.copy-id-side { border-left: 1px solid var(--lib-line); background: #f8faf9; }
.copy-id-side strong { display: block; margin: 4px 0 13px; font-size: 13px; }
.copy-id-side strong:last-child { margin-bottom: 0; }
.status.copy-processing, .status.copy-transferred, .status.copy-reserved, .status.copy-on_hold { background: #fff3c4; color: #665000; }
.status.copy-lost, .status.copy-missing, .status.copy-damaged, .status.copy-withdrawn, .status.copy-disposed, .status.copy-archived { background: #fae2e2; color: #8a2525; }
.status.copy-under_repair { background: #f8e8d4; color: #825018; }
.status.copy-borrowed { background: #dcebf7; color: #244f73; }
.status.copy-reference_only { background: #eee8f8; color: #624482; }
.status.condition-poor, .status.condition-damaged, .status.condition-unserviceable { background: #fae2e2; color: #8a2525; }
.member-filters { grid-template-columns: minmax(210px, 1.7fr) repeat(6, minmax(125px, 1fr)); }
.member-source-search { grid-template-columns: minmax(170px, .7fr) minmax(230px, 1.2fr) minmax(220px, 1.5fr) auto; }
.member-source-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--lib-line);
    border-radius: 7px;
    background: #f8fbf9;
}
.member-source-summary > div { min-height: 78px; padding: 13px; border-right: 1px solid var(--lib-line); }
.member-source-summary > div:last-child { border-right: 0; }
.member-source-summary span, .member-id-main > span, .member-id-state > span {
    display: block;
    color: var(--lib-muted);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}
.member-source-summary strong { display: block; margin-top: 7px; font-size: 12px; line-height: 1.4; }
.external-fields { margin-top: 2px; }
.member-identity {
    display: grid;
    grid-template-columns: minmax(320px, 1.5fr) minmax(190px, .55fr) minmax(220px, .7fr);
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--lib-line);
    border-radius: 7px;
    background: #fff;
}
.member-id-main, .member-id-state { padding: 16px; }
.member-id-main h2 { margin: 9px 0 4px; color: var(--lib-deep); font-size: 21px; }
.member-id-main p { margin: 0; color: var(--lib-muted); font-size: 11px; }
.member-id-main > strong { display: block; margin-top: 5px; color: var(--lib-green); font-size: 13px; }
.member-id-state { border-left: 1px solid var(--lib-line); background: #f8fbf9; }
.member-id-state > strong { display: block; margin: 5px 0 13px; font-size: 12px; line-height: 1.4; }
.member-id-state > strong:last-child { margin-bottom: 0; }
.eligibility { margin-bottom: 12px; padding: 12px; border-left: 4px solid var(--lib-green); background: #edf8f1; }
.eligibility.ineligible { border-left-color: var(--lib-maroon); background: #fff0f0; }
.eligibility strong { display: block; color: var(--lib-deep); font-size: 12px; }
.eligibility p { margin: 6px 0 0; color: var(--lib-muted); font-size: 10.5px; line-height: 1.45; }
.status.member-pending, .status.member-suspended, .status.borrowing-review { background: #fff3c4; color: #665000; }
.status.member-inactive, .status.member-expired, .status.member-cancelled { background: #edf0ee; color: #59655f; }
.status.member-blocked, .status.borrowing-blocked { background: #fae2e2; color: #8a2525; }
.status.member-type { margin-top: 5px; background: #e8eef7; color: #315476; }
.desk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.desk-panel { border-top: 4px solid var(--lib-green); }
.desk-panel.return { border-top-color: var(--lib-gold); }
.desk-panel .panel-body { min-height: 100%; }
.desk-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; align-items: end; }
.desk-form .scan-field { grid-column: 1 / -1; }
.scan-field input { min-height: 48px; border-width: 2px; font-size: 15px; font-weight: 800; }
.operation-note {
    padding: 11px 12px;
    border-left: 4px solid var(--lib-gold);
    background: #fff9df;
    color: #645317;
    font-size: 10.5px;
    line-height: 1.5;
}
.status.loan-active, .status.reservation-queued, .status.fine-pending_finance { background: #dcebf7; color: #244f73; }
.status.loan-overdue, .status.fine-reconciliation_required, .status.reservation-expired { background: #fae2e2; color: #8a2525; }
.status.loan-returned, .status.reservation-fulfilled, .status.fine-paid { background: #e4f3e9; color: #08603d; }
.status.reservation-on_hold, .status.fine-issued, .status.fine-partially_paid { background: #fff3c4; color: #665000; }
.status.reservation-cancelled, .status.fine-cancelled, .status.fine-waived { background: #edf0ee; color: #59655f; }
.summary-strip {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    padding: 12px 16px;
    border-bottom: 1px solid var(--lib-line);
    background: #f8fbf9;
}
.summary-strip strong { color: var(--lib-deep); font-size: 14px; }
.summary-strip span { color: var(--lib-muted); font-size: 10px; }
.record-stack { display: grid; gap: 6px; }
.compact-form { display: grid; gap: 7px; min-width: 210px; }
.compact-form textarea { min-height: 58px; }
.action-stack { display: flex; align-items: flex-start; gap: 6px; flex-wrap: wrap; }
.amount { color: var(--lib-deep); font-weight: 900; white-space: nowrap; }
.incident-report-panel { border-top: 4px solid var(--lib-gold); }
.incident-report-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.incident-identity {
    display: grid;
    grid-template-columns: minmax(320px, 1.45fr) minmax(210px, .7fr) minmax(190px, .55fr);
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--lib-line);
    border-radius: 7px;
    background: #fff;
}
.incident-id-main, .incident-id-state { padding: 16px; }
.incident-id-main > span, .incident-id-state > span {
    display: block;
    color: var(--lib-muted);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}
.incident-id-main h2 { margin: 9px 0 4px; color: var(--lib-deep); font-size: 21px; }
.incident-id-main p { margin: 0; color: var(--lib-muted); font-size: 11px; }
.incident-id-main > strong { display: block; margin-top: 7px; color: var(--lib-green); font-size: 12px; }
.incident-id-state { border-left: 1px solid var(--lib-line); background: #f8fbf9; }
.incident-id-state > strong { display: block; margin: 5px 0 14px; font-size: 12px; line-height: 1.4; }
.incident-id-state > strong:last-child { margin-bottom: 0; }
.case-copy p { margin: 0 0 10px; font-size: 11.5px; line-height: 1.6; }
.case-copy p:last-child { margin-bottom: 0; }
.evidence-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--lib-line);
}
.evidence-row:first-child { padding-top: 0; }
.evidence-row:last-child { padding-bottom: 0; border-bottom: 0; }
.evidence-row strong, .evidence-row span { display: block; }
.evidence-row strong { font-size: 11.5px; }
.evidence-row span { margin-top: 4px; color: var(--lib-muted); font-size: 9.5px; }
.check-line { display: flex; align-items: flex-start; gap: 8px; color: var(--lib-deep); font-size: 10.5px; font-weight: 800; line-height: 1.4; }
.check-line input { width: auto; margin-top: 2px; }
.approval-panel { border-top: 4px solid var(--lib-maroon); }
.replacement-panel { border-top: 4px solid var(--lib-green); }
.bordered-top { border-top: 1px solid var(--lib-line); }
.status.incident-reported, .status.incident-under_assessment, .status.replacement-pending_approval { background: #dcebf7; color: #244f73; }
.status.incident-assessed, .status.incident-under_resolution, .status.replacement-approved { background: #fff3c4; color: #665000; }
.status.incident-approved, .status.incident-resolved, .status.replacement-completed { background: #e4f3e9; color: #08603d; }
.status.incident-rejected, .status.incident-cancelled, .status.replacement-rejected, .status.replacement-cancelled { background: #edf0ee; color: #59655f; }
.status.copy-replaced { background: #eee8f8; color: #624482; }

@media (max-width: 1200px) {
    .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .detail-grid { grid-template-columns: 1fr; }
    .copy-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .member-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .member-source-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .desk-grid { grid-template-columns: 1fr; }
    .incident-report-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .catalogue-main { padding: 16px; }
    .page-head h1 { font-size: 24px; }
    .form-grid, .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .metadata-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contributor-row { grid-template-columns: 1fr 1fr; }
    .contributor-row .remove-cell { align-self: end; }
    .copy-identity { grid-template-columns: 1fr 1fr; }
    .copy-barcode { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--lib-line); }
    .member-source-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-source-summary > div:nth-child(2) { border-right: 0; }
    .member-source-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--lib-line); }
    .member-identity { grid-template-columns: 1fr 1fr; }
    .member-id-main { grid-column: 1 / -1; border-bottom: 1px solid var(--lib-line); }
    .desk-form { grid-template-columns: 1fr; }
    .desk-form .scan-field { grid-column: auto; }
    .incident-identity { grid-template-columns: 1fr 1fr; }
    .incident-id-main { grid-column: 1 / -1; border-bottom: 1px solid var(--lib-line); }
}
@media (max-width: 520px) {
    .metric-grid, .form-grid, .filter-grid, .metadata-grid, .contributor-row, .copy-filters, .copy-identity, .incident-report-form, .incident-identity { grid-template-columns: 1fr; }
    .span-2, .span-3, .wide { grid-column: auto; }
    .head-actions { width: 100%; }
    .head-actions .button { flex: 1; }
    .panel-body { padding: 12px; }
    .form-footer { position: static; }
    .form-footer .button { flex: 1; }
    .copy-barcode { grid-column: auto; }
    .copy-id-side { border-left: 0; border-top: 1px solid var(--lib-line); }
    .member-source-search, .member-source-summary, .member-identity { grid-template-columns: 1fr; }
    .member-source-summary > div { border-right: 0; border-bottom: 1px solid var(--lib-line); }
    .member-source-summary > div:last-child { border-bottom: 0; }
    .member-id-main { grid-column: auto; }
    .member-id-state { border-left: 0; border-top: 1px solid var(--lib-line); }
    .incident-id-main { grid-column: auto; }
    .incident-id-state { border-left: 0; border-top: 1px solid var(--lib-line); }
    .evidence-row { align-items: flex-start; flex-direction: column; }
}
