.notifications-page { min-height:calc(100vh - 88px); padding:34px clamp(32px,5vw,76px) 72px; background:#fff; }
.notifications-catalog { overflow:hidden; border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; }
.notifications-catalog > header { display:flex; min-height:92px; padding:20px 28px; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--cab-line); }
.notifications-catalog h2 { margin:0; color:var(--cab-ink); font-size:28px; line-height:1.1; letter-spacing:-.025em; }
.notifications-catalog header p { margin:8px 0 0; color:var(--cab-muted); font-size:15px; }
.notifications-settings { display:inline-flex; min-height:44px; align-items:center; gap:6px; color:var(--cab-ink); font-size:15px; font-weight:650; text-decoration:none; }
.notifications-settings:hover { color:var(--cab-brand); }
.notifications-settings:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }

.notifications-toolbar { display:flex; padding:14px 28px; align-items:center; gap:14px; flex-wrap:wrap; border-bottom:1px solid var(--cab-line); background:var(--cab-surface); }
.notifications-segmented { display:inline-flex; padding:4px; gap:4px; border:1px solid var(--cab-line-strong); border-radius:10px; background:#fff; }
.notifications-segmented button { display:inline-flex; min-height:42px; padding:0 16px; align-items:center; gap:8px; border:0; border-radius:7px; background:#fff; color:var(--cab-copy); font-size:15px; font-weight:650; cursor:pointer; }
.notifications-segmented button b { color:var(--cab-muted); font-size:13px; font-weight:650; }
.notifications-segmented button:hover { color:var(--cab-brand); }
.notifications-segmented button.is-active { background:var(--cab-ink); color:#fff; }
.notifications-segmented button.is-active b { color:#fff; }
.notifications-segmented button:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.notifications-mark-all { min-height:44px; padding:0 16px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font-size:15px; font-weight:650; cursor:pointer; transition:border-color var(--cab-fast) var(--cab-ease); }
.notifications-mark-all:hover { border-color:var(--cab-ink); }
.notifications-mark-all:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.notifications-mark-all:disabled { color:var(--cab-disabled); opacity:.6; cursor:not-allowed; }
.notifications-status { min-height:22px; margin:0; padding:14px 28px 0; color:var(--cab-success); font-size:15px; font-weight:650; }
.notifications-status:empty { display:none; }

.notifications-list { padding:0 28px 8px; }
.notification-group { padding-top:20px; }
.notification-group h2 { margin:0 0 4px; color:var(--cab-muted); font:650 13px/1.25 'Iosevka Charon Mono',monospace; letter-spacing:.04em; text-transform:uppercase; }
.notification-group > ul { margin:0; padding:0; list-style:none; }
.notification-item { display:flex; align-items:flex-start; gap:14px; padding:16px 8px; border-top:1px solid var(--cab-line); border-radius:8px; text-decoration:none; }
.notification-group > ul > li:first-child .notification-item { border-top:0; }
.notification-item:hover { background:var(--cab-surface); }
.notification-item:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.notification-icon { display:grid; flex:0 0 auto; width:42px; height:42px; place-items:center; border:1px solid var(--cab-line); border-radius:10px; background:var(--cab-surface); color:var(--cab-copy); }
.notification-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.notification-item.is-moderation .notification-icon { color:var(--cab-warning); }
.notification-item.is-review .notification-icon { color:var(--cab-warning); }
.notification-item.is-message .notification-icon { color:var(--cab-brand); }
.notification-item.is-verification .notification-icon { color:var(--cab-success); }
.notification-item.is-premium .notification-icon { color:var(--cab-brand); }
.notification-item.is-payment .notification-icon { color:var(--cab-success); }
.notification-item.is-reminder .notification-icon { color:var(--cab-warning); }
.notification-body { min-width:0; flex:1; }
.notification-body strong { display:block; margin-top:4px; color:var(--cab-ink); font-size:16px; font-weight:650; line-height:1.35; }
.notification-body p { margin:6px 0 0; color:var(--cab-copy); font-size:15px; line-height:1.45; }
.notification-meta { display:flex; flex:0 0 auto; align-items:center; gap:10px; }
.notification-meta time { color:var(--cab-muted); font-size:13px; white-space:nowrap; }
.notification-dot { width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:var(--cab-brand); }
.notification-dot.is-read { background:var(--cab-line-strong); }
.notification-arrow { color:var(--cab-muted); font-size:15px; }

.notifications-empty { padding:48px 28px; border-top:1px solid var(--cab-line); text-align:center; }
.notifications-empty h3 { margin:0; color:var(--cab-ink); font-size:25px; }
.notifications-empty p { margin:12px 0 0; color:var(--cab-copy); font-size:16px; }

@media (max-width:980px) {
  .notifications-page { padding:26px 24px 54px; }
}
@media (max-width:640px) {
  .notifications-page { padding:26px 16px 48px; }
  .notifications-catalog > header { padding:20px; align-items:stretch; flex-direction:column; }
  .notifications-toolbar { padding:14px 20px; align-items:stretch; flex-direction:column; }
  .notifications-segmented { width:100%; }
  .notifications-segmented button { flex:1; justify-content:center; }
  .notifications-mark-all { width:100%; }
  .notifications-list { padding:0 20px 8px; }
  .notification-item { gap:12px; }
  .notification-body strong { font-size:15px; }
  .notification-meta time { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .notifications-segmented button { transition-duration:.01ms!important; }
}
