/* V2.54: shared visual and keyboard refinements, scoped to existing components. */
.admin-body :where(a,button,input,select,textarea,summary):focus-visible,
.public-site-body :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #168bba!important;outline-offset:3px!important;
}
.admin-body :where(.admin-nav a,.admin-nav summary)[hidden]{display:none!important}
.admin-body .admin-nav details[hidden]{display:none!important}
.admin-body :where(.admin-card,.content-panel,.table-card){overflow-wrap:anywhere}
.admin-body :where(.admin-card,.content-panel) img,
.public-site-body :where(article,.content-panel,.reader-page) img{max-width:100%;height:auto}
.admin-body :where(.table-responsive,.table-wrap,.responsive-table){overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-body :where(.table-responsive,.table-wrap,.responsive-table) table{min-width:0}
@media(max-width:760px){
  .admin-body .admin-topbar{padding-inline:max(10px,env(safe-area-inset-left));}
  .admin-body .admin-top-actions{min-width:0;gap:5px}
  .admin-body .admin-topbar h1{min-width:0}
  .admin-body :where(.admin-card,.content-panel,form){min-width:0;max-width:100%}
  .admin-body :where(input,textarea,select){font-size:16px}
  .public-site-body :where(table){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(prefers-reduced-motion:reduce){
  .admin-body :where(.admin-sidebar,.admin-card,.admin-nav,.button),
  .public-site-body :where(.button,.content-card,.news-card){animation-duration:.01ms!important;transition-duration:.01ms!important}
  .admin-body :where(*):focus-visible,.public-site-body :where(*):focus-visible{scroll-behavior:auto!important}
}
