/* =====================================================================
 * Platega — Redesign overlay (v2)
 *
 * Подключается ПОСЛЕ styles.css/motion.css и переопределяет визуал под
 * новый макет: оранжевый сайдбар (из существующего .tabs), верхняя шапка
 * с логотипом по центру, ряд статус-карточек, светлая «бумажная» таблица.
 *
 * НИКАКОЙ JS не правится. Мы НЕ добавляем новый DOM — переиспользуем
 * .modern-nav / .tabs-container / .tabs / .content-header / .cards-grid.
 * ===================================================================== */

/* ---------- 1. Палитра и токены ---------- */

:root,
[data-theme="orange"] {
  --rd-orange:        #FF6200;
  --rd-orange-dark:   #E84F00;
  --rd-orange-light:  #FF8A2A;
  --rd-orange-soft:   #FFD9BC;
  --rd-orange-bg:     #FFE9D6;

  --rd-cream-50:      #FCF3E9;
  --rd-cream-100:     #F8EBDC;
  --rd-cream-200:     #F1DFC9;
  --rd-cream-300:     #EAD5BA;

  --rd-ink:           #201A13;
  --rd-ink-2:         #4A4338;
  --rd-ink-3:         #93897A;

  --rd-white:         #FFFFFF;

  --rd-success:       #16A34A;
  --rd-success-bg:    #DCFCE7;
  --rd-danger:        #EF4444;
  --rd-danger-bg:     #FEE2E2;
  --rd-warn:          #F59E0B;
  --rd-warn-bg:       #FEF3C7;

  --rd-blue:          #2563EB;
  --rd-blue-bg:       #DBEAFE;
  --rd-purple:        #7C3AED;
  --rd-purple-bg:     #EDE9FE;
  --rd-pink:          #EC4899;
  --rd-pink-bg:       #FCE7F3;
  --rd-yellow:        #F59E0B;
  --rd-yellow-bg:     #FEF3C7;
  --rd-graphite:      #374151;
  --rd-graphite-bg:   #E5E7EB;

  --primary:          var(--rd-orange);
  --primary-dark:     var(--rd-orange-dark);
  --primary-light:    var(--rd-orange-light);
  --bg-primary:       var(--rd-cream-50);
  --bg-secondary:     var(--rd-cream-100);
  --bg-card:          var(--rd-white);
  --bg-input:         var(--rd-white);
  --text-primary:     var(--rd-ink);
  --text-secondary:   var(--rd-ink-2);
  --border:           var(--rd-cream-300);
  --glass-bg:         var(--rd-white);
  --glass-border:     var(--rd-cream-300);

  --rd-radius-sm:     8px;
  --rd-radius:        12px;
  --rd-radius-lg:     16px;
  --rd-radius-xl:     20px;

  --rd-shadow-sm:     0 1px 2px rgba(30, 26, 22, 0.04);
  --rd-shadow:        0 4px 12px rgba(30, 26, 22, 0.06);
  --rd-shadow-lg:     0 12px 32px rgba(30, 26, 22, 0.08);

  --rd-sidebar-w:     224px;
  --rd-header-h:      58px;
  --rd-nav-bottom-gap: calc((var(--rd-header-h) - 38px) / 4);
}

[data-theme="dark"] {
  --rd-orange:        #5B9AFF;
  --rd-orange-dark:   #3B82F6;
  --rd-orange-soft:   #1A2744;
  --rd-orange-bg:     #152038;

  --rd-cream-50:      #0A0E16;
  --rd-cream-100:     #0F1420;
  --rd-cream-200:     #161D2E;
  --rd-cream-300:     rgba(148, 176, 220, 0.16);

  --rd-ink:           #F0F6FF;
  --rd-ink-2:         #93A8C5;
  --rd-ink-3:         #5E7290;

  --rd-white:         rgba(18, 24, 38, 0.92);

  --rd-success-bg:    rgba(16, 185, 129, 0.12);
  --rd-danger-bg:     rgba(239, 68, 68, 0.12);
  --rd-warn-bg:       rgba(245, 158, 11, 0.12);

  --rd-blue:          #5B9AFF;
  --rd-blue-bg:       rgba(59, 130, 246, 0.14);

  --primary:          #5B9AFF;
  --primary-dark:     #3B82F6;
  --primary-light:    #93C5FD;
  --bg-primary:       var(--rd-cream-50);
  --bg-secondary:     var(--rd-cream-100);
  --bg-card:          var(--rd-white);
  --bg-input:         rgba(255, 255, 255, 0.04);
  --text-primary:     var(--rd-ink);
  --text-secondary:   var(--rd-ink-2);
  --border:           rgba(255, 255, 255, 0.08);
  --glass-bg:         rgba(16, 22, 36, 0.82);
  --glass-border:     rgba(120, 170, 255, 0.16);

  --rd-shadow-sm:     0 1px 2px rgba(0, 0, 0, 0.35);
  --rd-shadow:        0 4px 16px rgba(0, 0, 0, 0.4);
  --rd-shadow-lg:     0 12px 32px rgba(0, 0, 0, 0.5);

  /* Синий градиент PLATEGA (splash / сайдбар / оверлей загрузки) */
  --rd-logo-blue-base: linear-gradient(
    108deg,
    #0055EE 0%,
    #0077FF 22%,
    #00AAFF 46%,
    #33E0FF 58%,
    #0099FF 76%,
    #0055EE 100%
  );
  --rd-logo-blue-blik: linear-gradient(
    100deg,
    transparent 0%,
    transparent 36%,
    rgba(255, 255, 255, 0.48) 44%,
    rgba(180, 235, 255, 0.98) 49%,
    rgba(255, 255, 255, 1) 50%,
    rgba(160, 225, 255, 0.96) 52%,
    rgba(255, 255, 255, 0.52) 58%,
    transparent 66%,
    transparent 100%
  );
  --rd-loading-bg: #0A0E16;
}

/* Анимация лого: независимый блик + медленный перелив базы */
@property --rd-logo-blik-pos {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 180%;
}

@property --rd-logo-base-pos {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 0%;
}

/* Богатый цикличный градиент (шире маски — перелив при сдвиге) */
:root,
[data-theme="orange"] {
  --rd-logo-orange-flow: linear-gradient(
    110deg,
    #D93000 0%,
    #FF4500 9%,
    #FF5C00 20%,
    #FF7A00 32%,
    #FF9900 44%,
    #FF5C00 56%,
    #FF4000 68%,
    #FF5500 80%,
    #D93000 90%,
    #FF8800 100%
  );
}

[data-theme="dark"] {
  --rd-logo-blue-base-flow: linear-gradient(
    108deg,
    #0055EE 0%,
    #0077FF 9%,
    #00AAFF 20%,
    #33E0FF 32%,
    #00D4FF 44%,
    #0088FF 56%,
    #0066FF 68%,
    #0044DD 80%,
    #0055EE 90%,
    #33E0FF 100%
  );
}

/* ---------- 2. База страницы ---------- */

body,
[data-theme="orange"] body,
[data-theme="dark"] body {
  background: var(--rd-cream-50) !important;
  background-image: linear-gradient(160deg, #FFF0DD 0%, #FCF3E9 38%, #FBE9D4 100%) !important;
  background-attachment: fixed !important;
  color: var(--rd-ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-weight: 400;
  letter-spacing: -0.005em;
}
[data-theme="dark"] body {
  background: var(--rd-cream-50) !important;
  background-image:
    radial-gradient(ellipse 80% 50% at 15% -10%, rgba(59, 130, 246, 0.12) 0%, transparent 55%),
    radial-gradient(ellipse 60% 40% at 85% 110%, rgba(34, 211, 238, 0.07) 0%, transparent 50%),
    linear-gradient(180deg, #0A0E16 0%, #0C1018 45%, #0A0E16 100%) !important;
}

/* Inter во всём authenticated UI */
body.authenticated .tabs-container,
body.authenticated .modern-nav,
body.authenticated .tab-content,
body.authenticated .tabs,
body.authenticated .tabs-container *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon) {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Глушим атмосферные слои в светлой теме */
[data-theme="orange"] .atmo-bg,
[data-theme="orange"] .atmo-grid,
[data-theme="orange"] .atmo-orb {
  opacity: 0 !important;
}

/* ---------- 3. Верхняя шапка (.modern-nav) ---------- */

body.authenticated .modern-nav {
  position: fixed !important;
  top: 0 !important;
  left: var(--rd-sidebar-w) !important;
  right: 0 !important;
  width: auto !important;
  height: var(--rd-header-h) !important;
  background: rgba(253, 244, 232, 0.86) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid var(--rd-cream-300) !important;
  z-index: 49 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
}

[data-theme="dark"] body.authenticated .modern-nav {
  background: rgba(10, 14, 22, 0.88) !important;
  backdrop-filter: blur(14px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body.authenticated .modern-nav .glass-container {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 24px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px;
  overflow: visible !important;
}

/* Скрываем имя пользователя из навбара — оно живёт в сайдбаре через ::before на .tabs */
body.authenticated .modern-nav .brand {
  display: none !important;
}

/* Логотип находится в сайдбаре — дубликат в верхней шапке скрыт */
body.authenticated .modern-nav .nav-logo-center {
  display: none !important;
}
html body.authenticated .modern-nav .nav-logo-center .brand-logo,
html body.authenticated .nav-logo-center .brand-logo,
html body.authenticated .brand-logo {
  height: 60px !important;
  max-height: 60px !important;
  min-height: 0 !important;
  /* Квадратный SVG-логотип (1000×1000) */
  aspect-ratio: 1 / 1 !important;
  width: auto !important;
  max-width: 108px !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  filter: none !important;
}

html[data-theme="dark"] body.authenticated .modern-nav .nav-logo-center .brand-logo,
html[data-theme="dark"] body.authenticated .nav-logo-center .brand-logo,
html[data-theme="dark"] body.authenticated .brand-logo {
  filter: none !important;
}

/* Правая группа в шапке */
body.authenticated .modern-nav .rd-nav-left-meta {
  grid-column: 1;
  justify-self: start;
  align-self: center;
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
}

body.authenticated .modern-nav .rd-nav-rapira {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  min-width: 0;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--rd-cream-300);
  background: var(--rd-white);
  box-shadow: 0 2px 8px rgba(123, 78, 34, 0.06);
  cursor: default;
  height: 35px;
  box-sizing: border-box;
}

.rd-nav-rapira-tip {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 40;
  padding: 9px 13px;
  border-radius: 10px;
  background: #FFFFFF;
  border: 1px solid var(--rd-cream-300);
  box-shadow: 0 8px 24px rgba(35, 24, 12, 0.14);
  color: var(--rd-ink-2);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(-4px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  pointer-events: none;
}

.rd-nav-rapira:hover .rd-nav-rapira-tip,
.rd-nav-rapira:focus-within .rd-nav-rapira-tip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.rd-nav-rapira-label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rd-ink-3);
  white-space: nowrap;
}

.rd-nav-rapira-value {
  font-size: 17px;
  font-weight: 700;
  color: var(--rd-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rd-nav-rapira-value.is-loading {
  opacity: 0.55;
}

[data-theme="dark"] body.authenticated .modern-nav .rd-nav-rapira {
  background: rgba(18, 24, 38, 0.92);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .rd-nav-rapira-tip {
  background: rgba(22, 28, 42, 0.98);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  color: rgba(255, 255, 255, 0.82);
}

[data-theme="dark"] .rd-nav-rapira-label {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme="dark"] .rd-nav-rapira-value {
  color: rgba(255, 255, 255, 0.92);
}

body.authenticated .modern-nav .rd-nav-deposit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  min-width: 0;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--rd-cream-300);
  background: var(--rd-white);
  box-shadow: 0 2px 8px rgba(123, 78, 34, 0.06);
  height: 35px;
  box-sizing: border-box;
}

.rd-nav-deposit-label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rd-ink-3);
  white-space: nowrap;
}

.rd-nav-deposit-value {
  font-size: 17px;
  font-weight: 700;
  color: var(--rd-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* is-loading — полный скелетон в блоке ниже (.rd-kpi-value.skeleton-deposit) */

[data-theme="dark"] body.authenticated .modern-nav .rd-nav-deposit {
  background: rgba(18, 24, 38, 0.92);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .rd-nav-deposit-label {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme="dark"] .rd-nav-deposit-value {
  color: rgba(255, 255, 255, 0.92);
}

body.authenticated .modern-nav .rd-nav-trader-traffic {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  min-width: 0;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--rd-cream-300);
  background: var(--rd-white);
  box-shadow: 0 2px 8px rgba(123, 78, 34, 0.06);
  height: 35px;
  box-sizing: border-box;
}

.rd-nav-traffic-label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rd-ink-3);
  white-space: nowrap;
  line-height: 1;
}

[data-theme="dark"] body.authenticated .modern-nav .rd-nav-trader-traffic {
  background: rgba(18, 24, 38, 0.92);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .rd-nav-traffic-label {
  color: rgba(255, 255, 255, 0.55);
}

body.authenticated .modern-nav .rd-nav-trader-traffic-toggle {
  margin: 0;
  width: 34px;
  height: 18px;
  flex-shrink: 0;
}

body.authenticated .modern-nav .rd-nav-trader-traffic-toggle .traffic-toggle-slider {
  border-radius: 18px;
}

body.authenticated .modern-nav .rd-nav-trader-traffic-toggle .traffic-toggle-slider::before {
  height: 12px;
  width: 12px;
  left: 2px;
  bottom: 2px;
}

body.authenticated .modern-nav .rd-nav-trader-traffic-toggle input:checked + .traffic-toggle-slider::before {
  transform: translateX(16px);
}

body.authenticated .modern-nav .rd-nav-trader-traffic.is-disabled {
  opacity: 0.42;
}

body.authenticated .modern-nav .rd-nav-trader-traffic.is-disabled .rd-nav-trader-traffic-toggle {
  cursor: not-allowed;
}

body.authenticated .modern-nav .rd-nav-trader-traffic.is-disabled .traffic-toggle-slider {
  cursor: not-allowed;
}

body.authenticated .modern-nav .nav-actions {
  grid-column: 3;
  justify-self: end;
  align-self: center;
  display: flex !important;
  align-items: center;
  gap: 10px;
}

/* Кнопки тема / уведомления — только иконка, без круглой обводки */
body.authenticated .modern-nav .icon-btn {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 4px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--rd-ink-2) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
}
body.authenticated .modern-nav .icon-btn:hover {
  background: transparent !important;
  color: var(--rd-ink) !important;
  transform: none !important;
  box-shadow: none !important;
}
body.authenticated .modern-nav .icon-btn svg,
body.authenticated .modern-nav .icon-btn svg path,
body.authenticated .modern-nav .icon-btn i {
  width: 24px !important;
  height: 24px !important;
  color: currentColor !important;
  stroke: currentColor !important;
  stroke-width: 2.6 !important;
}

body.authenticated .modern-nav .traffic-toggle-container {
  margin-right: 2px;
}

body.authenticated .rd-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

body.authenticated .rd-avatar-wrap .rd-avatar {
  pointer-events: auto !important;
  cursor: pointer;
  padding: 0;
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

body.authenticated .rd-avatar-wrap .rd-avatar:hover {
  box-shadow: var(--rd-shadow-md);
}

body.authenticated .rd-avatar-wrap .rd-avatar[aria-expanded="true"] {
  box-shadow: 0 0 0 3px rgba(255, 98, 0, 0.22);
}

body.authenticated .rd-avatar-popover {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10060;
  min-width: max-content;
  max-width: min(280px, calc(100vw - 24px));
  padding: 12px 16px;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  border-radius: 14px;
  box-shadow:
    0 4px 6px rgba(15, 23, 42, 0.04),
    0 16px 40px rgba(15, 23, 42, 0.12);
  pointer-events: auto;
  transform-origin: top right;
  visibility: hidden;
  opacity: 0;
}

body.authenticated .rd-avatar-popover::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 14px;
  width: 11px;
  height: 11px;
  background: inherit;
  border-left: 1px solid var(--rd-cream-300);
  border-top: 1px solid var(--rd-cream-300);
  transform: rotate(45deg);
  border-radius: 2px 0 0 0;
}

body.authenticated .rd-avatar-popover[hidden] {
  display: block !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.authenticated .rd-avatar-popover.is-open {
  visibility: visible;
  opacity: 1;
  animation: rd-avatar-pop-in 0.26s cubic-bezier(0.22, 1, 0.36, 1) both;
}

body.authenticated .rd-avatar-popover.is-closing {
  visibility: visible;
  opacity: 1;
  animation: rd-avatar-pop-out 0.2s cubic-bezier(0.4, 0, 0.2, 1) both;
  pointer-events: none;
}

@keyframes rd-avatar-pop-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.94);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes rd-avatar-pop-out {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
  to {
    opacity: 0;
    transform: translateY(8px) scale(0.94);
    filter: blur(3px);
  }
}

body.authenticated .rd-avatar-popover__label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rd-ink-3);
  margin-bottom: 4px;
}

body.authenticated .rd-avatar-popover__name {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--rd-ink);
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}

/* Декоративные элементы в шапке: аватар */
body.authenticated .rd-nav-deco {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  box-shadow: var(--rd-shadow-sm);
  color: var(--rd-ink-2);
  position: relative;
  flex-shrink: 0;
  pointer-events: none;
}
body.authenticated .rd-nav-deco svg,
body.authenticated .rd-nav-deco i {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
}

