.rn-push-page{max-width:1030px;padding-top:44px;padding-bottom:80px}
.rn-push-intro{max-width:750px;margin-bottom:24px}
.rn-push-intro h1{margin:0 0 10px;font-size:clamp(30px,4vw,43px);line-height:1.15;letter-spacing:-.04em}
.rn-push-intro p{color:#61716c;font-size:16px;line-height:1.55;margin:0}
.rn-push-card{max-width:810px;background:#fff;border:1px solid #dae5df;border-radius:9px;padding:29px 31px 30px;box-shadow:0 1px 6px #143b2a0a}
.rn-push-card h2{margin:0 0 20px;font-size:22px;line-height:1.3;color:#193834}
.rn-push-all{display:flex;gap:12px;align-items:center;padding:14px 15px;border:1px solid #dae4de;border-radius:7px;margin:0 0 10px;cursor:pointer}
.rn-push-all:has(input:checked){border-color:var(--primary);background:#eef7f3}
.rn-push-all input{accent-color:var(--primary);width:18px;height:18px;flex-shrink:0}
.rn-push-all span{display:flex;flex-direction:column;gap:3px;line-height:1.4}
.rn-push-all strong{font-size:15px}.rn-push-all small{font-size:13px;color:#687b73}
.rn-push-places{padding:15px 2px 7px}
.rn-push-places[hidden],.rn-push-actions [hidden]{display:none!important}
.rn-push-region{border:0;border-bottom:1px solid #e9eeeb;padding:0 0 16px;margin:0 0 19px;min-width:0}
.rn-push-region legend{font-weight:720;color:#2d4c41;padding:0 0 11px;font-size:14px}
.rn-push-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.rn-push-place{display:flex;align-items:center;gap:9px;color:#2a3c35;font-size:14px;cursor:pointer}
.rn-push-place input{accent-color:var(--primary);width:17px;height:17px;flex-shrink:0}
.rn-push-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.rn-push-actions button{white-space:normal;min-height:45px}
.rn-push-status{min-height:20px;margin:14px 0 0;color:#285c45;font-weight:650;font-size:14px}
.rn-push-status[data-error="yes"]{color:#9b3327}
.rn-push-note{margin:18px 0 0;color:#71817b;font-size:13px;line-height:1.6}
@media(max-width:720px){.rn-push-page{padding-top:26px}.rn-push-card{padding:21px 17px}.rn-push-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.rn-push-options{grid-template-columns:1fr}.rn-push-actions{display:grid;grid-template-columns:1fr}}

.rn-push-card .rn-push-section-heading{margin:30px 0 18px;padding-top:22px;border-top:1px solid #e3eae6}


/* V43 – compact and respectful portal-themed invitation, no native dialog until user gesture. */
.rn-push-invite[hidden],.rn-push-invite-status[hidden]{display:none!important}
.rn-push-invite{position:fixed;z-index:80;bottom:25px;right:25px;width:min(405px,calc(100vw - 36px));padding:24px 25px 22px;border:1px solid #cbded5;border-radius:14px;background:#fff;color:#213531;box-shadow:0 15px 50px rgba(17,40,35,.19);font-family:var(--font-body,system-ui,sans-serif);text-align:left}
.rn-push-invite-mark{display:inline-flex;width:39px;height:39px;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:white;margin-bottom:12px}
.rn-push-invite-mark svg{width:20px;height:20px;stroke:currentColor}
.rn-push-invite h2{font-size:21px;line-height:1.2;letter-spacing:-.025em;margin:0 28px 9px 0;font-weight:800;color:#1b3030}
.rn-push-invite>p:not(.rn-push-invite-status){font-size:14px;line-height:1.55;color:#5c706a;margin:0 0 18px}
.rn-push-invite-close{position:absolute;right:12px;top:10px;border:0;background:transparent;width:32px;height:32px;border-radius:6px;color:#59706a;font-size:24px;line-height:1;cursor:pointer}
.rn-push-invite-close:hover,.rn-push-invite-close:focus-visible{background:#ecf3ef}
.rn-push-invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.rn-push-invite-actions button{min-height:44px;border-radius:7px;padding:10px 12px;font-size:14px;font-weight:700;cursor:pointer}
.rn-push-invite-allow{background:var(--primary);border:1px solid var(--primary);color:#fff}
.rn-push-invite-allow:hover{filter:brightness(.9)}
.rn-push-invite-later{background:#fff;border:1px solid #c9d8cf;color:#39544c}
.rn-push-invite-later:hover{background:#f1f6f3}
.rn-push-invite-choose{display:inline-block;color:var(--primary);font-weight:700;text-underline-offset:3px;text-decoration:underline;font-size:13px;line-height:1.5}
.rn-push-invite-status{font-size:13px;line-height:1.5;color:#255f46;margin:12px 0 0;overflow-wrap:anywhere}
.rn-push-invite-status[data-error="yes"]{color:#9b3327}
.rn-push-invite :focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:560px){.rn-push-invite{right:12px;left:12px;bottom:12px;width:auto;padding:19px 19px 17px}.rn-push-invite h2{font-size:19px}.rn-push-invite-actions button{min-height:46px}}
@media(prefers-reduced-motion:no-preference){.rn-push-invite:not([hidden]){animation:rn-push-invite-in .16s ease-out}@keyframes rn-push-invite-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}}

/* V45 – browser/server subscription status, shared between prompt and settings. */
.rn-push-device{border:1px solid #cfe2d6;background:#f1f7f3;border-radius:9px;padding:14px 17px;margin:0 0 27px}
.rn-push-device strong{display:block;font-size:15px;color:#26463b;line-height:1.35}
.rn-push-device strong[data-active="yes"]{color:#006b53}
.rn-push-device p{font-size:13px;color:#63786f;margin:5px 0 0;line-height:1.5;overflow-wrap:anywhere}
.rn-push-status:empty{display:none}
.rn-push-actions button:disabled{opacity:.65;cursor:not-allowed}
