/* Account notifications; independent of the floating utility dock. */
.ff-notification-control{position:relative;flex:0 0 auto}
.ff-notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--ff-border);border-radius:var(--ff-radius-md);background:var(--ff-bg-surface);color:var(--ff-text-secondary);cursor:pointer}
.ff-notification-icon{--ff-icon:"\f0f3";font-size:17px}
.ff-notification-bell:hover,.ff-notification-bell[aria-expanded=true]{background:var(--ff-bg-subtle);color:var(--ff-accent-text)}
.ff-notification-control button:focus-visible,.ff-notification-control a:focus-visible,.ff-notification-center a:focus-visible,.ff-notification-center button:focus-visible{outline:2px solid var(--ff-focus);outline-offset:2px}
.ff-notification-badge{position:absolute;top:-4px;right:-5px;min-width:18px;padding:1px 4px;border:2px solid var(--ff-bg-surface);border-radius:12px;background:var(--ff-danger);color:#fff;font-size:10px;font-weight:750;line-height:14px}
.ff-notification-panel{position:absolute;z-index:90;right:0;top:calc(100% + 10px);width:360px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 100px);overflow-y:auto;border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-bg-surface);color:var(--ff-text-primary);box-shadow:var(--ff-shadow-lg);text-align:left}
.ff-notification-panel[hidden],.ff-notification-badge[hidden],.ff-admin-notifications [hidden]{display:none}
.ff-notification-panel h2{margin:0;padding:14px 16px;font-size:1rem;font-weight:750;border-bottom:1px solid var(--ff-border)}
.ff-notification-panel ul{list-style:none;padding:0;margin:0}.ff-notification-panel li+li{border-top:1px solid var(--ff-border)}
.ff-notification-control .ff-notification-panel a{display:block}
.ff-notification-panel li a{display:block;padding:12px 16px;color:var(--ff-text-primary);text-decoration:none;overflow-wrap:anywhere}
.ff-notification-panel li a:hover{background:var(--ff-bg-subtle)}
.ff-notification-panel li strong{display:block;font-size:.87rem;line-height:1.45;font-weight:550}.ff-notification-panel li.is-unread strong{font-weight:750}
.ff-notification-panel li small{display:block;margin-top:4px;color:var(--ff-text-secondary);font-size:.73rem;line-height:1.4}
.ff-notification-panel [role=status]{padding:12px 16px;margin:0;font-size:.85rem}
.ff-notification-control .ff-notification-view-all{display:block;padding:12px 16px;border-top:1px solid var(--ff-border);color:var(--ff-accent-text);font-weight:650;text-align:center}
.ff-notification-center{max-width:64rem;margin:0 auto;padding-bottom:2rem;min-width:0}
.ff-notice-page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ff-notice-page-heading h1{margin:0;font-size:1.8rem;font-weight:750}
.ff-notice-page-heading form{margin:0}.ff-notice-status:empty{display:none}
.ff-notice-list{list-style:none;margin:0;padding:0;background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);overflow:hidden}
.ff-notice-list:empty{display:none}.ff-notice-row{padding:16px 20px;border-left:3px solid transparent}.ff-notice-row+.ff-notice-row{border-top:1px solid var(--ff-border)}
.ff-notice-row.is-unread{border-left-color:var(--ff-accent-text);background:var(--ff-bg-subtle)}
.ff-notice-row>div:first-child{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.ff-notice-title{font-weight:650;color:var(--ff-text-primary);overflow-wrap:anywhere;min-width:0}.is-unread .ff-notice-title{font-weight:750}
.ff-notice-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--ff-text-secondary);font-size:.8rem}.ff-notice-meta [data-ff-notification-read-state]{margin-left:auto}
.ff-notice-severity{display:inline-block;flex-shrink:0;font-size:.73rem;font-weight:650;color:var(--ff-text-secondary)}
.ff-notice-severity-success{--ff-notice-color:var(--ff-success)}.ff-notice-severity-warning{--ff-notice-color:var(--ff-warning)}.ff-notice-severity-critical{--ff-notice-color:var(--ff-danger)}.ff-notice-severity-info{--ff-notice-color:var(--ff-info)}
.ff-notice-content{padding:24px;border:1px solid var(--ff-border);border-top:3px solid var(--ff-notice-color,var(--ff-border));border-radius:var(--ff-radius-lg);background:var(--ff-bg-surface);color:var(--ff-text-primary);overflow-wrap:anywhere}
.ff-notice-content h2{font-size:1.45rem;font-weight:750;margin:8px 0 12px}.ff-notice-body{white-space:pre-wrap;line-height:1.75;margin:20px 0}.ff-notice-time,.ff-notice-fallback{font-size:.8rem;color:var(--ff-text-secondary)}
.ff-notice-support{margin-top:24px;padding-top:16px;border-top:1px solid var(--ff-border);font-size:.84rem;color:var(--ff-text-secondary);line-height:1.6}
.ff-notice-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin:24px 0;font-size:.85rem}.ff-notice-empty{padding:24px;color:var(--ff-text-secondary)}
.ff-admin-notifications{max-width:80rem;min-width:0}.ff-admin-notifications h2{font-size:1.3rem;margin:20px 0 12px}.ff-notice-compose{padding:20px;border:1px solid var(--ff-border);border-radius:var(--ff-radius-md);background:var(--ff-bg-surface);margin-bottom:28px}
.ff-notice-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:20px}.ff-notice-form-grid label{display:block;font-weight:650}.ff-notice-form-grid input,.ff-notice-form-grid textarea,.ff-notice-form-grid select{margin-top:6px;max-width:100%}.ff-notice-form-grid small{display:block;margin-top:6px;font-weight:400;color:var(--ff-text-secondary)}
.ff-notice-preview-switch{display:block;max-width:220px;margin:16px 0}.ff-notice-confirm{display:grid;gap:16px;justify-items:start;padding:20px 0}.ff-notice-confirm input[type=checkbox]{margin-right:6px}.ff-notice-admin-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px}.ff-notice-admin-meta dd{margin:0;overflow-wrap:anywhere}.ff-admin-notifications table td{overflow-wrap:anywhere}
@media(max-width:48rem){.ff-notification-panel{position:fixed;top:72px;left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));width:auto;max-width:none;max-height:calc(100dvh - 88px - env(safe-area-inset-bottom,0px))}.ff-notice-row{padding:14px 12px}.ff-notice-content{padding:18px 16px}.ff-notice-form-grid{grid-template-columns:minmax(0,1fr)}.ff-notice-compose{padding:14px}.ff-notice-page-heading h1{font-size:1.5rem}}

.ff-notice-dismiss{margin:12px 0 0}.ff-notice-dismiss button{color:var(--ff-danger)}
.ff-notification-center [hidden]{display:none}