/* Колокольчик уведомлений */
body.authenticated .rd-notifications-wrap {
  position: relative;
  flex-shrink: 0;
}
body.authenticated .rd-bell-btn {
  position: relative;
}
body.authenticated .rd-bell-dot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #FF4500;
  border: 2px solid var(--rd-white);
  box-shadow: 0 0 0 1px rgba(255, 69, 0, 0.25);
  pointer-events: none;
}
body.authenticated .rd-bell-dot[hidden] {
  display: none !important;
}
body.authenticated .rd-notifications-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(360px, calc(100vw - 32px));
  max-height: 420px;
  overflow: auto;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  border-radius: 14px;
  box-shadow: var(--rd-shadow-md);
  z-index: 60;
  padding: 0;
}
body.authenticated .rd-notifications-panel[hidden] {
  display: none !important;
}
body.authenticated .rd-notifications-panel__head {
  padding: 14px 16px 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink-1);
  border-bottom: 1px solid var(--rd-cream-200);
}
body.authenticated .rd-notifications-empty {
  padding: 28px 16px;
  text-align: center;
  font-size: 13px;
  color: var(--rd-ink-3);
}
body.authenticated .rd-notifications-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
body.authenticated .rd-notification-item {
  padding: 12px 16px;
  border-bottom: 1px solid var(--rd-cream-100);
}
body.authenticated .rd-notification-item:last-child {
  border-bottom: 0;
}
body.authenticated .rd-notification-item.is-new {
  background: var(--rd-orange-bg);
}
body.authenticated .rd-notification-item__text {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--rd-ink-1);
  white-space: pre-wrap;
  word-break: break-word;
}
body.authenticated .rd-notification-item__time {
  font-size: 11px;
  color: var(--rd-ink-3);
}
body.authenticated .rd-notifications-compose {
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.authenticated .rd-notifications-compose__input {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  border: 1px solid var(--rd-cream-300);
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  font-size: 13px;
  color: var(--rd-ink-1);
  background: var(--rd-cream-50);
  box-sizing: border-box;
}
body.authenticated .rd-notifications-compose__input:focus {
  outline: none;
  border-color: var(--rd-orange);
  box-shadow: 0 0 0 3px rgba(255, 98, 0, 0.12);
}
body.authenticated .rd-notifications-compose__btn {
  align-self: flex-end;
}
body.authenticated .rd-avatar {
  background: linear-gradient(135deg, #FFD1B0, #FF9F66) !important;
  border-color: transparent !important;
}
body.authenticated .rd-avatar::after {
  content: "";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 38%, #4A2A1A 28%, transparent 30%),
              radial-gradient(circle at 50% 88%, #4A2A1A 36%, transparent 38%);
  opacity: 0.55;
}

/* ---------- 4. Левый сайдбар (из .tabs внутри .tabs-container) ---------- */

body.authenticated .tabs-container {
  margin: 0 !important;
  padding: var(--rd-header-h) 0 0 var(--rd-sidebar-w) !important;
  max-width: none !important;
  width: 100% !important;
  min-height: 100vh;
  box-sizing: border-box;
  background: var(--rd-cream-50);
  overflow: visible !important;
}

body.authenticated .tabs {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: var(--rd-sidebar-w) !important;
  z-index: 60 !important;
  background: #FFF8F0 !important;
  border-right: 1px solid var(--rd-cream-300) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 16px 10px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  flex: none !important;
  isolation: isolate;
}

/* Скользящий индикатор активной вкладки (как rd-stats-period-indicator) */
body.authenticated .tabs .rd-tabs-indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-radius: 14px;
  background: linear-gradient(180deg, #FF8A2A 0%, #FF6200 55%, #E84F00 100%);
  box-shadow:
    0 10px 24px rgba(255, 98, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transform: translate3d(0, 0, 0);
  transition:
    transform 0.52s cubic-bezier(0.16, 1, 0.3, 1),
    width 0.52s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.36s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.28s ease,
    background 0.32s ease,
    box-shadow 0.32s ease;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  will-change: transform, width, height;
}

[data-theme="dark"] body.authenticated .tabs {
  background: linear-gradient(180deg, #0C1018 0%, #0A0E16 100%) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Логотип GT в сайдбаре — блик + медленный перелив под тему */
body.authenticated .tabs::before {
  content: "";
  display: block;
  height: 75px;
  margin: 0 -2px 12px;
  padding: 9px 0 18px;
  --rd-logo-blik-pos: 180%;
  --rd-logo-base-pos: 0%;
  background-image:
    linear-gradient(
      100deg,
      transparent 0%,
      transparent 38%,
      rgba(255, 255, 255, 0.62) 46%,
      rgba(255, 248, 220, 0.98) 49.5%,
      rgba(255, 255, 255, 1) 50%,
      rgba(255, 228, 170, 0.96) 52.5%,
      rgba(255, 255, 255, 0.52) 58%,
      transparent 66%,
      transparent 100%
    ),
    var(--rd-logo-orange-flow, linear-gradient(
      110deg,
      #FF4500 0%,
      #FF5C00 32%,
      #FF8800 55%,
      #FF5C00 78%,
      #FF4000 100%
    ));
  background-repeat: no-repeat, no-repeat;
  background-size: 220% 100%, 520% 100%;
  background-position: var(--rd-logo-blik-pos) 50%, var(--rd-logo-base-pos) 50%;
  -webkit-mask-image: url('/images/logo.svg?v=20260620');
  mask-image: url('/images/logo.svg?v=20260620');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 72px 72px;
  mask-size: 72px 72px;
  flex-shrink: 0;
  filter: saturate(1.18) contrast(1.08);
  opacity: 1;
  visibility: visible;
  content: "" !important;
  animation:
    rd-logo-blik-sweep 3.6s cubic-bezier(0.45, 0.05, 0.25, 1) infinite,
    rd-logo-base-flow 14s ease-in-out infinite;
  will-change: --rd-logo-blik-pos, --rd-logo-base-pos;
}

/* Перезапуск анимации после смены темы */
body.authenticated .tabs.rd-logo-repair::before {
  animation: none !important;
  --rd-logo-blik-pos: 180%;
  --rd-logo-base-pos: 35%;
  background-position: 180% 50%, 35% 50% !important;
}

@keyframes rd-logo-blik-sweep {
  0%   { --rd-logo-blik-pos: 180%; }
  100% { --rd-logo-blik-pos: -80%; }
}

@keyframes rd-logo-base-flow {
  0%   { --rd-logo-base-pos: 0%; }
  50%  { --rd-logo-base-pos: 100%; }
  100% { --rd-logo-base-pos: 0%; }
}

/* Splash / overlay — только блик (без перелива базы) */
@keyframes rd-logo-blue-highlight {
  0%   { background-position: 180% 50%, center; }
  100% { background-position: -80% 50%, center; }
}

[data-theme="dark"] body.authenticated .tabs::before,
html[data-theme="dark"] body.authenticated .tabs::before,
body[data-theme="dark"].authenticated .tabs::before {
  background-image: var(--rd-logo-blue-blik), var(--rd-logo-blue-base-flow, var(--rd-logo-blue-base));
  background-repeat: no-repeat, no-repeat;
  background-size: 220% 100%, 520% 100%;
  background-position: var(--rd-logo-blik-pos) 50%, var(--rd-logo-base-pos) 50%;
  filter: saturate(1.2) contrast(1.1) brightness(1.04);
  animation:
    rd-logo-blik-sweep 3.6s cubic-bezier(0.45, 0.05, 0.25, 1) infinite,
    rd-logo-base-flow 14s ease-in-out infinite;
}

[data-theme="orange"] body.authenticated .tabs::before,
html[data-theme="orange"] body.authenticated .tabs::before {
  background-image:
    linear-gradient(
      100deg,
      transparent 0%,
      transparent 38%,
      rgba(255, 255, 255, 0.62) 46%,
      rgba(255, 248, 220, 0.98) 49.5%,
      rgba(255, 255, 255, 1) 50%,
      rgba(255, 228, 170, 0.96) 52.5%,
      rgba(255, 255, 255, 0.52) 58%,
      transparent 66%,
      transparent 100%
    ),
    var(--rd-logo-orange-flow, linear-gradient(
      110deg,
      #FF4500 0%,
      #FF5C00 32%,
      #FF8800 55%,
      #FF5C00 78%,
      #FF4000 100%
    )) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (prefers-reduced-motion: reduce) {
  body.authenticated .tabs::before {
    animation: none;
    --rd-logo-blik-pos: 50%;
    --rd-logo-base-pos: 35%;
    background-position: 50% 50%, 35% 50% !important;
  }
  [data-theme="dark"] body.authenticated .tabs::before,
  html[data-theme="dark"] body.authenticated .tabs::before,
  body[data-theme="dark"].authenticated .tabs::before {
    animation: none;
    --rd-logo-blik-pos: 50%;
    --rd-logo-base-pos: 35%;
    background-position: 50% 50%, 35% 50% !important;
  }
}

body.authenticated .tabs button {
  all: unset;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 11px 12px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--rd-ink-2) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  box-sizing: border-box !important;
  text-align: left;
  line-height: 1.2;
  letter-spacing: -0.005em;
  transition: background-color 0.15s ease, color 0.15s ease;
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 4px !important;
}

body.authenticated .tabs button:not(.rd-sidebar-logout) {
  position: relative !important;
  z-index: 1 !important;
}

/* Админские вкладки скрыты по умолчанию — не всплывают при сбросе data-user-role на выходе */
body.authenticated .tabs button[data-admin-tab] {
  display: none !important;
}

body.authenticated[data-user-role="admin"] .tabs button[data-admin-tab] {
  display: flex !important;
}

body.authenticated[data-user-role="admin"] #traders-tab-btn {
  display: flex !important;
}

/* DCQR PUSH — только elusive (admin + trader №1), не все админы */
body.authenticated .tabs button[data-elusive-tab] {
  display: none !important;
}

body.authenticated[data-elusive-admin="1"] .tabs button[data-elusive-tab] {
  display: flex !important;
}

body.authenticated:not([data-elusive-admin="1"]) #dcqr-pushes-tab {
  display: none !important;
}

/* Teamlead: только вкладка «Трейдеры», без Rapira/депозита/трафика в шапке */
body.authenticated[data-user-role="teamlead"] .tabs button:not(.rd-sidebar-logout):not(#traders-tab-btn) {
  display: none !important;
}

body.authenticated[data-user-role="teamlead"] #traders-tab-btn {
  display: flex !important;
}

body.authenticated[data-user-role="teamlead"] .modern-nav .rd-nav-left-meta,
body.authenticated[data-user-role="teamlead"] .traffic-toggle-container,
body.authenticated[data-user-role="teamlead"] .rd-notifications-wrap {
  display: none !important;
}

/* Мгновенно прячем приложение при выходе (до reload) */
body.is-logging-out .modern-nav,
body.is-logging-out .tabs-container {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Кнопка «Выйти» внизу сайдбара */
body.authenticated .tabs .rd-sidebar-logout {
  all: unset;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding: 8px 10px !important;
  min-height: 0 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  border-radius: 10px !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  color: #fff !important;
  background: #5A1528 !important;
  cursor: pointer;
  transition: background-color 0.15s ease, filter 0.15s ease;
}

body.authenticated .tabs .rd-sidebar-logout:hover {
  background: #45101E !important;
  color: #fff !important;
  transform: none !important;
}

body.authenticated .tabs .rd-sidebar-logout:active {
  filter: brightness(0.92);
  transform: none !important;
}

body.authenticated .tabs .rd-sidebar-logout i,
body.authenticated .tabs .rd-sidebar-logout svg,
body.authenticated .tabs .rd-sidebar-logout svg.lucide {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0;
  color: #fff !important;
  stroke: #fff !important;
}

body.authenticated .tabs .rd-sidebar-logout svg path,
body.authenticated .tabs .rd-sidebar-logout svg line,
body.authenticated .tabs .rd-sidebar-logout svg polyline {
  stroke: #fff !important;
}

[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout {
  background: #323640 !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout:hover {
  background: #262A33 !important;
  color: #fff !important;
}

[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout i,
[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout svg,
[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout svg.lucide,
[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout svg path,
[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout svg line,
[data-theme="dark"] body.authenticated .tabs .rd-sidebar-logout svg polyline {
  color: rgba(255, 255, 255, 0.92) !important;
  stroke: rgba(255, 255, 255, 0.92) !important;
}

body.authenticated .tabs button:hover {
  background: var(--rd-cream-200) !important;
  color: var(--rd-ink) !important;
  transform: none !important;
}

body.authenticated .tabs button[data-tab-blocked] {
  opacity: 0.42 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

body.authenticated .tabs button[data-tab-blocked]:hover {
  background: transparent !important;
  color: var(--rd-ink-2) !important;
}

body.authenticated .tabs.rd-tabs-switching button:not(.rd-sidebar-logout) {
  pointer-events: none !important;
  cursor: default !important;
}

body.authenticated .tabs button.active {
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}

body.authenticated .tabs button i,
body.authenticated .tabs button svg,
body.authenticated .tabs button svg.lucide {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0;
  color: currentColor !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  opacity: 1 !important;
}
body.authenticated .tabs button.active svg,
body.authenticated .tabs button.active svg path,
body.authenticated .tabs button.active svg rect,
body.authenticated .tabs button.active svg circle {
  color: #fff !important;
  stroke: #fff !important;
}

/* Ник в подвале сайдбара больше не нужен — бренд elusive. сверху через ::before */
body.authenticated #brand-name { display: none !important; }

/* ---------- 5. Контентная область ---------- */

.tab-content {
  padding: 24px 28px 30px !important;
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box;
  background: transparent !important;
  border: 0 !important;
}
.tab-content.active { display: block !important; }

/* Шапка вкладки — заголовок и кнопки в одну строку, затем статус-ряд, затем фильтры */
.tab-content .content-header {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0 !important;
  box-shadow: none;
  margin-bottom: 14px !important;
  display: block !important;
}
.tab-content .content-header-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.tab-content .header-title-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.tab-content .header-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  width: 100%;
}
.tab-content .content-header h2 {
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--rd-ink) !important;
  margin: 0 !important;
  background: none !important;
  -webkit-text-fill-color: var(--rd-ink) !important;
}

/* Кнопки `Загрузить xlsx` + `+ Добавить кабинет` ставим в правый край строки заголовка через flex */
.tab-content .header-title-row .elusive-mt-qr-header {
  margin-right: auto !important;
}
.tab-content .header-title-row .action-buttons-in-title {
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  margin-left: auto;
}
/* Сбрасываем мой прежний абсолют и оставляем action-buttons в потоке */
.tab-content .header-controls .action-buttons {
  position: static !important;
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  flex-shrink: 0;
  margin-left: auto;
  align-self: flex-end !important;
}

/* МТ-тумблер около заголовка */
.elusive-mt-qr-header {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 12px !important;
  background: var(--rd-cream-100) !important;
  border-radius: 999px !important;
  border: 1px solid var(--rd-cream-300) !important;
  box-shadow: none !important;
}
.elusive-mt-qr-header .elusive-mt-qr-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--rd-ink-2) !important;
  letter-spacing: 0.04em;
}

/* ---------- 6. Ряд статус-карточек ---------- */

.cards-statistics {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  align-items: stretch !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
@media (max-width: 1280px) { .cards-statistics { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 720px)  { .cards-statistics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

.cards-statistics .stat-item {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--rd-white) !important;
  border: none !important;
  border-radius: var(--rd-radius) !important;
  padding: 12px 14px !important;
  min-height: 64px;
  box-shadow: none !important;
  box-sizing: border-box;
  min-width: 0;
}
.cards-statistics .stat-item::before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: var(--rd-orange-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  grid-row: 1;
  grid-column: 1;
}
.cards-statistics .stat-item > .stat-label,
.cards-statistics .stat-item > .stat-value {
  grid-column: 2;
  min-width: 0;
}
.cards-statistics .stat-item > .stat-label { grid-row: 1; align-self: end; }
.cards-statistics .stat-item > .stat-value { grid-row: 2; align-self: start; }
.cards-statistics .stat-item::before { grid-row: 1 / span 2; align-self: center; }

.cards-statistics .stat-item.stat-item--has-info {
  position: relative;
  overflow: visible !important;
  padding-top: 10px !important;
  padding-right: 30px !important;
}

/* Кнопка «i» + themed tooltip */
.rd-status-info {
  all: unset;
  box-sizing: border-box;
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 4;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 1px solid var(--rd-cream-300);
  background: var(--rd-cream-100);
  color: var(--rd-ink-3);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: help;
  flex-shrink: 0;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.rd-status-info-mark {
  font-size: 10px;
  font-weight: 700;
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1;
  pointer-events: none;
}

.rd-status-info-tip {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(280px, calc(100vw - 32px));
  padding: 10px 12px;
  border-radius: 10px;
  background: #FFFFFF !important;
  border: 1px solid var(--rd-cream-300);
  box-shadow: 0 8px 24px rgba(35, 24, 12, 0.14);
  color: var(--rd-ink-2);
  font-size: 12px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  pointer-events: none;
  z-index: 30;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.rd-status-info:hover,
.rd-status-info:focus-visible {
  background: var(--rd-cream-200);
  border-color: var(--rd-ink-3);
  color: var(--rd-ink-2);
  outline: none;
}

.rd-status-info:hover .rd-status-info-tip,
.rd-status-info:focus-visible .rd-status-info-tip {
  opacity: 1 !important;
  visibility: visible;
  transform: translateY(0);
  background: #FFFFFF !important;
}

[data-theme="dark"] .rd-status-info {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.72);
}

[data-theme="dark"] .rd-status-info:hover,
[data-theme="dark"] .rd-status-info:focus-visible {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}

[data-theme="dark"] .rd-status-info-tip {
  background: #151B28 !important;
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.55);
}

[data-theme="dark"] .rd-status-info:hover .rd-status-info-tip,
[data-theme="dark"] .rd-status-info:focus-visible .rd-status-info-tip {
  background: #151B28 !important;
  opacity: 1 !important;
}

.cards-statistics .stat-item.stat-item--has-info:focus-within,
.cards-statistics .stat-item.stat-item--has-info:has(.rd-status-info:hover) {
  z-index: 8;
}

/* Цветные иконки по позиции карточки (как на референсе):
   1 Всего → orange, 2 В работе → blue, 3 Остывает → purple,
   4 Заблокировано → red, 5 Замена паспорта → yellow, 6 Теневой → graphite */
.cards-statistics .stat-item:nth-child(1)::before {
  background-color: #FFE3CC;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FF6200' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>");
}
.cards-statistics .stat-item:nth-child(2)::before {
  background-color: #DBEAFE;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polygon points='12 2 2 7 12 12 22 7 12 2'/><polyline points='2 17 12 22 22 17'/><polyline points='2 12 12 17 22 12'/></svg>");
}
.cards-statistics .stat-item:nth-child(3)::before {
  background-color: #EDE9FE;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='2' y1='12' x2='22' y2='12'/><line x1='12' y1='2' x2='12' y2='22'/><polyline points='20 7 12 12 20 17'/><polyline points='4 7 12 12 4 17'/></svg>");
}
.cards-statistics .stat-item:nth-child(4)::before {
  background-color: #FEE2E2;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2' ry='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>");
}
.cards-statistics .stat-item:nth-child(5)::before {
  background-color: #FEF3C7;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23F59E0B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='9' y1='13' x2='15' y2='13'/><line x1='9' y1='17' x2='13' y2='17'/></svg>");
}
.cards-statistics .stat-item:nth-child(6)::before {
  background-color: #E5E7EB;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/><line x1='1' y1='1' x2='23' y2='23'/></svg>");
}
.cards-statistics .stat-item::before {
  background-size: 19px 19px;
}

.cards-statistics .stat-item .stat-label {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--rd-ink-3) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  display: block !important;
  margin: 0 0 2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.cards-statistics .stat-item .stat-value {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--rd-ink) !important;
  line-height: 1.1 !important;
  font-variant-numeric: tabular-nums;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* ---------- 7. Фильтры / поиск ---------- */

.tab-content .header-controls {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.tab-content .search-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  gap: 10px !important;
  flex: 1 1 auto;
}
.tab-content .search-field-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 150px;
}
.tab-content .search-field-label {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--rd-ink-3) !important;
  letter-spacing: 0.02em;
}
.tab-content .search-input-wrapper {
  flex: 1 1 220px;
  min-width: 200px;
}

/* Поле поиска на вкладке «Реквизиты» — компактное */
#cards-tab .search-query-group {
  display: flex !important;
  align-items: flex-end !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

#cards-tab .search-input-wrapper {
  flex: 0 0 200px !important;
  width: 200px !important;
  min-width: 0 !important;
  max-width: 200px !important;
  height: auto !important;
  align-self: flex-end !important;
}

#cards-tab .search-input-wrapper .search-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  box-sizing: border-box !important;
}

#cards-tab #cards-search-btn {
  height: 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  align-self: flex-end !important;
  flex-shrink: 0 !important;
}

#cards-tab .search-field-group {
  margin-right: 0 !important;
}

/* Фильтр «Группа» — UI скрыт, select и applyGroupFilter в JS сохранены */
#cards-tab .search-field-group:has(#cards-group-filter) {
  display: none !important;
}

#cards-tab .search-container {
  align-items: flex-end !important;
  gap: 10px !important;
}

#cards-tab .search-container > .btn.btn-secondary:not(.search-icon-btn) {
  height: 40px !important;
  min-height: 40px !important;
  align-self: flex-end !important;
}

/* ---------- Настройка лимитов SUCCESS (модалка трейдера) ---------- */
.rd-limit-type-modal {
  max-width: 520px !important;
}

.rd-limit-type-lead {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--rd-ink-2);
}

.rd-limit-slider-block {
  margin: 8px 0 16px;
  padding: 16px 14px 12px;
  border-radius: var(--rd-radius-lg);
  background: var(--rd-cream-100);
  border: 1px solid var(--rd-cream-300);
}

html[data-theme="dark"] .rd-limit-slider-block,
body[data-theme="dark"] .rd-limit-slider-block {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

.rd-limit-slider-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.rd-limit-slider-caption {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rd-ink-3);
}

.rd-limit-slider-value {
  font-size: 15px;
  font-weight: 700;
  color: var(--rd-orange);
  transition: opacity 0.15s ease;
}

html[data-theme="dark"] .rd-limit-slider-value,
body[data-theme="dark"] .rd-limit-slider-value {
  color: #6ea8ff;
}

.rd-limit-slider-value.is-saving {
  opacity: 0.55;
}

.rd-limit-slider-track-wrap {
  position: relative;
  height: 28px;
  margin: 0 6px 10px;
}

.rd-limit-slider-dots {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  z-index: 1;
}

.rd-limit-slider-dots::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 50%;
  height: 3px;
  margin-top: -1.5px;
  border-radius: 2px;
  background: var(--rd-cream-300);
}

html[data-theme="dark"] .rd-limit-slider-dots::before,
body[data-theme="dark"] .rd-limit-slider-dots::before {
  background: rgba(255, 255, 255, 0.12);
}

.rd-limit-slider-dot {
  position: relative;
  width: 14px;
  height: 14px;
  padding: 0;
  border: 2px solid var(--rd-cream-400);
  border-radius: 50%;
  background: var(--rd-white);
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  flex-shrink: 0;
}

html[data-theme="dark"] .rd-limit-slider-dot,
body[data-theme="dark"] .rd-limit-slider-dot {
  background: #1a2030;
  border-color: rgba(255, 255, 255, 0.2);
}

.rd-limit-slider-dot.is-active {
  border-color: var(--rd-orange);
  background: var(--rd-orange);
  box-shadow: 0 0 0 4px rgba(255, 98, 0, 0.2);
  transform: scale(1.15);
}

html[data-theme="dark"] .rd-limit-slider-dot.is-active,
body[data-theme="dark"] .rd-limit-slider-dot.is-active,
body.dark-theme .rd-limit-slider-dot.is-active {
  border-color: #6ea8ff;
  background: #6ea8ff;
  box-shadow: none;
  transform: scale(1.12);
}

.rd-limit-slider-dot:hover:not(.is-active) {
  border-color: var(--rd-orange);
}

html[data-theme="dark"] .rd-limit-slider-dot:hover:not(.is-active),
body[data-theme="dark"] .rd-limit-slider-dot:hover:not(.is-active),
body.dark-theme .rd-limit-slider-dot:hover:not(.is-active) {
  border-color: rgba(110, 168, 255, 0.65);
}

.rd-limit-slider-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 28px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.rd-limit-slider-ticks {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
  color: var(--rd-ink-3);
}

.rd-limit-slider-ticks.rd-limit-slider-ticks--two {
  grid-template-columns: repeat(2, 1fr);
  font-size: 13px;
  font-weight: 600;
}

.rd-limit-slider-ticks.rd-limit-slider-ticks--three {
  grid-template-columns: repeat(3, 1fr);
  font-size: 13px;
  font-weight: 600;
}

.rd-limit-slider-ticks span.is-active {
  color: var(--rd-orange);
  font-weight: 600;
}

html[data-theme="dark"] .rd-limit-slider-ticks span.is-active,
body[data-theme="dark"] .rd-limit-slider-ticks span.is-active,
body.dark-theme .rd-limit-slider-ticks span.is-active {
  color: #6ea8ff;
}

.rd-limit-type-desc {
  min-height: 4.5em;
  padding: 12px 14px;
  border-radius: var(--rd-radius);
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  font-size: 13px;
  line-height: 1.55;
  color: var(--rd-ink-2);
  white-space: pre-line;
}

html[data-theme="dark"] .rd-limit-type-desc,
body[data-theme="dark"] .rd-limit-type-desc {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.78);
}

.tab-content .search-input,
.tab-content .search-type-select {
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: var(--rd-radius) !important;
  background: var(--rd-white) !important;
  border: 1px solid var(--rd-cream-300) !important;
  color: var(--rd-ink) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.tab-content .search-input::placeholder {
  color: var(--rd-ink-3) !important;
}
.tab-content .search-input:focus,
.tab-content .search-type-select:focus {
  outline: none !important;
  border-color: var(--rd-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 98, 0, 0.18) !important;
}
.tab-content .search-btn,
.tab-content .search-icon-btn {
  height: 40px !important;
  width: 40px !important;
  padding: 0 !important;
  border-radius: var(--rd-radius) !important;
  flex-shrink: 0 !important;
}
.tab-content .action-buttons {
  display: flex !important;
  gap: 10px !important;
  flex-shrink: 0;
}

/* ---------- DCQR tab: шапка и сетка как в «Реквизитах» ---------- */

#dcqr-statistics.cards-statistics {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 720px) {
  #dcqr-statistics.cards-statistics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

#dcqr-tab .header-title-row {
  justify-content: flex-start !important;
}

#dcqr-tab .header-controls {
  align-items: flex-end !important;
  flex-wrap: nowrap !important;
}

#dcqr-tab .search-container {
  flex: 0 1 auto !important;
  max-width: none !important;
  align-self: center !important;
  align-items: center !important;
}

#dcqr-tab .search-input-wrapper {
  flex: 0 0 218px !important;
  width: 218px !important;
  max-width: 218px !important;
  min-width: 218px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
}

#dcqr-tab .search-input {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
}

#dcqr-tab .search-btn,
#dcqr-tab .search-icon-btn {
  height: 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
}

#dcqr-tab .dcqr-rate-display {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 4px !important;
  margin-left: auto !important;
  white-space: nowrap !important;
  align-self: center !important;
}

#dcqr-tab .dcqr-manage-view-switch {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  align-self: center !important;
}

#dcqr-tab .dcqr-traffic-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 4px !important;
  white-space: nowrap !important;
  align-self: center !important;
}

#dcqr-tab .dcqr-traffic-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--rd-ink-2) !important;
}

#dcqr-tab .dcqr-traffic-toggle {
  margin: 0 !important;
}

#dcqr-tab .dcqr-traffic-wrap.is-saving .dcqr-traffic-label {
  opacity: 0.6 !important;
}

#dcqr-tab .dcqr-gateway-wrap.dcqr-traffic-wrap {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  height: auto !important;
  min-height: 40px !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  padding: 0 2px !important;
}

#dcqr-tab .dcqr-gateway-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
}

#dcqr-tab .dcqr-gateway-wrap .dcqr-gateway-caption {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

#dcqr-tab .dcqr-gateway-wrap {
  gap: 0 !important;
  height: auto !important;
  min-height: 40px !important;
  max-height: none !important;
  align-items: center !important;
  overflow: visible !important;
}

#dcqr-tab .dcqr-gateway-segment {
  display: inline-flex !important;
  align-items: flex-end !important;
  gap: 12px !important;
  overflow: visible !important;
}

#dcqr-tab .dcqr-gateway-option.traffic-toggle {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  overflow: visible !important;
}

#dcqr-tab .dcqr-gateway-option .traffic-toggle-slider {
  position: relative !important;
  display: block !important;
  width: 50px !important;
  height: 26px !important;
  flex: 0 0 26px !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}

#dcqr-tab .dcqr-gateway-option-caption {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: lowercase !important;
  color: var(--rd-ink-2) !important;
  min-width: 2.2em !important;
  text-align: center !important;
  line-height: 1.1 !important;
  flex: 0 0 auto !important;
}

#dcqr-tab .dcqr-gateway-wrap.is-saving .dcqr-gateway-option-caption {
  opacity: 0.6 !important;
}

#dcqr-tab .dcqr-gateway-option-text {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: lowercase !important;
  color: var(--rd-ink-2) !important;
  min-width: 2.2em !important;
  text-align: center !important;
}

#dcqr-tab .dcqr-gateway-wrap.is-saving .dcqr-gateway-option-text {
  opacity: 0.6 !important;
}

#dcqr-tab .dcqr-rate-label {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--rd-ink-2) !important;
}

#dcqr-tab .dcqr-rate-edit-btn {
  height: 40px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

#dcqr-tab .header-controls .action-buttons {
  margin-left: 0 !important;
  align-self: center !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  align-items: center !important;
}

#dcqr-grid {
  --dcqr-type-scale: 0.7;
  --rd-card-scale: calc(1.3 * var(--dcqr-type-scale));
  gap: 5px !important;
}

#dcqr-grid > .data-card {
  padding: 7px 9px !important;
}

#dcqr-grid > .data-card .card-main-row,
#dcqr-grid > .rd-table-head {
  grid-template-columns:
    70px
    minmax(140px, 1.2fr)
    minmax(120px, 1fr)
    minmax(80px, 0.8fr)
    minmax(130px, 1fr)
    minmax(70px, 0.6fr)
    minmax(100px, 0.9fr)
    minmax(72px, 0.65fr)
    minmax(72px, 0.65fr)
    minmax(120px, 0.95fr)
    minmax(150px, 1.3fr) !important;
}

