body.fiaca-session-masked *:not(#fiaca-session-shield):not(#fiaca-session-shield *) { visibility: hidden !important; }
body.fiaca-session-masked dialog:not(#fiaca-session-shield),
body.fiaca-session-masked dialog:not(#fiaca-session-shield)::backdrop { visibility: hidden !important; }

#fiaca-session-shield {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 2rem 1.25rem;
  border: 0;
  box-sizing: border-box;
  background: Canvas;
  color: CanvasText;
  overflow: auto;
  visibility: visible !important;
}
#fiaca-session-shield:not([open]) { display: none; }
#fiaca-session-shield[open] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  text-align: center;
}
#fiaca-session-shield::backdrop { background: Canvas; opacity: 1; }
#fiaca-session-shield * { visibility: visible !important; }
#fiaca-session-shield h2 { margin: 0; font-size: 1.4rem; }
#fiaca-session-shield h2:focus { outline: none; }
#fiaca-session-shield p { margin: 0; max-width: 34rem; font-size: 1.05rem; line-height: 1.5; }
#fiaca-session-shield button {
  min-height: 44px;
  min-width: 44px;
  padding: 0.6rem 1.4rem;
  font: inherit;
  cursor: pointer;
}
#fiaca-session-shield button[hidden] { display: none; }
#fiaca-session-shield .fiaca-modal-close,
#fiaca-session-shield [data-fiaca-legacy-top-close] { display: none !important; }

@media print {
  body.fiaca-session-masked > *:not(#fiaca-session-shield) { display: none !important; }
}
