.infonevod-ui { --ui-text: #243247; --ui-meta: #606e82; --ui-surface: #fff; --ui-raised: #f4f7fc; --ui-border: #dce4f3; --ui-link: #1d4ed8; --ui-accent-soft: #eaf1ff; --ui-danger: #a63843; }
:where(.infonevod-ui) .header-favorites { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; min-height: 40px; border-radius: 8px; color: var(--ui-meta); text-decoration: none; font-size: .875rem; }
:where(.infonevod-ui) .header-favorites svg { width: 17px; height: 17px; }
:where(.infonevod-ui) .header-favorites:hover, :where(.infonevod-ui) .header-favorites[aria-current="page"] { color: var(--ui-link); background: var(--ui-accent-soft); }
:where(.infonevod-ui) .header-favorites[aria-current="page"] svg { fill: currentColor; }
:where(.infonevod-ui) .theme-toggle { width: 40px; height: 40px; padding: 0; border-radius: 8px; color: var(--ui-meta); flex-shrink: 0; }
:where(.infonevod-ui) .theme-toggle:hover { color: var(--ui-link); background: var(--ui-accent-soft); }
:where(.infonevod-ui) .theme-toggle svg { width: 18px; height: 18px; }
:where(.infonevod-ui) .theme-sun { display: none; }
html[data-theme="dark"] :where(.infonevod-ui) .theme-sun { display: block; }
html[data-theme="dark"] :where(.infonevod-ui) .theme-moon { display: none; }
:where(.infonevod-ui) .favorite-control { display: inline-flex; align-items: center; flex: 0 0 auto; }
:where(.infonevod-ui) .favorite-button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 7px; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-surface); color: var(--ui-meta); flex-shrink: 0; }
:where(.infonevod-ui) .favorite-button svg { width: 20px; height: 20px; flex-shrink: 0; fill: transparent; transition: fill .15s, color .15s; }
:where(.infonevod-ui) .favorite-button:hover, :where(.infonevod-ui) .favorite-button[aria-pressed="true"] { background: var(--ui-accent-soft); color: var(--ui-link); border-color: var(--ui-border); }
:where(.infonevod-ui) .favorite-button[aria-pressed="true"] svg { fill: currentColor; }
:where(.infonevod-ui) .favorite-button[aria-busy="true"] { cursor: progress; }
:where(.infonevod-ui) .favorite-button[data-ui-pending="true"] { opacity: 1; }
:where(.infonevod-ui) .favorite-button:focus-visible, :where(.infonevod-ui) .theme-toggle:focus-visible, :where(.infonevod-ui) .header-favorites:focus-visible { outline: 2px solid var(--ui-link); outline-offset: 3px; }
@media (pointer: coarse) { :where(.infonevod-ui) .signal-date-tools .favorite-button { min-width: 44px; min-height: 44px; } }
:where(.infonevod-ui) .release-document-meta > .favorite-control { margin-left: 4px; }
:where(.infonevod-ui) .favorites-heading { margin: 28px 0 20px; }
:where(.infonevod-ui) .favorites-heading h1 { margin: 0; font-size: 1.75rem; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; color: var(--ui-text); }
:where(.infonevod-ui) .favorites-heading p { margin: 8px 0 0; font-size: .9375rem; line-height: 1.5; color: var(--ui-meta); }
:where(.infonevod-ui) .favorites-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ui-border); border-radius: 14px; background: var(--ui-surface); }
:where(.infonevod-ui) .favorite-row { display: grid; grid-template-columns: minmax(0,1fr) 36px; gap: 20px; align-items: center; padding: 0 24px; }
:where(.infonevod-ui) .favorite-row + .favorite-row { border-top: 1px solid var(--ui-border); }
:where(.infonevod-ui) .favorite-row:has(.favorite-row-link:hover) { background: var(--ui-raised); }
:where(.infonevod-ui) .favorite-row:first-child { border-radius: 14px 14px 0 0; }
:where(.infonevod-ui) .favorite-row:last-child { border-radius: 0 0 14px 14px; }
:where(.infonevod-ui) .favorite-row-link { display: grid; grid-template-columns: 108px minmax(0,1fr) 18px; align-items: center; gap: 24px; min-height: 104px; padding: 22px 0; text-decoration: none; color: var(--ui-text); }
:where(.infonevod-ui) .favorite-row-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
:where(.infonevod-ui) .favorite-kind { font-size: .8125rem; font-weight: 500; line-height: 1.4; padding: 3px 7px; border-radius: 5px; background: var(--ui-raised); color: var(--ui-meta); }
:where(.infonevod-ui) .favorite-row-meta time { font-size: .8125rem; color: var(--ui-meta); }
:where(.infonevod-ui) .favorite-row-title { font-size: 1.0625rem; line-height: 1.5; font-weight: 500; }
:where(.infonevod-ui) .favorite-row-link:hover .favorite-row-title { color: var(--ui-link); }
:where(.infonevod-ui) .favorite-row-chevron { width: 17px; height: 17px; color: var(--ui-meta); }
:where(.infonevod-ui) .favorites-empty { border: 1px solid var(--ui-border); border-radius: 14px; background: var(--ui-surface); padding: 54px 28px; text-align: center; color: var(--ui-text); }
:where(.infonevod-ui) .favorites-empty > svg { width: 30px; height: 30px; color: var(--ui-meta); margin-bottom: 16px; }
:where(.infonevod-ui) .favorites-empty h2 { font-size: 1.25rem; font-weight: 500; margin: 0 0 10px; }
:where(.infonevod-ui) .favorites-empty p { max-width: 380px; margin: 0 auto 22px; color: var(--ui-meta); line-height: 1.6; }
:where(.infonevod-ui) .favorites-empty a { color: var(--ui-link); text-underline-offset: 4px; }
:where(.infonevod-ui) .personal-ui-status { font-size: .875rem; line-height: 1.5; color: var(--ui-danger); }
:where(.infonevod-ui) .personal-ui-status:empty { display: none; }
:where(.infonevod-ui) .favorites-empty[hidden], :where(.infonevod-ui) .favorites-list[hidden] { display: none; }
@media (max-width:650px) {
  :where(.infonevod-ui) .header-favorites { padding: 7px; width: 36px; min-width: 36px; height: 36px; min-height: 36px; justify-content: center; }
  :where(.infonevod-ui) .header-favorites > span { display: none; }
  :where(.infonevod-ui) .favorite-row { padding: 0 18px; gap: 12px; align-items: start; }
  :where(.infonevod-ui) .favorite-row > .favorite-control { margin-top: 20px; }
  :where(.infonevod-ui) .favorite-row-link { grid-template-columns: minmax(0,1fr); gap: 12px; padding: 20px 0; }
  :where(.infonevod-ui) .favorite-row-meta { flex-direction: row; align-items: center; gap: 10px; }
  :where(.infonevod-ui) .favorite-row-title { font-size: 1rem; }
  :where(.infonevod-ui) .favorite-row-chevron { display: none; }
  :where(.infonevod-ui) .favorites-heading { margin-top: 24px; }
  :where(.infonevod-ui) .account-nav .theme-toggle,
  :where(.infonevod-ui) .account-nav .nav-divider,
  :where(.infonevod-ui) .account-nav form:has(.logout-button),
  :where(.infonevod-ui) .account-nav .logout-button { display: none; }
  :where(.infonevod-ui) .header-inner { gap: 12px; }
  :where(.infonevod-ui) .account-nav { gap: 8px; }
  :where(.infonevod-ui) .header-inner .header-control { width:36px; min-width:36px; height:36px; min-height:36px; padding:0; }
  :where(.infonevod-ui) .header-inner :is(.settings-button,.header-favorites,.theme-toggle).header-control { width:36px; padding:0; }
}
@media (max-width:480px) {
  :where(.infonevod-ui) .header-inner { gap: 8px; }
  :where(.infonevod-ui) .account-nav { gap: 4px; }
  :where(.infonevod-ui) .signal-date-tools { flex-wrap: wrap; }
}
@media (prefers-reduced-motion:reduce) { :where(.infonevod-ui) .favorite-button svg { transition:none; } }
:where(.infonevod-ui) .personal-ui-message { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); max-width:calc(100vw - 32px); width:max-content; z-index:100; padding:12px 18px; border:1px solid var(--ui-danger); border-radius:10px; background:var(--ui-surface); color:var(--ui-danger); box-shadow:0 6px 24px #0002; font-size:14px; }
:where(.infonevod-ui) .personal-ui-message[hidden] { display:none; }
:where(.infonevod-ui) .theme-toggle[aria-busy="true"] { cursor:progress; }
@media (max-width:600px) {
 :where(.infonevod-ui) .signal-card-detail .signal-date-tools { width:100%; justify-content:flex-start; row-gap:10px; }
 :where(.infonevod-ui) .signal-card-detail .signal-date-tools time { flex-basis:100%; }
}

