/* Kanisa app shell parts (menu, sheet, toast, lock). Only .kpwa-* classes: safe to load on the church sign-in page. */
/* hamburger menu, same items as the Android app */
.kpwa-menu { position:fixed; z-index:2147483000; right:10px; top:calc(10px + env(safe-area-inset-top)); width:min(320px,calc(100vw - 20px)); background:#202124; color:#f1f3f4; border-radius:16px; box-shadow:0 10px 36px rgba(0,0,0,.45); padding:6px 0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.kpwa-menu[hidden] { display:none; } .kpwa-menu button { display:flex; align-items:center; gap:14px; width:100%; min-height:52px; background:none; border:0; color:inherit; font-size:1rem; text-align:left; padding:0 18px; cursor:pointer; }
.kpwa-menu button:hover, .kpwa-menu button:focus-visible { background:rgba(255,255,255,.08); outline:none; } .kpwa-menu button[hidden] { display:none; } .kpwa-menu svg { flex:none; width:22px; height:22px; stroke:#bdc1c6; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; } .kpwa-menu .lbl { flex:1; }
.kpwa-sw { flex:none; width:52px; height:30px; border-radius:15px; background:#5f6368; position:relative; transition:background .15s; } .kpwa-sw::after { content:""; position:absolute; top:3px; left:3px; width:24px; height:24px; border-radius:50%; background:#fff; transition:left .15s; } .kpwa-sw[aria-checked="true"] { background:#8b5cf6; } .kpwa-sw[aria-checked="true"]::after { left:25px; }
.kpwa-scrim { position:fixed; inset:0; z-index:2147482999; background:rgba(0,0,0,.25); }
.kpwa-tab { position:fixed; z-index:2147482000; left:0; top:38%; width:20px; height:56px; border:0; border-radius:0 12px 12px 0; background:rgba(30,45,140,.55); color:#fff; cursor:pointer; display:grid; place-items:center; padding:0; }
.kpwa-tab:hover, .kpwa-tab:focus-visible { background:rgba(30,45,140,.95); width:28px; outline:none; } .kpwa-tab svg { width:16px; height:16px; stroke:#fff; fill:none; stroke-width:2.4; stroke-linecap:round; }
.kpwa-sheet { position:fixed; z-index:2147483100; left:0; right:0; bottom:0; background:#fff; color:#1f2340; border-radius:22px 22px 0 0; padding:20px 18px calc(18px + env(safe-area-inset-bottom)); box-shadow:0 -10px 34px rgba(0,0,0,.3); max-height:86vh; overflow:auto; font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.kpwa-sheet h3 { margin:0 0 10px; font-size:1.2rem; } .kpwa-sheet ol { padding-left:20px; line-height:1.6; } .kpwa-sheet .row { display:flex; gap:8px; margin:10px 0; flex-wrap:wrap; } .kpwa-sheet .row button { flex:1; min-width:90px; min-height:46px; border-radius:12px; border:2px solid #cfd3f0; background:#fff; font-size:1rem; font-weight:600; cursor:pointer; color:#1f2340; } .kpwa-sheet .row button[aria-pressed="true"] { background:#1E2D8C; color:#fff; border-color:#1E2D8C; }
.kpwa-sheet .done { display:block; width:100%; min-height:50px; margin-top:12px; border:0; border-radius:14px; background:#D9A11B; color:#1b1400; font-size:1.05rem; font-weight:700; cursor:pointer; } .kpwa-sheet .why { font-size:.85rem; color:#5b6080; } .kpwa-sheet .alt { display:block; width:100%; min-height:48px; margin-top:8px; border:0; border-radius:14px; background:#1E2D8C; color:#fff; font-size:1rem; font-weight:700; cursor:pointer; }
.kpwa-toast { position:fixed; z-index:2147483200; left:50%; transform:translateX(-50%); bottom:calc(24px + env(safe-area-inset-bottom)); max-width:92vw; background:#202124; color:#fff; padding:12px 18px; border-radius:14px; font:600 .95rem system-ui,sans-serif; box-shadow:0 6px 20px rgba(0,0,0,.35); } .kpwa-toast.bad { background:#b42318; } .kpwa-toast button { margin-left:12px; background:#D9A11B; border:0; border-radius:8px; padding:6px 12px; font-weight:700; cursor:pointer; }
.kpwa-nomotion *, .kpwa-nomotion *::before, .kpwa-nomotion *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }

.kpwa-splash { position:fixed; inset:0; z-index:2147483000; background:linear-gradient(160deg,#14226e,#1E2D8C 60%,#2a4aa8); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:24px; font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; transition:opacity .4s; }
.kpwa-splash.out { opacity:0; pointer-events:none; }
.kpwa-splash img { width:112px; height:112px; object-fit:cover; border-radius:26px; border:3px solid #fff; background:#0B1240; box-shadow:0 10px 30px rgba(0,0,0,.35); animation:kpwa-pop .7s cubic-bezier(.2,.9,.3,1.2) both, kpwa-glow 1.6s .7s ease-in-out infinite; }
.kpwa-splash b { font-size:1.4rem; animation:kpwa-rise .6s .25s both; } .kpwa-splash span { opacity:.8; animation:kpwa-rise .6s .45s both; }
@keyframes kpwa-pop { from { transform:scale(.4); opacity:0; } to { transform:scale(1); opacity:1; } }
@keyframes kpwa-rise { from { transform:translateY(14px); opacity:0; } to { transform:none; opacity:1; } }
@keyframes kpwa-glow { 0%,100% { box-shadow:0 10px 30px rgba(0,0,0,.35), 0 0 0 0 rgba(217,161,27,.0); } 50% { box-shadow:0 10px 30px rgba(0,0,0,.35), 0 0 0 14px rgba(217,161,27,.28); } }
@media (prefers-reduced-motion: reduce) { .kpwa-splash img, .kpwa-splash b, .kpwa-splash span { animation:none; } }