#dcqr-grid[data-dcqr-manage-mode="match"] > .data-card .card-main-row,
#dcqr-grid[data-dcqr-manage-mode="match"] > .rd-table-head {
  grid-template-columns:
    70px
    minmax(140px, 1.3fr)
    minmax(120px, 1.1fr)
    minmax(80px, 0.8fr)
    minmax(100px, 0.9fr)
    minmax(72px, 0.65fr)
    minmax(72px, 0.65fr)
    minmax(120px, 0.95fr)
    minmax(150px, 1.3fr) !important;
}

#dcqr-grid .card-body > .card-field.dcqr-cooldown-cell {
  align-items: center !important;
  justify-content: center !important;
}

#dcqr-grid .dcqr-cooldown-idle {
  color: var(--rd-muted, #94a3b8);
}

#dcqr-grid .cooldown-indicator {
  border: 1px solid #FFD4B0 !important;
  border-radius: 999px !important;
  padding: calc(6px * var(--dcqr-type-scale, 0.7)) calc(12px * var(--dcqr-type-scale, 0.7)) !important;
  font-size: calc(10px * var(--dcqr-type-scale, 0.7)) !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  width: fit-content !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  background: #FFF0E6 !important;
  color: #FF6200 !important;
  box-sizing: border-box !important;
}

#dcqr-grid .cooldown-label {
  font-size: calc(9px * var(--dcqr-type-scale, 0.7)) !important;
  opacity: 0.75 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

#dcqr-grid .cooldown-timer {
  font-weight: 700 !important;
  color: #FF6200 !important;
  font-size: calc(11px * var(--dcqr-type-scale, 0.7)) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

[data-theme="dark"] #dcqr-grid .cooldown-indicator {
  background: rgba(217, 119, 6, 0.2) !important;
  border-color: rgba(217, 119, 6, 0.5) !important;
  color: #f59e0b !important;
}

[data-theme="dark"] #dcqr-grid .cooldown-label,
[data-theme="dark"] #dcqr-grid .cooldown-timer {
  color: #f59e0b !important;
}

[data-theme="dark"] #dcqr-grid .cooldown-lock-icon,
[data-theme="dark"] #dcqr-grid .cooldown-lock-icon svg {
  color: #fff !important;
  stroke: #fff !important;
}

.dcqr-limits-value {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.dcqr-limits-value.is-at-limit {
  color: var(--rd-danger, #ef4444);
}

.dcqr-gateway-limits {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dcqr-gateway-limits-row {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.dcqr-gateway-limits-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rd-muted, #94a3b8);
  min-width: 2rem;
}

.dcqr-gateway-limit-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-left: 2px;
  color: var(--rd-danger, #ef4444);
  vertical-align: middle;
}

.dcqr-gateway-limit-lock svg {
  display: block;
  width: 14px;
  height: 14px;
}

[data-theme="dark"] #dcqr-grid .dcqr-gateway-limit-lock {
  color: #f87171;
}

.dcqr-limits-skeleton {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 22px;
}

.dcqr-limits-skeleton--gateway {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.dcqr-limits-cell .card-value.is-limits-loading {
  min-height: 22px;
}

.dcqr-limits-cell .card-value.is-limits-loading .rd-row-skeleton__bar {
  margin: 0;
}

.dcqr-profile-cell {
  min-width: 0;
}

.dcqr-profile-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.dcqr-profile-row .card-value {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dcqr-profile-edit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 11px;
  height: 11px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--rd-ink);
  cursor: pointer;
  flex-shrink: 0;
}

.dcqr-profile-edit-btn svg,
.dcqr-profile-edit-btn svg * {
  stroke: currentColor;
  width: 11px !important;
  height: 11px !important;
}

.dcqr-profile-edit-btn:hover {
  color: var(--rd-ink);
  background: rgba(255, 255, 255, 0.08);
}

.dcqr-bind-btn {
  font-size: calc(11px * var(--rd-card-scale, 1.3) / 1.3) !important;
  padding: calc(4px / 1.3) calc(10px / 1.3) !important;
  white-space: nowrap;
}

.dcqr-worker-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
}

.dcqr-worker-dot.is-ok {
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25);
}

.dcqr-worker-dot.is-error {
  background: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25);
}

.dcqr-worker-dot.is-unbound {
  background: var(--rd-ink-4, #cbd5e1);
}

.dcqr-worker-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#dcqr-grid .card-body {
  display: contents !important;
}

#dcqr-grid .card-id-wrapper {
  justify-content: center !important;
  width: auto !important;
  max-width: 70px !important;
}

#dcqr-grid .card-id-column {
  width: auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  font-size: calc(11px * var(--rd-card-scale, 1.3) / 1.3) !important;
  padding: calc(3px / 1.3) calc(10px / 1.3) !important;
}

#dcqr-grid > .data-card .card-value {
  font-size: calc(13px * var(--rd-card-scale, 0.91)) !important;
}

#dcqr-grid > .rd-table-head .rd-table-head-cell {
  font-size: calc(10.5px * var(--dcqr-type-scale, 0.7)) !important;
}

#dcqr-grid .rd-table-head-cell--sortable {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
}

#dcqr-grid .rd-table-head-label {
  flex-shrink: 0;
}

#dcqr-grid .rd-col-sort-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--rd-ink-3);
  cursor: pointer;
  flex-shrink: 0;
  line-height: 1;
}

#dcqr-grid .rd-col-sort-btn:hover {
  color: var(--rd-ink);
  background: var(--rd-cream-200);
}

#dcqr-grid .rd-col-sort-btn.is-active {
  color: #ff6200;
}

#dcqr-grid .rd-col-sort-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
}

[data-theme="dark"] #dcqr-grid .rd-col-sort-btn {
  color: var(--rd-ink) !important;
}

[data-theme="dark"] #dcqr-grid .rd-col-sort-btn svg,
[data-theme="dark"] #dcqr-grid .rd-col-sort-btn svg * {
  color: var(--rd-ink) !important;
  stroke: var(--rd-ink) !important;
}

[data-theme="dark"] #dcqr-grid .rd-col-sort-btn:hover {
  color: var(--rd-ink) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] #dcqr-grid .rd-col-sort-btn.is-active,
[data-theme="dark"] #dcqr-grid .rd-col-sort-btn.is-active svg,
[data-theme="dark"] #dcqr-grid .rd-col-sort-btn.is-active svg * {
  color: #ff6200 !important;
  stroke: #ff6200 !important;
}

[data-theme="dark"] .dcqr-profile-edit-btn {
  color: var(--rd-ink) !important;
}

[data-theme="dark"] .dcqr-profile-edit-btn svg,
[data-theme="dark"] .dcqr-profile-edit-btn svg * {
  color: var(--rd-ink) !important;
  stroke: var(--rd-ink) !important;
}

[data-theme="dark"] .dcqr-profile-edit-btn:hover {
  color: var(--rd-ink) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

@media (max-width: 1200px) {
  #dcqr-tab .header-controls {
    flex-wrap: wrap !important;
  }
  #dcqr-tab .search-container {
    flex: 1 1 100% !important;
  }
  #dcqr-tab .search-input-wrapper {
    flex: 0 0 218px !important;
    width: 218px !important;
    max-width: 218px !important;
    min-width: 218px !important;
  }
  #dcqr-tab .dcqr-rate-display {
    margin-left: 0 !important;
  }
}

@media (max-width: 900px) {
  #dcqr-grid > .data-card .card-main-row,
  #dcqr-grid > .rd-table-head {
    min-width: 1040px;
  }
}

/* Трейдеры: шапка и строки — одна сетка колонок */
#traders-grid > .data-card .card-main-row,
#traders-grid > .rd-table-head {
  display: grid !important;
  grid-template-columns:
    50px
    minmax(140px, 1.5fr)
    minmax(120px, 1.3fr)
    minmax(72px, 0.8fr)
    minmax(72px, 0.8fr)
    minmax(72px, 0.8fr)
    minmax(140px, 1.1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
}

#traders-grid > .rd-table-head {
  margin-bottom: 0 !important;
}

#traders-grid > .rd-table-head .rd-table-head-cell {
  text-align: left;
  justify-self: start;
}

#traders-grid > .rd-table-head .rd-table-head-cell:last-child {
  justify-self: end;
  text-align: right;
}

#traders-grid .card-body {
  display: contents !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: 0 !important;
  position: static !important;
}

#traders-grid .data-card .card-body {
  display: contents !important;
}

#traders-grid .card-label {
  display: none !important;
}

#traders-grid .card-field {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-align: left !important;
}

#traders-grid .card-id-column {
  justify-self: start;
}

#traders-grid .card-value {
  text-align: left;
}

#traders-grid .card-footer {
  justify-self: end;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 1180px) {
  #traders-grid > .data-card .card-main-row,
  #traders-grid > .rd-table-head {
    min-width: 920px;
  }
}

/* Кнопка-ссылка «Сбросить» в строке фильтров */
.tab-content .rd-reset-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 6px;
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--rd-ink-3);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border-radius: var(--rd-radius-sm);
  transition: color 0.15s ease, background-color 0.15s ease;
  align-self: flex-end;
}
.tab-content .rd-reset-btn:hover {
  color: var(--rd-orange);
  background: var(--rd-orange-bg);
}
.tab-content .rd-reset-btn svg,
.tab-content .rd-reset-btn i {
  width: 14px !important;
  height: 14px !important;
  stroke: currentColor !important;
}

/* ---------- 8. Кнопки ---------- */

.tab-content .btn {
  height: 40px !important;
  padding: 0 16px !important;
  border-radius: var(--rd-radius) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  box-sizing: border-box;
  line-height: 1;
  border: 1px solid transparent;
  transition: background-color 0.15s ease, transform 0.05s ease, box-shadow 0.15s ease;
}
.tab-content .btn:not(.btn-secondary):not(.btn-danger):not(.btn-warning),
.tab-content .btn.btn-primary {
  background: linear-gradient(180deg, #FF8A2A 0%, #FF6200 55%, #E84F00 100%) !important;
  color: #fff !important;
  border-color: #FF6200 !important;
  box-shadow: 0 8px 18px rgba(255, 98, 0, 0.38) !important;
}
.tab-content .btn:not(.btn-secondary):not(.btn-danger):not(.btn-warning):hover,
.tab-content .btn.btn-primary:hover {
  background: linear-gradient(180deg, #FF7A14 0%, #E84F00 100%) !important;
  border-color: #E84F00 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(255, 98, 0, 0.45) !important;
}
.tab-content .btn.btn-secondary {
  background: var(--rd-white) !important;
  color: var(--rd-ink) !important;
  border: 1px solid var(--rd-cream-300) !important;
  box-shadow: none !important;
}
.tab-content .btn.btn-secondary:hover {
  background: var(--rd-cream-100) !important;
  border-color: var(--rd-ink-3) !important;
  color: var(--rd-ink) !important;
}
.tab-content .btn.btn-secondary i,
.tab-content .btn.btn-secondary svg {
  color: var(--rd-ink-2) !important;
  stroke: var(--rd-ink-2) !important;
}
.tab-content .btn:disabled,
.tab-content .btn[disabled] {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  transform: none !important;
  box-shadow: none !important;
}
.tab-content .btn.btn-primary:disabled,
.tab-content .btn.btn-primary[disabled] {
  background: var(--rd-cream-200) !important;
  color: var(--rd-ink-3) !important;
  border-color: var(--rd-cream-300) !important;
}
.tab-content .btn svg,
.tab-content .btn i {
  width: 16px !important;
  height: 16px !important;
}

/* ---------- 9. Сетка карточек как слитная таблица ---------- */

.tab-content .cards-grid {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  gap: 10px !important;
  box-shadow: none;
  overflow: visible;
  display: flex;
  flex-direction: column;
}

#cards-grid {
  gap: 5px !important;
}

/* Каждая карточка-реквизит — отдельная белая «пилюля» с тенью, как на референсе */
.tab-content .cards-grid > .card,
.tab-content .cards-grid > [class*="card-"]:not(.card-main-row),
.tab-content .cards-grid > .card-wrapper,
.tab-content .cards-grid > div:not(.rd-table-head) {
  background: var(--rd-white) !important;
  border: 1px solid rgba(234, 213, 186, 0.7) !important;
  border-radius: var(--rd-radius-lg) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  min-height: 0 !important;
  transition: background-color 0.12s ease, transform 0.12s ease;
}
.tab-content .cards-grid > .data-card {
  --rd-card-scale: 1.3;
  padding: 9px 11px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Фиксированная высота строк — без прыжков при пагинации (совпадает со скелетоном 75px) */
#cards-grid > .data-card,
#passports-grid > .data-card,
#deals-grid > .data-card {
  --rd-table-row-h: 75px;
  height: var(--rd-table-row-h) !important;
  min-height: var(--rd-table-row-h) !important;
  max-height: var(--rd-table-row-h) !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

#cards-grid > .data-card:has(.linked-requisites-container.is-expanded) {
  height: auto !important;
  max-height: none !important;
  min-height: var(--rd-table-row-h) !important;
  overflow: visible !important;
}

#cards-grid > .data-card .card-main-row,
#passports-grid > .data-card .card-main-row,
#deals-grid > .data-card .deal-main-row {
  height: 100% !important;
  min-height: 0 !important;
}

#cards-grid > .data-card:hover,
#passports-grid > .data-card:hover,
#deals-grid > .data-card:hover {
  transform: none !important;
}

.tab-content .cards-grid > div:not(.rd-table-head):last-child {
  border-bottom: 1px solid rgba(234, 213, 186, 0.7) !important;
}
.tab-content .cards-grid > div:not(.rd-table-head):not(.empty-state):hover {
  background: #FFFDFA !important;
}

/* Реквизиты, паспорта, сделки — плоские строки без теней */
#cards-grid > div:not(.rd-table-head),
#passports-grid > div:not(.rd-table-head),
#deals-grid > div:not(.rd-table-head),
#cards-grid > .data-card,
#passports-grid > .data-card,
#deals-grid > .data-card,
#cards-grid > .rd-row-skeleton,
#passports-grid > .rd-row-skeleton,
#deals-grid > .rd-row-skeleton {
  box-shadow: none !important;
}

#cards-grid > div:not(.rd-table-head):not(.empty-state):hover,
#passports-grid > div:not(.rd-table-head):not(.empty-state):hover,
#deals-grid > div:not(.rd-table-head):not(.empty-state):hover,
#cards-grid > .data-card:hover,
#passports-grid > .data-card:hover,
#deals-grid > .data-card:hover {
  box-shadow: none !important;
}

[data-theme="dark"] #cards-grid > div:not(.rd-table-head),
[data-theme="dark"] #passports-grid > div:not(.rd-table-head),
[data-theme="dark"] #deals-grid > div:not(.rd-table-head),
[data-theme="dark"] #cards-grid > .data-card,
[data-theme="dark"] #passports-grid > .data-card,
[data-theme="dark"] #deals-grid > .data-card {
  box-shadow: none !important;
}

[data-theme="dark"] #cards-grid > div:not(.rd-table-head):not(.empty-state):hover,
[data-theme="dark"] #passports-grid > div:not(.rd-table-head):not(.empty-state):hover,
[data-theme="dark"] #deals-grid > div:not(.rd-table-head):not(.empty-state):hover {
  box-shadow: none !important;
}

/* Реквизиты — строки и шапка таблицы без обводки */
#cards-grid > .data-card,
#cards-grid > div:not(.rd-table-head):not(.empty-state),
#cards-grid > .rd-table-head {
  border: none !important;
}

#cards-grid > div:not(.rd-table-head):last-child {
  border-bottom: none !important;
}

[data-theme="dark"] #cards-grid > .data-card,
[data-theme="dark"] #cards-grid > div:not(.rd-table-head):not(.empty-state),
[data-theme="dark"] #cards-grid > .rd-table-head,
[data-theme="dark"] #cards-grid > div:not(.rd-table-head):not(.empty-state):hover {
  border: none !important;
}

/* Сделки — строки и шапка таблицы без обводки */
#deals-grid > .data-card,
#deals-grid > div:not(.rd-table-head):not(.empty-state),
#deals-grid > .rd-table-head {
  border: none !important;
}

#deals-grid > div:not(.rd-table-head):last-child {
  border-bottom: none !important;
}

[data-theme="dark"] #deals-grid > .data-card,
[data-theme="dark"] #deals-grid > div:not(.rd-table-head):not(.empty-state),
[data-theme="dark"] #deals-grid > .rd-table-head,
[data-theme="dark"] #deals-grid > div:not(.rd-table-head):not(.empty-state):hover {
  border: none !important;
}

/* DCQR — строки, шапка и скелетоны без обводки */
#dcqr-grid > .data-card,
#dcqr-grid > div:not(.rd-table-head):not(.empty-state),
#dcqr-grid > .rd-table-head,
#dcqr-grid > .rd-row-skeleton {
  border: none !important;
  box-shadow: none !important;
}

#dcqr-grid > div:not(.rd-table-head):last-child {
  border-bottom: none !important;
}

[data-theme="dark"] #dcqr-grid > .data-card,
[data-theme="dark"] #dcqr-grid > div:not(.rd-table-head):not(.empty-state),
[data-theme="dark"] #dcqr-grid > .rd-table-head,
[data-theme="dark"] #dcqr-grid > .rd-row-skeleton,
[data-theme="dark"] #dcqr-grid > div:not(.rd-table-head):not(.empty-state):hover {
  border: none !important;
  box-shadow: none !important;
}

/* Массовое добавление в группы — UI скрыт, реализация в cards.js сохранена */
#cards-grid .card-checkbox-wrapper,
#bulk-group-button {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Внутренний макет строки (карточки реквизита).
   Колонки: Группа | # | Телефон | Гео | Банк | Баланс | Сделок | Успешно | До остывания | Действия.
   Узкие фиксируем в px, остальные тянем через minmax(..., 1fr), чтобы строка
   занимала всю доступную ширину и на FullHD, и в сжатом окне. */
.tab-content .cards-grid .card-main-row {
  display: grid !important;
  grid-template-columns:
    minmax(110px, 1.1fr)
    70px
    minmax(160px, 1.4fr)
    minmax(90px, 1fr)
    minmax(80px, 0.9fr)
    minmax(120px, 1.1fr)
    80px
    80px
    minmax(130px, 1.2fr)
    minmax(150px, 1.3fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 48px !important;
}

/* «Группа» + device_id в одну строку */
.tab-content .cards-grid .card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 0 !important;
  min-width: 0;
}
.tab-content .cards-grid .card-header > div:first-child {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0;
  flex-wrap: nowrap;
}
.tab-content .cards-grid .card-header > div:first-child > div:first-child {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  flex-shrink: 0;
}
.tab-content .cards-grid .card-header .group-id-display {
  font-size: 13px !important;
  color: var(--rd-ink) !important;
  font-weight: 700 !important;
  text-align: left !important;
  width: auto !important;
  white-space: nowrap;
}
.tab-content .cards-grid .card-device-id {
  font-size: 11px !important;
  color: var(--rd-ink-3) !important;
  flex-shrink: 1;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
}
.tab-content .cards-grid .card-device-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 0;
  flex-shrink: 1;
}
.tab-content .cards-grid .card-device-row .edit-device-group-btn {
  padding: 4px !important;
  flex-shrink: 0;
}

body.authenticated[data-user-role="trader"] .edit-device-group-btn {
  display: none !important;
}

/* Тело строки — отключаем «карточный» grid из styles.css */
.tab-content .cards-grid .card-body {
  display: contents !important;
}
.tab-content .cards-grid .card-field {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  min-width: 0;
  text-align: center !important;
}
/* Убираем вертикальные разделители из styles.css */
.tab-content .cards-grid .card-field::after,
.tab-content .cards-grid .card-field:not(:last-child)::after,
.tab-content .cards-grid .card-body::after {
  display: none !important;
  content: none !important;
}
.tab-content .cards-grid .card-body > .card-field:nth-child(2) {
  margin-left: 0 !important;
}
.tab-content .cards-grid .card-label {
  display: none !important; /* лейблы — в шапке таблицы (см. ниже) */
}
.tab-content .cards-grid .card-value {
  font-size: 13px !important;
  color: var(--rd-ink) !important;
  font-weight: 400 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  width: 100%;
  text-align: center !important;
}

/* ID-колонка — серо-бежевая скруглённая капсула как на референсе */
.tab-content .cards-grid .card-id-wrapper {
  justify-content: center !important;
  gap: 6px !important;
  width: 100%;
}
.tab-content .cards-grid .card-id-column {
  font-size: 11px !important;
  color: var(--rd-ink-2) !important;
  font-weight: 700 !important;
  background: var(--rd-cream-200) !important;
  border: 1px solid var(--rd-cream-300) !important;
  padding: calc(3px / 1.3) calc(10px / 1.3) !important;
  border-radius: 999px !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Кнопка "+" — яркий оранжевый круг */
.tab-content .cards-grid .card-id-wrapper .add-requisite-btn {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #FF8A2A, #FF6200) !important;
  border: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 3px 8px rgba(255, 98, 0, 0.42) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease !important;
}
.tab-content .cards-grid .card-id-wrapper .add-requisite-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(255, 106, 14, 0.35) !important;
  opacity: 1 !important;
}
.tab-content .cards-grid .card-id-wrapper .add-requisite-btn svg,
.tab-content .cards-grid .card-id-wrapper .add-requisite-btn i[data-lucide] {
  width: 14px !important;
  height: 14px !important;
  color: #fff !important;
  stroke: #fff !important;
  stroke-width: 2.5 !important;
}

.tab-content .cards-grid .add-requisite-btn:disabled,
.tab-content .cards-grid .add-requisite-btn[disabled] {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.tab-content .cards-grid .cooldown-lock-icon {
  color: #f59e0b;
  flex-shrink: 0;
}

.tab-content .cards-grid .card-action-buttons .action-btn.edit-btn:disabled,
.tab-content .cards-grid .card-action-buttons .action-btn.edit-btn[disabled],
.tab-content .cards-grid .linked-requisite-actions .action-btn.edit-btn:disabled,
.tab-content .cards-grid .linked-requisite-actions .action-btn.edit-btn[disabled] {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Футер (тумблер/замок/действия) — последняя колонка */
.tab-content .cards-grid .card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
  min-width: 0 !important;
}
.tab-content .cards-grid .card-footer .action-btn,
.tab-content .cards-grid .card-footer button {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--rd-ink-3) !important;
}
.tab-content .cards-grid .card-footer .action-btn:hover,
.tab-content .cards-grid .card-footer button:hover {
  background: var(--rd-cream-100) !important;
  color: var(--rd-orange) !important;
}

#cards-grid .card-body > .card-field:nth-child(5) .card-value {
  font-weight: 400 !important;
  color: var(--rd-ink) !important;
}

