/* Notification bell menu additions and the /notifications page (notify.js). Base bell styles are in freeweek.css. */
.bellcount{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.bellbtn.paused{color:var(--muted)}
.bellmenu{width:340px}
.bellhead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.belllink{border:0;background:none;color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:6px}
.belllink:hover{text-decoration:underline}
.belllist{display:flex;flex-direction:column;gap:4px;max-height:min(420px,60vh);overflow-y:auto}
.bellitem{background:transparent;position:relative}
.bellitem:hover{background:var(--sunk);filter:none}
.bellitem.unread{background:var(--bg)}
.bellitem.unread:hover{filter:brightness(.97)}
.bellitem.unread::after{content:"";position:absolute;top:16px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.bellitem.ntpin,.bellitem.ntpin:hover{background:var(--gold-soft)}
.bellitem.ntpin:hover{filter:brightness(.97)}
.ntpinrow{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));background:var(--gold-soft);color:var(--ink);border-radius:12px;padding:14px 16px;margin-bottom:12px;cursor:pointer;font:inherit;font-size:14px}
.ntpinrow:hover{filter:brightness(.97)}
.ntpinrow .muted{font-size:13px;line-height:1.4}
.bellpaused{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 4px 6px;padding:8px 10px;border-radius:8px;background:var(--sunk);font-size:13px;color:var(--muted)}
.bellfoot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:6px;padding:8px 6px 2px}
.bellfoot a{font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;padding:4px}
.bellfoot a:hover{text-decoration:underline}

.ntlayout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.ntfilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.ntf{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.ntf .mono{color:var(--muted);font-size:12px;margin-left:2px}
.ntf.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.ntf.on .mono{color:inherit;opacity:.7}
.ntday{font-size:13px;color:var(--muted);margin:22px 0 8px;font-weight:500}
.ntday:first-child{margin-top:0}
.ntlist{display:flex;flex-direction:column;gap:6px}
.ntrow{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 8px 6px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:background .2s,border-color .2s}
.ntrow.unread{background:var(--surface);border-color:var(--line)}
.ntrow.muted-kind:not(.unread){opacity:.75}
.ntdot{width:8px;height:8px;border-radius:50%}
.ntrow.unread .ntdot{background:var(--accent)}
.ntmain{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:none;color:var(--ink);text-align:left;font:inherit;font-size:14px;padding:8px 0;cursor:pointer;min-width:0}
.ntmain b{font-weight:600}
.ntrow.unread .ntmain b{font-weight:700}
.ntmain .muted{font-size:13px;line-height:1.4}
.ntchips{display:flex;gap:6px;flex-wrap:wrap}
.ntwhen{font-size:12px;color:var(--muted)}
.ntacts{display:flex;gap:2px;opacity:.55;transition:opacity .2s}
.ntrow:hover .ntacts,.ntacts:focus-within{opacity:1}
.ntdel{width:32px;padding-inline:0}

.ntside{position:sticky;top:88px;display:flex;flex-direction:column;gap:18px;padding:22px;scroll-margin-top:88px}
.ntside h2{font-size:20px}
.ntside.flash{animation:ntflash 1.2s var(--ease)}
@keyframes ntflash{0%,40%{box-shadow:0 0 0 3px var(--ink)}100%{box-shadow:var(--shadow)}}
.ntpause p{font-size:13px;margin:4px 0 10px}
.ntpauses{display:flex;gap:6px;flex-wrap:wrap}
.ntkinds{display:flex;flex-direction:column;gap:12px}
.ntsw{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;position:relative}
.ntsw input{position:absolute;opacity:0;width:36px;height:22px;margin:0;cursor:pointer}
.ntknob{width:36px;height:22px;border-radius:999px;background:var(--sunk);border:1px solid var(--line);position:relative;transition:background .2s,border-color .2s;margin-top:1px}
.ntknob::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .2s var(--ease)}
.ntsw input:checked+.ntknob{background:var(--a1);border-color:var(--a1)}
.ntsw input:checked+.ntknob::after{transform:translateX(14px)}
.ntsw input:focus-visible+.ntknob{outline:2px solid var(--ink);outline-offset:2px}
.ntsw b{display:block;font-size:14px;font-weight:600}
.ntsw .muted{display:block;font-size:13px;line-height:1.4}
.ntnote{font-size:12px;margin:0}

@media (max-width:900px){.ntlayout{grid-template-columns:1fr}.ntside{position:static}}
@media (max-width:560px){.ntrow{grid-template-columns:10px minmax(0,1fr);gap:4px 10px}.ntacts{grid-column:2;opacity:1;margin:-4px 0 4px -10px}.bellmenu{width:auto;left:16px}}
@media (prefers-reduced-motion:reduce){.ntside.flash{animation:none}}

/* Bell / Email / Push per kind, push on this browser, and the /unsubscribe page */
.ntpush p{margin:4px 0 10px}
.ntgrid{display:flex;flex-direction:column}
.ntgrow{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,44px);align-items:center;gap:4px;padding:10px 0;border-top:1px solid var(--line)}
.ntgrow>span[role=cell]{display:flex;justify-content:center}
.ntghead{border-top:0;padding:0 0 8px;font-size:12px;font-weight:600;color:var(--muted)}
.ntghead span:not(:first-child){text-align:center}
.ntgk b{display:block;font-size:14px;font-weight:600}
.ntgk .muted{display:block;font-size:12px;line-height:1.4}
.ntck{position:relative;display:inline-flex;cursor:pointer}
.ntck input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ntck .ntknob{width:32px;height:20px;margin:0}
.ntck .ntknob::after{width:14px;height:14px}
.ntck input:checked+.ntknob{background:var(--a1);border-color:var(--a1)}
.ntck input:checked+.ntknob::after{transform:translateX(12px)}
.ntck input:focus-visible+.ntknob{outline:2px solid var(--ink);outline-offset:2px}
.ntna{color:var(--muted)}
#unsubcard h1{font-size:26px;margin:8px 0 10px}
#unsubcard .eyebrow{margin-bottom:4px}
/* Premium-only kinds (New jobs for you, Application seen): a crown for everyone, locked off for free editors. */
.ntcrown{display:inline-flex;align-items:center;margin-left:6px;padding:1px 7px;border-radius:999px;background:#FFF6D6;color:#8A6200;font-size:11px;font-weight:600;vertical-align:1px;white-space:nowrap}
.ntck.locked{cursor:not-allowed;opacity:.45}
.ntck.locked input{pointer-events:none}
.ntget{color:var(--ink);font-weight:600;white-space:nowrap}
