/*
Theme Name:   DFARUB
Theme URI: https://dfarub.ru
Description:  Тема для агрегатора ЦФА DFARUB
Author:       DFARUB
Version:      1.3.1
Text Domain:  dfarub
*/

/* ── Полный сброс родительских стилей Twenty Twenty-Four ── */
html, body {
  background: #0a0e14 !important;
  color: #e0e6ed !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .wp-site-blocks,
body .wp-block-template-part,
body .entry-content,
body .wp-block-post-content,
body main,
body .site-main,
body .content-area,
body article {
  background: #0a0e14 !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #e0e6ed !important;
}

body .wp-block-group,
body .wp-block-cover,
body .wp-block-columns,
body .wp-block-column {
  background: transparent !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Убираем все отступы и фоны родительской темы */
body header.wp-block-template-part,
body footer.wp-block-template-part {
  display: none !important;
}

/* ── Переменные (cfarub.ru design system) ── */
:root {
  --bg-primary: #0a0a1a;
  --bg-secondary: #111128;
  --bg-card: rgba(255, 255, 255, 0.04);
  --border-glass: rgba(255, 255, 255, 0.08);
  --text-primary: #f0f0f5;
  --text-secondary: #a0a0c0;
  --text-muted: #6b6b8d;
  --accent-blue: #4d7cfe;
  --accent-purple: #9b5cff;
  --accent-cyan: #00d4ff;
  --accent-pink: #ff4d8d;
  --accent-green: #00e39a;
  --accent-gold: #ffd700;
  --success: #00e39a;
  --danger: #ff4d8d;
  --gradient-main: linear-gradient(135deg, #4d7cfe 0%, #9b5cff 50%, #ff4d8d 100%);
  --gradient-blue-purple: linear-gradient(135deg, #4d7cfe, #9b5cff);
  --gradient-cyan-purple: linear-gradient(135deg, #00d4ff, #9b5cff);
  --gradient-gold: linear-gradient(135deg, #ffd700, #ff9d00);
  --glow-blue: 0 0 30px rgba(77, 124, 254, 0.5);
  --glow-purple: 0 0 30px rgba(155, 92, 255, 0.5);
  --glow-cyan: 0 0 30px rgba(0, 212, 255, 0.5);
  --shadow-card: 0 20px 40px rgba(0, 0, 0, 0.4);
  --font-heading: 'Unbounded', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --radius: 24px;
  --radius-lg: 28px;
  /* compat aliases for page templates still using old vars */
  --dfa-dark: var(--bg-primary);
  --dfa-dark-2: var(--bg-secondary);
  --dfa-dark-3: rgba(255,255,255,0.06);
  --dfa-accent: var(--accent-cyan);
  --dfa-accent-dark: rgba(0, 180, 180, 1);
  --dfa-success: var(--success);
  --dfa-warning: var(--accent-gold);
  --dfa-danger: var(--danger);
  --dfa-text: var(--text-primary);
  --dfa-text-secondary: var(--text-secondary);
  --dfa-text-muted: var(--text-muted);
  --dfa-border: var(--border-glass);
}

/* ── Базовые стили ── */
* {
  box-sizing: border-box;
}

body {
  font-family: var(--font-body) !important;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--accent-cyan);
  text-decoration: none;
  transition: var(--transition);
}

a:hover {
  color: var(--accent-blue);
}

/* ── НАВИГАЦИОННЫЙ БАР ── */
.dfa-skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 10000;
  padding: 12px 24px;
  background: var(--gradient-main);
  color: #fff;
  border-radius: 0 0 12px 12px;
  font-weight: 600;
  text-decoration: none;
  transition: top 0.2s;
}
.dfa-skip-link:focus {
  top: 0;
}

.dfa-navbar {
  background: transparent;
  border-bottom: 1px solid transparent;
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0 32px;
  width: 100%;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.dfa-navbar.scrolled {
  background: rgba(10, 10, 26, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom-color: var(--border-glass);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

.dfa-navbar-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 72px;
  gap: 24px;
}

/* ── Logo с glow ── */
.dfa-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: var(--text-primary) !important;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 1px;
  position: relative;
  flex-shrink: 0;
}

.dfa-logo:hover {
  color: var(--text-primary) !important;
}

.dfa-logo-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gradient-main);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  animation: logoPulse 3s ease-in-out infinite;
  flex-shrink: 0;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

@keyframes logoPulse {
  0%, 100% { box-shadow: 0 0 15px rgba(77, 124, 254, 0.4); }
  50% { box-shadow: 0 0 25px rgba(155, 92, 255, 0.6); }
}

/* ── Навигационные ссылки ── */
.dfa-nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
}

.dfa-nav-link {
  color: var(--text-secondary) !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 500;
  transition: var(--transition);
  padding: 8px 0;
  position: relative;
  letter-spacing: 0.3px;
}

.dfa-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gradient-main);
  border-radius: 2px;
  transition: width 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.dfa-nav-link:hover,
.dfa-nav-link.active {
  color: var(--text-primary) !important;
}

.dfa-nav-link:hover::after,
.dfa-nav-link.active::after {
  width: 100%;
}

/* ── CTA кнопка ── */
.dfa-nav-btn {
  background: var(--gradient-main) !important;
  color: #fff !important;
  padding: 10px 26px;
  border-radius: 50px;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 14px;
  transition: var(--transition);
  display: inline-block;
  box-shadow: 0 8px 24px rgba(155, 92, 255, 0.5);
  border: none;
  flex-shrink: 0;
}

.dfa-nav-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(77, 124, 254, 0.6);
  color: #fff !important;
}

/* ── Hamburger → X анимация ── */
.dfa-mobile-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  z-index: 1001;
  position: relative;
}

.dfa-mobile-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text-primary);
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-origin: center;
}

.dfa-mobile-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.dfa-mobile-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.dfa-mobile-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ── User menu ── */
.dfa-user-menu {
  position: relative;
}

.dfa-user-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-glass);
  border-radius: 50px;
  padding: 6px 16px 6px 6px;
  cursor: pointer;
  transition: var(--transition);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
}

.dfa-user-btn:hover {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
}

.dfa-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--accent-purple);
}

.dfa-user-name {
  color: var(--text-primary);
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dfa-user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: rgba(17, 17, 40, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border-glass);
  border-radius: 16px;
  padding: 8px;
  min-width: 180px;
  box-shadow: var(--shadow-card);
  display: none;
  z-index: 1001;
}

.dfa-user-dropdown.open {
  display: block;
  animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.dfa-user-dropdown a,
.dfa-user-dropdown button {
  display: block;
  width: 100%;
  padding: 10px 16px;
  text-align: left;
  color: var(--text-secondary);
  text-decoration: none;
  border: none;
  background: none;
  border-radius: 10px;
  font-size: 14px;
  font-family: var(--font-body);
  cursor: pointer;
  transition: var(--transition);
}

.dfa-user-dropdown a:hover,
.dfa-user-dropdown button:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
}

.dfa-login-btn {
  background: var(--gradient-main) !important;
  color: #fff !important;
  padding: 8px 20px !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(155, 92, 255, 0.4);
  flex-shrink: 0;
}

.dfa-login-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(77, 124, 254, 0.5);
}

/* ── ГЛАВНАЯ СТРАНИЦА ── */
#dfa-dashboard {
  font-family: var(--font-body);
  background: var(--bg-primary);
  min-height: 100vh;
  width: 100%;
}

.dfa-hero-wrap {
  text-align: center;
  padding: 100px 24px 60px;
  background: radial-gradient(circle at 50% 0%, rgba(77, 124, 254, 0.15) 0%, var(--bg-primary) 70%);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.dfa-hero-inner {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.dfa-hero-badge {
  background: rgba(77, 124, 254, 0.15);
  color: #7ba0ff;
  padding: 8px 20px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  display: inline-block;
  margin-bottom: 24px;
  border: 1px solid rgba(77, 124, 254, 0.3);
  backdrop-filter: blur(10px);
  text-transform: uppercase;
}

.dfa-hero-title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  color: var(--text-primary) !important;
  margin: 20px 0 16px;
  line-height: 1.15;
  letter-spacing: -1px;
}

.dfa-hero-subtitle {
  font-size: 1.15rem;
  color: var(--text-secondary) !important;
  margin-bottom: 40px;
  line-height: 1.7;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

.dfa-search-box {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-glass);
  border-radius: 50px;
  display: flex;
  align-items: center;
  padding: 8px 8px 8px 20px;
  gap: 12px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  max-width: 560px;
  margin: 0 auto 40px;
  transition: var(--transition);
}

.dfa-search-box:focus-within {
  border-color: rgba(155, 92, 255, 0.4);
  box-shadow: 0 0 20px rgba(155, 92, 255, 0.15);
}

.dfa-search-box svg {
  flex-shrink: 0;
}

.dfa-search-box input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: var(--text-primary);
  font-size: 15px;
  font-family: var(--font-body);
}

.dfa-search-box input::placeholder {
  color: var(--text-muted);
}

.dfa-search-box button {
  background: var(--gradient-main);
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 12px 24px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
  font-family: var(--font-body);
}

.dfa-search-box button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(155, 92, 255, 0.4);
}

.search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: rgba(17, 17, 40, 0.95);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-glass);
  border-radius: 16px;
  margin-top: 8px;
  padding: 8px;
  list-style: none;
  z-index: 100;
  max-height: 300px;
  overflow-y: auto;
}