/* Особые бейджи — сочные цвета как на референсе */
.tab-content .cards-grid .zamenapass-indicator,
.tab-content .cards-grid .blocked-indicator,
.tab-content .cards-grid .tenevoy-indicator,
.tab-content .cards-grid .cooldown-indicator {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
  width: fit-content !important;
  overflow: visible !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  margin-inline: auto !important;
  align-self: center !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* Колонка «До остывания» / статусные pill — по центру ячейки */
.tab-content .cards-grid .card-body > .card-field:has(.cooldown-indicator),
.tab-content .cards-grid .card-body > .card-field:has(.zamenapass-indicator),
.tab-content .cards-grid .card-body > .card-field:has(.blocked-indicator),
.tab-content .cards-grid .card-body > .card-field:has(.tenevoy-indicator) {
  align-items: center !important;
  justify-content: center !important;
}
.tab-content .cards-grid .cooldown-indicator {
  background: #FFF0E6 !important;
  color: #FF6200 !important;
  border-color: #FFD4B0 !important;
}
.tab-content .cards-grid .zamenapass-indicator {
  background: var(--rd-yellow-bg) !important;
  color: #D97706 !important;
  border-color: #FDE68A !important;
}
.tab-content .cards-grid .blocked-indicator {
  background: rgba(255, 45, 45, 0.07) !important;
  color: #FF2D2D !important;
  border: 1px solid rgba(255, 70, 70, 0.92) !important;
  box-shadow:
    0 0 5px rgba(255, 45, 45, 0.28),
    0 0 14px rgba(255, 45, 45, 0.16),
    inset 0 0 10px rgba(255, 45, 45, 0.05) !important;
  text-shadow:
    0 0 6px rgba(255, 45, 45, 0.43),
    0 0 14px rgba(255, 45, 45, 0.25) !important;
}
.tab-content .cards-grid .blocked-indicator .blocked-label {
  color: #FF2D2D !important;
  opacity: 1 !important;
  text-shadow:
    0 0 6px rgba(255, 45, 45, 0.48),
    0 0 14px rgba(255, 45, 45, 0.33),
    0 0 22px rgba(255, 45, 45, 0.18) !important;
}
.tab-content .cards-grid .linked-requisite-stats .blocked-indicator {
  flex-shrink: 0 !important;
  width: fit-content !important;
}
.tab-content .cards-grid .tenevoy-indicator {
  background: var(--rd-graphite-bg) !important;
  color: var(--rd-graphite) !important;
  border-color: #D1D5DB !important;
}
.tab-content .cards-grid .zamenapass-label,
.tab-content .cards-grid .blocked-label,
.tab-content .cards-grid .tenevoy-label,
.tab-content .cards-grid .cooldown-label {
  font-size: 9px !important;
  color: inherit !important;
  opacity: 0.75 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: center !important;
  display: block !important;
}

.tab-content .cards-grid .cooldown-timer,
.tab-content .cards-grid .blocked-timer {
  width: 100% !important;
  text-align: center !important;
  display: block !important;
}

.tab-content .cards-grid .zamenapass-label {
  color: #6B4423 !important;
  opacity: 1 !important;
}
/* Длинный поясняющий текст («Разблокировка только у администратора» и т.п.) скрываем,
   оставляем краткий бейдж + tooltip от title. */
.tab-content .cards-grid .zamenapass-indicator > *:not(.zamenapass-label):not(.zamenapass-status):not(.rd-status-info),
.tab-content .cards-grid .blocked-indicator  > *:not(.blocked-label):not(.blocked-status):not(.rd-status-info),
.tab-content .cards-grid .tenevoy-indicator  > *:not(.tenevoy-label):not(.tenevoy-status):not(.rd-status-info) {
  display: none !important;
}

.tab-content .cards-grid .zamenapass-indicator .rd-status-info,
.tab-content .cards-grid .blocked-indicator .rd-status-info,
.tab-content .cards-grid .tenevoy-indicator .rd-status-info,
.tab-content .cards-grid .cooldown-indicator .rd-status-info,
.tab-content .cards-grid .linked-requisite-status-badge .rd-status-info {
  top: 3px;
  right: 3px;
}

.tab-content .cards-grid .zamenapass-indicator .rd-status-info-tip,
.tab-content .cards-grid .blocked-indicator .rd-status-info-tip,
.tab-content .cards-grid .tenevoy-indicator .rd-status-info-tip,
.tab-content .cards-grid .cooldown-indicator .rd-status-info-tip,
.tab-content .cards-grid .linked-requisite-status-badge .rd-status-info-tip {
  top: auto;
  bottom: calc(100% + 8px);
  right: -2px;
  transform: translateY(4px);
}

.tab-content .cards-grid .zamenapass-indicator .rd-status-info:hover .rd-status-info-tip,
.tab-content .cards-grid .blocked-indicator .rd-status-info:hover .rd-status-info-tip,
.tab-content .cards-grid .tenevoy-indicator .rd-status-info:hover .rd-status-info-tip,
.tab-content .cards-grid .cooldown-indicator .rd-status-info:hover .rd-status-info-tip,
.tab-content .cards-grid .linked-requisite-status-badge .rd-status-info:hover .rd-status-info-tip,
.tab-content .cards-grid .zamenapass-indicator .rd-status-info:focus-visible .rd-status-info-tip,
.tab-content .cards-grid .blocked-indicator .rd-status-info:focus-visible .rd-status-info-tip,
.tab-content .cards-grid .tenevoy-indicator .rd-status-info:focus-visible .rd-status-info-tip,
.tab-content .cards-grid .cooldown-indicator .rd-status-info:focus-visible .rd-status-info-tip,
.tab-content .cards-grid .linked-requisite-status-badge .rd-status-info:focus-visible .rd-status-info-tip {
  transform: translateY(0);
}

.tab-content .cards-grid .card-field:has(.rd-status-info) {
  overflow: visible !important;
  z-index: 1;
}

.tab-content .cards-grid .data-card:has(.rd-status-info:hover),
.tab-content .cards-grid .data-card:has(.rd-status-info:focus-visible) {
  z-index: 12 !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.zamenapass-badge,
.tab-content .cards-grid .linked-requisite-status-badge.tenevoy-badge,
.tab-content .cards-grid .linked-requisite-status-badge.cooldown-badge {
  position: relative !important;
  overflow: visible !important;
  padding: 6px 12px !important;
}

/* Связанные реквизиты: «замена паспорта» — тот же pill, что .zamenapass-indicator */
.tab-content .cards-grid .linked-requisite-status-badge.zamenapass-badge {
  border: 1px solid #FDE68A !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
  overflow: visible !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  width: fit-content !important;
  height: auto !important;
  position: relative !important;
  background: var(--rd-yellow-bg) !important;
  color: #D97706 !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.zamenapass-badge i,
.tab-content .cards-grid .linked-requisite-status-badge.zamenapass-badge svg[data-lucide="lock"] {
  display: none !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.zamenapass-badge > div {
  display: block !important;
  gap: 0 !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.zamenapass-badge span:last-child {
  display: none !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.zamenapass-badge span:first-child {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #6B4423 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

/* Связанные реквизиты: «теневой» — pill как .tenevoy-indicator */
.tab-content .cards-grid .linked-requisite-status-badge.tenevoy-badge {
  border: 1px solid #D1D5DB !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
  overflow: visible !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  width: fit-content !important;
  height: auto !important;
  position: relative !important;
  background: var(--rd-graphite-bg) !important;
  color: var(--rd-graphite) !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.tenevoy-badge i,
.tab-content .cards-grid .linked-requisite-status-badge.tenevoy-badge svg[data-lucide="lock"] {
  display: none !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.tenevoy-badge > div {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.tenevoy-badge span:last-child {
  display: none !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.tenevoy-badge span:first-child {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: inherit !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Теневой / заблокированный доп. реквизит — стекло поверх (не затемнение фона) */
.tab-content .cards-grid .linked-requisite-item.tenevoy-locked,
.tab-content .cards-grid .linked-requisite-item[data-blocked="true"] {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  opacity: 1 !important;
}

.tab-content .cards-grid .linked-requisite-item.tenevoy-locked::after,
.tab-content .cards-grid .linked-requisite-item[data-blocked="true"]::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  backdrop-filter: blur(10px) saturate(130%);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
}

.tab-content .cards-grid .linked-requisite-item.tenevoy-locked > *,
.tab-content .cards-grid .linked-requisite-item[data-blocked="true"] > * {
  position: relative;
  z-index: 2;
}

.tab-content .cards-grid .linked-requisite-item.tenevoy-locked {
  border-color: var(--border) !important;
}

.tab-content .cards-grid .linked-requisite-item.tenevoy-locked::after {
  background: rgba(32, 26, 19, 0.29);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.tab-content .cards-grid .linked-requisite-item.tenevoy-locked:hover,
.tab-content .cards-grid .linked-requisite-item[data-blocked="true"]:hover {
  background: var(--bg-secondary) !important;
}

.tab-content .cards-grid .linked-requisite-item[data-blocked="true"] {
  border-color: rgba(239, 68, 68, 0.32) !important;
}

.tab-content .cards-grid .linked-requisite-item[data-blocked="true"]::after {
  background: color-mix(in srgb, rgba(32, 26, 19, 0.27) 55%, rgba(239, 68, 68, 0.22) 45%);
  box-shadow: inset 0 1px 0 rgba(255, 120, 120, 0.07);
}

.tab-content .cards-grid .linked-requisite-item[data-blocked="true"]:hover {
  border-color: rgba(239, 68, 68, 0.38) !important;
}

.tab-content .cards-grid .linked-requisite-item.tenevoy-locked .linked-requisite-actions button:disabled,
.tab-content .cards-grid .linked-requisite-item[data-blocked="true"] .linked-requisite-actions button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Связанные реквизиты: cooldown — pill в одну строку */
.tab-content .cards-grid .linked-requisite-stats {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: center !important;
}

.tab-content .cards-grid .linked-requisite-stats .cooldown-badge {
  order: -1 !important;
  margin-left: 0 !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.cooldown-badge {
  border: 1px solid #FFD4B0 !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  max-width: none !important;
  overflow: visible !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  width: fit-content !important;
  min-width: 0 !important;
  height: auto !important;
  position: relative !important;
  background: #FFF0E6 !important;
  color: #FF6200 !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.cooldown-badge .cooldown-label {
  font-size: 9px !important;
  color: inherit !important;
  opacity: 0.75 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-align: center !important;
}

.tab-content .cards-grid .linked-requisite-status-badge.cooldown-badge .cooldown-timer {
  font-weight: 700 !important;
  color: #FF6200 !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  letter-spacing: 0.03em !important;
  display: block !important;
  width: auto !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}

.tab-content .cards-grid .cooldown-timer {
  font-weight: 700 !important;
  color: #FF6200 !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}

/* Типографика в строке реквизита (.data-card) — масштаб ×1.3 */
#cards-grid > .data-card .group-id-display {
  font-size: calc(13px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .card-header span:first-of-type {
  font-size: calc(9px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .card-device-id {
  font-size: calc(11px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .card-value {
  font-size: calc(13px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .card-id-column {
  font-size: calc(11px * var(--rd-card-scale, 1.3) / 1.3) !important;
  padding: calc(3px / 1.3) calc(10px / 1.3) !important;
}
#cards-grid > .data-card .zamenapass-indicator,
#cards-grid > .data-card .blocked-indicator,
#cards-grid > .data-card .tenevoy-indicator,
#cards-grid > .data-card .cooldown-indicator {
  font-size: calc(10px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .zamenapass-label,
#cards-grid > .data-card .blocked-label,
#cards-grid > .data-card .tenevoy-label,
#cards-grid > .data-card .cooldown-label {
  font-size: calc(9px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .cooldown-timer,
#cards-grid > .data-card .blocked-timer {
  font-size: calc(11px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge.zamenapass-badge,
#cards-grid > .data-card .linked-requisite-status-badge.zamenapass-badge span:first-child {
  font-size: calc(10px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge.tenevoy-badge,
#cards-grid > .data-card .linked-requisite-status-badge.tenevoy-badge span:first-child {
  font-size: calc(10px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge.cooldown-badge {
  font-size: calc(10px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge.cooldown-badge .cooldown-label {
  font-size: calc(9px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge.cooldown-badge .cooldown-timer {
  font-size: calc(11px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-id {
  font-size: calc(11px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-number {
  font-size: calc(13px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-stats,
#cards-grid > .data-card .linked-requisite-stats > span {
  font-size: calc(12px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge {
  font-size: calc(11px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge.blocked-badge,
#cards-grid > .data-card .linked-requisite-status-badge.blocked-badge span[style*="font-size: 11px"] {
  font-size: calc(11px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge.blocked-badge span[style*="font-size: 9px"] {
  font-size: calc(9px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge .cooldown-label {
  font-size: calc(11px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-status-badge .cooldown-timer,
#cards-grid > .data-card .linked-requisite-status-badge .blocked-timer {
  font-size: calc(12px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-empty {
  font-size: calc(13px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-type {
  font-size: calc(12px * var(--rd-card-scale, 1.3)) !important;
}
#cards-grid > .data-card .linked-requisite-cooldown,
#cards-grid > .data-card .linked-requisite-cooldown .cooldown-indicator,
#cards-grid > .data-card .linked-requisite-cooldown .cooldown-timer {
  font-size: calc(12px * var(--rd-card-scale, 1.3)) !important;
}

/* Шапка-таблицы: вставляется JS как первый ребёнок .cards-grid (см. /js/redesign.js).
   Колонки совпадают с .card-main-row. */
.tab-content .cards-grid::before {
  content: "";
  display: block;
  height: 0;
}
.tab-content .cards-grid > .rd-table-head {
  display: grid !important;
  grid-template-columns:
    minmax(110px, 1.1fr)
    70px
    minmax(160px, 1.4fr)
    minmax(90px, 1fr)
    minmax(80px, 0.9fr)
    minmax(120px, 1.1fr)
    80px
    80px
    minmax(130px, 1.2fr)
    minmax(150px, 1.3fr) !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  background: var(--rd-white) !important;
  border: 1px solid rgba(234, 213, 186, 0.7) !important;
  border-radius: var(--rd-radius-lg) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
  margin: 0 !important;
  flex-shrink: 0;
}
.tab-content .cards-grid > .rd-table-head:hover {
  background: var(--rd-white) !important;
}
.tab-content .cards-grid > .rd-table-head .rd-table-head-cell {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rd-ink-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  justify-self: center;
}

/* Тёмная тема: строки и шапка таблицы — glass blue */
[data-theme="dark"] .tab-content .cards-grid > div:not(.rd-table-head),
[data-theme="dark"] .tab-content .cards-grid > .rd-table-head {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
[data-theme="dark"] #cards-grid > div:not(.rd-table-head),
[data-theme="dark"] #passports-grid > div:not(.rd-table-head),
[data-theme="dark"] #deals-grid > div:not(.rd-table-head) {
  box-shadow: none !important;
}
[data-theme="dark"] .tab-content .cards-grid > div:not(.rd-table-head):not(.empty-state):hover {
  background: rgba(24, 32, 50, 0.95) !important;
  border-color: rgba(91, 154, 255, 0.16) !important;
}
[data-theme="dark"] #cards-grid > div:not(.rd-table-head):not(.empty-state):hover,
[data-theme="dark"] #passports-grid > div:not(.rd-table-head):not(.empty-state):hover,
[data-theme="dark"] #deals-grid > div:not(.rd-table-head):not(.empty-state):hover {
  box-shadow: none !important;
}
[data-theme="dark"] .tab-content .cards-grid > .data-card:hover {
  background: rgba(24, 32, 50, 0.95) !important;
}

/* Лёгкий shimmer поверх уже отрисованных строк при фоновом обновлении */
.tab-content .cards-grid.rd-grid-loading:not(:has(> .rd-row-skeleton)) {
  opacity: 0.92;
  transition: opacity 0.18s ease;
  pointer-events: none;
}

.tab-content .cards-grid.rd-grid-loading:not(:has(> .rd-row-skeleton)) > .data-card,
.tab-content .cards-grid.rd-grid-loading:not(:has(> .rd-row-skeleton)) > .rd-table-head,
.tab-content .cards-grid.rd-grid-loading:not(:has(> .rd-row-skeleton)) > .empty-state {
  transition: opacity 0.18s ease;
}

@keyframes rd-row-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.tab-content .cards-grid > .rd-row-skeleton,
#passports-grid > .rd-row-skeleton,
#mobcom-grid > .rd-row-skeleton,
#dcqr-grid > .rd-row-skeleton,
#deals-grid > .rd-row-skeleton,
#traders-grid > .rd-row-skeleton {
  min-height: 75px !important;
  height: 75px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(234, 213, 186, 0.72) !important;
  border-radius: 14px !important;
  background: #FFF9F2 !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.06) !important;
  overflow: hidden !important;
  pointer-events: none !important;
  animation: none !important;
}

.rd-row-skeleton__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  width: 100%;
  padding: 0 16px;
  box-sizing: border-box;
}

.rd-row-skeleton__bar {
  display: block;
  height: 11px;
  border-radius: 999px;
  flex-shrink: 0;
  background: linear-gradient(
    90deg,
    rgba(234, 213, 186, 0.45) 0%,
    rgba(255, 248, 240, 0.95) 50%,
    rgba(234, 213, 186, 0.45) 100%
  );
  background-size: 220% 100%;
  animation: rd-row-shimmer 1.35s ease-in-out infinite;
  animation-delay: calc(var(--rd-i, 0) * 70ms);
}

.rd-row-skeleton__bar--xs { width: 36px; }
.rd-row-skeleton__bar--sm { width: 56px; }
.rd-row-skeleton__bar--md { width: 92px; }
.rd-row-skeleton__bar--lg {
  flex: 1 1 140px;
  min-width: 120px;
  max-width: 260px;
}

.tab-content .cards-grid > .data-card.rd-card-enter,
#passports-grid > .data-card.rd-card-enter,
#mobcom-grid > .data-card.rd-card-enter,
#dcqr-grid > .data-card.rd-card-enter,
#traders-grid > .data-card.rd-card-enter {
  opacity: 0;
  transform: translateY(12px) scale(0.992);
  filter: blur(4px);
  transition:
    opacity 0.36s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.36s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.36s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--rd-i, 0) * 28ms);
  will-change: opacity, transform, filter;
}

.tab-content .cards-grid > .data-card.rd-card-enter.is-revealed,
#passports-grid > .data-card.rd-card-enter.is-revealed,
#mobcom-grid > .data-card.rd-card-enter.is-revealed,
#dcqr-grid > .data-card.rd-card-enter.is-revealed,
#traders-grid > .data-card.rd-card-enter.is-revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

/* Сброс legacy reveal-on-scroll на строках */
.tab-content .cards-grid > .data-card.reveal-on-scroll,
#passports-grid > .data-card.reveal-on-scroll,
#mobcom-grid > .data-card.reveal-on-scroll,
#dcqr-grid > .data-card.reveal-on-scroll,
#traders-grid > .data-card.reveal-on-scroll {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

[data-theme="dark"] .tab-content .cards-grid > .rd-row-skeleton,
[data-theme="dark"] #passports-grid > .rd-row-skeleton,
[data-theme="dark"] #mobcom-grid > .rd-row-skeleton,
[data-theme="dark"] #dcqr-grid > .rd-row-skeleton,
[data-theme="dark"] #deals-grid > .rd-row-skeleton,
[data-theme="dark"] #traders-grid > .rd-row-skeleton {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .rd-row-skeleton__bar {
  background: linear-gradient(
    90deg,
    rgba(36, 44, 62, 0.9) 0%,
    rgba(56, 68, 92, 0.95) 50%,
    rgba(36, 44, 62, 0.9) 100%
  );
  background-size: 220% 100%;
}

@media (prefers-reduced-motion: reduce) {
  .tab-content .cards-grid > .data-card.rd-card-enter,
  #passports-grid > .data-card.rd-card-enter,
  #mobcom-grid > .data-card.rd-card-enter,
  #dcqr-grid > .data-card.rd-card-enter,
  #traders-grid > .data-card.rd-card-enter {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .rd-row-skeleton__bar {
    animation: none !important;
  }
}

/* Адаптив таблицы — на узких экранах разрешаем горизонтальный скролл */
@media (max-width: 1180px) {
  .tab-content .cards-grid { overflow-x: auto; }
  .tab-content .cards-grid .card-main-row { min-width: 1120px; }
  .tab-content .cards-grid > .rd-table-head { min-width: 1120px; box-sizing: border-box; }
}

/* Пагинация */
.tab-content .pagination {
  background: var(--rd-white) !important;
  border: 1px solid var(--rd-cream-300) !important;
  border-radius: var(--rd-radius) !important;
  box-shadow: var(--rd-shadow-sm) !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding: 6px 10px !important;
  transition: opacity 0.15s ease;
}

.tab-content .pagination.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

/* Высота кнопок-селектов в шапке таблицы — как у .btn (40px), чтобы выровнять
   их с «Загрузить xlsx» и «+ Добавить кабинет» */
.tab-content .search-field-group .custom-select-button,
.tab-content .custom-select-button {
  height: 40px !important;
  min-height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: var(--rd-radius) !important;
  border: 1px solid var(--rd-cream-300) !important;
  background-color: var(--rd-white) !important;
  color: var(--rd-ink) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.tab-content .search-field-group .custom-select-button:hover,
.tab-content .custom-select-button:hover {
  border-color: var(--rd-ink-3) !important;
  background-color: var(--rd-cream-100) !important;
}

/* ---------- 10. Адаптив ---------- */

@media (max-width: 900px) {
  :root { --rd-sidebar-w: 64px; }
  body.authenticated .tabs::before { content: ""; padding: 0; margin: 0; height: 0; }
  body.authenticated .tabs button { justify-content: center !important; padding: 10px !important; gap: 0 !important; }
  body.authenticated .tabs button span { display: none !important; }
  body.authenticated .tabs .rd-sidebar-logout {
    padding: 10px !important;
    gap: 0 !important;
    border-radius: 10px !important;
  }
  body.authenticated .tabs .rd-sidebar-logout span { display: none !important; }
  body.authenticated .modern-nav .brand { display: none !important; }
  .tab-content { padding: 16px 14px 40px !important; }
  .tab-content .header-controls { flex-direction: column !important; align-items: stretch !important; }
}

/* ---------- 12. Зелёные тумблеры (как на референсе) ---------- */

.tab-content .cards-grid input[type="checkbox"].toggle-switch + label,
.tab-content .cards-grid .toggle-switch-wrapper input[type="checkbox"] + label,
.tab-content .cards-grid .switch input + .slider,
.tab-content .cards-grid label.switch .slider,
.tab-content .cards-grid .toggle-pill {
  background: #D8D5CE !important;
  border-color: transparent !important;
}
.tab-content .cards-grid input[type="checkbox"]:checked + label,
.tab-content .cards-grid input[type="checkbox"]:checked + .slider,
.tab-content .cards-grid .switch input:checked + .slider,
.tab-content .cards-grid label.switch input:checked + .slider,
.tab-content .cards-grid .toggle-pill.is-on {
  background: linear-gradient(180deg, #22E06B, #16A34A) !important;
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.45) !important;
  border-color: transparent !important;
}


body:not(.authenticated) .modern-nav { display: none !important; }
body:not(.authenticated) {
  background: var(--rd-cream-50) !important;
}

/* ---------- Тёмная тема: синий PLATEGA (splash + оверлей) ---------- */

.ps-logo-brand,
.tlo-logo-brand {
  position: relative;
  width: 108px;
  height: 108px;
  flex-shrink: 0;
}

.tlo-logo-brand {
  width: 96px;
  height: 96px;
}

.ps-logo-brand .ps-logo,
.tlo-logo-brand .tlo-logo {
  display: block;
  width: 100%;
  height: auto;
}

html[data-theme="dark"] .ps-logo-brand .ps-logo,
body[data-theme="dark"] .ps-logo-brand .ps-logo,
body.dark-theme .ps-logo-brand .ps-logo,
html[data-theme="dark"] .tlo-logo-brand .tlo-logo,
body[data-theme="dark"] .tlo-logo-brand .tlo-logo,
body.dark-theme .tlo-logo-brand .tlo-logo {
  opacity: 0;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

html[data-theme="dark"] .ps-logo-brand::before,
body[data-theme="dark"] .ps-logo-brand::before,
body.dark-theme .ps-logo-brand::before,
html[data-theme="dark"] .tlo-logo-brand::before,
body[data-theme="dark"] .tlo-logo-brand::before,
body.dark-theme .tlo-logo-brand::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--rd-logo-blue-blik), var(--rd-logo-blue-base);
  background-repeat: no-repeat, no-repeat;
  background-size: 220% 100%, 100% 100%;
  background-position: 180% 50%, center;
  -webkit-mask-image: url('/images/logo.svg?v=20260620');
  mask-image: url('/images/logo.svg?v=20260620');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  animation: rd-logo-blue-highlight 3.6s cubic-bezier(0.45, 0.05, 0.25, 1) infinite;
  will-change: background-position;
}

html[data-theme="dark"] #platega-splash,
body[data-theme="dark"] #platega-splash,
body.dark-theme #platega-splash {
  background: var(--rd-loading-bg) !important;
}

html[data-theme="dark"] #platega-splash::before,
body[data-theme="dark"] #platega-splash::before,
body.dark-theme #platega-splash::before {
  top: -180px;
  left: -180px;
  width: 560px;
  height: 560px;
  filter: blur(110px);
  opacity: 0.72;
  background: radial-gradient(circle, rgba(56, 132, 255, 0.42) 0%, rgba(56, 132, 255, 0) 68%);
}

html[data-theme="dark"] #platega-splash::after,
body[data-theme="dark"] #platega-splash::after,
body.dark-theme #platega-splash::after {
  bottom: -200px;
  right: -200px;
  width: 560px;
  height: 560px;
  filter: blur(110px);
  opacity: 0.58;
  background: radial-gradient(circle, rgba(34, 211, 238, 0.32) 0%, rgba(34, 211, 238, 0) 68%);
}

/* Малоподвижные сферы: splash, оверлей, фон */
@keyframes rd-orb-drift-a {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  33%      { transform: translate3d(3vw, 2vh, 0) scale(1.04); }
  66%      { transform: translate3d(1.5vw, 3.5vh, 0) scale(1.02); }
}

@keyframes rd-orb-drift-b {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  40%      { transform: translate3d(-2.5vw, -1.5vh, 0) scale(1.05); }
  70%      { transform: translate3d(-3.5vw, 1vh, 0) scale(1.03); }
}

#platega-splash::before,
#platega-splash::after {
  will-change: transform;
}

#platega-splash::before {
  animation: rd-orb-drift-a 24s ease-in-out infinite;
}

#platega-splash::after {
  animation: rd-orb-drift-b 30s ease-in-out infinite;
}

#tab-loading-overlay::before,
#tab-loading-overlay::after {
  content: '';
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.5;
  pointer-events: none;
  will-change: transform;
}

#tab-loading-overlay::before {
  top: -120px;
  left: -120px;
  background: radial-gradient(circle, rgba(255, 138, 60, 0.5) 0%, rgba(255, 138, 60, 0) 70%);
  animation: rd-orb-drift-a 26s ease-in-out infinite;
}

#tab-loading-overlay::after {
  bottom: -140px;
  right: -140px;
  background: radial-gradient(circle, rgba(255, 138, 60, 0.4) 0%, rgba(255, 138, 60, 0) 70%);
  animation: rd-orb-drift-b 32s ease-in-out infinite;
}

html[data-theme="dark"] #tab-loading-overlay::before,
body[data-theme="dark"] #tab-loading-overlay::before,
body.dark-theme #tab-loading-overlay::before {
  top: -160px;
  left: -160px;
  width: 520px;
  height: 520px;
  filter: blur(110px);
  opacity: 0.68;
  background: radial-gradient(circle, rgba(56, 132, 255, 0.4) 0%, rgba(56, 132, 255, 0) 68%);
}

html[data-theme="dark"] #tab-loading-overlay::after,
body[data-theme="dark"] #tab-loading-overlay::after,
body.dark-theme #tab-loading-overlay::after {
  bottom: -180px;
  right: -180px;
  width: 520px;
  height: 520px;
  filter: blur(110px);
  opacity: 0.55;
  background: radial-gradient(circle, rgba(34, 211, 238, 0.3) 0%, rgba(34, 211, 238, 0) 68%);
}

@media (prefers-reduced-motion: reduce) {
  #platega-splash::before,
  #platega-splash::after,
  #tab-loading-overlay::before,
  #tab-loading-overlay::after {
    animation: none !important;
  }
}

/* ---------- Splash / overlay: анимированная полоска загрузки ---------- */

@keyframes rd-loading-bar-slide {
  0%   { transform: translateX(-120%); opacity: 0.55; }
  45%  { opacity: 1; }
  100% { transform: translateX(320%); opacity: 0.55; }
}

#platega-splash .ps-divider::after {
  animation: rd-loading-bar-slide 1.35s cubic-bezier(0.45, 0.05, 0.25, 1) infinite;
}

#tab-loading-overlay .tlo-divider::after {
  animation: rd-loading-bar-slide 1.35s cubic-bezier(0.45, 0.05, 0.25, 1) infinite;
}

html[data-theme="dark"] #platega-splash .ps-divider,
body[data-theme="dark"] #platega-splash .ps-divider,
body.dark-theme #platega-splash .ps-divider {
  width: 112px;
  height: 2px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

html[data-theme="dark"] #platega-splash .ps-divider::after,
body[data-theme="dark"] #platega-splash .ps-divider::after,
body.dark-theme #platega-splash .ps-divider::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 46%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(103, 212, 250, 0.15) 18%,
    rgba(130, 205, 255, 1) 50%,
    rgba(91, 154, 255, 0.15) 82%,
    transparent 100%
  );
  box-shadow: 0 0 14px rgba(80, 170, 255, 0.45);
  animation: rd-loading-bar-slide 1.35s cubic-bezier(0.45, 0.05, 0.25, 1) infinite;
}

html[data-theme="dark"] #tab-loading-overlay .tlo-divider,
body[data-theme="dark"] #tab-loading-overlay .tlo-divider,
body.dark-theme #tab-loading-overlay .tlo-divider {
  width: 112px;
  height: 2px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

html[data-theme="dark"] #tab-loading-overlay .tlo-divider::after,
body[data-theme="dark"] #tab-loading-overlay .tlo-divider::after,
body.dark-theme #tab-loading-overlay .tlo-divider::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 46%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(103, 212, 250, 0.15) 18%,
    rgba(130, 205, 255, 1) 50%,
    rgba(91, 154, 255, 0.15) 82%,
    transparent 100%
  );
  box-shadow: 0 0 14px rgba(80, 170, 255, 0.45);
  animation: rd-loading-bar-slide 1.35s cubic-bezier(0.45, 0.05, 0.25, 1) infinite;
}

@media (prefers-reduced-motion: reduce) {
  #platega-splash .ps-divider::after,
  #tab-loading-overlay .tlo-divider::after,
  html[data-theme="dark"] #platega-splash .ps-divider::after,
  body[data-theme="dark"] #platega-splash .ps-divider::after,
  html[data-theme="dark"] #tab-loading-overlay .tlo-divider::after,
  body[data-theme="dark"] #tab-loading-overlay .tlo-divider::after {
    animation-duration: 2.4s;
  }
}

html[data-theme="dark"] #platega-splash .ps-caption,
body[data-theme="dark"] #platega-splash .ps-caption,
body.dark-theme #platega-splash .ps-caption {
  color: #8FAFD4;
  opacity: 0.72;
}

html[data-theme="dark"] #tab-loading-overlay,
body[data-theme="dark"] #tab-loading-overlay,
body.dark-theme #tab-loading-overlay {
  background: var(--rd-loading-bg) !important;
}

html[data-theme="dark"] #tab-loading-overlay .tlo-caption,
body[data-theme="dark"] #tab-loading-overlay .tlo-caption,
body.dark-theme #tab-loading-overlay .tlo-caption {
  color: #8FAFD4;
  opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="dark"] .ps-logo-brand::before,
  body[data-theme="dark"] .ps-logo-brand::before,
  body.dark-theme .ps-logo-brand::before,
  html[data-theme="dark"] .tlo-logo-brand::before,
  body[data-theme="dark"] .tlo-logo-brand::before,
  body.dark-theme .tlo-logo-brand::before {
    animation: none;
    background-position: 50% 50%, center !important;
  }
}

/* ---------- Оверлей подзагрузки раздела (вместо crossfade) ---------- */
/* Накрывает контентную область (правее сайдбара, ниже шапки), пока
   рендер-функция вкладки не сообщит platega:tab-ready. Создаётся из tabs.js. */
#tab-loading-overlay {
  position: fixed;
  top: var(--rd-header-h);
  left: var(--rd-sidebar-w);
  right: 0;
  bottom: 0;
  z-index: 5000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rd-cream-50);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 200ms ease, visibility 0s linear 200ms;
}
#tab-loading-overlay.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 120ms ease;
}
#tab-loading-overlay .tlo-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
#tab-loading-overlay .tlo-logo {
  width: 100%;
  height: auto;
  display: block;
}
#tab-loading-overlay .tlo-divider {
  position: relative;
  width: 112px;
  height: 2px;
  border-radius: 2px;
  background: rgba(91, 82, 71, 0.18);
  overflow: hidden;
}
#tab-loading-overlay .tlo-divider::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 46%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,
    rgba(255, 98, 0, 0) 0%,
    rgba(255, 98, 0, 0.95) 50%,
    rgba(255, 98, 0, 0) 100%);
  box-shadow: 0 0 10px rgba(255, 98, 0, 0.3);
}
#tab-loading-overlay .tlo-caption {
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  opacity: 0.55;
  color: var(--rd-ink-2);
}
@media (max-width: 900px) {
  #tab-loading-overlay { left: 64px; }
}

/* ---------- Современные уведомления (rd-toast) — glass morphism ---------- */

.rd-toast-stack {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  gap: 14px;
  pointer-events: none;
  max-width: calc(100vw - 32px);
}

.rd-toast {
  --rd-toast-accent:     var(--rd-ink-3);
  --rd-toast-accent-2:   var(--rd-graphite);
  --rd-toast-tint:       rgba(147, 137, 122, 0.14);
  --rd-toast-glow:       rgba(255, 98, 0, 0.10);
  --rd-toast-glass-bg:   rgba(252, 243, 233, 0.62);
  --rd-toast-glass-edge: rgba(255, 255, 255, 0.72);
  --rd-toast-glass-line: rgba(255, 98, 0, 0.16);
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr 30px;
  align-items: center;
  gap: 13px;
  width: 392px;
  max-width: 100%;
  min-height: 68px;
  padding: 14px;
  border-radius: var(--rd-radius-lg);
  border: 1px solid var(--rd-toast-glass-line);
  background: var(--rd-toast-glass-bg);
  backdrop-filter: blur(28px) saturate(210%);
  -webkit-backdrop-filter: blur(28px) saturate(210%);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.35) inset,
    0 22px 44px -18px rgba(32, 26, 19, 0.20),
    0 8px 18px -8px rgba(32, 26, 19, 0.10);
  color: var(--rd-ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  opacity: 0;
  transform: translateX(28px) scale(0.96);
  filter: blur(2px);
  transition:
    opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.38s cubic-bezier(0.34, 1.4, 0.64, 1),
    filter 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: auto;
  overflow: hidden;
  isolation: isolate;
}

.rd-toast::before {
  display: none;
}

.rd-toast::after {
  display: none;
}

.rd-toast > * {
  position: relative;
  z-index: 1;
}

.rd-toast.rd-toast-in {
  opacity: 1;
  transform: translateX(0) scale(1);
  filter: blur(0);
}

.rd-toast.rd-toast-out {
  opacity: 0;
  transform: translateX(28px) scale(0.96);
  filter: blur(2px);
}

.rd-toast-stripe {
  display: none;
}

.rd-toast-icon {
  width: auto;
  height: auto;
  min-width: 28px;
  min-height: 28px;
  padding: 6px 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--rd-toast-accent);
  background: transparent;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.rd-toast-icon svg {
  width: 18px;
  height: 18px;
  filter: none;
}

.rd-toast-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-right: 2px;
}

.rd-toast-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--rd-ink);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.2;
}

.rd-toast-success .rd-toast-title {
  display: none;
}

.rd-toast-message {
  font-size: 13px;
  font-weight: 500;
  color: var(--rd-ink-2);
  line-height: 1.45;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.rd-toast-close {
  all: unset;
  width: auto;
  height: auto;
  padding: 4px;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  cursor: pointer;
  flex-shrink: 0;
  margin-right: 2px;
  border: none;
  background: transparent;
  box-shadow: none;
  transition: opacity 0.18s ease;
}

.rd-toast-close:hover {
  color: #FFFFFF;
  background: transparent;
  box-shadow: none;
  opacity: 0.78;
}

.rd-toast-close svg {
  width: 14px;
  height: 14px;
  stroke: #FFFFFF;
  filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.55));
}

/* Галочка успеха — мягкая подсветка как у тумблера */
.rd-toast-success .rd-toast-icon {
  color: #FFFFFF;
  background: linear-gradient(135deg, #4ADE80 0%, #22C55E 42%, #16A34A 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 2px 10px rgba(34, 197, 94, 0.35);
}

.rd-toast-success .rd-toast-icon svg {
  stroke: #FFFFFF;
  filter: none;
}

/* Иконка ошибки — мягкая красная подсветка */
.rd-toast-error .rd-toast-icon {
  color: #FFFFFF;
  background: linear-gradient(135deg, #FCA5A5 0%, #EF4444 42%, #DC2626 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 2px 10px rgba(239, 68, 68, 0.28);
}

.rd-toast-error .rd-toast-icon svg {
  filter: none;
}

.rd-toast-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  z-index: 2;
  background: linear-gradient(
    90deg,
    var(--rd-toast-accent) 0%,
    color-mix(in srgb, var(--rd-toast-accent) 70%, var(--rd-toast-accent-2)) 55%,
    var(--rd-toast-accent-2) 100%
  );
  transform-origin: left center;
  animation: rd-toast-progress var(--rd-toast-life, 2400ms) linear forwards;
  opacity: 0.75;
}

.rd-toast.rd-toast-paused .rd-toast-progress {
  animation-play-state: paused;
}

@keyframes rd-toast-progress {
  from { transform: scaleX(1); }
  to   { transform: scaleX(0); }
}

/* Типы — палитра темы */
.rd-toast.rd-toast-success {
  --rd-toast-accent:   var(--rd-success);
  --rd-toast-accent-2: #15803D;
  --rd-toast-tint:     rgba(22, 163, 74, 0.14);
  --rd-toast-glow:     rgba(22, 163, 74, 0.14);
}
.rd-toast.rd-toast-error {
  --rd-toast-accent:   var(--rd-danger);
  --rd-toast-accent-2: #DC2626;
  --rd-toast-tint:     rgba(239, 68, 68, 0.14);
  --rd-toast-glow:     rgba(239, 68, 68, 0.14);
}
.rd-toast.rd-toast-warning {
  --rd-toast-accent:   var(--rd-warn);
  --rd-toast-accent-2: #D97706;
  --rd-toast-tint:     rgba(245, 158, 11, 0.16);
  --rd-toast-glow:     rgba(245, 158, 11, 0.14);
}
.rd-toast.rd-toast-info {
  --rd-toast-accent:   var(--rd-orange);
  --rd-toast-accent-2: var(--rd-orange-dark);
  --rd-toast-tint:     rgba(255, 98, 0, 0.14);
  --rd-toast-glow:     rgba(255, 98, 0, 0.16);
}

[data-theme="dark"] .rd-toast {
  --rd-toast-glass-bg: rgba(16, 22, 36, 0.72);
  --rd-toast-glass-edge: rgba(255, 255, 255, 0.07);
  --rd-toast-glass-line: rgba(91, 154, 255, 0.2);
  border-color: var(--rd-toast-glass-line);
  background: var(--rd-toast-glass-bg);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.05) inset,
    0 28px 56px -20px rgba(0, 0, 0, 0.62),
    0 10px 22px -10px rgba(0, 0, 0, 0.38);
}

[data-theme="dark"] .rd-toast::before,
[data-theme="dark"] .rd-toast::after {
  display: none;
}

[data-theme="dark"] .rd-toast-title { color: var(--rd-ink); }
[data-theme="dark"] .rd-toast-message { color: var(--rd-ink-2); }

[data-theme="dark"] .rd-toast-icon {
  background: transparent;
  box-shadow: none;
}

[data-theme="dark"] .rd-toast-close {
  color: #FFFFFF;
  background: transparent;
  border: none;
  box-shadow: none;
}

[data-theme="dark"] .rd-toast-close svg {
  stroke: #FFFFFF;
  filter: none;
}

[data-theme="dark"] .rd-toast-close:hover {
  color: #FFFFFF;
  background: transparent;
  box-shadow: none;
  opacity: 0.78;
}

[data-theme="dark"] .rd-toast-success .rd-toast-icon {
  color: #FFFFFF;
  background: linear-gradient(135deg, #4ADE80 0%, #22C55E 42%, #16A34A 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 2px 10px rgba(34, 197, 94, 0.48);
}

[data-theme="dark"] .rd-toast-error .rd-toast-icon {
  color: #FFFFFF;
  background: linear-gradient(135deg, #FCA5A5 0%, #EF4444 42%, #DC2626 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 2px 10px rgba(239, 68, 68, 0.38);
}

[data-theme="dark"] .rd-toast.rd-toast-success {
  --rd-toast-accent: var(--rd-success);
  --rd-toast-accent-2: #15803D;
  --rd-toast-tint: rgba(22, 163, 74, 0.16);
  --rd-toast-glow: transparent;
}

[data-theme="dark"] .rd-toast.rd-toast-error {
  --rd-toast-accent: var(--rd-danger);
  --rd-toast-accent-2: #DC2626;
  --rd-toast-tint: rgba(239, 68, 68, 0.16);
  --rd-toast-glow: transparent;
}

/* Без цветной обводки — нейтральная рамка как у обычного toast */
.rd-toast.rd-toast-success,
.rd-toast.rd-toast-error {
  border-color: var(--rd-toast-glass-line);
}

[data-theme="dark"] .rd-toast.rd-toast-success::before,
[data-theme="dark"] .rd-toast.rd-toast-error::before {
  display: none;
}

[data-theme="dark"] .rd-toast-success .rd-toast-icon svg {
  stroke: #FFFFFF;
  filter: none;
}

[data-theme="dark"] .rd-toast-error .rd-toast-icon svg {
  filter: none;
}

@media (max-width: 520px) {
  .rd-toast-stack {
    left: 12px;
    right: 12px;
    top: 12px;
  }
  .rd-toast {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rd-toast,
  .rd-toast-progress {
    transition: none !important;
    animation: none !important;
    filter: none !important;
  }
}

/* ---------- Statistics tab — современный layout ---------- */

.rd-hidden-legacy { display: none !important; }

.tab-content .rd-stats-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px;
  padding: 0 !important;
  margin: 0 0 14px !important;
  border: 0 !important;
  background: transparent !important;
}

.rd-stats-head-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.rd-stats-title-block h2 {
  margin: 0 !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: var(--rd-ink) !important;
  line-height: 1.1 !important;
}

.rd-stats-subtitle {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--rd-ink-3);
}

.rd-stats-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.rd-stats-toolbar-period-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 320px;
  min-width: 0;
  position: relative;
  overflow: visible;
}

.rd-stats-period {
  display: flex;
  align-items: stretch;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
  padding: 4px;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  border-radius: 12px;
  box-shadow: var(--rd-shadow-sm);
  position: relative;
  isolation: isolate;
}

.rd-stats-period-indicator {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: 0;
  border-radius: 8px;
  background: var(--rd-ink);
  box-shadow: 0 2px 10px rgba(32, 26, 19, 0.14);
  transform: translateX(0);
  transition:
    transform 0.44s cubic-bezier(0.16, 1, 0.3, 1),
    width 0.44s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.24s ease,
    background 0.32s ease,
    box-shadow 0.32s ease;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
}

.rd-stats-period-btn {
  all: unset;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  height: 34px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink-2);
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  z-index: 1;
  transition: color 0.32s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.rd-stats-period-btn:hover {
  color: var(--rd-ink);
}

.rd-stats-period-btn:active {
  transform: scale(0.97);
}

.rd-stats-period-btn.active {
  background: transparent;
  color: var(--rd-white);
  font-weight: 700;
}

.rd-stats-period-btn:disabled,
.rd-stats-period-btn.is-disabled {
  opacity: 0.38;
  cursor: not-allowed;
  pointer-events: none;
  color: var(--rd-ink-3);
}

.rd-stats-period-btn:disabled:hover,
.rd-stats-period-btn.is-disabled:hover {
  color: var(--rd-ink-3);
  transform: none;
}

.rd-stats-calendar-btn {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  border-radius: 12px;
  box-shadow: var(--rd-shadow-sm);
  color: var(--rd-ink-2);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.rd-stats-calendar-btn:hover {
  background: var(--rd-cream-100);
  color: var(--rd-ink);
}

.rd-stats-calendar-btn.active {
  background: var(--rd-ink);
  color: var(--rd-white);
  border-color: var(--rd-ink);
}

.rd-stats-calendar-btn i,
.rd-stats-calendar-btn svg {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
  stroke: currentColor !important;
}

.rd-stats-daterange {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 180px;
  max-width: 320px;
  box-sizing: border-box;
  height: 42px;
  padding: 0 14px;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink-2);
  box-shadow: var(--rd-shadow-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rd-stats-daterange i,
.rd-stats-daterange svg {
  width: 16px !important;
  height: 16px !important;
  color: var(--rd-ink-3) !important;
  stroke: var(--rd-ink-3) !important;
}

/* ---- KPI-карточки ---- */

.rd-stats-kpi {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
}

@media (max-width: 720px) {
  .rd-stats-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .rd-stats-toolbar-period-row {
    flex-direction: column;
    align-items: stretch;
  }

  .rd-stats-calendar-btn {
    width: 100%;
    height: 42px;
  }

  .rd-stats-kpi {
    grid-template-columns: minmax(0, 1fr);
  }
}

.rd-kpi-card {
  --rd-kpi-accent:   #5B9AFF;
  --rd-kpi-accent-2: #3B82F6;
  --rd-kpi-tint:     rgba(59, 130, 246, 0.14);
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 4px;
  align-items: center;
  padding: 20px 22px;
  background: var(--rd-white);
  border: none;
  border-radius: 18px;
  box-shadow: none;
  overflow: hidden;
  min-height: 110px;
}

.rd-kpi-card--orange {
  --rd-kpi-accent:   var(--rd-orange);
  --rd-kpi-accent-2: var(--rd-orange-dark);
  --rd-kpi-tint:     rgba(255, 98, 0, 0.16);
  --rd-kpi-icon-bg:  linear-gradient(135deg, rgba(255, 138, 60, 0.32) 0%, rgba(255, 98, 0, 0.22) 100%);
}

.rd-kpi-card--success {
  --rd-kpi-accent:   var(--rd-success);
  --rd-kpi-accent-2: #15803D;
  --rd-kpi-tint:     rgba(22, 163, 74, 0.16);
  --rd-kpi-icon-bg:  linear-gradient(135deg, rgba(74, 222, 128, 0.32) 0%, rgba(22, 163, 74, 0.22) 100%);
}

.rd-kpi-card--danger {
  --rd-kpi-accent:   var(--rd-danger);
  --rd-kpi-accent-2: #DC2626;
  --rd-kpi-tint:     rgba(239, 68, 68, 0.16);
  --rd-kpi-icon-bg:  linear-gradient(135deg, rgba(248, 113, 113, 0.32) 0%, rgba(239, 68, 68, 0.22) 100%);
}

.rd-kpi-card--neutral {
  --rd-kpi-accent:   var(--rd-orange);
  --rd-kpi-accent-2: var(--rd-orange-dark);
  --rd-kpi-tint:     rgba(255, 98, 0, 0.16);
  --rd-kpi-icon-bg:  linear-gradient(135deg, rgba(255, 138, 60, 0.32) 0%, rgba(255, 98, 0, 0.22) 100%);
}

.rd-kpi-icon {
  grid-row: 1 / span 2;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rd-kpi-icon-bg, linear-gradient(135deg, rgba(103, 212, 250, 0.22) 0%, rgba(59, 130, 246, 0.18) 100%));
  color: var(--rd-kpi-accent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.rd-kpi-icon i,
.rd-kpi-icon svg {
  width: 24px !important;
  height: 24px !important;
  color: currentColor !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
}

button.rd-kpi-icon-btn {
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  cursor: pointer;
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}

button.rd-kpi-icon-btn:hover {
  transform: scale(1.04);
  filter: brightness(1.06);
}

button.rd-kpi-icon-btn:focus-visible {
  outline: 2px solid rgba(255, 98, 0, 0.45);
  outline-offset: 2px;
}

button.rd-kpi-icon-btn.rd-kpi-icon-btn--balance-hidden {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.rd-kpi-value.rd-kpi-value--hidden-balance {
  letter-spacing: 0.14em;
  color: var(--rd-ink-3);
}

.rd-kpi-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.rd-kpi-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink-3);
  letter-spacing: 0;
}

.rd-kpi-value {
  font-size: 24px;
  font-weight: 800;
  color: var(--rd-ink);
  letter-spacing: -0.02em;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rd-kpi-value.skeleton-deposit {
  display: inline-block;
  min-width: 140px;
  min-height: 28px;
  color: transparent;
  user-select: none;
  border-radius: 10px;
}

.rd-nav-deposit-value.is-loading {
  display: inline-block;
  min-width: 108px;
  min-height: 17px;
  color: transparent;
  user-select: none;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-card) 50%, var(--bg-secondary) 75%);
  background-size: 200% 100%;
  animation: loading 1.5s ease-in-out infinite;
  opacity: 1;
}

.rd-kpi-delta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
}

.rd-kpi-delta--up   { color: var(--rd-success); }
.rd-kpi-delta--down { color: var(--rd-danger); }
.rd-kpi-delta--flat { color: var(--rd-ink-3); }

.rd-kpi-delta-note {
  color: var(--rd-ink-3);
  font-weight: 500;
}

.rd-kpi-spark {
  position: absolute;
  right: 12px;
  bottom: 10px;
  width: 130px;
  height: 40px;
  opacity: 0.95;
  pointer-events: none;
}
.rd-kpi-spark svg { width: 100%; height: 100%; display: block; }

/* ---- Большие карточки (за день / за неделю) — новый стиль ---- */

#statistics-tab .stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 0;
}

#statistics-tab .stat-card {
  background: var(--rd-white) !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 20px 22px !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

#statistics-tab .stat-card:hover {
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
  background: var(--rd-white) !important;
}

[data-theme="dark"] #statistics-tab .stat-card:hover {
  background: rgba(18, 24, 38, 0.88) !important;
}

