:root{
  --rx-btn-solid:#009b72;
  --rx-btn-solid-2:#00b884;
  --rx-btn-solid-hover:#008462;
  --rx-btn-active:#075fe8;
  --rx-btn-active-2:#0b7fd8;
  --rx-btn-text:#ffffff;
  --rx-btn-border:#009b72;
  --rx-btn-active-border:#075fe8;
  --rx-btn-shadow:0 10px 22px rgba(0,155,114,.18);
  --rx-btn-active-shadow:0 12px 26px rgba(7,95,232,.20);
}

/* RXOPD global button rule: normal buttons are green; active/open buttons are blue. */
a.btn,
a.button,
button.btn,
button.button,
input[type="submit"],
input[type="button"],
.rx-topnav a,
.rx-topnav button,
.rxopd-public-auth-tabs a,
.rxopd-public-auth-tabs button,
.rxopd-public-auth-submit,
.rxopd-public-auth-linkbtn,
.rxfi-hero-actions a,
.rxfi-choice-grid a,
.company-topnav a,
.company-nav a,
.company-logout button,
.company-menu-button,
.company-action,
.company-card-link,
.company-module-card,
.company-primary-action,
.company-secondary-action,
.clean-admin-topbar button,
.clean-admin-logout button,
.clean-menu-direct,
.clean-submenu-list a,
.staff-topbar button,
.staff-submenu-list a,
.staff-menu-button,
.staff-nav a{
  border:1px solid var(--rx-btn-border)!important;
  background:var(--rx-btn-solid)!important;
  color:var(--rx-btn-text)!important;
  border-radius:999px!important;
  text-decoration:none!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  box-shadow:var(--rx-btn-shadow)!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

a.btn:hover,
a.button:hover,
button.btn:hover,
button.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.rx-topnav a:hover,
.rx-topnav button:hover,
.rxopd-public-auth-tabs a:hover,
.rxopd-public-auth-tabs button:hover,
.rxopd-public-auth-submit:hover,
.rxopd-public-auth-linkbtn:hover,
.rxfi-hero-actions a:hover,
.rxfi-choice-grid a:hover,
.company-topnav a:hover,
.company-nav a:hover,
.company-logout button:hover,
.company-menu-button:hover,
.company-action:hover,
.company-card-link:hover,
.company-module-card:hover,
.company-primary-action:hover,
.company-secondary-action:hover,
.clean-admin-topbar button:hover,
.clean-admin-logout button:hover,
.clean-menu-direct:hover,
.clean-submenu-list a:hover,
.staff-topbar button:hover,
.staff-submenu-list a:hover,
.staff-menu-button:hover,
.staff-nav a:hover{
  background:var(--rx-btn-solid-hover)!important;
  border-color:var(--rx-btn-solid-hover)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(0,155,114,.22)!important;
}

/* Active/open/current option: blue, not white. */
a.btn.active,
a.button.active,
button.btn.active,
button.button.active,
.rx-topnav a.active,
.rx-topnav button.active,
.rxopd-public-auth-tabs a.active,
.rxopd-public-auth-tabs button.active,
.rxopd-public-auth-tabs button[aria-selected="true"],
.rxfi-hero-actions a.active,
.rxfi-choice-grid a.active,
.company-topnav a.active,
.company-nav a.active,
.company-action.active,
.company-card-link.active,
.company-module-card.active,
.company-primary-action.active,
.company-secondary-action.active,
.clean-menu-direct.active,
.clean-submenu-list a.active,
.staff-submenu-list a.active,
.staff-nav a.active,
[aria-current="page"]{
  background:var(--rx-btn-active)!important;
  color:var(--rx-btn-text)!important;
  border-color:var(--rx-btn-active-border)!important;
  box-shadow:var(--rx-btn-active-shadow)!important;
}

a.btn.active:hover,
a.button.active:hover,
button.btn.active:hover,
button.button.active:hover,
.rx-topnav a.active:hover,
.rxopd-public-auth-tabs button.active:hover,
.rxopd-public-auth-tabs button[aria-selected="true"]:hover,
.company-nav a.active:hover,
.company-action.active:hover,
.clean-menu-direct.active:hover,
.clean-submenu-list a.active:hover,
.staff-nav a.active:hover,
[aria-current="page"]:hover{
  background:var(--rx-btn-active-2)!important;
  border-color:var(--rx-btn-active-2)!important;
  box-shadow:0 16px 34px rgba(7,95,232,.24)!important;
}

/* Header buttons: same shape and color system. */
.rx-standard-shell .rx-topnav a,
.rx-standard-shell .rx-topnav button{
  min-height:38px!important;
  padding:0 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.rx-standard-shell .rx-topnav a[href$="/login"]{
  background:var(--rx-btn-solid)!important;
  color:var(--rx-btn-text)!important;
  border-color:var(--rx-btn-border)!important;
}
.rx-standard-shell .rx-topnav a.active[href$="/login"],
.rx-standard-shell .rx-topnav a[aria-current="page"]{
  background:var(--rx-btn-active)!important;
  color:var(--rx-btn-text)!important;
  border-color:var(--rx-btn-active-border)!important;
}

/* Login tabs stay directly below RXOPD Login title. Normal green, selected blue. */
.rxopd-public-auth-heading .rxopd-public-auth-tabs{
  margin:13px 0 10px!important;
}
.rxopd-public-auth-tabs button,
.rxopd-public-auth-tabs a{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  border-radius:999px!important;
  line-height:1.05!important;
  background:var(--rx-btn-solid)!important;
  color:var(--rx-btn-text)!important;
  border-color:var(--rx-btn-border)!important;
}
.rxopd-public-auth-tabs button.active,
.rxopd-public-auth-tabs button[aria-selected="true"],
.rxopd-public-auth-tabs a.active{
  background:var(--rx-btn-active)!important;
  color:var(--rx-btn-text)!important;
  border-color:var(--rx-btn-active-border)!important;
  box-shadow:var(--rx-btn-active-shadow)!important;
}
.rxopd-public-auth-submit,
.rxopd-public-auth-linkbtn{
  border-radius:999px!important;
}

/* Keep hamburger/menu icon buttons usable while following the same color system. */
button[aria-label*="menu"],
button[aria-label*="Menu"],
.clean-admin-menu-button,
.staff-menu-button,
.company-menu-button{
  width:auto!important;
  min-width:42px!important;
}

@media(max-width:780px){
  .rx-standard-shell .rx-topnav a,
  .rx-standard-shell .rx-topnav button{
    min-height:34px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .rxopd-public-auth-heading .rxopd-public-auth-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .rxopd-public-auth-tabs button,
  .rxopd-public-auth-tabs a{
    min-height:40px!important;
    font-size:12.5px!important;
    padding:0 9px!important;
  }
}

@media(max-width:390px){
  .rx-standard-shell .rx-topnav a,
  .rx-standard-shell .rx-topnav button{
    min-height:32px!important;
    padding:0 8px!important;
    font-size:11.5px!important;
  }
  .rxopd-public-auth-tabs button,
  .rxopd-public-auth-tabs a{
    min-height:38px!important;
    font-size:12px!important;
  }
}