.search-results li a {
  display: block;
  padding: 10px 16px;
  color: var(--text-secondary);
  border-radius: 10px;
  transition: var(--transition);
}

.search-results li a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
}

.dfa-hero-wrap {
  text-align: center;
  padding: 80px 20px 60px;
  background: radial-gradient(circle at 50% 0%, #1a2a3a 0%, var(--dfa-dark) 70%);
  width: 100%;
}

.dfa-hero-inner {
  max-width: 800px;
  margin: 0 auto;
}

.dfa-hero-badge {
  background: rgba(0, 240, 240, 0.1);
  color: var(--dfa-accent);
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  display: inline-block;
  margin-bottom: 24px;
  border: 1px solid rgba(0, 240, 240, 0.2);
}

.dfa-hero-title {
  font-size: 56px;
  font-weight: 800;
  color: var(--dfa-text) !important;
  margin: 20px 0 16px;
  line-height: 1.2;
}

.dfa-hero-subtitle {
  font-size: 18px;
  color: var(--dfa-text-secondary) !important;
  margin-bottom: 40px;
  line-height: 1.6;
}

.dfa-search-box {
  background: var(--dfa-dark-2);
  border: 1px solid var(--dfa-border);
  border-radius: 16px;
  padding: 8px 8px 8px 24px;
  display: flex;
  align-items: center;
  max-width: 500px;
  margin: 0 auto 30px;
  transition: border-color 0.3s;
}

.dfa-search-box:focus-within {
  border-color: var(--dfa-accent);
}

.dfa-search-box input {
  background: transparent;
  border: none;
  color: var(--dfa-text) !important;
  padding: 12px;
  font-size: 16px;
  width: 100%;
  outline: none;
  font-family: inherit;
}

.dfa-search-box input::placeholder {
  color: var(--dfa-text-secondary);
}

.dfa-search-box button {
  background: var(--dfa-accent);
  color: #000 !important;
  border: none;
  padding: 12px 24px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.3s;
  white-space: nowrap;
  font-size: 15px;
  font-family: inherit;
}

.dfa-search-box button:hover {
  background: var(--dfa-accent-dark);
}

.dfa-ticker-wrap {
  overflow: hidden;
  white-space: nowrap;
  color: var(--dfa-text-secondary) !important;
  font-size: 14px;
  border-top: 1px solid var(--dfa-border);
  padding-top: 20px;
  max-width: 600px;
  margin: 0 auto;
}

.dfa-ticker {
  display: inline-block;
  color: var(--text-secondary) !important;
  animation: ticker-scroll 45s linear infinite;
}
.dfa-ticker:hover { animation-play-state: paused; }
@keyframes ticker-scroll {
  0%   { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* Метрики */
.metrics-grid {
  max-width: 1100px;
  margin: -20px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

.metric-card {
  background: var(--dfa-dark-2) !important;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 16px;
  padding: 24px;
  transition: border-color 0.3s;
}

.metric-card:hover {
  border-color: var(--dfa-accent) !important;
}

.metric-card .metric-label {
  color: var(--dfa-text-secondary) !important;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

.metric-card .metric-value {
  font-size: 32px;
  font-weight: 800;
  color: var(--dfa-text) !important;
  margin: 8px 0;
}

.metric-card .metric-change {
  font-size: 13px;
  font-weight: 500;
}

.metric-change.positive {
  color: var(--dfa-success) !important;
}

.metric-change.negative {
  color: var(--dfa-danger) !important;
}

/* График */
.chart-grid {
  max-width: 1100px;
  margin: 40px auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  padding: 0 20px;
}

.chart-card, .top-card {
  background: var(--dfa-dark-2) !important;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 16px;
  padding: 24px;
}

.chart-card h3, .top-card h3 {
  color: var(--dfa-text) !important;
  margin: 0 0 24px;
  font-weight: 600;
  font-size: 18px;
}

.bar-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid var(--dfa-border);
}
.bar-row:last-child { border-bottom: none; }
.bar-label {
  flex: 0 0 160px;
  font-size: 13px;
  color: var(--dfa-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bar-track {
  flex: 1;
  height: 8px;
  background: var(--dfa-surface);
  border-radius: 4px;
  overflow: hidden;
}
.bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--dfa-accent) 0%, #00b0b0 100%);
  border-radius: 4px;
  transition: width 0.6s ease;
}
.bar-val {
  flex: 0 0 36px;
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  color: var(--dfa-accent);
}

.top-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.top-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--dfa-text) !important;
  padding: 4px 0;
}

.top-item .value {
  color: var(--dfa-success) !important;
  font-weight: 600;
  font-size: 15px;
}

/* PRO и новости */
.pro-section {
  max-width: 1100px;
  margin: 0 auto 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 0 20px;
}

.pro-card {
  background: linear-gradient(135deg, #1a2a3a 0%, var(--dfa-dark) 100%) !important;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 16px;
  padding: 32px;
}

.pro-card h3 {
  color: var(--dfa-text) !important;
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 700;
}

.pro-card p {
  color: var(--dfa-text-secondary) !important;
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.6;
}

.pro-price {
  color: var(--dfa-accent) !important;
  font-size: 38px;
  font-weight: 800;
}

.btn-pro {
  background: var(--dfa-accent) !important;
  color: #000 !important;
  border: none;
  padding: 14px 32px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s;
  margin-top: 24px;
  display: inline-block;
  font-size: 16px;
  text-decoration: none !important;
}

.btn-pro:hover {
  background: var(--dfa-accent-dark) !important;
  transform: translateY(-2px);
}

.news-card {
  background: var(--dfa-dark-2) !important;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 16px;
  padding: 24px;
}

.news-card h3 {
  color: var(--dfa-text) !important;
  margin: 0 0 20px;
  font-weight: 600;
  font-size: 18px;
}

.news-item {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--dfa-border);
}

.news-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.news-item .date {
  color: var(--dfa-text-muted) !important;
  font-size: 12px;
  font-weight: 500;
}

.news-item .title {
  color: var(--dfa-text) !important;
  font-size: 15px;
  margin-top: 4px;
  line-height: 1.4;
}

/* Футер */
.dfa-dashboard-footer {
  border-top: 1px solid var(--dfa-border);
  padding: 30px 20px;
  text-align: center;
  color: var(--dfa-text-secondary) !important;
  font-size: 13px;
  max-width: 1100px;
  margin: 0 auto;
}

.footer-links {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.footer-links a {
  color: var(--dfa-text-secondary) !important;
  text-decoration: none !important;
  font-size: 14px;
  transition: color 0.2s;
}

.footer-links a:hover {
  color: var(--dfa-accent) !important;
}

/* ── СТРАНИЦА СРАВНЕНИЯ ── */
.dfa-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--dfa-dark);
}

.dfa-hero {
  margin-bottom: 32px;
}

.dfa-hero h1 {
  font-size: 32px;
  font-weight: 800;
  margin: 0 0 12px;
  color: var(--dfa-text) !important;
  letter-spacing: -0.5px;
}

.dfa-hero p {
  color: var(--dfa-text-secondary) !important;
  margin: 0;
  font-size: 16px;
}

/* Фильтры */
.dfa-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
  align-items: center;
}

.dfa-filters .label {
  font-size: 14px;
  color: var(--dfa-text-secondary) !important;
  margin-right: 8px;
  font-weight: 500;
}

.chip {
  font-size: 14px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid var(--dfa-border) !important;
  background: var(--dfa-dark-2) !important;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--dfa-text) !important;
  font-weight: 500;
  font-family: inherit;
}

.chip:hover {
  background: var(--dfa-dark-3) !important;
  border-color: var(--dfa-accent) !important;
}

.chip.active {
  background: var(--dfa-accent) !important;
  color: #000 !important;
  border-color: var(--dfa-accent) !important;
  font-weight: 700;
}

/* Счётчик */
.dfa-count {
  font-size: 14px;
  color: var(--dfa-text-secondary) !important;
  margin-bottom: 16px;
  font-weight: 500;
}

/* Таблица */
.dfa-table-wrap {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--dfa-border);
}

table.dfa {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 700px;
  background: var(--dfa-dark-2);
}

