/* Intelli-Dental · UI de instalación PWA (banner, guía con QR, toast y botón). Portado de Intelli-Realty. */
#pwa-install-btn{position:fixed;right:18px;bottom:18px;z-index:1080;display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px 11px 16px;border:0;border-radius:12px;background:var(--pc-accent);color:#fff;font:600 14px var(--pc-font, system-ui);
  box-shadow:0 12px 26px rgba(var(--pc-accent-rgb),.35);cursor:pointer;}
#pwa-install-btn[hidden]{display:none;}
#pwa-install-btn:hover{filter:brightness(1.06);}
#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);font-size:16px;line-height:1;font-weight:700;box-shadow:0 3px 10px rgba(16,24,40,.25);border:1px solid var(--pc-border, #e5e9ee);cursor:pointer;}
#pwa-install-x:hover{background:var(--pc-accent);color:#fff;border-color:var(--pc-accent);}
body:has(.pos) #pwa-install-btn{display:none;} /* en el punto de venta estorbaría al botón de cobrar */

.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:16px;background:#fff;
  box-shadow:0 18px 44px rgba(16,24,40,.2);border:1px solid var(--pc-border, #e5e9ee);animation:pwa-up .35s ease-out;}
@keyframes pwa-up{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
.pwa-install-invite .ii-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(var(--pc-accent-rgb),.1);color:var(--pc-accent);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);}
.pwa-install-invite .ii-copy small{display:block;color:var(--pc-muted-navy, #667085);font-size:12px;}
.pwa-install-invite .ii-action{border:0;border-radius:10px;padding:9px 14px;background:var(--pc-accent);color:#fff;font:600 13px var(--pc-font, system-ui);cursor:pointer;white-space:nowrap;}
.pwa-install-invite .ii-x{display:grid;place-items:center;border:0;background:transparent;color:var(--pc-muted-navy, #667085);cursor:pointer;padding:4px;}

.pwa-guide-backdrop{position:fixed;inset:0;z-index:1090;background:rgba(16,24,40,.45);}
.pwa-guide{position:fixed;z-index:1091;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,94vw);max-height:92vh;overflow:auto;
  background:#fff;border-radius:20px;padding:26px;box-shadow:0 30px 80px rgba(16,24,40,.3);text-align:center;}
.pwa-guide-x{position:absolute;top:12px;right:12px;display:grid;place-items:center;border:0;background:transparent;color:var(--pc-muted-navy, #667085);cursor:pointer;}
.pwa-guide-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:16px;background:rgba(var(--pc-accent-rgb),.1);color:var(--pc-accent);}
.pwa-guide-icon svg{width:28px;height:28px;}
.pwa-guide-eyebrow{display:block;color:var(--pc-accent);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);}
.pwa-guide p{margin:0 0 16px;color:var(--pc-muted-navy, #667085);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, #e5e9ee);border-radius:12px;background:#fff;box-sizing:content-box;}
.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, #667085);font-size:11px;max-width:168px;}
.pwa-guide-body ol{margin:0;padding-left:18px;color:var(--pc-heading);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);color:#fff;font:600 14px var(--pc-font, system-ui);cursor:pointer;}
.pwa-guide-close{border:1px solid var(--pc-border, #e5e9ee);border-radius:10px;padding:11px 18px;background:#fff;color:var(--pc-heading);font:600 14px var(--pc-font, system-ui);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, #101828);color:#fff;font:500 13px var(--pc-font, system-ui);
  box-shadow:0 14px 30px rgba(16,24,40,.3);max-width:360px;}
.pwa-toast button{border:0;border-radius:8px;padding:6px 12px;background:var(--pc-accent);color:#fff;font:600 12px var(--pc-font, system-ui);cursor:pointer;margin-left:6px;}

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