/* ControlPDV Portal stable sidebar shell — semantic theme contract */
@media (min-width:981px){
  .portal>.sidebar{
    display:flex!important;flex-direction:column!important;box-sizing:border-box!important;
    height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;
  }
  .portal>.sidebar .brandline,.portal>.sidebar .pdv-launch-side,.portal>.sidebar .sidebar-footer{flex:0 0 auto!important}
  .portal>.sidebar .nav{
    flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;
    align-content:start!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:3px;
  }
  .portal>.sidebar .sidebar-footer{
    margin-top:12px!important;padding-top:14px!important;border-top:1px solid var(--cp-border)!important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--cp-sidebar) 0%,transparent),var(--cp-sidebar) 24%)!important;
    position:relative!important;z-index:2;
  }
  .portal>.sidebar .user-mini{max-width:100%;min-width:0}
  .portal>.sidebar .nav::-webkit-scrollbar{width:6px}
  .portal>.sidebar .nav::-webkit-scrollbar-thumb{background:var(--cp-border-strong);border-radius:999px}
}

[data-admin-shift-modal="1"]{
  position:fixed!important;inset:0!important;z-index:12000!important;display:grid!important;place-items:center!important;
  padding:20px!important;overflow:auto!important;box-sizing:border-box;
  background:color-mix(in srgb,var(--cp-bg) 76%,transparent)!important;backdrop-filter:blur(4px);
}
[data-admin-shift-modal="1"]>.modal{
  position:relative!important;inset:auto!important;display:block!important;width:min(620px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 40px)!important;overflow:auto!important;margin:auto!important;padding:22px!important;
  border:1px solid var(--cp-border-strong)!important;border-radius:16px!important;background:var(--cp-surface)!important;
  color:var(--cp-text)!important;box-shadow:var(--cp-shadow)!important;transform:none!important;
}
[data-admin-shift-modal="1"] .form-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
[data-admin-shift-modal="1"] button{position:relative;z-index:1}
@media(max-width:680px){
  [data-admin-shift-modal="1"]{padding:10px!important}
  [data-admin-shift-modal="1"]>.modal{width:100%!important;max-height:calc(100vh - 20px)!important;padding:16px!important}
}
