#neoBoot.neoBoot{
  position:fixed !important;
  inset:0 !important;
  top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  min-width:100vw !important;
  min-height:100vh !important;
  min-height:100dvh !important;
  margin:0 !important;
  padding:24px !important;
  z-index:2147483000 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transform:none !important;
}
#neoBoot.neoBoot.neoBootOff{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
#neoBoot .neoBootGrid{position:absolute !important;inset:0 !important;pointer-events:none !important;}
#neoBoot .neoBootCore{
  position:relative !important;
  flex:0 0 auto !important;
  margin:0 0 18px !important;
  top:auto !important;left:auto !important;
  transform:none !important;
}
#neoBoot .neoBootText{
  position:relative !important;
  flex:0 0 auto !important;
  top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;
  transform:none !important;
  width:min(88vw,460px) !important;
  margin:0 !important;
  text-align:center !important;
  z-index:3 !important;
}
#neoBoot #neoBootSkip{z-index:5 !important;pointer-events:auto !important;}

/* LOGIN deve restare un overlay vero dopo la boot sequence */
#authGate{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  z-index:200000 !important;
}
#authGate.hidden{display:none !important;}

/* APP */
#appWrap{position:relative !important;z-index:1 !important;}
#appWrap .plainHeader{
  position:relative !important;
  z-index:5000 !important;
  isolation:isolate !important;
  pointer-events:auto !important;
}
#appWrap .privateHeaderActions{
  position:absolute;
  z-index:5100 !important;
  pointer-events:auto !important;
}
#appWrap .privateHeaderActions > *{pointer-events:auto !important;}
#adminBtn{
  position:relative !important;
  z-index:5200 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
#adminBtn:not(.hidden){display:inline-flex !important;align-items:center !important;justify-content:center !important;}

/* ADMIN: l'ID deve vincere sul vecchio selettore globale */
#adminOverlay.adminOverlay{
  position:fixed !important;
  inset:0 !important;
  top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  margin:0 !important;
  padding:14px !important;
  z-index:210000 !important;
  display:none !important;
  align-items:stretch !important;
  justify-content:center !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
#adminOverlay.adminOverlay.open{
  display:flex !important;
  pointer-events:auto !important;
}
#adminOverlay .adminPanel{
  position:relative !important;
  z-index:1 !important;
  width:min(1120px,100%) !important;
  max-width:1120px !important;
  height:100% !important;
  max-height:100% !important;
  margin:0 auto !important;
  overflow:auto !important;
  pointer-events:auto !important;
}
#adminOverlay #adminClose{pointer-events:auto !important;cursor:pointer !important;}

@media(max-width:700px){
  #neoBoot.neoBoot{padding:18px !important;}
  #neoBoot .neoBootCore{width:190px !important;height:190px !important;margin:0 0 16px !important;}
  #neoBoot .neoBootText{width:min(92vw,430px) !important;}
  #appWrap .privateHeaderActions{
    position:static !important;
    transform:none !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
    margin-top:12px !important;
  }
  #adminOverlay.adminOverlay{padding:6px !important;}
  #adminOverlay .adminPanel{border-radius:18px !important;}
}
