/* SLPT R27 B5a — professional sidebar visual polish only. */
:root{
  --r256a-owner:#8d2931;
  --r256a-coach:#7859b8;
  --r256a-clinician:#178f88;
  --r256a-ink:#222938;
  --r256a-muted:#6f7888;
  --r256a-line:#e4e8ef;
}
@media(min-width:901px){
  html[data-role="owner"] #appView .sidebar{--r256a-role:var(--r256a-owner)}
  html[data-role="coach"] #appView .sidebar{--r256a-role:var(--r256a-coach)}
  html[data-role="clinician"] #appView .sidebar{--r256a-role:var(--r256a-clinician)}

  html[data-role="owner"] #appView .sidebar,
  html[data-role="coach"] #appView .sidebar,
  html[data-role="clinician"] #appView .sidebar{
    background:
      radial-gradient(circle at 18% 6%,color-mix(in srgb,var(--r256a-role) 14%,transparent) 0,transparent 31%),
      linear-gradient(180deg,#fff 0%,#fbfcfe 46%,#f6f8fb 100%)!important;
    color:var(--r256a-ink)!important;
    border-right:1px solid color-mix(in srgb,var(--r256a-role) 14%,var(--r256a-line))!important;
    box-shadow:14px 0 34px rgba(31,38,54,.065),inset -1px 0 rgba(255,255,255,.92)!important;
  }

  html[data-role="owner"] #appView .sidebar .sidebar-brand-row,
  html[data-role="coach"] #appView .sidebar .sidebar-brand-row,
  html[data-role="clinician"] #appView .sidebar .sidebar-brand-row{
    border-bottom:1px solid color-mix(in srgb,var(--r256a-role) 12%,var(--r256a-line))!important;
  }

  html[data-role="owner"] #appView .sidebar .brand,
  html[data-role="coach"] #appView .sidebar .brand,
  html[data-role="clinician"] #appView .sidebar .brand{
    filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--r256a-role) 15%,transparent));
  }
  html[data-role="owner"] #appView .sidebar .brand b,
  html[data-role="coach"] #appView .sidebar .brand b,
  html[data-role="clinician"] #appView .sidebar .brand b{color:var(--r256a-role)!important}

  html[data-role="owner"] #appView .sidebar .nav button,
  html[data-role="coach"] #appView .sidebar .nav button,
  html[data-role="clinician"] #appView .sidebar .nav button{
    background:rgba(255,255,255,.72)!important;
    border-color:rgba(222,228,237,.78)!important;
    box-shadow:0 4px 12px rgba(31,38,54,.035)!important;
    color:#4a5261!important;
  }
  html[data-role="owner"] #appView .sidebar .nav button:hover:not(.hidden),
  html[data-role="coach"] #appView .sidebar .nav button:hover:not(.hidden),
  html[data-role="clinician"] #appView .sidebar .nav button:hover:not(.hidden){
    background:color-mix(in srgb,var(--r256a-role) 5%,#fff)!important;
    border-color:color-mix(in srgb,var(--r256a-role) 22%,var(--r256a-line))!important;
    box-shadow:0 8px 18px rgba(31,38,54,.065)!important;
    color:var(--r256a-ink)!important;
  }
  html[data-role="owner"] #appView .sidebar .nav button.active,
  html[data-role="coach"] #appView .sidebar .nav button.active,
  html[data-role="clinician"] #appView .sidebar .nav button.active{
    background:linear-gradient(135deg,color-mix(in srgb,var(--r256a-role) 17%,#fff),color-mix(in srgb,var(--r256a-role) 7%,#fff))!important;
    color:var(--r256a-role)!important;
    border-color:color-mix(in srgb,var(--r256a-role) 28%,var(--r256a-line))!important;
    box-shadow:inset 3px 0 var(--r256a-role),0 8px 18px color-mix(in srgb,var(--r256a-role) 10%,transparent)!important;
  }
  html[data-role="owner"] #appView .sidebar .nav button.active .r23-nav-icon,
  html[data-role="coach"] #appView .sidebar .nav button.active .r23-nav-icon,
  html[data-role="clinician"] #appView .sidebar .nav button.active .r23-nav-icon{
    color:var(--r256a-role)!important;
    background:color-mix(in srgb,var(--r256a-role) 13%,#fff)!important;
    border-color:color-mix(in srgb,var(--r256a-role) 25%,transparent)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.82)!important;
  }

  html[data-theme="mist-graphite"][data-role="owner"] #appView .sidebar,
  html[data-theme="mist-graphite"][data-role="coach"] #appView .sidebar,
  html[data-theme="mist-graphite"][data-role="clinician"] #appView .sidebar{
    background:
      radial-gradient(circle at 18% 5%,color-mix(in srgb,var(--r256a-role) 25%,transparent) 0,transparent 32%),
      linear-gradient(180deg,#121c2b 0%,#0e1826 100%)!important;
    color:#eef4fb!important;
    border-right-color:color-mix(in srgb,var(--r256a-role) 26%,#26364a)!important;
    box-shadow:16px 0 38px rgba(0,0,0,.23)!important;
  }
  html[data-theme="mist-graphite"] #appView .sidebar .nav button{
    background:rgba(255,255,255,.045)!important;
    border-color:rgba(255,255,255,.075)!important;
    color:#dbe4ef!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #appView .sidebar .nav button{transition:none!important}
}
