.notification-settings-card { display:flex; align-items:center; gap:12px; padding:16px; }
.notification-settings-open { display:flex; align-items:center; flex:1; min-width:0; gap:10px; padding:0; border:0; background:none; color:#20242b; text-align:left; }
.notification-settings-open > .bi { font-size:11px; color:#8a919b; margin-left:auto; }
.notification-settings-icon { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; border-radius:11px; background:#f3f4f6; font-size:17px; }
.notification-settings-copy { display:flex; flex-direction:column; gap:3px; }
.notification-settings-copy strong { font-size:13px; font-weight:700; }
.notification-settings-copy small { font-size:11px; line-height:1.45; color:#747b85; }
.notification-switch { position:relative; flex-shrink:0; width:40px; height:24px; padding:0; border:1px solid transparent; border-radius:20px; background:#dfe2e6; transition:background .15s; cursor:pointer; }
.notification-switch::after { content:''; position:absolute; left:3px; top:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0002; transition:transform .15s; }
.notification-switch::before { content:''; position:absolute; inset:-10px -3px; }
.notification-switch[aria-checked="true"] { background:#252a32; }
.notification-switch[aria-checked="true"]::after { transform:translateX(16px); }
.notification-switch:disabled { opacity:.45; cursor:default; }
.notification-switch:focus-visible, .notification-settings-open:focus-visible { outline:2px solid #414956; outline-offset:4px; }
.notification-settings-dialog { max-width:420px; }
.notification-settings-dialog .modal-content { border:1px solid #e6e8ec; border-radius:20px; box-shadow:0 20px 70px #14182120; }
.notification-settings-dialog .modal-header { padding:22px 24px 0; border:0; }
.notification-settings-dialog .modal-title { font-size:19px; font-weight:750; letter-spacing:-.5px; }
.notification-settings-dialog .btn-close { font-size:12px; }
.notification-settings-dialog .modal-body { padding:16px 24px 0; }
#notificationSettingsDescription { margin:0 0 20px; color:#777f8a; font-size:13px; }
.notification-setting-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:19px 0; border-bottom:1px solid #edf0f3; }
.notification-setting-row > span { display:flex; flex-direction:column; gap:5px; }
.notification-setting-row strong { font-size:14px; color:#252a32; font-weight:650; }
.notification-setting-row small { color:#767e88; font-size:12px; line-height:1.5; }
.notification-setting-master { padding:15px; margin:0 -1px 6px; border:0; border-radius:12px; background:#f5f6f8; }
#notificationSettingsMessage { margin:14px 0 0; font-size:12px; color:#59616d; line-height:1.5; }
#notificationSettingsMessage:empty { display:none; }
#notificationSettingsMessage.is-error { color:#a52b35; }
.notification-settings-footnote { margin:16px 0 0; color:#878e97; font-size:11px; line-height:1.6; }
.notification-settings-dialog .modal-footer { padding:20px 24px 24px; border:0; }
.notification-settings-dialog .modal-footer .btn { border-radius:10px; padding:9px 23px; font-size:13px; margin:0; }
@media(max-width:480px) { .notification-settings-dialog { margin:16px; } }
@media(prefers-reduced-motion:reduce) { .notification-switch, .notification-switch::after { transition:none; } }