table.dfa thead th {
  text-align: left;
  padding: 16px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--dfa-text-secondary) !important;
  border-bottom: 2px solid var(--dfa-border) !important;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  background: var(--dfa-dark-3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

table.dfa thead th:hover {
  color: var(--dfa-text) !important;
}

table.dfa thead th.sorted {
  color: var(--dfa-accent) !important;
}

table.dfa tbody tr {
  border-bottom: 1px solid var(--dfa-border) !important;
  transition: background 0.15s;
}

table.dfa tbody tr:last-child {
  border-bottom: none;
}

table.dfa tbody tr:hover {
  background: var(--dfa-dark-3) !important;
}

table.dfa tbody td {
  padding: 16px;
  vertical-align: middle;
  color: var(--dfa-text) !important;
}

.cell-name .name {
  font-weight: 600;
  font-size: 15px;
  color: var(--dfa-text) !important;
}

.cell-name .name a {
  color: var(--dfa-text) !important;
  text-decoration: none !important;
}

.cell-name .name a:hover {
  color: var(--dfa-accent) !important;
}

.cell-name .sub {
  font-size: 13px;
  color: var(--dfa-text-muted) !important;
  margin-top: 2px;
}

.verified-badge {
  display: inline-block;
  width: 16px;
  height: 16px;
  background: #2563eb;
  border-radius: 50%;
  color: #fff !important;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  line-height: 16px;
  margin-left: 6px;
  vertical-align: middle;
}

.tag {
  display: inline-block;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 4px;
  background: var(--dfa-dark-3) !important;
  color: var(--dfa-text-secondary) !important;
  margin: 2px 2px 0 0;
  border: 1px solid var(--dfa-border) !important;
  font-weight: 500;
}

.stars {
  color: #f59e0b !important;
  letter-spacing: -1px;
  font-size: 16px;
}

.stars-count {
  font-size: 13px;
  color: var(--dfa-text-secondary) !important;
  margin-left: 4px;
}

.no-reviews {
  font-size: 13px;
  color: var(--dfa-text-muted) !important;
}

.status-badge {
  font-size: 13px;
  padding: 4px 12px;
  border-radius: 999px;
  font-weight: 600;
}

.status-active {
  background: #0a362a !important;
  color: var(--dfa-success) !important;
}

.status-beta {
  background: #3e2d00 !important;
  color: var(--dfa-warning) !important;
}

.status-suspended {
  background: #400f0f !important;
  color: var(--dfa-danger) !important;
}

.btn-open {
  display: inline-block;
  font-size: 14px;
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--dfa-accent) !important;
  color: #000 !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: all 0.2s;
  font-weight: 600;
}

.btn-open:hover {
  background: var(--dfa-accent-dark) !important;
  transform: translateY(-1px);
}

.dfa-empty {
  text-align: center;
  padding: 40px;
  color: var(--dfa-text-secondary) !important;
  font-size: 16px;
  background: var(--dfa-dark-2);
}

/* Экспорт-бар */
.dfa-export-bar {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--dfa-border);
  display: flex;
  align-items: center;
  gap: 16px;
}

.btn-export {
  padding: 10px 20px;
  background: #059669 !important;
  color: #fff !important;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s;
  font-family: inherit;
}

.btn-export:hover {
  background: #047857 !important;
}

.export-note {
  font-size: 13px;
  color: var(--dfa-text-secondary) !important;
}

/* PRO-баннер */
.dfa-pro-banner {
  margin-top: 32px;
  background: linear-gradient(135deg, #1a2a3a 0%, var(--dfa-dark) 100%) !important;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 12px;
  padding: 24px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.dfa-pro-banner .pro-title {
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 8px;
  color: var(--dfa-text) !important;
}

.dfa-pro-banner .pro-features {
  font-size: 14px;
  color: var(--dfa-text-secondary) !important;
  line-height: 1.8;
}

.dfa-pro-btn {
  display: inline-block;
  padding: 12px 24px;
  background: var(--dfa-accent) !important;
  color: #000 !important;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 15px;
  white-space: nowrap;
  transition: all 0.3s;
}

.dfa-pro-btn:hover {
  background: var(--dfa-accent-dark) !important;
  transform: translateY(-2px);
}

/* ── СТРАНИЦА ПЛАТФОРМЫ ── */
.sp-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--dfa-dark);
}

.sp-breadcrumb {
  font-size: 14px;
  color: var(--dfa-text-secondary) !important;
  margin-bottom: 24px;
}

.sp-breadcrumb a {
  color: var(--dfa-text-secondary) !important;
  text-decoration: none !important;
}

.sp-breadcrumb a:hover {
  color: var(--dfa-accent) !important;
}

.sp-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.sp-hero-left h1 {
  font-size: 32px;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--dfa-text) !important;
}

.sp-hero-left .sp-sub {
  color: var(--dfa-text-secondary) !important;
  font-size: 15px;
}

.sp-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--dfa-accent) !important;
  background: rgba(0, 240, 240, 0.1);
  padding: 4px 12px;
  border-radius: 999px;
  margin-left: 8px;
  border: 1px solid rgba(0, 240, 240, 0.2);
}

.sp-status-badge {
  font-size: 13px;
  padding: 4px 12px;
  border-radius: 999px;
  font-weight: 600;
}

.sp-btn-open {
  display: inline-block;
  padding: 12px 24px;
  background: var(--dfa-accent) !important;
  color: #000 !important;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 16px;
  transition: all 0.3s;
  white-space: nowrap;
}

.sp-btn-open:hover {
  background: var(--dfa-accent-dark) !important;
}

.sp-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}

.sp-card {
  background: var(--dfa-dark-2) !important;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 12px;
  padding: 20px;
}

.sp-card .card-label {
  font-size: 13px;
  color: var(--dfa-text-secondary) !important;
  margin-bottom: 8px;
  font-weight: 500;
}

.sp-card .card-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--dfa-text) !important;
}

.sp-card .card-note {
  font-size: 12px;
  color: var(--dfa-text-muted) !important;
  margin-top: 4px;
}

.sp-types {
  margin-bottom: 32px;
}

.sp-types h3 {
  font-size: 15px;
  color: var(--dfa-text-secondary) !important;
  margin: 0 0 12px;
  font-weight: 500;
}

.sp-types .tag {
  display: inline-block;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 6px;
  background: var(--dfa-dark-2) !important;
  color: var(--dfa-text) !important;
  border: 1px solid var(--dfa-border) !important;
  margin: 4px 4px 0 0;
}

.sp-registry {
  background: rgba(0, 240, 240, 0.05) !important;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 32px;
  font-size: 14px;
  color: var(--dfa-accent) !important;
}

.sp-registry strong {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
  color: var(--dfa-text) !important;
}

.sp-description {
  margin-bottom: 32px;
  line-height: 1.8;
  color: var(--dfa-text) !important;
  font-size: 16px;
}

.sp-stars {
  color: #f59e0b !important;
  font-size: 20px;
  letter-spacing: -1px;
}

.sp-reviews {
  margin-bottom: 32px;
}

.sp-reviews h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--dfa-text) !important;
}

.review-card {
  border: 1px solid var(--dfa-border) !important;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 12px;
  background: var(--dfa-dark-2) !important;
}

.review-card .rev-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.review-card .rev-name {
  font-weight: 600;
  font-size: 15px;
  color: var(--dfa-text) !important;
}

.review-card .rev-date {
  font-size: 13px;
  color: var(--dfa-text-secondary) !important;
}

.review-card .rev-text {
  font-size: 15px;
  color: var(--dfa-text) !important;
  line-height: 1.6;
}

.rev-stars {
  color: #f59e0b !important;
  letter-spacing: -1px;
}

.no-reviews-msg {
  color: var(--dfa-text-secondary) !important;
  font-size: 15px;
  padding: 20px 0;
}

.sp-review-form {
  margin-bottom: 32px;
}

.sp-review-form h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--dfa-text) !important;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--dfa-text) !important;
  margin-bottom: 8px;
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--dfa-border) !important;
  border-radius: 8px;
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.15s;
  background: var(--dfa-dark-2) !important;
  color: var(--dfa-text) !important;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--dfa-accent) !important;
}

.form-group textarea {
  resize: vertical;
  min-height: 100px;
}