#statistics-tab .stat-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--rd-cream-200) !important;
  padding-bottom: 14px !important;
  margin-bottom: 4px !important;
}

#statistics-tab .stat-card-title {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--rd-ink) !important;
  letter-spacing: -0.01em !important;
}

#statistics-tab .stat-card-sub {
  font-size: 12px;
  font-weight: 600;
  color: var(--rd-ink-3);
  margin-top: 2px;
}

#statistics-tab .stat-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--rd-cream-100);
  color: var(--rd-ink-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#statistics-tab .stat-card-icon i,
#statistics-tab .stat-card-icon svg {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
  stroke: currentColor !important;
}

#statistics-tab .stat-metrics {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 22px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#statistics-tab .stat-metric {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  min-width: 0;
}

#statistics-tab .stat-metric-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--rd-ink-3) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#statistics-tab .stat-metric-value {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--rd-ink) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#statistics-tab .stat-metric-value.success { color: var(--rd-success) !important; }
#statistics-tab .stat-metric-value.danger  { color: var(--rd-danger) !important; }

#statistics-tab .stat-metric-delta {
  font-size: 11px !important;
  font-weight: 600 !important;
  min-height: 16px;
}
#statistics-tab .stat-metric-delta .rd-kpi-delta--up   { color: var(--rd-success) !important; }
#statistics-tab .stat-metric-delta .rd-kpi-delta--down { color: var(--rd-danger) !important; }
#statistics-tab .stat-metric-delta .rd-kpi-delta--flat { color: var(--rd-ink-3) !important; }
#statistics-tab .stat-metric-delta .rd-kpi-delta-note  { color: var(--rd-ink-3) !important; font-weight: 500 !important; }

