/* Compact mobile presentation, with full-sized touch targets and optional detail. */
.validation-location { color:var(--gray-600); font-size:.78rem; }
.validation-context { margin:8px 16px; color:var(--gray-600); font-size:.82rem; }
.validation-review { border-top:1px solid var(--gray-200); }
.validation-review-toggle { min-height:44px; padding:12px 16px; cursor:pointer; color:var(--primary-600); font-size:.82rem; font-weight:700; }
.validation-review[open] .validation-review-toggle { background:var(--primary-50); }
.review-notice summary { cursor:pointer; font-weight:600; }
.review-notice p { margin-top:8px; }
@media (max-width:767px) {
  :root { --space-md:12px; --space-lg:18px; --space-xl:24px; --space-2xl:32px; --radius-lg:12px; --topbar-height:52px; }
  .app-shell { width:100%; }
  .topbar-title, .admin-topbar .topbar-title { font-size:.9rem; }
  .admin-nav a, .sub-nav a { padding:8px 12px; font-size:.75rem; }
  h1, .h1 { font-size:1.3rem; }
  h2, .h2 { font-size:1.1rem; }
  h3, .h3 { font-size:1rem; }
  .stat-card .stat-value { font-size:1.3rem; }
  .stat-card .stat-icon { width:32px; height:32px; font-size:1rem; }
  .card, .stat-card, .quick-action { border-radius:12px; }
  .quick-actions { gap:8px; padding:12px; }
  .quick-action { display:grid; grid-template-columns:36px minmax(0,1fr); gap:2px 8px; padding:12px; text-align:left; align-items:center; }
  .quick-action-icon { grid-row:span 2; width:36px; height:36px; font-size:1.1rem; margin:0; }
  .quick-action h4 { font-size:.8rem; }
  .quick-action p { margin:0; line-height:1.35; }
  .candidate-result, .city-result, .official-registry-card, .bu-card, .recent-bu { padding:10px 12px; gap:8px; }
  .candidate-photo { width:40px; height:40px; flex-basis:40px; }
  .cand-avatar { width:36px; height:36px; font-size:.8rem; }
  .cand-name, .bu-card-title, .city-name { font-size:.82rem; line-height:1.35; }
  .history-empty { padding:28px 16px; }
  .history-empty i { font-size:2rem; margin-bottom:8px; }
  .review-main { padding:12px; }
  .review-main h1 { font-size:1rem; line-height:1.35; margin-bottom:10px; }
  .review-notice { padding:10px 12px; font-size:.78rem; line-height:1.45; }
  .review-notice summary { min-height:44px; display:flex; align-items:center; }
  .review-notice summary::before { content:'▸'; margin-right:8px; }
  .review-notice[open] summary::before { content:'▾'; }
  .review-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; margin:12px 0; }
  .review-filters label { min-width:0; font-size:.75rem; color:var(--gray-600); }
  .review-filters select { min-height:44px; padding:8px; font-size:16px; margin-top:4px; }
  .review-filters #refreshQueue { min-height:44px; align-self:end; font-size:.8rem; }
  .review-main > .validation-actions { padding:0; }
  .list-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:6px; padding:8px 0; font-size:.78rem; }
  .list-pagination label { grid-column:1 / -1; justify-content:space-between; flex-wrap:nowrap; }
  .list-pagination select { min-width:72px; font-size:16px; }
  .list-pagination span { grid-column:1; text-align:left; font-size:.75rem; }
  .list-pagination button { font-size:.78rem; padding:8px; }
  #queueTotal, #queueMessage { font-size:.75rem; line-height:1.4; margin:8px 0; }
  .validation-card { margin:8px 0; border:1px solid var(--gray-200); box-shadow:none; }
  .validation-header { padding:12px 12px 6px; gap:8px; flex-wrap:wrap; font-size:.85rem; }
  .validation-location { font-size:.75rem; }
  .validation-context { margin:6px 12px 10px; font-size:.78rem; }
  .validation-divergence { margin:0 12px; padding:6px 8px; font-size:.72rem; line-height:1.4; }
  .validation-review-toggle { padding:12px; font-size:.78rem; }
  .validation-votes { padding:8px 12px; font-size:.8rem; line-height:1.45; }
  .validation-votes label { margin-top:10px; font-size:.78rem; }
  .validation-votes textarea { font-size:16px; padding:8px; }
  .validation-actions { padding:8px 12px 12px; }
  .btn, .btn-icon, .chip { min-height:44px; }
  .review-main :focus-visible, .validation-review-toggle:focus-visible { outline:3px solid var(--primary-400); outline-offset:2px; }
}

.evidence-section { margin:10px 0; border:1px solid var(--gray-200); border-radius:12px; background:#fff; overflow:hidden; }
.evidence-section summary { padding:12px; min-height:44px; font-size:.82rem; font-weight:700; cursor:pointer; color:var(--primary-700); }
.evidence-section pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:12px; border-top:1px solid var(--gray-200); font-size:.78rem; line-height:1.5; }
