/* Business-Theme · Génesis 1.00 · UI de instalación PWA (banner, guía+QR, toast, botón).

   TODAS las variables llevan valor de respaldo, y no es adorno: esta hoja se
   carga también en el sitio público, donde premium.css no está y los tokens
   --pc-* no existen. Sin respaldo, `background:var(--pc-accent)` queda inválido,
   el botón se pinta transparente y el texto blanco sobre blanco: la invitación
   sale, pero el botón de instalar es invisible. Exactamente lo que pasó. */
#pwa-install-btn{position:fixed;right:18px;bottom:18px;z-index:1080;display:inline-flex;align-items:center;gap:8px;
  padding:11px 16px;border:0;border-radius:10px;background:var(--pc-accent, #1d4ed8);color:#fff;font:600 14px var(--pc-font, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  box-shadow:0 12px 26px rgba(65,84,241,.35);cursor:pointer;}
#pwa-install-btn:hover{filter:brightness(1.06);}
#pwa-install-btn{padding-right:20px;}
#pwa-install-x{position:absolute;top:-9px;right:-9px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--pc-accent, #1d4ed8);font-size:16px;line-height:1;font-weight:700;box-shadow:0 3px 10px rgba(1,41,112,.28);border:1px solid var(--pc-border, #ebeef4);cursor:pointer;}
#pwa-install-x:hover{background:var(--pc-accent, #1d4ed8);color:#fff;border-color:var(--pc-accent, #1d4ed8);}

.pwa-install-invite{position:fixed;left:16px;right:16px;bottom:16px;z-index:1075;max-width:460px;margin:0 auto;
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;
  box-shadow:0 18px 44px rgba(1,41,112,.2);border:1px solid var(--pc-border, #ebeef4);}
.pwa-install-invite .ii-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--pc-accent-soft, #eef2ff);color:var(--pc-accent, #1d4ed8);font-size:22px;flex-shrink:0;}
.pwa-install-invite .ii-copy{flex:1;min-width:0;}
.pwa-install-invite .ii-copy strong{display:block;font-size:14px;color:var(--pc-heading, #012970);}
.pwa-install-invite .ii-copy small{display:block;color:var(--pc-text-muted, #6c757d);font-size:12px;}
.pwa-install-invite .ii-action{border:0;border-radius:9px;padding:8px 12px;background:var(--pc-accent, #1d4ed8);color:#fff;font:600 13px var(--pc-font, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);cursor:pointer;white-space:nowrap;}
.pwa-install-invite .ii-x{border:0;background:transparent;color:var(--pc-muted-navy, #899bbd);font-size:18px;cursor:pointer;padding:4px;}

.pwa-guide-backdrop{position:fixed;inset:0;z-index:1090;background:rgba(1,41,112,.45);}
.pwa-guide{position:fixed;z-index:1091;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,94vw);
  background:#fff;border-radius:18px;padding:26px;box-shadow:0 30px 80px rgba(1,41,112,.3);text-align:center;
  /* En teléfono el QR más los tres pasos no caben de alto: sin esto, el botón
     de cerrar queda fuera de la pantalla y no hay forma de salir del diálogo. */
  max-height:92vh;overflow:auto;-webkit-overflow-scrolling:touch;}
.pwa-guide-x{position:absolute;top:12px;right:12px;border:0;background:transparent;color:var(--pc-muted-navy, #899bbd);font-size:20px;cursor:pointer;}
.pwa-guide-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:16px;background:var(--pc-accent-soft, #eef2ff);color:var(--pc-accent, #1d4ed8);font-size:28px;}
.pwa-guide-eyebrow{display:block;color:var(--pc-accent, #1d4ed8);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.pwa-guide h2{margin:4px 0 6px;font-size:21px;color:var(--pc-heading, #012970);font-family:var(--pc-font-title, "Poppins", system-ui, sans-serif);}
.pwa-guide p{margin:0 0 16px;color:var(--pc-text-muted, #6c757d);font-size:14px;}
.pwa-guide-body{display:flex;gap:18px;text-align:left;align-items:center;}
.pwa-qr{flex:0 0 auto;text-align:center;}
.pwa-qr #pwa-qr-box{display:inline-grid;place-items:center;width:168px;height:168px;padding:8px;border:1px solid var(--pc-border, #ebeef4);border-radius:12px;background:#fff;}
.pwa-qr #pwa-qr-box img,.pwa-qr #pwa-qr-box canvas{display:block;}
.pwa-qr small{display:block;margin-top:6px;color:var(--pc-muted-navy, #899bbd);font-size:11px;max-width:168px;}
.pwa-guide-body ol{margin:0;padding-left:18px;color:var(--pc-text, #444444);font-size:13.5px;line-height:1.7;}
.pwa-guide-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;}
.pwa-guide-install{border:0;border-radius:10px;padding:11px 18px;background:var(--pc-accent, #1d4ed8);color:#fff;font:600 14px var(--pc-font, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);cursor:pointer;}
.pwa-guide-close{border:1px solid var(--pc-border, #ebeef4);border-radius:10px;padding:11px 18px;background:#fff;color:var(--pc-text, #444444);font:600 14px var(--pc-font, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);cursor:pointer;}

.pwa-toast{position:fixed;left:16px;bottom:16px;z-index:1095;display:flex;align-items:center;gap:10px;
  padding:12px 16px;border-radius:12px;background:var(--pc-heading, #012970);color:#fff;font:500 13px var(--pc-font, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  box-shadow:0 14px 30px rgba(1,41,112,.3);max-width:360px;}
.pwa-toast i{font-size:18px;}
.pwa-toast button{border:0;border-radius:8px;padding:6px 12px;background:var(--pc-accent, #1d4ed8);color:#fff;font:600 12px var(--pc-font, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);cursor:pointer;margin-left:6px;}

@media (max-width:480px){ .pwa-guide-body{flex-direction:column;} .pwa-qr small{max-width:none;} }

/* ---- La invitación en teléfono -------------------------------------------
   A 360 px, el icono + el texto + el botón + la X en una sola fila dejan al
   texto unos 150 px: se parte en tres renglones y el botón queda espachurrado.
   En pantalla chica el botón se va a su propio renglón, de ancho completo, que
   además es como se toca bien con el pulgar. */
@media (max-width:520px){
  .pwa-install-invite{flex-wrap:wrap;padding:12px;gap:10px;}
  .pwa-install-invite .ii-icon{width:36px;height:36px;font-size:19px;border-radius:10px;}
  .pwa-install-invite .ii-copy{flex:1 1 0;}
  .pwa-install-invite .ii-x{order:2;align-self:flex-start;}
  .pwa-install-invite .ii-action{order:3;flex:1 1 100%;padding:11px;font-size:14.5px;}
}
