/* The Feinh Pro bell (public/js/bell.js). Top bar button (UI v2 shell), white panel, one line per alert. */
.fb-bell[aria-expanded=true]{background:var(--surface-subtle);color:var(--text-primary)}
.fb-bell.urgent svg{animation:fb-ring 1.2s ease 1}
@keyframes fb-ring{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(7deg)}80%{transform:rotate(-4deg)}}

.fb-panel{position:fixed;top:calc(var(--topbar-h) + var(--space-1));inset-inline-end:var(--space-4);z-index:80;width:min(440px,calc(100vw - 24px));max-height:min(720px,calc(100vh - var(--topbar-h) - var(--space-6)));display:flex;flex-direction:column;background:var(--surface-page);color:var(--text-primary);border-radius:var(--radius-lg);box-shadow:0 var(--space-6) calc(var(--space-1) * 18) color-mix(in srgb, var(--primary) 28%, transparent),0 0 0 var(--border-w) color-mix(in srgb, var(--primary) 6%, transparent);opacity:0;transform:translateY(-6px) scale(.985);transform-origin:top right;transition:opacity .16s ease,transform .2s cubic-bezier(.22,1,.36,1);font-family:var(--font-ui)}
.fb-panel.rtl{transform-origin:top left}
.fb-panel.on{opacity:1;transform:none}
.fb-back{position:fixed;inset:0;z-index:79;background:transparent}
.fb-head{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-3) var(--space-3) var(--space-5)}
.fb-head h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-section-size);font-weight:var(--weight-strong);letter-spacing:-.01em;margin:0;margin-inline-end:auto;color:var(--text-primary)}
.fb-head h2 .fb-cnt{font-size:var(--text-meta-size);font-weight:var(--weight-strong);background:var(--surface-subtle);color:var(--text-secondary)}
.fb-mark span{font-size:var(--text-table-size)}
.fb-link{background:none;border:0;color:var(--text-link);font:inherit;font-size:var(--text-body-size);font-weight:var(--weight-strong);cursor:pointer;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:var(--space-2)}
.fb-link:hover{background:var(--surface-selected)}
.fb-link svg{width:16px;height:16px}
.fb-ibtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:var(--control-md);border-radius:var(--radius-sm);border:0;background:transparent;color:var(--text-secondary);cursor:pointer}
.fb-ibtn:hover{background:var(--surface-subtle);color:var(--text-primary)}
.fb-ibtn svg,.fb-panel svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fb-close{display:none}
.fb-quiet{display:flex;align-items:center;gap:var(--space-3);margin:0 var(--space-4) var(--space-2);padding:var(--space-3) var(--space-3);border-radius:var(--radius-lg);background:var(--status-violet-bg);color:var(--status-violet-text);font-size:var(--text-table-size);line-height:1.35}
.fb-quiet span{flex:1}
/* the bell's tabs use Feinh Pro's one tab style (notifications.css .fb-tabs), scoped here so it holds on every page */
.fb-panel .fb-tabs{display:flex;align-items:stretch;gap:var(--space-5);margin:0 var(--space-5);padding:0;border-bottom:var(--border-w) solid var(--border-default)}
.fb-panel .fb-tabs>button{appearance:none;position:relative;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);margin:0;padding:var(--space-2) 0;border:0;background:none;font:inherit;font-size:var(--text-table-size);font-weight:var(--weight-regular);color:var(--text-secondary);cursor:pointer}
.fb-panel .fb-tabs>button:hover{color:var(--text-primary)}
.fb-panel .fb-tabs>button[aria-selected=true]{color:var(--text-primary);font-weight:var(--weight-strong)}
.fb-panel .fb-tabs>button[aria-selected=true]::after{content:"";position:absolute;inset-inline:0;bottom:calc(var(--border-w) * -1);height:var(--focus-ring-w);background:var(--primary);border-radius:var(--radius-xs)}
.fb-panel .fb-tabs .fb-tn{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--danger-solid);color:var(--text-on-dark);font-family:var(--font-num);font-size:var(--text-meta-size);line-height:var(--text-meta-lh);font-weight:var(--weight-strong)}
.fb-cats{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-1);overflow-x:auto;scrollbar-width:none}
.fb-cats::-webkit-scrollbar{display:none}
.fb-cats button{flex:none;line-height:1.3;min-height:28px;display:inline-flex;align-items:center;border:var(--border-w) solid transparent;background:transparent;border-radius:var(--radius-full);padding:0 var(--space-3);font:inherit;font-size:var(--text-meta-size);font-weight:var(--weight-strong);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}
.fb-cats button:hover{background:var(--surface-subtle);color:var(--text-primary)}
.fb-cats button[aria-pressed=true]{background:var(--surface-selected);border-color:var(--border-default);color:var(--text-primary)}
.fb-list{list-style:none;margin:0;padding:0 var(--space-2) var(--space-2);overflow-y:auto;flex:1;overscroll-behavior:contain}
.fb-g{padding:var(--space-3) var(--space-3) var(--space-1);font-size:var(--text-meta-size);font-weight:var(--weight-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}
.fb-row{position:relative;display:grid;grid-template-columns:36px 1fr auto;align-items:start;gap:0 var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-sm);transition:background .12s}
.fb-row:hover,.fb-row.sel{background:var(--surface-sunken)}
.fb-row.sel{box-shadow:inset 0 0 0 var(--focus-ring-w) var(--accent-strong)}
.fb-row.unread::before{content:"";position:absolute;inset-inline-start:var(--space-1);top:calc(var(--space-3) + 15px);width:6px;height:6px;border-radius:50%;background:var(--accent-strong)}
.fb-row.unread.p-P1::before{background:var(--status-red-dot)}
.fb-row.done{opacity:.55}
.fb-row.done .fb-t{text-decoration:line-through;text-decoration-color:var(--border-strong)}
.fb-ic{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;grid-row:1/3}
.fb-ic svg{width:17px!important;height:17px!important;stroke-width:1.8!important}
.fb-ic.c-leads{background:var(--surface-selected);color:var(--text-link)}.fb-ic.c-calendar{background:var(--info-bg);color:var(--status-violet-text)}.fb-ic.c-deals{background:var(--warning-bg);color:var(--warning-text)}.fb-ic.c-team{background:var(--status-violet-bg);color:var(--status-violet-text)}.fb-ic.c-queue{background:var(--surface-subtle);color:var(--text-primary)}
.fb-body{position:relative;display:flex;flex-direction:column;gap:var(--space-half);min-width:0}
.fb-eb{font-size:var(--text-meta-size);font-weight:var(--weight-strong);color:var(--text-tertiary);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-main{display:flex;flex-direction:column;color:inherit!important;text-decoration:none!important;min-width:0}
.fb-main::after{content:"";position:absolute;inset:0}   /* the whole row opens the alert */
.fb-body .pp-ref-link{position:relative;z-index:1}
span.fb-main::after{content:none}   /* v1.19.1: a shaped title is not a link; the row itself opens (bell.js), its links stay clickable */
.fb-row.is-go{cursor:pointer}
.fb-row.is-go:hover{background:var(--surface-sunken)}
span.fb-main a{position:relative;z-index:1;color:var(--text-link)!important;text-decoration:underline!important;text-underline-offset:2px}   /* a reference in the text opens its own record */
.fb-t{font-size:var(--text-table-size);line-height:1.4;color:var(--text-secondary);font-weight:var(--weight-regular);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fb-row.unread .fb-t{color:var(--text-primary);font-weight:var(--weight-strong)}
.fb-cnt{display:inline-block;min-width:20px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--surface-dark);color:var(--text-on-dark);font-size:var(--text-meta-size);line-height:var(--text-meta-lh);text-align:center;vertical-align:1px}
.fb-b{font-size:var(--text-table-size);line-height:1.4;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fb-m{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--space-1);margin-top:var(--space-1);font-size:var(--text-meta-size);color:var(--text-tertiary)}
.fb-m i{font-style:normal;opacity:.6}
.fb-urg{font-style:normal;font-weight:var(--weight-strong);font-size:var(--text-meta-size);color:var(--danger-text);background:var(--danger-bg);border-radius:var(--radius-full);padding:0 var(--space-2);margin-inline-end:var(--space-1);line-height:var(--text-meta-lh)}
/* actions: compact, top corner, shown on hover or keyboard selection (always on touch) */
.fb-acts{grid-column:3;grid-row:1/3;display:flex;gap:var(--space-1);align-self:center;opacity:0;transition:opacity .12s}
.fb-row:hover .fb-acts,.fb-row.sel .fb-acts,.fb-row:focus-within .fb-acts{opacity:1}
@media (hover:none){.fb-acts{opacity:1}}
.fb-act{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:30px;height:30px;padding:0 var(--space-2);border-radius:var(--radius-sm);border:var(--border-w) solid var(--border-subtle);background:var(--surface-page);color:var(--text-secondary)!important;cursor:pointer;font:inherit;font-size:var(--text-meta-size);font-weight:var(--weight-strong);text-decoration:none!important;box-shadow:var(--elevation-1)}
.fb-act:hover{color:var(--text-primary)!important;border-color:var(--border-strong)}
.fb-act:focus-visible,.fb-cats button:focus-visible,.fb-tabs button:focus-visible,.fb-link:focus-visible,.fb-ibtn:focus-visible{outline:calc(var(--border-w) * 3) solid var(--text-accent-on-dark);outline-offset:var(--space-half)}
.fb-act svg{width:15px!important;height:15px!important}
.fb-acts:has(.fb-take){opacity:1}
.fb-act.fb-take{background:var(--primary);border-color:var(--primary);color:var(--text-on-dark)!important}
.fb-act.fb-take:hover{background:var(--primary-hover);color:var(--text-on-dark)!important}
.fb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-10) var(--space-8) var(--space-12);color:var(--text-secondary);font-size:var(--text-body-size);line-height:1.5}
.fb-empty span{width:56px;height:56px;border-radius:50%;background:var(--surface-selected);color:var(--text-link);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 var(--space-2) color-mix(in srgb, var(--surface-selected) 45%, transparent)}
.fb-empty span svg{width:26px;height:26px;stroke-width:2.4}
.fb-empty b{color:var(--text-primary);font-size:var(--text-section-size)}
.fb-foot{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-3);border-top:var(--border-w) solid var(--border-subtle);background:var(--surface-sunken);border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.fb-foot .fb-link{font-size:var(--text-table-size);color:var(--text-secondary)}
.fb-foot .fb-link:hover{color:var(--text-primary)}
.fb-pill{border:0;background:var(--surface-dark);color:var(--text-on-dark);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-table-size);font-weight:var(--weight-strong);cursor:pointer}
.fb-keys{margin-inline-start:auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:var(--border-w) solid var(--border-default);cursor:help;font-weight:var(--weight-strong);font-size:var(--text-meta-size);color:var(--text-tertiary)}
@media (hover:none){.fb-keys{display:none}}
.fb-skel-row{pointer-events:none}
.fb-skel-row .fb-ic{background:var(--surface-subtle)}
.fb-skel-l{display:block;height:12px;width:80%;border-radius:var(--radius-xs);background:var(--surface-subtle);margin-block:var(--space-1)}
.fb-skel-l.is-short{width:45%}
.fb-keys kbd{font:inherit;font-size:var(--text-meta-size);min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-1);border:var(--border-w) solid var(--border-default);box-shadow:inset 0 calc(-1 * var(--border-w)) 0 var(--border-default);border-radius:var(--radius-xs);background:var(--surface-page);color:var(--text-secondary)}
.fb-menu{position:absolute;z-index:3;min-width:210px;background:var(--surface-page);border-radius:var(--radius-lg);box-shadow:0 var(--space-5) var(--space-12) color-mix(in srgb, var(--primary) 25%, transparent),0 0 0 var(--border-w) color-mix(in srgb, var(--primary) 6%, transparent);padding:var(--space-2);display:flex;flex-direction:column}
.fb-menu button{border:0;background:none;text-align:start;padding:var(--space-3) var(--space-3);border-radius:var(--radius-lg);font:inherit;font-size:var(--text-body-size);color:var(--text-primary);cursor:pointer}
.fb-menu button:hover,.fb-menu button:focus{background:var(--surface-subtle);outline:0}
.fb-toast{position:fixed;top:76px;inset-inline-end:var(--space-5);z-index:90;display:flex;align-items:center;gap:var(--space-3);max-width:min(400px,calc(100vw - 24px));background:var(--surface-dark);color:var(--text-on-dark);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:0 var(--space-5) var(--space-12) color-mix(in srgb, var(--primary) 35%, transparent);font-size:var(--text-body-size);font-weight:var(--weight-strong);opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .25s cubic-bezier(.22,1,.36,1)}
.fb-toast.on{opacity:1;transform:none}
.fb-toast a{color:var(--text-on-dark)!important;text-decoration:none!important}
.fb-toast button{margin-inline-start:auto;background:color-mix(in srgb, var(--surface-page) 14%, transparent);border:0;color:var(--text-on-dark);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-table-size);font-weight:var(--weight-strong);cursor:pointer}
.fb-toast-ic svg{width:18px;height:18px;fill:none;stroke:var(--text-accent-on-dark);stroke-width:2;display:block}
.fb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){
  .fb-panel{top:auto;bottom:0;inset-inline:0;width:100%;max-height:none;height:calc(100% - 24px);border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform:translateY(30px);opacity:0}
  .fb-panel.on{transform:none;opacity:1}
  .fb-back{background:color-mix(in srgb, var(--surface-dark) 40%, transparent)}
  .fb-close{display:inline-flex}
  .fb-keys{display:none}
  .fb-act{height:38px;min-width:40px}
  .fb-acts{grid-column:2;grid-row:auto;margin-top:var(--space-2);opacity:1}
  .fb-row{grid-template-columns:36px 1fr}
  html.fb-on,html.fb-on body{overflow:hidden}
  .fb-toast{top:auto;bottom:20px;inset-inline:var(--space-3);max-width:none}
}
@media (prefers-reduced-motion:reduce){.fb-panel,.fb-toast{transition:none}.fb-bell.urgent svg{animation:none}}

