/* Small shared usability and print rules; report tables remain real tables. */
.page-actions .btn,.cta>.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.nav-toggle{min-width:44px;min-height:44px}
.crumb a{text-decoration:underline;text-underline-offset:3px}
.crumb a:hover,.crumb a:focus-visible{color:var(--red)}
.table-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
:focus-visible{outline:2px solid var(--red,#8e1b1f);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff;color:#111;overflow:visible!important}
  .app-shell{display:block!important;min-height:0!important}
  .topbar,.sidebar,.page-actions,.cta,.site-foot,.skip-link,.expandbtn{display:none!important}
  .app-main{padding:0!important;display:block!important;overflow:visible!important}
  .card,.kpi,.block{break-inside:avoid}
  .table-scroll{overflow:visible!important}
  .app-main [style*="overflow:auto"]{max-height:none!important;overflow:visible!important}
  table{font-size:9pt!important}
  table tr.hide{display:table-row!important}
  .chart{max-width:100%}
  .grid-band,.grid-2,.grid-2-3,.map-info-grid{grid-template-columns:minmax(0,1fr)!important}
  .sm-grid,.quad{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .card,.mapbox{box-shadow:none!important}
}