.star-picker {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.star-picker span {
  font-size: 24px;
  cursor: pointer;
  color: #4a5a6a;
  transition: color 0.1s;
  line-height: 1;
}

.star-picker span.active {
  color: #f59e0b !important;
}

.star-picker label:hover,
.star-picker label:hover ~ label,
.star-picker input[type="radio"]:checked + label,
.star-picker input[type="radio"]:checked + label ~ label {
    color: #f59e0b !important; /* Цвет при наведении или выборе */
}

/* Сбрасываем hover для следующих после выбранной */
.star-picker input[type="radio"]:checked ~ label:hover,
.star-picker input[type="radio"]:checked ~ label:hover ~ label {
    color: #4a5a6a; /* Или оставьте #f59e0b, если хотите, чтобы оставались выделенными */
}

.btn-submit {
  padding: 12px 24px;
  background: var(--dfa-accent) !important;
  color: #000 !important;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  font-family: inherit;
}

.btn-submit:hover {
  background: var(--dfa-accent-dark) !important;
}

.btn-submit:disabled {
  background: #4a5a6a !important;
  cursor: not-allowed;
  color: #9ca3af !important;
}

.form-msg {
  margin-top: 12px;
  font-size: 14px;
  padding: 10px 16px;
  border-radius: 8px;
  display: none;
}

.form-msg.success {
  background: #0a362a !important;
  color: var(--dfa-success) !important;
  display: block;
}

.form-msg.error {
  background: #400f0f !important;
  color: var(--dfa-danger) !important;
  display: block;
}

/* ── Мобильная адаптация ── */

/* Планшеты (≤ 1024px) */
@media (max-width: 1024px) {
  .dfa-hero-title {
    font-size: 42px !important;
  }

  .metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .chart-grid {
    grid-template-columns: 1fr;
  }

  .pro-section {
    grid-template-columns: 1fr;
  }

  .cmp-platforms-header {
    grid-template-columns: repeat(2, 1fr);
  }

  .iss-single-grid {
    grid-template-columns: 1fr;
  }
}

/* Мобильные (≤ 768px) */
@media (max-width: 768px) {
  .dfa-hero-title {
    font-size: 28px !important;
  }

  .dfa-hero-subtitle {
    font-size: 15px;
  }

  .dfa-hero-badge {
    font-size: 11px;
    padding: 6px 12px;
  }

  .dfa-search-box {
    padding: 6px 6px 6px 16px;
  }

  .dfa-search-box input {
    padding: 10px;
    font-size: 14px;
  }

  .dfa-search-box button {
    padding: 10px 16px;
    font-size: 13px;
  }

  .dfa-ticker-wrap {
    font-size: 12px;
  }

  /* Метрики — карточки вместо сетки */
  .metrics-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .metric-card {
    padding: 16px;
  }

  .metric-card .metric-value {
    font-size: 24px;
  }

  /* Меню — glass dropdown */
  .dfa-nav-links {
    position: absolute;
    top: 72px;
    left: 20px;
    right: 20px;
    background: rgba(10, 10, 26, 0.95);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    border: 1px solid var(--border-glass);
    border-radius: 20px;
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
    display: none;
    z-index: 999;
    gap: 6px;
    box-shadow: var(--shadow-card);
  }

  .dfa-nav-links.open {
    display: flex;
    animation: fadeIn 0.2s ease;
  }

  .dfa-nav-link {
    padding: 12px 8px;
    border-bottom: none;
    width: 100%;
    border-radius: 12px;
  }

  .dfa-nav-link::after {
    display: none;
  }

  .dfa-nav-link:hover,
  .dfa-nav-link.active {
    background: rgba(255, 255, 255, 0.06);
  }

  .dfa-nav-btn {
    width: 100%;
    text-align: center;
    padding: 14px;
  }

  .dfa-mobile-toggle {
    display: flex;
  }

  .dfa-login-btn {
    width: 100%;
    text-align: center;
    display: block !important;
  }

  .dfa-user-menu {
    width: 100%;
  }

  .dfa-user-btn {
    width: 100%;
    justify-content: center;
  }

  .dfa-user-dropdown {
    left: 0;
    right: 0;
  }

  /* Таблица сравнения — горизонтальный скролл */
  .dfa-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dfa {
    min-width: 700px;
  }

  .dfa th,
  .dfa td {
    padding: 10px 12px;
    font-size: 13px;
    white-space: nowrap;
  }

  .cell-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .cell-actions .btn-open {
    padding: 6px 12px;
    font-size: 12px;
  }

  /* Фильтры */
  .dfa-filters {
    flex-wrap: wrap;
    gap: 8px;
  }

  .dfa-filters .chip {
    padding: 6px 12px;
    font-size: 12px;
  }

  /* Секции */
  .dfa-wrap {
    padding: 20px 16px;
  }

  .iss-wrap,
  .fav-wrap,
  .cmp-wrap,
  .calc-wrap {
    padding: 20px 16px;
  }

  /* Заголовки страниц */
  .fav-hero h1,
  .cmp-hero h1,
  .calc-hero h1,
  .iss-hero h1 {
    font-size: 1.8rem;
  }

  .iss-single-title-row h1 {
    font-size: 1.5rem;
  }

  .iss-single-title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  /* Карточки деталей */
  .iss-detail-cards {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .iss-detail-value {
    font-size: 1.2rem;
  }

  /* Блок площадки в выпуске */
  .iss-platform-card {
    padding: 16px;
  }

  .iss-platform-stats {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  /* Похожие выпуски */
  .iss-similar-grid {
    grid-template-columns: 1fr;
  }

  /* Калькулятор */
  .calc-container {
    grid-template-columns: 1fr;
  }

  .calc-results {
    grid-template-columns: 1fr 1fr;
  }

  .calc-form-section,
  .calc-result-section {
    padding: 20px;
  }

  /* Сравнение */
  .cmp-platforms-header {
    grid-template-columns: 1fr;
  }

  .cmp-table-wrap {
    margin: 0 -16px;
    padding: 0 16px;
  }

  .cmp-table {
    min-width: 500px;
  }

  /* Избранное */
  .fav-grid {
    grid-template-columns: 1fr;
  }

  /* Панель сравнения */
  #compare-bar {
    left: 16px;
    right: 16px;
    transform: none;
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Статистика на странице сравнения */
  .cmp-platforms-header .cmp-platform-col {
    padding: 20px 16px;
  }

  .cmp-actions {
    flex-direction: column;
  }

  .cmp-btn-detail {
    width: 100%;
    text-align: center;
  }

  /* Админ-форма добавления выпуска */
  .iss-admin-form .form-row {
    flex-direction: column;
  }

  .iss-admin-form .cols-3 {
    grid-template-columns: 1fr;
  }

  /* Форма отзыва */
  .sp-review-form textarea {
    min-height: 100px;
  }

  /* SEO блок */
  .calc-info {
    padding: 20px;
  }

  .calc-formula {
    overflow-x: auto;
  }

  .calc-formula code {
    font-size: 12px;
  }
}

/* Маленькие мобильные (≤ 480px) */
@media (max-width: 480px) {
  .dfa-hero-title {
    font-size: 24px !important;
  }

  .dfa-hero-subtitle {
    font-size: 14px;
    margin-bottom: 24px;
  }

  .metrics-grid {
    grid-template-columns: 1fr;
  }

  .metric-card .metric-value {
    font-size: 28px;
  }

  .iss-detail-cards {
    grid-template-columns: 1fr;
  }

  .calc-results {
    grid-template-columns: 1fr;
  }

  .iss-platform-stats {
    grid-template-columns: 1fr;
  }

  .fav-card-stats {
    flex-wrap: wrap;
  }

  .fav-stat {
    flex: 1;
    min-width: 60px;
  }

  /* Кнопки */
  .btn-open,
  .cmp-btn-open,
  .iss-btn-primary,
  .fav-btn-open {
    padding: 10px 16px;
    font-size: 13px;
  }

  /* Таблица сравнения */
  .cmp-table th,
  .cmp-table td {
    padding: 8px 10px;
    font-size: 12px;
  }

  .dfa-mobile-toggle {
    display: flex;
  }

  .dfa-pro-banner {
    flex-direction: column;
    text-align: center;
  }

  table.dfa thead {
    display: none;
  }
}

.analytics-content {
    margin-top: 2rem;
}

.metrics-overview, .chart-section, .top-performers {
    margin-bottom: 2rem;
}

.chart-section canvas {
    width: 100% !important;
    max-width: 800px;
    height: auto !important;
    background: var(--dfa-dark-2);
    border: 1px solid var(--dfa-border);
    border-radius: 8px;
    padding: 1rem;
}

.top-performers ul {
    list-style: none;
    padding: 0;
}

.top-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--dfa-border);
}

.top-item:last-child {
    border-bottom: none;
}

/* ── Страница выпусков ── */
.iss-wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.iss-hero {
    margin-bottom: 1.75rem;
}

.iss-hero h1 {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.4rem;
    color: var(--dfa-text);
}

.iss-hero p {
    color: var(--dfa-text-secondary);
    margin: 0;
}

.iss-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    align-items: center;
}

.iss-filters select {
    background: var(--dfa-dark-2);
    border: 1px solid var(--dfa-border);
    color: var(--dfa-text);
    border-radius: 8px;
    padding: 0.35rem 0.75rem;
    font-size: 0.82rem;
    cursor: pointer;
    outline: none;
}

.iss-filters select:focus {
    border-color: var(--dfa-accent);
}

.iss-count {
    font-size: 0.8rem;
    color: var(--dfa-text-secondary);
    margin-bottom: 0.75rem;
}

.issue-card {
    border: 1px solid var(--dfa-border);
    border-radius: 10px;
    padding: 1.1rem 1.25rem;
    margin-bottom: 0.75rem;
    background: var(--dfa-dark-2);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem 1.5rem;
    align-items: start;
    transition: border-color 0.15s;
}

.issue-card:hover {
    border-color: var(--dfa-accent);
}

.ic-title {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--dfa-text);
    margin-bottom: 0.3rem;
}

.ic-title-link {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s;
}

.ic-title-link:hover .ic-title {
    color: var(--dfa-accent);
}

.ic-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    font-size: 0.8rem;
    color: var(--dfa-text-secondary);
}

.ic-rate {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--dfa-success);
    white-space: nowrap;
    text-align: right;
}

.ic-amount {
    font-size: 0.8rem;
    color: var(--dfa-text-muted);
    margin-top: 0.15rem;
    text-align: right;
}

.issue-source-link {
    font-size: 0.75rem;
    color: var(--dfa-accent);
    text-decoration: none;
}

.issue-source-link:hover {
    text-decoration: underline;
}

.tag-green {
    background: #0a362a;
    color: var(--dfa-success);
    border-color: #065f46;
}

.tag-red {
    background: #400f0f;
    color: var(--dfa-danger);
    border-color: #991b1b;
}

.tag-amber {
    background: #3e2d00;
    color: var(--dfa-warning);
    border-color: #92400e;
}

.platform-link {
    color: var(--dfa-accent);
    text-decoration: none;
}

.platform-link:hover {
    text-decoration: underline;
}

.iss-empty {
    text-align: center;
    padding: 3rem;
    color: var(--dfa-text-secondary);
    border: 1px dashed var(--dfa-border);
    border-radius: 10px;
}

.iss-pagination {
    display: flex;
    gap: 0.4rem;
    margin-top: 1.5rem;
    justify-content: center;
}