#statistics-tab .stat-metric::after { content: none !important; display: none !important; }

#statistics-tab .stat-card-chart {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--rd-cream-200);
  min-height: 240px;
  position: relative;
  overflow: hidden;
}

#statistics-tab .rd-chart-panel {
  position: relative;
  width: 100%;
  min-height: 220px;
  overflow: hidden;
}

#statistics-tab .stat-card-chart.is-chart-loading {
  pointer-events: none;
}

#statistics-tab .stat-card-chart.is-chart-loading .rd-chart-panel {
  opacity: 0.42;
  filter: saturate(0.82) blur(0.6px);
  transition: opacity 0.3s ease, filter 0.3s ease;
  pointer-events: none;
}

#statistics-tab .stat-card-chart:not(.is-chart-loading) .rd-chart-panel.rd-chart-entering {
  will-change: opacity, transform, filter;
}

/* ---- Premium charts (SVG) ---- */

#statistics-tab .rd-chart-svg {
  width: 100%;
  height: 220px;
  display: block;
}

#statistics-tab .rd-chart-grid {
  stroke: rgba(148, 163, 184, 0.16);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

[data-theme="dark"] #statistics-tab .rd-chart-grid {
  stroke: rgba(255, 255, 255, 0.07);
}

#statistics-tab .rd-chart-y-axis {
  font-size: 10px;
  fill: var(--rd-ink-3);
  font-family: 'Inter', sans-serif;
  font-weight: 600;
}

#statistics-tab .rd-chart-axis {
  font-size: 10px;
  fill: var(--rd-ink-3);
  text-anchor: middle;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
}

#statistics-tab .rd-bar-fill {
  transition: opacity 0.15s ease, filter 0.18s ease;
}

#statistics-tab .rd-bar-fill.is-active {
  filter:
    drop-shadow(0 0 10px rgba(165, 180, 252, 0.85))
    drop-shadow(0 0 22px rgba(129, 140, 248, 0.45))
    brightness(1.12);
}

#statistics-tab .rd-bar-dot {
  pointer-events: none;
  transition: opacity 0.14s ease;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.85));
}

#statistics-tab .rd-chart-hover-line {
  position: absolute;
  top: 16px;
  bottom: 36px;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(224, 231, 255, 0.55) 35%,
    rgba(129, 140, 248, 0.12) 100%
  );
  box-shadow:
    0 0 12px rgba(255, 255, 255, 0.45),
    0 0 24px rgba(129, 140, 248, 0.35);
  border-radius: 2px;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.14s ease;
}

#statistics-tab .rd-line-dot {
  transition: r 0.12s ease, filter 0.12s ease;
}

#statistics-tab .rd-line-dot.is-active {
  r: 6;
  filter: drop-shadow(0 0 8px rgba(165, 180, 252, 0.9));
}

#statistics-tab .rd-line-hit { cursor: pointer; }

#statistics-tab .rd-chart-tooltip--premium {
  position: absolute;
  transform: translate(-50%, calc(-100% - 14px));
  background: rgba(24, 28, 38, 0.94);
  color: #F8FAFC;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  pointer-events: none;
  z-index: 6;
  box-shadow:
    0 12px 28px -8px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: opacity 0.12s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

#statistics-tab .rd-chart-tooltip--premium .rd-tt-val {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

#statistics-tab .rd-chart-tooltip--premium .rd-tt-date {
  font-size: 11px;
  font-weight: 600;
  opacity: 0.72;
}

#statistics-tab .rd-chart-empty {
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rd-ink-3);
  font-size: 13px;
  font-weight: 600;
}

/* Legacy bar/line (fallback) */
#statistics-tab .rd-bar-chart {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 160px;
  padding: 8px 4px 0;
}

#statistics-tab .rd-bar-col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  height: 100%;
}

#statistics-tab .rd-bar-single {
  width: 100%;
  max-width: 22px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #60A5FA 0%, #2563EB 100%);
  min-height: 4px;
}

#statistics-tab .rd-bar-stack {
  width: 100%;
  max-width: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 6px 6px 2px 2px;
  overflow: hidden;
  background: var(--rd-cream-100);
}

#statistics-tab .rd-bar-success { background: #2563EB; min-height: 2px; }
#statistics-tab .rd-bar-failed  { background: #EF4444; min-height: 2px; }

#statistics-tab .rd-bar-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--rd-ink-3);
  white-space: nowrap;
}

#statistics-tab .rd-line-svg {
  width: 100%;
  height: 160px;
  display: block;
}

#statistics-tab .rd-line-hit { cursor: pointer; }

#statistics-tab .rd-chart-tooltip {
  position: absolute;
  transform: translate(-50%, calc(-100% - 12px));
  background: var(--rd-ink);
  color: var(--rd-white);
  padding: 7px 11px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  pointer-events: none;
  z-index: 5;
  box-shadow: 0 8px 20px -6px rgba(0,0,0,0.4);
  transition: opacity 0.12s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
#statistics-tab .rd-chart-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--rd-ink);
}
#statistics-tab .rd-chart-tooltip .rd-tt-date {
  font-size: 10px;
  font-weight: 600;
  opacity: 0.75;
  text-transform: capitalize;
}
#statistics-tab .rd-chart-tooltip .rd-tt-val {
  font-size: 13px;
  font-weight: 800;
}
[data-theme="dark"] #statistics-tab .rd-chart-tooltip {
  background: #2A2A33;
  color: #F2EEE8;
}
[data-theme="dark"] #statistics-tab .rd-chart-tooltip::after {
  border-top-color: #2A2A33;
}

#statistics-tab .rd-chart-axis {
  font-size: 10px;
  fill: var(--rd-ink-3);
  text-anchor: middle;
}

#statistics-tab .rd-chart-empty {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rd-ink-3);
  font-size: 13px;
  font-weight: 600;
}

.rd-stats-charts { display: none !important; }

.rd-stats-date-input {
  position: fixed;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  border: 0;
  padding: 0;
}

/* ---- Кастомный календарь статистики ---- */

.rd-stats-calendar-popover {
  position: fixed;
  z-index: 12000;
  width: 300px;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 24px);
  overflow-y: auto;
  padding: 14px;
  border-radius: 18px;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  box-shadow:
    0 18px 48px rgba(91, 82, 71, 0.18),
    0 4px 14px rgba(91, 82, 71, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  opacity: 0;
  transform: translateY(6px) scale(0.98);
  pointer-events: none;
  transition:
    opacity 0.18s ease,
    transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  overscroll-behavior: contain;
}

.rd-stats-calendar-popover.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.rd-cal-header {
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.rd-cal-title {
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--rd-ink);
  letter-spacing: -0.01em;
  text-transform: capitalize;
}

.rd-cal-nav {
  all: unset;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--rd-ink-2);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.rd-cal-nav:hover:not(:disabled) {
  background: var(--rd-cream-100);
  color: var(--rd-ink);
}

.rd-cal-nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.rd-cal-nav i,
.rd-cal-nav svg {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
}

.rd-cal-weekdays,
.rd-cal-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}

.rd-cal-weekdays {
  margin-bottom: 6px;
}

.rd-cal-weekdays span {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--rd-ink-3);
  letter-spacing: 0.02em;
}

.rd-cal-day {
  all: unset;
  box-sizing: border-box;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink);
  cursor: pointer;
  position: relative;
  transition: background-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}

.rd-cal-day:hover:not(:disabled):not(.is-empty) {
  background: var(--rd-cream-100);
}

.rd-cal-day.is-empty {
  pointer-events: none;
}

.rd-cal-day:disabled,
.rd-cal-day.is-disabled {
  color: var(--rd-ink-3);
  opacity: 0.38;
  cursor: not-allowed;
}

.rd-cal-day.is-today:not(.is-selected) {
  box-shadow: inset 0 0 0 1.5px var(--rd-orange);
  color: var(--rd-orange-dark);
}

.rd-cal-day.is-in-range {
  background: var(--rd-orange-bg);
  color: var(--rd-orange-dark);
  border-radius: 8px;
}

.rd-cal-day.is-selected {
  background: linear-gradient(135deg, var(--rd-orange-light) 0%, var(--rd-orange) 100%);
  color: #fff;
  box-shadow: 0 4px 12px rgba(255, 98, 0, 0.28);
}

.rd-cal-preview {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--rd-cream-100);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--rd-ink-2);
  min-height: 20px;
}

.rd-cal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}

.rd-cal-btn {
  all: unset;
  box-sizing: border-box;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.rd-cal-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rd-cal-btn--ghost {
  background: var(--rd-cream-100);
  color: var(--rd-ink-2);
}

.rd-cal-btn--ghost:hover:not(:disabled) {
  background: var(--rd-cream-200);
  color: var(--rd-ink);
}

.rd-cal-btn--primary {
  background: linear-gradient(135deg, var(--rd-orange-light) 0%, var(--rd-orange) 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(255, 98, 0, 0.24);
}

.rd-cal-btn--primary:hover:not(:disabled) {
  box-shadow: 0 6px 18px rgba(255, 98, 0, 0.32);
}

[data-theme="dark"] .rd-stats-calendar-popover {
  background: rgba(18, 24, 38, 0.96);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

[data-theme="dark"] .rd-cal-title {
  color: #E8EEF8;
}

[data-theme="dark"] .rd-cal-nav {
  color: #FFFFFF;
}

[data-theme="dark"] .rd-cal-nav i,
[data-theme="dark"] .rd-cal-nav svg,
[data-theme="dark"] .rd-cal-nav svg * {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

[data-theme="dark"] .rd-cal-nav:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.06);
  color: #FFFFFF;
}

[data-theme="dark"] .rd-cal-weekdays span {
  color: #7E95B8;
}

[data-theme="dark"] .rd-cal-day {
  color: #E8EEF8;
}

[data-theme="dark"] .rd-cal-day:hover:not(:disabled):not(.is-empty) {
  background: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .rd-cal-day.is-today:not(.is-selected) {
  box-shadow: inset 0 0 0 1.5px #67D4FA;
  color: #67D4FA;
}

[data-theme="dark"] .rd-cal-day.is-in-range {
  background: rgba(59, 130, 246, 0.18);
  color: #CFE6FF;
}

[data-theme="dark"] .rd-cal-day.is-selected {
  background: linear-gradient(135deg, #67D4FA 0%, #3B82F6 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
}

[data-theme="dark"] .rd-cal-preview {
  background: rgba(255, 255, 255, 0.05);
  color: #AFC4E3;
}

[data-theme="dark"] .rd-cal-btn--ghost {
  background: rgba(255, 255, 255, 0.06);
  color: #AFC4E3;
}

[data-theme="dark"] .rd-cal-btn--ghost:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

[data-theme="dark"] .rd-cal-btn--primary {
  background: linear-gradient(135deg, #67D4FA 0%, #3B82F6 100%);
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
}

@media (max-width: 720px) {
  .rd-stats-calendar-popover {
    width: min(300px, calc(100vw - 24px));
  }
}

#statistics-tab.rd-stats-loading .rd-stats-kpi,
#statistics-tab.rd-stats-loading .stats-grid,
#statistics-tab.rd-stats-skeleton .rd-kpi-card,
#statistics-tab.rd-stats-skeleton .rd-kpi-card > * {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  visibility: visible !important;
  pointer-events: auto;
  animation: none !important;
  transition: none !important;
}

/* Dim numeric values while period data is loading */
#statistics-tab.rd-stats-period-transition .rd-kpi-value,
#statistics-tab.rd-stats-period-transition .stat-metric-value {
  opacity: 0.38;
  filter: blur(1.5px);
  transition: opacity 0.32s ease, filter 0.32s ease;
}

#statistics-tab.rd-stats-metrics-loading #rd-stats-kpi .rd-kpi-card,
#statistics-tab.rd-stats-metrics-loading #statistics-grid .stat-card[data-side]:not(.rd-stat-skeleton) {
  transition: opacity 0.32s ease, filter 0.32s ease;
}

#statistics-tab.rd-stats-period-transition.rd-stats-metrics-loading #rd-stats-kpi .rd-kpi-card,
#statistics-tab.rd-stats-period-transition.rd-stats-metrics-loading #statistics-grid .stat-card[data-side]:not(.rd-stat-skeleton) {
  opacity: 0.82;
  filter: saturate(0.88);
}

/* ---- Скелетоны статистики (KPI + большие карточки) ---- */

@keyframes rd-stats-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

@keyframes rd-stats-shimmer-flow {
  0% { background-position: 180% 0; }
  100% { background-position: -80% 0; }
}

@keyframes rd-stats-kpi-enter {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.96);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes rd-stats-card-enter {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.975);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes rd-stats-chart-enter {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes rd-stats-value-pulse {
  from { text-shadow: 0 0 0 rgba(129, 140, 248, 0); }
  to   { text-shadow: 0 0 14px rgba(129, 140, 248, 0.55); }
}

#statistics-tab.rd-stats-metrics-loading #rd-stats-kpi .rd-kpi-card {
  pointer-events: none;
}

#statistics-tab.rd-stats-metrics-loading #statistics-grid .stat-card[data-side]:not(.rd-stat-skeleton) {
  pointer-events: none;
}

#statistics-tab.rd-stats-metrics-loading #statistics-grid .stat-card.rd-stat-skeleton {
  filter: none;
  opacity: 1;
}

/* KPI не скелетоним — только grid stat-card ниже */
#statistics-tab.rd-stats-skeleton .rd-kpi-card {
  filter: none !important;
  opacity: 1 !important;
  background: inherit !important;
  animation: none !important;
}

#statistics-tab.rd-stats-skeleton .rd-kpi-card > * {
  opacity: 1 !important;
  visibility: visible !important;
}

#statistics-tab .stat-card.rd-stat-skeleton {
  min-height: 420px;
  border: none !important;
  border-radius: 18px !important;
  padding: 0 !important;
  box-shadow: none !important;
  background: var(--rd-white) !important;
  position: relative;
  overflow: hidden;
  pointer-events: none;
}

#statistics-tab .stat-card.rd-stat-skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(255, 248, 240, 0.35) 42%,
    rgba(255, 236, 210, 0.65) 50%,
    rgba(255, 248, 240, 0.35) 58%,
    transparent 100%
  );
  background-size: 220% 100%;
  animation: rd-stats-shimmer 1.8s ease-in-out infinite;
  pointer-events: none;
}

#statistics-tab.rd-stats-skeleton .stat-card.rd-stat-skeleton {
  animation: none !important;
}

#statistics-tab.rd-stats-skeleton .stat-card.rd-stat-skeleton::after {
  animation: rd-stats-shimmer 1.8s ease-in-out infinite !important;
}

[data-theme="dark"] #statistics-tab.rd-stats-skeleton .rd-kpi-card,
[data-theme="dark"] #statistics-tab .stat-card.rd-stat-skeleton {
  background: rgba(18, 24, 38, 0.88) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

[data-theme="dark"] #statistics-tab .stat-card.rd-stat-skeleton::after {
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(255, 255, 255, 0.02) 42%,
    rgba(255, 255, 255, 0.07) 50%,
    rgba(255, 255, 255, 0.02) 58%,
    transparent 100%
  );
  background-size: 220% 100%;
}

[data-theme="dark"] #statistics-tab.rd-stats-period-transition .stat-card-chart::after {
  content: none;
  display: none;
}

#statistics-tab .rd-kpi-value.rd-stats-counting,
#statistics-tab .stat-metric-value.rd-stats-counting {
  opacity: 1 !important;
  filter: none !important;
  animation: rd-stats-value-pulse 0.76s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.28s ease, filter 0.28s ease;
}

@media (prefers-reduced-motion: reduce) {
  #statistics-tab .rd-chart-panel.rd-chart-entering {
    animation: none !important;
    transition: none !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #statistics-tab .rd-kpi-value.rd-stats-counting,
  #statistics-tab .stat-metric-value.rd-stats-counting {
    animation: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #statistics-tab .stat-card.rd-stat-skeleton,
  #statistics-tab.rd-stats-skeleton .stat-card.rd-stat-skeleton {
    animation: none !important;
    background: var(--rd-white) !important;
  }

  #statistics-tab .stat-card.rd-stat-skeleton::after,
  #statistics-tab.rd-stats-skeleton .stat-card.rd-stat-skeleton::after {
    animation: none !important;
    opacity: 0.35;
  }

  [data-theme="dark"] #statistics-tab .stat-card.rd-stat-skeleton,
  [data-theme="dark"] #statistics-tab.rd-stats-skeleton .stat-card.rd-stat-skeleton {
    background: rgba(18, 24, 38, 0.88) !important;
  }

  body.authenticated .tabs .rd-tabs-indicator {
    transition: opacity 0.15s ease !important;
  }
}

@media (min-width: 1100px) {
  #statistics-tab .stat-card.rd-stat-skeleton {
    min-height: 596px;
  }
}

#statistics-tab .stat-card-footer {
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px dashed var(--rd-cream-300) !important;
}

#statistics-tab .stat-card-date {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--rd-ink-3) !important;
}

/* ---- Тёмная тема для статистики ---- */

[data-theme="dark"] .rd-stats-period,
[data-theme="dark"] .rd-stats-calendar-btn,
[data-theme="dark"] .rd-stats-daterange,
[data-theme="dark"] .rd-kpi-card,
[data-theme="dark"] #statistics-tab .stat-card {
  background: rgba(18, 24, 38, 0.88) !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

[data-theme="dark"] .rd-kpi-icon {
  background: linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 100%) !important;
  color: #FFFFFF !important;
  box-shadow:
    0 2px 10px rgba(59, 130, 246, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

[data-theme="dark"] .rd-kpi-icon svg,
[data-theme="dark"] .rd-kpi-icon i {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

[data-theme="dark"] button.rd-kpi-icon-btn:focus-visible {
  outline-color: rgba(59, 130, 246, 0.65);
}

[data-theme="dark"] button.rd-kpi-icon-btn.rd-kpi-icon-btn--balance-hidden {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 0 0 2px rgba(59, 130, 246, 0.28) !important;
}

[data-theme="dark"] .rd-stats-period-indicator {
  background: linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 100%);
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
}

[data-theme="dark"] .rd-stats-period-btn.active,
[data-theme="dark"] .rd-stats-calendar-btn.active {
  background: transparent !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] .rd-stats-calendar-btn.active {
  background: linear-gradient(135deg, #5B9AFF 0%, #3B82F6 100%) !important;
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35) !important;
}

[data-theme="dark"] .rd-stats-period-btn:disabled,
[data-theme="dark"] .rd-stats-period-btn.is-disabled {
  opacity: 0.32;
  color: rgba(255, 255, 255, 0.35) !important;
}

[data-theme="dark"] #statistics-tab .stat-card {
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] #statistics-tab .stat-card-icon {
  background: rgba(255,255,255,0.06);
}

[data-theme="dark"] #statistics-tab .stat-card-header {
  border-bottom-color: rgba(255,255,255,0.06) !important;
}

[data-theme="dark"] #statistics-tab .stat-card-footer {
  border-top-color: rgba(255,255,255,0.08) !important;
}

/* ---- Адаптив ---- */

@media (max-width: 1280px) {
  .rd-kpi-spark { width: 100px; }
}

@media (max-width: 900px) {
  #statistics-tab .stats-grid { grid-template-columns: 1fr; }
  #statistics-tab .stat-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ---------- Тёмная тема: бело-голубой UI ---------- */

[data-theme="dark"] body.authenticated .tabs-container {
  background: transparent !important;
}

[data-theme="dark"] body.authenticated .tabs button {
  color: var(--rd-ink-2) !important;
}

[data-theme="dark"] body.authenticated .tabs button:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--rd-ink) !important;
}

[data-theme="dark"] body.authenticated .tabs button.active {
  background: transparent !important;
  border: 0 !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] body.authenticated .tabs .rd-tabs-indicator {
  background: #2A303C;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] body.authenticated .tabs button.active::before {
  display: none !important;
  content: none !important;
}

