/* Всплывающее меню под кнопкой (меню пользователя в шапке, колокольчик notify.js): .popover рядом с кнопкой-хозяином
   (aria-expanded, aria-controls); пункты .popover-item — ссылки и кнопки во всю ширину. Закрывают Esc, клик и фокус снаружи. */
.popover {
  --pop-bg: var(--surface-raised); --pop-border: var(--border-raised); --pop-shadow: var(--shadow-md); --pop-w: 320px;
  position: absolute; right: 0; top: calc(100% + var(--s1)); z-index: var(--z-panel);
  width: min(var(--pop-w), calc(100vw - 2 * var(--s2))); max-height: calc(100vh - var(--topbar-h) - var(--s4)); overflow-y: auto;
  display: flex; flex-direction: column; gap: var(--s1); padding: var(--s2);
  background: var(--pop-bg); color: var(--fg); border: var(--border-w) solid var(--pop-border); border-radius: var(--r-lg);
  box-shadow: var(--pop-shadow);
}
.popover-head { padding: var(--s2); }
.popover-sep { height: 0; margin: var(--s1) 0; border: 0; border-top: var(--border-w) solid var(--border); }
.popover-item { display: flex; align-items: center; gap: var(--s2); width: 100%; min-height: var(--control-h-sm);
  padding: var(--s1h) var(--s2); border: 0; border-radius: var(--r); background: transparent; color: var(--fg);
  font: var(--fw-medium) var(--fs-md) var(--font); text-align: left; text-decoration: none; cursor: pointer; }
.popover-item:hover { background: var(--surface-2); }
.popover-item:active { background: var(--surface-3); }
.popover-item .icon { color: var(--fg-muted); }
.popover-item.danger { color: var(--danger); }
.popover-item.danger .icon { color: var(--danger); }
.popover .theme-menu { padding: 0 var(--s1); }
.popover .theme-menu > summary { min-height: var(--control-h-sm); }
@media (prefers-reduced-motion: no-preference) {
  .popover:not([hidden]) { animation: pop-in var(--dur) var(--ease); }
}
@keyframes pop-in { from { opacity: 0; transform: translateY(-4px); } }
