/* Shared foreground feedback; native dialog supplies focus trapping and top-layer visibility. */
.gf-alert{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;scrollbar-width:none;border:1px solid var(--border);border-radius:20px;padding:32px 28px 24px;background:var(--surface,#fff);color:var(--text);box-shadow:0 24px 80px #33222c33;text-align:center;overscroll-behavior:contain}.gf-alert::-webkit-scrollbar{display:none}.gf-alert::backdrop{background:#30222a70;backdrop-filter:blur(2px)}.gf-alert h2{font-size:24px;margin:0 0 12px;line-height:1.4}.gf-alert p{white-space:pre-line;overflow-wrap:anywhere;line-height:1.75}.gf-alert-symbol{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 20px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:32px;font-weight:700}.gf-alert-success .gf-alert-symbol{background:#e9f4ed;color:#31694c}.gf-alert-error .gf-alert-symbol{background:#fae9ee;color:#a83054}.gf-alert-warning .gf-alert-symbol{background:#fff2dc;color:#8d5c1a}.gf-alert .gf-alert-timer{margin-top:16px;color:var(--text-muted);font-size:13px}.gf-alert-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.gf-alert-actions .button{min-width:104px;min-height:48px}.gf-alert-progress{height:3px;margin:24px -8px 0;overflow:hidden;background:var(--brand-soft);border-radius:4px}.gf-alert-progress span{display:block;height:100%;background:var(--brand);transform-origin:left;animation:gf-alert-countdown linear forwards}@keyframes gf-alert-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.gf-alert-progress{display:none}}@media(max-width:480px){.gf-alert{padding:28px 22px 22px}.gf-alert h2{font-size:22px}.gf-alert-actions .button{flex:1;min-width:0}}
.member-notification-link{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:44px;color:var(--brand);white-space:nowrap;font-size:14px}.member-unread-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;min-width:20px;height:20px;border-radius:12px;padding:0 5px;font-size:11px}.member-sidebar .member-unread-badge{color:#fff}.member-notifications .notice-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.notice-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:20px 0}.notice-filters .field{flex:1;min-width:130px}.notice-filters .button{width:auto}.member-notifications .member-notice-card{padding:20px 22px;margin:14px 0;border:1px solid var(--border);border-left:6px solid var(--border);border-radius:12px;background:var(--surface,#fff);box-shadow:0 3px 12px #50313e08;min-width:0}.member-notice-card h2{font-size:18px;margin:10px 0;overflow-wrap:anywhere}.member-notice-card p{overflow-wrap:anywhere;line-height:1.75}.member-notice-card time{font-size:13px;color:var(--text-muted)}.member-notifications .member-notice-card.is-unread{border-left-color:var(--brand);background:linear-gradient(105deg,var(--brand-soft),var(--surface,#fff) 65%)}.notice-meta,.notice-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.notice-actions{justify-content:flex-start;margin-top:16px}.notice-actions .button{width:auto;min-height:44px}.notice-pagination{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}.notice-empty{padding:32px 0;color:var(--text-muted)}@media(max-width:480px){.member-notification-link{font-size:12px}.header-inner{column-gap:10px}.member-notification-link .notification-word{display:none}.member-notifications .notice-toolbar .button{width:auto}.notice-filters .field{min-width:120px}.notice-actions .button{width:auto}}

.member-notification-link{order:2}.site-navigation{order:1;margin-left:auto}.menu-toggle{order:3}@media(max-width:800px){.site-navigation{order:4;margin-left:0}.header-inner{column-gap:10px}.member-notification-link{margin-left:auto}}

.member-notification-link{min-width:44px;justify-content:center}

/* Same notification cards on desktop and mobile; retain the 6px status accent. */
@media(max-width:480px){.member-notifications .member-notice-card{padding:16px}.member-notifications .notice-meta{gap:8px}.member-notifications .notice-actions{gap:10px}.member-notifications .notice-actions .button{max-width:100%;white-space:normal}}

/* Keep all-read and refresh adjacent, including compact mobile widths. */
.member-notifications .notice-toolbar-actions{display:flex;align-items:center;gap:10px;min-width:0}.member-notifications .notice-toolbar-actions form{margin:0}.member-notifications .notice-toolbar-actions .button{width:auto;white-space:nowrap;font-size:14px;padding:10px 12px}

/* Read notification labels use neutral colors; unread labels keep the brand accent. */
.member-notifications .member-notice-card:not(.is-unread) .notice-meta .badge{background:#eee;color:#555}

.member-notifications .member-notice-card[tabindex]{cursor:pointer;transition:border-color .15s,box-shadow .15s}.member-notifications .member-notice-card[tabindex]:hover{border-color:var(--brand)}.member-notifications .member-notice-card[tabindex]:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.member-notifications .member-notice-card[tabindex] .notice-actions{cursor:default}
