/* Only the unified Notifications window uses these rules. */
body .modal.notification-centre-open{padding:12px}
body .modal.notification-centre-open .modal-backdrop{background:rgba(15,35,55,.42);backdrop-filter:blur(4px)}
body .modal .modal-card.notification-centre-modal.notification-centre-redesign{width:min(1120px,calc(100vw - 32px));max-width:1120px;height:94vh;height:94dvh;max-height:94vh;max-height:94dvh;padding:0;overflow:hidden;border:1px solid #dfe7ef;border-radius:20px;background:#fff;color:#0f2344;box-shadow:0 24px 72px #0f234433}
.notification-centre-redesign,.notification-centre-redesign *{box-sizing:border-box}
.notification-centre-redesign>.modal-close{display:none!important}
body .notification-centre-redesign>#modalBody{display:block;height:100%;max-height:100%;min-height:0;min-width:0;padding:0;overflow:hidden;scrollbar-gutter:auto}
.notification-centre-redesign .notification-centre-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;min-width:0;overflow:hidden}
.notification-centre-redesign [hidden]{display:none!important}
.notification-centre-redesign svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body .notification-centre-redesign .nc-header{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;margin:0;padding:16px 24px;border-bottom:1px solid #dfe7ef;background:#fff}
.notification-centre-redesign .nc-header::before{display:none}
.notification-centre-redesign .nc-bell-tile{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:15px;background:#009c95;color:white;box-shadow:0 8px 22px #009c9526}
.notification-centre-redesign .nc-bell-tile svg{width:26px;height:26px}
.notification-centre-redesign .nc-heading{flex:1;min-width:0}
body .notification-centre-redesign .nc-header .eyebrow{margin:0 0 5px;color:#475d7a;font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.5}
.notification-centre-redesign .nc-header .eyebrow span{color:#008781}
body .notification-centre-redesign .nc-header h2{margin:0 0 2px;color:#0f2344;font-family:var(--font-primary,"Segoe UI",Arial,sans-serif);font-size:22px;line-height:1.2;letter-spacing:-.6px}
body .notification-centre-redesign .nc-header .sub{margin:0;color:#64748b;font-size:14px;line-height:1.5}
.notification-centre-redesign .notification-head-actions{flex:none;display:flex;gap:16px;align-items:center;flex-wrap:nowrap}
body .notification-centre-redesign .nc-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:44px;margin:0;padding:10px 16px;border:1px solid #d2deea;border-radius:10px;background:#fff;color:#0f2344;font-family:inherit;font-size:14px;font-weight:600;line-height:1.25;text-transform:none;letter-spacing:normal;white-space:nowrap;cursor:pointer;box-shadow:0 2px 5px #0f234407;transition:background .15s,border-color .15s;transform:none}
body .notification-centre-redesign .nc-button:hover:not(:disabled){background:#f3faf9;border-color:#8fcac6;color:#007b76;box-shadow:0 2px 5px #0f234407;transform:none}
body .notification-centre-redesign .nc-button:disabled{opacity:.5;cursor:default;transform:none}
body .notification-centre-redesign :is(button,[tabindex]):focus-visible{outline:3px solid #009c95;outline-offset:2px}
body .notification-centre-redesign .nc-top-close{width:44px;padding:10px}
.notification-centre-redesign .nc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 24px;padding:10px 0;border-bottom:1px solid #dfe7ef}
.notification-centre-redesign .nc-tabs{display:flex;gap:10px;flex:none}
body .notification-centre-redesign .nc-tab{min-width:90px}
body .notification-centre-redesign .nc-tab.active{border-color:#009c95;background:#009c95;color:white}
body .notification-centre-redesign .nc-tab.active:hover:not(:disabled){border-color:#008781;background:#008781;color:white}
.notification-centre-redesign .nc-filter-scope{flex:1;min-width:0;color:#64748b;font-size:12px}
.notification-centre-redesign .nc-error{width:100%;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;background:#fff5f5;color:#b91c1c;font-size:13px;overflow-wrap:anywhere}
body .notification-centre-redesign .nc-list{display:block;min-height:0;max-height:none;margin:0;padding:8px 16px 0 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4bec8 transparent;background:#fff}
body .notification-centre-redesign .nc-row{--nc-color:#475569;--nc-pale:#f1f5f9;display:grid;grid-template-columns:8px 40px minmax(0,1fr) 260px;align-items:center;gap:14px;min-height:88px;margin:0 0 8px;padding:10px 12px;border:1px solid #82abd5;border-radius:12px;background:#fff;box-shadow:none;overflow:visible;transition:background .15s;transform:none}
body .notification-centre-redesign .nc-row::before{display:none}
body .notification-centre-redesign .nc-row.unread{border-left-color:#82abd5;background:#fff}
body .notification-centre-redesign .nc-row:hover{border-color:#477fb7;background:#f2f7fd;box-shadow:none;transform:none}
.notification-centre-redesign .nc-row.nc-tone-red{--nc-color:#dc2626;--nc-pale:#ffe7e9}
.notification-centre-redesign .nc-row.nc-tone-amber{--nc-color:#c65d05;--nc-pale:#fff0dc}
.notification-centre-redesign .nc-row.nc-tone-purple{--nc-color:#7c3aed;--nc-pale:#f1e8ff}
.notification-centre-redesign .nc-row.nc-tone-blue{--nc-color:#2563eb;--nc-pale:#eaf1ff}
.notification-centre-redesign .nc-row.nc-tone-teal{--nc-color:#008781;--nc-pale:#e6f8f6}
.notification-centre-redesign .nc-unread-dot{width:10px;height:10px;border-radius:50%;background:#ef4444}
.notification-centre-redesign .is-read .nc-unread-dot{visibility:hidden}
.notification-centre-redesign .nc-icon-tile{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;color:var(--nc-color);background:var(--nc-pale)}
.notification-centre-redesign .nc-icon-tile svg{width:24px;height:24px}
body .notification-centre-redesign .nc-row>div{min-width:0;padding-right:0;grid-column:auto}
body .notification-centre-redesign .nc-category{display:inline-flex;max-width:100%;margin:0 0 3px;padding:2px 7px;border:1px solid transparent;border-radius:999px;background:var(--nc-pale);color:var(--nc-color);font-size:10px;font-weight:600;line-height:1.15;letter-spacing:.035em;text-transform:uppercase;overflow-wrap:anywhere}
.notification-centre-redesign .nc-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.notification-centre-redesign .nc-title-line h3{margin:0;color:#0f2344;font-size:15px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.notification-centre-redesign .is-read .nc-title-line h3{color:#3b4b63;font-weight:600}
.notification-centre-redesign .nc-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid #c8efdf;border-radius:999px;color:#008556;background:#ecfdf5;font-size:11px;font-weight:600;line-height:1.2}
.notification-centre-redesign .nc-status-badge svg{width:14px;height:14px}
body .notification-centre-redesign .nc-row .nc-description{margin:2px 0 3px;color:#526783;font-size:13px;line-height:1.35;overflow-wrap:anywhere;white-space:pre-line}
.notification-centre-redesign .nc-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#64748b;font-size:12px;line-height:1.4}
.notification-centre-redesign .nc-row-meta>span{display:inline-flex;align-items:center;gap:6px}
.notification-centre-redesign .nc-row-meta svg{width:15px;height:15px}
.notification-centre-redesign .nc-read-state::before{content:'·';color:#64748b}
.notification-centre-redesign .nc-read-state.is-unread{color:#dc2626}
.notification-centre-redesign .nc-read-state i{width:6px;height:6px;border-radius:50%;background:#ef4444}
.notification-centre-redesign .nc-row-actions{display:grid;grid-template-columns:108px 144px;gap:8px}
body .notification-centre-redesign .nc-open{background:#e6f8f6;color:#007b76;border-color:#ddf4f1;box-shadow:none}
.notification-centre-redesign .nc-read{grid-column:2}
.notification-centre-redesign .nc-open svg,.notification-centre-redesign .nc-read svg{width:18px;height:18px}
.notification-centre-redesign .nc-footer{display:flex;align-items:center;gap:14px;margin:0;padding:10px 24px;border-top:1px solid #dfe7ef;background:#fff}
.notification-centre-redesign .nc-loaded-count{flex:1;min-width:0;color:#64748b;font-size:12px}
.notification-centre-redesign .nc-close{margin-left:auto!important;min-width:108px!important}
.notification-centre-redesign .nc-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:220px;padding:24px;color:#64748b;text-align:center;font-size:14px}
.notification-centre-redesign .nc-state h3{margin:0;color:#0f2344;font-size:18px}
.notification-centre-redesign .nc-state p{margin:0;overflow-wrap:anywhere}
.notification-centre-redesign .nc-empty-icon svg{width:32px;height:32px;color:#009c95}
@media(max-width:960px){
  body .notification-centre-redesign .nc-header{gap:12px;padding:14px 20px}
  .notification-centre-redesign .nc-bell-tile{width:52px;height:52px}
  .notification-centre-redesign .notification-head-actions{gap:8px}
  body .notification-centre-redesign .nc-settings{padding:10px}
  .notification-centre-redesign .nc-filter-scope{flex-basis:100%;order:3}
  .notification-centre-redesign .nc-mark-all{margin-left:auto!important}
  body .notification-centre-redesign .nc-row{grid-template-columns:8px 48px minmax(0,1fr);column-gap:14px;row-gap:8px;padding:10px 12px}
  .notification-centre-redesign .nc-icon-tile{width:48px;height:48px}
  body .notification-centre-redesign .nc-row>.nc-row-actions{grid-column:3;justify-content:start}
}
@media(max-width:640px){
  body .modal .modal-card.notification-centre-modal.notification-centre-redesign{width:calc(100vw - 24px);max-width:1120px;border:1px solid #dfe7ef;border-radius:16px}
  body .notification-centre-redesign .nc-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;padding:12px}
  .notification-centre-redesign .nc-bell-tile{width:44px;height:44px;border-radius:11px}
  .notification-centre-redesign .nc-bell-tile svg{width:26px;height:26px}
  body .notification-centre-redesign .nc-header h2{font-size:20px;letter-spacing:-.3px}
  body .notification-centre-redesign .nc-header .eyebrow{font-size:8px}
  body .notification-centre-redesign .nc-header .sub{font-size:12px}
  .notification-centre-redesign .notification-head-actions{display:contents}
  body .notification-centre-redesign .nc-settings{grid-column:1/3;grid-row:2;width:max-content;max-width:100%;padding:10px 12px;font-size:13px}
  body .notification-centre-redesign .nc-top-close{grid-column:3;grid-row:1;align-self:start;flex:none}
  .notification-centre-redesign .nc-toolbar{margin:0 12px;padding:8px 0;gap:10px}
  .notification-centre-redesign .nc-tabs{gap:8px}
  body .notification-centre-redesign .nc-tab{min-width:64px;padding:10px 12px}
  body .notification-centre-redesign .nc-mark-all{padding:10px;font-size:12px;gap:6px}
  .notification-centre-redesign .nc-mark-all svg{width:18px;height:18px}
  .notification-centre-redesign .nc-filter-scope{font-size:11px}
  body .notification-centre-redesign .nc-list{padding:8px 10px 0 12px}
  body .notification-centre-redesign .nc-row{grid-template-columns:7px 40px minmax(0,1fr);gap:8px;padding:10px}
  .notification-centre-redesign .nc-unread-dot{width:7px;height:7px}
  .notification-centre-redesign .nc-icon-tile{width:40px;height:44px;border-radius:10px}
  .notification-centre-redesign .nc-icon-tile svg{width:24px;height:24px}
  .notification-centre-redesign .nc-title-line h3{font-size:15px}
  body .notification-centre-redesign .nc-row .nc-description{font-size:13px}
  .notification-centre-redesign .nc-category{font-size:9px}
  .notification-centre-redesign .nc-row-meta{font-size:11px;gap:4px}
  body .notification-centre-redesign .nc-row>.nc-row-actions{grid-column:2/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}
  body .notification-centre-redesign .nc-row-actions button{width:auto;min-width:0;padding:10px 12px;font-size:12px;gap:7px}
  .notification-centre-redesign .nc-footer{gap:8px;padding:10px 12px}
  body .notification-centre-redesign .nc-footer .nc-button{padding:10px 12px;font-size:13px;gap:6px}
  .notification-centre-redesign .nc-close{min-width:0!important}
  .notification-centre-redesign .nc-loaded-count{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.notification-centre-redesign *{transition:none!important}}

/* Compact desktop actions; mobile retains 44px touch targets. */
@media(min-width:641px){body .notification-centre-redesign .nc-button{min-height:36px;padding:7px 12px;font-size:13px}.notification-centre-redesign .nc-top-close{width:36px}}
