/* Fixed Medical OS shell — sidebar and toolbar remain visible at all scroll positions */
@media (min-width:981px) {
  html {height:100%;overflow:hidden;}
  body.brand-os {height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:12px 14px;}
  body.brand-os .os-layout {
    width:100%;max-width:1920px;flex:1;min-height:0;height:calc(100dvh - 24px);
    margin:0 auto;overflow:hidden;display:grid;grid-template-columns:205px minmax(0,1fr);
    border:1px solid #fff;border-radius:24px;background:#f5f7f5;
  }
  body.brand-os .os-side {
    position:relative;top:auto;left:auto;transform:none;
    min-height:0;height:100%;max-height:100%;min-width:0;
    padding:16px 12px 14px;overflow:hidden;display:flex;flex-direction:column;
    background:#fff;z-index:3;
  }
  body.brand-os .os-side .os-brand {flex-shrink:0;padding:4px 5px 13px;}
  body.brand-os .os-side .os-nav-label {flex-shrink:0;margin:0 9px 7px;}
  body.brand-os .os-side .os-nav {flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cadbd2 transparent;gap:1px;align-content:start;}
  body.brand-os .os-side .os-nav-item {min-height:37px;margin:1px 0;padding:7px 10px;line-height:1.25;}
  body.brand-os .os-side .os-side-bottom {flex-shrink:0;margin-top:12px;padding:12px 7px 0;}
  body.brand-os .os-side .os-side-bottom p {margin:7px 0;font-size:10px;line-height:1.5;}
  body.brand-os .os-main {min-width:0;min-height:0;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;}
  body.brand-os .os-top {flex:0 0 70px;min-height:70px;height:70px;position:relative;top:auto;z-index:10;padding:0 24px;box-shadow:0 1px 0 rgba(5,75,65,.05);}
  body.brand-os .os-content {min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bdcec6 #f5f7f5;}
  body.brand-os .os-footer {flex:0 0 auto;min-height:36px;padding:10px 22px;}
}
@media (min-width:981px) and (max-width:1340px) {body.brand-os .os-layout{grid-template-columns:181px minmax(0,1fr)}body.brand-os .os-top{padding:0 18px;}}
@media (max-width:980px) {
  html,body.brand-os {overflow-x:hidden;}
  body.brand-os .os-layout{overflow:visible;min-height:100dvh;}
  body.brand-os .os-top{position:sticky;top:0;z-index:80;height:66px;min-height:66px;}
  body.brand-os .os-side{position:fixed;top:0;bottom:0;left:-265px;width:250px;height:100dvh;max-height:100dvh;transform:none;overflow-y:auto;z-index:100;}
  body.brand-os.os-nav-open .os-side{left:0;transform:none;}
  body.brand-os .os-main{min-height:100dvh;}
}