[data-theme="dark"] body.authenticated .tabs button.active svg,
[data-theme="dark"] body.authenticated .tabs button.active svg path {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

[data-theme="dark"] body.authenticated .modern-nav .icon-btn {
  background: transparent !important;
  border: none !important;
  color: var(--rd-ink-2) !important;
  box-shadow: none !important;
}

[data-theme="dark"] body.authenticated .modern-nav .icon-btn:hover {
  background: transparent !important;
  border: none !important;
  color: var(--rd-ink) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .cards-statistics .stat-item {
  background: rgba(18, 24, 38, 0.88) !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Stat-иконки в тёмной теме: богатый сине-голубой градиент + белый символ */
[data-theme="dark"] .cards-statistics .stat-item::before {
  background-size: 19px 19px, 100% 100% !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center, center !important;
  box-shadow:
    0 2px 10px rgba(59, 130, 246, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

[data-theme="dark"] .cards-statistics .stat-item:nth-child(1)::before {
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>"),
    linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 72%, #2563EB 100%) !important;
}

[data-theme="dark"] .cards-statistics .stat-item:nth-child(2)::before {
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polygon points='12 2 2 7 12 12 22 7 12 2'/><polyline points='2 17 12 22 22 17'/><polyline points='2 12 12 17 22 12'/></svg>"),
    linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 72%, #2563EB 100%) !important;
}

[data-theme="dark"] .cards-statistics .stat-item:nth-child(3)::before {
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='2' y1='12' x2='22' y2='12'/><line x1='12' y1='2' x2='12' y2='22'/><polyline points='20 7 12 12 20 17'/><polyline points='4 7 12 12 4 17'/></svg>"),
    linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 72%, #2563EB 100%) !important;
}

[data-theme="dark"] .cards-statistics .stat-item:nth-child(4)::before {
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2' ry='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>"),
    linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 72%, #2563EB 100%) !important;
}

[data-theme="dark"] .cards-statistics .stat-item:nth-child(5)::before {
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='9' y1='13' x2='15' y2='13'/><line x1='9' y1='17' x2='13' y2='17'/></svg>"),
    linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 72%, #2563EB 100%) !important;
}

[data-theme="dark"] .cards-statistics .stat-item:nth-child(6)::before {
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/><line x1='1' y1='1' x2='23' y2='23'/></svg>"),
    linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 72%, #2563EB 100%) !important;
}

[data-theme="dark"] body.authenticated .rd-avatar-popover {
  background: rgba(18, 24, 38, 0.96);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] body.authenticated .rd-avatar-popover::before {
  background: rgba(18, 24, 38, 0.96);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] body.authenticated .rd-avatar-popover__label {
  color: rgba(232, 238, 248, 0.55);
}

[data-theme="dark"] body.authenticated .rd-avatar-popover__name {
  color: #E8EEF8;
}

@media (prefers-reduced-motion: reduce) {
  body.authenticated .rd-avatar-popover.is-open,
  body.authenticated .rd-avatar-popover.is-closing {
    animation: none !important;
    filter: none !important;
  }
}

[data-theme="dark"] body.authenticated .rd-avatar-wrap .rd-avatar[aria-expanded="true"] {
  box-shadow: 0 0 0 3px rgba(91, 154, 255, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  body.authenticated .rd-avatar-popover.is-open,
  body.authenticated .rd-avatar-popover.is-closing {
    animation: none !important;
    filter: none !important;
  }
}

/* Аватар в шапке — белый круг, голубой силуэт */
[data-theme="dark"] body.authenticated .rd-avatar {
  background: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28) !important;
}

[data-theme="dark"] body.authenticated .rd-avatar::after {
  background:
    radial-gradient(circle at 50% 30%, #3B82F6 30%, transparent 32%),
    radial-gradient(ellipse 75% 50% at 50% 82%, #5B9AFF 36%, transparent 38%) !important;
  opacity: 1 !important;
}

/* Кнопка «+» — белый круг, сине-голубой плюс */
[data-theme="dark"] .tab-content .cards-grid .card-id-wrapper .add-requisite-btn {
  background: #FFFFFF !important;
  box-shadow: 0 2px 10px rgba(255, 255, 255, 0.12) !important;
}

[data-theme="dark"] .tab-content .cards-grid .card-id-wrapper .add-requisite-btn svg,
[data-theme="dark"] .tab-content .cards-grid .card-id-wrapper .add-requisite-btn i[data-lucide] {
  color: #3B82F6 !important;
  stroke: #5B9AFF !important;
}

[data-theme="dark"] .tab-content .cards-grid .card-id-wrapper .add-requisite-btn:hover {
  box-shadow: 0 4px 14px rgba(91, 154, 255, 0.28) !important;
}

/* Chevron разворота — белый */
[data-theme="dark"] .tab-content .cards-grid .card-expand-btn {
  color: #FFFFFF !important;
}

[data-theme="dark"] .tab-content .cards-grid .card-expand-btn .expand-icon,
[data-theme="dark"] .tab-content .cards-grid .card-expand-btn svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

[data-theme="dark"] .tab-content .cards-grid .card-expand-btn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #E8F2FF !important;
}

/* Замки остывания — белые */
[data-theme="dark"] .tab-content .cards-grid .cooldown-lock-icon,
[data-theme="dark"] .tab-content .cards-grid .cooldown-lock-icon svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item.cooldown-locked {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item.cooldown-locked:hover {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item.tenevoy-locked {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item.tenevoy-locked::after {
  background: rgba(0, 0, 0, 0.42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item .linked-requisite-type svg,
[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item .linked-requisite-type svg *,
[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item .linked-requisite-type i {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item.tenevoy-locked:hover {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item.tenevoy-locked .linked-requisite-type svg,
[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item.tenevoy-locked .linked-requisite-type i {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item[data-blocked="true"] {
  border-color: rgba(255, 70, 70, 0.28) !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item[data-blocked="true"]::after {
  background: color-mix(in srgb, rgba(0, 0, 0, 0.42) 62%, rgba(220, 38, 38, 0.27) 38%);
  box-shadow: inset 0 1px 0 rgba(255, 90, 90, 0.06);
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-item[data-blocked="true"]:hover {
  border-color: rgba(255, 70, 70, 0.36) !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-status-badge.cooldown-badge {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 98, 0, 0.1) !important;
  color: #FF9A4D !important;
}

[data-theme="dark"] .tab-content .cards-grid .linked-requisite-status-badge.cooldown-badge .cooldown-label,
[data-theme="dark"] .tab-content .cards-grid .linked-requisite-status-badge.cooldown-badge .cooldown-timer {
  color: #FF9A4D !important;
}

[data-theme="dark"] .elusive-mt-qr-header {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .tab-content .search-input,
[data-theme="dark"] .tab-content .search-type-select,
[data-theme="dark"] .tab-content .custom-select-button {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--rd-ink) !important;
}

[data-theme="dark"] .tab-content .search-input::placeholder {
  color: var(--rd-ink-3) !important;
}

[data-theme="dark"] .tab-content .search-input:focus,
[data-theme="dark"] .tab-content .search-type-select:focus,
[data-theme="dark"] .tab-content .custom-select-button:focus {
  border-color: rgba(91, 154, 255, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14) !important;
}

[data-theme="dark"] .tab-content .search-field-label {
  color: var(--rd-ink-3) !important;
}

[data-theme="dark"] .tab-content .btn.btn-secondary {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: var(--rd-ink) !important;
}

[data-theme="dark"] .tab-content .btn.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(91, 154, 255, 0.22) !important;
}

[data-theme="dark"] .tab-content .btn:not(.btn-secondary):not(.btn-danger):not(.btn-warning),
[data-theme="dark"] .tab-content .btn.btn-primary {
  background: #FFFFFF !important;
  color: #0A0E16 !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 4px 16px rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .tab-content .btn:not(.btn-secondary):not(.btn-danger):not(.btn-warning):hover,
[data-theme="dark"] .tab-content .btn.btn-primary:hover {
  background: #F0F6FF !important;
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.14) !important;
}

[data-theme="dark"] .tab-content .cards-grid .card-id-column {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #B8C8E0 !important;
}

[data-theme="dark"] .tab-content .cards-grid .card-value {
  color: var(--rd-ink) !important;
  font-weight: 400 !important;
}

[data-theme="dark"] #cards-grid .card-body > .card-field:nth-child(5) .card-value {
  font-weight: 400 !important;
}

[data-theme="dark"] #cards-grid > .data-card .card-value {
  font-weight: 400 !important;
}

[data-theme="dark"] .tab-content .cards-grid .blocked-indicator {
  background: rgba(255, 45, 45, 0.12) !important;
  color: #FF5A5A !important;
  border-color: rgba(255, 90, 90, 0.95) !important;
  box-shadow:
    0 0 8px rgba(255, 60, 60, 0.3),
    0 0 18px rgba(255, 40, 40, 0.19),
    inset 0 0 12px rgba(255, 40, 40, 0.07) !important;
  text-shadow:
    0 0 8px rgba(255, 70, 70, 0.48),
    0 0 16px rgba(255, 50, 50, 0.3) !important;
}

[data-theme="dark"] .tab-content .cards-grid .blocked-indicator .blocked-label {
  color: #FF5A5A !important;
  text-shadow:
    0 0 8px rgba(255, 70, 70, 0.5),
    0 0 16px rgba(255, 50, 50, 0.35),
    0 0 24px rgba(255, 40, 40, 0.23) !important;
}

[data-theme="dark"] .tab-content .pagination {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

[data-theme="dark"] .tab-content .rd-reset-btn {
  color: var(--rd-ink-2) !important;
}

[data-theme="dark"] .tab-content .rd-reset-btn:hover {
  color: #93C5FD !important;
}

[data-theme="dark"] .tab-content .status-toggle-slider {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .rd-toast.rd-toast-info {
  --rd-toast-accent: #5B9AFF;
  --rd-toast-accent-2: #3B82F6;
  --rd-toast-tint: rgba(59, 130, 246, 0.14);
  --rd-toast-glow: rgba(59, 130, 246, 0.16);
}

/* ---------- Зелёные тумблеры статуса (сочнее) ---------- */

.tab-content .status-toggle input:checked + .status-toggle-slider {
  background: linear-gradient(135deg, #4ADE80 0%, #22C55E 42%, #16A34A 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 2px 10px rgba(34, 197, 94, 0.48) !important;
}

.tab-content .status-toggle input:checked + .status-toggle-slider::before {
  box-shadow: 0 2px 6px rgba(22, 101, 52, 0.35) !important;
}

[data-theme="dark"] .tab-content .status-toggle input:checked + .status-toggle-slider {
  background: linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 100%) !important;
  border-color: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 2px 12px rgba(59, 130, 246, 0.55) !important;
}

[data-theme="dark"] .tab-content .status-toggle input:checked + .status-toggle-slider::before {
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4) !important;
}

/* ---------- Traffic toggles: как status-toggle (вкл.), в тёмной теме — синий ---------- */

.traffic-toggle input:checked + .traffic-toggle-slider {
  background: linear-gradient(135deg, #4ADE80 0%, #22C55E 42%, #16A34A 100%) !important;
  border-color: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 2px 10px rgba(34, 197, 94, 0.48) !important;
}

.traffic-toggle input:checked + .traffic-toggle-slider::before {
  box-shadow: 0 2px 6px rgba(22, 101, 52, 0.35) !important;
}

[data-theme="dark"] .traffic-toggle-slider {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .traffic-toggle input:checked + .traffic-toggle-slider {
  background: linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 100%) !important;
  border-color: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 2px 12px rgba(59, 130, 246, 0.55) !important;
}

[data-theme="dark"] .traffic-toggle input:checked + .traffic-toggle-slider::before {
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4) !important;
}

@media (max-width: 560px) {
  .rd-stats-kpi { grid-template-columns: 1fr; }
  .rd-kpi-spark { display: none; }
}

/* ---------- Empty state в таблицах (Lucide → svg) ---------- */

.tab-content .cards-grid > .empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 64px 20px;
  background: var(--rd-white) !important;
  border: 1px solid rgba(234, 213, 186, 0.7) !important;
  border-radius: var(--rd-radius-lg) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
}

.tab-content .cards-grid > .empty-state.reveal-on-scroll,
.tab-content .cards-grid > .empty-state.reveal-on-scroll.is-visible {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

.tab-content .cards-grid > .empty-state svg,
.tab-content .cards-grid > .empty-state i,
.tab-content .cards-grid > .empty-state i[data-lucide] {
  width: 48px !important;
  height: 48px !important;
  margin: 0 auto 16px;
  display: block;
  color: var(--rd-ink-3);
  stroke: currentColor;
  opacity: 0.55;
}

.tab-content .cards-grid > .empty-state h3 {
  font-size: 17px;
  font-weight: 600;
  color: var(--rd-ink);
  margin: 0 0 8px;
}

.tab-content .cards-grid > .empty-state p {
  font-size: 13px;
  color: var(--rd-ink-3);
  margin: 0;
}

.tab-content .cards-grid > .empty-state:hover {
  background: var(--rd-white) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
  transform: none !important;
}

.tab-content .cards-grid > .empty-state:hover svg,
.tab-content .cards-grid > .empty-state:hover i,
.tab-content .cards-grid > .empty-state:hover i[data-lucide] {
  opacity: 0.55 !important;
  transform: none !important;
}

[data-theme="dark"] .tab-content .cards-grid > .empty-state {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="dark"] .tab-content .cards-grid > .empty-state svg,
[data-theme="dark"] .tab-content .cards-grid > .empty-state i,
[data-theme="dark"] .tab-content .cards-grid > .empty-state i[data-lucide] {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
  opacity: 0.88;
}

[data-theme="dark"] .tab-content .cards-grid > .empty-state h3 {
  color: rgba(255, 255, 255, 0.92);
}

[data-theme="dark"] .tab-content .cards-grid > .empty-state p {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme="dark"] .tab-content .cards-grid > .empty-state:hover {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
  transform: none !important;
}

[data-theme="dark"] .tab-content .cards-grid > .empty-state:hover svg,
[data-theme="dark"] .tab-content .cards-grid > .empty-state:hover i,
[data-theme="dark"] .tab-content .cards-grid > .empty-state:hover i[data-lucide] {
  opacity: 0.88 !important;
  transform: none !important;
}

/* ---------- Deals tab (Сделки) ---------- */

#deals-tab .rd-deals-head-row {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  width: 100%;
}

#deals-tab .rd-deals-title-block {
  flex: 1 1 auto;
  min-width: 0;
}

#deals-tab .rd-deals-title-block h2 {
  margin: 0 !important;
}

#deals-tab .rd-deals-subtitle {
  margin: 6px 0 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--rd-ink-3);
  line-height: 1.4;
}

#deals-tab .rd-deals-head-controls {
  flex: 0 0 auto;
  margin-left: auto;
  min-width: min(100%, 520px);
}

#deals-tab .rd-deals-toolbar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

#deals-tab .rd-deals-period {
  min-width: 280px;
  max-width: 100%;
}

#deals-tab .rd-deals-filters {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end !important;
  gap: 10px !important;
  min-height: 60px;
  box-sizing: border-box;
}

#deals-tab .rd-deals-status-group {
  min-width: 170px;
  flex: 0 0 170px;
}

#deals-tab .rd-deals-status-group[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#deals-tab .rd-deals-id-search {
  display: flex !important;
  align-items: flex-end !important;
  gap: 10px !important;
  flex: 1 1 220px;
  min-width: 0;
  align-self: flex-end;
}

#deals-tab .rd-deals-id-search .search-input-wrapper {
  flex: 1 1 auto;
  min-width: 160px;
  height: auto !important;
  align-self: flex-end !important;
}

#deals-tab .rd-deals-id-search .search-input-wrapper .search-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  box-sizing: border-box !important;
}

#deals-tab #deals-search-btn {
  height: 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 40px !important;
  align-self: flex-end !important;
  flex-shrink: 0 !important;
}

[data-theme="dark"] #deals-tab .rd-deals-period {
  background: rgba(18, 24, 38, 0.88);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] #deals-tab .rd-deals-subtitle {
  color: rgba(255, 255, 255, 0.55);
}

#deals-grid {
  gap: 5px !important;
}

#deals-grid.rd-grid-loading > .empty-state {
  opacity: 1;
  pointer-events: none;
}

#deals-grid.rd-deals-empty-loading > .empty-state {
  opacity: 1;
}

.rd-deals-empty-skeleton {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 200px;
  padding: 64px 24px;
  border-radius: var(--rd-radius-lg);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rd-deals-empty-skeleton__title,
.rd-deals-empty-skeleton__line {
  display: block;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(234, 213, 186, 0.45) 0%,
    rgba(255, 248, 240, 0.95) 50%,
    rgba(234, 213, 186, 0.45) 100%
  );
  background-size: 220% 100%;
  animation: rd-row-shimmer 1.35s ease-in-out infinite;
}

.rd-deals-empty-skeleton__title {
  width: min(240px, 60%);
  height: 16px;
}

.rd-deals-empty-skeleton__line {
  width: min(320px, 75%);
  height: 12px;
  animation-delay: 80ms;
}

[data-theme="dark"] .rd-deals-empty-skeleton__title,
[data-theme="dark"] .rd-deals-empty-skeleton__line {
  background: linear-gradient(
    90deg,
    rgba(36, 44, 62, 0.9) 0%,
    rgba(56, 68, 92, 0.95) 50%,
    rgba(36, 44, 62, 0.9) 100%
  );
  background-size: 220% 100%;
}

#deals-grid > .data-card.rd-row-skeleton .deal-main-row,
#deals-grid > .data-card.rd-row-skeleton .rd-deals-skeleton-row {
  display: grid !important;
  grid-template-columns:
    minmax(120px, 1.2fr)
    minmax(100px, 1fr)
    minmax(110px, 1fr)
    minmax(120px, 1.1fr)
    minmax(140px, 1.3fr)
    minmax(100px, 0.9fr)
    minmax(130px, 1.1fr)
    minmax(130px, 1.1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
}

#deals-grid > .data-card.rd-row-skeleton .deal-main-row .rd-row-skeleton__bar {
  width: 100%;
  max-width: 100%;
  height: 11px;
}

#deals-grid > .data-card.rd-row-skeleton .deal-main-row .rd-row-skeleton__bar--lg {
  flex: none;
}

#deals-grid > .empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 64px 20px !important;
  min-height: 200px;
  background: var(--rd-white) !important;
  border: 1px solid rgba(234, 213, 186, 0.7) !important;
  border-radius: var(--rd-radius-lg) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
}

#deals-grid > .empty-state:hover {
  background: var(--rd-white) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
  transform: none !important;
}

#deals-grid > .empty-state.empty-state--no-icon h3 {
  margin-top: 0 !important;
}

#deals-grid > .empty-state svg,
#deals-grid > .empty-state i,
#deals-grid > .empty-state i[data-lucide] {
  margin: 0 auto 28px !important;
}

#deals-grid > .empty-state h3 {
  font-size: 17px;
  font-weight: 600;
  color: var(--rd-ink);
  margin: 0 0 16px !important;
  line-height: 1.35;
}

#deals-grid > .empty-state p {
  font-size: 13px;
  color: var(--rd-ink-3);
  margin: 0 !important;
  line-height: 1.5;
  padding-bottom: 4px;
}

[data-theme="dark"] #deals-grid > .empty-state {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="dark"] #deals-grid > .empty-state h3 {
  color: rgba(255, 255, 255, 0.92);
}

[data-theme="dark"] #deals-grid > .empty-state p {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme="dark"] #deals-grid > .empty-state:hover {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
  transform: none !important;
}

#cards-grid.rd-grid-loading > .empty-state {
  opacity: 1;
  pointer-events: none;
}

#cards-grid.rd-cards-empty-loading > .empty-state {
  opacity: 1;
}

.rd-cards-empty-skeleton {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 200px;
  padding: 64px 24px;
  border-radius: var(--rd-radius-lg);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rd-cards-empty-skeleton__title {
  display: block;
  width: min(220px, 55%);
  height: 16px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(234, 213, 186, 0.45) 0%,
    rgba(255, 248, 240, 0.95) 50%,
    rgba(234, 213, 186, 0.45) 100%
  );
  background-size: 220% 100%;
  animation: rd-row-shimmer 1.35s ease-in-out infinite;
}

[data-theme="dark"] .rd-cards-empty-skeleton__title {
  background: linear-gradient(
    90deg,
    rgba(36, 44, 62, 0.9) 0%,
    rgba(56, 68, 92, 0.95) 50%,
    rgba(36, 44, 62, 0.9) 100%
  );
  background-size: 220% 100%;
}

#cards-grid > .empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 64px 20px !important;
  min-height: 200px;
  background: var(--rd-white) !important;
  border: 1px solid rgba(234, 213, 186, 0.7) !important;
  border-radius: var(--rd-radius-lg) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
}

#cards-grid > .empty-state:hover {
  background: var(--rd-white) !important;
  box-shadow: 0 4px 14px rgba(123, 78, 34, 0.07) !important;
  transform: none !important;
}

#cards-grid > .empty-state.empty-state--no-icon h3 {
  margin-top: 0 !important;
}

#cards-grid > .empty-state.empty-state--no-icon p:empty {
  display: none;
}

#cards-grid > .empty-state svg,
#cards-grid > .empty-state i,
#cards-grid > .empty-state i[data-lucide] {
  margin: 0 auto 28px !important;
}

#cards-grid > .empty-state h3 {
  font-size: 17px;
  font-weight: 600;
  color: var(--rd-ink);
  margin: 0 0 16px !important;
  line-height: 1.35;
}

#cards-grid > .empty-state p {
  font-size: 13px;
  color: var(--rd-ink-3);
  margin: 0 !important;
  line-height: 1.5;
  padding-bottom: 4px;
}

[data-theme="dark"] #cards-grid > .empty-state {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="dark"] #cards-grid > .empty-state h3 {
  color: rgba(255, 255, 255, 0.92);
}

[data-theme="dark"] #cards-grid > .empty-state p {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme="dark"] #cards-grid > .empty-state:hover {
  background: rgba(18, 24, 38, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
  transform: none !important;
}

#deals-grid > .data-card .deal-main-row,
#deals-grid > .rd-table-head {
  display: grid !important;
  grid-template-columns:
    minmax(120px, 1.2fr)
    minmax(100px, 1fr)
    minmax(110px, 1fr)
    minmax(100px, 0.9fr)
    minmax(120px, 1.1fr)
    minmax(140px, 1.3fr)
    minmax(100px, 0.9fr)
    minmax(130px, 1.1fr)
    minmax(130px, 1.1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

#deals-grid .deal-field {
  min-width: 0;
  text-align: center;
}

#deals-grid .deal-field--id {
  overflow: visible !important;
}

#deals-grid .deal-field--id .deal-id-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 6px;
}

#deals-grid .deal-field--id .deal-id-value--copyable {
  cursor: pointer;
  user-select: none;
  display: inline-block;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--rd-cream-200, #f5f0e8);
  border: 1px solid var(--rd-cream-300, #e8dfd0);
  color: var(--rd-ink-2, #5c5348);
  box-sizing: border-box;
  vertical-align: middle;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  transition:
    background-color 0.18s var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
    border-color 0.18s var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
    color 0.18s var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
    box-shadow 0.12s var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1));
}

#deals-grid .deal-field--id .deal-id-value--copyable:hover {
  background: #f0ebe3;
  border-color: #e4dcd0;
  color: #3d3830;
}

#deals-grid .deal-field--id .deal-id-value--copyable:active {
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  border-color: #ddd4c8;
  transition-duration: 0.08s;
}

#deals-grid .deal-field--id .deal-id-value--copyable:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 98, 0, 0.044);
}

[data-theme="dark"] #deals-grid .deal-field--id .deal-id-value--copyable {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.08);
  color: rgba(184, 200, 224, 0.95);
}

[data-theme="dark"] #deals-grid .deal-field--id .deal-id-value--copyable:hover {
  background: rgba(255, 255, 255, 0.076);
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(196, 208, 228, 0.98);
}

[data-theme="dark"] #deals-grid .deal-field--id .deal-id-value--copyable:active {
  background: rgba(255, 255, 255, 0.068);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.22);
  border-color: rgba(255, 255, 255, 0.12);
}

#deals-grid .deal-field--id .deal-id-value--copyable.motion-copy-flash {
  animation: deal-id-copy-flash 0.44s var(--ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1)) both;
}

@keyframes deal-id-copy-flash {
  0% {
    box-shadow: none;
  }
  16% {
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  }
  44% {
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.064);
    background: rgba(34, 197, 94, 0.024);
    border-color: rgba(34, 197, 94, 0.076);
    color: #2d6a3f;
  }
  100% {
    box-shadow: none;
  }
}

[data-theme="dark"] #deals-grid .deal-field--id .deal-id-value--copyable.motion-copy-flash {
  animation-name: deal-id-copy-flash-dark;
}

@keyframes deal-id-copy-flash-dark {
  0% {
    box-shadow: none;
  }
  16% {
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.22);
  }
  44% {
    box-shadow: 0 0 0 3px rgba(134, 239, 172, 0.048);
    background: rgba(255, 255, 255, 0.072);
    border-color: rgba(134, 239, 172, 0.064);
    color: rgba(220, 252, 231, 0.92);
  }
  100% {
    box-shadow: none;
  }
}

.deal-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.deal-status--active {
  background: rgba(59, 130, 246, 0.12);
  color: #2563eb;
}

.deal-status--success {
  background: rgba(34, 197, 94, 0.14);
  color: #15803d;
}

.deal-status--expired {
  background: rgba(234, 179, 8, 0.16);
  color: #a16207;
}

.deal-status--failed {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}

[data-theme="dark"] .deal-status--active {
  background: rgba(59, 130, 246, 0.2);
  color: #93c5fd;
}

