/* Acceso obligatorio antes de montar la aplicación. */
html.bv-sso-pending { background: #f5f6f8; }
html.bv-sso-pending body > .bv-topbar,
html.bv-sso-pending body > #bvDrawerOverlay,
html.bv-sso-pending body > #bvDrawer,
html.bv-sso-pending body > main,
html.bv-sso-pending body > #inspectorPicker,
html.bv-sso-pending body > #modal { display: none !important; }
.bv-sso-screen { min-height: 100dvh; display: grid; place-items: center; padding: 20px; background: #f5f6f8; color: #202a38; }
.bv-sso-screen[hidden] { display: none !important; }
.bv-sso-card { width: 100%; max-width: 440px; background: white; border: 1px solid #e0e5eb; border-radius: 10px; padding: 30px 26px; }
.bv-sso-brand { display: flex; align-items: center; gap: 12px; color: #172033; font-size: 15px; font-weight: 700; margin-bottom: 28px; }
.bv-sso-brand small { display: block; font-weight: 400; font-size: 12px; color: #6c7785; margin-top: 2px; }
.bv-sso-mark { display: grid; place-items: center; height: 35px; width: 35px; border-radius: 7px; background: #f7b900; color: #172033; font-weight: 800; }
.bv-sso-card h1 { font-size: 19px; line-height: 1.35; margin: 0 0 10px; }
.bv-sso-card p { font-size: 14px; line-height: 1.65; color: #5d6775; margin: 0; }
#bvSsoActions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
#bvSsoActions[hidden] { display: none !important; }
#bvSsoActions .btn { text-decoration: none; }
@media (max-width: 360px) { .bv-sso-card { padding: 24px 18px; } }

/* Inicio discreto como Anexo Virtual: mostrar solo spinner durante OAuth. */
.bv-sso-screen.bv-sso-loading .bv-sso-card {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.bv-sso-screen.bv-sso-loading::before {
  content: '';
  width: 36px;
  height: 36px;
  display: block;
  box-sizing: border-box;
  border: 4px solid #737f8e;
  border-right-color: transparent;
  border-radius: 50%;
  animation: bv-sso-spin .75s linear infinite;
}
@keyframes bv-sso-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .bv-sso-screen.bv-sso-loading::before { animation-duration: 2.25s; }
}
