/* APEX 9.17 — uporządkowane menu */
.side-nav-group.menu-group{display:block!important;margin:0;padding:0}
.menu-group>summary,.mobile-menu-group>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}
.menu-group>summary::-webkit-details-marker,.mobile-menu-group>summary::-webkit-details-marker{display:none}
.menu-group-summary{width:100%;box-sizing:border-box;position:relative}
.menu-chevron{margin-left:auto;font-style:normal;opacity:.7;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .22s ease}
.menu-group[open]>.menu-group-summary .menu-chevron{transform:rotate(180deg);opacity:1}
.menu-group-content{overflow:hidden;transform-origin:top center;animation:menuReveal .22s cubic-bezier(.2,.8,.2,1)}
@keyframes menuReveal{from{opacity:0;transform:translateY(-5px) scaleY(.97)}to{opacity:1;transform:translateY(0) scaleY(1)}}
/* Wszystkie karty startują zamknięte — JS dodatkowo pilnuje tego po odświeżeniu. */
.desktop-sidebar .menu-group-summary{border-color:rgba(255,255,255,.045);background:rgba(255,255,255,.018)}
.desktop-sidebar .menu-group[open]>.menu-group-summary{color:#fff;background:linear-gradient(110deg,rgba(45,156,255,.12),rgba(59,230,255,.025));border-color:rgba(60,168,243,.14)}
.desktop-sidebar .menu-group-content{margin:5px 0 4px 13px;padding-left:10px;border-left:1px solid rgba(77,174,255,.18)}
.desktop-sidebar .menu-group-content .nav-item{min-height:48px}
/* Elegancki hover wyłącznie na komputerze. */
@media(min-width:1051px){
  .desktop-sidebar .nav-item{transform-origin:left center;will-change:transform,background-color,box-shadow;transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease!important}
  .desktop-sidebar .nav-item:hover{transform:translateX(2px) scale(1.026)!important;color:#fff;background:rgba(58,149,214,.11);border-color:rgba(74,181,255,.13);box-shadow:0 10px 28px rgba(0,0,0,.16);z-index:3}
  .desktop-sidebar .menu-group-summary:hover{transform:translateX(2px) scale(1.018)!important}
}
/* Menu mobilne — także w formie zamkniętych kart. */
.mobile-menu-accordion{display:grid;gap:10px!important}
.mobile-menu-group{display:block;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025);overflow:hidden}
.mobile-menu-group>summary{display:grid;grid-template-columns:34px 1fr 24px;grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:14px 15px;color:#eef8ff}
.mobile-menu-group>summary>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(30,230,255,.07);font-size:16px}
.mobile-menu-group>summary>b{font-size:13px}.mobile-menu-group>summary>small{font-size:9px;color:#7f9aae;margin-top:2px}.mobile-menu-group>summary>i{grid-column:3;grid-row:1/3;font-style:normal;text-align:center;color:#79a4bf;transition:transform .22s ease}
.mobile-menu-group[open]>summary>i{transform:rotate(180deg)}
.mobile-menu-group[open]>summary{background:rgba(30,230,255,.045)}
.mobile-menu-group .mobile-menu-grid{padding:0 10px 10px;animation:menuReveal .2s ease}
/* Stare etykiety grup nie są już potrzebne. */
.side-nav-label{display:none!important}