[data-theme="dark"] .deal-status--success {
  background: rgba(34, 197, 94, 0.18);
  color: #86efac;
}

[data-theme="dark"] .deal-status--expired {
  background: rgba(234, 179, 8, 0.18);
  color: #fde047;
}

[data-theme="dark"] .deal-status--failed {
  background: rgba(239, 68, 68, 0.18);
  color: #fca5a5;
}

@media (max-width: 1200px) {
  #deals-grid > .data-card .deal-main-row,
  #deals-grid > .rd-table-head {
    min-width: 1080px;
    box-sizing: border-box;
  }
}

/* ---- DCQR PUSH (FCM ingest panel, Elusive admin) ---- */

#dcqr-pushes-tab .rd-deals-title-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dcqr-pushes-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border-radius: 10px;
  background: var(--rd-surface-muted, rgba(0, 0, 0, 0.06));
  border: 1px solid var(--border-color, rgba(0, 0, 0, 0.08));
}

.dcqr-pushes-view-btn {
  border: none;
  background: transparent;
  color: var(--text-secondary, #64748b);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.dcqr-pushes-view-btn.is-active {
  background: var(--card-bg, #fff);
  color: var(--text-primary, #0f172a);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

html[data-theme="dark"] .dcqr-pushes-view-btn.is-active,
body[data-theme="dark"] .dcqr-pushes-view-btn.is-active {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary, #f8fafc);
}

#dcqr-pushes-grid[data-dcqr-pushes-view="match"] > .data-card .dcqr-push-main-row,
#dcqr-pushes-grid[data-dcqr-pushes-view="match"] > .rd-table-head {
  grid-template-columns:
    minmax(130px, 1.2fr)
    minmax(150px, 1.6fr)
    minmax(90px, 0.9fr)
    minmax(110px, 1fr)
    minmax(70px, 0.7fr)
    minmax(70px, 0.7fr)
    minmax(100px, 0.9fr) !important;
}

#dcqr-pushes-grid .dcqr-push-field--external-id .card-value,
#dcqr-pushes-grid .dcqr-push-value--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px !important;
}

#dcqr-pushes-grid .dcqr-match-external-id {
  cursor: copy;
}

#dcqr-pushes-grid .dcqr-match-external-id:hover {
  color: var(--rd-accent, #3b82f6);
}

#dcqr-pushes-grid .dcqr-match-card:hover {
  background: inherit;
}

.dcqr-match-detail-summary {
  margin-bottom: 16px;
}

.dcqr-match-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px 16px;
  font-size: 13px;
}

.dcqr-match-detail-grid > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dcqr-match-detail-grid span {
  color: var(--text-secondary, #64748b);
  font-size: 11px;
}

.dcqr-match-detail-error {
  color: var(--rd-danger, #dc2626);
}

.dcqr-match-detail-events-wrap h4 {
  margin: 0 0 10px;
  font-size: 14px;
}

.dcqr-match-detail-events {
  max-height: 360px;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dcqr-match-event {
  border: 1px solid var(--border-color, rgba(0, 0, 0, 0.08));
  border-radius: 8px;
  padding: 8px 10px;
  background: var(--card-bg, #fff);
}

.dcqr-match-event.is-error {
  border-color: rgba(220, 38, 38, 0.35);
  background: rgba(220, 38, 38, 0.04);
}

.dcqr-match-event.is-warn {
  border-color: rgba(217, 119, 6, 0.35);
  background: rgba(217, 119, 6, 0.04);
}

.dcqr-match-event-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
  color: var(--text-secondary, #64748b);
  margin-bottom: 4px;
}

.dcqr-match-event-message {
  font-size: 13px;
}

.dcqr-match-event-data {
  margin: 6px 0 0;
  padding: 8px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.04);
  font-size: 11px;
  overflow: auto;
  max-height: 140px;
}

.dcqr-match-event-empty,
.dcqr-match-detail-loading {
  color: var(--text-secondary, #64748b);
  font-size: 13px;
}

#dcqr-pushes-tab .rd-deals-head-row {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  width: 100%;
}

#dcqr-pushes-tab .rd-deals-title-block h2 {
  margin: 0 !important;
}

#dcqr-pushes-tab .rd-deals-head-controls {
  flex: 0 0 auto;
  margin-left: auto;
  min-width: min(100%, 520px);
}

#dcqr-pushes-tab .rd-deals-toolbar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

#dcqr-pushes-tab .rd-deals-filters {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end !important;
  gap: 10px !important;
  min-height: 40px;
  box-sizing: border-box;
}

#dcqr-pushes-tab .rd-deals-id-search {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  gap: 10px !important;
  flex: 1 1 220px;
  min-width: 0;
  align-self: flex-end;
}

#dcqr-pushes-tab .rd-deals-id-search .search-input-wrapper {
  flex: 1 1 auto;
  min-width: 160px;
  height: auto !important;
  align-self: flex-end !important;
}

#dcqr-pushes-tab .rd-deals-id-search .search-input-wrapper .search-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  box-sizing: border-box !important;
}

#dcqr-pushes-tab #dcqr-pushes-search-btn {
  height: 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 40px !important;
  align-self: flex-end !important;
  flex-shrink: 0 !important;
}

#dcqr-pushes-grid {
  gap: 5px !important;
}

#dcqr-pushes-grid > .empty-state h3 {
  font-weight: 300;
  color: var(--rd-ink-3, #64748b);
}

html[data-theme="dark"] #dcqr-pushes-grid > .empty-state h3,
body[data-theme="dark"] #dcqr-pushes-grid > .empty-state h3 {
  color: rgba(255, 255, 255, 0.45);
  font-weight: 300;
}

#dcqr-pushes-grid > .data-card {
  --rd-card-scale: 1;
  height: var(--rd-table-row-h, 75px) !important;
  min-height: var(--rd-table-row-h, 75px) !important;
  max-height: var(--rd-table-row-h, 75px) !important;
  overflow: hidden !important;
  padding: 9px 11px !important;
}

#dcqr-pushes-grid > .data-card .dcqr-push-main-row,
#dcqr-pushes-grid > .rd-table-head {
  display: grid !important;
  grid-template-columns:
    minmax(130px, 1.3fr)
    minmax(70px, 0.7fr)
    minmax(110px, 1fr)
    minmax(80px, 0.7fr)
    minmax(90px, 0.8fr)
    minmax(80px, 0.7fr)
    minmax(100px, 0.9fr)
    minmax(100px, 0.9fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 100% !important;
}

#dcqr-pushes-grid .dcqr-push-field {
  min-width: 0;
  text-align: center;
}

#dcqr-pushes-grid .dcqr-push-field .card-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px !important;
}

#dcqr-pushes-grid .dcqr-push-field--status .card-value {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
}

#dcqr-pushes-grid .dcqr-push-value--encrypted {
  color: var(--rd-warning, #d97706);
  font-style: italic;
}

#dcqr-pushes-grid > .data-card,
#dcqr-pushes-grid > div:not(.rd-table-head):not(.empty-state),
#dcqr-pushes-grid > .rd-table-head {
  box-shadow: none !important;
}

@media (max-width: 1400px) {
  #dcqr-pushes-grid > .data-card .dcqr-push-main-row,
  #dcqr-pushes-grid > .rd-table-head {
    min-width: 1200px;
    box-sizing: border-box;
  }
}

/* ---- Вкладка «Финансы» (CryptoCashier пополнение депозита) ---- */

.tab-content .content-header.rd-finance-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 28px !important;
}

.tab-content .content-header.rd-finance-header > * {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.rd-finance-kpi {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  width: 100%;
}

.rd-finance-dv-status {
  margin: 0;
  font-size: 13px;
  color: var(--rd-ink-2);
}

.rd-finance-dv-status:empty {
  display: none;
}

.rd-finance-dv-status.is-ok {
  color: var(--rd-success);
}

.rd-finance-dv-status.is-error {
  color: var(--rd-danger);
}

.rd-finance-form {
  width: 100%;
  padding: 18px 20px;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  border-radius: 16px;
  box-shadow: var(--rd-shadow-sm);
}

.rd-finance-form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 14px;
}

.rd-finance-deposit-wallet {
  margin: 0 0 16px;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--rd-cream-50);
  border: 1px solid var(--rd-cream-300);
  box-shadow: var(--rd-shadow-sm);
}

.rd-finance-deposit-wallet-title {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 600;
  color: var(--rd-ink);
}

.rd-finance-deposit-wallet-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.rd-finance-deposit-wallet-qr {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border-radius: 14px;
  background: var(--rd-cream-100);
  border: 1px solid var(--rd-cream-300);
  line-height: 0;
  overflow: visible;
}

.rd-finance-deposit-wallet-qr img {
  display: block;
  width: 140px;
  height: 140px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  background: #fff;
  border-radius: 4px;
}

.rd-finance-deposit-wallet-address-row {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
}

.rd-finance-wallet-address-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
}

.rd-finance-wallet-address-field {
  width: calc(34ch + 14px + 44px);
  min-width: calc(34ch + 14px + 44px);
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 44px 12px 14px;
  border: 1px solid var(--rd-cream-300);
  border-radius: 12px;
  background: var(--rd-cream-100);
  color: var(--rd-ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  line-height: 1.35;
  box-sizing: border-box;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  text-overflow: clip;
  scrollbar-width: thin;
}

.rd-finance-wallet-address-field:focus,
.rd-finance-wallet-address-field:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--rd-yellow) 55%, transparent);
  outline-offset: 2px;
}

.rd-finance-wallet-copy-btn {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  margin-block: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-inline: 0;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--rd-ink-3);
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
}

.rd-finance-wallet-copy-btn:active {
  transform: none;
}

.rd-finance-wallet-copy-btn.motion-copy-flash {
  animation: rd-finance-wallet-copy-flash var(--dur-md, 320ms) var(--ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1)) both;
}

@keyframes rd-finance-wallet-copy-flash {
  0% {
    box-shadow: none;
  }
  35% {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #3b82f6) 28%, transparent);
  }
  100% {
    box-shadow: none;
  }
}

.rd-finance-wallet-copy-btn:hover {
  color: var(--rd-ink);
  background: color-mix(in srgb, var(--rd-cream-300) 65%, transparent);
}

.rd-finance-wallet-copy-btn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--rd-yellow) 55%, transparent);
  outline-offset: 1px;
}

.rd-finance-wallet-copy-btn svg,
.rd-finance-wallet-copy-btn i {
  width: 16px;
  height: 16px;
}

.rd-finance-deposit-wallet-hint {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--rd-ink-3);
}

[data-theme="dark"] .rd-finance-deposit-wallet {
  background: var(--rd-cream-100);
  border-color: var(--rd-cream-300);
}

[data-theme="dark"] .rd-finance-deposit-wallet-qr,
[data-theme="dark"] .rd-finance-wallet-address-field {
  background: color-mix(in srgb, var(--rd-cream-200) 70%, transparent);
  color: #fff;
}

[data-theme="dark"] .rd-finance-wallet-address-field:focus,
[data-theme="dark"] .rd-finance-wallet-address-field:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.92);
  outline-offset: 2px;
  border-color: rgba(255, 255, 255, 0.42);
  box-shadow: none;
}

[data-theme="dark"] .rd-finance-wallet-copy-btn:focus,
[data-theme="dark"] .rd-finance-wallet-copy-btn:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.92);
  outline-offset: 1px;
}

[data-theme="dark"] .rd-finance-wallet-copy-btn {
  color: #fff;
}

[data-theme="dark"] .rd-finance-wallet-copy-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

[data-theme="dark"] .rd-finance-wallet-copy-btn svg,
[data-theme="dark"] .rd-finance-wallet-copy-btn svg path,
[data-theme="dark"] .rd-finance-wallet-copy-btn svg line,
[data-theme="dark"] .rd-finance-wallet-copy-btn svg rect,
[data-theme="dark"] .rd-finance-wallet-copy-btn svg circle,
[data-theme="dark"] .rd-finance-wallet-copy-btn svg polyline {
  color: #fff;
  stroke: #fff;
}

#finance-deposit-form .rd-finance-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 6px;
  align-items: stretch;
}

#finance-deposit-form .rd-finance-field--hash {
  display: contents;
}

#finance-deposit-form .rd-finance-field--hash .rd-finance-field-label {
  grid-column: 1 / -1;
  grid-row: 1;
}

#finance-deposit-form #finance-tx-hash-input {
  grid-column: 1;
  grid-row: 2;
  min-height: 48px;
  height: 48px;
  padding-block: 0;
  padding-inline: 16px;
  box-sizing: border-box;
}

#finance-deposit-form #finance-submit-btn {
  grid-column: 2;
  grid-row: 2;
  align-self: stretch;
  min-height: 48px;
  height: auto;
  margin: 0;
  white-space: nowrap;
  padding-inline: 20px;
}

.rd-finance-first-deposit-notice {
  margin: 0 0 20px;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--rd-yellow-bg);
  border: 1px solid color-mix(in srgb, var(--rd-yellow) 35%, transparent);
  color: var(--rd-ink);
}

.rd-finance-first-deposit-notice p {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

[data-theme="dark"] .rd-finance-first-deposit-notice {
  background: color-mix(in srgb, var(--rd-yellow) 18%, var(--rd-cream-100));
  border-color: color-mix(in srgb, var(--rd-yellow) 40%, transparent);
  color: var(--rd-ink);
}

.rd-finance-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 160px;
  flex: 1 1 160px;
}

.rd-finance-field-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--rd-ink-3);
  letter-spacing: 0.02em;
}

.rd-finance-field .custom-select-wrapper {
  width: 100%;
}

.rd-finance-field .custom-select-button {
  width: 100%;
  min-height: 44px;
  text-align: left;
}

#finance-amount-input {
  -moz-appearance: textfield;
  appearance: textfield;
}

#finance-amount-input::-webkit-outer-spin-button,
#finance-amount-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.rd-finance-form--locked #finance-amount-input:disabled,
.rd-finance-form--locked #finance-submit-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

[data-theme="dark"] #finance-tab #finance-submit-btn {
  background: linear-gradient(135deg, #67D4FA 0%, #5B9AFF 42%, #3B82F6 100%) !important;
  color: #FFFFFF !important;
  border-color: #3B82F6 !important;
  box-shadow:
    0 2px 10px rgba(59, 130, 246, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

[data-theme="dark"] #finance-tab #finance-submit-btn:hover:not(:disabled):not([disabled]) {
  background: linear-gradient(135deg, #7ADCFB 0%, #6BA8FF 42%, #4F8FF7 100%) !important;
  border-color: #4F8FF7 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow:
    0 4px 14px rgba(59, 130, 246, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
}

[data-theme="dark"] #finance-tab #finance-submit-btn:disabled,
[data-theme="dark"] #finance-tab #finance-submit-btn[disabled] {
  background: linear-gradient(135deg, rgba(103, 212, 250, 0.45) 0%, rgba(59, 130, 246, 0.45) 100%) !important;
  color: rgba(255, 255, 255, 0.65) !important;
  border-color: rgba(59, 130, 246, 0.35) !important;
  box-shadow: none !important;
}

.rd-finance-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  align-items: start;
  transition:
    grid-template-columns 0.58s cubic-bezier(0.22, 1, 0.36, 1),
    gap 0.58s cubic-bezier(0.22, 1, 0.36, 1);
}

.rd-finance-split:not(.rd-finance-split--payment-active) > .rd-finance-history {
  grid-column: 1 / -1;
  width: 100%;
}

.rd-finance-split--payment-active {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 20px;
}

.rd-finance-payment-slot {
  min-width: 0;
  overflow: hidden;
}

.rd-finance-payment-wrap {
  width: 100%;
  min-width: 0;
  opacity: 0;
  transform: translate3d(-14px, 6px, 0) scale(0.985);
  filter: blur(4px);
  pointer-events: none;
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.45s ease;
  will-change: opacity, transform, filter;
}

.rd-finance-payment-wrap.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  pointer-events: auto;
}

.rd-finance-payment-wrap[hidden] {
  display: block;
  height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.rd-finance-history {
  width: 100%;
  min-width: 0;
  transition:
    transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.45s ease;
}

.rd-finance-history--full {
  margin-top: 16px;
  width: 100%;
  min-width: 0;
}

.rd-finance-field--hash {
  flex: 1 1 420px;
  min-width: 0;
}

.rd-finance-hash-input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  letter-spacing: 0.01em;
}

.rd-finance-split--payment-active .rd-finance-history {
  transform: translate3d(0, 0, 0);
}

.rd-finance-payment-card {
  padding: 16px 18px;
  background: var(--rd-white);
  border: 1px solid var(--rd-cream-300);
  border-radius: 16px;
  box-shadow: var(--rd-shadow-sm);
  transition: box-shadow 0.45s ease;
}

.rd-finance-split--payment-active .rd-finance-payment-card {
  box-shadow: var(--rd-shadow-md, 0 12px 32px rgba(15, 23, 42, 0.12));
}

.rd-finance-payment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.rd-finance-payment-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.rd-finance-payment-head-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.rd-finance-payment-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--rd-ink-3);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s ease, color 0.15s ease;
}

.rd-finance-payment-cancel:hover,
.rd-finance-payment-cancel:focus {
  background: var(--rd-cream-200);
  color: var(--rd-ink);
}

.rd-finance-payment-cancel:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.rd-finance-payment-cancel svg {
  width: 18px;
  height: 18px;
}

.rd-finance-ttl {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink-2);
}

.rd-finance-ttl svg {
  width: 15px;
  height: 15px;
}

.rd-finance-ttl.is-expired,
#finance-payment-ttl.is-expired {
  color: #c2410c;
}

.rd-finance-payment-head h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--rd-ink);
  line-height: 1.3;
}

.rd-finance-payment-amount {
  margin: 0 0 6px;
  font-size: 14px;
  color: var(--rd-ink-2);
}

.rd-finance-payment-txid {
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--rd-ink-3);
}

.rd-finance-txid-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink);
  cursor: pointer;
}

.rd-finance-txid-value:hover {
  color: var(--rd-accent);
}

.rd-finance-txid-cell {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  color: var(--rd-ink-2);
  white-space: nowrap;
}

.rd-finance-txid-pill {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  font-weight: 600;
  color: var(--rd-ink-2);
  background: var(--rd-cream-200);
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
  cursor: pointer;
  transition: opacity 0.2s ease;
  user-select: none;
  white-space: nowrap;
}

.rd-finance-txid-pill:hover {
  opacity: 0.8;
}

.rd-finance-txid-pill:focus-visible {
  outline: 2px solid var(--rd-accent);
  outline-offset: 2px;
}

[data-theme="dark"] .rd-finance-txid-pill {
  background: var(--rd-cream-300);
  color: var(--rd-ink);
}

.rd-finance-payment-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: stretch;
  margin-bottom: 12px;
}

.rd-finance-payment-details {
  min-width: 0;
}

.rd-finance-address-field {
  margin: 0;
}

.rd-finance-address-input {
  width: 100%;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  cursor: pointer;
}

.rd-finance-payment-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: center;
  gap: 8px;
  padding: 10px;
  border-radius: 14px;
  background: var(--rd-cream-100);
  border: 1px solid var(--rd-cream-300);
}

.rd-finance-payment-qr img {
  display: block;
  width: 128px;
  height: 128px;
  border-radius: 10px;
  background: #fff;
}

.rd-finance-qr-caption {
  font-size: 11px;
  color: var(--rd-ink-3);
  text-align: center;
}

@media (max-width: 960px) {
  .rd-finance-split--payment-active {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

.rd-finance-payment-hint {
  margin: 0;
  font-size: 12px;
  color: var(--rd-ink-3);
}


.rd-finance-history h3 {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
  color: var(--rd-ink);
  white-space: nowrap;
  line-height: 1.3;
}

.rd-finance-table-wrap {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid var(--rd-cream-300);
  background: var(--rd-white);
  box-shadow: var(--rd-shadow-sm);
  transition:
    box-shadow 0.45s ease,
    border-color 0.45s ease;
}

.rd-finance-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 13px;
  table-layout: auto;
}

.rd-finance-table th,
.rd-finance-table td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--rd-cream-200);
}

.rd-finance-table th {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rd-ink-3);
  background: var(--rd-cream-50);
}

.rd-finance-empty {
  text-align: center;
  color: var(--rd-ink-3);
  padding: 24px !important;
}

.rd-finance-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: var(--rd-cream-200);
  color: var(--rd-ink-2);
}

.rd-finance-status--pending,
.rd-finance-status--processing {
  background: rgba(255, 152, 0, 0.14);
  color: #c2410c;
}

.rd-finance-status--confirmed {
  background: rgba(22, 163, 74, 0.14);
  color: #15803d;
}

.rd-finance-status--failed {
  background: rgba(239, 68, 68, 0.14);
  color: #dc2626;
}

.rd-finance-status--cancelled {
  background: var(--rd-cream-200);
  color: var(--rd-ink-3);
}

.rd-finance-status--neutral {
  background: var(--rd-cream-200);
  color: var(--rd-ink-3);
}

.rd-finance-status--moderation {
  background: rgba(255, 152, 0, 0.14);
  color: #c2410c;
}

.rd-finance-status--repl-confirmed {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
}

.rd-finance-status--repl-processed {
  background: rgba(22, 163, 74, 0.14);
  color: #15803d;
}

.rd-finance-status--repl-unprocessed {
  background: rgba(239, 68, 68, 0.14);
  color: #dc2626;
}

.rd-finance-status--external {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
}

#finance-tab.rd-finance-motion-off .rd-finance-split,
#finance-tab.rd-finance-motion-off .rd-finance-payment-wrap,
#finance-tab.rd-finance-motion-off .rd-finance-history,
#finance-tab.rd-finance-motion-off .rd-finance-header > * {
  transition: none !important;
  animation: none !important;
}

#finance-tab.rd-finance-loading .rd-finance-split {
  opacity: 0.5;
  pointer-events: none;
}

#finance-tab.rd-finance-loading .rd-finance-kpi,
#finance-tab.rd-finance-loading .rd-finance-form {
  opacity: 0.85;
}

[data-theme="dark"] .rd-finance-form,
[data-theme="dark"] .rd-finance-payment-card,
[data-theme="dark"] .rd-finance-table-wrap {
  background: rgba(18, 24, 38, 0.88);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .rd-finance-table th {
  background: rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .rd-finance-address-value {
  background: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .rd-finance-ttl,
[data-theme="dark"] .rd-finance-ttl #finance-payment-ttl {
  color: #fff;
}

[data-theme="dark"] .rd-finance-ttl svg,
[data-theme="dark"] .rd-finance-ttl svg path,
[data-theme="dark"] .rd-finance-ttl svg circle,
[data-theme="dark"] .rd-finance-ttl svg line,
[data-theme="dark"] .rd-finance-ttl svg polyline {
  color: #fff;
  stroke: #fff;
}

[data-theme="dark"] .rd-finance-status--pending,
[data-theme="dark"] .rd-finance-status--processing {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .rd-finance-payment-cancel {
  color: #fff;
}

[data-theme="dark"] .rd-finance-payment-cancel svg,
[data-theme="dark"] .rd-finance-payment-cancel svg path,
[data-theme="dark"] .rd-finance-payment-cancel svg line {
  color: #fff;
  stroke: #fff;
}

[data-theme="dark"] .rd-finance-payment-cancel:hover,
[data-theme="dark"] .rd-finance-payment-cancel:focus {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .rd-finance-split,
  .rd-finance-payment-wrap,
  .rd-finance-history,
  .rd-finance-table-wrap,
  .rd-finance-payment-card,
  #finance-tab .rd-finance-header > * {
    transition: none !important;
    animation: none !important;
  }

}

@media (max-width: 720px) {
  .rd-finance-kpi {
    grid-template-columns: minmax(0, 1fr);
  }

  .rd-finance-wallet-address-wrap {
    max-width: 100%;
  }

  .rd-finance-wallet-address-field {
    width: min(calc(34ch + 14px + 44px), 100%);
    min-width: 0;
    overflow-x: auto;
  }

  .rd-finance-form-row {
    flex-direction: column;
    align-items: stretch;
  }

  #finance-deposit-form .rd-finance-form-row {
    grid-template-columns: minmax(0, 1fr);
  }

  #finance-deposit-form #finance-submit-btn {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
  }
}
