{
  "version": 3,
  "sources": ["src/app/features/profile/components/profile-qr/profile-qr.component.css"],
  "sourcesContent": ["/*\n * «Mi QR Perrón» (A1·web). Tarjeta compacta de esquina recta (visual-rules §1.1); en móvil el QR va justo bajo el\n * título para que se vea sin scroll tras las pestañas (Q5). El cuadro del QR mide siempre 240 px, cargando o no: el\n * esqueleto ocupa lo mismo y no hay salto al pintarse.\n */\n\n:host {\n  display: block;\n}\n\n.profile-qr {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-3);\n  padding: var(--space-4);\n  background: var(--color-surface-primary);\n  border: 1px solid var(--color-border-light);\n}\n\n.profile-qr__title {\n  margin: 0;\n  font-family: var(--font-family-heading);\n  font-weight: var(--font-weight-heading-bold);\n  font-size: var(--text-size-lg);\n  color: var(--color-text-primary);\n}\n\n.profile-qr__body {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: var(--space-4);\n}\n\n/*\n * Fondo blanco FIJO (`--color-surface-white`, no la superficie semántica que invertiría un tema oscuro): el lector\n * necesita módulos negros sobre blanco, y la zona de silencio (margin 4) es de ese mismo blanco.\n */\n.profile-qr__code {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  width: 240px;\n  height: 240px;\n  background: var(--color-surface-white);\n}\n\n.profile-qr__code--skeleton {\n  background: var(--color-skeleton-base);\n}\n\n.profile-qr__info {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-2);\n  width: 100%;\n}\n\n.profile-qr__text {\n  margin: 0;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-base);\n  color: var(--color-text-primary);\n}\n\n.profile-qr__hint,\n.profile-qr__confirm {\n  margin: 0;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  color: var(--color-text-secondary);\n}\n\n.profile-qr__actions {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-2);\n  margin-top: var(--space-2);\n}\n\n.profile-qr__confirm-actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-2);\n}\n\n.profile-qr__yes,\n.profile-qr__cancel {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  min-height: 2.75rem;\n  padding: var(--space-2) var(--space-4);\n  font-family: var(--font-family-body);\n  font-weight: var(--font-weight-body-medium);\n  font-size: var(--text-size-sm);\n  border-radius: var(--radius-button);\n  cursor: pointer;\n  transition: background var(--transition-fast);\n}\n\n/* Sin `:disabled` ni atenuado mientras vuela el POST: sigue a fuerza completa con su spinner (Q4). */\n.profile-qr__yes {\n  color: var(--color-text-inverse);\n  background: var(--color-action-primary);\n  border: 1px solid var(--color-action-primary);\n}\n\n.profile-qr__yes:hover {\n  background: var(--color-action-primary-hover);\n}\n\n.profile-qr__yes[aria-busy='true'] {\n  cursor: progress;\n}\n\n.profile-qr__cancel {\n  color: var(--color-action-secondary);\n  background: var(--color-surface-primary);\n  border: 1px solid var(--color-border-light);\n}\n\n.profile-qr__cancel:hover {\n  background: var(--color-surface-secondary);\n}\n\n.profile-qr__yes:focus-visible,\n.profile-qr__cancel:focus-visible {\n  outline: 2px solid var(--color-brand-secondary);\n  outline-offset: 2px;\n}\n\n.profile-qr__spinner {\n  display: inline-flex;\n  animation: profile-qr-spin 1s linear infinite;\n}\n\n@keyframes profile-qr-spin {\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .profile-qr__spinner {\n    animation-duration: 2.5s;\n  }\n}\n\n.profile-qr__notice {\n  margin: 0;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-base);\n  color: var(--color-text-primary);\n}\n\n.profile-qr__error {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  gap: var(--space-3);\n}\n\n/*\n * La región `aria-live` existe siempre (si naciera con el mensaje, el lector de pantalla no lo anunciaría). Vacía va\n * oculta solo a la vista y fuera del flujo, para que no sume el `gap`; nada de `display: none`, que la sacaría del\n * árbol de accesibilidad.\n */\n.profile-qr__live {\n  margin: 0;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-text-primary);\n}\n\n.profile-qr__live:empty {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  clip-path: inset(50%);\n}\n\n@media (min-width: 768px) {\n  .profile-qr {\n    padding: var(--space-6);\n  }\n\n  .profile-qr__body {\n    flex-direction: row;\n    align-items: flex-start;\n    gap: var(--space-6);\n  }\n}\n"],
  "mappings": ";AAMA;AACE,WAAA;AACF;AAEA,CAAA;AACE,YAAA;AACA,WAAA;AACA,kBAAA;AACA,OAAA,IAAA;AACA,WAAA,IAAA;AACA,cAAA,IAAA;AACA,UAAA,IAAA,MAAA,IAAA;AACF;AAEA,CAAA;AACE,UAAA;AACA,eAAA,IAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,kBAAA;AACA,eAAA;AACA,OAAA,IAAA;AACF;AAMA,CAAA;AACE,WAAA;AACA,eAAA;AACA,mBAAA;AACA,eAAA;AACA,SAAA;AACA,UAAA;AACA,cAAA,IAAA;AACF;AAEA,CAAA;AACE,cAAA,IAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,kBAAA;AACA,OAAA,IAAA;AACA,SAAA;AACF;AAEA,CAAA;AACE,UAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACF;AAEA,CAAA;;AAEE,UAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,kBAAA;AACA,OAAA,IAAA;AACA,cAAA,IAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,aAAA;AACA,OAAA,IAAA;AACF;AAEA,CAAA;;AAEE,WAAA;AACA,eAAA;AACA,OAAA,IAAA;AACA,cAAA;AACA,WAAA,IAAA,WAAA,IAAA;AACA,eAAA,IAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,iBAAA,IAAA;AACA,UAAA;AACA,cAAA,WAAA,IAAA;AACF;AAGA,CAhBA;AAiBE,SAAA,IAAA;AACA,cAAA,IAAA;AACA,UAAA,IAAA,MAAA,IAAA;AACF;AAEA,CAtBA,eAsBA;AACE,cAAA,IAAA;AACF;AAEA,CA1BA,eA0BA,CAAA;AACE,UAAA;AACF;AAEA;AACE,SAAA,IAAA;AACA,cAAA,IAAA;AACA,UAAA,IAAA,MAAA,IAAA;AACF;AAEA,mBAAA;AACE,cAAA,IAAA;AACF;AAEA,CAxCA,eAwCA;;AAEE,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,aAAA,gBAAA,GAAA,OAAA;AACF;AAEA,WAHE;AAIA;AACE,eAAA,OAAA;AACF;AACF;AAEA,QAAA,wBAAA;AACE,GAZF;AAaI,wBAAA;AACF;AACF;AAEA,CAAA;AACE,UAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,SAAA,IAAA;AACF;AAEA,CAAA;AACE,WAAA;AACA,kBAAA;AACA,eAAA;AACA,OAAA,IAAA;AACF;AAOA,CAAA;AACE,UAAA;AACA,eAAA,IAAA;AACA,aAAA,IAAA;AACA,eAAA,IAAA;AACA,SAAA,IAAA;AACF;AAEA,CARA,gBAQA;AACE,YAAA;AACA,SAAA;AACA,UAAA;AACA,YAAA;AACA,aAAA,MAAA;AACF;AAEA,QAAA,WAAA;AACE,GAjLF;AAkLI,aAAA,IAAA;AACF;AAEA,GAnKF;AAoKI,oBAAA;AACA,iBAAA;AACA,SAAA,IAAA;AACF;AACF;",
  "names": []
}