/* Header controls = etalon shell-button (40px, white, border #ced8e8).
   Paint/size come from buttons.css [data-cabinet-button]; no second skin. */
:where(.infonevod-ui) .header-inner .header-control.settings-button > span:first-child { transform:none; rotate:none; scale:none; transition:none; }
:where(.infonevod-ui) .header-inner .header-control.settings-button > .pointer-events-none,
:where(.infonevod-ui) .header-inner .header-control .command-shine { display:none; }
:where(.infonevod-ui) .header-inner .header-control svg,
:where(.infonevod-ui) .header-inner .header-control:is(:hover,:focus-visible,:active) svg {
 transform:none; rotate:none; scale:none; transition:none; animation:none;
}
/* Logout = etalon shell-logout: text + left rule, not a second bordered chip. */
:where(.infonevod-ui) .account-nav .nav-divider { display:none; }
:where(.infonevod-ui) .account-nav .logout-button {
  min-height:auto !important;
  height:auto !important;
  padding:0 0 0 20px !important;
  border:0 !important;
  border-left:1px solid var(--ui-border, #dce4f3) !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  color:var(--ui-meta, #43536b) !important;
  font-size:14px !important;
  font-weight:500 !important;
  gap:8px;
}
:where(.infonevod-ui) .account-nav .logout-button:hover {
  background:none !important;
  border-color:var(--ui-border, #dce4f3) !important;
  color:var(--ui-link) !important;
}
@media (max-width:650px) {
  :where(.infonevod-ui) .account-nav .logout-button { display:none !important; }
}
