.cspa-notice-list{display:grid;gap:10px}.cspa-card{border:1px solid var(--wp--preset--color--contrast-3,#e5e7eb);border-radius:12px;background:var(--wp--preset--color--base,#fff);overflow:hidden}.cspa-card-link{display:block;color:inherit;text-decoration:none;padding:12px}.cspa-card-link:hover{background:rgba(127,127,127,.06)}.cspa-card-inner{display:flex;align-items:center;gap:12px}.cspa-card-image{width:76px;height:76px;object-fit:cover;border-radius:10px;flex:0 0 76px}.cspa-card-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.cspa-card-copy strong{font-size:14px;line-height:1.35}.cspa-card-copy>span:not(.cspa-label){font-size:13px;line-height:1.45;opacity:.78}.cspa-label{font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.65}.nt-notification-item .cspa-notice-image{width:54px;height:54px;object-fit:cover;border-radius:8px;flex:0 0 54px}.nt-notification-link{gap:10px}.nt-notification-copy{min-width:0}
/* Plugin-owned notification bell and floating dropdown. Theme palette variables are reused when present. */
.cspa-plugin-notifications{position:relative;display:inline-flex;align-items:center;vertical-align:middle;z-index:1000;overflow:visible!important}
.cspa-plugin-notifications .nt-notifications-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.cspa-plugin-notifications .nt-notifications-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--nt-primary,#2563eb);color:#fff;font-size:10px;line-height:16px;text-align:center}
.cspa-plugin-notifications .nt-notifications-panel{position:fixed!important;top:0;left:0;right:auto;bottom:auto;z-index:999999;width:min(360px,calc(100vw - 24px));max-height:min(70vh,520px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid var(--nt-border,var(--wp--preset--color--contrast-3,#d1d5db));border-radius:14px;background:var(--nt-surface,var(--wp--preset--color--base,#fff));color:var(--nt-text,var(--wp--preset--color--contrast,#111827));box-shadow:0 16px 42px rgba(0,0,0,.22);box-sizing:border-box;margin:0;isolation:isolate}
.cspa-plugin-notifications .nt-notifications-panel[hidden],.cspa-plugin-notifications [hidden]{display:none!important}
.cspa-plugin-notifications .nt-notifications-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px;border-bottom:1px solid var(--nt-border,rgba(127,127,127,.2));margin-bottom:6px}
.cspa-plugin-notifications .nt-notifications-panel-head strong{font-size:14px;color:var(--nt-text,inherit)}
.cspa-plugin-notifications .nt-notifications-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.cspa-plugin-notifications .nt-notifications-contact{padding:9px 3px 11px;margin:0 0 5px;border-bottom:1px solid var(--nt-border,rgba(127,127,127,.2));font-size:12px;line-height:1.5;color:var(--nt-text-muted,#64748b)}
.cspa-plugin-notifications .nt-notifications-contact a{display:inline-block;margin-left:2px;padding:3px 8px;border-radius:6px;background:var(--nt-primary-soft,rgba(37,99,235,.1));color:var(--nt-primary,#2563eb);font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease}
.cspa-plugin-notifications .nt-notifications-contact a:hover,.cspa-plugin-notifications .nt-notifications-contact a:focus-visible{background:var(--nt-primary,#2563eb);color:#fff;text-decoration:none}
.cspa-plugin-notifications .nt-notifications-contact a:focus-visible{outline:2px solid var(--nt-primary,#2563eb);outline-offset:2px}
.cspa-plugin-notifications .nt-notifications-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;padding:0;border:1px solid var(--nt-border,rgba(127,127,127,.25));border-radius:8px;background:transparent;color:var(--nt-text,inherit);font-size:22px;line-height:1;cursor:pointer}
.cspa-plugin-notifications .nt-notifications-close:hover{background:var(--nt-surface-alt,rgba(127,127,127,.08));border-color:var(--nt-primary,#2563eb);color:var(--nt-primary,#2563eb)}
.cspa-plugin-notifications .nt-notifications-close:focus-visible{outline:2px solid var(--nt-primary,#2563eb);outline-offset:2px}
.cspa-plugin-notifications .nt-notifications-mark-all{border:0;border-radius:7px;padding:6px 8px;background:var(--nt-primary-soft,rgba(37,99,235,.08));color:var(--nt-primary,#2563eb);font-size:12px;cursor:pointer}
.cspa-plugin-notifications .nt-notifications-mark-all:hover{background:var(--nt-primary,#2563eb);color:#fff}
.cspa-plugin-notifications .nt-notifications-list{display:grid;gap:2px}
.cspa-plugin-notifications .nt-notification-item{border-bottom:1px solid var(--nt-border,rgba(127,127,127,.2));padding:8px 4px}
.cspa-plugin-notifications .nt-notification-item:last-child{border-bottom:0}
.cspa-plugin-notifications .nt-notification-item:hover{background:var(--nt-surface-alt,rgba(127,127,127,.06));border-radius:8px}
.cspa-plugin-notifications .nt-notification-link{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.cspa-plugin-notifications .nt-notification-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.cspa-plugin-notifications .nt-notification-copy strong{font-size:13px;line-height:1.35;color:var(--nt-text,inherit)}
.cspa-plugin-notifications .nt-notification-type,.cspa-plugin-notifications .nt-notification-copy time{font-size:10px;color:var(--nt-text-muted,#64748b)}
.cspa-plugin-notifications .nt-notification-description{font-size:12px;line-height:1.45;color:var(--nt-text,inherit);opacity:.88}
.cspa-plugin-notifications .cspa-notice-image{width:48px;height:48px;object-fit:cover;border-radius:8px;flex:0 0 48px}
.cspa-plugin-notifications .nt-notification-item.is-unread .nt-notification-copy strong{font-weight:700}
.cspa-plugin-notifications .nt-notification-unread-dot{width:6px;height:6px;border-radius:50%;background:var(--nt-primary,#2563eb);flex:0 0 6px;opacity:0}
.cspa-plugin-notifications .nt-notification-item.is-unread .nt-notification-unread-dot{opacity:1}
.cspa-plugin-notifications .nt-notifications-empty{font-size:13px;margin:8px 2px;color:var(--nt-text-muted,#64748b)}
.cspa-notifications-fallback{position:fixed;right:16px;top:16px}
@media(max-width:480px){.cspa-plugin-notifications .nt-notifications-panel{width:calc(100vw - 20px);max-height:75vh}}

/* RGB attention effect while at least one notification remains unread. */
.cspa-plugin-notifications .nt-notifications-toggle.is-notifying{animation:cspa-rgb-bell 3.2s linear infinite;transform-origin:center;will-change:color,filter}
.cspa-plugin-notifications .nt-notifications-toggle.is-notifying svg{animation:cspa-bell-pulse 2.4s ease-in-out infinite}
.cspa-plugin-notifications .nt-notifications-toggle.is-notifying .nt-notifications-badge{background:linear-gradient(120deg,#ff315a,#ff9b27,#b9e532,#00c7a5,#268cff,#a855f7,#ff315a);background-size:300% 300%;animation:cspa-rgb-badge 3.2s linear infinite}
@keyframes cspa-rgb-bell{0%,100%{color:#ff315a;filter:drop-shadow(0 0 2px rgba(255,49,90,.45))}16%{color:#ff9b27;filter:drop-shadow(0 0 5px rgba(255,155,39,.55))}33%{color:#b9e532;filter:drop-shadow(0 0 5px rgba(185,229,50,.5))}50%{color:#00c7a5;filter:drop-shadow(0 0 5px rgba(0,199,165,.5))}66%{color:#268cff;filter:drop-shadow(0 0 5px rgba(38,140,255,.55))}83%{color:#a855f7;filter:drop-shadow(0 0 5px rgba(168,85,247,.55))}}
@keyframes cspa-rgb-badge{0%{background-position:0% 50%}100%{background-position:300% 50%}}
@keyframes cspa-bell-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.cspa-plugin-notifications .nt-notifications-toggle.is-notifying,.cspa-plugin-notifications .nt-notifications-toggle.is-notifying svg,.cspa-plugin-notifications .nt-notifications-toggle.is-notifying .nt-notifications-badge{animation:none;will-change:auto}}
