/* RateMyTraining Phase 23 — whole-site consistency, accessibility and mobile quality */
:root{--rmt-focus:#1f5fe0;--rmt-control-h:46px;--rmt-radius:14px;--rmt-shadow-soft:0 8px 24px rgba(16,40,79,.08)}
html{scroll-padding-top:110px}
body{overflow-wrap:break-word}
.rmt-skip-link{position:fixed;left:16px;top:12px;z-index:10000;transform:translateY(-180%);padding:11px 15px;border-radius:10px;background:#fff;color:#10284f;border:2px solid var(--rmt-focus);font-weight:800;text-decoration:none;box-shadow:0 10px 30px rgba(16,40,79,.18)}
.rmt-skip-link:focus{transform:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--rmt-focus)!important;outline-offset:3px!important;box-shadow:none}
:where(button,.rmt-primary-btn,.rmt-secondary-btn,.rmt-nav-button,.rmt-account-menu-trigger,.rmt-phase19-mobile-btn){min-height:44px}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px;border-radius:10px}
:where(input[type=checkbox],input[type=radio]){width:20px;height:20px;min-width:20px;accent-color:#2463eb}
label{line-height:1.45}
.rmt-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.rmt-primary-btn,.rmt-secondary-btn,.rmt-nav-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;text-decoration:none}
.rmt-empty-state{min-height:110px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px dashed #cbd6e8;border-radius:var(--rmt-radius);background:#f8faff;color:#576175;line-height:1.55}
.rmt-dashboard-card,.rmt-review-card,.rmt-note-panel,.rmt-saved-search-panel,.rmt-onboarding-card{border-radius:var(--rmt-radius)}
.rmt-review-card,.rmt-dashboard-card{overflow:hidden}
.rmt-action-row{align-items:center}
.rmt-action-row>:is(a,button){min-height:44px}
.rmt-notification-toolbar select{min-width:190px}
.rmt-notification-unread{border-left:4px solid #2463eb}
.rmt-unread-dot{width:10px;height:10px;min-width:10px;border-radius:999px;background:#2463eb;display:inline-block}
[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.rmt-phase19-drawer-panel{overscroll-behavior:contain}
.rmt-phase19-drawer-panel :is(a,button){min-height:44px}
.rmt-account-dropdown :is(a,button){min-height:42px}
.rmt-compare-scroll,.ranking-wrap{scrollbar-gutter:stable}
table{border-collapse:collapse}
th{text-align:left}
.rmt-compare-table th,.rmt-compare-table td{vertical-align:top}
@media(max-width:760px){
  html{scroll-padding-top:88px}
  .rmt-page-shell{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(32px,env(safe-area-inset-bottom))}
  .rmt-hero-small{padding-top:22px}
  .rmt-hero-small h1{font-size:clamp(30px,9vw,42px);line-height:1.06}
  .rmt-notification-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:12px}
  .rmt-notification-toolbar>div{display:grid!important;grid-template-columns:1fr!important;gap:10px;align-items:start!important}
  .rmt-notification-toolbar select,.rmt-notification-toolbar button{width:100%}
  .rmt-action-row{display:grid!important;grid-template-columns:1fr!important;gap:9px}
  .rmt-action-row>:is(a,button){width:100%}
  .rmt-inline-form{grid-template-columns:1fr!important}
  .rmt-inline-form>button{width:100%}
  .rmt-account-trigger-copy{display:none}
  .rmt-account-menu-trigger{padding:7px 10px}
  .rmt-compare-table{min-width:720px}
}
@media(max-width:430px){
  .rmt-page-shell{padding-left:14px;padding-right:14px}
  .rmt-hero-small{padding-left:0;padding-right:0}
  .rmt-primary-btn,.rmt-secondary-btn{padding-left:14px;padding-right:14px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(prefers-contrast:more){
  :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline-width:4px!important}
  .rmt-empty-state{border-style:solid}
}
