.push-panel{display:grid;gap:16px}.push-card{background:#fff;border:1px solid #0a403315;border-radius:22px;padding:24px}.push-card h3{font:800 28px var(--display);text-transform:uppercase;margin-bottom:8px}.push-card p{font-size:12px;line-height:1.65;color:#687d76;margin-top:6px}.push-status{display:inline-block;margin:10px 0;padding:8px 12px;border-radius:999px;background:#e1e8e3;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.push-status.on{background:#073f3218}.push-status.off{background:#f15a2415;color:#b63e16}.push-guide{margin:12px 0;padding:14px;border-radius:14px;background:var(--cream);font-size:12px;line-height:1.6}.push-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.push-devices{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px;font-size:11px}.push-devices li{padding:10px;background:#f3f5f1;border-radius:12px;overflow-wrap:anywhere}.push-toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #0a403315}.push-toggle strong{font-size:12px}.push-toggle small{display:block;font-size:10px;color:#71867f;margin-top:4px}.push-toggle input{width:22px;height:22px;accent-color:var(--green)}.push-msg{padding:12px 14px;border-radius:12px;background:#f15a2412;font-size:12px}.push-inbox{display:grid;gap:12px}.push-item{background:#fff;border:1px solid #0a403315;border-radius:18px;padding:18px;display:grid;gap:8px}.push-item.unread{border-color:var(--coral);box-shadow:inset 4px 0 0 var(--coral)}.push-item h4{margin:0;font:800 22px var(--display);text-transform:uppercase}.push-item p{font-size:12px;line-height:1.6;color:#687d76}.push-item .tag{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--coral);text-transform:uppercase}@media(max-width:560px){.push-card{padding:18px}}

.push-banner{position:sticky;bottom:20px;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 28px;margin-top:22px;padding:22px 26px;border-radius:22px;background:var(--green);color:var(--cream);border:1px solid #ffffff24;border-left:6px solid var(--coral);box-shadow:0 18px 50px #001e1855;animation:push-rise .4s both}
.push-banner-copy{display:grid;gap:6px;min-width:0}.push-banner-copy strong{font:800 clamp(26px,3vw,36px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.01em}.push-banner-copy span{font-size:14px;line-height:1.55;color:#d4e0db;max-width:56ch}
.push-banner .push-actions{margin:0;flex-wrap:nowrap;align-items:center}.push-banner .btn,.push-banner .text-button{min-height:48px;justify-content:center}.push-banner .btn{padding:14px 22px;font-size:14px}.push-banner .text-button{color:var(--cream);padding:12px 14px;font-size:13px}
.push-banner .push-msg{grid-column:1/-1;background:#f3ecdf;color:#8c2f0e;font-size:13px}
.push-banner :is(button,a):focus-visible,.push-settings summary:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.push-banner button:disabled{opacity:.6}
@keyframes push-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:820px){.push-banner{position:fixed;z-index:44;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(98px + env(safe-area-inset-bottom));margin:0;max-height:calc(100dvh - 190px);overflow-y:auto;padding:18px;grid-template-columns:1fr}.push-banner .push-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.push-banner .btn{justify-content:center}.app-shell:not(.public-mode) .view:has(.push-banner){padding-bottom:calc(290px + env(safe-area-inset-bottom))}}
@media(min-width:821px){.push-banner{bottom:24px}}
@media(max-width:380px){.push-banner .push-actions{grid-template-columns:1fr}}
.push-settings{background:#fff;border:1px solid #0a403315;border-radius:16px;margin-top:16px;overflow:hidden}
.push-settings summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 16px;cursor:pointer;font-size:12px;font-weight:700;-webkit-tap-highlight-color:transparent}
.push-settings summary::-webkit-details-marker{display:none}
.push-settings summary::after{content:'';flex:0 0 auto;width:8px;height:8px;margin-left:4px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.push-settings[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.push-settings summary .push-status{margin:0;margin-left:auto;padding:6px 10px;font-size:9px}
.push-settings-body{padding:0 12px 14px;border-top:1px solid #0a403315}
.push-settings-body .push-card{border:0;padding:14px 4px 4px;border-radius:0}.push-settings-body .push-card h3{font-size:20px}
.push-settings .push-toggle{min-height:48px;padding:10px 0}.push-settings .push-toggle input{width:26px;height:26px;flex:0 0 auto}
.push-settings .push-actions .btn{min-height:44px;padding:12px 16px}
@media(min-width:821px){.push-settings{max-width:720px}}
@media(prefers-reduced-motion:reduce){.push-banner{animation:none}.push-settings summary::after{transition:none}}