.iss-pagination a,
.iss-pagination span {
    padding: 0.4rem 0.8rem;
    border: 1px solid var(--dfa-border);
    border-radius: 6px;
    font-size: 0.82rem;
    text-decoration: none;
    color: var(--dfa-text);
    background: var(--dfa-dark-2);
}

.iss-pagination a:hover {
    background: var(--dfa-dark-3);
    border-color: var(--dfa-accent);
}

.iss-pagination span.current {
    background: var(--dfa-accent);
    color: #000;
    border-color: var(--dfa-accent);
}

/* Форма добавления выпуска */
.iss-admin-form {
    background: var(--dfa-dark-2);
    border: 1px solid var(--dfa-border);
    border-radius: 10px;
    padding: 1.25rem;
    margin-bottom: 2rem;
}

.iss-admin-form h3 {
    margin: 0 0 1rem;
    font-size: 1rem;
    color: var(--dfa-text);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.form-row.cols-3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.iss-admin-form .form-group label {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--dfa-text-secondary);
    margin-bottom: 0.25rem;
    display: block;
}

.iss-admin-form .form-group input,
.iss-admin-form .form-group select {
    background: var(--dfa-dark-3);
    border: 1px solid var(--dfa-border);
    color: var(--dfa-text);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    font-family: inherit;
    outline: none;
    width: 100%;
}

.iss-admin-form .form-group input:focus,
.iss-admin-form .form-group select:focus {
    border-color: var(--dfa-accent);
}

.btn-add {
    padding: 0.55rem 1.25rem;
    background: var(--dfa-accent);
    color: #000;
    border: none;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
}

.btn-add:hover {
    background: var(--dfa-accent-dark);
}

.add-msg {
    margin-top: 0.75rem;
    font-size: 0.82rem;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    display: none;
}

.add-msg.success {
    background: #0a362a;
    color: var(--dfa-success);
    display: block;
}

.add-msg.error {
    background: #400f0f;
    color: var(--dfa-danger);
    display: block;
}

/* ── Кнопка избранного ── */
.sp-btn-favorite {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: transparent;
    border: 2px solid #2a3a4a;
    border-radius: 8px;
    color: #8b9eb0;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sp-btn-favorite:hover {
    border-color: #ff6b6b;
    color: #ff6b6b;
    background: rgba(255, 107, 107, 0.1);
}

.sp-btn-favorite.active {
    border-color: #ff6b6b;
    color: #ff6b6b;
    background: rgba(255, 107, 107, 0.15);
}

.sp-btn-favorite .fav-icon {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.sp-btn-favorite:hover .fav-icon {
    transform: scale(1.2);
}

.sp-btn-favorite.active .fav-icon {
    transform: scale(1.1);
}

/* ── Страница избранного ── */
.fav-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.fav-hero {
    text-align: center;
    margin-bottom: 40px;
}

.fav-hero h1 {
    font-size: 2.5rem;
    color: #fff;
    margin-bottom: 10px;
}

.fav-hero p {
    color: #8b9eb0;
    font-size: 1.1rem;
}

.fav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 24px;
}

.fav-card {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    transition: all 0.3s ease;
}

.fav-card:hover {
    border-color: #00f0f0;
    transform: translateY(-2px);
}

.fav-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.fav-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
}

.fav-card-title:hover {
    color: #00f0f0;
}

.fav-card-remove {
    background: none;
    border: none;
    color: #ff6b6b;
    cursor: pointer;
    font-size: 20px;
    padding: 4px;
    opacity: 0.7;
    transition: opacity 0.3s;
}

.fav-card-remove:hover {
    opacity: 1;
}

.fav-card-stats {
    display: flex;
    gap: 20px;
    margin-bottom: 16px;
}

.fav-stat {
    text-align: center;
}

.fav-stat-value {
    font-size: 1.3rem;
    font-weight: 600;
    color: #00f0f0;
}

.fav-stat-label {
    font-size: 0.8rem;
    color: #8b9eb0;
}

.fav-card-actions {
    display: flex;
    gap: 12px;
}

.fav-btn-open {
    flex: 1;
    padding: 10px;
    background: #00f0f0;
    color: #000;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    transition: background 0.3s;
}

.fav-btn-open:hover {
    background: #00a0a0;
}

.fav-empty {
    text-align: center;
    padding: 60px 20px;
    color: #8b9eb0;
}

.fav-empty h2 {
    color: #fff;
    margin-bottom: 16px;
}

.fav-empty a {
    color: #00f0f0;
    text-decoration: none;
}

.fav-empty a:hover {
    text-decoration: underline;
}

/* ── Калькулятор доходности ── */
.calc-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.calc-hero {
    text-align: center;
    margin-bottom: 40px;
}

.calc-hero h1 {
    font-size: 2.5rem;
    color: #fff;
    margin-bottom: 10px;
}

.calc-hero p {
    color: #8b9eb0;
    font-size: 1.1rem;
}

.calc-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 40px;
}

@media (max-width: 900px) {
    .calc-container {
        grid-template-columns: 1fr;
    }
}

.calc-form-section,
.calc-result-section {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 16px;
    padding: 30px;
}

.calc-form-section h2,
.calc-result-section h2 {
    color: #fff;
    font-size: 1.3rem;
    margin-bottom: 24px;
}

.calc-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.calc-field label {
    display: block;
    color: #8b9eb0;
    font-size: 14px;
    margin-bottom: 8px;
}

.calc-field input,
.calc-field select {
    width: 100%;
    padding: 12px 16px;
    background: #0a0e14;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
    font-family: inherit;
}

.calc-field input:focus,
.calc-field select:focus {
    border-color: #00f0f0;
    outline: none;
}

.calc-rate-section {
    margin-top: 20px;
}

.calc-rate-section label {
    display: block;
    color: #8b9eb0;
    font-size: 14px;
    margin-bottom: 12px;
}

.calc-rate-input {
    display: flex;
    align-items: center;
    gap: 16px;
}

.calc-rate-input input[type="range"] {
    flex: 1;
    height: 6px;
    -webkit-appearance: none;
    background: #2a3a4a;
    border-radius: 3px;
    outline: none;
}

.calc-rate-input input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background: #00f0f0;
    border-radius: 50%;
    cursor: pointer;
}

.calc-rate-input input[type="number"] {
    width: 80px;
    padding: 8px;
    background: #0a0e14;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
    text-align: center;
}

.calc-rate-input span {
    color: #8b9eb0;
}

.calc-btn-wrap {
    margin-top: 24px;
}

.calc-btn {
    width: 100%;
    padding: 14px;
    background: #00f0f0;
    color: #000;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
}

.calc-btn:hover {
    background: #00a0a0;
}

.calc-results {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

.calc-result-card {
    background: #0a0e14;
    border-radius: 12px;
    padding: 16px;
    text-align: center;
}

.calc-result-card.highlight {
    border: 1px solid #00f0f0;
    background: rgba(0, 240, 240, 0.05);
}

.result-label {
    font-size: 12px;
    color: #8b9eb0;
    margin-bottom: 6px;
}

.result-value {
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
}

.result-value.positive {
    color: #00c880;
}

.result-value.negative {
    color: #ff5252;
}

.calc-chart {
    background: #0a0e14;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
}

.calc-breakdown h3 {
    color: #fff;
    font-size: 1rem;
    margin-bottom: 16px;
}

.breakdown-table {
    overflow-x: auto;
}

.breakdown-table table {
    width: 100%;
    border-collapse: collapse;
}

.breakdown-table th,
.breakdown-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #2a3a4a;
    font-size: 13px;
}

.breakdown-table th {
    color: #8b9eb0;
    font-weight: 500;
}

.breakdown-table td {
    color: #e0e6ed;
}

.breakdown-table tr.best td {
    background: rgba(0, 240, 240, 0.05);
    color: #00f0f0;
}

.breakdown-table td.positive {
    color: #00c880;
}

.breakdown-table td.negative {
    color: #ff5252;
}

.breakdown-table a {
    color: #00f0f0;
    text-decoration: none;
}

.breakdown-table a:hover {
    text-decoration: underline;
}

.calc-info {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 16px;
    padding: 30px;
}

.calc-info h2 {
    color: #fff;
    font-size: 1.3rem;
    margin-bottom: 20px;
}

.calc-formula {
    background: #0a0e14;
    padding: 16px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.calc-formula code {
    color: #00f0f0;
    font-family: 'Courier New', monospace;
    font-size: 14px;
}

.calc-info ul {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

.calc-info li {
    color: #e0e6ed;
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}

.calc-info li::before {
    content: '•';
    color: #00f0f0;
    position: absolute;
    left: 0;
}

.calc-disclaimer {
    color: #8b9eb0;
    font-size: 13px;
    font-style: italic;
    border-top: 1px solid #2a3a4a;
    padding-top: 16px;
    margin-top: 16px;
}

/* ── Страница выпуска ── */
.iss-breadcrumb {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0;
    font-size: 14px;
    color: #8b9eb0;
}

.iss-breadcrumb a {
    color: #8b9eb0;
    text-decoration: none;
}

.iss-breadcrumb a:hover {
    color: #00f0f0;
}

.iss-single {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 40px;
}

.iss-single-header {
    margin-bottom: 30px;
}

.iss-single-title-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.iss-single-title-row h1 {
    font-size: 2rem;
    color: #fff;
    margin: 0;
}

.iss-status-badge {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
}

.iss-single-platform {
    color: #8b9eb0;
    font-size: 15px;
}

.iss-single-platform a {
    color: #00f0f0;
    text-decoration: none;
}

.iss-single-platform a:hover {
    text-decoration: underline;
}

.iss-single-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 30px;
}

@media (max-width: 900px) {
    .iss-single-grid {
        grid-template-columns: 1fr;
    }
}

.iss-detail-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 30px;
}

