/* Public portal overrides. Shared library styles remain independent. */
.theme-toggle.mud-button-root, .burger.mud-button-root, .user-avatar.mud-button-root { min-width: 0; padding: 0; }
/* Меню профиля: строка с именем ведёт в профиль, ниже — действия. Размеры — как у остального интерфейса
   (14px, значки 20px), а не Material-ные 16px и 24px. */
.portal-user-popover {
  min-width: 272px; max-width: min(340px, calc(100vw - 24px));
  margin-top: 8px; padding: 6px;
  background: var(--bg-card); color: var(--text-primary);
  border: 1px solid var(--border); border-radius: var(--portal-radius-xl);
  box-shadow: var(--shadow-lg);
}
.portal-user-popover .mud-menu-list { padding: 0; }
.portal-user-popover .mud-menu-item { padding: 6px 10px; border-radius: var(--portal-radius-sm); }
.portal-user-popover .mud-menu-item-text { font-size: 14px; font-weight: 500; }
.portal-user-popover .mud-menu-item-icon { font-size: 20px; color: var(--text-muted); }
.portal-user-popover .mud-divider { margin: 6px -6px; }
/* У строки профиля нет значка слева: отступ под него, который MudBlazor ставит таким пунктам, не нужен. */
.portal-user-popover .user-dropdown-header { padding: 8px 10px; }
.portal-user-popover .mud-menu-list .mud-menu-item.user-dropdown-header > .mud-menu-item-text {
  display: flex; align-items: center; gap: 12px; min-width: 0;
  margin: 0;
}
.portal-notif-popover { margin-top: 8px; background: transparent; }
.portal-notif-popover .notif-panel { position: static; }
.es-search-field { flex: 1; min-width: 0; margin: 0; }
.es-search-field .mud-input { font: inherit; color: var(--text-primary); }
.es-search-field input { padding: 0; }
.pf-mud-tabs .mud-tabs-toolbar, .pf-mud-tabs .mud-tabs-toolbar-inner { background: transparent; color: var(--text-muted); }
.pf-mud-tabs .mud-tab { text-transform: none; font: inherit; padding: 12px 20px; min-width: 0; font-size: .9rem; font-weight: 500; }
.pf-mud-tabs .mud-tab .mud-icon-root { font-size: 18px; }
@media (max-width: 599.98px) {
  .pf-mud-tabs .mud-tab { padding: 10px 14px; font-size: .8rem; }
  .pf-mud-tabs .mud-tab .mud-icon-root { display: none; }
}

/* Подсказка в поле: приглушённый текст темы вместо прозрачности 0,42 от MudBlazor — у поиска и фильтров
   подсказка служит подписью, а была 2,5–3,1:1. */
.mud-input > input.mud-input-root::placeholder,
.mud-input > textarea.mud-input-root::placeholder,
div.mud-input-slot.mud-input-root::placeholder { color: var(--text-muted); opacity: 1; }

/* Текст алерта — цветом статуса, а не его затемнённым вариантом, как у всплывающих сообщений: в тёмной теме
   статусы светлые, и затемнение опускало текст ошибки на карточке до 3,77:1. */
.mud-alert-text-error, .mud-alert-outlined-error { color: var(--mud-palette-error); }
.mud-alert-text-warning, .mud-alert-outlined-warning { color: var(--mud-palette-warning); }
.mud-alert-text-info, .mud-alert-outlined-info { color: var(--mud-palette-info); }
.mud-alert-text-success, .mud-alert-outlined-success { color: var(--mud-palette-success); }

/* Custom MudMenu activators use display:contents by default, which cannot receive focus. */
.portal-user-menu.mud-menu > div.mud-menu-activator { display: inline-flex; border-radius: 50%; }
