:root{--s8-pwa-blue:#176df0;--s8-pwa-cyan:#12b7d6;--s8-pwa-ink:#0d2f50}
.s8-pwa-install{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,24px);width:min(92vw,430px);z-index:999999;background:rgba(255,255,255,.98);border:1px solid #d8e7f4;border-radius:22px;box-shadow:0 22px 70px rgba(13,47,80,.24);padding:12px;opacity:0;pointer-events:none;transition:.22s ease;font-family:inherit}.s8-pwa-install.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}.s8-pwa-install-inner{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center}.s8-pwa-app-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,var(--s8-pwa-cyan),var(--s8-pwa-blue));display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px;box-shadow:0 9px 20px rgba(23,109,240,.25)}.s8-pwa-copy strong,.s8-pwa-copy small{display:block}.s8-pwa-copy strong{color:var(--s8-pwa-ink);font-size:13px}.s8-pwa-copy small{color:#7389a0;font-size:10px;line-height:1.35;margin-top:3px}.s8-pwa-install-actions{display:flex;align-items:center;gap:5px}.s8-pwa-install-btn{border:0;border-radius:12px;padding:10px 12px;background:linear-gradient(100deg,var(--s8-pwa-blue),var(--s8-pwa-cyan));color:#fff;font:800 11px/1 inherit;cursor:pointer}.s8-pwa-install-close{width:28px;height:28px;border:0;background:#f2f6fa;border-radius:9px;color:#6f8498;font-size:17px;cursor:pointer}.s8-pwa-network{position:fixed;right:12px;top:max(12px,env(safe-area-inset-top));z-index:999998;padding:7px 10px;border-radius:999px;background:#eafaf2;color:#12814e;font-size:10px;font-weight:800;border:1px solid #c8efda;opacity:.92}.s8-pwa-network.offline{background:#fff3dd;color:#a66500;border-color:#f4d69c}.s8-pwa-ios-help{position:fixed;inset:0;z-index:1000000;background:rgba(7,29,52,.56);display:grid;place-items:end center;padding:18px}.s8-pwa-ios-help[hidden]{display:none!important}.s8-pwa-ios-card{width:min(100%,420px);background:#fff;border-radius:24px;padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.25);color:#123655}.s8-pwa-ios-card h3{margin:0 0 8px;font-size:20px}.s8-pwa-ios-card p{margin:0 0 14px;color:#6d8297;line-height:1.55;font-size:13px}.s8-pwa-ios-card ol{margin:0 0 16px;padding-left:20px;font-size:13px;line-height:1.8}.s8-pwa-ios-card button{width:100%;border:0;border-radius:14px;padding:13px;background:#176df0;color:#fff;font-weight:800}.s8-pwa-standalone body{overscroll-behavior:none}.s8-pwa-standalone .s8-pwa-install{display:none!important}@media(min-width:900px){.s8-pwa-install{bottom:24px}.s8-pwa-network{right:24px;top:18px}}@media(max-width:480px){.s8-pwa-install{bottom:calc(84px + env(safe-area-inset-bottom));}.s8-pwa-copy small{max-width:180px}.s8-pwa-install-inner{grid-template-columns:42px 1fr auto}.s8-pwa-app-icon{width:42px;height:42px;border-radius:13px}}


/* V9.8.1 install CTA, activation and offline queue */
.s8-pwa-install{display:block;position:fixed;left:50%;bottom:86px;z-index:99970;width:min(92vw,520px);transform:translate(-50%,18px);opacity:0;pointer-events:none;transition:.22s}.s8-pwa-install.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}.s8-pwa-install-inner{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #cfe3f7;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 18px 48px rgba(18,65,108,.2);backdrop-filter:blur(14px)}.s8-pwa-app-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#18b8d7,#1768ef);color:#fff;font-weight:950}.s8-pwa-copy{min-width:0;flex:1}.s8-pwa-copy strong,.s8-pwa-copy small{display:block}.s8-pwa-copy strong{color:#123653;font-size:14px}.s8-pwa-copy small{margin-top:3px;color:#71869d;font-size:10px}.s8-pwa-install-actions{display:flex;align-items:center;gap:6px}.s8-pwa-install-btn{height:40px;padding:0 14px;border:0;border-radius:12px;background:#176ff0;color:#fff;font-size:11px;font-weight:900}.s8-pwa-install-close{width:32px;height:32px;border:0;background:#eef4fb;border-radius:10px;color:#60758d;font-size:18px}.s8-pwa-network{position:fixed;top:12px;right:12px;z-index:99960;padding:8px 12px;border-radius:999px;background:#e8f8ef;color:#16884f;font-size:11px;font-weight:900;box-shadow:0 6px 20px #12365318}.s8-pwa-network.offline{background:#fff1d9;color:#b56b00}.s8-pwa-queue-pill{position:fixed;right:12px;top:54px;z-index:99961;padding:8px 12px;border-radius:999px;background:#fff2d8;color:#a96500;font-size:10px;font-weight:900;box-shadow:0 6px 18px #12365314}.s8-pwa-activation{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 80% 8%,#dff5ff,transparent 35%),linear-gradient(160deg,#f7fbff,#eaf5fd)}.s8-pwa-activation[hidden]{display:none}.s8-pwa-activation-card{width:min(100%,420px);box-sizing:border-box;padding:28px;border:1px solid #d8e7f4;border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(18,54,83,.16)}.s8-pwa-activation-logo{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,#18b7d5,#176bf1);color:#fff;font-size:23px;font-weight:950;box-shadow:0 14px 30px #176bf138}.s8-pwa-activation-kicker{display:block;margin-top:20px;color:#1776e5;font-size:10px;font-weight:900;letter-spacing:.14em}.s8-pwa-activation-card h2{margin:7px 0 8px;color:#0f3151;font-size:29px;letter-spacing:-.03em}.s8-pwa-activation-card>p{margin:0 0 20px;color:#71869d;font-size:13px;line-height:1.6}.s8-pwa-activation-card form{display:grid;gap:13px}.s8-pwa-activation-card label span{display:block;margin:0 0 7px;color:#294563;font-size:11px;font-weight:900}.s8-pwa-activation-card input{width:100%;height:54px;box-sizing:border-box;padding:0 15px;border:1px solid #d7e5f2;border-radius:15px;background:#fbfdff;color:#163653;font-size:15px;font-weight:800;outline:0}.s8-pwa-activation-card input:focus{border-color:#3889ef;box-shadow:0 0 0 4px #2380ef16;background:#fff}.s8-pwa-activation-card button{height:56px;border:0;border-radius:15px;background:linear-gradient(120deg,#168bed,#1764ef);color:#fff;font-size:12px;font-weight:950;box-shadow:0 14px 28px #176fee2c}.s8-pwa-activation-card>small{display:block;margin-top:13px;color:#8091a5;font-size:10px;line-height:1.5}.s8-pwa-activation-card>small.error{color:#cf3f4d}.s8-pwa-standalone .s8-pwa-install{display:none!important}@media(max-width:560px){.s8-pwa-install{bottom:76px}.s8-pwa-copy small{display:none}.s8-pwa-install-inner{border-radius:18px}.s8-pwa-network{top:max(8px,env(safe-area-inset-top));font-size:9px}.s8-pwa-queue-pill{top:46px;font-size:9px}.s8-pwa-activation{padding:12px}.s8-pwa-activation-card{padding:24px 20px;border-radius:24px}}

/* V9.8.2 — always-visible install card + install diagnostics */
.s8-pwa-install{display:block!important;visibility:visible;opacity:1!important;pointer-events:auto!important;transform:translate(-50%,0)!important;bottom:calc(82px + env(safe-area-inset-bottom));}
.s8-pwa-install[hidden]{display:block!important;}
.s8-pwa-install-inner{padding:11px 12px;}
.s8-pwa-install-meta{display:flex;gap:8px;flex-wrap:wrap;padding:7px 12px 0;color:#70859a;font-size:9px;font-weight:700;line-height:1.35}
.s8-pwa-install-meta span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid #d9e7f4;border-radius:999px;background:#f7fbff}
.s8-pwa-install.is-ready .s8-pwa-install-status{color:#12814e}
.s8-pwa-install.is-installed{border-color:#c8efd9}
.s8-pwa-install.is-installed .s8-pwa-install-btn{background:#e7f8ef;color:#15844d;cursor:default}
.s8-pwa-install.is-warning .s8-pwa-install-btn{background:linear-gradient(110deg,#1776e8,#18afd1)}
.s8-pwa-install-btn{white-space:nowrap;min-width:88px}
.s8-pwa-standalone .s8-pwa-install{display:none!important}
@media(max-width:560px){
 .s8-pwa-install{width:calc(100vw - 24px);bottom:calc(78px + env(safe-area-inset-bottom));}
 .s8-pwa-install-inner{display:grid;grid-template-columns:44px 1fr auto;gap:9px;padding:10px}
 .s8-pwa-copy small{display:block!important;max-width:none;font-size:9px}
 .s8-pwa-install-meta{padding:5px 10px 0;font-size:8px}
 .s8-pwa-install-btn{height:38px;padding:0 11px;font-size:10px;min-width:78px}
}

/* V9.8.3 install trigger + fallback help */
.s8-pwa-help-icon{width:54px;height:54px;border-radius:17px;background:linear-gradient(145deg,#17b8d7,#176af0);display:grid;place-items:center;color:#fff;font-weight:950;font-size:20px;margin-bottom:14px;box-shadow:0 12px 28px rgba(23,106,240,.25)}
.s8-pwa-help-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.s8-pwa-ios-card .s8-pwa-help-secondary{background:#edf4fb;color:#36536f}.s8-pwa-install.is-checking .s8-pwa-install-btn{opacity:.72}.s8-pwa-install-btn:active{transform:translateY(1px)}

/* V9.9.0 — CTV Mini PWA: activation -> capture -> history/account only */
.s8-pwa-mini .s8-pwa-install{display:none!important}
.s8-pwa-mini .s8-pwa-network{top:max(8px,env(safe-area-inset-top));right:10px}
body.s8-pwa-mini{max-width:520px!important;margin:0 auto!important;background:#eef7fc!important;overflow-x:hidden!important}
.s8-pwa-mini .admin-sidebar,.s8-pwa-mini .sidebar,.s8-pwa-mini #adminSidebar,.s8-pwa-mini [data-admin-sidebar]{display:none!important}
.s8-pwa-mini .desktop-only{display:none!important}
.s8-pwa-mini [data-live-tab="overview"],.s8-pwa-mini [data-live-tab="progress"]{display:none!important}
.s8-pwa-mini [data-nav="home"],.s8-pwa-mini [data-nav="progress"]{display:none!important}
.s8-pwa-mini .s8-pwa-activation{max-width:none!important}
.s8-pwa-mini .s8-pwa-activation-card{width:min(calc(100vw - 28px),410px);padding:24px 20px;border-radius:26px}
.s8-pwa-mini .s8-pwa-activation-logo{width:56px;height:56px;border-radius:18px}
.s8-pwa-mini .s8-pwa-activation-kicker{margin-top:16px}
.s8-pwa-mini .s8-pwa-activation-card h2{font-size:25px;margin-bottom:6px}
.s8-pwa-mini .s8-pwa-activation-card>p{font-size:12px;margin-bottom:16px}
.s8-pwa-mini .s8-pwa-activation-card input{height:52px}
.s8-pwa-mini .s8-pwa-activation-card button{height:54px}
@media(max-width:560px){
 body.s8-pwa-mini{width:100%!important;min-height:100dvh!important}
 .s8-pwa-mini .s8-pwa-activation{padding:10px}
 .s8-pwa-mini .s8-pwa-activation-card{box-shadow:0 20px 55px rgba(18,54,83,.14)}
}


/* V9.9.1 — Isolated Mini PWA: never leak mobile sizing into Admin */
html:not(.s8-pwa-mini) body{max-width:none!important;margin-left:0!important;margin-right:0!important;}
body.s8-pwa-mini{width:100%!important;min-height:100dvh!important;box-sizing:border-box!important;}
body.s8-pwa-mini .s8-app{width:100%!important;max-width:520px!important;margin:0 auto!important;min-height:100dvh!important;}
.s8-pwa-admin-guard{position:fixed;inset:0;z-index:100020;background:radial-gradient(circle at 75% 10%,#dff5ff 0,transparent 34%),linear-gradient(155deg,#f7fbff,#eaf5fd);display:grid;place-items:center;padding:18px;box-sizing:border-box;}
.s8-pwa-admin-guard-card{width:min(100%,430px);background:#fff;border:1px solid #d8e7f4;border-radius:28px;padding:28px;box-shadow:0 28px 80px rgba(18,54,83,.16);color:#123653;box-sizing:border-box;}
.s8-pwa-admin-guard-card h2{margin:8px 0 10px;font-size:28px;letter-spacing:-.03em;color:#0f3151}.s8-pwa-admin-guard-card p{color:#6e849a;line-height:1.6;font-size:13px;margin:0 0 20px}.s8-pwa-admin-guard-card a{display:flex;height:54px;align-items:center;justify-content:center;border-radius:15px;text-decoration:none;background:linear-gradient(120deg,#168bed,#1764ef);color:#fff;font-weight:900;font-size:12px;margin-top:10px;box-shadow:0 12px 26px #176fee25}.s8-pwa-admin-guard-card a.secondary{background:#edf4fb;color:#35536f;box-shadow:none}
.s8-pwa-route:not(.s8-pwa-mini) .s8-pwa-install{display:none!important;}

/* V9.10.0: install CTA is a real link, independent from JS/PWA prompt cache */
.s8-pwa-install-btn,.install-direct-link{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.install-direct-link{border:0;border-radius:14px;padding:12px 17px;background:linear-gradient(100deg,#169eea,#2261ef);color:#fff!important;font-weight:900;font-size:12px;white-space:nowrap}


/* V9.16.3 — Premium compact mobile install card */
@media (max-width:560px){
  .s8-pwa-install{
    width:calc(100vw - 28px)!important;
    bottom:calc(72px + env(safe-area-inset-bottom))!important;
    border:0!important;
    border-radius:24px!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .s8-pwa-install-inner{
    min-height:66px!important;
    padding:10px 11px!important;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    border:1px solid rgba(194,218,243,.92)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:0 12px 34px rgba(26,76,122,.18),0 2px 8px rgba(20,63,103,.08)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  .s8-pwa-app-icon{
    width:46px!important;height:46px!important;border-radius:15px!important;
    overflow:hidden!important;background:#fff!important;box-shadow:0 6px 16px rgba(23,105,238,.18)!important;
    border:1px solid #e3eef9!important;display:grid!important;place-items:center!important;
  }
  .s8-pwa-app-icon img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
  .s8-pwa-copy{min-width:0!important}
  .s8-pwa-copy strong{font-size:13px!important;line-height:1.2!important;color:#0d3153!important;font-weight:900!important;letter-spacing:-.01em!important}
  .s8-pwa-copy small{display:block!important;margin-top:4px!important;max-width:none!important;font-size:9px!important;line-height:1.25!important;color:#8395a7!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .s8-pwa-install-actions{margin-left:2px!important}
  .s8-pwa-install-btn{
    min-width:82px!important;height:40px!important;padding:0 13px!important;border-radius:13px!important;
    background:linear-gradient(135deg,#168be9 0%,#1763ef 100%)!important;
    color:#fff!important;font-size:10px!important;font-weight:900!important;letter-spacing:.02em!important;
    box-shadow:0 8px 18px rgba(23,105,239,.23)!important;border:0!important;
  }
  .s8-pwa-install-btn:active{transform:scale(.97)!important}
  .s8-pwa-install-meta{display:none!important}
}
@media (max-width:390px){
  .s8-pwa-install{width:calc(100vw - 20px)!important;bottom:calc(68px + env(safe-area-inset-bottom))!important}
  .s8-pwa-install-inner{grid-template-columns:42px minmax(0,1fr) auto!important;min-height:60px!important;padding:9px!important;border-radius:20px!important}
  .s8-pwa-app-icon{width:42px!important;height:42px!important;border-radius:14px!important}
  .s8-pwa-copy strong{font-size:12px!important}
  .s8-pwa-copy small{font-size:8.5px!important}
  .s8-pwa-install-btn{min-width:74px!important;height:38px!important;padding:0 10px!important;font-size:9.5px!important}
}