@media (max-width: 700px) {
    .iss-detail-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

.iss-detail-card {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

.iss-detail-card.highlight {
    border-color: #00f0f0;
    background: rgba(0, 240, 240, 0.05);
}

.iss-detail-label {
    font-size: 12px;
    color: #8b9eb0;
    margin-bottom: 8px;
}

.iss-detail-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

.iss-single-info {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
}

.iss-single-info h2 {
    color: #fff;
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.iss-info-table {
    width: 100%;
    border-collapse: collapse;
}

.iss-info-table td {
    padding: 12px 0;
    border-bottom: 1px solid #2a3a4a;
    font-size: 14px;
}

.iss-info-table td:first-child {
    color: #8b9eb0;
    width: 40%;
}

.iss-info-table td:last-child {
    color: #e0e6ed;
}

.iss-info-table td a {
    color: #00f0f0;
    text-decoration: none;
}

.iss-info-table td a:hover {
    text-decoration: underline;
}

.iss-calc-preview {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
}

.iss-calc-preview h2 {
    color: #fff;
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.iss-calc-row {
    margin-bottom: 16px;
}

.iss-calc-row label {
    display: block;
    color: #8b9eb0;
    font-size: 13px;
    margin-bottom: 6px;
}

.iss-calc-row input {
    width: 100%;
    padding: 12px;
    background: #0a0e14;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
    font-family: inherit;
}

.iss-calc-row input:focus {
    border-color: #00f0f0;
    outline: none;
}

.iss-calc-result {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.iss-calc-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: #0a0e14;
    border-radius: 8px;
    font-size: 14px;
}

.iss-calc-item span {
    color: #8b9eb0;
}

.iss-calc-item strong {
    color: #e0e6ed;
    font-size: 16px;
}

.iss-calc-item.highlight {
    border: 1px solid #00f0f0;
    background: rgba(0, 240, 240, 0.05);
}

.iss-calc-item.highlight strong {
    color: #00c880;
}

.iss-calc-link {
    display: block;
    text-align: center;
    color: #00f0f0;
    font-size: 14px;
    text-decoration: none;
}

.iss-calc-link:hover {
    text-decoration: underline;
}

.iss-platform-card {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 16px;
}

.iss-platform-card h3 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.iss-verified {
    display: inline-block;
    color: #00c880;
    font-size: 13px;
    margin-bottom: 16px;
}

.iss-platform-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.iss-platform-stat {
    text-align: center;
    padding: 10px;
    background: #0a0e14;
    border-radius: 8px;
}

.iss-platform-stat-value {
    font-size: 1rem;
    font-weight: 600;
    color: #00f0f0;
    margin-bottom: 4px;
}

.iss-platform-stat-label {
    font-size: 11px;
    color: #8b9eb0;
}

.iss-platform-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.iss-btn-primary {
    display: block;
    padding: 12px;
    background: #00f0f0;
    color: #000;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: background 0.3s;
}

.iss-btn-primary:hover {
    background: #00a0a0;
}

.iss-btn-secondary {
    display: block;
    padding: 12px;
    background: transparent;
    color: #00f0f0;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    transition: border-color 0.3s;
}

.iss-btn-secondary:hover {
    border-color: #00f0f0;
}

.iss-fav-card {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 16px;
}

.iss-fav-btn {
    width: 100%;
    padding: 12px;
    background: transparent;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #8b9eb0;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s;
}

.iss-fav-btn:hover {
    border-color: #ff6b6b;
    color: #ff6b6b;
}

.iss-fav-btn.active {
    border-color: #ff6b6b;
    color: #ff6b6b;
    background: rgba(255, 107, 107, 0.1);
}

.iss-similar {
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 0 20px;
}

.iss-similar h2 {
    color: #fff;
    font-size: 1.3rem;
    margin-bottom: 20px;
}

.iss-similar-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

.iss-similar-card {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 16px;
    text-decoration: none;
    transition: all 0.3s;
}

.iss-similar-card:hover {
    border-color: #00f0f0;
    transform: translateY(-2px);
}

.iss-similar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.iss-similar-platform {
    font-size: 12px;
    color: #8b9eb0;
}

.iss-similar-status {
    font-size: 8px;
}

.iss-similar-title {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.iss-similar-stats {
    display: flex;
    gap: 12px;
    font-size: 13px;
    color: #00f0f0;
}

/* ── Сравнение площадок ── */
.cmp-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.cmp-breadcrumb {
    font-size: 14px;
    color: #8b9eb0;
    margin-bottom: 20px;
}

.cmp-breadcrumb a {
    color: #8b9eb0;
    text-decoration: none;
}

.cmp-breadcrumb a:hover {
    color: #00f0f0;
}

.cmp-hero {
    text-align: center;
    margin-bottom: 40px;
}

.cmp-hero h1 {
    font-size: 2.5rem;
    color: #fff;
    margin-bottom: 10px;
}

.cmp-hero p {
    color: #8b9eb0;
    font-size: 1.1rem;
}

.cmp-platforms-header {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.cmp-platform-col {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    position: relative;
}

.cmp-platform-col.best {
    border-color: #00f0f0;
    background: rgba(0, 240, 240, 0.05);
}

.cmp-best-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #00f0f0;
    color: #000;
    padding: 4px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.cmp-platform-name {
    display: block;
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    margin-bottom: 8px;
}

.cmp-platform-name:hover {
    color: #00f0f0;
}

.cmp-verified {
    display: inline-block;
    color: #00c880;
    font-size: 13px;
    margin-bottom: 8px;
}

.cmp-platform-url {
    font-size: 13px;
    color: #8b9eb0;
    margin-bottom: 16px;
}

.cmp-platform-url a {
    color: #8b9eb0;
    text-decoration: none;
}

.cmp-platform-url a:hover {
    color: #00f0f0;
}

.cmp-btn-open {
    display: block;
    padding: 12px;
    background: #00f0f0;
    color: #000;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s;
}

.cmp-btn-open:hover {
    background: #00a0a0;
}

.cmp-table-wrap {
    overflow-x: auto;
    margin-bottom: 30px;
}

.cmp-table {
    width: 100%;
    border-collapse: collapse;
    background: #141b22;
    border-radius: 12px;
    overflow: hidden;
}

.cmp-table th,
.cmp-table td {
    padding: 14px 18px;
    text-align: center;
    border-bottom: 1px solid #2a3a4a;
    font-size: 14px;
}

.cmp-table th {
    background: #0a0e14;
    color: #fff;
    font-weight: 600;
    position: sticky;
    top: 0;
}

.cmp-table th.cmp-param {
    text-align: left;
    min-width: 180px;
}

.cmp-table td {
    color: #e0e6ed;
}

.cmp-table td.cmp-param {
    text-align: left;
    color: #8b9eb0;
    font-weight: 500;
    background: #0a0e14;
}

.cmp-table tr.cmp-section td {
    background: #1a2230;
    color: #00f0f0;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
}

.cmp-table td.cmp-best {
    color: #00c880;
    font-weight: 600;
}

.cmp-best-label {
    display: inline-block;
    margin-left: 6px;
    color: #00c880;
    font-size: 12px;
}

.cmp-highlight {
    color: #00f0f0 !important;
    font-weight: 600;
    font-size: 16px;
}

.cmp-tag {
    display: inline-block;
    padding: 3px 10px;
    background: #0a0e14;
    border: 1px solid #2a3a4a;
    border-radius: 4px;
    font-size: 12px;
    color: #8b9eb0;
    margin: 2px;
}

.cmp-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.cmp-btn-detail {
    padding: 12px 24px;
    background: transparent;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #e0e6ed;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s;
}

.cmp-btn-detail:hover {
    border-color: #00f0f0;
    color: #00f0f0;
}

/* Кнопка «Сравнить» на карточках */
.cmp-compare-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: transparent;
    border: 1px solid #2a3a4a;
    border-radius: 6px;
    color: #8b9eb0;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.3s;
}

.cmp-compare-btn:hover {
    border-color: #00f0f0;
    color: #00f0f0;
}

.cmp-compare-btn.active {
    border-color: #00f0f0;
    color: #00f0f0;
    background: rgba(0, 240, 240, 0.1);
}

/* Панель сравнения */
#compare-bar {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: #1a2230;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 12px 24px;
    display: none;
    align-items: center;
    gap: 16px;
    z-index: 1000;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

#compare-bar .cmp-bar-text {
    color: #8b9eb0;
    font-size: 14px;
}

#compare-bar .cmp-bar-count {
    color: #00f0f0;
    font-weight: 600;
}

#compare-bar .cmp-bar-btn {
    padding: 10px 20px;
    background: #00f0f0;
    color: #000;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.3s;
}

#compare-bar .cmp-bar-btn:hover {
    background: #00a0a0;
}

/* ── Мобильные стили для страницы платформы ── */
@media (max-width: 768px) {
    .sp-wrap {
        padding: 20px 16px;
    }

    .sp-hero {
        flex-direction: column;
    }

    .sp-hero-left h1 {
        font-size: 24px;
    }

    .sp-hero-right {
        width: 100%;
    }

    .sp-btn-open {
        width: 100%;
        text-align: center;
    }

    .sp-btn-favorite {
        width: 100%;
        justify-content: center;
    }

    .sp-cards {
        grid-template-columns: 1fr;
    }

    .sp-types {
        flex-wrap: wrap;
    }

    .review-card {
        padding: 16px;
    }

    .sp-review-form {
        padding: 16px;
    }

    .star-picker label {
        font-size: 28px;
    }
}

/* ── Мобильные стили для страницы сравнения ── */
@media (max-width: 768px) {
    .cmp-platforms-header {
        grid-template-columns: 1fr;
    }

    .cmp-platform-col {
        padding: 20px 16px;
    }

    .cmp-platform-name {
        font-size: 1.1rem;
    }

    .cmp-table-wrap {
        margin: 0 -16px;
        padding: 0 16px;
    }

    .cmp-table {
        min-width: 450px;
    }

    .cmp-table th,
    .cmp-table td {
        padding: 10px 12px;
        font-size: 13px;
    }

    .cmp-actions {
        flex-direction: column;
    }

    .cmp-btn-detail {
        width: 100%;
        text-align: center;
    }
}

/* ── Мобильные стили для issues ── */
@media (max-width: 768px) {
    .iss-filters {
        flex-direction: column;
    }

    .iss-filters select {
        width: 100%;
    }

    .issue-card {
        flex-direction: column;
        gap: 16px;
    }

    .issue-card .ic-right {
        border-top: 1px solid #2a3a4a;
        padding-top: 12px;
        display: flex;
        gap: 16px;
        align-items: center;
    }

    .iss-admin-form .form-row {
        flex-direction: column;
    }

    .iss-admin-form .cols-3 {
        grid-template-columns: 1fr;
    }
}

/* ── Мобильные стили для калькулятора ── */
@media (max-width: 768px) {
    .calc-container {
        grid-template-columns: 1fr;
    }

    .calc-results {
        grid-template-columns: 1fr 1fr;
    }

    .calc-form-section,
    .calc-result-section {
        padding: 20px;
    }

    .calc-rate-input {
        flex-direction: column;
        align-items: stretch;
    }

    .calc-rate-input input[type="range"] {
        width: 100%;
    }

    .calc-rate-input input[type="number"] {
        width: 100%;
    }

    .calc-rate-input span {
        display: none;
    }
}

/* ── Мобильные стили для избранного ── */
@media (max-width: 768px) {
    .fav-grid {
        grid-template-columns: 1fr;
    }

    .fav-card-stats {
        flex-wrap: wrap;
        gap: 12px;
    }

    .fav-stat {
        flex: 1;
        min-width: 70px;
    }
}

/* ── Мобильные стили для single-issue ── */
@media (max-width: 768px) {
    .iss-single-grid {
        grid-template-columns: 1fr;
    }

    .iss-detail-cards {
        grid-template-columns: 1fr 1fr;
    }

    .iss-similar-grid {
        grid-template-columns: 1fr;
    }

    .iss-calc-item {
        flex-direction: column;
        text-align: center;
        gap: 4px;
    }
}

/* ── Мобильные стили для PRO блока ── */
@media (max-width: 768px) {
    .dfa-pro-banner {
        padding: 16px;
        text-align: center;
    }

    .pro-title {
        font-size: 1.1rem;
    }

    .pro-features {
        font-size: 12px;
    }
}

/* ── Утилиты ── */
@media (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }

    .text-center-mobile {
        text-align: center !important;
    }

    .w-full-mobile {
        width: 100% !important;
    }
}

