
/* SAFR UI Audit v2.28.0
   Additive contrast + navigation placement layer.
   Does not replace the site's existing style.css. */
:root{
  --safr-ink:#172126;--safr-text:#26343a;--safr-muted:#58666c;
  --safr-red:#721313;--safr-red-hover:#8c1919;--safr-gold:#d7b75a;
  --safr-dark:#172126;--safr-dark-hover:#26363d;--safr-line:#cfd8dc;
  --safr-white:#fff;--safr-soft:#f5f7f8;
}
html{color-scheme:light}
body{color:var(--safr-text)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #d7b75a!important;outline-offset:2px!important
}
/* Keep ordinary text readable on white/light cards. */
small,.muted,.help,.hint,.meta{color:#58666c}
table td{color:#26343a}
table th{color:#fff}
input,select,textarea{color:#172126;background:#fff}
input::placeholder,textarea::placeholder{color:#66757c;opacity:1}
label{color:#4f5d63}
/* Never allow light text to inherit onto light button/card backgrounds. */
.pc-btn.light,.btn-light,.light-btn{color:#172126!important}
.notice,.alert,.warning,.success,.error{color:#26343a}
/* Header/menu placement */
.site-header{position:relative;z-index:9000}
.site-header .nav-wrap{display:flex;align-items:center;gap:16px}
.site-header .brand{flex:0 0 auto}
.site-header nav#mainNav{
  min-width:0;display:flex;align-items:center;justify-content:flex-end;
  gap:4px;flex:1 1 auto
}
.site-header nav#mainNav>a{
  display:inline-flex;align-items:center;min-height:38px;padding:8px 9px;
  white-space:nowrap
}
.public-dispatch-tools,.staff-tools-dropdown{flex:0 0 auto}
.dispatch-tools-wrap,.staff-tools-dropdown{position:relative}
.dispatch-tools-menu,.staff-tools-menu{
  max-height:min(72vh,680px);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-gutter:stable
}
/* Dispatch menu opens leftward from its button; Staff menu opens from right edge. */
.dispatch-tools-menu{right:0!important;left:auto!important}
.staff-tools-menu{right:0!important;left:auto!important}
/* Menu text contrast */
.dispatch-tools-menu,.staff-tools-menu{background:#172126!important;color:#fff!important}
.dispatch-tools-menu a,.staff-tools-menu a,
.dispatch-tools-menu a span,.staff-tools-menu a span{color:#fff!important}
.dispatch-tools-menu a small,.staff-tools-menu a small{color:#c3d0d5!important}
.dispatch-tools-label,.staff-tools-label{color:#e4c76f!important}
.dispatch-tools-user{color:#d7e0e3!important}
.dispatch-tools-user small{color:#e4c76f!important}
/* Buttons with dark/red/gold fills use white. */
.remd-btn,.hub-btn,.pc-btn:not(.light),.rcs-btn,
.dispatch-tools-toggle,.staff-tools-toggle,.dispatch-login-link{color:#fff!important}
/* Common pale notice backgrounds need dark text. */
.remd-source,.member-rank-note,.rcs-note,.rcs-alert,.pc-warning,.pc-missing{color:#26343a!important}
/* Status/secondary copy that was borderline on light backgrounds. */
.remd-status span,.member-rank-meta,.member-rank-change,
.pc-table th,.hub-filter label,.pc-fields label,.pc-body>label,.rcs-rule label{
  color:#526168!important
}
/* Avoid dropdown clipping under page cards/hero sections. */
.site-header,.nav-wrap,#mainNav,.public-dispatch-tools{overflow:visible!important}
/* Large tablet / crowded desktop: keep operational menus on a second line instead of overlap. */
@media (max-width:1280px) and (min-width:951px){
  .site-header .nav-wrap{flex-wrap:wrap}
  .site-header nav#mainNav{flex-wrap:wrap;row-gap:5px}
}
/* Mobile: predictable vertical menu order and no off-screen dropdowns. */
@media(max-width:950px){
  .site-header .nav-wrap{display:flex;flex-wrap:wrap}
  .menu-toggle{margin-left:auto}
  .site-header nav#mainNav{
    width:100%;flex:0 0 100%;display:none;flex-direction:column;
    align-items:stretch;justify-content:flex-start;gap:3px
  }
  .site-header nav#mainNav.open{display:flex}
  .site-header nav#mainNav>a{width:100%;box-sizing:border-box;justify-content:flex-start}
  .public-dispatch-tools,.staff-tools-dropdown{display:block!important;width:100%!important}
  .dispatch-tools-wrap,.staff-tools-dropdown{display:block!important;width:100%!important}
  .dispatch-tools-toggle,.staff-tools-toggle,.dispatch-login-link{
    width:100%!important;box-sizing:border-box;justify-content:space-between!important
  }
  .dispatch-tools-menu,.staff-tools-menu{
    position:static!important;width:100%!important;max-width:none!important;
    box-sizing:border-box;margin-top:5px!important;max-height:none!important;
    box-shadow:none!important
  }
}
/* Very small screens: tables remain usable without crushing text. */
@media(max-width:700px){
  .dispatch-table-wrap,.hub-card,.pc-card,.nx-card{overflow-x:auto}
  table{max-width:none}
}
/* Print: hide navigation controls, keep report text dark. */
@media print{
  .site-header,.top-stripe,.dispatch-tools-wrap,.staff-tools-dropdown,.menu-toggle{display:none!important}
  body,.pc-card,.hub-card{color:#000!important;background:#fff!important}
}
