/* MoMPA HOME — install card + first-open set-up sheet (v154). Same look everywhere; phone first; 44px targets. */
.pwi-lock{overflow:hidden}
#pwi{position:fixed;inset:0;z-index:9990;display:flex;align-items:flex-end;justify-content:center;padding:0;opacity:0;transition:opacity .25s}
#pwi.on{opacity:1}
#pwi .pwi-bg{position:absolute;inset:0;background:rgba(28,18,24,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#pwi .pwi-card{position:relative;width:100%;max-width:440px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;background:#FFFCF9;border-radius:28px 28px 0 0;box-shadow:0 -24px 60px rgba(70,20,60,.35);transform:translateY(24px);transition:transform .3s cubic-bezier(.2,.8,.2,1);font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:#1C1218;padding:0 18px calc(18px + env(safe-area-inset-bottom,0px))}
#pwi.on .pwi-card{transform:translateY(0)}
@media (min-width:600px){#pwi{align-items:center;padding:16px}#pwi .pwi-card{border-radius:28px;padding-bottom:20px}}
#pwi .pwi-x{position:absolute;top:10px;right:10px;z-index:2;width:44px;height:44px;border:0;border-radius:14px;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;cursor:pointer}
#pwi .pwi-x svg{width:22px;height:22px}
#pwi .pwi-hero{position:relative;overflow:hidden;margin:0 -18px;padding:30px 22px 22px;text-align:center;color:#fff;background:radial-gradient(80% 90% at 100% 0%,rgba(199,154,60,.38),transparent 60%),linear-gradient(150deg,#5A1A4E 0%,#46143C 55%,#24102E 100%);border-radius:28px 28px 0 0}
#pwi .pwi-hero.small{padding:24px 22px 18px}
#pwi .pwi-glow{position:absolute;left:50%;top:14px;width:160px;height:160px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 68%);pointer-events:none}
#pwi .pwi-logo{position:relative;width:84px;height:84px;border-radius:24px;background:#fff;padding:8px;box-sizing:border-box;box-shadow:0 14px 30px rgba(0,0,0,.35),0 0 0 4px rgba(255,255,255,.14)}
#pwi .pwi-hero.small .pwi-logo{width:64px;height:64px;border-radius:18px;padding:6px}
#pwi .pwi-eye{display:block;margin-top:14px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#F0C97A}
#pwi h2{margin:4px 0 6px;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:26px;line-height:1.15;color:#fff}
#pwi h2 em{font-style:normal;color:#F0C97A}
#pwi .pwi-hero p{margin:0 auto;max-width:330px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.88)}
#pwi .pwi-list{list-style:none;margin:16px 0 6px;padding:0;display:grid;gap:10px}
#pwi .pwi-list li{display:flex;gap:10px;align-items:flex-start}
#pwi .pwi-list li>svg{flex:none;width:26px;height:26px;padding:4px;box-sizing:border-box;border-radius:50%;background:#E7F5EE;color:#1F7A52}
#pwi .pwi-list b{display:block;font-size:14.5px;font-weight:800;color:#46143C}
#pwi .pwi-list small{display:block;font-size:12.5px;line-height:1.45;color:#6B5D66}
#pwi .pwi-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin-top:14px;border:0;border-radius:16px;background:linear-gradient(150deg,#E2BC6A,#C79A3C);color:#2A0B24;font:800 16px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 24px rgba(199,154,60,.35)}
#pwi .pwi-btn[disabled]{opacity:.6}
#pwi .pwi-btn svg{width:20px;height:20px}
#pwi .pwi-manual[hidden],#pwi .pwi-install[hidden]{display:none}
#pwi .pwi-how{margin:14px 0 8px;font-size:13.5px;font-weight:800;color:#46143C}
#pwi .pwi-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
#pwi .pwi-steps li{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1.5px solid #EFE4E3;border-radius:14px;background:#fff;font-size:13.5px;line-height:1.4;color:#1C1218}
#pwi .pwi-steps li i{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#46143C;color:#fff;font-style:normal;font-weight:800;font-size:13px}
#pwi .pwi-steps li svg{vertical-align:-4px;color:#6D3AA3;margin:0 2px}
#pwi .pwi-note{margin:10px 0 0;font-size:12px;line-height:1.5;color:#6B5D66}
#pwi .pwi-later{display:block;width:100%;min-height:44px;margin-top:6px;border:0;background:none;color:#6B5D66;font:700 13.5px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#pwi .pwi-perms{display:grid;gap:10px;margin-top:14px}
#pwi .pwi-perm{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 12px;border:1.5px solid #EFE4E3;border-radius:16px;background:#fff;text-align:left;font:inherit;color:#1C1218;cursor:pointer;box-sizing:border-box}
#pwi .pwi-perm>svg{flex:none;width:38px;height:38px;padding:9px;box-sizing:border-box;border-radius:12px;background:#F4EEFA;color:#6D3AA3}
#pwi .pwi-perm span{flex:1;min-width:0}
#pwi .pwi-perm b{display:block;font-size:14.5px;font-weight:800;color:#46143C}
#pwi .pwi-perm small{display:block;font-size:12px;line-height:1.4;color:#6B5D66}
#pwi .pwi-perm i{flex:none;font-style:normal;font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;background:#F4EEFA;color:#46143C}
#pwi .pwi-perm.ok i{background:#E7F5EE;color:#1F7A52}
#pwi .pwi-perm.no i{background:#FFF6E4;color:#9A6408}
#pwi .pwi-perm[disabled]{opacity:.5;cursor:default}
.pwi-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);z-index:9991;max-width:calc(100vw - 32px);padding:12px 16px;border-radius:14px;background:#24102E;color:#fff;font:700 13.5px 'Plus Jakarta Sans',system-ui,sans-serif;box-shadow:0 12px 30px rgba(0,0,0,.3);opacity:0;transition:opacity .3s,transform .3s}
.pwi-toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){#pwi,#pwi .pwi-card,.pwi-toast{transition:none}}

/* v156 — installed app (standalone): iPhone draws the clock / battery OVER the page (status bar is translucent), so the
   page gets a plum strip of the status-bar height at the top (white clock stays readable), the body starts below it and
   every sticky / fixed top bar sits under it too. Bottom bars keep clear of the home indicator. Android / desktop: the
   insets are 0, nothing changes. html.is-standalone is set by pwa-install.js. */
html.is-standalone{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}
html.is-standalone body{padding-top:var(--sat)}
html.is-standalone body::before{content:"";position:fixed;top:0;left:0;right:0;height:var(--sat);background:#46143C;z-index:9980;pointer-events:none}
html.is-standalone .topbar{top:calc(10px + var(--sat))}
html.is-standalone .site-head,html.is-standalone .subhead,html.is-standalone .crm-head,html.is-standalone .ws-head,html.is-standalone .top,
html.is-standalone .wc-tools,html.is-standalone .mb-top,html.is-standalone .bp .topbar{top:var(--sat)}
html.is-standalone .bar,html.is-standalone .nav,html.is-standalone .od-top,html.is-standalone .wz-head,html.is-standalone .cms-side,html.is-standalone .od-drawer,
html.is-standalone .drawer,html.is-standalone .previewbar,html.is-standalone .crm-side{top:var(--sat)}
html.is-standalone .od-drawer,html.is-standalone .drawer,html.is-standalone .cms-side{height:calc(100% - var(--sat))}
html.is-standalone .aurora{top:var(--sat)}
/* v157 — full-height panels that open OVER the strip (account switcher, follow-up panel, landscape Book now): a plum band
   of the inset height on top, so their Close (×) sits below the clock. Bottom sheets and centred modals need nothing. */
html.is-standalone .acs-p,html.is-standalone .fu.panel-open .fu-panel,html.is-standalone .bn{border-top:var(--sat) solid #46143C}
html.is-standalone .dock{bottom:calc(14px + var(--sab))}
html.is-standalone .sticky-bar,html.is-standalone .pgd-cta,html.is-standalone .bnav{padding-bottom:calc(10px + var(--sab))}
html.is-standalone #pwi .pwi-card{max-height:calc(100dvh - 24px - var(--sat))}

/* v174 — "Turn on alerts" nudge (signed-in pages, this device not subscribed yet) */
#pnudge{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:9970;display:flex;align-items:center;gap:10px;max-width:520px;margin:0 auto;padding:10px 10px 10px 12px;border-radius:18px;background:#24102E;color:#fff;box-shadow:0 18px 40px rgba(36,16,46,.45);font-family:'Plus Jakarta Sans',system-ui,sans-serif;transform:translateY(16px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s}
#pnudge.on{transform:none;opacity:1}
#pnudge .pn-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#F0C97A}
#pnudge .pn-t{flex:1;min-width:0;display:flex;flex-direction:column}
#pnudge .pn-t b{font-size:14px;font-weight:800}#pnudge .pn-t small{font-size:12px;color:rgba(255,255,255,.78);line-height:1.35}
#pnudge .pn-go{flex:none;min-height:40px;padding:0 14px;border:0;border-radius:12px;background:linear-gradient(150deg,#E2BC6A,#C79A3C);color:#2A0B24;font:800 13.5px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer}
#pnudge .pn-go[disabled]{opacity:.7}
#pnudge .pn-x{flex:none;width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:rgba(255,255,255,.7);display:grid;place-items:center;cursor:pointer}
@media (min-width:700px){#pnudge{bottom:24px;left:auto;right:24px;margin:0;width:460px}}
/* v275 — Tailwind sticky headers (admin / org dashboards: "sticky top-0") stop below the clock strip, not under it */
html.is-standalone header.sticky.top-0,html.is-standalone .sticky.top-0[data-sticky-head]{top:var(--sat)}
/* v276 — headers that add the clock inset themselves: the body already starts below the strip in the installed app, so
   they keep only their own spacing (no double gap above the heading) and, when sticky, stop below the strip */
html.is-standalone .at-head,html.is-standalone .cr-head,html.is-standalone .tk-head{top:var(--sat);padding-top:8px}
html.is-standalone .crm-top{padding-top:12px}
html.is-standalone .sh-top{padding-top:4px}

/* ---- v333 (owner's mock-up): the first-open "Set up" sheet — plum hero with a wavy foot, the home-with-a-heart scene,
   pastel permission rows with plum "Allow ›" pills, the shield note, a gold "Done →" pill, gold wave at the foot ---- */
#pwi .pwi-card.setup{max-width:460px;background:linear-gradient(180deg,#FFFCF9 0%,#FBF4F0 70%,#F3E8F3 100%);border-radius:30px 30px 0 0;padding:0 18px 18px;overflow:hidden auto}
#pwi .pwi-grab{position:absolute;left:50%;top:10px;z-index:3;width:70px;height:5px;margin-left:-35px;border-radius:999px;background:rgba(255,255,255,.55)}
#pwi .pwi-card.setup .pwi-x{top:18px;right:16px;border-radius:50%;background:rgba(255,255,255,.22);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
#pwi .pwi-hero.setup{position:relative;margin:0 -18px;padding:34px 22px 44px;text-align:left;border-radius:30px 30px 0 0;min-height:250px;box-sizing:border-box;background:radial-gradient(70% 80% at 86% 30%,rgba(199,154,60,.42),transparent 62%),radial-gradient(60% 60% at 10% 100%,rgba(142,91,191,.55),transparent 70%),linear-gradient(150deg,#5A1A4E 0%,#46143C 55%,#3A0F33 100%)}
#pwi .pwi-hero.setup .pwi-glow{left:auto;right:40px;top:30px;width:200px;height:200px;transform:none;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 66%)}
#pwi .pwi-hero.setup .pwi-art{position:absolute;right:-6px;bottom:14px;width:190px;height:auto;z-index:1;-webkit-mask-image:radial-gradient(ellipse 58% 58% at 55% 48%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 58% 58% at 55% 48%,#000 62%,transparent 100%);filter:drop-shadow(0 14px 20px rgba(0,0,0,.35))}
#pwi .pwi-hero.setup .pwi-logo{position:relative;z-index:2;width:62px;height:62px;border-radius:18px;padding:6px;box-shadow:0 12px 26px rgba(0,0,0,.4),0 0 0 3px rgba(255,255,255,.2)}
#pwi .pwi-hero.setup .pwi-eye{position:relative;z-index:2;margin-top:16px;font-size:11px;letter-spacing:.2em;color:#F0C97A}
#pwi .pwi-hero.setup h2{position:relative;z-index:2;margin:4px 0 6px;font:700 30px/1.05 'Fraunces',Georgia,serif;color:#fff;letter-spacing:-.3px}
#pwi .pwi-hero.setup .pwi-sub{position:relative;z-index:2;display:block;max-width:230px;font:800 15px/1.3 'Plus Jakarta Sans',system-ui,sans-serif;color:#fff;margin:0 0 6px}
#pwi .pwi-hero.setup p{position:relative;z-index:2;max-width:225px;margin:0;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.82)}
#pwi .pwi-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:40px;z-index:2}
#pwi .pwi-card.setup .pwi-perms{margin-top:14px;gap:12px}
#pwi .pwi-card.setup .pwi-perm{min-height:66px;padding:12px 12px 12px 14px;border:1px solid #EEE3EC;border-radius:18px;background:#fff;box-shadow:0 10px 24px -18px rgba(70,20,60,.5)}
#pwi .pwi-card.setup .pwi-perm>svg{width:44px;height:44px;padding:11px;border-radius:14px}
#pwi .pwi-card.setup .pwi-perm.t-gold>svg{background:#FFF4D6;color:#B8812A}
#pwi .pwi-card.setup .pwi-perm b{font-size:15.5px}
#pwi .pwi-card.setup .pwi-perm i{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 16px;border-radius:999px;font-size:14px;color:#FFF9EC;background:linear-gradient(180deg,#7A3FA8,#5A2470 60%,#46143C);box-shadow:0 8px 16px -8px rgba(70,20,60,.9)}
#pwi .pwi-card.setup .pwi-perm i em{font-style:normal;font-size:18px;line-height:1;margin-top:-2px}
#pwi .pwi-card.setup .pwi-perm.ok i{background:linear-gradient(180deg,#43B57A,#1F7A52);color:#fff}
#pwi .pwi-card.setup .pwi-perm.no i{background:#FFF6E4;color:#9A6408;box-shadow:none}
#pwi .pwi-note.setup{display:flex;gap:10px;align-items:center;margin:12px 0 0;padding:12px 14px;border-radius:16px;background:#F3EAF8;color:#46143C;font-size:12.5px;line-height:1.45}
#pwi .pwi-note.setup svg{flex:none;color:#46143C}
#pwi .pwi-btn.setup{min-height:56px;margin-top:14px;border-radius:999px;font:800 18px 'Fraunces',Georgia,serif;color:#2A0B24;background:linear-gradient(135deg,#F4D78A 0%,#E7B23F 55%,#D9A035 100%);box-shadow:0 16px 30px -12px rgba(199,154,60,.9),inset 0 1px 0 rgba(255,255,255,.7);position:relative}
#pwi .pwi-btn.setup .pwi-arr{position:absolute;right:8px;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;display:grid;place-items:center;background:#46143C;color:#FFF9EC;font-size:20px;font-family:system-ui,sans-serif}
#pwi .pwi-foot{display:block;height:34px;margin:6px -18px -18px;background:radial-gradient(60% 100% at 20% 100%,rgba(201,168,230,.6),rgba(201,168,230,0) 70%),radial-gradient(60% 100% at 85% 100%,rgba(230,212,243,.95),rgba(230,212,243,0) 70%);border-top:1px solid rgba(226,188,106,.55)}
@media (min-width:600px){#pwi .pwi-card.setup{border-radius:30px}#pwi .pwi-hero.setup{border-radius:30px 30px 0 0}}
/* v405 — rejected → Re-allow; optional tag */
#pwi .pwi-card.setup .pwi-perm.den{border-color:#F3C9C4;background:#FFF8F7}
#pwi .pwi-card.setup .pwi-perm.den i{background:linear-gradient(180deg,#D2483C,#A32B22);color:#fff}
#pwi .pwi-card.setup .pwi-perm.den small{color:#A32B22;font-weight:600}
#pwi .pwi-card.setup .pwi-perm.no small{color:#9A6408;font-weight:600}
#pwi .pwi-card.setup .pwi-perm[disabled].ok{opacity:1}
#pwi .pwi-opt{display:inline;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9A8FA3;margin-left:4px}
/* v406 — "Please allow your location" (opened from a push) */
#pwi .pwi-card.pwg{text-align:center;padding:26px 20px 18px}
#pwi .pwg-ic{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 12px;border-radius:22px;background:linear-gradient(150deg,#FFF4D6,#F6E2B0);color:#B8812A;box-shadow:0 14px 26px -16px rgba(184,129,42,.9)}
#pwi .pwg-ic svg{width:30px;height:30px}
#pwi .pwg h2{margin:0 0 8px;font:600 23px/1.2 'Fraunces',Georgia,serif;color:#46143C}
#pwi .pwg-m{margin:0 auto 14px;max-width:340px;font-size:14.5px;line-height:1.5;color:#4B3D5C}
#pwi .pwg-err{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#FFF1EF;color:#A32B22;font-size:13px;font-weight:600;line-height:1.45;text-align:left}
#pwi .pwg-go{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
#pwi .pwg-go svg{width:18px;height:18px}
/* v408 — only what is not allowed; Continue always on screen (above the home indicator) */
#pwi .pwi-card.setup .pwi-perm[hidden]{display:none}
#pwi .pwi-card.setup .pwi-perm.gone{opacity:0;transform:scale(.96);max-height:0;min-height:0;padding-top:0;padding-bottom:0;margin:0;border-width:0;overflow:hidden;transition:opacity .25s,transform .25s,max-height .35s .15s,padding .35s .15s}
#pwi .pwi-card.setup .pwi-perm{max-height:240px}
#pwi .pwi-card.setup{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
#pwi .pwi-card.setup .pwi-done{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:3;margin-top:14px;box-shadow:0 -10px 24px 4px rgba(251,244,240,.95),0 14px 28px -14px rgba(70,20,60,.8)}