/* Touch-friendly */
@media (hover: none) and (pointer: coarse) {
    .dfa-nav-link,
    .chip,
    .btn-open,
    .cmp-btn-open,
    .iss-btn-primary,
    .fav-btn-open {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* ── Аналитика ── */
.an-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.an-hero {
    text-align: center;
    margin-bottom: 40px;
}

.an-hero h1 {
    font-size: 2.5rem;
    color: #fff;
    margin-bottom: 10px;
}

.an-hero p {
    color: #8b9eb0;
    font-size: 1.1rem;
}

.an-metrics {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    margin-bottom: 40px;
}

@media (max-width: 1024px) {
    .an-metrics {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .an-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .an-hero h1 {
        font-size: 1.8rem;
    }
}

@media (max-width: 480px) {
    .an-metrics {
        grid-template-columns: 1fr;
    }
}

.an-metric-card {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: border-color 0.3s;
}

.an-metric-card:hover {
    border-color: #00f0f0;
}

.an-metric-icon {
    font-size: 24px;
    margin-bottom: 8px;
}

.an-metric-label {
    font-size: 12px;
    color: #8b9eb0;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.an-metric-value {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
}

.an-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 24px;
}

@media (max-width: 900px) {
    .an-grid {
        grid-template-columns: 1fr;
    }
}

.an-chart-section {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
}

.an-chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.an-chart-header h2 {
    color: #fff;
    font-size: 1.1rem;
    margin: 0;
}

.an-export-btn {
    padding: 6px 12px;
    background: transparent;
    border: 1px solid #2a3a4a;
    border-radius: 6px;
    color: #8b9eb0;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s;
}

.an-export-btn:hover {
    border-color: #00f0f0;
    color: #00f0f0;
    background: rgba(0, 240, 240, 0.05);
}

.an-chart-container {
    position: relative;
    height: 280px;
}

.an-export-section {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
}

.an-export-section h2 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 16px;
}

.an-export-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.an-export-csv-btn {
    padding: 12px 20px;
    background: #0a0e14;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #e0e6ed;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
}

.an-export-csv-btn:hover {
    border-color: #00f0f0;
    color: #00f0f0;
    background: rgba(0, 240, 240, 0.05);
}

.an-top-section {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
}

.an-top-section h2 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 20px;
}

.an-top-table {
    overflow-x: auto;
}

.an-top-table table {
    width: 100%;
    border-collapse: collapse;
}

.an-top-table th,
.an-top-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #2a3a4a;
    font-size: 14px;
}

.an-top-table th {
    color: #8b9eb0;
    font-weight: 500;
}

.an-top-table td {
    color: #e0e6ed;
}

.an-top-table tr:hover td {
    background: rgba(0, 240, 240, 0.03);
}

.an-list-section {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
}

.an-list-section h2 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 16px;
}

.an-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #2a3a4a;
    text-decoration: none;
    transition: background 0.2s;
}

.an-list-item:last-child {
    border-bottom: none;
}

.an-list-item:hover {
    background: rgba(0, 240, 240, 0.03);
    margin: 0 -12px;
    padding: 12px;
    border-radius: 8px;
}

.an-list-title {
    color: #e0e6ed;
    font-weight: 500;
    margin-bottom: 4px;
}

.an-list-meta {
    color: #8b9eb0;
    font-size: 13px;
}

.an-list-value {
    color: #00f0f0;
    font-weight: 600;
    font-size: 16px;
}

.an-list-value.highlight {
    color: #00c880;
}

.an-stats-section {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
    margin-top: 24px;
}

.an-stats-section h2 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 20px;
}

.an-stats-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}

@media (max-width: 1024px) {
    .an-stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .an-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .an-stats-grid {
        grid-template-columns: 1fr;
    }
}

.an-stat-card {
    background: #0a0e14;
    border-radius: 8px;
    padding: 16px;
    text-align: center;
}

.an-stat-value {
    font-size: 1.3rem;
    font-weight: 700;
    color: #00f0f0;
    margin-bottom: 4px;
}

.an-stat-label {
    font-size: 12px;
    color: #8b9eb0;
}

/* ── Личный кабинет ── */
.cabinet-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.cabinet-header {
    margin-bottom: 30px;
}

.cabinet-header h1 {
    font-size: 2rem;
    color: #fff;
    margin-bottom: 8px;
}

.cabinet-header p {
    color: #8b9eb0;
    font-size: 1rem;
}

.cabinet-nav {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #2a3a4a;
}

.cabinet-nav-link {
    padding: 10px 20px;
    background: transparent;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #8b9eb0;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s;
}

.cabinet-nav-link:hover {
    border-color: #00f0f0;
    color: #00f0f0;
}

.cabinet-nav-link.active {
    background: #00f0f0;
    border-color: #00f0f0;
    color: #000;
}

.cabinet-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    .cabinet-stats {
        grid-template-columns: 1fr;
    }
    
    .cabinet-nav {
        flex-wrap: wrap;
    }
}

.cabinet-stat-card {
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

.cabinet-stat-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: #00f0f0;
    margin-bottom: 4px;
}

.cabinet-stat-label {
    font-size: 13px;
    color: #8b9eb0;
}

.cabinet-empty {
    text-align: center;
    padding: 60px 20px;
    background: #141b22;
    border: 1px solid #2a3a4a;
    border-radius: 16px;
}

.cabinet-empty-icon {
    font-size: 48px;
    color: #2a3a4a;
    margin-bottom: 16px;
}

.cabinet-empty h2 {
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: 12px;
}

.cabinet-empty p {
    color: #8b9eb0;
    margin-bottom: 24px;
}

