/* Build 117: page actions match the calendar-button reference everywhere.
   The established .fc-button.secondary name is a legacy primary (navy) alias.
   Component properties are authoritative over older and lazy-loaded page CSS.
   Navigation menus, disclosure rows, record cards and text recovery links keep
   their distinct structure. Only page actions and workspace tabs use this rule. */
:root{
  --sgp-button-height:44px;
  --sgp-button-size:14px;
  --sgp-button-weight:600;
  --sgp-button-radius:10px;
  --sgp-button-py:10px;
  --sgp-button-px:16px;
  --sgp-button-gap:12px;
  --sgp-action-bg:var(--sgp-navy,#071a33);
  --sgp-action-ink:#fff;
  --sgp-action-border:var(--sgp-navy,#071a33);
  --sgp-action-hover:var(--sgp-navy-hover,#183654);
  --sgp-action-hover-ink:#fff;
  --sgp-action-hover-border:var(--sgp-navy-hover,#183654);
}

:root body :is(
  .ri-button,.ri-link-button,.fc-button,.fc-link,
  .coach-button,.coach-link-button,
  .sgp-billing-page button,.sgp-billing-actions a,.admin-nav>a,
  [data-slot="button"]:not([data-variant="ghost"]):not([data-variant="link"]),
  .sgp-public-login-card button[type="submit"],
  button[role="tab"],[data-recruiting-tab],
  .sgp-inbox-button:not(.sgp-inbox-row),
  .coach-template-row button,.sgp-contact-status.incoming,
  .sgp-confirm-actions button,.sgp-session-actions button
):not(.sgp-login-recovery){
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:var(--sgp-button-height)!important;
  height:auto!important;
  min-width:0;
  max-width:100%;
  padding:var(--sgp-button-py) var(--sgp-button-px)!important;
  border:1px solid var(--sgp-action-border)!important;
  border-radius:var(--sgp-button-radius)!important;
  background:var(--sgp-action-bg)!important;
  color:var(--sgp-action-ink)!important;
  font-family:var(--sgp-font,Inter,ui-sans-serif,system-ui,sans-serif)!important;
  font-size:var(--sgp-button-size)!important;
  font-weight:var(--sgp-button-weight)!important;
  line-height:1.4!important;
  letter-spacing:normal!important;
  text-transform:none;
  text-decoration:none;
  text-align:center;
  white-space:normal!important;
  overflow-wrap:break-word;
  box-shadow:none!important;
  cursor:pointer;
}

/* Secondary actions and inactive tabs have the same crisp navy outline. */
:root body :is(
  .ri-button.secondary,.ri-link-button,.fc-button.outline,.fc-link,
  .coach-button.outline,.coach-button.secondary,.coach-button.ghost,
  .coach-button.compare,.coach-link-button,.admin-nav>a,
  .sgp-billing-secondary,.sgp-billing-page button.secondary,
  [data-slot="button"][data-variant="outline"],
  [data-slot="button"][data-variant="secondary"],
  button[role="tab"],[data-recruiting-tab],
  .sgp-inbox-button:not(.sgp-inbox-row),.coach-template-row button,
  .sgp-confirm-actions [data-cancel],.sgp-session-actions [data-session-cancel]
){
  --sgp-action-bg:#fff;
  --sgp-action-ink:var(--sgp-navy,#071a33);
  --sgp-action-border:var(--sgp-navy,#071a33);
  --sgp-action-hover:var(--sgp-soft,#edf2f8);
  --sgp-action-hover-ink:var(--sgp-navy,#071a33);
  --sgp-action-hover-border:var(--sgp-navy,#071a33);
}

/* Selection follows the actual state, not a page's older color class. */
:root body :is(
  button[role="tab"][aria-selected="true"],
  [data-recruiting-tab].active,
  .sgp-inbox-tabs .sgp-inbox-button[aria-current="page"],
  .coach-button.compare.selected,
  .ri-button[aria-pressed="true"],.ri-link-button[aria-pressed="true"],
  .coach-button[aria-pressed="true"],.sgp-billing-page button[aria-pressed="true"]
){
  --sgp-action-bg:var(--sgp-navy,#071a33);
  --sgp-action-ink:#fff;
  --sgp-action-hover:var(--sgp-navy-hover,#183654);
  --sgp-action-hover-ink:#fff;
  --sgp-action-hover-border:var(--sgp-navy-hover,#183654);
}

:root body :is(
  .ri-button,.ri-link-button,.fc-button,.fc-link,.coach-button,.coach-link-button,
  .sgp-billing-page button,.sgp-billing-actions a,.admin-nav>a,
  [data-slot="button"]:not([data-variant="ghost"]):not([data-variant="link"]),
  .sgp-public-login-card button[type="submit"],
  button[role="tab"],[data-recruiting-tab],.sgp-inbox-button:not(.sgp-inbox-row),
  .coach-template-row button,.sgp-contact-status.incoming,
  .sgp-confirm-actions button,.sgp-session-actions button
):not(.sgp-login-recovery):hover:not(:disabled):not([aria-disabled="true"]){
  background:var(--sgp-action-hover)!important;
  border-color:var(--sgp-action-hover-border)!important;
  color:var(--sgp-action-hover-ink)!important;
  transform:none;
}

/* Destructive actions retain their meaning; size and shape still match. */
:root body :is(
  .ri-button.danger,.ri-link-button.danger,.fc-button.danger,
  .coach-button.danger,[data-slot="button"][data-variant="destructive"]
){
  --sgp-action-bg:#a92f22;
  --sgp-action-ink:#fff;
  --sgp-action-border:#a92f22;
  --sgp-action-hover:#84241a;
  --sgp-action-hover-ink:#fff;
  --sgp-action-hover-border:#84241a;
}

:root body :is(
  .ri-button,.ri-link-button,.fc-button,.fc-link,.coach-button,.coach-link-button,
  .sgp-billing-page button,.sgp-billing-actions a,.admin-nav>a,
  [data-slot="button"]:not([data-variant="ghost"]):not([data-variant="link"]),
  .sgp-public-login-card button[type="submit"],
  button[role="tab"],[data-recruiting-tab],.sgp-inbox-button:not(.sgp-inbox-row),
  .coach-template-row button,.sgp-contact-status.incoming,
  .sgp-confirm-actions button,.sgp-session-actions button
):not(.sgp-login-recovery):is(:disabled,[aria-disabled="true"]){
  background:var(--sgp-disabled-bg,#e9eef5)!important;
  color:var(--sgp-disabled-ink,#586981)!important;
  border-color:var(--sgp-line,#dbe3ed)!important;
  opacity:1;
  box-shadow:none!important;
  cursor:not-allowed;
}

:root body :is(
  .ri-button,.ri-link-button,.fc-button,.fc-link,.coach-button,.coach-link-button,
  .sgp-billing-page button,.sgp-billing-actions a,.admin-nav>a,[data-slot="button"],
  button[role="tab"],[data-recruiting-tab],.sgp-inbox-button,
  .coach-template-row button,.sgp-contact-status.incoming,
  .sgp-confirm-actions button,.sgp-session-actions button
):focus-visible{outline:3px solid #2c78c5!important;outline-offset:3px}

/* Workspace tabs are ordinary filled/outlined buttons, without a second box. */
:root body :is(
  .ri-profile-tabs,.ri-school-tabs,.sgp-recruiting-tabs,.ri-camp-view-tabs,
  .ri-media-view-tabs,.growth-tabs,.family-tabs,.sch-tabs,.coach-tabs
){
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:stretch;
  gap:var(--sgp-button-gap)!important;
  max-width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
:root body :is(
  .ri-profile-tabs,.ri-school-tabs,.sgp-recruiting-tabs,.ri-camp-view-tabs,
  .ri-media-view-tabs,.growth-tabs,.family-tabs,.sch-tabs,.coach-tabs
)>button{flex:0 1 auto;width:auto}
:root body .ri-profile-tabs{margin:24px 0 0}
:root body .sgp-inbox-tabs{gap:var(--sgp-button-gap)!important}
:root body [data-recruiting-tab].active [data-inbox-count]{background:#fff;color:var(--sgp-navy,#071a33)}

/* Multi-line shortcuts retain their useful status text and card layout. */
:root body :is(
  button.ri-profile-check,button.ri-readiness-item,button.ri-action-item,
  button.ri-plan-step,button.pg-feature,button.fc-check,
  button.sgp-ai-prompt,button.coach-filter-chip
){
  min-height:var(--sgp-button-height)!important;
  border:1px solid var(--sgp-navy,#071a33)!important;
  border-radius:var(--sgp-button-radius)!important;
  background:#fff!important;
  color:var(--sgp-navy,#071a33)!important;
  font-size:var(--sgp-button-size)!important;
  font-weight:var(--sgp-button-weight)!important;
  line-height:1.4;
  box-shadow:none;
}
:root body :is(
  button.ri-profile-check,button.ri-readiness-item,button.ri-action-item,
  button.ri-plan-step,button.pg-feature,button.fc-check,
  button.sgp-ai-prompt,button.coach-filter-chip
):hover:not(:disabled):not([aria-disabled="true"]){background:var(--sgp-soft,#edf2f8)!important}
:root body :is(
  button.ri-profile-check,button.ri-readiness-item,button.ri-action-item,
  button.ri-plan-step,button.pg-feature,button.fc-check,
  button.sgp-ai-prompt,button.coach-filter-chip
):is(:disabled,[aria-disabled="true"]){background:var(--sgp-disabled-bg,#e9eef5)!important;color:var(--sgp-disabled-ink,#586981)!important;border-color:var(--sgp-line,#dbe3ed)!important;cursor:not-allowed}
:root body :is(
  button.ri-profile-check,button.ri-readiness-item,button.ri-action-item,
  button.ri-plan-step,button.pg-feature,button.fc-check,
  button.sgp-ai-prompt,button.coach-filter-chip
):focus-visible{outline:3px solid #2c78c5!important;outline-offset:3px}

/* Keep action pairs beside one another whenever their labels fit. */
:root body :is(
  .ri-actions,.fc-actions,.fc-item-actions,.coach-actions,.coach-account-actions,
  .coach-athlete-actions,.coach-page-actions,.coach-overview-card-actions,
  .coach-filter-actions,.coach-board-filter-actions,.coach-board-view-actions,
  .coach-video-search-actions,.coach-video-athlete-actions,.coach-video-note-actions,
  .coach-event-actions,.coach-event-form-actions,.coach-needs-actions,
  .ri-profile-photo-actions,.ri-team-logo-actions,.ri-school-actions,
  .ri-camp-form-actions,.ri-college-item-actions,.ri-academic-links,
  .sch-compact-actions,.sgp-billing-actions,.sgp-confirm-actions,.sgp-session-actions,.admin-nav
){display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--sgp-button-gap)!important;min-width:0;max-width:100%}

@media(max-width:640px){
  :root body :is(
    .ri-profile-tabs,.ri-school-tabs,.sgp-recruiting-tabs,.ri-camp-view-tabs,
    .ri-media-view-tabs,.growth-tabs,.family-tabs,.sch-tabs,.coach-tabs
  ){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  :root body :is(
    .ri-profile-tabs,.ri-school-tabs,.sgp-recruiting-tabs,.ri-camp-view-tabs,
    .ri-media-view-tabs,.growth-tabs,.family-tabs,.sch-tabs,.coach-tabs
  )>button{width:100%;height:100%!important}
}
@media(max-width:359px){
  :root body :is(.ri-profile-tabs,.sgp-recruiting-tabs,.growth-tabs,.family-tabs,.sch-tabs){grid-template-columns:minmax(0,1fr)}
}

/* Hidden editor actions stay hidden even though controls use inline-flex. */
:root body :is(button,a,label)[hidden]{display:none!important}
