
/* v14.7.2 - PWA Premium / Banner inteligente de instalación */
:root{ --pwa-safe-top: env(safe-area-inset-top); --pwa-safe-bottom: env(safe-area-inset-bottom); }
@media (display-mode: standalone){
  body{ overscroll-behavior-y:none; -webkit-user-select:none; user-select:none; }
  input, textarea, [contenteditable="true"]{ -webkit-user-select:text; user-select:text; }
  .pwa-hide-when-installed{ display:none !important; }
}
body.pwa-standalone .navbar,
body.pwa-ios-standalone .navbar,
body.pwa-standalone .admin-navbar,
body.pwa-ios-standalone .admin-navbar{
  padding-top: max(.65rem, env(safe-area-inset-top));
}
.pwa-install-card{
  position:fixed;
  left:1rem; right:1rem;
  bottom:calc(1rem + env(safe-area-inset-bottom));
  z-index:1080;
  max-width:560px;
  margin:0 auto;
  border:0;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg,#0f172a,#111827 55%,#1d4ed8);
  color:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.35);
  transform:translateY(130%);
  opacity:0;
  pointer-events:none;
  transition:transform .25s ease, opacity .25s ease;
}
.pwa-install-card.show{ transform:translateY(0); opacity:1; pointer-events:auto; }
.pwa-install-card .pwa-icon{
  width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.14);
  display:inline-flex;align-items:center;justify-content:center;font-size:1.45rem;flex:0 0 auto;
}
.pwa-install-card .btn-install{
  background:#fff;color:#111827;border:0;border-radius:999px;font-weight:900;padding:.6rem .95rem;
}
.pwa-install-card .pwa-install-actions{ display:flex; flex-direction:column; gap:.35rem; align-items:stretch; flex:0 0 auto; }
.pwa-install-card .btn-install-later{
  background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.22);
  border-radius:999px; font-weight:850; padding:.42rem .72rem; font-size:.72rem; white-space:nowrap;
}

.pwa-install-card .btn-close-pwa{ color:#fff; opacity:.9; background:transparent; border:0; font-size:1.1rem; }
.pwa-splash{
  position:fixed; inset:0; z-index:3000; display:none; place-items:center;
  background:radial-gradient(circle at 50% 12%,rgba(37,99,235,.35),transparent 34%),linear-gradient(160deg,#0f172a,#111827 54%,#020617);
  color:#fff;
}
body.pwa-booting .pwa-splash{ display:grid; }
.pwa-splash-card{ text-align:center; padding:2rem; }
.pwa-splash-logo{ width:92px;height:92px;border-radius:28px;margin:0 auto 1rem;background:#111827;box-shadow:0 20px 50px rgba(0,0,0,.35);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.16);}
.pwa-splash-logo img{ width:100%;height:100%;object-fit:cover; }
.pwa-splash-title{ font-size:1.35rem; font-weight:950; letter-spacing:.02em; }
.pwa-splash-subtitle{ color:rgba(255,255,255,.72); font-weight:700; margin-top:.25rem; }
.pwa-loader{ width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.22);border-top-color:#fff;margin:1.25rem auto 0;animation:pwa-spin .85s linear infinite; }
@keyframes pwa-spin{ to{ transform:rotate(360deg); } }
@media (min-width: 768px){ .pwa-install-card{ left:auto; right:1.25rem; width:420px; margin:0; } }

/* v14.7.1 - Guía visual de instalación iPhone */
body.pwa-guide-open{ overflow:hidden; }
.pwa-ios-guide{
  position:fixed; inset:0; z-index:3090; display:none; place-items:center;
  padding:1rem; background:rgba(2,6,23,.68); backdrop-filter:blur(10px);
}
.pwa-ios-guide.show{ display:grid; }
.pwa-ios-guide-box{
  position:relative; width:min(94vw,460px); max-height:calc(100vh - 2rem); overflow:auto;
  border-radius:28px; padding:1.1rem;
  background:linear-gradient(180deg,#ffffff,#f8fafc); color:#0f172a;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}
.pwa-ios-guide-close{
  position:absolute; top:.85rem; right:.85rem; width:38px; height:38px; border-radius:50%;
  border:0; background:#eef2ff; color:#1e293b; display:grid; place-items:center;
}
.pwa-ios-guide-header{ display:flex; gap:.9rem; align-items:center; padding-right:2.4rem; margin-bottom:1rem; }
.pwa-ios-guide-logo{ width:58px;height:58px;border-radius:18px;overflow:hidden;box-shadow:0 14px 32px rgba(15,23,42,.18);flex:0 0 auto; }
.pwa-ios-guide-logo img{ width:100%;height:100%;object-fit:cover; }
.pwa-ios-guide-title{ font-weight:950; font-size:1.15rem; letter-spacing:-.02em; }
.pwa-ios-guide-subtitle{ color:#64748b; font-size:.86rem; line-height:1.2; font-weight:700; }
.pwa-ios-steps{ display:grid; gap:.75rem; }
.pwa-ios-step{
  display:flex; align-items:center; gap:.75rem; position:relative;
  padding:.85rem; border-radius:20px; background:#f1f5f9; border:1px solid #e2e8f0;
}
.pwa-ios-step strong{ display:block; font-size:.95rem; }
.pwa-ios-step small{ display:block; color:#64748b; font-weight:650; line-height:1.25; margin-top:.1rem; }
.pwa-ios-step-num{ width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#0f172a;color:#fff;font-weight:950; }
.pwa-ios-share-icon{ width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#dbeafe;color:#1d4ed8;font-size:1.35rem;flex:0 0 auto;animation:pwa-share-pulse 1.2s ease-in-out infinite; }
.pwa-ios-tip{ margin-top:.9rem; padding:.8rem .9rem; border-radius:18px; background:#eff6ff; color:#1e40af; font-weight:800; font-size:.86rem; display:flex; gap:.5rem; align-items:flex-start; }
.pwa-ios-guide-ok{ width:100%; margin-top:1rem; border:0; border-radius:999px; padding:.82rem 1rem; font-weight:950; color:#fff; background:linear-gradient(135deg,#0f172a,#1d4ed8); }
@keyframes pwa-share-pulse{ 0%,100%{ transform:scale(1); box-shadow:0 0 0 rgba(37,99,235,0); } 50%{ transform:scale(1.05); box-shadow:0 0 0 8px rgba(37,99,235,.11); } }
@media (max-width:420px){
  .pwa-install-card .p-3{ gap:.55rem!important; padding:.75rem!important; }
  .pwa-install-card .pwa-icon{ width:42px;height:42px;border-radius:14px; }
  .pwa-install-card .btn-install{ padding:.55rem .7rem; font-size:.84rem; }
  .pwa-install-card .btn-install-later{ padding:.34rem .55rem; font-size:.66rem; }
  .pwa-install-card .btn-close-pwa{ padding:.3rem; }
}
