/* v12.2.12 - PWA Premium / Banner instalación LFA */
/* v12.2.9 - PWA Premium / Banner instalación LFA */
: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:390px;
  margin:0 auto;
  border:0;
  border-radius:22px;
  overflow:hidden;
  background:var(--lfa-pwa-install-bg, linear-gradient(135deg,#0f172a,#193a8a 55%,#2854f0));
  color:var(--lfa-pwa-install-text,#fff);
  box-shadow:0 22px 65px rgba(15,23,42,.38);
  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-inner{display:flex;align-items:center;gap:.72rem;padding:.88rem 1rem .82rem 1rem;position:relative;}
.pwa-install-content{min-width:0;flex:1;padding-right:1.15rem;}
.pwa-install-title{font-weight:950;line-height:1.05;font-size:.98rem;letter-spacing:-.02em;}
.pwa-install-text{font-size:.78rem;line-height:1.08;color:var(--lfa-pwa-install-muted,rgba(255,255,255,.78));font-weight:400;margin-top:.12rem;max-width:245px;}
.pwa-install-card .pwa-icon{
  width:48px;height:48px;border-radius:15px;background:#0b1220;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 10px 24px rgba(2,6,23,.22);
  overflow:hidden;padding:7px;
}
.pwa-install-card .pwa-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;background:var(--lfa-pwa-install-icon-bg,#00a86b);}
.pwa-install-card .pwa-install-actions{ display:flex; flex-direction:row; gap:.45rem; align-items:center; margin-top:.45rem; flex-wrap:wrap; }
.pwa-install-card .btn-install{
  background:var(--lfa-pwa-install-button-bg,#fff);color:var(--lfa-pwa-install-button-text,#111827);border:0;border-radius:999px;font-weight:950;padding:.43rem .9rem;font-size:.78rem;line-height:1;
}
.pwa-install-card .btn-install-later{
  background:var(--lfa-pwa-install-later-bg,rgba(255,255,255,.16)); color:var(--lfa-pwa-install-later-text,#fff); border:1px solid rgba(255,255,255,.14);
  border-radius:999px; font-weight:900; padding:.43rem .78rem; font-size:.72rem; white-space:nowrap;line-height:1;
}
.pwa-install-card .btn-close-pwa{
  position:absolute;top:.52rem;right:.62rem;color:var(--lfa-pwa-install-text,#fff); opacity:.86; background:transparent; border:0; font-size:1.15rem; line-height:1;font-weight:900;padding:.15rem .25rem;
}
@media (min-width: 768px){ .pwa-install-card{ left:auto; right:1.25rem; width:390px; margin:0; } }
@media (max-width:420px){
  .pwa-install-card{ left:.75rem; right:.75rem; max-width:none; }
  .pwa-install-inner{ gap:.62rem; padding:.78rem .86rem .72rem; }
  .pwa-install-card .pwa-icon{ width:44px;height:44px;border-radius:14px;padding:6px; }
  .pwa-install-title{font-size:.93rem;}
  .pwa-install-text{font-size:.73rem;max-width:210px;}
  .pwa-install-card .btn-install{ padding:.42rem .78rem; font-size:.73rem; }
  .pwa-install-card .btn-install-later{ padding:.42rem .68rem; font-size:.68rem; }
}
.pwa-splash{
  position:fixed; inset:0; z-index:3000; display:none; place-items:center;
  background:var(--lfa-pwa-splash-bg, radial-gradient(circle at 50% 12%,rgba(37,99,235,.35),transparent 34%),linear-gradient(160deg,#0f172a,#111827 54%,#020617));
  color:var(--lfa-pwa-splash-text,#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:var(--lfa-pwa-splash-muted,rgba(255,255,255,.72)); font-weight:700; margin-top:.25rem; }
.pwa-splash-text{ color:var(--lfa-pwa-splash-muted,rgba(255,255,255,.72)); }
.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); } }

/* 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); } }
