.pwa-preferences-page { padding: 2rem 0 4rem; background: var(--color-canvas,#f7f4f0); min-height: 60vh; }
.pwa-preferences-shell { max-width: 780px; }
.pwa-preferences-shell h1 { margin: .4rem 0 1rem; }
.pwa-preferences-shell > p { line-height: 1.6; }
.pwa-preferences-card { border-radius: 18px; border: 1px solid #e8dfda; background: #fff; padding: 1.5rem; margin: 1.7rem 0 1rem; }
.pwa-preferences-option { display:flex; gap:1rem; justify-content:space-between; align-items:center; cursor:pointer; padding:1rem 0; }
.pwa-preferences-option + .pwa-preferences-option { border-top:1px solid #e8dfda; }
.pwa-preferences-option strong, .pwa-preferences-option small { display:block; }
.pwa-preferences-option small { color:#6a605b; font-size:.88rem; line-height:1.5; margin-top:.35rem; }
.pwa-preferences-option input { flex:none; width:22px; height:22px; accent-color:#c92d2d; cursor:pointer; }
.pwa-preferences-info { color:#4d6045; font-size:.9rem; margin:1rem 0 0; }
.pwa-preferences-info[data-error="1"] { color:#a12121; }
.pwa-preferences-note { color:#615b57; font-size:.9rem; }
.pwa-push-onboarding { position:fixed; bottom:max(18px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); z-index:10000; width:min(calc(100% - 24px),440px); background:#fff; color:#26201e; border:1px solid #e3d5d1; border-radius:18px; box-shadow:0 12px 45px #0003; padding:20px; }
.pwa-push-onboarding strong { display:block; font-size:1.1rem; }
.pwa-push-onboarding p { margin:9px 0 14px; font-size:.93rem; line-height:1.5; }
.pwa-push-onboarding__buttons { display:flex; flex-wrap:wrap; gap:8px; }
.pwa-push-onboarding__buttons button { border:1px solid #c92d2d; border-radius:10px; padding:11px 12px; cursor:pointer; font:inherit; font-weight:700; background:#c92d2d; color:#fff; }
.pwa-push-onboarding__buttons button[data-dismiss] { color:#a02525; background:#fff; }

/* El menú móvil oculta acciones opcionales, pero las preferencias deben ser accesibles sin cuenta. */
@media (max-width: 760px) { .header-action--notifications { display: inline-flex !important; } }
