/* Interactividad y accesibilidad v3.0 */
.skip-link {
  position: fixed;
  left: 1rem;
  top: -100px;
  z-index: 999;
  padding: .8rem 1rem;
  border-radius: 12px;
  background: #111827;
  color: #fff;
}
.skip-link:focus { top: 1rem; }

:where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid rgba(207,17,27,.45);
  outline-offset: 3px;
}

.emergency-bar { background: #171717; color: #fff; font-size: .86rem; }
.emergency-bar-inner { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.emergency-bar a { display:inline-flex; align-items:center; gap:.45rem; color:#fff; font-weight:600; }
.emergency-pulse { width:9px; height:9px; border-radius:999px; background:#ff3b45; box-shadow:0 0 0 0 rgba(255,59,69,.6); animation:emergencyPulse 2.4s infinite; }
@keyframes emergencyPulse { 70% { box-shadow:0 0 0 9px rgba(255,59,69,0); } 100% { box-shadow:0 0 0 0 rgba(255,59,69,0); } }

.main-nav { flex-wrap: nowrap; gap: .75rem; }
.main-nav > a, .nav-group-toggle { position:relative; }
.main-nav > a::after, .nav-group-toggle::after {
  content:""; position:absolute; left:0; right:100%; bottom:-8px; height:2px; border-radius:2px; background:var(--red); transition:right .24s ease;
}
.main-nav > a:hover::after, .main-nav > a.active::after, .nav-group:hover .nav-group-toggle::after, .nav-group.active .nav-group-toggle::after { right:0; }
.nav-group { position:relative; }
.nav-group::before {
  content:""; position:absolute; z-index:1; left:-.8rem; right:-.8rem; top:100%; height:18px;
}
.nav-group-toggle { border:0; background:transparent; color:var(--gray-700); font-weight:600; font-size:.95rem; padding:0; cursor:pointer; }
.nav-group.active .nav-group-toggle, .nav-group:hover .nav-group-toggle { color:var(--red); }
.nav-dropdown {
  position:absolute; z-index:120; top:calc(100% + 12px); left:50%; min-width:245px; padding:.65rem; border-radius:18px; background:#fff;
  box-shadow:0 22px 60px rgba(15,23,42,.2); border:1px solid rgba(15,23,42,.07); opacity:0; visibility:hidden;
  transform:translate(-50%, -7px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.nav-group:hover .nav-dropdown, .nav-group.is-open .nav-dropdown { opacity:1; visibility:visible; transform:translate(-50%, 0); }
.nav-dropdown a { display:block; padding:.75rem .85rem; border-radius:12px; }
.nav-dropdown a:hover { background:#fff2f2; }

.reveal-ready { opacity:0; transform:translateY(22px); transition:opacity .62s ease, transform .62s cubic-bezier(.2,.7,.2,1); }
.reveal-ready.reveal-visible { opacity:1; transform:none; }
.reveal-stagger > .reveal-ready:nth-child(2) { transition-delay:.06s; }
.reveal-stagger > .reveal-ready:nth-child(3) { transition-delay:.12s; }
.reveal-stagger > .reveal-ready:nth-child(4) { transition-delay:.18s; }
.hero-slide.is-active .hero-slide-media img { animation:heroDepth 10s ease-out both; }
@keyframes heroDepth { from { transform:scale(var(--media-scale,1)); } to { transform:scale(calc(var(--media-scale,1) + .035)); } }
.card { transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.card.interactive-card:hover { transform:translateY(-5px); box-shadow:0 28px 60px rgba(15,23,42,.2); }

.filter-toolbar { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; margin-bottom:1.5rem; }
.filter-search { flex:1 1 280px; position:relative; }
.filter-search input { width:100%; min-height:50px; padding:.85rem 1rem .85rem 2.8rem; border:1px solid rgba(15,23,42,.12); border-radius:16px; background:#fff; }
.filter-search::before { content:"⌕"; position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--gray-500); font-size:1.25rem; }
.filter-chips { display:flex; gap:.55rem; flex-wrap:wrap; }
.filter-chip { border:1px solid rgba(207,17,27,.18); background:#fff; color:var(--gray-700); border-radius:999px; padding:.65rem .95rem; cursor:pointer; font-weight:650; }
.filter-chip.is-active { background:var(--red); color:#fff; border-color:var(--red); }
.is-filtered-out { display:none !important; }
.empty-filter-state { display:none; padding:1.5rem; text-align:center; color:var(--gray-500); }
.empty-filter-state.is-visible { display:block; }

.prevention-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.prevention-card { overflow:hidden; cursor:pointer; }
.prevention-card-media { height:190px; }
.prevention-card-body { padding:1.35rem; }
.prevention-card-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:17px; background:#fff1f1; font-size:1.7rem; margin-bottom:.8rem; }
.prevention-card details { margin-top:.9rem; border-top:1px solid rgba(15,23,42,.08); padding-top:.85rem; }
.prevention-card summary { cursor:pointer; color:var(--red); font-weight:700; }

.stats-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1.5rem; }
.stat-summary-card { padding:1.25rem; min-height:150px; display:flex; flex-direction:column; justify-content:space-between; }
.stat-summary-card strong { font-size:clamp(2rem,4vw,3.2rem); line-height:1; color:var(--red); }
.stat-summary-card span { color:var(--gray-600); font-weight:650; }
.stats-chart { display:grid; gap:.9rem; }
.stats-bar-row { display:grid; grid-template-columns:minmax(150px,220px) 1fr 54px; gap:.8rem; align-items:center; }
.stats-bar-track { height:13px; background:#eceff3; border-radius:999px; overflow:hidden; }
.stats-bar-fill { height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,var(--red),#ff4a53); transition:width .9s cubic-bezier(.2,.7,.2,1); }
.stats-panel { padding:1.4rem; }
.stats-period { display:flex; gap:.75rem; flex-wrap:wrap; margin-bottom:1.2rem; }

.institution-links-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.institution-link-card { padding:1.25rem; min-height:180px; display:flex; flex-direction:column; }
.institution-link-card a { margin-top:auto; color:var(--red); font-weight:700; }
.station-actions { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }

.transparency-tabs { display:flex; gap:.55rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.transparency-card .category-label { display:inline-flex; margin-bottom:.55rem; padding:.35rem .65rem; border-radius:999px; background:#fff0f0; color:#9f0d14; font-size:.78rem; font-weight:700; }

.timeline { position:relative; display:grid; gap:1rem; }
.timeline::before { content:""; position:absolute; left:22px; top:18px; bottom:18px; width:2px; background:#f2b7bb; }
.timeline-item { position:relative; margin-left:52px; padding:1.15rem 1.25rem; }
.timeline-item::before { content:""; position:absolute; left:-40px; top:22px; width:18px; height:18px; border:5px solid #fff; border-radius:999px; background:var(--red); box-shadow:0 0 0 2px #f2b7bb; }
.timeline-status { display:inline-flex; padding:.3rem .65rem; border-radius:999px; background:#f3f4f6; color:#4b5563; font-size:.78rem; font-weight:700; text-transform:uppercase; }
.selection-status-banner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.3rem; }
.selection-status-banner > .selection-doc-actions { align-items:center; justify-content:flex-end; }
.selection-regulation-admin { border-top:4px solid var(--red); }
.page-main .selection-stage-document .btn-outline,
.page-main .selection-doc-card .btn-outline { background:#fff !important; border-color:rgba(211,15,25,.45) !important; color:var(--red) !important; }
.page-main .selection-stage-document .btn-outline:hover,
.page-main .selection-doc-card .btn-outline:hover { background:#fff1f2 !important; border-color:var(--red) !important; color:#950912 !important; }
.page-main .selection-stage-document .btn-primary,
.page-main .selection-doc-card .btn-primary { background:var(--red) !important; border-color:var(--red) !important; color:#fff !important; }
.page-main .selection-stage-document .btn-primary:hover,
.page-main .selection-doc-card .btn-primary:hover { background:#a60b13 !important; border-color:#a60b13 !important; color:#fff !important; }
.selection-stage-card .prose-block { margin-top:.7rem; color:var(--gray-600); }
.selection-stage-date { display:block; margin-top:.7rem; color:var(--gray-500); font-weight:650; }
.selection-stage-documents { display:grid; gap:.7rem; margin-top:1.1rem; padding-top:1rem; border-top:1px solid var(--gray-200); }
.selection-stage-documents-title { color:var(--gray-800); }
.selection-stage-document { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem; border:1px solid var(--gray-200); border-radius:16px; background:#f8fafc; }
.selection-stage-document > div:first-child { display:flex; align-items:center; gap:.7rem; min-width:0; }
.selection-stage-document > div:first-child > span:last-child { min-width:0; }
.selection-stage-document strong { overflow-wrap:anywhere; }
.selection-stage-manager .selection-stage-create-form { margin-bottom:1.25rem; }
.selection-stage-admin-list { margin-top:1.25rem; }
.selection-stage-admin-card { box-shadow:none; }
.selection-stage-documents-admin { margin-top:1rem; }
.selection-stage-documents-admin > h4 { margin:0 0 .8rem; }
.selection-admin-document-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.selection-admin-document-heading > div { display:grid; gap:.2rem; min-width:0; }
.selection-admin-document-heading strong { overflow-wrap:anywhere; }
.selection-admin-document-heading small { color:var(--gray-500); }
.selection-stage-delete { display:block; margin:1rem 0 0; padding-top:1rem; border-top:1px solid var(--gray-200); }
.selection-document-modal { z-index:160; }
.selection-document-modal-dialog { width:min(1400px,100%); }
.selection-document-modal-card { max-height:94vh; overflow:auto; }
.selection-document-modal-heading { display:grid; gap:.55rem; padding-right:4rem; margin-bottom:1rem; }
.selection-document-modal-heading h3 { margin:0; overflow-wrap:anywhere; }
.selection-document-modal-heading .selection-doc-actions { margin-top:.35rem; }
.selection-document-preview { width:100%; min-height:520px; height:72vh; max-height:820px; overflow:hidden; border-radius:20px; background:#252525; }
.selection-document-preview iframe { display:block; width:100%; height:100%; min-height:inherit; border:0; }
.selection-document-preview img { display:block; width:100%; height:100%; object-fit:contain; background:#f8fafc; }
.selection-document-download-notice { display:flex; align-items:center; gap:1rem; min-height:240px; padding:2rem; border:1px dashed var(--gray-300); border-radius:20px; background:#f8fafc; }
.selection-document-download-notice strong { display:block; margin-bottom:.35rem; }
.selection-document-download-notice p { margin:0; color:var(--gray-600); }

.document-meta { display:flex; gap:.55rem; flex-wrap:wrap; color:var(--gray-500); font-size:.86rem; margin-top:.25rem; }
.media-library-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.media-library-item { overflow:hidden; }
.media-library-preview { height:150px; background:#f3f4f6; display:grid; place-items:center; }
.media-library-preview img { width:100%; height:100%; object-fit:cover; }
.media-library-body { padding:.8rem; }
.media-library-body strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.admin-dashboard-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.admin-dashboard-card { padding:1.2rem; }
.admin-dashboard-card strong { display:block; font-size:2rem; color:var(--red); }
.admin-quick-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.admin-quick-card { padding:1.2rem; display:flex; gap:.8rem; align-items:center; }
.admin-quick-card span:first-child { font-size:1.7rem; }
.admin-section-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1rem; }
.admin-kicker { display:block; margin-bottom:.35rem; color:var(--red); font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.admin-count-pill, .admin-category-pill, .admin-year-pill, .admin-status-pill { display:inline-flex; align-items:center; width:max-content; padding:.38rem .7rem; border-radius:999px; font-size:.78rem; font-weight:700; }
.admin-count-pill { background:#eef2ff; color:#3730a3; white-space:nowrap; }
.admin-category-pill { background:#fff0f0; color:#9f0d14; }
.admin-year-pill { background:#f1f5f9; color:#334155; }
.admin-status-pill.is-visible { background:#dcfce7; color:#166534; }
.admin-status-pill.is-hidden { background:#f1f5f9; color:#64748b; }
.admin-badge-row { display:flex; gap:.45rem; flex-wrap:wrap; margin-bottom:.45rem; }
.transparency-publisher { border-top:4px solid var(--red); }
.transparency-simple-form { padding:1.1rem; border:1px solid var(--gray-200); border-radius:22px; background:#f8fafc; }
.transparency-upload-field { padding:1rem; border:1px dashed #cbd5e1; border-radius:16px; background:#fff; }
.transparency-upload-field small { color:var(--gray-500); font-weight:500; }
.admin-advanced { padding:.85rem 1rem; border:1px solid var(--gray-200); border-radius:14px; background:#fff; }
.admin-advanced summary, .transparency-admin-details > summary, .transparency-page-settings > summary { cursor:pointer; font-weight:750; }
.admin-advanced[open] summary, .transparency-admin-details[open] > summary, .transparency-page-settings[open] > summary { margin-bottom:1rem; }
.transparency-admin-list { display:grid; gap:1rem; }
.transparency-admin-card { overflow:hidden; border:1px solid var(--gray-200); border-radius:22px; background:#fff; }
.transparency-admin-summary { display:grid; grid-template-columns:92px 1fr; gap:1rem; align-items:center; padding:1rem; }
.transparency-admin-summary img { width:92px; height:78px; border-radius:16px; object-fit:cover; background:#f1f5f9; }
.transparency-admin-summary h4, .transparency-admin-summary p { margin:.2rem 0; }
.transparency-admin-summary p { color:var(--gray-500); }
.transparency-admin-details { padding:0 1rem 1rem; border-top:1px solid var(--gray-200); }
.transparency-admin-details > summary { padding:1rem 0 0; color:var(--red); }
.transparency-edit-form { margin-top:1rem; padding:1rem; border-radius:18px; background:#f8fafc; }
.transparency-document-list { display:grid; gap:.7rem; margin-top:1rem; }
.transparency-document-list h5 { margin:.5rem 0; }
.transparency-document-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border:1px solid var(--gray-200); border-radius:16px; background:#fff; }
.transparency-document-row strong, .transparency-document-row small { display:block; }
.transparency-document-row small { margin-top:.2rem; color:var(--gray-500); }
.document-edit-details { position:relative; }
.document-edit-details > summary { list-style:none; cursor:pointer; }
.document-edit-details > summary::-webkit-details-marker { display:none; }
.document-edit-details[open] form { position:absolute; z-index:20; right:0; top:calc(100% + .5rem); width:min(620px,80vw); padding:1rem; border:1px solid var(--gray-200); border-radius:18px; background:#fff; box-shadow:0 18px 45px rgba(15,23,42,.16); }
.compact-delete { margin:0; }
.transparency-delete-publication { margin:1.2rem 0 0; }
.transparency-page-settings { padding:1.25rem; }
.transparency-page-settings form { margin-top:1rem; }
.admin-empty-message { margin:0; padding:1.5rem; border:1px dashed var(--gray-300); border-radius:18px; color:var(--gray-500); text-align:center; }
.admin-sidebar-group { margin:.75rem 0 .25rem; padding:.3rem .9rem; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.5); font-weight:700; }
.stats-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:1.25rem; }
.stats-layout.is-single { grid-template-columns:1fr; }
.stats-reconciliation { margin-top:1rem; padding:1rem 1.15rem; border-left:4px solid var(--red); border-radius:12px; background:#fff6f6; color:var(--gray-700); }
.stats-toolbar { display:flex; justify-content:flex-end; margin-bottom:1rem; }
.stats-toolbar select { min-width:130px; margin-left:.5rem; padding:.65rem .8rem; border:1px solid rgba(15,23,42,.14); border-radius:12px; background:#fff; }
.emergency-callout { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:1.5rem; }
.empty-state { padding:2rem; text-align:center; }
.admin-logout-form { margin:0; }
.admin-logout-form button { width:100%; display:flex; gap:.75rem; align-items:center; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; padding:.8rem 1rem; text-align:left; }
.admin-logout-form button:hover { background:rgba(255,255,255,.08); }
.admin-dashboard-card, .admin-quick-card { text-decoration:none; color:inherit; }
.prevention-card { padding:1.35rem; }
.prevention-card-media { margin:-1.35rem -1.35rem 1.2rem; overflow:hidden; }
.prevention-card-media img { width:100%; height:100%; object-fit:cover; }

.login-card { display:grid; gap:1rem; }
.login-card > * { margin-top:0; margin-bottom:0; }
.login-card label { display:grid; gap:.5rem; margin:0; }
.login-card input { box-sizing:border-box; min-height:52px; margin:0; }
.login-card .btn { width:100%; min-height:50px; justify-content:center; margin:0; }
.login-card .back-link { display:block; padding:.25rem; text-align:center; }

/* Panel simplificado v6.4 */
.admin-sidebar { overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.24) transparent; }
.admin-nav-simple { gap:.55rem !important; }
.admin-nav-home { margin-bottom:.15rem; }
.admin-nav-group { border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(255,255,255,.035); overflow:hidden; }
.admin-nav-group > summary { display:grid; grid-template-columns:24px 1fr 20px; gap:.65rem; align-items:center; padding:.8rem .9rem; list-style:none; cursor:pointer; color:#fff; }
.admin-nav-group > summary::-webkit-details-marker { display:none; }
.admin-nav-group > summary strong { font-size:.86rem; }
.admin-nav-chevron { text-align:center; transition:transform .2s ease; }
.admin-nav-group[open] .admin-nav-chevron { transform:rotate(180deg); }
.admin-nav-group-links { display:grid; gap:.35rem; padding:0 .45rem .45rem; }
.admin-nav-group-links a { padding:.65rem .75rem !important; font-size:.87rem; }
.admin-publisher { border-top:4px solid var(--red); }
.admin-simple-form { padding:1.1rem; border:1px solid var(--gray-200); border-radius:22px; background:#f8fafc; }
.admin-primary-action { display:flex; align-items:flex-end; }
.admin-primary-action .btn { min-height:50px; justify-content:center; }
.admin-upload-box { padding:1rem; border:1.5px dashed #b9c2cf; border-radius:18px; background:#fff; }
.admin-upload-box input[type="file"] { padding:.7rem; border-style:dashed; background:#f8fafc; }
.admin-upload-box small, [data-file-count] { color:var(--gray-500); font-weight:500; }
.admin-standalone-advanced { margin-top:1rem; }
.admin-standalone-advanced form { margin-top:1rem; }
.admin-list-search { display:grid; gap:.45rem; margin-bottom:1rem; font-weight:650; }
.admin-list-search input { width:100%; padding:.85rem 1rem; border:1px solid var(--gray-300); border-radius:14px; background:#fff; }
.admin-record-list { display:grid; gap:1rem; }
.admin-record-card { overflow:hidden; border:1px solid var(--gray-200); border-radius:22px; background:#fff; }
.admin-record-summary { display:grid; grid-template-columns:118px minmax(0,1fr); gap:1rem; align-items:center; padding:1rem; }
.admin-record-summary img { width:118px; height:92px; border-radius:16px; object-fit:cover; object-position:var(--focus-x,50%) var(--focus-y,50%); transform:scale(var(--media-scale,1)); background:#f1f5f9; }
.admin-record-summary h4 { margin:.2rem 0; }
.admin-record-summary p { margin:.25rem 0 0; color:var(--gray-500); font-size:.9rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.admin-record-details { padding:0 1rem 1rem; border-top:1px solid var(--gray-200); }
.admin-record-details > summary { padding:1rem 0 0; list-style:none; cursor:pointer; color:var(--red); font-weight:750; }
.admin-record-details > summary::-webkit-details-marker { display:none; }
.admin-edit-form { margin-top:1rem; padding:1rem; border-radius:18px; background:#f8fafc; }
.admin-danger-zone { margin:1rem 0 0; padding-top:1rem; border-top:1px solid var(--gray-200); }
.admin-collection { padding:0 !important; overflow:hidden; }
.admin-collection-summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; list-style:none; cursor:pointer; }
.admin-collection-summary::-webkit-details-marker { display:none; }
.admin-collection-summary > span:first-child { display:grid; gap:.2rem; }
.admin-collection-summary small { color:var(--gray-500); font-weight:500; }
.admin-collection-action { color:var(--red); font-size:.86rem; font-weight:750; white-space:nowrap; }
.admin-collection[open] > .admin-collection-summary { border-bottom:1px solid var(--gray-200); background:#f8fafc; }
.admin-collection-body { padding:1.15rem; }
.admin-subcollection { display:block !important; padding:0; overflow:hidden; }
.gallery-admin-group-summary { display:grid; grid-template-columns:92px minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.8rem; list-style:none; cursor:pointer; }
.gallery-admin-group-summary::-webkit-details-marker { display:none; }
.gallery-admin-group-summary .gallery-admin-group-cover { width:92px; height:72px; min-height:0; border-radius:14px; }
.gallery-admin-group-summary .gallery-admin-group-cover img { width:100%; height:100%; object-fit:cover; }
.gallery-admin-group-summary > span:nth-child(2) { display:grid; gap:.25rem; }
.gallery-admin-group-summary small { color:var(--gray-500); }
.admin-subcollection[open] > .gallery-admin-group-summary { border-bottom:1px solid var(--gray-200); background:#f8fafc; }
.admin-subcollection .gallery-admin-group-body { padding:1rem; }
.admin-custom-field[hidden] { display:none !important; }
.admin-secondary-quick-grid { margin-top:1rem; }

@media (max-width:1120px) {
  .main-nav { flex-wrap:wrap; }
  .stats-summary-grid, .institution-links-grid, .admin-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .media-library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:880px) {
  .emergency-bar-inner { justify-content:center; }
  .emergency-bar-inner > span { display:none; }
  .main-nav { align-items:stretch; }
  .nav-group-toggle { width:100%; text-align:left; padding:.7rem 0; }
  .nav-group::before { display:none; }
  .nav-dropdown { position:static; min-width:0; padding:.3rem 0 .4rem .6rem; box-shadow:none; border:0; opacity:1; visibility:visible; transform:none; display:none; }
  .nav-group.is-open .nav-dropdown { display:block; }
  .prevention-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-quick-grid { grid-template-columns:1fr 1fr; }
  .stats-layout { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .prevention-grid, .stats-summary-grid, .institution-links-grid, .admin-dashboard-grid, .admin-quick-grid, .media-library-grid { grid-template-columns:1fr; }
  .stats-bar-row { grid-template-columns:1fr 44px; }
  .stats-bar-row > span:first-child { grid-column:1 / -1; }
  .selection-status-banner { align-items:flex-start; flex-direction:column; }
  .selection-stage-document { align-items:flex-start; flex-direction:column; }
  .selection-document-modal { padding:.5rem; }
  .selection-document-modal-heading { padding-right:3rem; }
  .selection-document-modal-heading .selection-doc-actions { width:100%; }
  .selection-document-modal-heading .btn { width:100%; }
  .selection-document-preview { min-height:60vh; height:60vh; border-radius:14px; }
  .selection-document-download-notice { align-items:flex-start; min-height:0; padding:1.25rem; }
  .emergency-callout { align-items:flex-start; flex-direction:column; }
  .transparency-admin-summary { grid-template-columns:64px 1fr; }
  .transparency-admin-summary img { width:64px; height:64px; }
  .transparency-document-row { align-items:flex-start; flex-direction:column; }
  .document-edit-details[open] form { position:fixed; inset:5vh 4vw auto; width:92vw; max-height:90vh; overflow:auto; }
  .admin-record-summary { grid-template-columns:72px minmax(0,1fr); padding:.8rem; }
  .admin-record-summary img { width:72px; height:72px; }
  .admin-collection-summary { padding:1rem; }
  .gallery-admin-group-summary { grid-template-columns:64px minmax(0,1fr); }
  .gallery-admin-group-summary .gallery-admin-group-cover { width:64px; height:60px; }
  .gallery-admin-group-summary .admin-collection-action { grid-column:2; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal-ready { opacity:1; transform:none; }
}