.cabinet-btn {
    display: inline-block;
    padding: 12px 24px;
    background: #00f0f0;
    color: #000;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.3s;
}

.cabinet-btn:hover {
    background: #00a0a0;
}

.cabinet-actions {
    margin-top: 30px;
    text-align: center;
}

/* ── Карточки избранного в кабинете ── */
.fav-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: #00c880;
    color: #fff;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
    margin-left: 6px;
}

.fav-card-title-row {
    display: flex;
    align-items: center;
}

.fav-card-status {
    font-size: 12px;
    margin-bottom: 12px;
}

.fav-card-url {
    font-size: 12px;
    color: #8b9eb0;
    margin-bottom: 16px;
}

.fav-card-url a {
    color: #8b9eb0;
    text-decoration: none;
}

.fav-card-url a:hover {
    color: #00f0f0;
}

.fav-card-actions {
    display: flex;
    gap: 10px;
}

.fav-btn-details {
    flex: 1;
    padding: 10px;
    background: transparent;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #e0e6ed;
    text-decoration: none;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    transition: border-color 0.3s;
}

.fav-btn-details:hover {
    border-color: #00f0f0;
    color: #00f0f0;
}

/* Адаптив для карточек в кабинете */
@media (max-width: 768px) {
    .fav-card-actions {
        flex-direction: column;
    }
    
    .fav-btn-open,
    .fav-btn-details {
        width: 100%;
    }
}

/* ── Социальные кнопки ── */
.iss-single-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.iss-share-buttons {
    display: flex;
    gap: 8px;
}

.share-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.share-telegram {
    background: #0088cc20;
    color: #0088cc;
    border: 1px solid #0088cc40;
}

.share-telegram:hover {
    background: #0088cc;
    color: #fff;
}

.share-vk {
    background: #4c75a320;
    color: #4c75a3;
    border: 1px solid #4c75a340;
}

.share-vk:hover {
    background: #4c75a3;
    color: #fff;
}

.share-whatsapp {
    background: #25d36620;
    color: #25d366;
    border: 1px solid #25d36640;
}

.share-whatsapp:hover {
    background: #25d366;
    color: #fff;
}

/* ── Портфель инвестора ── */
.portfolio-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.portfolio-header h1 {
    font-size: 32px;
    color: #fff;
    margin-bottom: 8px;
}

.portfolio-header p {
    color: #8b9eb0;
    margin-bottom: 30px;
}

.portfolio-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 30px;
}

.portfolio-stat-card {
    background: #1e2a36;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

.portfolio-stat-card.highlight {
    border-color: #00f0f040;
    background: #1e2a3680;
}

.portfolio-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.portfolio-stat-label {
    font-size: 13px;
    color: #8b9eb0;
}

.portfolio-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    align-items: center;
}

.portfolio-btn-primary {
    padding: 10px 20px;
    background: #00f0f0;
    color: #000;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.portfolio-btn-primary:hover {
    background: #00a0a0;
}

.portfolio-btn-secondary {
    padding: 10px 20px;
    background: transparent;
    color: #e0e6ed;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.2s;
}

.portfolio-btn-secondary:hover {
    border-color: #00f0f0;
}

.portfolio-filter {
    padding: 10px 16px;
    background: #1e2a36;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #e0e6ed;
    font-size: 14px;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 16px;
}

.portfolio-card {
    background: #1e2a36;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 20px;
    transition: border-color 0.2s;
}

.portfolio-card:hover {
    border-color: #00f0f040;
}

.portfolio-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.portfolio-card-title a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.portfolio-card-title a:hover {
    color: #00f0f0;
}

.portfolio-card-status {
    font-size: 12px;
    font-weight: 500;
}

.portfolio-card-issue {
    font-size: 13px;
    color: #8b9eb0;
    margin-bottom: 12px;
}

.portfolio-card-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 12px;
}

.portfolio-card-stat-value {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

.portfolio-card-stat-label {
    font-size: 11px;
    color: #8b9eb0;
}

.portfolio-card-dates {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #8b9eb0;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.portfolio-card-actions {
    display: flex;
    gap: 8px;
}

.portfolio-btn-close,
.portfolio-btn-delete {
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
}

.portfolio-btn-close {
    background: #00c88020;
    color: #00c880;
    border: 1px solid #00c88040;
}

.portfolio-btn-close:hover:not(:disabled) {
    background: #00c880;
    color: #fff;
}

.portfolio-btn-close:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.portfolio-btn-delete {
    background: #ff525220;
    color: #ff5252;
    border: 1px solid #ff525240;
}

.portfolio-btn-delete:hover {
    background: #ff5252;
    color: #fff;
}

.portfolio-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.portfolio-modal-content {
    background: #1e2a36;
    border: 1px solid #2a3a4a;
    border-radius: 16px;
    width: 90%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 24px;
}

.portfolio-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.portfolio-modal-header h2 {
    color: #fff;
    margin: 0;
}

.portfolio-modal-close {
    background: none;
    border: none;
    color: #8b9eb0;
    font-size: 28px;
    cursor: pointer;
}

.portfolio-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.portfolio-form-row.cols-3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.portfolio-form-group label {
    display: block;
    color: #8b9eb0;
    font-size: 13px;
    margin-bottom: 6px;
}

.portfolio-form-group input,
.portfolio-form-group select {
    width: 100%;
    padding: 10px;
    background: #0a0e14;
    border: 1px solid #2a3a4a;
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
}

.portfolio-form-group input:focus,
.portfolio-form-group select:focus {
    border-color: #00f0f0;
    outline: none;
}

.portfolio-form-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 20px;
}

.portfolio-empty {
    text-align: center;
    padding: 60px 20px;
    color: #8b9eb0;
}

.portfolio-empty-icon {
    font-size: 48px;
    margin-bottom: 16px;
}

.portfolio-empty h3 {
    color: #fff;
    margin-bottom: 8px;
}

.portfolio-loading {
    text-align: center;
    padding: 40px;
    color: #8b9eb0;
}

@media (max-width: 768px) {
    .portfolio-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .portfolio-grid {
        grid-template-columns: 1fr;
    }
    
    .portfolio-form-row,
    .portfolio-form-row.cols-3 {
        grid-template-columns: 1fr;
    }
}

/* ── Матрица доходности ── */
.matrix-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.matrix-hero h1 {
    font-size: 32px;
    color: #fff;
    margin-bottom: 8px;
}

.matrix-hero p {
    color: #8b9eb0;
    margin-bottom: 24px;
}

.matrix-legend {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.matrix-legend-label {
    font-size: 12px;
    color: #8b9eb0;
}

.matrix-legend-bar {
    width: 200px;
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(to right, hsl(0, 70%, 25%), hsl(60, 70%, 25%), hsl(120, 70%, 25%));
}

.matrix-table-wrap {
    overflow-x: auto;
    margin-bottom: 30px;
}

.matrix-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 4px;
}

.matrix-table th {
    padding: 12px 8px;
    text-align: center;
    color: #8b9eb0;
    font-size: 13px;
    font-weight: 500;
}

.matrix-platform-col {
    text-align: left !important;
    min-width: 180px;
}

.matrix-platform-name a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.matrix-platform-name a:hover {
    color: #00f0f0;
}

.matrix-cell {
    padding: 16px 12px;
    text-align: center;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 100px;
}

.matrix-cell:hover {
    transform: scale(1.05);
    z-index: 1;
}

.matrix-cell.empty {
    background: #1e2a36;
    color: #8b9eb0;
    cursor: default;
}

.matrix-cell-rate {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.matrix-cell-count {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
}

.matrix-info {
    background: #1e2a36;
    border: 1px solid #2a3a4a;
    border-radius: 12px;
    padding: 24px;
}

.matrix-info h2 {
    color: #fff;
    font-size: 18px;
    margin-bottom: 12px;
}

.matrix-info ul {
    list-style: none;
    padding: 0;
}

.matrix-info li {
    color: #8b9eb0;
    font-size: 14px;
    margin-bottom: 8px;
}

.matrix-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.matrix-modal-content {
    background: #1e2a36;
    border: 1px solid #2a3a4a;
    border-radius: 16px;
    width: 90%;
    max-width: 500px;
    padding: 24px;
}

.matrix-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.matrix-modal-header h2 {
    color: #fff;
    margin: 0;
    font-size: 18px;
}

.matrix-modal-close {
    background: none;
    border: none;
    color: #8b9eb0;
    font-size: 28px;
    cursor: pointer;
}

.matrix-modal-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.matrix-modal-stat {
    background: #0a0e14;
    border-radius: 8px;
    padding: 16px;
    text-align: center;
}

.matrix-modal-stat-value {
    font-size: 20px;
    font-weight: 700;
    color: #00f0f0;
}

.matrix-modal-stat-label {
    font-size: 12px;
    color: #8b9eb0;
    margin-top: 4px;
}

.matrix-modal-footer {
    text-align: center;
}

.matrix-btn-primary {
    display: inline-block;
    padding: 10px 20px;
    background: #00f0f0;
    color: #000;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: background 0.2s;
}

.matrix-btn-primary:hover {
    background: #00a0a0;
}

@media (max-width: 768px) {
    .matrix-table {
        font-size: 12px;
    }
    
    .matrix-cell {
        padding: 10px 6px;
        min-width: 70px;
    }
    
    .matrix-cell-rate {
        font-size: 14px;
    }
}
