/* line 4, app/assets/stylesheets/theme_variables.scss */
:root {
  --theme-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  --bg-primary: #0a0e1a;
  --bg-secondary: #0f1428;
  --bg-tertiary: #1a1f3a;
  --bg-card: rgba(15, 20, 40, 0.85);
  --bg-card-solid: #0f1428;
  --bg-card-hover: rgba(26, 31, 58, 0.9);
  --bg-input: rgba(255, 255, 255, 0.05);
  --bg-table-header: rgba(20, 25, 45, 0.8);
  --bg-table-row: rgba(15, 20, 40, 0.4);
  --bg-table-row-hover: rgba(0, 212, 170, 0.05);
  --text-primary: #ffffff;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --text-inverse: #0a0e1a;
  --border-color: rgba(255, 255, 255, 0.08);
  --border-color-light: rgba(255, 255, 255, 0.12);
  --border-color-focus: rgba(0, 212, 170, 0.5);
  --shadow-soft: 0 10px 40px rgba(0, 0, 0, 0.4);
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.2);
  --shadow-hover: 0 20px 50px rgba(0, 212, 170, 0.15);
  --shadow-glow: 0 0 20px rgba(0, 212, 170, 0.2);
  --shadow-focus: 0 0 0 3px rgba(0, 212, 170, 0.15);
  --overlay-bg: rgba(0, 0, 0, 0.5);
  --glass-bg: rgba(15, 20, 40, 0.8);
  --glass-border: rgba(255, 255, 255, 0.1);
  --grid-opacity: 0.015;
  --navbar-bg: rgba(10, 14, 26, 0.95);
  --navbar-border: rgba(255, 255, 255, 0.08);
  --accent-primary: #00d4aa;
  --accent-primary-hover: #00b894;
  --accent-primary-rgb: 0, 212, 170;
  --accent-secondary: #00a8ff;
  --accent-secondary-rgb: 0, 168, 255;
  --color-success: #10b981;
  --color-danger: #ef4444;
  --color-warning: #f59e0b;
  --color-info: #3b82f6;
  --color-success-text: #10b981;
  --color-danger-text: #ef4444;
  --color-warning-text: #f59e0b;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --font-xs: 0.75rem;
  --font-sm: 0.875rem;
  --font-base: 1rem;
  --font-lg: 1.125rem;
  --font-xl: 1.25rem;
  --font-2xl: 1.5rem;
  --font-3xl: 2rem;
}

/* line 96, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] {
  --bg-primary: #f4f2ed;
  --bg-secondary: #eae7e1;
  --bg-tertiary: #dedad3;
  --bg-card: #faf9f6;
  --bg-card-solid: #faf9f6;
  --bg-card-hover: #f5f3ee;
  --bg-input: #efede7;
  --bg-table-header: #e6e3dc;
  --bg-table-row: #faf9f6;
  --bg-table-row-hover: rgba(0, 150, 120, 0.08);
  --text-primary: #111111;
  --text-secondary: #333333;
  --text-muted: #666666;
  --text-inverse: #ffffff;
  --border-color: #d0ccc5;
  --border-color-light: #bbb7b0;
  --border-color-focus: rgba(0, 150, 120, 0.6);
  --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.1);
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-hover: 0 6px 20px rgba(0, 150, 120, 0.15);
  --overlay-bg: rgba(0, 0, 0, 0.5);
  --glass-bg: rgba(250, 249, 246, 0.98);
  --glass-border: #d0ccc5;
  --grid-opacity: 0;
  --navbar-bg: #faf9f6;
  --navbar-border: #d0ccc5;
  --accent-primary: #00a080;
  --accent-primary-hover: #008866;
  --accent-primary-rgb: 0, 160, 128;
  --accent-secondary: #0077cc;
  --accent-secondary-rgb: 0, 119, 204;
  --color-success: #047857;
  --color-danger: #b91c1c;
  --color-warning: #b45309;
  --color-info: #0369a1;
  --color-success-text: #047857;
  --color-danger-text: #b91c1c;
  --color-warning-text: #b45309;
  --shadow-glow: 0 0 15px rgba(0, 160, 128, 0.15);
  --shadow-focus: 0 0 0 3px rgba(0, 160, 128, 0.2);
}

/* line 156, app/assets/stylesheets/theme_variables.scss */
.theme-switch-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 161, app/assets/stylesheets/theme_variables.scss */
.theme-switch-wrapper .theme-icon-moon,
.theme-switch-wrapper .theme-icon-sun {
  font-size: 14px;
  transition: color 0.3s ease, opacity 0.3s ease;
}

/* line 167, app/assets/stylesheets/theme_variables.scss */
.theme-switch-wrapper .theme-icon-moon {
  color: #a78bfa;
  opacity: 1;
}

/* line 172, app/assets/stylesheets/theme_variables.scss */
.theme-switch-wrapper .theme-icon-sun {
  color: #64748b;
  opacity: 0.5;
}

/* line 180, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .theme-switch-wrapper .theme-icon-moon {
  color: #64748b;
  opacity: 0.5;
}

/* line 185, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .theme-switch-wrapper .theme-icon-sun {
  color: #fbbf24;
  opacity: 1;
}

/* line 192, app/assets/stylesheets/theme_variables.scss */
.theme-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
}

/* line 198, app/assets/stylesheets/theme_variables.scss */
.theme-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 204, app/assets/stylesheets/theme_variables.scss */
.theme-switch input:checked + .slider {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
}

/* line 208, app/assets/stylesheets/theme_variables.scss */
.theme-switch input:checked + .slider:before {
  transform: translateX(20px);
}

/* line 212, app/assets/stylesheets/theme_variables.scss */
.theme-switch input:focus + .slider {
  box-shadow: 0 0 0 3px rgba(0, 212, 170, 0.2);
}

/* line 219, app/assets/stylesheets/theme_variables.scss */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  transition: 0.3s ease;
}

/* line 229, app/assets/stylesheets/theme_variables.scss */
.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* line 241, app/assets/stylesheets/theme_variables.scss */
.slider.round {
  border-radius: 24px;
}

/* line 244, app/assets/stylesheets/theme_variables.scss */
.slider.round:before {
  border-radius: 50%;
}

/* line 251, app/assets/stylesheets/theme_variables.scss */
.theme-preference-toggle {
  display: inline-flex;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
  background: var(--bg-input);
  padding: 4px;
  gap: 4px;
}

/* line 260, app/assets/stylesheets/theme_variables.scss */
.theme-preference-toggle .theme-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 274, app/assets/stylesheets/theme_variables.scss */
.theme-preference-toggle .theme-option i {
  font-size: 14px;
}

/* line 278, app/assets/stylesheets/theme_variables.scss */
.theme-preference-toggle .theme-option:hover:not(.active) {
  background: var(--bg-card-hover);
  color: var(--text-primary);
}

/* line 283, app/assets/stylesheets/theme_variables.scss */
.theme-preference-toggle .theme-option.active {
  background: var(--accent-primary);
  color: #0a0e1a;
  box-shadow: 0 2px 4px rgba(0, 212, 170, 0.3);
}

/* line 288, app/assets/stylesheets/theme_variables.scss */
.theme-preference-toggle .theme-option.active i {
  color: #0a0e1a;
}

@media (max-width: 576px) {
  /* line 251, app/assets/stylesheets/theme_variables.scss */
  .theme-preference-toggle {
    width: 100%;
    justify-content: center;
  }
  /* line 299, app/assets/stylesheets/theme_variables.scss */
  .theme-preference-toggle .theme-option {
    flex: 1;
    justify-content: center;
    padding: 10px 12px;
  }
  /* line 304, app/assets/stylesheets/theme_variables.scss */
  .theme-preference-toggle .theme-option span {
    display: none;
  }
  /* line 308, app/assets/stylesheets/theme_variables.scss */
  .theme-preference-toggle .theme-option i {
    font-size: 18px;
  }
}

/* line 317, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .theme-preference-toggle .theme-option.active {
  background: #059669;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(5, 150, 105, 0.3);
}

/* line 322, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .theme-preference-toggle .theme-option.active i {
  color: #ffffff;
}

/* line 329, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] {
  color: var(--text-primary) !important;
}

/* line 334, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-white {
  color: var(--text-primary) !important;
}

/* line 338, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-light {
  color: var(--text-secondary) !important;
}

/* line 343, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-container {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

/* line 348, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-container::before {
  opacity: 0 !important;
}

/* line 354, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-header {
  background: var(--bg-card-solid) !important;
  border-bottom: 2px solid var(--border-color) !important;
  box-shadow: var(--shadow-card) !important;
}

/* line 359, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-header h1, [data-theme="light"] .dashboard-header h2, [data-theme="light"] .dashboard-header h3, [data-theme="light"] .dashboard-header h4, [data-theme="light"] .dashboard-header h5, [data-theme="light"] .dashboard-header h6, [data-theme="light"] .dashboard-header p, [data-theme="light"] .dashboard-header span {
  color: var(--text-primary) !important;
}

/* line 364, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-title,
[data-theme="light"] .section-title h2 {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* line 370, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-subtitle,
[data-theme="light"] .section-title p {
  color: var(--text-secondary) !important;
}

/* line 376, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .summary-card {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: var(--shadow-card) !important;
}

/* line 381, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .summary-card .card-content h3, [data-theme="light"] .summary-card .card-content .value {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* line 386, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .summary-card .card-content p, [data-theme="light"] .summary-card .card-content .label {
  color: var(--text-secondary) !important;
}

/* line 390, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .summary-card .card-icon {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
}

/* line 397, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: var(--shadow-card) !important;
}

/* line 402, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table thead {
  background: var(--bg-tertiary) !important;
  border-bottom: 1px solid var(--border-color) !important;
}

/* line 406, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table thead th {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}

/* line 415, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table tbody tr {
  border-bottom: 1px solid var(--border-color) !important;
  background: var(--bg-card-solid) !important;
}

/* line 419, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table tbody tr:nth-child(even) {
  background: var(--bg-primary) !important;
}

/* line 423, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table tbody tr:hover {
  background: var(--bg-table-row-hover) !important;
}

/* line 428, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table td {
  color: var(--text-primary) !important;
}

/* line 434, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stock-symbol {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* line 439, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stock-name {
  color: var(--text-secondary) !important;
}

/* line 444, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-tabs {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  overflow: hidden;
}

/* line 450, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-tabs .nav-link {
  color: var(--text-secondary) !important;
  font-weight: 600 !important;
}

/* line 454, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-tabs .nav-link.active {
  color: var(--text-inverse) !important;
  background: var(--accent-primary) !important;
  border-color: var(--accent-primary) !important;
}

/* line 460, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-tabs .nav-link:hover:not(.active) {
  color: var(--text-primary) !important;
  background: var(--bg-secondary) !important;
}

/* line 468, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .section-header {
  border-color: var(--border-color) !important;
}

/* line 471, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .section-header h2, [data-theme="light"] .section-header h3 {
  color: var(--text-primary) !important;
}

/* line 477, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-section,
[data-theme="light"] .opportunities-section,
[data-theme="light"] .watch-out-section {
  background: transparent !important;
}

/* line 482, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-section h2, [data-theme="light"] .stocks-section h3, [data-theme="light"] .stocks-section h4,
[data-theme="light"] .opportunities-section h2,
[data-theme="light"] .opportunities-section h3,
[data-theme="light"] .opportunities-section h4,
[data-theme="light"] .watch-out-section h2,
[data-theme="light"] .watch-out-section h3,
[data-theme="light"] .watch-out-section h4 {
  color: var(--text-primary) !important;
}

/* line 488, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-muted {
  color: var(--text-muted) !important;
}

/* line 493, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-primary {
  background: var(--accent-primary) !important;
  color: var(--text-inverse) !important;
  border: none !important;
  font-weight: 600 !important;
}

/* line 499, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-primary:hover {
  background: var(--accent-primary-hover) !important;
}

/* line 504, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-secondary {
  background: var(--bg-card-solid) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
  font-weight: 600 !important;
}

/* line 510, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-secondary:hover {
  background: var(--bg-secondary) !important;
}

/* line 515, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-outline-warning {
  border: 2px solid #e68a00 !important;
  color: #c07000 !important;
  font-weight: 600 !important;
}

/* line 520, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-outline-warning:hover {
  background: #e68a00 !important;
  color: var(--text-inverse) !important;
}

/* line 527, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .ai-analysis-card,
[data-theme="light"] .stock-detail-card {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: var(--shadow-card) !important;
}

/* line 533, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .ai-analysis-card .ai-analysis-header,
[data-theme="light"] .ai-analysis-card .metric-label,
[data-theme="light"] .stock-detail-card .ai-analysis-header,
[data-theme="light"] .stock-detail-card .metric-label {
  color: var(--text-secondary) !important;
  font-weight: 600 !important;
}

/* line 539, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .ai-analysis-card .metric-value,
[data-theme="light"] .stock-detail-card .metric-value {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* line 546, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .forecast-value,
[data-theme="light"] .current-price {
  color: var(--text-primary) !important;
  font-weight: 600 !important;
}

/* line 553, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .price, [data-theme="light"] .price-value {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* line 560, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .forecast-cell .badge {
  font-weight: 600 !important;
}

/* line 566, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-success, [data-theme="light"] .positive {
  color: var(--color-success) !important;
  font-weight: 600 !important;
}

/* line 571, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-danger, [data-theme="light"] .negative {
  color: var(--color-danger) !important;
  font-weight: 600 !important;
}

/* line 576, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-warning {
  color: var(--color-warning) !important;
  font-weight: 600 !important;
}

/* line 582, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .badge-signal, [data-theme="light"] .signal-badge {
  font-weight: 700 !important;
}

/* line 584, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .badge-signal.buy, [data-theme="light"] .badge-signal.badge-buy, [data-theme="light"] .signal-badge.buy, [data-theme="light"] .signal-badge.badge-buy {
  background: var(--color-success) !important;
  color: var(--text-inverse) !important;
}

/* line 585, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .badge-signal.wait, [data-theme="light"] .badge-signal.badge-wait, [data-theme="light"] .signal-badge.wait, [data-theme="light"] .signal-badge.badge-wait {
  background: var(--color-warning) !important;
  color: var(--text-inverse) !important;
}

/* line 586, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .badge-signal.sell, [data-theme="light"] .badge-signal.badge-sell, [data-theme="light"] .signal-badge.sell, [data-theme="light"] .signal-badge.badge-sell {
  background: var(--color-danger) !important;
  color: var(--text-inverse) !important;
}

/* line 589, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .badge {
  font-weight: 600 !important;
}

/* line 594, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stock-detail-expanded {
  background: var(--bg-secondary) !important;
  border-top: 1px solid var(--border-color) !important;
}

/* line 598, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stock-detail-expanded * {
  color: var(--text-primary);
}

/* line 604, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .event-item,
[data-theme="light"] .event-card,
[data-theme="light"] .macro-event-item,
[data-theme="light"] .stock-event-card {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  box-shadow: var(--shadow-card) !important;
}

/* line 613, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .event-item h3, [data-theme="light"] .event-item h4, [data-theme="light"] .event-item h5, [data-theme="light"] .event-item .event-title,
[data-theme="light"] .event-card h3,
[data-theme="light"] .event-card h4,
[data-theme="light"] .event-card h5,
[data-theme="light"] .event-card .event-title,
[data-theme="light"] .macro-event-item h3,
[data-theme="light"] .macro-event-item h4,
[data-theme="light"] .macro-event-item h5,
[data-theme="light"] .macro-event-item .event-title,
[data-theme="light"] .stock-event-card h3,
[data-theme="light"] .stock-event-card h4,
[data-theme="light"] .stock-event-card h5,
[data-theme="light"] .stock-event-card .event-title {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* line 618, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .event-item p, [data-theme="light"] .event-item .event-description,
[data-theme="light"] .event-card p,
[data-theme="light"] .event-card .event-description,
[data-theme="light"] .macro-event-item p,
[data-theme="light"] .macro-event-item .event-description,
[data-theme="light"] .stock-event-card p,
[data-theme="light"] .stock-event-card .event-description {
  color: var(--text-secondary) !important;
}

/* line 622, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .event-item .event-meta, [data-theme="light"] .event-item .event-date,
[data-theme="light"] .event-card .event-meta,
[data-theme="light"] .event-card .event-date,
[data-theme="light"] .macro-event-item .event-meta,
[data-theme="light"] .macro-event-item .event-date,
[data-theme="light"] .stock-event-card .event-meta,
[data-theme="light"] .stock-event-card .event-date {
  color: var(--text-muted) !important;
}

/* line 628, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] a:not(.btn):not(.nav-link) {
  color: var(--color-info) !important;
  font-weight: 500 !important;
}

/* line 632, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] a:not(.btn):not(.nav-link):hover {
  color: #0284c7 !important;
  text-decoration: underline !important;
}

/* line 639, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .refresh-status-component {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
}

/* line 643, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .refresh-status-component span, [data-theme="light"] .refresh-status-component p {
  color: var(--text-secondary) !important;
}

/* line 649, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .navbar {
  background: var(--navbar-bg) !important;
  border-bottom: 1px solid var(--navbar-border) !important;
  box-shadow: var(--shadow-card) !important;
}

/* line 654, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .navbar .nav-link {
  color: var(--text-secondary) !important;
  font-weight: 500 !important;
}

/* line 658, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .navbar .nav-link:hover {
  color: var(--text-primary) !important;
}

/* line 663, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .navbar .navbar-brand {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
}

/* line 670, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .card, [data-theme="light"] .panel {
  background: var(--bg-card-solid) !important;
}
/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Bootstrap tab-pane visibility fix — Bootstrap 5 removed display:none from .fade:not(.show) */
.tab-pane.fade:not(.show) {
  display: none !important;
}
.tab-pane.fade.show {
  display: block !important;
}

/* Landing styles are included separately via stylesheet_link_tag "landing" */
/* Subscription gate styles are included separately via stylesheet_link_tag "subscription_gate" */

/* Refresh Status Component Styles */
.stocks-section,
.opportunities-section {
  position: relative;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
}

.refresh-status-component {
  position: relative;
  margin-top: 10px;
  margin-bottom: 15px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.refresh-status-component .refresh-status-text {
  text-align: right;
}

.refresh-status-component .refresh-status-text .last-refreshed-text {
  color: var(--text-muted, #adb5bd);
  font-size: 0.8rem;
  font-weight: 500;
}

.refresh-status-component .refresh-loading-component {
  background: var(--glass-bg, rgba(0, 0, 0, 0.9));
  border-radius: var(--radius-sm, 6px);
  padding: 6px 10px;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--accent-primary-rgb, 0, 212, 170), 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  min-width: 180px;
  transition: all 0.3s ease;
  position: relative;
  display: none;
}

.refresh-status-component .refresh-loading-component.show {
  display: flex !important;
  animation: slideInFromTop 0.3s ease-out;
}

.refresh-status-component .refresh-loading-component .loading-content {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.refresh-status-component .refresh-loading-component .loading-content .loading-spinner {
  flex-shrink: 0;
}

.refresh-status-component .refresh-loading-component .loading-content .loading-spinner .spinner {
  width: 16px;
  height: 16px;
  border: 1px solid rgba(var(--accent-primary-rgb, 0, 212, 170), 0.3);
  border-top: 2px solid var(--accent-primary, #00d4aa);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  will-change: transform;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  -webkit-animation: spin 1s linear infinite;
}

.refresh-status-component .refresh-loading-component .loading-content .loading-text {
  flex: 1;
  min-width: 0;
}

.refresh-status-component .refresh-loading-component .loading-content .loading-text .loading-message {
  color: var(--accent-primary, #00d4aa);
  font-size: 0.8rem;
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.refresh-status-component .refresh-loading-component .loading-content .loading-text .loading-progress {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  overflow: hidden;
}

.refresh-status-component .refresh-loading-component .loading-content .loading-text .loading-progress .progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--accent-primary, #00d4aa), var(--accent-secondary, #00d4ff));
  border-radius: 2px;
  width: 0%;
  transition: width 0.3s ease;
  position: relative;
}

.refresh-status-component .refresh-loading-component .loading-content .loading-text .loading-progress .progress-bar::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  animation: shimmer 2s infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes slideInFromTop {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@media (max-width: 768px) {
  .refresh-status-component {
    top: 5px;
    right: 10px;
  }
  
  .refresh-status-component .refresh-loading-component {
    min-width: 280px;
    padding: 6px 10px;
  }
  
  .refresh-status-component .refresh-loading-component .loading-content {
    gap: 6px;
  }
  
  .refresh-status-component .refresh-loading-component .loading-content .loading-spinner .spinner {
    width: 14px;
    height: 14px;
  }
  
  .refresh-status-component .refresh-loading-component .loading-content .loading-text .loading-message {
    font-size: 0.75rem;
  }
}

/* Navbar Logo Styling */
.navbar-logo {
  width: 4rem;
  height: 4rem;
  filter: drop-shadow(0 2px 4px rgba(0, 212, 170, 0.3));
  transition: all 0.3s ease;
  transform: scale(1.5);
  transform-origin: left center;
}

.navbar-logo:hover {
  transform: scale(1.6);
  filter: drop-shadow(0 4px 8px rgba(0, 212, 170, 0.4));
}

.navbar-brand {
  font-weight: 700;
  font-size: 1rem;
}

/* Mobile adjustments for navbar brand and logo */
@media (max-width: 575px) {
  .navbar-brand {
    font-size: 0.75rem !important;
    max-width: 60%;
  }
  
  .navbar-logo {
    width: 2rem !important;
    height: 2rem !important;
    transform: scale(1.2) !important;
  }
}

/* Modal z-index fixes to ensure they appear above everything */
.modal-backdrop {
  z-index: 1040 !important;
}

.modal {
  z-index: 1050 !important;
}

.modal-dialog {
  z-index: 1060 !important;
}

body.webview-mode .cky-btn-revisit-wrapper {
  display: none !important;
}

.cky-btn-revisit-wrapper.cky-revisit-bottom-left {
  bottom: 15px !important;
  left: auto !important;
  right: 15px !important;
}

/* Error pages (404, 500) */
.error-page-container {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 80px);
  padding: 2rem;
}

.error-page-content {
  text-align: center;
  max-width: 480px;
}

.error-code {
  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, var(--accent-primary, #00d4aa), var(--accent-secondary, #00d4ff));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 1rem;
}

.error-icon {
  color: var(--text-muted, #adb5bd);
  margin-bottom: 1.5rem;
}

.error-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text-primary, #fff);
  margin-bottom: 0.75rem;
}

.error-description {
  color: var(--text-muted, #adb5bd);
  font-size: 1rem;
  margin-bottom: 2rem;
  line-height: 1.6;
}

.btn-error-home {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, var(--accent-primary, #00d4aa), var(--accent-secondary, #00d4ff));
  color: #000;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: var(--radius-md, 8px);
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.btn-error-home:hover {
  opacity: 0.9;
  transform: translateY(-1px);
  color: #000;
  text-decoration: none;
}
/* line 28, app/assets/stylesheets/landing.scss */
* {
  box-sizing: border-box;
}

/* line 32, app/assets/stylesheets/landing.scss */
html {
  background: #0a0e27 !important;
}

/* line 36, app/assets/stylesheets/landing.scss */
#main-content {
  background: #0a0e27 !important;
  background-color: #0a0e27 !important;
  min-height: 100vh;
}

/* line 43, app/assets/stylesheets/landing.scss */
.container,
.container-fluid,
.row,
.col,
[class*="col-"] {
  background: transparent !important;
  background-color: transparent !important;
}

/* line 52, app/assets/stylesheets/landing.scss */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.6;
  color: #ffffff !important;
  background: #0a0e27 !important;
  background-color: #0a0e27 !important;
  overflow-x: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

/* line 64, app/assets/stylesheets/landing.scss */
body.bg-light,
body.bg-white {
  background: #0a0e27 !important;
  background-color: #0a0e27 !important;
}

/* line 71, app/assets/stylesheets/landing.scss */
.navbar-dark {
  background: rgba(10, 14, 39, 0.95) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 78, app/assets/stylesheets/landing.scss */
.hero-section {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 25%, #0f1419 50%, #1a1f3a 75%, #0a0e27 100%) !important;
  overflow: hidden;
  z-index: 1;
  padding: 2rem 0;
}

/* line 88, app/assets/stylesheets/landing.scss */
.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 20%, rgba(0, 212, 170, 0.15) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(0, 168, 255, 0.15) 0%, transparent 50%), radial-gradient(circle at 40% 60%, rgba(255, 107, 107, 0.1) 0%, transparent 50%), radial-gradient(circle at 60% 40%, rgba(168, 85, 247, 0.1) 0%, transparent 50%);
  animation: backgroundShift 20s ease-in-out infinite;
  z-index: 1;
}

/* line 104, app/assets/stylesheets/landing.scss */
.hero-section .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}

/* line 112, app/assets/stylesheets/landing.scss */
.hero-section .hero-background .hero-grid {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(0, 212, 170, 0.2) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 212, 170, 0.2) 1px, transparent 1px), linear-gradient(rgba(0, 168, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 168, 255, 0.1) 1px, transparent 1px);
  background-size: 100px 100px, 100px 100px, 200px 200px, 200px 200px;
  animation: gridMove 30s linear infinite, gridPulse 8s ease-in-out infinite;
}

/* line 127, app/assets/stylesheets/landing.scss */
.hero-section .hero-background .hero-particles {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 15% 15%, rgba(0, 212, 170, 0.3) 0%, transparent 30%), radial-gradient(circle at 85% 85%, rgba(0, 168, 255, 0.3) 0%, transparent 30%), radial-gradient(circle at 50% 20%, rgba(255, 107, 107, 0.2) 0%, transparent 40%), radial-gradient(circle at 20% 80%, rgba(168, 85, 247, 0.2) 0%, transparent 40%), radial-gradient(circle at 80% 20%, rgba(255, 193, 7, 0.15) 0%, transparent 50%);
  animation: particleFloat 25s ease-in-out infinite;
}

/* line 142, app/assets/stylesheets/landing.scss */
.hero-section .hero-background .hero-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.1) 30%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: glowPulse 6s ease-in-out infinite;
}

/* line 153, app/assets/stylesheets/landing.scss */
.hero-section .hero-background .hero-lines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(45deg, transparent 48%, rgba(0, 212, 170, 0.1) 49%, rgba(0, 212, 170, 0.1) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(0, 168, 255, 0.1) 49%, rgba(0, 168, 255, 0.1) 51%, transparent 52%);
  background-size: 300px 300px, 300px 300px;
  animation: lineMove 40s linear infinite;
}

/* line 167, app/assets/stylesheets/landing.scss */
.hero-section .container {
  position: relative;
  z-index: 2;
}

/* line 172, app/assets/stylesheets/landing.scss */
.hero-section .hero-content {
  color: #ffffff;
}

/* line 175, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 50px;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #00d4aa;
  margin-bottom: 1.5rem;
}

/* line 188, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-badge i {
  font-size: 1rem;
}

/* line 193, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-title {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

/* line 199, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-title .gradient-text {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: glow 2s ease-in-out infinite alternate;
}

/* line 207, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-title .hero-subtitle {
  font-size: 1.5rem;
  font-weight: 400;
  color: #a0aec0;
}

/* line 214, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-description {
  font-size: 1.2rem;
  color: #a0aec0;
  margin-bottom: 2rem;
  max-width: 500px;
  line-height: 1.6;
}

/* line 222, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-stats {
  display: flex;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

/* line 227, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-stats .stat-item {
  text-align: center;
}

/* line 230, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-stats .stat-item .stat-number {
  font-size: 2rem;
  font-weight: 700;
  color: #00d4aa;
  margin-bottom: 0.5rem;
  text-shadow: 0 0 20px rgba(0, 212, 170, 0.3);
}

/* line 238, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-stats .stat-item .stat-label {
  font-size: 0.9rem;
  color: #a0aec0;
}

/* line 246, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-actions .btn {
  padding: 12px 30px;
  font-weight: 600;
  border-radius: 50px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 254, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-actions .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.2);
}

/* line 260, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-actions .welcome-card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* line 271, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-actions .welcome-card .welcome-icon {
  font-size: 3rem;
  color: #ff6b6b;
}

/* line 277, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-actions .welcome-card .welcome-content h4 {
  margin-bottom: 0.5rem;
  color: #ffffff;
}

/* line 282, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-actions .welcome-card .welcome-content p {
  margin-bottom: 1rem;
  opacity: 0.9;
}

/* line 291, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual {
  position: relative;
  height: 450px;
}

/* line 295, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview {
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 16px;
  padding: 1rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* line 306, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent 30%, rgba(0, 212, 170, 0.05) 50%, transparent 70%);
  animation: shimmer 3s ease-in-out infinite;
}

/* line 317, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 325, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
}

/* line 331, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #00d4aa;
}

/* line 338, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-status .status-dot {
  width: 8px;
  height: 8px;
  background: #00d4aa;
  border-radius: 50%;
  animation: pulse 2s ease-in-out infinite;
}

/* line 349, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container {
  margin-bottom: 1.5rem;
}

/* line 352, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 358, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

/* line 365, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header .chart-trend {
  font-size: 0.9rem;
  font-weight: 700;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 371, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header .chart-trend.positive {
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.1);
}

/* line 378, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .mini-chart {
  height: 60px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 0.5rem;
}

/* line 384, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .mini-chart .chart-svg {
  width: 100%;
  height: 100%;
}

/* line 392, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .ai-insights .insight-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  margin-bottom: 0.75rem;
}

/* line 401, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .ai-insights .insight-item:last-child {
  margin-bottom: 0;
}

/* line 405, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .ai-insights .insight-item .insight-icon {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #ffffff;
}

/* line 418, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .ai-insights .insight-item .insight-content .insight-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #a0aec0;
  margin-bottom: 0.25rem;
}

/* line 425, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-content .ai-insights .insight-item .insight-content .insight-text {
  font-size: 0.9rem;
  color: #ffffff;
}

/* line 438, app/assets/stylesheets/landing.scss */
.features-section {
  padding: 100px 0;
  background: linear-gradient(135deg, #050811 0%, #0a0e27 25%, #1a1f3a 50%, #0a0e27 75%, #050811 100%);
  position: relative;
  overflow: hidden;
}

/* line 444, app/assets/stylesheets/landing.scss */
.features-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 10% 10%, rgba(0, 212, 170, 0.1) 0%, transparent 50%), radial-gradient(circle at 90% 90%, rgba(0, 168, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(168, 85, 247, 0.05) 0%, transparent 70%);
  animation: backgroundShift 25s ease-in-out infinite;
  z-index: 1;
}

/* line 459, app/assets/stylesheets/landing.scss */
.features-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(45deg, transparent 48%, rgba(0, 212, 170, 0.05) 49%, rgba(0, 212, 170, 0.05) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(0, 168, 255, 0.05) 49%, rgba(0, 168, 255, 0.05) 51%, transparent 52%);
  background-size: 400px 400px, 400px 400px;
  animation: lineMove 50s linear infinite;
  z-index: 1;
}

/* line 474, app/assets/stylesheets/landing.scss */
.features-section .container {
  position: relative;
  z-index: 2;
}

/* line 479, app/assets/stylesheets/landing.scss */
.features-section .section-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
  text-align: center;
  text-shadow: 0 0 30px rgba(0, 212, 170, 0.3);
}

/* line 488, app/assets/stylesheets/landing.scss */
.features-section .section-subtitle {
  font-size: 1.2rem;
  color: #a0aec0;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

/* line 496, app/assets/stylesheets/landing.scss */
.features-section .feature-card {
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(0, 212, 170, 0.1);
  border-radius: 16px;
  padding: 2.5rem 2rem;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* line 508, app/assets/stylesheets/landing.scss */
.features-section .feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 212, 170, 0.1), transparent);
  transition: left 0.5s ease;
}

/* line 519, app/assets/stylesheets/landing.scss */
.features-section .feature-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.2);
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 524, app/assets/stylesheets/landing.scss */
.features-section .feature-card:hover::before {
  left: 100%;
}

/* line 529, app/assets/stylesheets/landing.scss */
.features-section .feature-card .feature-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 1.5rem;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #ffffff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 0 30px rgba(0, 212, 170, 0.3);
}

/* line 544, app/assets/stylesheets/landing.scss */
.features-section .feature-card:hover .feature-icon {
  transform: scale(1.1);
  box-shadow: 0 0 40px rgba(0, 212, 170, 0.4);
}

/* line 549, app/assets/stylesheets/landing.scss */
.features-section .feature-card h4 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
}

/* line 556, app/assets/stylesheets/landing.scss */
.features-section .feature-card p {
  color: #a0aec0;
  line-height: 1.6;
}

/* line 564, app/assets/stylesheets/landing.scss */
.how-it-works-section {
  padding: 100px 0;
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 25%, #0f1419 50%, #1a1f3a 75%, #0a0e27 100%);
  position: relative;
  overflow: hidden;
}

/* line 570, app/assets/stylesheets/landing.scss */
.how-it-works-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 20%, rgba(0, 168, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 70% 80%, rgba(0, 212, 170, 0.1) 0%, transparent 50%), radial-gradient(circle at 20% 70%, rgba(255, 107, 107, 0.05) 0%, transparent 60%);
  animation: backgroundShift 30s ease-in-out infinite;
  z-index: 1;
}

/* line 585, app/assets/stylesheets/landing.scss */
.how-it-works-section .container {
  position: relative;
  z-index: 2;
}

/* line 590, app/assets/stylesheets/landing.scss */
.how-it-works-section .section-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
  text-align: center;
  text-shadow: 0 0 30px rgba(0, 168, 255, 0.3);
}

/* line 599, app/assets/stylesheets/landing.scss */
.how-it-works-section .section-subtitle {
  font-size: 1.2rem;
  color: #a0aec0;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

/* line 607, app/assets/stylesheets/landing.scss */
.how-it-works-section .step-card {
  text-align: center;
  position: relative;
}

/* line 611, app/assets/stylesheets/landing.scss */
.how-it-works-section .step-card .step-number {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 auto 2rem;
  position: relative;
  z-index: 2;
  box-shadow: 0 0 30px rgba(0, 212, 170, 0.3);
}

/* line 627, app/assets/stylesheets/landing.scss */
.how-it-works-section .step-card .step-number::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 100%;
  width: 100px;
  height: 2px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  transform: translateY(-50%);
  z-index: 1;
}

/* line 640, app/assets/stylesheets/landing.scss */
.how-it-works-section .step-card:last-child .step-number::after {
  display: none;
}

/* line 645, app/assets/stylesheets/landing.scss */
.how-it-works-section .step-card .step-content h4 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
}

/* line 652, app/assets/stylesheets/landing.scss */
.how-it-works-section .step-card .step-content p {
  color: #a0aec0;
  line-height: 1.6;
}

/* line 661, app/assets/stylesheets/landing.scss */
.tech-stack-section {
  padding: 100px 0;
  background: linear-gradient(135deg, #050811 0%, #0a0e27 25%, #1a1f3a 50%, #0a0e27 75%, #050811 100%);
  position: relative;
  overflow: hidden;
}

/* line 667, app/assets/stylesheets/landing.scss */
.tech-stack-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 30%, rgba(168, 85, 247, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(0, 212, 170, 0.1) 0%, transparent 50%), radial-gradient(circle at 50% 10%, rgba(255, 193, 7, 0.05) 0%, transparent 60%);
  animation: backgroundShift 35s ease-in-out infinite;
  z-index: 1;
}

/* line 682, app/assets/stylesheets/landing.scss */
.tech-stack-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(30deg, transparent 48%, rgba(0, 168, 255, 0.03) 49%, rgba(0, 168, 255, 0.03) 51%, transparent 52%), linear-gradient(-30deg, transparent 48%, rgba(0, 212, 170, 0.03) 49%, rgba(0, 212, 170, 0.03) 51%, transparent 52%);
  background-size: 500px 500px, 500px 500px;
  animation: lineMove 60s linear infinite;
  z-index: 1;
}

/* line 697, app/assets/stylesheets/landing.scss */
.tech-stack-section .container {
  position: relative;
  z-index: 2;
}

/* line 702, app/assets/stylesheets/landing.scss */
.tech-stack-section .section-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
  text-align: center;
  text-shadow: 0 0 30px rgba(168, 85, 247, 0.3);
}

/* line 711, app/assets/stylesheets/landing.scss */
.tech-stack-section .section-subtitle {
  font-size: 1.2rem;
  color: #a0aec0;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

/* line 719, app/assets/stylesheets/landing.scss */
.tech-stack-section .tech-item {
  text-align: center;
  padding: 2rem 1rem;
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(0, 212, 170, 0.1);
  border-radius: 16px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
}

/* line 728, app/assets/stylesheets/landing.scss */
.tech-stack-section .tech-item:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 212, 170, 0.3);
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.2);
}

/* line 734, app/assets/stylesheets/landing.scss */
.tech-stack-section .tech-item .tech-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 1.5rem;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #ffffff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 748, app/assets/stylesheets/landing.scss */
.tech-stack-section .tech-item:hover .tech-icon {
  transform: scale(1.1);
  box-shadow: 0 0 30px rgba(0, 212, 170, 0.3);
}

/* line 753, app/assets/stylesheets/landing.scss */
.tech-stack-section .tech-item h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
}

/* line 760, app/assets/stylesheets/landing.scss */
.tech-stack-section .tech-item p {
  color: #a0aec0;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 769, app/assets/stylesheets/landing.scss */
.cta-section {
  padding: 100px 0;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 25%, #667eea 50%, #764ba2 75%, #f093fb 100%);
  color: #ffffff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* line 777, app/assets/stylesheets/landing.scss */
.cta-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.05) 0%, transparent 70%);
  animation: backgroundShift 20s ease-in-out infinite;
  z-index: 1;
}

/* line 792, app/assets/stylesheets/landing.scss */
.cta-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(45deg, transparent 48%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0.1) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0.1) 51%, transparent 52%);
  background-size: 200px 200px, 200px 200px;
  animation: lineMove 30s linear infinite;
  z-index: 1;
}

/* line 807, app/assets/stylesheets/landing.scss */
.cta-section .container {
  position: relative;
  z-index: 2;
}

/* line 812, app/assets/stylesheets/landing.scss */
.cta-section .cta-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-shadow: 0 0 30px rgba(255, 255, 255, 0.5);
}

/* line 819, app/assets/stylesheets/landing.scss */
.cta-section .cta-description {
  font-size: 1.2rem;
  opacity: 0.9;
  margin-bottom: 2rem;
}

/* line 826, app/assets/stylesheets/landing.scss */
.cta-section .cta-actions .btn {
  padding: 12px 30px;
  font-weight: 600;
  border-radius: 50px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
}

/* line 837, app/assets/stylesheets/landing.scss */
.cta-section .cta-actions .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.3);
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(5deg);
  }
}

@keyframes glow {
  from {
    text-shadow: 0 0 20px rgba(0, 212, 170, 0.5);
  }
  to {
    text-shadow: 0 0 30px rgba(0, 212, 170, 0.8);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.05);
  }
}

@keyframes gridMove {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(50px, 50px);
  }
}

@keyframes gridPulse {
  0%, 100% {
    opacity: 0.2;
  }
  50% {
    opacity: 0.4;
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes backgroundShift {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.1;
  }
  25% {
    transform: translate(20px, -20px) scale(1.1);
    opacity: 0.2;
  }
  50% {
    transform: translate(-20px, 20px) scale(0.9);
    opacity: 0.15;
  }
  75% {
    transform: translate(10px, 10px) scale(1.05);
    opacity: 0.25;
  }
}

@keyframes backgroundShiftMobile {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.08;
  }
  50% {
    transform: translate(5px, -5px) scale(1.02);
    opacity: 0.12;
  }
}

@keyframes particleFloat {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0.3;
  }
  25% {
    transform: translate(30px, -30px) rotate(90deg);
    opacity: 0.5;
  }
  50% {
    transform: translate(-30px, 30px) rotate(180deg);
    opacity: 0.4;
  }
  75% {
    transform: translate(15px, 15px) rotate(270deg);
    opacity: 0.6;
  }
}

@keyframes glowPulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.2;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.4;
  }
}

@keyframes lineMove {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(100px, 100px);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1200px) {
  /* line 979, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-title {
    font-size: 3rem;
  }
  /* line 983, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview {
    height: 400px;
  }
}

@media (max-width: 992px) {
  /* line 991, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content {
    text-align: center;
    margin-bottom: 3rem;
  }
  /* line 995, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-title {
    font-size: 2.5rem;
  }
  /* line 999, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-stats {
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  /* line 1006, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual {
    height: 350px;
  }
  /* line 1009, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview {
    height: 100%;
  }
  /* line 1015, app/assets/stylesheets/landing.scss */
  .features-section,
.how-it-works-section,
.tech-stack-section,
.cta-section {
    padding: 80px 0;
  }
  /* line 1022, app/assets/stylesheets/landing.scss */
  .how-it-works-section .step-card .step-number::after {
    display: none;
  }
}

@media (max-width: 768px) {
  /* line 1030, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-title {
    font-size: 2rem;
  }
  /* line 1033, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-title .hero-subtitle {
    font-size: 1.2rem;
  }
  /* line 1038, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-description {
    font-size: 1rem;
  }
  /* line 1042, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-stats {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 1046, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-stats .stat-item .stat-number {
    font-size: 1.5rem;
  }
  /* line 1051, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .welcome-card {
    flex-direction: column;
    text-align: center;
  }
  /* line 1058, app/assets/stylesheets/landing.scss */
  .features-section,
.how-it-works-section,
.tech-stack-section,
.cta-section {
    padding: 60px 0;
  }
  /* line 1064, app/assets/stylesheets/landing.scss */
  .features-section .section-title,
.how-it-works-section .section-title,
.tech-stack-section .section-title,
.cta-section .section-title {
    font-size: 2rem;
  }
  /* line 1068, app/assets/stylesheets/landing.scss */
  .features-section .section-subtitle,
.how-it-works-section .section-subtitle,
.tech-stack-section .section-subtitle,
.cta-section .section-subtitle {
    font-size: 1rem;
  }
  /* line 1073, app/assets/stylesheets/landing.scss */
  .feature-card {
    padding: 2rem 1.5rem;
  }
}

@media (max-width: 576px) {
  /* line 1081, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-title {
    font-size: 1.8rem;
  }
  /* line 1085, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-actions .btn {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
  }
  /* line 1094, app/assets/stylesheets/landing.scss */
  .cta-section .cta-actions .btn {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
  }
}

@media (max-width: 480px) {
  /* All animation restrictions removed */
  /* line 1109, app/assets/stylesheets/landing.scss */
  .hero-section {
    min-height: auto !important;
    padding: 1rem 0 !important;
  }
  /* line 1114, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-title {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1120, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-subtitle {
    font-size: 0.9rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 1125, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-description {
    font-size: 0.85rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 1131, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-actions .btn {
    padding: 0.6rem 1rem !important;
    font-size: 0.85rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1138, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-stats {
    gap: 0.5rem !important;
  }
  /* line 1141, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-stats .stat-item {
    padding: 0.5rem !important;
  }
  /* line 1144, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-stats .stat-item .stat-value {
    font-size: 1.25rem !important;
  }
  /* line 1148, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-stats .stat-item .stat-label {
    font-size: 0.6rem !important;
  }
  /* line 1156, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual {
    height: auto !important;
    min-height: 280px !important;
    margin-top: 1rem !important;
  }
  /* line 1161, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview {
    padding: 0.75rem !important;
    height: auto !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* line 1169, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header {
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.5rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 1174, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-title {
    font-size: 0.85rem !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }
  /* line 1180, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-status {
    font-size: 0.6rem !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  /* line 1185, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-status span {
    display: none !important;
  }
  /* line 1189, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-status .status-dot {
    width: 6px !important;
    height: 6px !important;
  }
  /* line 1197, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container {
    margin-bottom: 0.75rem !important;
  }
  /* line 1200, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 1203, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header h4 {
    font-size: 0.8rem !important;
  }
  /* line 1207, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header .chart-badge {
    font-size: 0.7rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  /* line 1213, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-placeholder {
    height: 60px !important;
  }
  /* line 1218, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards {
    gap: 0.5rem !important;
  }
  /* line 1221, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card {
    padding: 0.5rem !important;
  }
  /* line 1224, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card .signal-icon {
    width: 28px !important;
    height: 28px !important;
  }
  /* line 1228, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card .signal-icon i {
    font-size: 0.7rem !important;
  }
  /* line 1234, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card .signal-content h5 {
    font-size: 0.7rem !important;
  }
  /* line 1238, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card .signal-content p {
    font-size: 0.65rem !important;
  }
  /* line 1250, app/assets/stylesheets/landing.scss */
  .section-title {
    font-size: 1.4rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1255, app/assets/stylesheets/landing.scss */
  .section-subtitle {
    font-size: 0.85rem !important;
    margin-bottom: 1.5rem !important;
  }
  /* line 1261, app/assets/stylesheets/landing.scss */
  .features-section,
.how-it-works-section,
.tech-stack-section,
.pricing-section,
.cta-section {
    padding: 2rem 0 !important;
  }
  /* line 1270, app/assets/stylesheets/landing.scss */
  .feature-card {
    padding: 1rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1274, app/assets/stylesheets/landing.scss */
  .feature-card .feature-icon {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1279, app/assets/stylesheets/landing.scss */
  .feature-card .feature-icon i {
    font-size: 1rem !important;
  }
  /* line 1284, app/assets/stylesheets/landing.scss */
  .feature-card h3 {
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1289, app/assets/stylesheets/landing.scss */
  .feature-card p {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
  }
  /* line 1296, app/assets/stylesheets/landing.scss */
  .step-card {
    padding: 1rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1300, app/assets/stylesheets/landing.scss */
  .step-card .step-number {
    width: 36px !important;
    height: 36px !important;
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1307, app/assets/stylesheets/landing.scss */
  .step-card h3 {
    font-size: 1rem !important;
  }
  /* line 1311, app/assets/stylesheets/landing.scss */
  .step-card p {
    font-size: 0.8rem !important;
  }
  /* line 1317, app/assets/stylesheets/landing.scss */
  .pricing-card {
    padding: 1.25rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 1322, app/assets/stylesheets/landing.scss */
  .pricing-card .pricing-header h3 {
    font-size: 1.1rem !important;
  }
  /* line 1326, app/assets/stylesheets/landing.scss */
  .pricing-card .pricing-header .price {
    font-size: 1.75rem !important;
  }
  /* line 1329, app/assets/stylesheets/landing.scss */
  .pricing-card .pricing-header .price .period {
    font-size: 0.75rem !important;
  }
  /* line 1336, app/assets/stylesheets/landing.scss */
  .pricing-card .pricing-features li {
    font-size: 0.8rem !important;
    padding: 0.35rem 0 !important;
  }
  /* line 1342, app/assets/stylesheets/landing.scss */
  .pricing-card .btn {
    padding: 0.6rem 1rem !important;
    font-size: 0.85rem !important;
  }
  /* line 1350, app/assets/stylesheets/landing.scss */
  .cta-section .cta-title {
    font-size: 1.4rem !important;
  }
  /* line 1354, app/assets/stylesheets/landing.scss */
  .cta-section .cta-subtitle {
    font-size: 0.9rem !important;
  }
  /* line 1358, app/assets/stylesheets/landing.scss */
  .cta-section .cta-actions .btn {
    padding: 0.6rem 1.25rem !important;
    font-size: 0.85rem !important;
  }
  /* line 1365, app/assets/stylesheets/landing.scss */
  .tech-item {
    padding: 0.75rem !important;
  }
  /* line 1368, app/assets/stylesheets/landing.scss */
  .tech-item i {
    font-size: 1.5rem !important;
  }
  /* line 1372, app/assets/stylesheets/landing.scss */
  .tech-item span {
    font-size: 0.7rem !important;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  /* All animation restrictions removed */
  /* line 1384, app/assets/stylesheets/landing.scss */
  .hero-section {
    min-height: auto !important;
    padding: 1.5rem 0 !important;
  }
  /* line 1389, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-title {
    font-size: 1.75rem !important;
  }
  /* line 1393, app/assets/stylesheets/landing.scss */
  .hero-section .hero-content .hero-subtitle {
    font-size: 1rem !important;
  }
  /* line 1399, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual {
    height: auto !important;
    min-height: 320px !important;
  }
  /* line 1403, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview {
    padding: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  /* line 1410, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header {
    flex-wrap: nowrap !important;
  }
  /* line 1413, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-title {
    font-size: 0.95rem !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }
  /* line 1419, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-status {
    font-size: 0.7rem !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  /* line 1428, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-header h4 {
    font-size: 0.9rem !important;
  }
  /* line 1432, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .chart-container .chart-placeholder {
    height: 80px !important;
  }
  /* line 1437, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card {
    padding: 0.6rem !important;
  }
  /* line 1440, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card .signal-icon {
    width: 32px !important;
    height: 32px !important;
  }
  /* line 1446, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card .signal-content h5 {
    font-size: 0.75rem !important;
  }
  /* line 1450, app/assets/stylesheets/landing.scss */
  .hero-section .hero-visual .dashboard-preview .dashboard-content .signal-cards .signal-card .signal-content p {
    font-size: 0.7rem !important;
  }
  /* line 1460, app/assets/stylesheets/landing.scss */
  .section-title {
    font-size: 1.6rem !important;
  }
  /* line 1464, app/assets/stylesheets/landing.scss */
  .section-subtitle {
    font-size: 0.95rem !important;
  }
  /* line 1468, app/assets/stylesheets/landing.scss */
  .features-section,
.how-it-works-section,
.tech-stack-section,
.pricing-section,
.cta-section {
    padding: 3rem 0 !important;
  }
  /* line 1476, app/assets/stylesheets/landing.scss */
  .feature-card {
    padding: 1.25rem !important;
  }
  /* line 1479, app/assets/stylesheets/landing.scss */
  .feature-card .feature-icon {
    width: 48px !important;
    height: 48px !important;
  }
  /* line 1484, app/assets/stylesheets/landing.scss */
  .feature-card h3 {
    font-size: 1.1rem !important;
  }
  /* line 1488, app/assets/stylesheets/landing.scss */
  .feature-card p {
    font-size: 0.85rem !important;
  }
  /* line 1493, app/assets/stylesheets/landing.scss */
  .pricing-card {
    padding: 1.5rem !important;
  }
}

/* line 1502, app/assets/stylesheets/landing.scss */
html {
  scroll-behavior: smooth;
}

/* line 1507, app/assets/stylesheets/landing.scss */
::-webkit-scrollbar {
  width: 8px;
}

/* line 1511, app/assets/stylesheets/landing.scss */
::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* line 1515, app/assets/stylesheets/landing.scss */
::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 4px;
}

/* line 1520, app/assets/stylesheets/landing.scss */
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
/* line 11, app/assets/stylesheets/landing_v2.scss */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* line 45, app/assets/stylesheets/landing_v2.scss */
html, body {
  overflow-x: clip !important;
  max-width: 100vw !important;
}

@media (max-width: 576px) {
  /* line 54, app/assets/stylesheets/landing_v2.scss */
  *,
*::before,
*::after {
    max-width: 100vw;
  }
  /* line 60, app/assets/stylesheets/landing_v2.scss */
  .container,
.container-fluid,
section:not(.device-showcase-section) {
    overflow-x: clip !important;
    max-width: 100% !important;
  }
}

/* line 71, app/assets/stylesheets/landing_v2.scss */
.hero-section-v2 {
  position: relative;
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 120px 0 80px;
  background: #0a0e1a;
  overflow: hidden;
}

/* line 83, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}

/* line 91, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 .hero-grid-v2 {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 50% at 50% 0%, black 70%, transparent 100%);
}

/* line 101, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 .hero-glow-v2 {
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 1000px;
  height: 600px;
  background: radial-gradient(ellipse, rgba(0, 212, 170, 0.15) 0%, rgba(0, 168, 255, 0.08) 40%, transparent 70%);
  filter: blur(60px);
}

/* line 113, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 .hero-orbs .orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
  animation: float 20s ease-in-out infinite;
}

/* line 120, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 .hero-orbs .orb-1 {
  top: 20%;
  left: 10%;
  width: 300px;
  height: 300px;
  background: #00d4aa;
}

/* line 127, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 .hero-orbs .orb-2 {
  top: 60%;
  right: 10%;
  width: 400px;
  height: 400px;
  background: #00a8ff;
  animation-delay: -7s;
}

/* line 135, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 .hero-orbs .orb-3 {
  top: 40%;
  left: 50%;
  width: 200px;
  height: 200px;
  background: #a855f7;
  animation-delay: -14s;
}

@keyframes float {
  0%, 100% {
    transform: translate(0, 0);
  }
  33% {
    transform: translate(30px, -30px);
  }
  66% {
    transform: translate(-20px, 20px);
  }
}

/* line 152, app/assets/stylesheets/landing_v2.scss */
.hero-content-v2 {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

/* line 162, app/assets/stylesheets/landing_v2.scss */
.announcement-banner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 100px;
  margin-bottom: 24px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 174, app/assets/stylesheets/landing_v2.scss */
.announcement-banner:hover {
  border-color: rgba(0, 212, 170, 0.3);
  background: rgba(0, 212, 170, 0.05);
}

/* line 179, app/assets/stylesheets/landing_v2.scss */
.announcement-banner .announcement-badge {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 100px;
  letter-spacing: 0.5px;
}

/* line 189, app/assets/stylesheets/landing_v2.scss */
.announcement-banner .announcement-text {
  color: #94a3b8;
  font-size: 14px;
}

/* line 194, app/assets/stylesheets/landing_v2.scss */
.announcement-banner i {
  color: #64748b;
  font-size: 12px;
}

/* line 201, app/assets/stylesheets/landing_v2.scss */
.hero-headline {
  font-size: clamp(40px, 6vw, 64px);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

/* line 208, app/assets/stylesheets/landing_v2.scss */
.hero-headline .headline-line {
  display: block;
  color: #ffffff;
}

/* line 214, app/assets/stylesheets/landing_v2.scss */
.gradient-text-v2 {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 221, app/assets/stylesheets/landing_v2.scss */
.hero-subheadline {
  font-size: clamp(16px, 2vw, 19px);
  color: #94a3b8;
  max-width: 580px;
  margin: 0 auto 32px;
  line-height: 1.5;
  font-weight: 400;
}

/* line 231, app/assets/stylesheets/landing_v2.scss */
.hero-cta-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

/* line 240, app/assets/stylesheets/landing_v2.scss */
.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
  font-weight: 600;
  font-size: 16px;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 20px rgba(0, 212, 170, 0.3);
}

/* line 254, app/assets/stylesheets/landing_v2.scss */
.btn-hero-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0, 212, 170, 0.4);
  color: #000;
}

/* line 260, app/assets/stylesheets/landing_v2.scss */
.btn-hero-primary i {
  font-size: 14px;
}

/* line 263, app/assets/stylesheets/landing_v2.scss */
.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: transparent;
  color: #ffffff;
  font-weight: 600;
  font-size: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 277, app/assets/stylesheets/landing_v2.scss */
.btn-hero-secondary:hover {
  border-color: rgba(0, 212, 170, 0.5);
  background: rgba(0, 212, 170, 0.05);
  color: #ffffff;
}

/* line 285, app/assets/stylesheets/landing_v2.scss */
.hero-trust-section {
  margin-top: 32px;
}

/* line 289, app/assets/stylesheets/landing_v2.scss */
.hero-social-proof-link {
  text-decoration: none;
  color: inherit;
  display: block;
  transition: opacity 0.2s ease;
}

/* line 295, app/assets/stylesheets/landing_v2.scss */
.hero-social-proof-link:hover {
  opacity: 0.9;
}

/* line 300, app/assets/stylesheets/landing_v2.scss */
.hero-social-proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 16px 24px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  max-width: 600px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin: 0 auto;
}

/* line 314, app/assets/stylesheets/landing_v2.scss */
.hero-social-proof:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
}

/* line 322, app/assets/stylesheets/landing_v2.scss */
.avatars-stack {
  display: flex;
}

/* line 325, app/assets/stylesheets/landing_v2.scss */
.avatars-stack .avatar-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #0a0e1a;
  margin-left: -10px;
  transition: transform 0.2s ease;
}

/* line 333, app/assets/stylesheets/landing_v2.scss */
.avatars-stack .avatar-circle:first-child {
  margin-left: 0;
}

/* line 335, app/assets/stylesheets/landing_v2.scss */
.avatars-stack .avatar-circle:hover {
  transform: translateY(-2px);
  z-index: 10;
}

/* line 341, app/assets/stylesheets/landing_v2.scss */
.avatars-stack .avatar-more {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  border: 2px solid #0a0e1a;
  margin-left: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: white;
}

/* line 357, app/assets/stylesheets/landing_v2.scss */
.social-proof-text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 363, app/assets/stylesheets/landing_v2.scss */
.social-proof-text {
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  margin: 0;
}

/* line 370, app/assets/stylesheets/landing_v2.scss */
.live-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #00d4aa;
  font-weight: 600;
}

/* line 378, app/assets/stylesheets/landing_v2.scss */
.live-badge .live-dot {
  width: 8px;
  height: 8px;
  background: #00d4aa;
  border-radius: 50%;
  animation: pulse-dot 2s ease-in-out infinite;
  box-shadow: 0 0 0 0 rgba(0, 212, 170, 0.7);
}

@keyframes pulse-dot {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(0, 212, 170, 0.7);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(0, 212, 170, 0);
  }
}

/* line 400, app/assets/stylesheets/landing_v2.scss */
.hero-visual-v2 {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 60px auto 0;
  padding: 0 20px;
  z-index: 2;
}

/* line 409, app/assets/stylesheets/landing_v2.scss */
.browser-frame {
  background: #1a1f2e;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 100px rgba(0, 212, 170, 0.1);
}

/* line 419, app/assets/stylesheets/landing_v2.scss */
.browser-header {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 427, app/assets/stylesheets/landing_v2.scss */
.browser-dots {
  display: flex;
  gap: 6px;
}

/* line 431, app/assets/stylesheets/landing_v2.scss */
.browser-dots .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 436, app/assets/stylesheets/landing_v2.scss */
.browser-dots .dot.red {
  background: #ff5f57;
}

/* line 437, app/assets/stylesheets/landing_v2.scss */
.browser-dots .dot.yellow {
  background: #ffbd2e;
}

/* line 438, app/assets/stylesheets/landing_v2.scss */
.browser-dots .dot.green {
  background: #28c840;
}

/* line 442, app/assets/stylesheets/landing_v2.scss */
.browser-url {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  color: #64748b;
}

/* line 451, app/assets/stylesheets/landing_v2.scss */
.browser-url i {
  color: #00d4aa;
  font-size: 10px;
}

/* line 454, app/assets/stylesheets/landing_v2.scss */
.browser-content {
  background: #0f1419;
}

/* line 457, app/assets/stylesheets/landing_v2.scss */
.browser-content .hero-screenshot {
  width: 100%;
  display: block;
}

/* line 464, app/assets/stylesheets/landing_v2.scss */
.hero-floating-area {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 80px auto 0;
  height: 200px;
  z-index: 2;
}

/* line 474, app/assets/stylesheets/landing_v2.scss */
.floating-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  width: 216px;
  background: rgba(26, 31, 46, 0.98);
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 16px;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  animation: floatCard 6s ease-in-out infinite;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
}

/* line 493, app/assets/stylesheets/landing_v2.scss */
.floating-card:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45), 0 6px 16px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  border-color: rgba(148, 163, 184, 0.25);
}

/* line 503, app/assets/stylesheets/landing_v2.scss */
.floating-card .floating-tooltip {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(239, 68, 68, 0.95);
  color: #fff;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
  z-index: 10;
  max-width: 280px;
  white-space: normal;
  text-align: center;
}

/* line 524, app/assets/stylesheets/landing_v2.scss */
.floating-card .floating-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(239, 68, 68, 0.95);
}

/* line 535, app/assets/stylesheets/landing_v2.scss */
.floating-card:hover .floating-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(-4px);
}

/* line 542, app/assets/stylesheets/landing_v2.scss */
.floating-card-1 {
  top: 0;
  left: 2%;
  animation-delay: 0s;
}

/* line 548, app/assets/stylesheets/landing_v2.scss */
.floating-card-2 {
  top: 0;
  left: calc(50% - 108px);
  animation-delay: -2s;
}

/* line 554, app/assets/stylesheets/landing_v2.scss */
.floating-card-3 {
  top: 0;
  right: 2%;
  animation-delay: -4s;
}

/* line 560, app/assets/stylesheets/landing_v2.scss */
.floating-card-4 {
  top: 105px;
  left: 2%;
  animation-delay: -3s;
}

/* line 566, app/assets/stylesheets/landing_v2.scss */
.floating-card-5 {
  top: 105px;
  left: calc(50% - 108px);
  animation-delay: -1s;
}

/* line 572, app/assets/stylesheets/landing_v2.scss */
.floating-card-6 {
  top: 105px;
  right: 2%;
  animation-delay: -5s;
}

@keyframes floatCard {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* line 584, app/assets/stylesheets/landing_v2.scss */
.floating-icon {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.1);
}

/* line 595, app/assets/stylesheets/landing_v2.scss */
.floating-icon i {
  font-size: 17px;
}

/* line 599, app/assets/stylesheets/landing_v2.scss */
.floating-icon.success {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2), rgba(0, 212, 170, 0.1));
  color: #00d4aa;
}

/* line 603, app/assets/stylesheets/landing_v2.scss */
.floating-icon.danger {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(239, 68, 68, 0.1));
  color: #ef4444;
}

/* line 607, app/assets/stylesheets/landing_v2.scss */
.floating-icon.warning {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1));
  color: #a855f7;
}

/* line 611, app/assets/stylesheets/landing_v2.scss */
.floating-icon.info {
  background: linear-gradient(135deg, rgba(0, 168, 255, 0.2), rgba(0, 168, 255, 0.1));
  color: #00a8ff;
}

/* line 615, app/assets/stylesheets/landing_v2.scss */
.floating-icon.purple {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1));
  color: #a855f7;
}

/* line 620, app/assets/stylesheets/landing_v2.scss */
.floating-card:hover .floating-icon {
  transform: scale(1.1);
}

/* line 625, app/assets/stylesheets/landing_v2.scss */
.floating-content {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* line 634, app/assets/stylesheets/landing_v2.scss */
.floating-label {
  font-size: 10px;
  color: rgba(100, 116, 139, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.7px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 645, app/assets/stylesheets/landing_v2.scss */
.floating-value {
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 654, app/assets/stylesheets/landing_v2.scss */
.floating-value.success {
  color: #00d4aa;
}

/* line 655, app/assets/stylesheets/landing_v2.scss */
.floating-value.danger {
  color: #ef4444;
}

/* line 657, app/assets/stylesheets/landing_v2.scss */
.floating-value .close-day {
  font-size: 9px;
  font-weight: 500;
  opacity: 0.6;
  vertical-align: super;
  margin-left: 2px;
  text-transform: capitalize;
  top: 0rem !important;
}

/* line 669, app/assets/stylesheets/landing_v2.scss */
.floating-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  padding: 2px 6px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.3px;
  border-radius: 100px;
  text-transform: uppercase;
  white-space: nowrap;
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* line 685, app/assets/stylesheets/landing_v2.scss */
.floating-badge.ai-badge {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
}

/* line 690, app/assets/stylesheets/landing_v2.scss */
.floating-badge.social-badge {
  background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  color: #fff;
  animation: pulse-badge 2s infinite;
}

/* line 696, app/assets/stylesheets/landing_v2.scss */
.floating-badge.auto-badge {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  color: #fff;
}

/* line 701, app/assets/stylesheets/landing_v2.scss */
.floating-badge.trending-badge {
  background: linear-gradient(135deg, #f97316 0%, #dc2626 100%);
  color: #fff;
  animation: pulse-badge 2s infinite;
}

@keyframes pulse-badge {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* line 716, app/assets/stylesheets/landing_v2.scss */
.logos-section {
  padding: 60px 0;
  background: #050810;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 723, app/assets/stylesheets/landing_v2.scss */
.logos-title {
  text-align: center;
  color: #64748b;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 32px;
}

/* line 732, app/assets/stylesheets/landing_v2.scss */
.logos-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 48px;
}

/* line 740, app/assets/stylesheets/landing_v2.scss */
.logo-item {
  opacity: 0.5;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 744, app/assets/stylesheets/landing_v2.scss */
.logo-item:hover {
  opacity: 1;
}

/* line 746, app/assets/stylesheets/landing_v2.scss */
.logo-item .logo-text {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.02em;
}

/* line 757, app/assets/stylesheets/landing_v2.scss */
.problem-section {
  padding: 120px 0;
  background: #0a0e1a;
}

/* line 762, app/assets/stylesheets/landing_v2.scss */
.problem-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  max-width: 1000px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  /* line 762, app/assets/stylesheets/landing_v2.scss */
  .problem-grid {
    grid-template-columns: 1fr;
  }
}

/* line 774, app/assets/stylesheets/landing_v2.scss */
.problem-card, .solution-card {
  padding: 40px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 780, app/assets/stylesheets/landing_v2.scss */
.problem-card {
  background: rgba(239, 68, 68, 0.03);
  border-color: rgba(239, 68, 68, 0.15);
}

/* line 784, app/assets/stylesheets/landing_v2.scss */
.problem-card .problem-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(239, 68, 68, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

/* line 794, app/assets/stylesheets/landing_v2.scss */
.problem-card .problem-icon i {
  font-size: 24px;
  color: #ef4444;
}

/* line 801, app/assets/stylesheets/landing_v2.scss */
.solution-card {
  background: rgba(0, 212, 170, 0.03);
  border-color: rgba(0, 212, 170, 0.15);
}

/* line 805, app/assets/stylesheets/landing_v2.scss */
.solution-card .solution-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(0, 212, 170, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

/* line 815, app/assets/stylesheets/landing_v2.scss */
.solution-card .solution-icon i {
  font-size: 24px;
  color: #00d4aa;
}

/* line 822, app/assets/stylesheets/landing_v2.scss */
.problem-title, .solution-title {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 20px;
}

/* line 829, app/assets/stylesheets/landing_v2.scss */
.problem-list, .solution-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 834, app/assets/stylesheets/landing_v2.scss */
.problem-list li, .solution-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  color: #94a3b8;
  font-size: 15px;
  line-height: 1.5;
}

/* line 843, app/assets/stylesheets/landing_v2.scss */
.problem-list li i, .solution-list li i {
  margin-top: 4px;
  font-size: 12px;
}

/* line 850, app/assets/stylesheets/landing_v2.scss */
.problem-list li i {
  color: #ef4444;
}

/* line 851, app/assets/stylesheets/landing_v2.scss */
.solution-list li i {
  color: #00d4aa;
}

/* line 856, app/assets/stylesheets/landing_v2.scss */
.section-header {
  text-align: center;
  margin-bottom: 60px;
}

/* line 861, app/assets/stylesheets/landing_v2.scss */
.section-badge {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  border-radius: 100px;
  margin-bottom: 20px;
}

/* line 873, app/assets/stylesheets/landing_v2.scss */
.section-title-v2 {
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

/* line 881, app/assets/stylesheets/landing_v2.scss */
.section-subtitle-v2 {
  font-size: 18px;
  color: #94a3b8;
  max-width: 500px;
  margin: 0 auto;
}

/* line 891, app/assets/stylesheets/landing_v2.scss */
.features-section-v2 {
  padding: 120px 0;
  background: #050810;
}

/* line 896, app/assets/stylesheets/landing_v2.scss */
.features-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 992px) {
  /* line 896, app/assets/stylesheets/landing_v2.scss */
  .features-grid-v2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 896, app/assets/stylesheets/landing_v2.scss */
  .features-grid-v2 {
    grid-template-columns: 1fr;
  }
}

/* line 910, app/assets/stylesheets/landing_v2.scss */
.feature-card-v2 {
  padding: 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 917, app/assets/stylesheets/landing_v2.scss */
.feature-card-v2:hover {
  border-color: rgba(0, 212, 170, 0.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

/* line 923, app/assets/stylesheets/landing_v2.scss */
.feature-card-v2.feature-large {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

@media (max-width: 768px) {
  /* line 923, app/assets/stylesheets/landing_v2.scss */
  .feature-card-v2.feature-large {
    grid-column: span 1;
    grid-template-columns: 1fr;
  }
}

/* line 936, app/assets/stylesheets/landing_v2.scss */
.feature-icon-v2 {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(0, 212, 170, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

/* line 946, app/assets/stylesheets/landing_v2.scss */
.feature-icon-v2 i {
  font-size: 20px;
  color: #00d4aa;
}

/* line 952, app/assets/stylesheets/landing_v2.scss */
.feature-card-v2 h3 {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 12px;
}

/* line 959, app/assets/stylesheets/landing_v2.scss */
.feature-card-v2 p {
  font-size: 15px;
  color: #94a3b8;
  line-height: 1.6;
  margin-bottom: 16px;
}

/* line 966, app/assets/stylesheets/landing_v2.scss */
.feature-benefit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #00d4aa;
  font-weight: 500;
}

/* line 974, app/assets/stylesheets/landing_v2.scss */
.feature-benefit i {
  font-size: 10px;
}

/* line 978, app/assets/stylesheets/landing_v2.scss */
.feature-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 984, app/assets/stylesheets/landing_v2.scss */
.feature-mockup {
  width: 100%;
  padding: 24px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 992, app/assets/stylesheets/landing_v2.scss */
.prediction-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 999, app/assets/stylesheets/landing_v2.scss */
.prediction-bar:last-child {
  border-bottom: none;
}

/* line 1002, app/assets/stylesheets/landing_v2.scss */
.prediction-label {
  width: 50px;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
}

/* line 1009, app/assets/stylesheets/landing_v2.scss */
.prediction-meter {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  overflow: hidden;
}

/* line 1017, app/assets/stylesheets/landing_v2.scss */
.meter-fill {
  height: 100%;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 3px;
  transition: width 1s ease;
}

/* line 1023, app/assets/stylesheets/landing_v2.scss */
.meter-fill.warning {
  background: linear-gradient(135deg, #f59e0b, #ef4444);
}

/* line 1028, app/assets/stylesheets/landing_v2.scss */
.prediction-value {
  width: 60px;
  text-align: right;
  font-size: 14px;
  font-weight: 700;
}

/* line 1034, app/assets/stylesheets/landing_v2.scss */
.prediction-value.up {
  color: #00d4aa;
}

/* line 1035, app/assets/stylesheets/landing_v2.scss */
.prediction-value.down {
  color: #ef4444;
}

/* line 1041, app/assets/stylesheets/landing_v2.scss */
.social-proof-section {
  padding: 120px 0;
  background: #0a0e1a;
  overflow-x: hidden;
  width: 100%;
}

@media (max-width: 576px) {
  /* line 1041, app/assets/stylesheets/landing_v2.scss */
  .social-proof-section {
    padding: 60px 0;
  }
}

/* line 1052, app/assets/stylesheets/landing_v2.scss */
.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 60px;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

@media (max-width: 768px) {
  /* line 1052, app/assets/stylesheets/landing_v2.scss */
  .stats-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 0 16px;
  }
}

@media (max-width: 576px) {
  /* line 1052, app/assets/stylesheets/landing_v2.scss */
  .stats-row {
    gap: 8px;
    padding: 0 12px;
  }
}

/* line 1073, app/assets/stylesheets/landing_v2.scss */
.stat-card {
  text-align: center;
  padding: 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  min-width: 0;
}

@media (max-width: 576px) {
  /* line 1073, app/assets/stylesheets/landing_v2.scss */
  .stat-card {
    padding: 16px 12px;
    border-radius: 12px;
  }
}

/* line 1087, app/assets/stylesheets/landing_v2.scss */
.stat-number-v2 {
  font-size: 40px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

@media (max-width: 576px) {
  /* line 1087, app/assets/stylesheets/landing_v2.scss */
  .stat-number-v2 {
    font-size: 28px;
    margin-bottom: 4px;
  }
}

/* line 1103, app/assets/stylesheets/landing_v2.scss */
.stat-label-v2 {
  font-size: 14px;
  color: #64748b;
}

@media (max-width: 576px) {
  /* line 1103, app/assets/stylesheets/landing_v2.scss */
  .stat-label-v2 {
    font-size: 11px;
  }
}

/* line 1112, app/assets/stylesheets/landing_v2.scss */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 992px) {
  /* line 1112, app/assets/stylesheets/landing_v2.scss */
  .testimonials-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1122, app/assets/stylesheets/landing_v2.scss */
.testimonial-card {
  padding: 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1129, app/assets/stylesheets/landing_v2.scss */
.testimonial-card:hover {
  border-color: rgba(0, 212, 170, 0.2);
}

/* line 1134, app/assets/stylesheets/landing_v2.scss */
.testimonial-stars {
  margin-bottom: 16px;
}

/* line 1137, app/assets/stylesheets/landing_v2.scss */
.testimonial-stars i {
  color: #fbbf24;
  font-size: 14px;
  margin-right: 2px;
}

/* line 1144, app/assets/stylesheets/landing_v2.scss */
.testimonial-text {
  font-size: 15px;
  color: #94a3b8;
  line-height: 1.7;
  margin-bottom: 24px;
  font-style: italic;
}

/* line 1152, app/assets/stylesheets/landing_v2.scss */
.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 1158, app/assets/stylesheets/landing_v2.scss */
.author-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

/* line 1164, app/assets/stylesheets/landing_v2.scss */
.author-info {
  display: flex;
  flex-direction: column;
}

/* line 1169, app/assets/stylesheets/landing_v2.scss */
.author-name {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
}

/* line 1175, app/assets/stylesheets/landing_v2.scss */
.author-title {
  font-size: 12px;
  color: #64748b;
}

/* line 1183, app/assets/stylesheets/landing_v2.scss */
.how-it-works-section-v2 {
  padding: 120px 0;
  background: #050810;
}

/* line 1188, app/assets/stylesheets/landing_v2.scss */
.steps-grid {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
}

@media (max-width: 992px) {
  /* line 1188, app/assets/stylesheets/landing_v2.scss */
  .steps-grid {
    flex-direction: column;
    align-items: center;
  }
  /* line 1198, app/assets/stylesheets/landing_v2.scss */
  .steps-grid .step-connector {
    display: none;
  }
}

/* line 1202, app/assets/stylesheets/landing_v2.scss */
.step-card-v2 {
  flex: 1;
  max-width: 300px;
  padding: 40px 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  text-align: center;
  position: relative;
}

/* line 1213, app/assets/stylesheets/landing_v2.scss */
.step-number-v2 {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
  font-size: 14px;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1230, app/assets/stylesheets/landing_v2.scss */
.step-icon-v2 {
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
  background: rgba(0, 212, 170, 0.1);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1240, app/assets/stylesheets/landing_v2.scss */
.step-icon-v2 i {
  font-size: 28px;
  color: #00d4aa;
}

/* line 1246, app/assets/stylesheets/landing_v2.scss */
.step-card-v2 h3 {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 12px;
}

/* line 1253, app/assets/stylesheets/landing_v2.scss */
.step-card-v2 p {
  font-size: 14px;
  color: #94a3b8;
  line-height: 1.6;
  margin: 0;
}

/* line 1260, app/assets/stylesheets/landing_v2.scss */
.step-connector {
  display: flex;
  align-items: center;
  padding-top: 60px;
  color: #64748b;
}

/* line 1266, app/assets/stylesheets/landing_v2.scss */
.step-connector i {
  font-size: 20px;
}

/* line 1272, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-section {
  padding: 120px 0;
  background: #0a0e1a;
}

/* line 1277, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-simple {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

/* line 1283, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-content {
  padding: 60px 40px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
}

/* line 1289, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-content .section-badge {
  margin-bottom: 20px;
}

/* line 1293, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-content .section-title-v2 {
  margin-bottom: 12px;
}

/* line 1297, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-content .section-subtitle-v2 {
  margin-bottom: 32px;
}

/* line 1302, app/assets/stylesheets/landing_v2.scss */
.pricing-highlights {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-bottom: 40px;
}

/* line 1310, app/assets/stylesheets/landing_v2.scss */
.pricing-highlight {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #94a3b8;
}

/* line 1317, app/assets/stylesheets/landing_v2.scss */
.pricing-highlight i {
  color: #00d4aa;
  font-size: 16px;
}

/* line 1324, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto 40px;
}

@media (max-width: 992px) {
  /* line 1324, app/assets/stylesheets/landing_v2.scss */
  .pricing-teaser-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
  }
}

/* line 1337, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-card {
  padding: 40px 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  text-align: center;
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1346, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-card:hover {
  border-color: rgba(0, 212, 170, 0.2);
}

/* line 1350, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-card.featured {
  background: rgba(0, 212, 170, 0.05);
  border-color: rgba(0, 212, 170, 0.3);
  transform: scale(1.02);
}

/* line 1355, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-card.featured:hover {
  transform: scale(1.04);
}

/* line 1361, app/assets/stylesheets/landing_v2.scss */
.plan-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 16px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 100px;
}

/* line 1375, app/assets/stylesheets/landing_v2.scss */
.plan-name {
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 16px;
}

/* line 1382, app/assets/stylesheets/landing_v2.scss */
.plan-price {
  font-size: 48px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 24px;
}

/* line 1388, app/assets/stylesheets/landing_v2.scss */
.plan-price span {
  font-size: 16px;
  font-weight: 400;
  color: #64748b;
}

/* line 1395, app/assets/stylesheets/landing_v2.scss */
.plan-features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
  text-align: left;
}

/* line 1401, app/assets/stylesheets/landing_v2.scss */
.plan-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  color: #94a3b8;
  font-size: 14px;
}

/* line 1409, app/assets/stylesheets/landing_v2.scss */
.plan-features li i {
  color: #00d4aa;
  font-size: 12px;
}

/* line 1416, app/assets/stylesheets/landing_v2.scss */
.btn-plan {
  display: block;
  width: 100%;
  padding: 14px 24px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 100px;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1428, app/assets/stylesheets/landing_v2.scss */
.btn-plan-primary {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
}

/* line 1432, app/assets/stylesheets/landing_v2.scss */
.btn-plan-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 212, 170, 0.3);
  color: #000;
}

/* line 1439, app/assets/stylesheets/landing_v2.scss */
.btn-plan-secondary {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

/* line 1444, app/assets/stylesheets/landing_v2.scss */
.btn-plan-secondary:hover {
  border-color: rgba(0, 212, 170, 0.5);
  color: #ffffff;
}

/* line 1450, app/assets/stylesheets/landing_v2.scss */
.view-all-plans {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #00d4aa;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1460, app/assets/stylesheets/landing_v2.scss */
.view-all-plans:hover {
  color: #ffffff;
  gap: 12px;
}

/* line 1469, app/assets/stylesheets/landing_v2.scss */
.faq-section {
  padding: 120px 0;
  background: #050810;
}

/* line 1474, app/assets/stylesheets/landing_v2.scss */
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  /* line 1474, app/assets/stylesheets/landing_v2.scss */
  .faq-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1486, app/assets/stylesheets/landing_v2.scss */
.faq-item {
  padding: 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
}

/* line 1493, app/assets/stylesheets/landing_v2.scss */
.faq-question {
  font-size: 17px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 12px;
}

/* line 1500, app/assets/stylesheets/landing_v2.scss */
.faq-answer {
  font-size: 14px;
  color: #94a3b8;
  line-height: 1.7;
  margin: 0;
}

/* line 1510, app/assets/stylesheets/landing_v2.scss */
.b2b-section {
  padding: 100px 0;
  background: linear-gradient(180deg, rgba(0, 212, 170, 0.03) 0%, #0a0e1a 100%);
  position: relative;
  overflow: hidden;
}

/* line 1516, app/assets/stylesheets/landing_v2.scss */
.b2b-section::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(99, 102, 241, 0.08) 0%, transparent 70%);
  filter: blur(60px);
}

/* line 1529, app/assets/stylesheets/landing_v2.scss */
.b2b-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

/* line 1537, app/assets/stylesheets/landing_v2.scss */
.b2b-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(99, 102, 241, 0.15);
  color: #818cf8;
  font-size: 12px;
  font-weight: 600;
  border-radius: 100px;
  margin-bottom: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid rgba(99, 102, 241, 0.3);
}

/* line 1552, app/assets/stylesheets/landing_v2.scss */
.b2b-badge i {
  font-size: 14px;
}

/* line 1557, app/assets/stylesheets/landing_v2.scss */
.b2b-title {
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

/* line 1565, app/assets/stylesheets/landing_v2.scss */
.b2b-subtitle {
  font-size: 18px;
  color: #94a3b8;
  margin-bottom: 40px;
  line-height: 1.7;
}

/* line 1572, app/assets/stylesheets/landing_v2.scss */
.b2b-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-bottom: 40px;
}

/* line 1580, app/assets/stylesheets/landing_v2.scss */
.b2b-feature {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  background: rgba(99, 102, 241, 0.12);
  border: 1px solid rgba(99, 102, 241, 0.25);
  border-radius: 100px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  backdrop-filter: blur(10px);
}

/* line 1593, app/assets/stylesheets/landing_v2.scss */
.b2b-feature i {
  color: #818cf8;
  font-size: 14px;
}

/* line 1599, app/assets/stylesheets/landing_v2.scss */
.b2b-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

/* line 1606, app/assets/stylesheets/landing_v2.scss */
.btn-b2b-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3);
}

/* line 1620, app/assets/stylesheets/landing_v2.scss */
.btn-b2b-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(99, 102, 241, 0.4);
  color: #fff;
}

/* line 1627, app/assets/stylesheets/landing_v2.scss */
.btn-b2b-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: transparent;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  border: 1px solid rgba(99, 102, 241, 0.4);
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1641, app/assets/stylesheets/landing_v2.scss */
.btn-b2b-secondary:hover {
  background: rgba(99, 102, 241, 0.1);
  border-color: rgba(99, 102, 241, 0.6);
  color: #818cf8;
}

/* line 1651, app/assets/stylesheets/landing_v2.scss */
.final-cta-section {
  padding: 140px 0;
  background: #0a0e1a;
  position: relative;
  overflow: hidden;
}

/* line 1657, app/assets/stylesheets/landing_v2.scss */
.final-cta-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1200px;
  height: 600px;
  background: radial-gradient(ellipse, rgba(0, 212, 170, 0.12) 0%, transparent 70%);
  filter: blur(80px);
}

/* line 1670, app/assets/stylesheets/landing_v2.scss */
.final-cta-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}

/* line 1678, app/assets/stylesheets/landing_v2.scss */
.final-cta-title {
  font-size: clamp(36px, 6vw, 56px);
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

/* line 1686, app/assets/stylesheets/landing_v2.scss */
.final-cta-subtitle {
  font-size: 18px;
  color: #94a3b8;
  margin-bottom: 40px;
  line-height: 1.6;
}

/* line 1693, app/assets/stylesheets/landing_v2.scss */
.final-cta-buttons {
  margin-bottom: 20px;
}

/* line 1697, app/assets/stylesheets/landing_v2.scss */
.btn-final-primary {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 20px 40px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
  font-size: 18px;
  font-weight: 600;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 30px rgba(0, 212, 170, 0.3);
}

/* line 1711, app/assets/stylesheets/landing_v2.scss */
.btn-final-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 40px rgba(0, 212, 170, 0.4);
  color: #000;
}

/* line 1718, app/assets/stylesheets/landing_v2.scss */
.final-cta-note {
  font-size: 14px;
  color: #64748b;
  margin: 0;
}

@media (max-width: 992px) {
  /* line 1728, app/assets/stylesheets/landing_v2.scss */
  .hero-section-v2 {
    padding: 100px 0 60px;
  }
  /* line 1732, app/assets/stylesheets/landing_v2.scss */
  .hero-floating-area {
    height: 175px;
    max-width: 100%;
    padding: 0 24px;
    margin-top: 60px;
  }
  /* line 1739, app/assets/stylesheets/landing_v2.scss */
  .floating-card {
    width: 165px;
    padding: 10px 13px;
    gap: 8px;
  }
  /* line 1744, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-icon {
    width: 32px;
    height: 32px;
  }
  /* line 1748, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-icon i {
    font-size: 14px;
  }
  /* line 1751, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-label {
    font-size: 8px;
  }
  /* line 1755, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-value {
    font-size: 12px;
  }
  /* line 1761, app/assets/stylesheets/landing_v2.scss */
  .floating-card-1 {
    top: 0;
    left: 6%;
  }
  /* line 1766, app/assets/stylesheets/landing_v2.scss */
  .floating-card-2 {
    top: 0;
    left: calc(50% - 82px);
  }
  /* line 1771, app/assets/stylesheets/landing_v2.scss */
  .floating-card-3 {
    top: 0;
    right: 6%;
  }
  /* line 1776, app/assets/stylesheets/landing_v2.scss */
  .floating-card-4 {
    top: 90px;
    left: 15%;
  }
  /* line 1781, app/assets/stylesheets/landing_v2.scss */
  .floating-card-5 {
    top: 90px;
    left: calc(50% - 82px);
  }
  /* line 1786, app/assets/stylesheets/landing_v2.scss */
  .floating-card-6 {
    top: 90px;
    right: 15%;
  }
  /* line 1791, app/assets/stylesheets/landing_v2.scss */
  .floating-badge {
    font-size: 8px;
    padding: 2px 6px;
    top: -6px;
    right: -6px;
  }
}

@media (max-width: 576px) {
  /* line 1800, app/assets/stylesheets/landing_v2.scss */
  .hero-cta-group {
    flex-direction: column;
  }
  /* line 1803, app/assets/stylesheets/landing_v2.scss */
  .hero-cta-group .btn-hero-primary,
.hero-cta-group .btn-hero-secondary {
    width: 100%;
    justify-content: center;
  }
  /* line 1810, app/assets/stylesheets/landing_v2.scss */
  .hero-social-proof {
    flex-direction: column;
    gap: 8px;
  }
  /* line 1815, app/assets/stylesheets/landing_v2.scss */
  .hero-floating-area {
    height: 240px;
    margin-top: 32px;
  }
  /* line 1820, app/assets/stylesheets/landing_v2.scss */
  .floating-card {
    width: 150px;
    padding: 8px 10px;
    gap: 7px;
    border-radius: 12px;
  }
  /* line 1826, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
  }
  /* line 1831, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-icon i {
    font-size: 12px;
  }
  /* line 1834, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-content {
    gap: 2px;
  }
  /* line 1837, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-content .floating-label {
    font-size: 7px;
    letter-spacing: 0.5px;
  }
  /* line 1842, app/assets/stylesheets/landing_v2.scss */
  .floating-card .floating-content .floating-value {
    font-size: 11px;
  }
  /* line 1849, app/assets/stylesheets/landing_v2.scss */
  .floating-card-1 {
    top: 0;
    left: 4%;
    transform: none;
    animation: floatCard 6s ease-in-out infinite;
  }
  /* line 1856, app/assets/stylesheets/landing_v2.scss */
  .floating-card-2 {
    top: 0;
    right: 4%;
    left: auto;
    transform: none;
    animation: floatCard 6s ease-in-out infinite;
    animation-delay: -2s;
  }
  /* line 1865, app/assets/stylesheets/landing_v2.scss */
  .floating-card-3 {
    top: 80px;
    left: 4%;
    transform: none;
    animation: floatCard 6s ease-in-out infinite;
    animation-delay: -4s;
  }
  /* line 1873, app/assets/stylesheets/landing_v2.scss */
  .floating-card-4 {
    top: 80px;
    right: 4%;
    left: auto;
    transform: none;
    animation: floatCard 6s ease-in-out infinite;
    animation-delay: -3s;
  }
  /* line 1882, app/assets/stylesheets/landing_v2.scss */
  .floating-card-5 {
    top: 160px;
    left: 4%;
    transform: none;
    animation: floatCard 6s ease-in-out infinite;
    animation-delay: -1s;
  }
  /* line 1890, app/assets/stylesheets/landing_v2.scss */
  .floating-card-6 {
    top: 160px;
    right: 4%;
    left: auto;
    transform: none;
    animation: floatCard 6s ease-in-out infinite;
    animation-delay: -5s;
  }
  /* line 1900, app/assets/stylesheets/landing_v2.scss */
  .floating-tooltip {
    display: none !important;
  }
  /* line 1904, app/assets/stylesheets/landing_v2.scss */
  .floating-badge {
    font-size: 7px;
    padding: 2px 5px;
    top: -5px;
    right: -5px;
  }
}

/* line 1916, app/assets/stylesheets/landing_v2.scss */
.device-showcase-section {
  position: relative;
  background: linear-gradient(180deg, #080c1a 0%, #0a0e1a 50%, #080c1a 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1924, app/assets/stylesheets/landing_v2.scss */
.device-showcase-sticky-wrapper {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: 700vh;
}

/* line 1932, app/assets/stylesheets/landing_v2.scss */
.device-showcase-sticky {
  position: sticky;
  top: 0;
  width: 58%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* line 1945, app/assets/stylesheets/landing_v2.scss */
.device-showcase-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* line 1951, app/assets/stylesheets/landing_v2.scss */
.device-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  transition: all 1s ease;
}

/* line 1957, app/assets/stylesheets/landing_v2.scss */
.device-glow.device-glow-left {
  width: 500px;
  height: 500px;
  left: -150px;
  top: 40%;
  transform: translateY(-50%);
  background: radial-gradient(circle, #00d4aa 0%, transparent 70%);
  opacity: 0.1;
}

/* line 1966, app/assets/stylesheets/landing_v2.scss */
.device-glow.device-glow-right {
  width: 400px;
  height: 400px;
  right: -80px;
  top: 60%;
  transform: translateY(-50%);
  background: radial-gradient(circle, #00a8ff 0%, transparent 70%);
  opacity: 0.08;
}

/* line 1978, app/assets/stylesheets/landing_v2.scss */
.device-step-label {
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 10;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 30px;
  padding: 6px 14px 6px 8px;
  backdrop-filter: blur(12px);
}

/* line 1995, app/assets/stylesheets/landing_v2.scss */
.device-step-badge {
  background: linear-gradient(135deg, #00d4aa 0%, #00b8d4 100%);
  color: #050810;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 20px;
  letter-spacing: 1.5px;
  transition: background 0.4s ease;
}

/* line 2006, app/assets/stylesheets/landing_v2.scss */
.device-step-text {
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.3px;
  transition: all 0.4s ease;
}

/* line 2015, app/assets/stylesheets/landing_v2.scss */
.device-stage {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1800px;
  perspective-origin: 50% 38%;
}

/* line 2052, app/assets/stylesheets/landing_v2.scss */
.device-laptop {
  position: relative;
  transform: rotateX(-28deg) rotateY(-18deg) translateX(-30px) translateY(-60px);
  transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
}

@media (max-width: 1200px) {
  /* line 2052, app/assets/stylesheets/landing_v2.scss */
  .device-laptop {
    transform: rotateX(-28deg) rotateY(-18deg) translateX(-15px) translateY(-40px) scale(0.9);
  }
}

@media (max-width: 1024px) {
  /* line 2052, app/assets/stylesheets/landing_v2.scss */
  .device-laptop {
    transform: rotateX(-25deg) rotateY(-15deg) translateY(-20px) scale(0.76);
  }
}

/* line 2062, app/assets/stylesheets/landing_v2.scss */
.laptop-scene {
  width: 540px;
  height: 320px;
  position: relative;
  transform-style: preserve-3d;
}

/* line 2073, app/assets/stylesheets/landing_v2.scss */
.laptop-base {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 280px;
  background: linear-gradient(180deg, #2a2d46 0%, #1a1d30 100%);
  border-radius: 0 0 10px 10px;
  transform-style: preserve-3d;
  transform: rotateX(-90deg) rotateY(180deg);
  transform-origin: bottom center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 16px 32px 10px;
  gap: 6px;
  box-shadow: 0 60px 120px rgba(0, 0, 0, 0.95), 0 0 60px rgba(0, 212, 170, 0.05);
}

/* line 2094, app/assets/stylesheets/landing_v2.scss */
.laptop-base::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 12px;
  background: linear-gradient(180deg, #2e3150 0%, #1a1d30 100%);
  transform: rotateX(-90deg);
  transform-origin: top center;
}

/* line 2105, app/assets/stylesheets/landing_v2.scss */
.laptop-keyboard {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  opacity: 0.6;
  flex: 1;
}

/* line 2114, app/assets/stylesheets/landing_v2.scss */
.laptop-keyboard-row {
  display: flex;
  gap: 3px;
  flex: 1;
}

/* line 2119, app/assets/stylesheets/landing_v2.scss */
.laptop-keyboard-row--fn {
  flex: 0 0 auto;
  height: 6px;
}

/* line 2122, app/assets/stylesheets/landing_v2.scss */
.laptop-key--fn {
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 1px !important;
  min-height: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* line 2129, app/assets/stylesheets/landing_v2.scss */
.laptop-key {
  flex: 1;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.35);
  min-height: 8px;
}

/* line 2137, app/assets/stylesheets/landing_v2.scss */
.laptop-key.key-wide {
  flex: 2.5;
}

/* line 2138, app/assets/stylesheets/landing_v2.scss */
.laptop-key.key-spacebar {
  flex: 7;
}

/* line 2141, app/assets/stylesheets/landing_v2.scss */
.laptop-trackpad {
  width: 28%;
  height: 9px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  margin-bottom: 2px;
}

/* line 2154, app/assets/stylesheets/landing_v2.scss */
.laptop-lid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: rotateX(5deg);
  transform-origin: bottom center;
  transform-style: preserve-3d;
}

/* line 2164, app/assets/stylesheets/landing_v2.scss */
.laptop-lid-face {
  width: 100%;
  height: 320px;
  background: linear-gradient(160deg, #32364e 0%, #20233a 45%, #141728 100%);
  border-radius: 12px 12px 3px 3px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  padding: 10px 10px 0;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.3), 0 0 0 0.5px rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

/* line 2181, app/assets/stylesheets/landing_v2.scss */
.laptop-lid-face::before {
  content: '';
  position: absolute;
  top: 0;
  left: 12px;
  right: 12px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
  border-radius: 12px 12px 0 0;
}

/* line 2191, app/assets/stylesheets/landing_v2.scss */
.laptop-camera {
  width: 5px;
  height: 5px;
  background: rgba(40, 40, 60, 0.9);
  border-radius: 50%;
  margin: 0 auto 6px;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), inset 0 0 3px rgba(0, 168, 255, 0.15);
}

/* line 2204, app/assets/stylesheets/landing_v2.scss */
.laptop-screen {
  flex: 1;
  background: #03060f;
  border-radius: 6px 6px 2px 2px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.9);
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.5);
}

/* line 2213, app/assets/stylesheets/landing_v2.scss */
.laptop-screen::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 25% 0%, rgba(0, 212, 170, 0.12) 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, rgba(0, 168, 255, 0.07) 0%, transparent 50%), linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 20%);
  pointer-events: none;
  z-index: 2;
}

/* line 2226, app/assets/stylesheets/landing_v2.scss */
.laptop-screen-inner {
  width: 100%;
  height: 100%;
  position: relative;
}

/* line 2237, app/assets/stylesheets/landing_v2.scss */
.device-mobile {
  position: absolute;
  right: 4%;
  bottom: 20%;
  width: 170px;
  transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
  transform-origin: bottom right;
}

@media (max-width: 1200px) {
  /* line 2237, app/assets/stylesheets/landing_v2.scss */
  .device-mobile {
    width: 145px;
  }
}

@media (max-width: 1024px) {
  /* line 2237, app/assets/stylesheets/landing_v2.scss */
  .device-mobile {
    width: 120px;
    right: 2%;
  }
}

/* line 2250, app/assets/stylesheets/landing_v2.scss */
.mobile-scene {
  width: 100%;
  transform: rotateY(12deg) rotateX(-5deg);
  transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
}

/* line 2258, app/assets/stylesheets/landing_v2.scss */
.mobile-body {
  width: 100%;
  position: relative;
  transform-style: preserve-3d;
}

/* line 2265, app/assets/stylesheets/landing_v2.scss */
.mobile-face {
  background: linear-gradient(175deg, #2e3150 0%, #1c1f34 50%, #12152a 100%);
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding: 10px 6px 7px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 0 20px rgba(0, 0, 0, 0.3), 5px 0 0 -1px #0c0f1c, 7px 2px 0 -2px rgba(0, 0, 0, 0.4), 0 30px 60px rgba(0, 0, 0, 0.8), 0 0 40px rgba(0, 212, 170, 0.04);
}

/* line 2289, app/assets/stylesheets/landing_v2.scss */
.mobile-face .mobile-btn {
  position: absolute;
  right: -3px;
  top: 28%;
  height: 14%;
  width: 3px;
  background: linear-gradient(180deg, #2a2d40, #1a1d2c);
  border-radius: 0 2px 2px 0;
  box-shadow: 1px 0 2px rgba(0, 0, 0, 0.5);
}

/* line 2299, app/assets/stylesheets/landing_v2.scss */
.mobile-face .mobile-btn.mobile-btn-2 {
  top: 44%;
  height: 10%;
}

/* line 2302, app/assets/stylesheets/landing_v2.scss */
.mobile-notch {
  width: 40px;
  height: 6px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
  flex-shrink: 0;
}

/* line 2310, app/assets/stylesheets/landing_v2.scss */
.mobile-screen {
  background: #03060f;
  border-radius: 12px;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 9 / 19.5;
  border: 1px solid rgba(0, 0, 0, 0.9);
  position: relative;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5);
}

/* line 2320, app/assets/stylesheets/landing_v2.scss */
.mobile-screen::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 0%, rgba(0, 212, 170, 0.1) 0%, transparent 50%), radial-gradient(ellipse at 75% 100%, rgba(0, 168, 255, 0.06) 0%, transparent 50%), linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 20%);
  pointer-events: none;
  z-index: 2;
}

/* line 2333, app/assets/stylesheets/landing_v2.scss */
.mobile-screen-inner {
  width: 100%;
  height: 100%;
  position: relative;
}

/* line 2339, app/assets/stylesheets/landing_v2.scss */
.mobile-home-bar {
  width: 38px;
  height: 4px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
  flex-shrink: 0;
}

/* line 2348, app/assets/stylesheets/landing_v2.scss */
.screen-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 2357, app/assets/stylesheets/landing_v2.scss */
.screen-slide.screen-slide-active {
  opacity: 1;
}

/* line 2362, app/assets/stylesheets/landing_v2.scss */
.screen-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left;
  display: block;
  border-radius: inherit;
  user-select: none;
  pointer-events: none;
}

/* line 2373, app/assets/stylesheets/landing_v2.scss */
.screen-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.25);
  text-align: center;
  padding: 12px;
  height: 100%;
}

/* line 2384, app/assets/stylesheets/landing_v2.scss */
.screen-placeholder p {
  font-size: 10px;
  margin: 0;
  line-height: 1.3;
}

/* line 2391, app/assets/stylesheets/landing_v2.scss */
.screen-placeholder-icon {
  font-size: 22px;
  opacity: 0.4;
}

/* line 2397, app/assets/stylesheets/landing_v2.scss */
.device-progress-dots {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 10;
  background: rgba(0, 0, 0, 0.2);
  padding: 6px 10px;
  border-radius: 20px;
  backdrop-filter: blur(8px);
}

/* line 2411, app/assets/stylesheets/landing_v2.scss */
.device-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.18);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
}

/* line 2421, app/assets/stylesheets/landing_v2.scss */
.device-dot.device-dot-active {
  background: linear-gradient(90deg, #00d4aa, #00b8d4);
  width: 20px;
  border-radius: 3px;
}

/* line 2427, app/assets/stylesheets/landing_v2.scss */
.device-dot:hover:not(.device-dot-active) {
  background: rgba(255, 255, 255, 0.35);
  transform: scale(1.2);
}

/* line 2434, app/assets/stylesheets/landing_v2.scss */
.device-scroll-steps {
  width: 42%;
  padding: 10vh 4% 10vh 3%;
  display: flex;
  flex-direction: column;
}

/* line 2441, app/assets/stylesheets/landing_v2.scss */
.device-scroll-step {
  min-height: 100vh;
  display: flex;
  align-items: center;
  opacity: 0.25;
  transition: opacity 0.5s ease;
}

/* line 2448, app/assets/stylesheets/landing_v2.scss */
.device-scroll-step.device-step-active {
  opacity: 1;
}

/* line 2452, app/assets/stylesheets/landing_v2.scss */
.device-scroll-step:first-child {
  padding-top: 0;
}

/* line 2453, app/assets/stylesheets/landing_v2.scss */
.device-scroll-step:last-child {
  padding-bottom: 0;
}

/* line 2456, app/assets/stylesheets/landing_v2.scss */
.device-step-content {
  max-width: 400px;
}

/* line 2460, app/assets/stylesheets/landing_v2.scss */
.device-step-number {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #00d4aa;
  margin-bottom: 16px;
  opacity: 0.9;
  padding: 4px 10px 4px 8px;
  background: rgba(0, 212, 170, 0.08);
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 20px;
  width: fit-content;
}

/* line 2477, app/assets/stylesheets/landing_v2.scss */
.device-step-number::before {
  content: '';
  width: 5px;
  height: 5px;
  background: #00d4aa;
  border-radius: 50%;
  flex-shrink: 0;
}

/* line 2487, app/assets/stylesheets/landing_v2.scss */
.device-step-title {
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 16px 0;
  line-height: 1.2;
  letter-spacing: -0.5px;
}

/* line 2496, app/assets/stylesheets/landing_v2.scss */
.device-step-desc {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.75;
  margin: 0 0 24px 0;
  font-weight: 400;
}

/* line 2504, app/assets/stylesheets/landing_v2.scss */
.device-step-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 2512, app/assets/stylesheets/landing_v2.scss */
.device-step-list li {
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}

/* line 2520, app/assets/stylesheets/landing_v2.scss */
.device-step-list li i {
  color: #00d4aa;
  font-size: 10px;
  flex-shrink: 0;
  background: rgba(0, 212, 170, 0.12);
  padding: 4px;
  border-radius: 50%;
}

/* line 2536, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="0"] .device-laptop {
  transform: rotateX(-28deg) rotateY(-20deg) translateX(-30px) translateY(-60px);
}

/* line 2537, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="0"] .device-mobile {
  opacity: 1;
}

/* line 2538, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="0"] .mobile-scene {
  transform: rotateY(10deg) rotateX(-4deg);
}

/* line 2541, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="1"] .device-laptop {
  transform: rotateX(-26deg) rotateY(-16deg) translateX(-20px) translateY(-60px);
}

/* line 2542, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="1"] .device-mobile {
  opacity: 1;
}

/* line 2543, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="1"] .mobile-scene {
  transform: rotateY(16deg) rotateX(-6deg);
}

/* line 2546, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="2"] .device-laptop {
  transform: rotateX(-30deg) rotateY(-14deg) translateX(-24px) translateY(-60px);
}

/* line 2547, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="2"] .device-mobile {
  opacity: 1;
}

/* line 2548, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="2"] .mobile-scene {
  transform: rotateY(12deg) rotateX(-5deg);
}

/* line 2551, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="3"] .device-laptop {
  transform: rotateX(-30deg) rotateY(-22deg) translateX(-28px) translateY(-60px);
}

/* line 2552, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="3"] .device-mobile {
  opacity: 1;
}

/* line 2553, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="3"] .mobile-scene {
  transform: rotateY(8deg) rotateX(-3deg);
}

/* line 2556, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="4"] .device-laptop {
  transform: rotateX(-27deg) rotateY(-18deg) translateX(-22px) translateY(-60px);
}

/* line 2557, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="4"] .device-mobile {
  opacity: 1;
}

/* line 2558, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="4"] .mobile-scene {
  transform: rotateY(20deg) rotateX(-7deg);
}

/* line 2561, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="5"] .device-laptop {
  transform: rotateX(-29deg) rotateY(-24deg) translateX(-32px) translateY(-60px);
}

/* line 2562, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="5"] .device-mobile {
  opacity: 1;
}

/* line 2563, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="5"] .mobile-scene {
  transform: rotateY(6deg) rotateX(-2deg);
}

/* line 2566, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="6"] .device-laptop {
  transform: rotateX(-25deg) rotateY(-14deg) translateX(-18px) translateY(-60px);
}

/* line 2567, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="6"] .device-mobile {
  opacity: 1;
}

/* line 2568, app/assets/stylesheets/landing_v2.scss */
.device-stage[data-step="6"] .mobile-scene {
  transform: rotateY(18deg) rotateX(-8deg);
}

@media (max-width: 767px) {
  /* line 2579, app/assets/stylesheets/landing_v2.scss */
  .device-showcase-sticky-wrapper {
    min-height: 700vh;
    align-items: flex-start;
  }
  /* line 2585, app/assets/stylesheets/landing_v2.scss */
  .device-showcase-sticky {
    width: 46%;
    height: 100vh;
    height: 100dvh;
  }
  /* line 2592, app/assets/stylesheets/landing_v2.scss */
  .device-stage {
    justify-content: flex-end;
    align-items: center;
    perspective: none;
    margin-left: 22%;
  }
  /* line 2599, app/assets/stylesheets/landing_v2.scss */
  .device-laptop {
    display: none;
  }
  /* line 2602, app/assets/stylesheets/landing_v2.scss */
  .device-mobile {
    position: static;
    width: 182px;
    margin: 0 auto;
    transform: none;
    opacity: 1 !important;
    right: auto;
    bottom: auto;
  }
  /* line 2613, app/assets/stylesheets/landing_v2.scss */
  .device-stage[data-step="0"] .mobile-scene,
.device-stage[data-step="1"] .mobile-scene,
.device-stage[data-step="2"] .mobile-scene,
.device-stage[data-step="3"] .mobile-scene,
.device-stage[data-step="4"] .mobile-scene,
.device-stage[data-step="5"] .mobile-scene,
.device-stage[data-step="6"] .mobile-scene,
.device-stage[data-step="0"] .device-mobile,
.device-stage[data-step="1"] .device-mobile,
.device-stage[data-step="2"] .device-mobile,
.device-stage[data-step="3"] .device-mobile,
.device-stage[data-step="4"] .device-mobile,
.device-stage[data-step="5"] .device-mobile,
.device-stage[data-step="6"] .device-mobile {
    opacity: 1 !important;
  }
  /* line 2631, app/assets/stylesheets/landing_v2.scss */
  .device-scroll-steps {
    width: 54%;
    padding: 10vh 16px 10vh 8px;
    position: relative;
    z-index: 20;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }
  /* line 2640, app/assets/stylesheets/landing_v2.scss */
  .device-scroll-step {
    pointer-events: none;
  }
  /* line 2645, app/assets/stylesheets/landing_v2.scss */
  .device-scroll-step {
    min-height: 100vh;
    min-height: 100dvh;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  /* line 2653, app/assets/stylesheets/landing_v2.scss */
  .device-step-content {
    max-width: 100%;
    background: rgba(10, 14, 26, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 12px;
    padding: 16px 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    opacity: 0.3;
    transition: opacity 0.4s ease;
  }
  /* line 2665, app/assets/stylesheets/landing_v2.scss */
  .device-scroll-step.device-step-active .device-step-content {
    opacity: 1;
  }
  /* line 2669, app/assets/stylesheets/landing_v2.scss */
  .device-step-title {
    font-size: 17px;
  }
  /* line 2670, app/assets/stylesheets/landing_v2.scss */
  .device-step-desc {
    font-size: 12px;
    line-height: 1.6;
  }
  /* line 2671, app/assets/stylesheets/landing_v2.scss */
  .device-step-list li {
    font-size: 12px;
  }
  /* line 2674, app/assets/stylesheets/landing_v2.scss */
  .device-progress-dots {
    bottom: 72px;
    left: 50vw;
    transform: translateX(-50%);
    z-index: 50;
    pointer-events: auto;
  }
  /* line 2683, app/assets/stylesheets/landing_v2.scss */
  .device-skip-btn {
    display: flex;
    position: absolute;
    bottom: 24px;
    right: auto;
    left: 50vw;
    transform: translateX(-50%);
    background: rgba(10, 14, 26, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.5);
    z-index: 50;
    pointer-events: auto;
    width: max-content;
    max-width: none;
    white-space: nowrap;
  }
  /* line 2701, app/assets/stylesheets/landing_v2.scss */
  .device-step-label {
    top: 10vh;
    left: 50vw;
    transform: translateX(-50%);
    font-size: 11px;
    white-space: nowrap;
  }
}

/* line 2711, app/assets/stylesheets/landing_v2.scss */
.device-skip-btn {
  position: absolute;
  bottom: 28px;
  right: 32px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 20px;
  color: rgba(255, 255, 255, 0.35);
  font-size: 11px;
  font-weight: 500;
  padding: 6px 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 20;
  letter-spacing: 0.5px;
  backdrop-filter: blur(8px);
  width: max-content;
}

/* line 2732, app/assets/stylesheets/landing_v2.scss */
.device-skip-btn i {
  font-size: 9px;
  opacity: 0.7;
}

/* line 2734, app/assets/stylesheets/landing_v2.scss */
.device-skip-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.65);
  transform: translateY(1px);
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 2745, app/assets/stylesheets/landing_v2.scss */
  .device-scroll-steps {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }
  /* line 2750, app/assets/stylesheets/landing_v2.scss */
  .device-laptop {
    transform: rotateX(-25deg) rotateY(-15deg) translateY(-20px) scale(0.65) !important;
  }
  /* line 2755, app/assets/stylesheets/landing_v2.scss */
  .device-step-content {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background: rgba(10, 14, 26, 0.55);
    border-radius: 12px;
    padding: 16px 18px;
  }
  /* line 2764, app/assets/stylesheets/landing_v2.scss */
  .device-progress-dots {
    left: 50%;
    transform: translateX(-50%);
    bottom: 68px;
    z-index: 30;
  }
  /* line 2772, app/assets/stylesheets/landing_v2.scss */
  .device-skip-btn {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: 24px;
    z-index: 30;
  }
}
/* line 22, app/assets/stylesheets/landing_v3.scss */
body:has(.landing-v3) {
  background: #050810;
}

/* line 25, app/assets/stylesheets/landing_v3.scss */
body:has(.landing-v3) > .navbar, body:has(.landing-v3) > .nv-header {
  display: none;
}

/* line 27, app/assets/stylesheets/landing_v3.scss */
body:has(.landing-v3) #main-content {
  overflow: visible !important;
}

/* line 31, app/assets/stylesheets/landing_v3.scss */
body:has(.landing-v3) .footer {
  position: relative;
  z-index: 2;
  background: #050810;
}

/* line 38, app/assets/stylesheets/landing_v3.scss */
html:has(.landing-v3),
html:has(.landing-v3) body {
  overflow-x: initial !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* line 44, app/assets/stylesheets/landing_v3.scss */
html:has(.landing-v3)::-webkit-scrollbar,
html:has(.landing-v3) body::-webkit-scrollbar {
  display: none;
}

/* line 49, app/assets/stylesheets/landing_v3.scss */
html.v3-intro-lock,
html.v3-intro-lock body {
  overflow: hidden !important;
  height: 100%;
  touch-action: none;
}

/* line 57, app/assets/stylesheets/landing_v3.scss */
.v3-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000 !important;
  padding: 20px 28px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  background: transparent;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: auto !important;
}

/* line 79, app/assets/stylesheets/landing_v3.scss */
.v3-header > * {
  pointer-events: auto;
}

/* line 82, app/assets/stylesheets/landing_v3.scss */
.v3-header-actions {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* line 88, app/assets/stylesheets/landing_v3.scss */
.v3-header-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 0;
  text-decoration: none;
}

/* line 95, app/assets/stylesheets/landing_v3.scss */
.v3-header-logo img {
  width: 48px;
  height: 48px;
}

/* line 100, app/assets/stylesheets/landing_v3.scss */
.v3-header-logo span {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #fff;
  text-transform: uppercase;
}

/* line 109, app/assets/stylesheets/landing_v3.scss */
.v3-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 115, app/assets/stylesheets/landing_v3.scss */
.v3-lang-dropdown {
  position: relative;
}

/* line 118, app/assets/stylesheets/landing_v3.scss */
.v3-lang-dropdown.is-open .v3-lang-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* line 124, app/assets/stylesheets/landing_v3.scss */
.v3-lang-dropdown.is-open .v3-lang-btn i {
  transform: rotate(180deg);
}

/* line 129, app/assets/stylesheets/landing_v3.scss */
.v3-lang-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* line 144, app/assets/stylesheets/landing_v3.scss */
.v3-lang-btn i {
  font-size: 0.55rem;
  transition: transform 0.2s;
}

/* line 146, app/assets/stylesheets/landing_v3.scss */
.v3-lang-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

/* line 152, app/assets/stylesheets/landing_v3.scss */
.v3-lang-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: rgba(10, 14, 26, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px);
  transition: all 0.2s;
  min-width: 50px;
}

/* line 167, app/assets/stylesheets/landing_v3.scss */
.v3-lang-menu form {
  margin: 0;
}

/* line 170, app/assets/stylesheets/landing_v3.scss */
.v3-lang-option {
  display: block;
  width: 100%;
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s;
}

/* line 184, app/assets/stylesheets/landing_v3.scss */
.v3-lang-option:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* line 185, app/assets/stylesheets/landing_v3.scss */
.v3-lang-option.active {
  color: #00d4aa;
}

/* line 188, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger {
  width: 36px;
  height: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  border: none;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 8px;
  transition: background 0.2s;
}

/* line 203, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* line 205, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger .v3-hamburger-line {
  width: 18px;
  height: 1.5px;
  background: #fff;
  border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}

/* line 214, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger.is-open .v3-hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}

/* line 215, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger.is-open .v3-hamburger-line:nth-child(2) {
  opacity: 0;
}

/* line 216, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger.is-open .v3-hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -4px);
}

/* line 220, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 280px;
  height: 100vh;
  background: rgba(10, 14, 26, 0.95);
  backdrop-filter: blur(20px);
  padding: 80px 32px 40px;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10001;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 236, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay.is-open {
  transform: translateX(0);
}

/* line 238, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: color 0.2s;
}

/* line 247, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay a:hover {
  color: #fff;
}

/* line 249, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay a.v3-nav-cta {
  color: #00d4aa;
  font-weight: 600;
}

/* line 255, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay .v3-nav-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 12px 0;
}

/* line 262, app/assets/stylesheets/landing_v3.scss */
.landing-v3 {
  background: transparent;
  position: relative;
  z-index: 1;
  overflow-anchor: none;
  color: var(--text-primary, #ffffff);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* line 272, app/assets/stylesheets/landing_v3.scss */
.landing-v3 * {
  box-sizing: border-box;
}

/* line 277, app/assets/stylesheets/landing_v3.scss */
.landing-v3::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.015;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(/%23noise)'/%3E%3C/svg%3E");
}

@media (prefers-reduced-motion: reduce) {
  /* line 289, app/assets/stylesheets/landing_v3.scss */
  .landing-v3 *, .landing-v3 *::before, .landing-v3 *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* line 300, app/assets/stylesheets/landing_v3.scss */
.v3-hero {
  position: relative;
  height: 100vh;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 10vh;
  overflow: hidden;
  padding-left: 24px;
  padding-right: 24px;
  z-index: 2;
}

/* line 316, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* line 325, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* line 336, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg .v3-video-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 1s ease;
  z-index: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* line 350, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg .v3-video-poster.v3-poster-animate {
  animation: v3-ken-burns 20s ease-in-out infinite alternate;
}

@keyframes v3-ken-burns {
  0% {
    transform: scale(1) translateX(0);
  }
  100% {
    transform: scale(1.08) translateX(-2%);
  }
}

/* line 361, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(5, 8, 20, 0.2);
  z-index: 1;
  pointer-events: none;
  transition: background 1.2s ease;
}

/* line 371, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg.v3-video-dimmed::before {
  background: rgba(5, 8, 20, 0.4);
}

/* line 375, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 14, 26, 0.1) 0%, rgba(10, 14, 26, 0.25) 100%);
  opacity: 0;
  transition: opacity 1.2s ease;
  z-index: 2;
}

/* line 385, app/assets/stylesheets/landing_v3.scss */
.v3-video-bg.v3-video-dimmed::after {
  opacity: 1;
}

/* line 391, app/assets/stylesheets/landing_v3.scss */
.v3-intro-brand {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 15vh;
  z-index: 10;
  pointer-events: none;
}

/* line 403, app/assets/stylesheets/landing_v3.scss */
.v3-intro-brand-logo {
  width: clamp(120px, 24vw, 240px);
  height: auto;
  margin-bottom: 1.5rem;
  opacity: 0;
  filter: drop-shadow(0 0 80px black) drop-shadow(0 0 150px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 40px black) drop-shadow(0 0 20px black);
}

/* line 411, app/assets/stylesheets/landing_v3.scss */
.v3-intro-brand-text {
  font-size: clamp(1.8rem, 7vw, 6rem);
  font-weight: 900;
  letter-spacing: clamp(0.1em, 2vw, 0.3em);
  color: #fff;
  opacity: 0;
  text-transform: uppercase;
  text-shadow: 0 0 60px rgba(255, 255, 255, 0.3);
}

/* line 422, app/assets/stylesheets/landing_v3.scss */
.v3-problem,
.v3-proof,
.v3-faq {
  background: rgba(10, 14, 26, 0.55) !important;
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 431, app/assets/stylesheets/landing_v3.scss */
.v3-access,
.landing-v3 .track-record-preview-section {
  background: rgba(10, 14, 26, 0.7) !important;
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 440, app/assets/stylesheets/landing_v3.scss */
.v3-faq-title,
.v3-access-title,
.v3-access-subtitle {
  color: #fff;
}

/* line 446, app/assets/stylesheets/landing_v3.scss */
.v3-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 1000px;
  margin: 0 auto;
}

/* line 454, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title {
  font-size: clamp(2.4rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin-bottom: 20px;
  visibility: hidden;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
}

/* line 463, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title .word {
  display: inline-block;
  overflow: hidden;
  margin-right: 0.2em;
}

/* line 468, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title .word:last-child {
  margin-right: 0;
}

/* line 473, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(100%) rotateX(90deg);
  will-change: transform, opacity;
}

/* line 481, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title-gradient {
  text-shadow: none;
  filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.6));
}

/* line 485, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title-gradient .char {
  background: linear-gradient(135deg, #e8c547 0%, #f0a030 50%, #e87040 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% 200%;
  animation: v3-gradient-shift 8s ease infinite;
}

@keyframes v3-gradient-shift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

/* line 500, app/assets/stylesheets/landing_v3.scss */
.v3-hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #ffffff;
  margin-bottom: 40px;
  opacity: 0;
  transform: translateY(20px);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7), 0 0 30px rgba(0, 0, 0, 0.4);
}

/* line 513, app/assets/stylesheets/landing_v3.scss */
.v3-hero-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  opacity: 0;
  transform: translateY(20px);
}

/* line 522, app/assets/stylesheets/landing_v3.scss */
.v3-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 36px;
  background: linear-gradient(135deg, #00d4aa, #00ab89);
  color: #050810;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 14px;
  text-decoration: none;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
  box-shadow: 0 4px 24px rgba(0, 212, 170, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
  overflow: hidden;
}

/* line 538, app/assets/stylesheets/landing_v3.scss */
.v3-btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, transparent 50%);
  pointer-events: none;
}

/* line 546, app/assets/stylesheets/landing_v3.scss */
.v3-btn-primary:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 48px rgba(0, 212, 170, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  color: #050810;
  text-decoration: none;
}

/* line 553, app/assets/stylesheets/landing_v3.scss */
.v3-btn-primary:active {
  transform: translateY(-1px) scale(0.98);
}

/* line 558, app/assets/stylesheets/landing_v3.scss */
.v3-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 36px;
  background: rgba(255, 255, 255, 0.03);
  color: #ffffff;
  font-weight: 600;
  font-size: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(8px);
}

/* line 573, app/assets/stylesheets/landing_v3.scss */
.v3-btn-ghost:hover {
  border-color: rgba(0, 212, 170, 0.5);
  color: #00d4aa;
  text-decoration: none;
  background: rgba(0, 212, 170, 0.08);
  box-shadow: 0 0 24px rgba(0, 212, 170, 0.15);
  transform: translateY(-2px);
}

/* line 583, app/assets/stylesheets/landing_v3.scss */
.v3-scroll-indicator {
  position: absolute;
  bottom: 12vh;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #00d4aa;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* line 600, app/assets/stylesheets/landing_v3.scss */
.v3-scroll-indicator .v3-scroll-chevron {
  width: 20px;
  height: 20px;
  border-right: 2px solid #00d4aa;
  border-bottom: 2px solid #00d4aa;
  transform: rotate(45deg);
}

/* line 612, app/assets/stylesheets/landing_v3.scss */
.v3-problem {
  position: relative;
  min-height: 62vh;
  padding: 120px 24px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 622, app/assets/stylesheets/landing_v3.scss */
.v3-problem-sticky {
  width: 100%;
}

/* line 626, app/assets/stylesheets/landing_v3.scss */
.v3-problem-content {
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

/* line 632, app/assets/stylesheets/landing_v3.scss */
.v3-stat-big {
  font-size: clamp(4rem, 12vw, 10rem);
  font-weight: 900;
  background: linear-gradient(135deg, #ff4444 0%, #ff6b6b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 16px;
  opacity: 0;
  transform: scale(0.8);
}

/* line 645, app/assets/stylesheets/landing_v3.scss */
.v3-stat-label {
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  color: #94a3b8;
  margin-bottom: 80px;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
}

/* line 653, app/assets/stylesheets/landing_v3.scss */
.v3-problem-lines {
  opacity: 0;
}

/* line 656, app/assets/stylesheets/landing_v3.scss */
.v3-problem-lines p {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 600;
  margin-bottom: 16px;
  color: #94a3b8;
}

/* line 662, app/assets/stylesheets/landing_v3.scss */
.v3-problem-lines p:last-child {
  color: #ffffff;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 675, app/assets/stylesheets/landing_v3.scss */
.v3-solution {
  position: relative;
  z-index: 1;
  height: 400vh;
}

/* line 681, app/assets/stylesheets/landing_v3.scss */
.v3-solution-pin {
  height: 100vh;
  display: flex;
  align-items: center;
  padding: 0 5%;
  overflow: hidden;
}

/* line 689, app/assets/stylesheets/landing_v3.scss */
.v3-solution-layout {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: 60px;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

/* line 699, app/assets/stylesheets/landing_v3.scss */
.v3-device-container {
  position: relative;
  perspective: 1200px;
}

/* line 704, app/assets/stylesheets/landing_v3.scss */
.v3-device-mockup {
  position: relative;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 50px 100px rgba(0, 0, 0, 0.7), 0 0 80px rgba(0, 212, 170, 0.08), 0 0 1px rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(145deg, #141928, #050810);
  transform-style: preserve-3d;
  transform: rotateY(0deg) rotateX(0deg);
  transition: transform 0.1s linear;
}

/* line 722, app/assets/stylesheets/landing_v3.scss */
.v3-device-mockup::before {
  content: '';
  display: block;
  padding-top: 62.5%;
}

/* line 728, app/assets/stylesheets/landing_v3.scss */
.v3-device-mockup::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%);
  pointer-events: none;
  border-radius: 20px 20px 0 0;
}

/* line 741, app/assets/stylesheets/landing_v3.scss */
.v3-device-screen {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* line 751, app/assets/stylesheets/landing_v3.scss */
.v3-device-screen.active {
  opacity: 1;
}

/* line 755, app/assets/stylesheets/landing_v3.scss */
.v3-device-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

/* line 763, app/assets/stylesheets/landing_v3.scss */
.v3-device-screen-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1), rgba(0, 168, 255, 0.1));
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #64748b;
  border: 1px dashed rgba(255, 255, 255, 0.08);
}

/* line 776, app/assets/stylesheets/landing_v3.scss */
.v3-solution-steps {
  position: relative;
}

/* line 780, app/assets/stylesheets/landing_v3.scss */
.v3-solution-step {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* line 789, app/assets/stylesheets/landing_v3.scss */
.v3-solution-step.active {
  opacity: 1;
  transform: translateY(0);
}

/* line 795, app/assets/stylesheets/landing_v3.scss */
.v3-step-number {
  font-size: 0.8rem;
  font-weight: 700;
  color: #00d4aa;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

/* line 804, app/assets/stylesheets/landing_v3.scss */
.v3-step-title {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 800;
  margin-bottom: 16px;
  line-height: 1.2;
}

/* line 811, app/assets/stylesheets/landing_v3.scss */
.v3-step-desc {
  font-size: 1.1rem;
  color: #94a3b8;
  line-height: 1.7;
  margin-bottom: 24px;
}

/* line 818, app/assets/stylesheets/landing_v3.scss */
.v3-step-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 823, app/assets/stylesheets/landing_v3.scss */
.v3-step-features li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  font-size: 0.95rem;
  color: #94a3b8;
}

/* line 831, app/assets/stylesheets/landing_v3.scss */
.v3-step-features li i {
  color: #00d4aa;
  font-size: 0.8rem;
}

/* line 838, app/assets/stylesheets/landing_v3.scss */
.v3-solution-progress {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

/* line 847, app/assets/stylesheets/landing_v3.scss */
.v3-progress-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  transition: all 0.3s ease;
}

/* line 854, app/assets/stylesheets/landing_v3.scss */
.v3-progress-dot.active {
  background: #00d4aa;
  box-shadow: 0 0 12px rgba(0, 212, 170, 0.5);
  transform: scale(1.3);
}

/* line 864, app/assets/stylesheets/landing_v3.scss */
.v3-proof {
  position: relative;
  z-index: 2;
  padding: 120px 24px;
  overflow: hidden;
}

/* line 871, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-wrap {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  overflow: hidden;
  padding: 18px 0;
  margin-bottom: 80px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(4px);
}

/* line 884, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-wrap::before, .v3-ticker-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}

/* line 894, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-wrap::before {
  left: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), transparent);
}

/* line 899, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-wrap::after {
  right: 0;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), transparent);
}

/* line 905, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-track {
  display: flex;
  width: max-content;
  animation: v3-ticker-scroll 30s linear infinite;
  gap: 40px;
}

@keyframes v3-ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* line 917, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item {
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 925, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-symbol {
  color: #ffffff;
}

/* line 929, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-action {
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* line 936, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-action.buy {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 941, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-action.sell {
  background: rgba(255, 68, 68, 0.15);
  color: #ff6b6b;
}

/* line 947, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-change {
  color: #94a3b8;
  font-size: 0.85rem;
}

/* line 953, app/assets/stylesheets/landing_v3.scss */
.v3-stats-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 900px;
  margin: 0 auto 80px;
  text-align: center;
}

/* line 962, app/assets/stylesheets/landing_v3.scss */
.v3-stat-item {
  opacity: 0;
  transform: translateY(30px);
}

/* line 967, app/assets/stylesheets/landing_v3.scss */
.v3-stat-value {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 900;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
  margin-bottom: 8px;
}

/* line 978, app/assets/stylesheets/landing_v3.scss */
.v3-stat-desc {
  font-size: 0.9rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 985, app/assets/stylesheets/landing_v3.scss */
.v3-proof-cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
}

/* line 993, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  padding: 28px;
  backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateY(20px);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* line 1005, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
}

/* line 1015, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card:hover {
  transform: translateY(-6px);
  border-color: rgba(0, 212, 170, 0.3);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 212, 170, 0.05);
}

/* line 1021, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-icon {
  font-size: 1.2rem;
  margin-bottom: 12px;
}

/* line 1025, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-icon.success {
  color: #00d4aa;
}

/* line 1026, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-icon.danger {
  color: #ff6b6b;
}

/* line 1027, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-icon.info {
  color: #00a8ff;
}

/* line 1028, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-icon.warning {
  color: #f59e0b;
}

/* line 1029, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-icon.purple {
  color: #a855f7;
}

/* line 1032, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-label {
  font-size: 0.8rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

/* line 1040, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}

/* line 1046, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-badge {
  display: inline-block;
  margin-top: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
}

/* line 1061, app/assets/stylesheets/landing_v3.scss */
.v3-access {
  position: relative;
  z-index: 2;
  padding: 120px 24px;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* line 1070, app/assets/stylesheets/landing_v3.scss */
.v3-access-content {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

/* line 1076, app/assets/stylesheets/landing_v3.scss */
.v3-access-title {
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 16px;
  opacity: 0;
}

/* line 1083, app/assets/stylesheets/landing_v3.scss */
.v3-access-title .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(60%);
}

/* line 1090, app/assets/stylesheets/landing_v3.scss */
.v3-access-subtitle {
  font-size: 1.15rem;
  color: #94a3b8;
  margin-bottom: 60px;
  opacity: 0;
}

/* line 1098, app/assets/stylesheets/landing_v3.scss */
.v3-pricing-embed {
  margin-bottom: 60px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 20px;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1108, app/assets/stylesheets/landing_v3.scss */
.v3-cta-final {
  position: relative;
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
}

/* line 1115, app/assets/stylesheets/landing_v3.scss */
.v3-cta-glow {
  position: absolute;
  inset: -40px;
  background: radial-gradient(circle, rgba(0, 212, 170, 0.2), transparent 70%);
  border-radius: 50%;
  animation: v3-glow-pulse 3s ease-in-out infinite;
  pointer-events: none;
}

@keyframes v3-glow-pulse {
  0%, 100% {
    opacity: 0.5;
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

/* line 1129, app/assets/stylesheets/landing_v3.scss */
.v3-btn-magnetic {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 22px 52px;
  background: linear-gradient(135deg, #00d4aa, #00bb96, #00eebe);
  background-size: 200% 200%;
  color: #050810;
  font-weight: 800;
  font-size: 1.15rem;
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 8px 40px rgba(0, 212, 170, 0.4), 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transition: box-shadow 0.3s ease;
  will-change: transform;
  position: relative;
  overflow: hidden;
  animation: v3-btn-shimmer 3s ease infinite;
}

/* line 1151, app/assets/stylesheets/landing_v3.scss */
.v3-btn-magnetic::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.15) 50%, transparent 70%);
  animation: v3-btn-shine 4s ease-in-out infinite;
}

/* line 1162, app/assets/stylesheets/landing_v3.scss */
.v3-btn-magnetic:hover {
  box-shadow: 0 16px 64px rgba(0, 212, 170, 0.6), 0 4px 16px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  color: #050810;
  text-decoration: none;
}

@keyframes v3-btn-shimmer {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

@keyframes v3-btn-shine {
  0% {
    transform: translateX(-100%) rotate(45deg);
  }
  30%, 100% {
    transform: translateX(100%) rotate(45deg);
  }
}

/* line 1182, app/assets/stylesheets/landing_v3.scss */
.v3-cta-note {
  font-size: 0.85rem;
  color: #64748b;
  margin-top: 20px;
  opacity: 0;
}

/* line 1192, app/assets/stylesheets/landing_v3.scss */
.v3-faq {
  position: relative;
  z-index: 2;
  padding: 100px 24px;
}

/* line 1198, app/assets/stylesheets/landing_v3.scss */
.v3-faq-title {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  text-align: center;
  margin-bottom: 60px;
}

/* line 1205, app/assets/stylesheets/landing_v3.scss */
.v3-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}

/* line 1213, app/assets/stylesheets/landing_v3.scss */
.v3-faq-item {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 28px;
}

/* line 1219, app/assets/stylesheets/landing_v3.scss */
.v3-faq-item h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 12px;
  color: #ffffff;
}

/* line 1226, app/assets/stylesheets/landing_v3.scss */
.v3-faq-item p {
  font-size: 0.9rem;
  color: #94a3b8;
  line-height: 1.7;
  margin: 0;
}

/* line 1237, app/assets/stylesheets/landing_v3.scss */
.v3-b2b {
  position: relative;
  z-index: 1;
  padding: 100px 24px;
  text-align: center;
  background: linear-gradient(180deg, rgba(10, 11, 20, 0.85) 0%, rgba(17, 24, 39, 0.75) 50%, rgba(10, 11, 20, 0.85) 100%);
}

/* line 1245, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  background: rgba(168, 85, 247, 0.1);
  color: #a855f7;
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 24px;
}

/* line 1258, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-title {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  margin-bottom: 16px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* line 1267, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-subtitle {
  font-size: 1rem;
  color: #94a3b8;
  max-width: 650px;
  margin: 0 auto 40px;
  line-height: 1.7;
}

/* line 1275, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 40px;
}

/* line 1283, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-feature {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.85rem;
  color: #94a3b8;
}

/* line 1294, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-feature i {
  color: #a855f7;
}

/* line 1299, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-cta {
  display: flex;
  justify-content: center;
  gap: 16px;
}

@media (max-width: 1200px) and (min-width: 768px) {
  /* line 1309, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
  }
  /* line 1313, app/assets/stylesheets/landing_v3.scss */
  .v3-solution {
    height: 300vh;
  }
  /* line 1317, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-layout {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
  /* line 1323, app/assets/stylesheets/landing_v3.scss */
  .v3-device-mockup {
    max-width: 500px;
  }
  /* line 1327, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-steps {
    position: relative;
    min-height: 200px;
  }
  /* line 1332, app/assets/stylesheets/landing_v3.scss */
  .v3-stats-row {
    gap: 24px;
  }
  /* line 1336, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-cards {
    grid-template-columns: repeat(3, 1fr);
  }
  /* line 1340, app/assets/stylesheets/landing_v3.scss */
  .v3-faq-grid {
    gap: 16px;
  }
}

@media (max-width: 767px) {
  /* line 1349, app/assets/stylesheets/landing_v3.scss */
  .v3-hero {
    padding: 0 16px;
    min-height: 100svh;
  }
  /* line 1354, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-title {
    font-size: clamp(2.2rem, 9vw, 3.5rem);
  }
  /* line 1358, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-cta {
    flex-direction: column;
    gap: 12px;
  }
  /* line 1362, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-cta a {
    width: 100%;
    justify-content: center;
  }
  /* line 1368, app/assets/stylesheets/landing_v3.scss */
  .v3-scroll-indicator {
    bottom: 24px;
  }
  /* line 1373, app/assets/stylesheets/landing_v3.scss */
  .v3-problem {
    min-height: auto;
    padding: 80px 16px;
  }
  /* line 1378, app/assets/stylesheets/landing_v3.scss */
  .v3-problem-sticky {
    position: relative;
    height: auto;
  }
  /* line 1383, app/assets/stylesheets/landing_v3.scss */
  .v3-stat-big {
    font-size: clamp(3rem, 15vw, 5rem);
  }
  /* line 1387, app/assets/stylesheets/landing_v3.scss */
  .v3-problem-lines p {
    font-size: clamp(1.2rem, 5vw, 1.8rem);
  }
  /* line 1392, app/assets/stylesheets/landing_v3.scss */
  .v3-solution {
    padding: 60px 16px;
    height: auto;
  }
  /* line 1397, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-pin {
    height: auto;
    padding: 0;
    flex-direction: column;
  }
  /* line 1403, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  /* line 1408, app/assets/stylesheets/landing_v3.scss */
  .v3-device-mockup {
    max-width: 100%;
  }
  /* line 1412, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-steps {
    position: relative;
    min-height: auto;
  }
  /* line 1417, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-step {
    position: relative;
    opacity: 1;
    transform: none;
    margin-bottom: 40px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
  }
  /* line 1427, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-step:last-child {
    margin-bottom: 0;
  }
  /* line 1432, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-progress {
    display: none;
  }
  /* line 1437, app/assets/stylesheets/landing_v3.scss */
  .v3-stats-row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  /* line 1443, app/assets/stylesheets/landing_v3.scss */
  .v3-ticker-wrap {
    display: none;
  }
  /* line 1448, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 0 12px;
  }
  /* line 1454, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card {
    padding: 14px;
    border-radius: 12px;
  }
  /* line 1458, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-icon {
    font-size: 0.9rem;
    margin-bottom: 6px;
  }
  /* line 1459, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-label {
    font-size: 0.65rem;
  }
  /* line 1460, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-value {
    font-size: 0.85rem;
  }
  /* line 1461, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-badge {
    font-size: 0.6rem;
    padding: 2px 6px;
  }
  /* line 1465, app/assets/stylesheets/landing_v3.scss */
  .v3-btn-magnetic {
    padding: 16px 36px;
    font-size: 1rem;
  }
  /* line 1471, app/assets/stylesheets/landing_v3.scss */
  .v3-faq-grid {
    grid-template-columns: 1fr;
  }
  /* line 1476, app/assets/stylesheets/landing_v3.scss */
  .v3-b2b-cta {
    flex-direction: column;
    align-items: center;
  }
  /* line 1481, app/assets/stylesheets/landing_v3.scss */
  .v3-b2b-features {
    flex-direction: column;
    align-items: center;
  }
}

/* line 1490, app/assets/stylesheets/landing_v3.scss */
.v3-features {
  position: relative;
  z-index: 2;
  padding: 120px 24px;
  background: rgba(10, 14, 26, 0.55);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1498, app/assets/stylesheets/landing_v3.scss */
.v3-features-header {
  text-align: center;
  margin-bottom: 72px;
}

/* line 1503, app/assets/stylesheets/landing_v3.scss */
.v3-features-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 212, 170, 0.08);
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 20px;
  padding: 6px 16px;
  font-size: 0.65rem;
  font-weight: 700;
  color: #00d4aa;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}

/* line 1519, app/assets/stylesheets/landing_v3.scss */
.v3-features-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: 12px;
}

/* line 1526, app/assets/stylesheets/landing_v3.scss */
.v3-features-subtitle {
  font-size: 1.05rem;
  color: #94a3b8;
  max-width: 500px;
  margin: 0 auto;
}

/* line 1533, app/assets/stylesheets/landing_v3.scss */
.v3-features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

/* line 1541, app/assets/stylesheets/landing_v3.scss */
.v3-feature-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 24px;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}

/* line 1548, app/assets/stylesheets/landing_v3.scss */
.v3-feature-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 212, 170, 0.25);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 212, 170, 0.06);
}

/* line 1555, app/assets/stylesheets/landing_v3.scss */
.v3-feature-visual {
  padding: 24px 24px 0;
}

/* line 1559, app/assets/stylesheets/landing_v3.scss */
.v3-feature-mockup {
  background: rgba(5, 8, 16, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  overflow: hidden;
}

/* line 1566, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-header {
  display: flex;
  gap: 5px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1574, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}

/* line 1580, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-dot:first-child {
  background: #ef4444;
}

/* line 1581, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-dot:nth-child(2) {
  background: #eab308;
}

/* line 1582, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-dot:last-child {
  background: #22c55e;
}

/* line 1585, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-body {
  padding: 16px;
}

/* line 1590, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-dashboard-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

/* line 1597, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-portfolio-value {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

/* line 1603, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-pv-label {
  font-size: 0.55rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 1610, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-pv-amount {
  font-size: 1.3rem;
  font-weight: 800;
  color: #fff;
}

/* line 1616, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-pv-change {
  font-size: 0.65rem;
  font-weight: 600;
}

/* line 1619, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-pv-change.positive {
  color: #00d4aa;
}

/* line 1620, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-pv-change i {
  font-size: 0.5rem;
}

/* line 1623, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-mini-cards {
  display: flex;
  gap: 6px;
}

/* line 1628, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-mini-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 1638, app/assets/stylesheets/landing_v3.scss */
.v3-mini-val {
  font-size: 0.8rem;
  font-weight: 700;
  color: #e2e8f0;
}

/* line 1642, app/assets/stylesheets/landing_v3.scss */
.v3-mini-val.success {
  color: #00d4aa;
}

/* line 1643, app/assets/stylesheets/landing_v3.scss */
.v3-mini-val.danger {
  color: #ef4444;
}

/* line 1646, app/assets/stylesheets/landing_v3.scss */
.v3-mini-lbl {
  font-size: 0.5rem;
  color: #64748b;
  text-transform: uppercase;
}

/* line 1652, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-chart {
  margin-bottom: 8px;
}

/* line 1655, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-chart svg {
  width: 100%;
  height: 35px;
}

/* line 1661, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-sentiment-row {
  display: flex;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1668, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-sent-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.6rem;
  color: #94a3b8;
}

/* line 1675, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-sent-item i {
  font-size: 0.55rem;
}

/* line 1679, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-signals {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 1685, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-signal {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
}

/* line 1694, app/assets/stylesheets/landing_v3.scss */
.v3-signal-ticker {
  font-size: 0.72rem;
  font-weight: 700;
  color: #e2e8f0;
  min-width: 32px;
}

/* line 1701, app/assets/stylesheets/landing_v3.scss */
.v3-signal-name {
  font-size: 0.55rem;
  color: #64748b;
  min-width: 50px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 1710, app/assets/stylesheets/landing_v3.scss */
.v3-signal-badge {
  font-size: 0.5rem;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 3px;
  text-transform: uppercase;
}

/* line 1717, app/assets/stylesheets/landing_v3.scss */
.v3-signal-badge.buy {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 1722, app/assets/stylesheets/landing_v3.scss */
.v3-signal-badge.sell {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* line 1728, app/assets/stylesheets/landing_v3.scss */
.v3-signal-bar {
  flex: 1;
  height: 3px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
  overflow: hidden;
  min-width: 30px;
}

/* line 1737, app/assets/stylesheets/landing_v3.scss */
.v3-signal-bar-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #00d4aa, #00a8ff);
  transition: width 0.6s ease;
}

/* line 1743, app/assets/stylesheets/landing_v3.scss */
.v3-signal-bar-fill.sell {
  background: linear-gradient(90deg, #ef4444, #f97316);
}

/* line 1746, app/assets/stylesheets/landing_v3.scss */
.v3-signal-score {
  font-size: 0.8rem;
  font-weight: 800;
  min-width: 22px;
  text-align: right;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 1756, app/assets/stylesheets/landing_v3.scss */
.v3-signal-score.low {
  background: linear-gradient(135deg, #ef4444, #f97316);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 1766, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-chart-analysis svg {
  width: 100%;
  height: 130px;
  margin-bottom: 8px;
}

/* line 1773, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-chart-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

/* line 1780, app/assets/stylesheets/landing_v3.scss */
.v3-chart-ticker-label {
  font-size: 0.65rem;
  font-weight: 600;
  color: #e2e8f0;
}

/* line 1786, app/assets/stylesheets/landing_v3.scss */
.v3-chart-price-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: #fff;
}

/* line 1792, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-chart-badge {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 1798, app/assets/stylesheets/landing_v3.scss */
.v3-chart-signal-long {
  font-size: 0.6rem;
  font-weight: 800;
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.1);
  padding: 3px 8px;
  border-radius: 4px;
}

/* line 1806, app/assets/stylesheets/landing_v3.scss */
.v3-chart-signal-long i {
  margin-right: 3px;
  font-size: 0.5rem;
}

/* line 1809, app/assets/stylesheets/landing_v3.scss */
.v3-chart-conv {
  font-size: 0.55rem;
  color: #eab308;
  font-weight: 600;
}

/* line 1815, app/assets/stylesheets/landing_v3.scss */
.v3-chart-rr {
  font-size: 0.6rem;
  color: #94a3b8;
  font-weight: 600;
  margin-left: auto;
}

/* line 1823, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-simulation {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 1830, app/assets/stylesheets/landing_v3.scss */
.v3-sim-chart svg {
  width: 100%;
  height: 30px;
  margin-bottom: 4px;
}

/* line 1837, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strategies {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 1843, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
  border: 1px solid transparent;
}

/* line 1852, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat.winner {
  border-color: rgba(0, 212, 170, 0.3);
  background: rgba(0, 212, 170, 0.05);
}

/* line 1858, app/assets/stylesheets/landing_v3.scss */
.v3-sim-badge-winner {
  font-size: 0.55rem;
  color: #eab308;
}

/* line 1863, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat-name {
  font-size: 0.68rem;
  color: #94a3b8;
  font-weight: 500;
}

/* line 1869, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat-val {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 700;
  color: #00d4aa;
}

/* line 1875, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat-val.neutral {
  color: #94a3b8;
}

/* line 1878, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta {
  display: flex;
  gap: 10px;
  padding-top: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1885, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-item {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

/* line 1891, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-lbl {
  font-size: 0.5rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 1898, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-val {
  font-size: 0.7rem;
  font-weight: 700;
  color: #e2e8f0;
}

/* line 1903, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-val.danger {
  color: #ef4444;
}

/* line 1907, app/assets/stylesheets/landing_v3.scss */
.v3-feature-content {
  padding: 24px;
}

/* line 1911, app/assets/stylesheets/landing_v3.scss */
.v3-feature-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

/* line 1918, app/assets/stylesheets/landing_v3.scss */
.v3-feature-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15), rgba(0, 168, 255, 0.1));
  color: #00d4aa;
  font-size: 0.9rem;
  flex-shrink: 0;
}

/* line 1931, app/assets/stylesheets/landing_v3.scss */
.v3-feature-name {
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
  margin: 0;
}

/* line 1938, app/assets/stylesheets/landing_v3.scss */
.v3-feature-desc {
  font-size: 0.85rem;
  color: #94a3b8;
  line-height: 1.5;
  margin-bottom: 16px;
}

/* line 1945, app/assets/stylesheets/landing_v3.scss */
.v3-feature-highlights {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 1953, app/assets/stylesheets/landing_v3.scss */
.v3-feature-highlights li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.7);
}

/* line 1960, app/assets/stylesheets/landing_v3.scss */
.v3-feature-highlights li i {
  color: #00d4aa;
  font-size: 0.6rem;
}

@media (max-width: 900px) {
  /* line 1969, app/assets/stylesheets/landing_v3.scss */
  .v3-features-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  /* line 1974, app/assets/stylesheets/landing_v3.scss */
  .v3-features {
    padding: 80px 16px;
  }
  /* line 1978, app/assets/stylesheets/landing_v3.scss */
  .v3-feature-card {
    border-radius: 16px;
  }
  /* line 1982, app/assets/stylesheets/landing_v3.scss */
  .v3-feature-visual {
    padding: 16px 16px 0;
  }
  /* line 1986, app/assets/stylesheets/landing_v3.scss */
  .v3-feature-content {
    padding: 16px;
  }
}

/* line 1994, app/assets/stylesheets/landing_v3.scss */
.v3-section-badge {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  margin-bottom: 16px;
}

/* line 2012, app/assets/stylesheets/landing_v3.scss */
.v3-reviews-bandeau {
  padding: 48px 0;
  overflow: hidden;
  position: relative;
}

/* line 2018, app/assets/stylesheets/landing_v3.scss */
.v3-reviews-wrap {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
}

/* line 2026, app/assets/stylesheets/landing_v3.scss */
.v3-reviews-track {
  display: flex;
  width: max-content;
  animation: v3-reviews-scroll 40s linear infinite;
  gap: 24px;
  padding: 8px 0;
}

/* line 2033, app/assets/stylesheets/landing_v3.scss */
.v3-reviews-track:hover {
  animation-play-state: paused;
}

@keyframes v3-reviews-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* line 2043, app/assets/stylesheets/landing_v3.scss */
.v3-review-card {
  flex-shrink: 0;
  width: 280px;
  padding: 24px;
  border-radius: 16px;
  background: rgba(10, 14, 26, 0.85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.3s ease;
}

/* line 2056, app/assets/stylesheets/landing_v3.scss */
.v3-review-card:hover {
  border-color: rgba(255, 255, 255, 0.2);
}

/* line 2061, app/assets/stylesheets/landing_v3.scss */
.v3-review-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 2067, app/assets/stylesheets/landing_v3.scss */
.v3-review-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

/* line 2075, app/assets/stylesheets/landing_v3.scss */
.v3-review-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 2081, app/assets/stylesheets/landing_v3.scss */
.v3-review-avatar-placeholder {
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.4);
  font-size: 16px;
}

/* line 2092, app/assets/stylesheets/landing_v3.scss */
.v3-review-stars {
  color: #f5a623;
  font-size: 14px;
  display: flex;
  gap: 2px;
}

/* line 2099, app/assets/stylesheets/landing_v3.scss */
.v3-review-body {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
}

/* line 2106, app/assets/stylesheets/landing_v3.scss */
.v3-review-author {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}

/* line 2112, app/assets/stylesheets/landing_v3.scss */
.v3-review-date {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: auto;
}

@media (max-width: 768px) {
  /* line 2119, app/assets/stylesheets/landing_v3.scss */
  .v3-reviews-bandeau {
    padding: 32px 0;
  }
  /* line 2123, app/assets/stylesheets/landing_v3.scss */
  .v3-review-card {
    width: 240px;
    padding: 20px;
  }
}
/* line 25, app/assets/stylesheets/pages_v2.scss */
.page-hero-v2 {
  position: relative;
  padding: 140px 0 80px;
  background: #0a0b0f;
  overflow: hidden;
  min-height: 400px;
  display: flex;
  align-items: center;
}

/* line 35, app/assets/stylesheets/pages_v2.scss */
.page-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* line 41, app/assets/stylesheets/pages_v2.scss */
.page-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

/* line 49, app/assets/stylesheets/pages_v2.scss */
.page-hero-title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 20px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* line 58, app/assets/stylesheets/pages_v2.scss */
.page-hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 32px;
  line-height: 1.6;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* line 68, app/assets/stylesheets/pages_v2.scss */
.current-plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 100px;
  color: #00D4AA;
  font-size: 14px;
  font-weight: 500;
}

/* line 84, app/assets/stylesheets/pages_v2.scss */
.pricing-plans-v2 {
  padding: 80px 0;
  background: #050507;
}

/* line 92, app/assets/stylesheets/pages_v2.scss */
.faq-section-v2 {
  padding: 100px 0;
  background: #0a0b0f;
}

/* line 97, app/assets/stylesheets/pages_v2.scss */
.section-header {
  text-align: center;
  margin-bottom: 60px;
}

/* line 102, app/assets/stylesheets/pages_v2.scss */
.faq-grid-v2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  /* line 102, app/assets/stylesheets/pages_v2.scss */
  .faq-grid-v2 {
    grid-template-columns: 1fr;
  }
}

/* line 114, app/assets/stylesheets/pages_v2.scss */
.faq-item-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 28px;
  transition: all 0.3s ease;
}

/* line 121, app/assets/stylesheets/pages_v2.scss */
.faq-item-v2:hover {
  border-color: rgba(0, 212, 170, 0.2);
  transform: translateY(-2px);
}

/* line 127, app/assets/stylesheets/pages_v2.scss */
.faq-question-v2 {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 12px;
}

/* line 134, app/assets/stylesheets/pages_v2.scss */
.faq-answer-v2 {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
  margin: 0;
}

/* line 144, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 {
  background: #0a0b0f;
  min-height: 100vh;
}

/* line 149, app/assets/stylesheets/pages_v2.scss */
.legal-content-v2 {
  padding: 60px 0 100px;
  max-width: 800px;
  margin: 0 auto;
}

/* line 155, app/assets/stylesheets/pages_v2.scss */
.legal-section-v2 {
  margin-bottom: 40px;
}

/* line 158, app/assets/stylesheets/pages_v2.scss */
.legal-section-v2 h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 167, app/assets/stylesheets/pages_v2.scss */
.legal-section-v2 p, .legal-section-v2 li {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.7;
  margin-bottom: 12px;
}

/* line 174, app/assets/stylesheets/pages_v2.scss */
.legal-section-v2 ul, .legal-section-v2 ol {
  padding-left: 20px;
  margin-bottom: 16px;
}

/* line 180, app/assets/stylesheets/pages_v2.scss */
.legal-alert-v2 {
  padding: 20px 24px;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-radius: 16px;
  margin-bottom: 40px;
}

/* line 187, app/assets/stylesheets/pages_v2.scss */
.legal-alert-v2 strong {
  color: #F59E0B;
  display: block;
  margin-bottom: 4px;
}

/* line 193, app/assets/stylesheets/pages_v2.scss */
.legal-alert-v2 p {
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  font-size: 14px;
}

/* line 200, app/assets/stylesheets/pages_v2.scss */
.legal-info-v2 {
  padding: 20px 24px;
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 16px;
  margin-bottom: 40px;
}

/* line 207, app/assets/stylesheets/pages_v2.scss */
.legal-info-v2 p {
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  font-size: 14px;
}

/* line 212, app/assets/stylesheets/pages_v2.scss */
.legal-info-v2 p strong {
  color: #00D4AA;
}

/* line 220, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert {
  border-radius: 16px;
  padding: 20px 24px;
  margin-bottom: 20px;
  border: none;
  border-left: 4px solid;
}

/* line 227, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert h4 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 12px;
}

/* line 233, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert p {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 12px;
}

/* line 239, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert ul {
  padding-left: 20px;
  margin-bottom: 0;
}

/* line 244, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert li {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 8px;
}

/* line 251, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-warning {
  background: rgba(245, 158, 11, 0.15);
  border-left-color: #F59E0B;
}

/* line 255, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-warning h4 {
  color: #F59E0B;
}

/* line 259, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-warning p, .legal-page-v2 .alert-warning li, .legal-page-v2 .alert-warning strong {
  color: #ffffff;
}

/* line 264, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-danger {
  background: rgba(239, 68, 68, 0.15);
  border-left-color: #ef4444;
}

/* line 268, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-danger h4 {
  color: #ef4444;
}

/* line 272, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-danger p, .legal-page-v2 .alert-danger li, .legal-page-v2 .alert-danger strong {
  color: #ffffff;
}

/* line 277, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-success {
  background: rgba(0, 212, 170, 0.15);
  border-left-color: #00D4AA;
}

/* line 281, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-success h4 {
  color: #00D4AA;
}

/* line 285, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-success p, .legal-page-v2 .alert-success li, .legal-page-v2 .alert-success strong {
  color: #ffffff;
}

/* line 290, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-info {
  background: rgba(99, 102, 241, 0.15);
  border-left-color: #6366F1;
}

/* line 294, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-info h4 {
  color: #6366F1;
}

/* line 298, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-info p, .legal-page-v2 .alert-info li, .legal-page-v2 .alert-info strong {
  color: #ffffff;
}

/* line 307, app/assets/stylesheets/pages_v2.scss */
.contact-page-v2 {
  background: #0a0b0f;
  min-height: 100vh;
}

/* line 312, app/assets/stylesheets/pages_v2.scss */
.contact-grid-v2 {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 20px 100px;
}

@media (max-width: 992px) {
  /* line 312, app/assets/stylesheets/pages_v2.scss */
  .contact-grid-v2 {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* line 327, app/assets/stylesheets/pages_v2.scss */
.contact-info-v2 h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 16px;
}

/* line 334, app/assets/stylesheets/pages_v2.scss */
.contact-info-v2 p {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 32px;
  line-height: 1.6;
}

/* line 341, app/assets/stylesheets/pages_v2.scss */
.contact-methods-v2 {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* line 347, app/assets/stylesheets/pages_v2.scss */
.contact-method-v2 {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  transition: all 0.3s ease;
}

/* line 357, app/assets/stylesheets/pages_v2.scss */
.contact-method-v2:hover {
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 361, app/assets/stylesheets/pages_v2.scss */
.contact-method-v2 .method-icon {
  width: 48px;
  height: 48px;
  background: rgba(0, 212, 170, 0.1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #00D4AA;
  font-size: 20px;
}

/* line 374, app/assets/stylesheets/pages_v2.scss */
.contact-method-v2 .method-content h4 {
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 4px;
}

/* line 381, app/assets/stylesheets/pages_v2.scss */
.contact-method-v2 .method-content p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}

/* line 389, app/assets/stylesheets/pages_v2.scss */
.contact-form-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 24px;
  padding: 40px;
}

/* line 396, app/assets/stylesheets/pages_v2.scss */
.form-group-v2 {
  margin-bottom: 24px;
}

/* line 399, app/assets/stylesheets/pages_v2.scss */
.form-group-v2 label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 8px;
}

/* line 407, app/assets/stylesheets/pages_v2.scss */
.form-group-v2 input, .form-group-v2 select, .form-group-v2 textarea {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  color: #ffffff;
  font-size: 15px;
  transition: all 0.3s ease;
}

/* line 417, app/assets/stylesheets/pages_v2.scss */
.form-group-v2 input::placeholder, .form-group-v2 select::placeholder, .form-group-v2 textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* line 421, app/assets/stylesheets/pages_v2.scss */
.form-group-v2 input:focus, .form-group-v2 select:focus, .form-group-v2 textarea:focus {
  outline: none;
  border-color: #00D4AA;
  background: rgba(255, 255, 255, 0.08);
}

/* line 428, app/assets/stylesheets/pages_v2.scss */
.form-group-v2 textarea {
  min-height: 140px;
  resize: vertical;
}

/* line 434, app/assets/stylesheets/pages_v2.scss */
.btn-submit-v2 {
  width: 100%;
  padding: 16px 32px;
  background: linear-gradient(135deg, #00D4AA 0%, #00B894 100%);
  border: none;
  border-radius: 12px;
  color: #000;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* line 446, app/assets/stylesheets/pages_v2.scss */
.btn-submit-v2:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0, 212, 170, 0.3);
}

/* line 455, app/assets/stylesheets/pages_v2.scss */
.about-section-v2 {
  padding: 100px 0;
  background: #0a0b0f;
}

/* line 459, app/assets/stylesheets/pages_v2.scss */
.about-section-v2.alt-bg {
  background: #050507;
}

/* line 464, app/assets/stylesheets/pages_v2.scss */
.about-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

@media (max-width: 992px) {
  /* line 464, app/assets/stylesheets/pages_v2.scss */
  .about-grid-v2 {
    grid-template-columns: 1fr;
  }
}

/* line 474, app/assets/stylesheets/pages_v2.scss */
.about-card-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 32px;
  text-align: center;
  transition: all 0.3s ease;
}

/* line 482, app/assets/stylesheets/pages_v2.scss */
.about-card-v2:hover {
  border-color: rgba(0, 212, 170, 0.3);
  transform: translateY(-4px);
}

/* line 487, app/assets/stylesheets/pages_v2.scss */
.about-card-v2 .card-icon-v2 {
  width: 64px;
  height: 64px;
  background: rgba(0, 212, 170, 0.1);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 28px;
  color: #00D4AA;
}

/* line 500, app/assets/stylesheets/pages_v2.scss */
.about-card-v2 h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 12px;
}

/* line 507, app/assets/stylesheets/pages_v2.scss */
.about-card-v2 p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
  margin: 0;
}

/* line 518, app/assets/stylesheets/pages_v2.scss */
.features-section-v2 {
  padding: 100px 0;
  background: #0a0b0f;
}

/* line 522, app/assets/stylesheets/pages_v2.scss */
.features-section-v2.alt-bg {
  background: #050507;
}

/* line 527, app/assets/stylesheets/pages_v2.scss */
.features-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

@media (max-width: 992px) {
  /* line 527, app/assets/stylesheets/pages_v2.scss */
  .features-grid-v2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 527, app/assets/stylesheets/pages_v2.scss */
  .features-grid-v2 {
    grid-template-columns: 1fr;
  }
}

/* line 541, app/assets/stylesheets/pages_v2.scss */
.feature-card-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 32px;
  transition: all 0.3s ease;
}

/* line 548, app/assets/stylesheets/pages_v2.scss */
.feature-card-v2:hover {
  border-color: rgba(0, 212, 170, 0.3);
  transform: translateY(-4px);
}

/* line 553, app/assets/stylesheets/pages_v2.scss */
.feature-card-v2 .feature-icon-v2 {
  width: 56px;
  height: 56px;
  background: rgba(0, 212, 170, 0.1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  font-size: 24px;
  color: #00D4AA;
}

/* line 566, app/assets/stylesheets/pages_v2.scss */
.feature-card-v2 h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 10px;
}

/* line 573, app/assets/stylesheets/pages_v2.scss */
.feature-card-v2 p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 768px) {
  /* line 585, app/assets/stylesheets/pages_v2.scss */
  .page-hero-v2 {
    padding: 120px 0 60px;
    min-height: auto;
  }
  /* line 590, app/assets/stylesheets/pages_v2.scss */
  .page-hero-content {
    padding: 0 20px;
  }
  /* line 594, app/assets/stylesheets/pages_v2.scss */
  .contact-form-v2 {
    padding: 28px;
  }
  /* line 598, app/assets/stylesheets/pages_v2.scss */
  .legal-content-v2 {
    padding: 40px 20px 60px;
  }
}

/* line 606, app/assets/stylesheets/pages_v2.scss */
.blog-page-v2 {
  background: #0a0b0f;
  min-height: 100vh;
}

/* line 612, app/assets/stylesheets/pages_v2.scss */
.blog-hero-v2 {
  position: relative;
  padding: 140px 0 60px;
  background: #0a0b0f;
  overflow: hidden;
}

/* line 619, app/assets/stylesheets/pages_v2.scss */
.blog-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

/* line 627, app/assets/stylesheets/pages_v2.scss */
.blog-hero-title {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 16px;
  line-height: 1.1;
}

/* line 635, app/assets/stylesheets/pages_v2.scss */
.blog-hero-subtitle {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.7);
  max-width: 600px;
  margin: 0 auto;
}

/* line 643, app/assets/stylesheets/pages_v2.scss */
.blog-content-v2 {
  padding: 60px 0 80px;
}

/* line 648, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 40px;
}

/* line 655, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 .search-input-group {
  display: flex;
  gap: 12px;
}

/* line 660, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 .search-input {
  flex: 1;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 14px 20px;
  color: #ffffff;
  font-size: 1rem;
  transition: all 0.3s ease;
}

/* line 670, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 .search-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* line 674, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 .search-input:focus {
  outline: none;
  border-color: #00D4AA;
  background: rgba(255, 255, 255, 0.08);
}

/* line 681, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 .search-btn {
  background: linear-gradient(135deg, #00D4AA 0%, #00B894 100%);
  border: none;
  border-radius: 12px;
  padding: 14px 28px;
  color: #000;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* line 691, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 .search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.3);
}

/* line 699, app/assets/stylesheets/pages_v2.scss */
.article-card-v2, .featured-article-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 709, app/assets/stylesheets/pages_v2.scss */
.article-card-v2:hover, .featured-article-v2:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 212, 170, 0.3);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

/* line 715, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-image, .featured-article-v2 .article-image {
  height: 200px;
  overflow: hidden;
  position: relative;
}

/* line 720, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-image img, .featured-article-v2 .article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* line 727, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-image:hover img, .featured-article-v2 .article-image:hover img {
  transform: scale(1.05);
}

/* line 732, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-body, .featured-article-v2 .article-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* line 739, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-meta, .featured-article-v2 .article-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 0.85rem;
}

/* line 747, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-category, .featured-article-v2 .article-category {
  background: rgba(0, 212, 170, 0.15);
  color: #00D4AA;
  padding: 4px 12px;
  border-radius: 20px;
  font-weight: 500;
  font-size: 0.8rem;
}

/* line 756, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-date, .featured-article-v2 .article-date {
  color: rgba(255, 255, 255, 0.5);
}

/* line 760, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-title, .featured-article-v2 .article-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 12px;
  line-height: 1.4;
}

/* line 767, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-title a, .featured-article-v2 .article-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

/* line 772, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-title a:hover, .featured-article-v2 .article-title a:hover {
  color: #00D4AA;
}

/* line 778, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-excerpt, .featured-article-v2 .article-excerpt {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 16px;
  flex: 1;
}

/* line 786, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-footer, .featured-article-v2 .article-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 796, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-author, .featured-article-v2 .article-author {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 801, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-author i, .featured-article-v2 .article-author i {
  color: #00D4AA;
}

/* line 806, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-stats, .featured-article-v2 .article-stats {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* line 811, app/assets/stylesheets/pages_v2.scss */
.article-card-v2 .article-stats span, .featured-article-v2 .article-stats span {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* line 823, app/assets/stylesheets/pages_v2.scss */
.featured-article-v2 .article-image {
  height: 250px;
}

/* line 827, app/assets/stylesheets/pages_v2.scss */
.featured-article-v2 .article-title {
  font-size: 1.5rem;
}

/* line 833, app/assets/stylesheets/pages_v2.scss */
.blog-sidebar-v2 {
  position: sticky;
  top: 100px;
}

/* line 838, app/assets/stylesheets/pages_v2.scss */
.sidebar-widget-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}

/* line 845, app/assets/stylesheets/pages_v2.scss */
.sidebar-widget-v2 .widget-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 856, app/assets/stylesheets/pages_v2.scss */
.category-list-v2 {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 861, app/assets/stylesheets/pages_v2.scss */
.category-list-v2 li {
  margin-bottom: 8px;
}

/* line 865, app/assets/stylesheets/pages_v2.scss */
.category-list-v2 .category-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.3s ease;
}

/* line 875, app/assets/stylesheets/pages_v2.scss */
.category-list-v2 .category-link:hover {
  background: rgba(0, 212, 170, 0.1);
  color: #00D4AA;
}

/* line 880, app/assets/stylesheets/pages_v2.scss */
.category-list-v2 .category-link .category-count {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.85rem;
}

/* line 888, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 895, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 900, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2 .article-number {
  background: linear-gradient(135deg, #00D4AA 0%, #00B894 100%);
  color: #000;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 700;
  flex-shrink: 0;
}

/* line 914, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2 .article-info {
  flex: 1;
}

/* line 917, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2 .article-info .article-title {
  font-size: 0.95rem;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 6px;
  line-height: 1.4;
}

/* line 924, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2 .article-info .article-title a {
  color: inherit;
  text-decoration: none;
}

/* line 928, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2 .article-info .article-title a:hover {
  color: #00D4AA;
}

/* line 934, app/assets/stylesheets/pages_v2.scss */
.popular-article-v2 .article-info .article-meta {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  display: flex;
  gap: 12px;
}

/* line 944, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.2) 0%, rgba(0, 212, 170, 0.2) 100%);
  border: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 948, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .widget-title {
  border-bottom-color: rgba(0, 212, 170, 0.2);
}

/* line 952, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-desc {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 16px;
  font-size: 0.95rem;
}

/* line 958, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 963, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-form input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 12px 16px;
  color: #ffffff;
  font-size: 0.95rem;
}

/* line 971, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* line 975, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-form input:focus {
  outline: none;
  border-color: #00D4AA;
}

/* line 981, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-form button {
  background: linear-gradient(135deg, #00D4AA 0%, #00B894 100%);
  border: none;
  border-radius: 10px;
  padding: 12px 20px;
  color: #000;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* line 991, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-form button:hover {
  transform: translateY(-2px);
}

/* line 997, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-success {
  text-align: center;
  padding: 20px;
}

/* line 1001, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-success .success-icon {
  font-size: 2rem;
  margin-bottom: 8px;
}

/* line 1006, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-success h4 {
  color: #00D4AA;
  margin-bottom: 8px;
}

/* line 1011, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-success p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  margin: 0;
}

/* line 1020, app/assets/stylesheets/pages_v2.scss */
.no-articles-v2 {
  text-align: center;
  padding: 60px 20px;
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
}

/* line 1027, app/assets/stylesheets/pages_v2.scss */
.no-articles-v2 i {
  font-size: 3rem;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 20px;
}

/* line 1033, app/assets/stylesheets/pages_v2.scss */
.no-articles-v2 h3 {
  color: #ffffff;
  margin-bottom: 12px;
}

/* line 1038, app/assets/stylesheets/pages_v2.scss */
.no-articles-v2 p {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 24px;
}

/* line 1043, app/assets/stylesheets/pages_v2.scss */
.no-articles-v2 .btn-v2 {
  background: linear-gradient(135deg, #00D4AA 0%, #00B894 100%);
  border: none;
  border-radius: 10px;
  padding: 12px 24px;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

/* line 1054, app/assets/stylesheets/pages_v2.scss */
.no-articles-v2 .btn-v2:hover {
  transform: translateY(-2px);
}

/* line 1063, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 {
  position: relative;
  padding: 140px 0 40px;
  background: #0a0b0f;
  overflow: hidden;
}

/* line 1069, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 0.9rem;
}

/* line 1076, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color 0.3s ease;
}

/* line 1081, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 a:hover {
  color: #00D4AA;
}

/* line 1086, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 .separator {
  color: rgba(255, 255, 255, 0.5);
}

/* line 1090, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 .current {
  color: rgba(255, 255, 255, 0.7);
}

/* line 1095, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-category-badge {
  display: inline-block;
  background: rgba(0, 212, 170, 0.15);
  color: #00D4AA;
  padding: 6px 16px;
  border-radius: 20px;
  font-weight: 500;
  font-size: 0.85rem;
  margin-bottom: 16px;
}

/* line 1106, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-title-v2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 20px;
  max-width: 900px;
}

/* line 1115, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-meta-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
}

/* line 1122, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-meta-v2 span {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 1127, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-meta-v2 span i {
  color: #00D4AA;
}

/* line 1133, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-excerpt-v2 {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
  margin-top: 24px;
  max-width: 800px;
}

/* line 1141, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .featured-image-v2 {
  margin-top: 40px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

/* line 1147, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .featured-image-v2 img {
  width: 100%;
  height: auto;
}

/* line 1155, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 48px;
  margin-bottom: 40px;
}

/* line 1162, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.7);
}

/* line 1167, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content h1, .blog-article-content-v2 .article-body-content h2, .blog-article-content-v2 .article-body-content h3, .blog-article-content-v2 .article-body-content h4, .blog-article-content-v2 .article-body-content h5, .blog-article-content-v2 .article-body-content h6 {
  color: #ffffff;
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
}

/* line 1174, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content h2 {
  font-size: 1.75rem;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 1180, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content h3 {
  font-size: 1.4rem;
}

/* line 1184, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content p {
  margin-bottom: 1.5rem;
}

/* line 1188, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content a {
  color: #00D4AA;
  text-decoration: underline;
}

/* line 1193, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content ul, .blog-article-content-v2 .article-body-content ol {
  margin-bottom: 1.5rem;
  padding-left: 2rem;
}

/* line 1197, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content ul li, .blog-article-content-v2 .article-body-content ol li {
  margin-bottom: 0.5rem;
}

/* line 1202, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content blockquote {
  border-left: 4px solid #00D4AA;
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: rgba(255, 255, 255, 0.5);
}

/* line 1210, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 1.5rem 0;
}

/* line 1217, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}

/* line 1222, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content table th, .blog-article-content-v2 .article-body-content table td {
  border: 1px solid rgba(255, 255, 255, 0.06);
  padding: 12px;
  text-align: left;
}

/* line 1228, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content table th {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  font-weight: 600;
}

/* line 1235, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content code {
  background: rgba(255, 255, 255, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-family: monospace;
}

/* line 1242, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content pre {
  background: rgba(0, 0, 0, 0.3);
  padding: 20px;
  border-radius: 12px;
  overflow-x: auto;
  margin: 1.5rem 0;
}

/* line 1249, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content pre code {
  background: none;
  padding: 0;
}

/* line 1258, app/assets/stylesheets/pages_v2.scss */
.article-tags-v2 {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 1263, app/assets/stylesheets/pages_v2.scss */
.article-tags-v2 h4 {
  color: #ffffff;
  margin-bottom: 12px;
  font-size: 1rem;
}

/* line 1269, app/assets/stylesheets/pages_v2.scss */
.article-tags-v2 .tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 1274, app/assets/stylesheets/pages_v2.scss */
.article-tags-v2 .tag-list .tag {
  background: rgba(0, 212, 170, 0.1);
  color: #00D4AA;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 500;
}

/* line 1286, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

/* line 1296, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-actions {
  display: flex;
  gap: 12px;
}

/* line 1300, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-actions .btn-action {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 10px 20px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 1313, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-actions .btn-action:hover {
  background: rgba(0, 212, 170, 0.1);
  border-color: #00D4AA;
  color: #00D4AA;
}

/* line 1321, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-author-box {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(255, 255, 255, 0.03);
  padding: 16px 24px;
  border-radius: 12px;
}

/* line 1329, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-author-box .author-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

/* line 1338, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-author-box .author-info h5 {
  color: #ffffff;
  margin-bottom: 4px;
  font-size: 1rem;
}

/* line 1344, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-author-box .author-info p {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.85rem;
  margin: 0;
}

/* line 1354, app/assets/stylesheets/pages_v2.scss */
.related-articles-v2 {
  margin-top: 60px;
}

/* line 1357, app/assets/stylesheets/pages_v2.scss */
.related-articles-v2 .section-title {
  color: #ffffff;
  font-size: 1.5rem;
  margin-bottom: 24px;
}

/* line 1365, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
}

/* line 1371, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 .page-link {
  background: rgba(17, 19, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 10px 16px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: all 0.3s ease;
}

/* line 1380, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 .page-link:hover {
  background: rgba(0, 212, 170, 0.1);
  border-color: #00D4AA;
  color: #00D4AA;
}

/* line 1386, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 .page-link.active {
  background: linear-gradient(135deg, #00D4AA 0%, #00B894 100%);
  border-color: #00D4AA;
  color: #000;
}

/* line 1392, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 .page-link.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  /* line 1401, app/assets/stylesheets/pages_v2.scss */
  .blog-hero-v2 {
    padding: 120px 0 40px;
  }
  /* line 1405, app/assets/stylesheets/pages_v2.scss */
  .blog-article-content-v2 {
    padding: 24px;
  }
  /* line 1409, app/assets/stylesheets/pages_v2.scss */
  .article-footer-v2 {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1414, app/assets/stylesheets/pages_v2.scss */
  .blog-sidebar-v2 {
    position: static;
    margin-top: 40px;
  }
}
@charset "UTF-8";
/* line 4, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
  animation: pulse-ai 2s infinite;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

/* line 20, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge i {
  font-size: 0.6rem;
}

@media (max-width: 767px) {
  /* line 28, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: none !important;
  }
  /* line 34, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-original {
    display: none !important;
  }
  /* line 38, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    font-size: 0.35rem !important;
    line-height: 1.1 !important;
    margin-bottom: 0.05rem !important;
  }
  /* line 46, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line1 i {
    margin-bottom: 0.1rem !important;
    margin-right: 0 !important;
    font-size: 0.5rem !important;
  }
  /* line 53, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line2 {
    display: block !important;
    font-size: 0.30rem !important;
    line-height: 1.1 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 64, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
}

@keyframes pulse-ai {
  0%, 100% {
    box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
  }
  50% {
    box-shadow: 0 4px 16px rgba(0, 212, 170, 0.5);
  }
}

/* line 6, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-bloc {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: var(--radius-lg, 12px);
  border: 1px solid rgba(0, 212, 170, 0.15);
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.03) 0%, rgba(0, 168, 255, 0.03) 100%);
  overflow: visible;
  position: relative;
}

/* line 16, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-bloc::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  border-radius: var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;
  background: linear-gradient(90deg, #00d4aa, #00a8ff);
  opacity: 0.8;
}

/* line 30, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 38, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
}

/* line 48, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-title i {
  color: #00d4aa;
  font-size: 0.75rem;
}

/* line 54, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-badge.outdated {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

/* line 66, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-badge.outdated i {
  font-size: 0.55rem;
}

/* line 70, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-level-switch {
  display: flex;
  gap: 2px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 6px;
  padding: 2px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 79, app/assets/stylesheets/shared/_trade_plan.scss */
.level-btn {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.62rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 94, app/assets/stylesheets/shared/_trade_plan.scss */
.level-btn i {
  font-size: 0.6rem;
}

/* line 96, app/assets/stylesheets/shared/_trade_plan.scss */
.level-btn:hover {
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}

/* line 102, app/assets/stylesheets/shared/_trade_plan.scss */
.level-btn.active {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2), rgba(0, 168, 255, 0.2));
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.4);
  box-shadow: 0 0 8px rgba(0, 212, 170, 0.15);
}

/* line 111, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-content {
  padding: 0.75rem 1rem;
}

/* line 115, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-grid {
  display: grid;
  grid-template-columns: auto 1fr 1fr auto auto;
  gap: 0 1.25rem;
  align-items: start;
}

/* line 122, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-col-label {
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 0.3rem;
  height: 1rem;
  display: flex;
  align-items: center;
}

/* line 135, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-action-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* line 145, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-action-badge.buy {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15), rgba(0, 212, 170, 0.25));
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.4);
}

/* line 151, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-action-badge.sell {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(239, 68, 68, 0.25));
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.4);
}

/* line 157, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-action-badge.hold {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(245, 158, 11, 0.25));
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.4);
}

/* line 163, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-action-badge.wait {
  background: linear-gradient(135deg, rgba(107, 114, 128, 0.15), rgba(107, 114, 128, 0.25));
  color: #9ca3af;
  border: 1px solid rgba(107, 114, 128, 0.4);
}

/* line 170, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-conviction {
  display: flex;
  gap: 1px;
  margin-top: 0.3rem;
}

/* line 175, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-conviction i {
  font-size: 0.5rem;
  color: #f59e0b;
}

/* line 179, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-conviction i.far {
  color: rgba(255, 255, 255, 0.15);
}

/* line 184, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* line 191, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-entry,
.trade-plan-protection {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.2rem 0;
  font-size: 0.7rem;
}

/* line 199, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-entry[data-level="intermediate"],
.trade-plan-protection[data-level="intermediate"] {
  opacity: 0.85;
}

/* line 201, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-entry[data-level="intermediate"] .entry-type, .trade-plan-entry[data-level="intermediate"] .protection-type,
.trade-plan-protection[data-level="intermediate"] .entry-type,
.trade-plan-protection[data-level="intermediate"] .protection-type {
  font-style: italic;
}

/* line 204, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-entry[data-level="advanced"],
.trade-plan-protection[data-level="advanced"] {
  opacity: 0.75;
}

/* line 206, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-entry[data-level="advanced"] .entry-type, .trade-plan-entry[data-level="advanced"] .protection-type,
.trade-plan-protection[data-level="advanced"] .entry-type,
.trade-plan-protection[data-level="advanced"] .protection-type {
  font-style: italic;
}

/* line 210, app/assets/stylesheets/shared/_trade_plan.scss */
.entry-type,
.protection-type {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.65rem;
}

/* line 216, app/assets/stylesheets/shared/_trade_plan.scss */
.entry-price {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
}

/* line 221, app/assets/stylesheets/shared/_trade_plan.scss */
.entry-label {
  font-size: 0.55rem;
  padding: 0.1rem 0.3rem;
  border-radius: 3px;
  background: rgba(0, 168, 255, 0.1);
  color: #00a8ff;
  font-weight: 500;
}

/* line 230, app/assets/stylesheets/shared/_trade_plan.scss */
.protection-tp {
  font-size: 0.6rem;
  color: #10b981;
  font-weight: 500;
}

/* line 237, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-sizing {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 243, app/assets/stylesheets/shared/_trade_plan.scss */
.sizing-value {
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
}

/* line 249, app/assets/stylesheets/shared/_trade_plan.scss */
.sizing-scaling {
  font-size: 0.55rem;
  color: rgba(0, 168, 255, 0.8);
  font-weight: 500;
  padding: 0.1rem 0.3rem;
  border-radius: 3px;
  background: rgba(0, 168, 255, 0.08);
}

/* line 258, app/assets/stylesheets/shared/_trade_plan.scss */
.sizing-reason {
  color: rgba(255, 255, 255, 0.4);
  cursor: help;
}

/* line 262, app/assets/stylesheets/shared/_trade_plan.scss */
.sizing-reason i {
  font-size: 0.6rem;
}

/* line 266, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-expiration {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* line 272, app/assets/stylesheets/shared/_trade_plan.scss */
.expiration-date {
  font-size: 0.7rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}

/* line 278, app/assets/stylesheets/shared/_trade_plan.scss */
.expiration-days {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 283, app/assets/stylesheets/shared/_trade_plan.scss */
.expiration-reason {
  color: rgba(255, 255, 255, 0.4);
  cursor: help;
}

/* line 287, app/assets/stylesheets/shared/_trade_plan.scss */
.expiration-reason i {
  font-size: 0.6rem;
}

/* line 291, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-footer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.6rem;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 300, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-rr {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.6rem;
  font-weight: 700;
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.25);
  cursor: help;
}

/* line 313, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-rationale {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  line-height: 1.4;
  flex: 1;
}

/* line 322, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-levels-bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 333, app/assets/stylesheets/shared/_trade_plan.scss */
.kl-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6rem;
  font-weight: 500;
}

/* line 340, app/assets/stylesheets/shared/_trade_plan.scss */
.kl-item.support {
  color: #10b981;
}

/* line 341, app/assets/stylesheets/shared/_trade_plan.scss */
.kl-item.pivot {
  color: rgba(255, 255, 255, 0.6);
}

/* line 342, app/assets/stylesheets/shared/_trade_plan.scss */
.kl-item.resistance {
  color: #ef4444;
}

/* line 344, app/assets/stylesheets/shared/_trade_plan.scss */
.kl-item i {
  font-size: 0.5rem;
}

/* line 348, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-empty {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.7rem;
}

/* line 356, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-empty i {
  font-size: 1.2rem;
  color: rgba(0, 212, 170, 0.4);
}

/* line 361, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-empty p {
  margin: 0;
}

/* line 364, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-locked {
  position: relative;
  padding: 0;
  overflow: hidden;
  border-radius: 0 0 var(--radius-lg, 12px) var(--radius-lg, 12px);
}

/* line 371, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-locked-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  z-index: 2;
  background: rgba(10, 14, 26, 0.7);
  backdrop-filter: blur(2px);
}

/* line 383, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-locked-overlay i.fa-lock {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 388, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-locked-overlay p {
  margin: 0;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
}

/* line 396, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-upgrade-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 1rem;
  border-radius: 6px;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  color: white;
  font-size: 0.65rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 409, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-upgrade-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(0, 212, 170, 0.3);
  color: white;
  text-decoration: none;
}

/* line 417, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-preview-blur {
  padding: 1.5rem 1rem;
  filter: blur(3px);
  opacity: 0.3;
}

/* line 422, app/assets/stylesheets/shared/_trade_plan.scss */
.trade-plan-preview-blur .placeholder-line {
  height: 12px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
  margin-bottom: 0.5rem;
}

/* line 432, app/assets/stylesheets/shared/_trade_plan.scss */
.trading-column.compact .trading-levels-stack {
  display: none;
}

/* line 439, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-bloc {
  border-color: rgba(0, 160, 128, 0.2);
  background: linear-gradient(135deg, rgba(0, 160, 128, 0.02) 0%, rgba(0, 119, 204, 0.02) 100%);
}

/* line 444, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-header {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}

/* line 448, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-title {
  color: rgba(0, 0, 0, 0.85);
}

/* line 450, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-title i {
  color: #00a080;
}

/* line 453, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-col-label {
  color: rgba(0, 0, 0, 0.4);
}

/* line 454, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .entry-price {
  color: rgba(0, 0, 0, 0.9);
}

/* line 455, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .sizing-value {
  color: rgba(0, 0, 0, 0.85);
}

/* line 456, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .expiration-date {
  color: rgba(0, 0, 0, 0.85);
}

/* line 457, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-rationale {
  color: rgba(0, 0, 0, 0.55);
}

/* line 459, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .level-btn {
  color: rgba(0, 0, 0, 0.5);
}

/* line 461, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .level-btn:hover {
  color: rgba(0, 0, 0, 0.8);
  background: rgba(0, 0, 0, 0.04);
}

/* line 462, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .level-btn.active {
  color: #00a080;
  background: rgba(0, 160, 128, 0.1);
  border-color: rgba(0, 160, 128, 0.3);
}

/* line 465, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-level-switch {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(0, 0, 0, 0.08);
}

/* line 470, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-locked-overlay {
  background: rgba(244, 242, 237, 0.8);
}

/* line 472, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-locked-overlay p {
  color: rgba(0, 0, 0, 0.6);
}

/* line 475, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-footer {
  border-top-color: rgba(0, 0, 0, 0.06);
}

/* line 476, app/assets/stylesheets/shared/_trade_plan.scss */
[data-theme="light"] .trade-plan-levels-bar {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.06);
}

@media (max-width: 1024px) {
  /* line 483, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-grid {
    grid-template-columns: auto 1fr 1fr auto;
    gap: 0.5rem 0.75rem;
  }
  /* line 488, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col.expiration-col {
    grid-column: 1 / -1;
    display: flex;
    gap: 0.5rem;
    padding-top: 0.3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
  }
}

@media (max-width: 767px) {
  /* line 501, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-bloc {
    border-radius: var(--radius-md, 8px);
    margin: 0 -0.25rem 0.75rem;
  }
  /* line 506, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-header {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
  }
  /* line 514, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-level-switch {
    width: auto;
    margin-left: auto;
    padding: 2px;
    gap: 2px;
  }
  /* line 521, app/assets/stylesheets/shared/_trade_plan.scss */
  .level-btn {
    padding: 0.25rem 0.4rem;
    font-size: 0.55rem;
  }
  /* line 524, app/assets/stylesheets/shared/_trade_plan.scss */
  .level-btn i {
    font-size: 0.5rem;
  }
  /* line 527, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-content {
    padding: 0.5rem 0.75rem;
  }
  /* line 531, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-grid {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }
  /* line 537, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col {
    width: 100%;
  }
  /* line 541, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col.action-col {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
  }
  /* line 548, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col.action-col .trade-plan-col-label {
    display: none;
  }
  /* line 550, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-entry,
.trade-plan-protection {
    font-size: 0.65rem;
  }
  /* line 555, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
  /* line 561, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-levels-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 566, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-rationale {
    font-size: 0.6rem;
  }
}

@media (max-width: 390px) {
  /* line 575, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-grid {
    grid-template-columns: 1fr;
  }
  /* line 579, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col {
    grid-column: 1 !important;
  }
  /* line 583, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-action-badge {
    font-size: 0.65rem;
    padding: 0.3rem 0.5rem;
  }
}

/* line 5, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section {
  margin-bottom: 0.85rem;
  border-radius: var(--radius-lg, 12px);
  border: 1px solid rgba(0, 212, 170, 0.12);
  background: linear-gradient(135deg, rgba(10, 14, 26, 0.92) 0%, rgba(20, 28, 50, 0.85) 100%);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.03);
  overflow: hidden;
  position: relative;
}

/* line 14, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #00d4aa, #00a8ff);
  opacity: 0.6;
}

/* line 23, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.empty-state {
  opacity: 0.6;
}

/* line 25, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed {
  background: rgba(10, 14, 26, 0.6);
  border-color: rgba(0, 212, 170, 0.06);
  box-shadow: none;
}

/* line 29, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed::before {
  opacity: 0.3;
}

/* line 30, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed .action-graph-header {
  border-bottom-color: transparent;
}

/* line 31, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed .plan-chat {
  display: none;
}

/* line 36, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1rem;
  cursor: pointer;
  transition: background 0.2s;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  user-select: none;
}

/* line 45, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-header:hover {
  background: rgba(0, 212, 170, 0.03);
}

/* line 48, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-title-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 53, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-title-group > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  min-width: 22px;
  height: 22px;
  border-radius: 5px;
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  font-size: 0.55rem;
}

/* line 65, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
  letter-spacing: -0.01em;
}

/* line 72, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  color: #0a0e1a;
  font-size: 0.55rem;
  font-weight: 800;
  padding: 0 5px;
}

/* line 85, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-chevron {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.6rem;
  transition: transform 0.25s ease;
}

/* line 89, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-chevron.rotated {
  transform: rotate(-90deg);
}

/* line 93, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-body {
  padding: 0.6rem 0.8rem 0.7rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

/* line 101, app/assets/stylesheets/shared/_action_graph.scss */
.ag-chain {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.15rem 0;
}

/* line 109, app/assets/stylesheets/shared/_action_graph.scss */
.ag-chain::-webkit-scrollbar {
  height: 3px;
}

/* line 110, app/assets/stylesheets/shared/_action_graph.scss */
.ag-chain::-webkit-scrollbar-thumb {
  background: rgba(0, 212, 170, 0.25);
  border-radius: 3px;
}

/* line 114, app/assets/stylesheets/shared/_action_graph.scss */
.ag-step {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

/* line 121, app/assets/stylesheets/shared/_action_graph.scss */
.ag-connector {
  display: flex;
  align-items: center;
  padding: 0 0.5rem;
  color: rgba(0, 212, 170, 0.5);
  font-size: 0.65rem;
  flex-shrink: 0;
}

/* line 133, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.15s;
  overflow: hidden;
}

/* line 142, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.ag-buy {
  border-left: 3px solid #00d4aa;
}

/* line 143, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.ag-sell {
  border-left: 3px solid #ef4444;
}

/* line 145, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-done {
  opacity: 0.35;
  background: rgba(0, 212, 170, 0.02);
  border-color: rgba(0, 212, 170, 0.08);
}

/* line 149, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-done .ag-ticker, .ag-action-node.is-done .ag-reason {
  text-decoration: line-through;
}

/* line 152, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-locked {
  opacity: 0.4;
  border-style: dashed;
  border-color: rgba(255, 255, 255, 0.05);
}

/* line 158, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-conditional {
  opacity: 0.5;
  border-style: dashed;
  border-color: rgba(245, 158, 11, 0.2);
}

/* line 164, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-cancelled {
  opacity: 0.2;
  border-color: rgba(239, 68, 68, 0.15);
}

/* line 167, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-cancelled .ag-node-content {
  text-decoration: line-through;
}

/* line 170, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped {
  opacity: 0.35;
  background: rgba(245, 158, 11, 0.02);
  border-color: rgba(245, 158, 11, 0.1);
}

/* line 174, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-ticker {
  text-decoration: line-through;
  opacity: 0.6;
}

/* line 175, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-reason {
  font-style: italic;
  opacity: 0.6;
}

/* line 176, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-badge {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

/* line 179, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-updated {
  border-color: rgba(0, 168, 255, 0.3);
  box-shadow: 0 0 6px rgba(0, 168, 255, 0.08);
}

/* line 184, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.completing {
  transform: scale(0.96);
  opacity: 0.4;
}

/* line 186, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node:hover:not(.is-done):not(.is-locked):not(.is-conditional) {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

/* line 193, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  background: rgba(245, 158, 11, 0.06);
  border-bottom: 1px solid rgba(245, 158, 11, 0.12);
  cursor: help;
}

/* line 202, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner .ag-cond-text {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', monospace;
  font-size: 0.6rem;
  font-weight: 600;
  color: rgba(245, 158, 11, 0.8);
}

/* line 209, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner i {
  font-size: 0.45rem;
  color: rgba(245, 158, 11, 0.6);
  margin-left: auto;
}

/* line 215, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner.is-met {
  background: rgba(0, 212, 170, 0.04);
  border-bottom-color: rgba(0, 212, 170, 0.1);
}

/* line 218, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner.is-met .ag-cond-text {
  color: rgba(0, 212, 170, 0.7);
}

/* line 219, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner.is-met i {
  color: #00d4aa;
}

/* line 223, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-main {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  padding: 0.45rem 0.6rem;
}

/* line 230, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  flex-shrink: 0;
}

/* line 239, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.15rem;
  cursor: pointer;
}

/* line 247, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox input[type="checkbox"] {
  display: none;
}

/* line 249, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox .ag-checkmark {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1.5px solid rgba(0, 212, 170, 0.4);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

/* line 260, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox .ag-checkmark::after {
  content: '';
  display: none;
  width: 5px;
  height: 8px;
  border: solid #00d4aa;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -1px;
}

/* line 272, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox input[type="checkbox"]:checked + .ag-checkmark {
  background: rgba(0, 212, 170, 0.15);
  border-color: #00d4aa;
}

/* line 275, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox input[type="checkbox"]:checked + .ag-checkmark::after {
  display: block;
}

/* line 278, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox:hover .ag-checkmark {
  border-color: #00d4aa;
  background: rgba(0, 212, 170, 0.06);
}

/* line 284, app/assets/stylesheets/shared/_action_graph.scss */
.ag-locked-icon {
  flex-shrink: 0;
  margin-top: 0.2rem;
  color: rgba(255, 255, 255, 0.15);
  font-size: 0.55rem;
  width: 16px;
  text-align: center;
}

/* line 293, app/assets/stylesheets/shared/_action_graph.scss */
.ag-skip-btn {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.6rem;
  width: 16px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s;
  padding: 0;
}

/* line 307, app/assets/stylesheets/shared/_action_graph.scss */
.ag-skip-btn:hover {
  color: #f59e0b;
}

/* line 313, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-content {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

/* line 320, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-row1 {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 326, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-row2 {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 332, app/assets/stylesheets/shared/_action_graph.scss */
.ag-badge {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', monospace;
  font-size: 0.55rem;
  font-weight: 800;
  padding: 0.08rem 0.25rem;
  border-radius: 3px;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

/* line 341, app/assets/stylesheets/shared/_action_graph.scss */
.ag-badge.ag-badge-buy {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
}

/* line 342, app/assets/stylesheets/shared/_action_graph.scss */
.ag-badge.ag-badge-sell {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* line 345, app/assets/stylesheets/shared/_action_graph.scss */
.ag-ticker {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', monospace;
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
}

/* line 352, app/assets/stylesheets/shared/_action_graph.scss */
.ag-price {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', monospace;
  font-size: 0.7rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  margin-left: auto;
}

/* line 360, app/assets/stylesheets/shared/_action_graph.scss */
.ag-company {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}

/* line 369, app/assets/stylesheets/shared/_action_graph.scss */
.ag-order-type {
  font-size: 0.55rem;
  color: rgba(255, 255, 255, 0.3);
  font-style: italic;
}

/* line 375, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', monospace;
  font-size: 0.5rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  letter-spacing: 0.03em;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

/* line 386, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-now {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

/* line 392, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-target {
  background: rgba(139, 92, 246, 0.12);
  color: #a78bfa;
  border: 1px solid rgba(139, 92, 246, 0.25);
}

/* line 396, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-target i {
  margin-right: 0.1rem;
}

/* line 399, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-reached {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
}

/* line 403, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-reached i {
  margin-right: 0.1rem;
}

/* line 406, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-warning {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
  animation: pulse-warning 2s ease-in-out infinite;
}

/* line 411, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-warning i {
  margin-right: 0.1rem;
}

/* line 415, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conviction {
  display: inline-flex;
  gap: 0.08rem;
  font-size: 0.38rem;
}

/* line 419, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conviction .fas {
  color: #f59e0b;
}

/* line 420, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conviction .far {
  color: rgba(255, 255, 255, 0.1);
}

/* line 423, app/assets/stylesheets/shared/_action_graph.scss */
.ag-reason {
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.3;
  white-space: normal;
  max-width: 220px;
}

/* line 431, app/assets/stylesheets/shared/_action_graph.scss */
.ag-updated-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  font-size: 0.5rem;
  font-weight: 600;
  color: #00a8ff;
}

/* line 438, app/assets/stylesheets/shared/_action_graph.scss */
.ag-updated-tag i {
  font-size: 0.38rem;
}

/* line 441, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conflict-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.55rem;
  font-weight: 600;
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  cursor: help;
  margin-top: 0.15rem;
}

/* line 453, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conflict-tag i {
  font-size: 0.45rem;
}

/* line 457, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-empty {
  padding: 0.75rem 1rem;
  text-align: center;
}

/* line 460, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-empty p {
  margin: 0;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4);
}

/* line 470, app/assets/stylesheets/shared/_action_graph.scss */
.ag-fullscreen-modal {
  display: none;
}

@media (max-width: 767px) {
  /* line 476, app/assets/stylesheets/shared/_action_graph.scss */
  .action-graph-section .action-graph-body,
.action-graph-section .plan-chat {
    display: none;
  }
  /* line 482, app/assets/stylesheets/shared/_action_graph.scss */
  .action-graph-section .action-graph-header {
    border-bottom: none;
  }
  /* line 487, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background: rgba(10, 14, 39, 0.98);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: none;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* line 502, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-modal.is-open {
    display: block !important;
  }
  /* line 507, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    padding-top: env(safe-area-inset-top, 0px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(10, 14, 39, 0.98);
    z-index: 1;
  }
  /* line 522, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-title {
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 530, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-title i {
    color: #00d4aa;
    font-size: 0.7rem;
  }
  /* line 533, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 539, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-toggle-done {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.7);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s ease;
  }
  /* line 549, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-toggle-done .ag-done-count {
    font-weight: 600;
    font-size: 0.75rem;
  }
  /* line 550, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-toggle-done:hover {
    background: rgba(0, 212, 170, 0.15);
    border-color: rgba(0, 212, 170, 0.3);
    color: #00d4aa;
  }
  /* line 553, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-close {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
  }
  /* line 563, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
  }
  /* line 567, app/assets/stylesheets/shared/_action_graph.scss */
  body.fullscreen-modal-open {
    overflow: hidden !important;
  }
  /* line 571, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body {
    padding: 1rem;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* line 577, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-chain {
    display: flex;
    flex-wrap: nowrap;
    min-width: max-content;
    flex-shrink: 0;
  }
  /* line 584, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-action-node {
    min-width: 180px;
  }
  /* line 585, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-ticker {
    font-size: 0.75rem;
  }
  /* line 586, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-price {
    font-size: 0.65rem;
  }
  /* line 587, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-company {
    font-size: 0.55rem;
    max-width: 160px;
  }
  /* line 588, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-reason {
    font-size: 0.55rem;
    max-width: 180px;
  }
  /* line 589, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-badge {
    font-size: 0.5rem;
  }
  /* line 590, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-timing-badge {
    font-size: 0.45rem;
    padding: 0.05rem 0.25rem;
  }
  /* line 591, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-connector {
    padding: 0 0.4rem;
    font-size: 0.6rem;
  }
  /* line 592, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-condition-banner .ag-cond-text {
    font-size: 0.5rem;
  }
}

/* line 600, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .action-graph-section {
  background: var(--bg-card-solid, #faf9f6);
  border-color: rgba(0, 160, 128, 0.15);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* line 605, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .action-graph-title {
  color: rgba(0, 0, 0, 0.85);
}

/* line 606, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-ticker {
  color: rgba(0, 0, 0, 0.85);
}

/* line 607, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-price {
  color: rgba(0, 0, 0, 0.65);
}

/* line 608, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-company {
  color: rgba(0, 0, 0, 0.45);
}

/* line 609, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-reason {
  color: rgba(0, 0, 0, 0.45);
}

/* line 610, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-action-node {
  background: rgba(0, 0, 0, 0.01);
  border-color: rgba(0, 0, 0, 0.08);
}

/* line 613, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-action-node.ag-buy {
  border-left-color: #059669;
}

/* line 614, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-action-node.ag-sell {
  border-left-color: #dc2626;
}

/* line 616, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-condition-banner {
  background: rgba(245, 158, 11, 0.05);
  border-bottom-color: rgba(245, 158, 11, 0.1);
}

/* line 620, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-connector {
  color: rgba(0, 160, 128, 0.4);
}

/* line 621, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-checkbox .ag-checkmark {
  border-color: rgba(5, 150, 105, 0.4);
}

/* line 622, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-checkbox input:checked + .ag-checkmark {
  border-color: #059669;
  background: rgba(5, 150, 105, 0.1);
}

/* line 623, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-checkbox .ag-checkmark::after {
  border-color: #059669;
}

/* line 625, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-timing-badge.ag-timing-now {
  background: rgba(217, 119, 6, 0.1);
  color: #b45309;
  border-color: rgba(217, 119, 6, 0.25);
}

/* line 626, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-timing-badge.ag-timing-target {
  background: rgba(109, 40, 217, 0.08);
  color: #7c3aed;
  border-color: rgba(109, 40, 217, 0.2);
}

/* line 627, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-timing-badge.ag-timing-reached {
  background: rgba(5, 150, 105, 0.1);
  color: #059669;
  border-color: rgba(5, 150, 105, 0.25);
}

/* line 628, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-timing-badge.ag-timing-warning {
  background: rgba(220, 38, 38, 0.08);
  color: #dc2626;
  border-color: rgba(220, 38, 38, 0.2);
}

/* line 630, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-fullscreen-modal {
  background: var(--bg-card-solid, #faf9f6);
}

/* line 631, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-fullscreen-header {
  border-bottom-color: rgba(0, 0, 0, 0.08);
}

/* line 632, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-fullscreen-header .ag-fullscreen-title {
  color: rgba(0, 0, 0, 0.85);
}

/* line 633, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .plan-chat-input {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.85);
}

/* line 634, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .plan-chat-input::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

/* line 635, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .plan-chat-submit {
  color: rgba(0, 0, 0, 0.5);
}

/* line 635, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .plan-chat-submit:hover:not(:disabled) {
  color: #059669;
}

/* line 636, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-skip-btn {
  color: rgba(0, 0, 0, 0.25);
}

/* line 636, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-skip-btn:hover {
  color: #b45309;
}

/* line 644, app/assets/stylesheets/shared/_action_graph.scss */
#action-graph-wrapper.hide-done .ag-action-node.is-done {
  display: none;
}

/* line 648, app/assets/stylesheets/shared/_action_graph.scss */
#action-graph-wrapper.hide-done .ag-step-action:has(.ag-action-node.is-done) {
  display: none;
}

/* line 652, app/assets/stylesheets/shared/_action_graph.scss */
#action-graph-wrapper.hide-done .ag-step-action:has(.ag-action-node.is-done) + .ag-connector {
  display: none;
}

/* line 657, app/assets/stylesheets/shared/_action_graph.scss */
.ag-toggle-done {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 0.7rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-secondary, rgba(255, 255, 255, 0.5));
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 670, app/assets/stylesheets/shared/_action_graph.scss */
.ag-toggle-done:hover {
  background: rgba(0, 212, 170, 0.08);
  border-color: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

/* line 676, app/assets/stylesheets/shared/_action_graph.scss */
.ag-toggle-done .ag-done-count {
  font-weight: 600;
  font-size: 0.65rem;
}

/* line 682, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 692, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat {
  padding: 10px 14px 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 697, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 703, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input {
  flex: 1;
  padding: 7px 12px;
  font-size: 0.78rem;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-primary, #fff);
  outline: none;
  transition: border-color 0.2s ease;
}

/* line 714, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input::placeholder {
  color: var(--text-secondary, rgba(255, 255, 255, 0.4));
  font-size: 0.73rem;
}

/* line 719, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input:focus {
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 723, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* line 729, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-submit {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: var(--text-secondary, rgba(255, 255, 255, 0.5));
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  transition: all 0.2s ease;
}

/* line 743, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-submit:hover:not(:disabled) {
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.08);
}

/* line 748, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-submit:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* line 754, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 5px;
  padding: 0 4px;
}

/* line 762, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-remaining {
  font-size: 0.65rem;
  color: var(--text-secondary, rgba(255, 255, 255, 0.35));
}

/* line 766, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-remaining i {
  margin-right: 3px;
}

/* line 769, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback {
  font-size: 0.7rem;
  font-weight: 500;
  transition: opacity 0.3s ease;
}

/* line 774, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback--success {
  color: #00d4aa;
}

/* line 775, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback--error {
  color: #ef4444;
}

/* line 776, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback--warning {
  color: #f59e0b;
}

@keyframes pulse-warning {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* line 42, app/assets/stylesheets/dashboard.scss */
.dashboard-container {
  min-height: 100vh;
  background: var(--bg-primary, #0a0e1a);
  color: var(--text-primary, #ffffff);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  padding-bottom: 2rem;
  overflow-x: hidden;
  max-width: 100vw;
  width: 100%;
  position: relative;
  transition: var(--theme-transition);
}

/* line 55, app/assets/stylesheets/dashboard.scss */
.dashboard-container::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(255, 255, 255, var(--grid-opacity, 0.015)) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}

@media (min-width: 1280px) {
  /* line 73, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .table-responsive {
    overflow-x: visible !important;
    overflow: visible !important;
  }
}

/* line 80, app/assets/stylesheets/dashboard.scss */
.dashboard-container > * {
  position: relative;
  z-index: 1;
}

/* line 87, app/assets/stylesheets/dashboard.scss */
.symbol-container {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: nowrap;
  /* Prevent wrapping to avoid overlap */
  flex-shrink: 0;
}

@keyframes pulse-ai {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

/* line 103, app/assets/stylesheets/dashboard.scss */
.vertex-ai-forecast {
  background: linear-gradient(135deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 12px;
  padding: 0.75rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-top: 0.25rem;
}

/* line 113, app/assets/stylesheets/dashboard.scss */
.vertex-ai-forecast::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
}

/* line 123, app/assets/stylesheets/dashboard.scss */
.vertex-ai-forecast.enhanced {
  padding: 0.5rem;
  text-align: left;
}

/* line 129, app/assets/stylesheets/dashboard.scss */
.forecast-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 138, app/assets/stylesheets/dashboard.scss */
.forecast-title {
  font-size: 0.7rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 146, app/assets/stylesheets/dashboard.scss */
.forecast-action {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 154, app/assets/stylesheets/dashboard.scss */
.forecast-action.buy {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #ffffff;
}

/* line 159, app/assets/stylesheets/dashboard.scss */
.forecast-action.hold {
  background: linear-gradient(135deg, #ffa726 0%, #ff9800 100%);
  color: #ffffff;
}

/* line 164, app/assets/stylesheets/dashboard.scss */
.forecast-action.wait {
  background: linear-gradient(135deg, #9e9e9e 0%, #757575 100%);
  color: #ffffff;
}

/* line 169, app/assets/stylesheets/dashboard.scss */
.forecast-action.sell {
  background: linear-gradient(135deg, #ff6b6b 0%, #f44336 100%);
  color: #ffffff;
}

/* line 175, app/assets/stylesheets/dashboard.scss */
.forecast-content {
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

/* line 182, app/assets/stylesheets/dashboard.scss */
.forecast-price-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0;
  line-height: 1.2;
}

/* line 191, app/assets/stylesheets/dashboard.scss */
.forecast-price-with-date-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.05rem;
  margin: 0;
  padding: 0;
}

/* line 200, app/assets/stylesheets/dashboard.scss */
.forecast-price-main {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

/* line 209, app/assets/stylesheets/dashboard.scss */
.forecast-price-value {
  font-size: 0.9rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

/* line 218, app/assets/stylesheets/dashboard.scss */
.forecast-usd-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  font-size: 0.65rem;
  margin: 0;
  padding: 0;
  line-height: 1.1;
  margin-top: 0.05rem;
}

/* line 230, app/assets/stylesheets/dashboard.scss */
.forecast-date-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  line-height: 1.1;
  margin-top: 0.05rem;
  margin-left: 0.4rem;
}

/* line 241, app/assets/stylesheets/dashboard.scss */
.forecast-date-small-inline {
  font-size: 0.6rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.4px;
  opacity: 0.75;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* line 250, app/assets/stylesheets/dashboard.scss */
.usd-conversion-inline {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 300;
}

/* line 256, app/assets/stylesheets/dashboard.scss */
.forecast-change-inline {
  font-size: 0.7rem;
  font-weight: 500;
}

/* line 260, app/assets/stylesheets/dashboard.scss */
.forecast-change-inline.positive {
  color: #00d4aa;
}

/* line 264, app/assets/stylesheets/dashboard.scss */
.forecast-change-inline.negative {
  color: #ff6b6b;
}

/* line 270, app/assets/stylesheets/dashboard.scss */
.forecast-price {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
}

/* line 280, app/assets/stylesheets/dashboard.scss */
.forecast-price .forecast-price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 287, app/assets/stylesheets/dashboard.scss */
.forecast-date-wrapper {
  display: block;
  margin-top: 0.15rem;
  width: 100%;
}

/* line 293, app/assets/stylesheets/dashboard.scss */
.forecast-date-small {
  font-size: 0.6rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.4px;
  line-height: 1.3;
  opacity: 0.75;
  display: block;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* line 305, app/assets/stylesheets/dashboard.scss */
.forecast-change {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

/* line 310, app/assets/stylesheets/dashboard.scss */
.forecast-change.positive {
  color: #00d4aa;
}

/* line 314, app/assets/stylesheets/dashboard.scss */
.forecast-change.negative {
  color: #ff6b6b;
}

/* line 319, app/assets/stylesheets/dashboard.scss */
.forecast-confidence {
  font-size: 0.8rem;
  color: #94a3b8;
  margin-bottom: 0.25rem;
}

/* line 324, app/assets/stylesheets/dashboard.scss */
.forecast-confidence i {
  color: #00d4aa;
  margin-right: 0.25rem;
}

/* line 330, app/assets/stylesheets/dashboard.scss */
.forecast-age {
  font-size: 0.7rem;
  color: #64748b;
}

/* line 334, app/assets/stylesheets/dashboard.scss */
.forecast-age i {
  margin-right: 0.2rem;
}

/* line 340, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card {
  border: 2px solid rgba(0, 212, 170, 0.4);
  background: linear-gradient(135deg, #1a1f3a 0%, #2d3748 100%);
  position: relative;
  margin-bottom: 1rem;
}

/* line 346, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
}

/* line 357, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card .card-header h5 {
  color: #00d4aa;
}

/* line 360, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card .card-header h5 i {
  margin-right: 0.5rem;
  color: #00d4aa;
}

/* line 367, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card.j1-card {
  border-color: rgba(0, 212, 170, 0.6);
}

/* line 371, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card.j7-card {
  border-color: rgba(0, 168, 255, 0.6);
}

/* line 376, app/assets/stylesheets/dashboard.scss */
.confidence-high {
  color: #00d4aa !important;
  font-weight: 600;
}

/* line 381, app/assets/stylesheets/dashboard.scss */
.confidence-medium {
  color: #ffa726 !important;
  font-weight: 600;
}

/* line 386, app/assets/stylesheets/dashboard.scss */
.confidence-low {
  color: #ff6b6b !important;
  font-weight: 600;
}

/* line 392, app/assets/stylesheets/dashboard.scss */
.dashboard-header {
  background: rgba(15, 20, 40, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  height: 58px;
  min-height: 58px;
  padding: 0 1.5rem !important;
  margin: 0 0 0.75rem 0 !important;
  margin-left: -1.5rem !important;
  margin-right: -1.5rem !important;
  width: calc(100% + 3rem) !important;
  box-sizing: border-box !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  position: relative;
  overflow: visible;
  display: flex;
  align-items: center;
}

/* line 412, app/assets/stylesheets/dashboard.scss */
.dashboard-header > .d-flex {
  width: 100%;
  max-width: 100%;
}

/* line 418, app/assets/stylesheets/dashboard.scss */
.dashboard-header .container,
.dashboard-header .container-fluid,
.dashboard-header [class*="container"] {
  padding: 0 1.5rem !important;
  margin: 0 auto !important;
  max-width: 100% !important;
}

/* line 426, app/assets/stylesheets/dashboard.scss */
.dashboard-header .row {
  margin: 0 !important;
  padding: 0 !important;
}

/* line 431, app/assets/stylesheets/dashboard.scss */
.dashboard-header [class*="col-"] {
  padding: 0 !important;
  margin: 0 !important;
}

/* line 437, app/assets/stylesheets/dashboard.scss */
.dashboard-header::before {
  content: '';
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 200px;
  background: radial-gradient(ellipse, rgba(0, 212, 170, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

@media (max-width: 767px) {
  /* line 392, app/assets/stylesheets/dashboard.scss */
  .dashboard-header {
    padding: 0.75rem 0 !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 454, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .container, .dashboard-header [class*="container"] {
    padding: 0 0.35rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  /* line 392, app/assets/stylesheets/dashboard.scss */
  .dashboard-header {
    padding: 0.85rem 0 !important;
    margin-bottom: 0.6rem !important;
  }
  /* line 464, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .container, .dashboard-header [class*="container"] {
    padding: 0 1rem !important;
  }
}

@media (min-width: 1280px) {
  /* line 392, app/assets/stylesheets/dashboard.scss */
  .dashboard-header {
    padding: 1rem 0 !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 474, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .container, .dashboard-header [class*="container"] {
    padding: 0 2rem !important;
  }
}

/* line 479, app/assets/stylesheets/dashboard.scss */
.dashboard-header.compact-header {
  padding: 0 2.5rem !important;
}

/* line 482, app/assets/stylesheets/dashboard.scss */
.dashboard-header.compact-header .compact-header-title {
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}

/* line 490, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 !important;
  margin-left: 8% !important;
  padding: 0 !important;
  color: #ffffff;
  letter-spacing: -0.02em;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1.2;
}

@media (max-width: 767px) {
  /* line 490, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title {
    font-size: 0.95rem;
    gap: 0.35rem;
    margin-left: 5% !important;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  /* line 490, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title {
    font-size: 1.1rem;
    gap: 0.4rem;
    margin-left: 6% !important;
  }
}

@media (min-width: 1280px) {
  /* line 490, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title {
    font-size: 1.3rem;
    gap: 0.5rem;
    margin-left: 12% !important;
  }
}

/* line 526, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-title .dashboard-logo {
  width: 2rem;
  height: 2rem;
  filter: drop-shadow(0 2px 4px rgba(0, 212, 170, 0.3));
  transition: all 0.3s ease;
}

@media (max-width: 767px) {
  /* line 526, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title .dashboard-logo {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* line 538, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-title i {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-right: 0.3rem;
  font-size: 1.1rem;
}

@media (max-width: 767px) {
  /* line 538, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title i {
    font-size: 0.9rem;
    margin-right: 0.25rem;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  /* line 538, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title i {
    font-size: 1rem;
    margin-right: 0.3rem;
  }
}

/* line 558, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-subtitle {
  display: none !important;
}

/* line 562, app/assets/stylesheets/dashboard.scss */
.dashboard-header .refresh-btn {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border: none;
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 571, app/assets/stylesheets/dashboard.scss */
.dashboard-header .refresh-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(0, 212, 170, 0.15);
}

/* line 576, app/assets/stylesheets/dashboard.scss */
.dashboard-header .refresh-btn i {
  margin-right: 0.5rem;
}

/* line 582, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dev-refresh-btn {
  padding: 0.75rem 1.5rem !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  min-height: auto !important;
  height: auto !important;
}

/* line 590, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dev-refresh-btn i {
  margin-right: 0.5rem;
  font-size: inherit !important;
}

/* line 600, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar {
  display: flex;
  align-items: stretch;
  background: var(--bg-card, rgba(15, 20, 40, 0.85));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 12px;
  border: 1px solid var(--border-color, rgba(255, 255, 255, 0.08));
  box-shadow: var(--shadow-soft, 0 10px 40px rgba(0, 0, 0, 0.4));
  padding: 0.5rem 0.75rem;
  gap: 0;
  overflow: hidden;
}

/* line 613, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  padding: 0.5rem 1rem;
  position: relative;
  min-width: 0;
}

/* line 623, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item:first-child, .portfolio-summary-bar .summary-item:last-child {
  padding-right: 1.25rem;
}

/* line 628, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  flex-shrink: 0;
}

/* line 640, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-icon i {
  font-size: 0.9rem;
}

/* line 644, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-icon.positive {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 649, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-icon.negative {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
}

/* line 655, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

/* line 661, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 670, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value.positive {
  color: #00d4aa;
}

/* line 674, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value.negative {
  color: #ff6b6b;
}

/* line 678, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value.neutral {
  color: #64748b;
}

/* line 683, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
}

/* line 689, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-primary {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: 1.2;
}

/* line 696, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-breakdown {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* line 709, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 721, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-action-btn {
  position: absolute;
  top: 4px;
  right: 6px;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 1px solid rgba(0, 212, 170, 0.4);
  background: rgba(0, 212, 170, 0.1);
  border-radius: 5px;
  color: #00d4aa;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 5;
}

/* line 741, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-action-btn:hover {
  background: rgba(0, 212, 170, 0.25);
  border-color: #00d4aa;
}

/* line 746, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-action-btn i {
  font-size: 0.65rem;
  line-height: 1;
}

/* line 753, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .pnl-info-tooltip {
  display: inline-block;
  margin-left: 0.3rem;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.65rem;
  cursor: help;
  vertical-align: middle;
}

/* line 761, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .pnl-info-tooltip:hover {
  color: rgba(255, 255, 255, 0.7);
}

@media (min-width: 768px) {
  /* line 753, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .pnl-info-tooltip {
    font-size: 0.75rem;
  }
}

@media (min-width: 1024px) {
  /* line 753, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .pnl-info-tooltip {
    font-size: 0.85rem;
  }
}

/* line 777, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item.total-value .summary-icon {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 782, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item.stock-count .summary-icon {
  background: rgba(79, 172, 254, 0.15);
  color: #4facfe;
}

/* line 787, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item.last-updated .summary-icon {
  background: rgba(168, 133, 255, 0.15);
  color: #a885ff;
}

/* line 791, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item.last-updated .summary-icon i {
  line-height: 1;
  display: block;
  margin-right: 0rem !important;
}

/* line 799, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-divider {
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.15), transparent);
  margin: 0.25rem 0;
  flex-shrink: 0;
}

@media (max-width: 991px) {
  /* line 809, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem;
  }
  /* line 814, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: calc(50% - 0.25rem);
    max-width: calc(50% - 0.25rem);
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
  }
  /* line 823, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item.total-value, .portfolio-summary-bar .summary-item.performance {
    padding-right: 1.25rem;
  }
  /* line 828, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }
  /* line 833, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.8rem;
  }
  /* line 839, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.95rem;
  }
  /* line 843, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-primary {
    font-size: 0.95rem;
  }
  /* line 846, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-breakdown {
    font-size: 0.55rem;
    max-width: 120px;
  }
  /* line 853, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.6rem;
  }
  /* line 858, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    top: 3px;
    right: 4px;
  }
  /* line 866, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn i {
    font-size: 0.55rem;
  }
  /* line 872, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-divider {
    display: none;
  }
}

@media (max-width: 575px) {
  /* line 880, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.3rem;
    padding: 0.35rem;
  }
  /* line 886, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item {
    flex: 1 1 calc(50% - 0.15rem);
    min-width: calc(50% - 0.15rem);
    max-width: calc(50% - 0.15rem);
    padding: 0.35rem 0.4rem;
    gap: 0.4rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
  }
  /* line 896, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item.total-value, .portfolio-summary-bar .summary-item.performance {
    padding-right: 1rem;
  }
  /* line 901, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 6px;
  }
  /* line 907, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.65rem;
  }
  /* line 912, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content {
    overflow: hidden;
  }
  /* line 915, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.8rem;
  }
  /* line 919, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-primary {
    font-size: 0.8rem;
  }
  /* line 922, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-breakdown {
    display: none;
  }
  /* line 928, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.55rem;
    letter-spacing: 0.2px;
  }
  /* line 934, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    top: 2px;
    right: 3px;
    border-radius: 4px;
  }
  /* line 943, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn i {
    font-size: 0.45rem;
  }
  /* line 949, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-divider {
    display: none;
  }
}

/* line 956, app/assets/stylesheets/dashboard.scss */
.summary-card {
  background: var(--bg-card, rgba(15, 20, 40, 0.85));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 12px;
  padding: 1rem 0.75rem;
  box-shadow: var(--shadow-soft, 0 10px 40px rgba(0, 0, 0, 0.4));
  border: 1px solid var(--border-color, rgba(255, 255, 255, 0.08));
  transition: var(--theme-transition), transform 0.3s ease;
  height: 100%;
  position: relative;
  overflow: visible;
}

/* line 969, app/assets/stylesheets/dashboard.scss */
.summary-card:hover {
  border-color: rgba(0, 212, 170, 0.2);
  box-shadow: var(--shadow-hover, 0 8px 32px rgba(0, 0, 0, 0.3));
}

/* line 976, app/assets/stylesheets/dashboard.scss */
.dashboard-container .summary-card {
  overflow: hidden;
}

@media (min-width: 576px) {
  /* line 976, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 0.5rem;
    min-height: 120px;
    max-height: 140px;
    text-align: center;
  }
}

@media (min-width: 1280px) {
  /* line 976, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    padding: 0.7rem 0.5rem;
    min-height: 115px;
    max-height: 135px;
  }
}

/* line 1001, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card,
.simulation-form .summary-card,
.simulations-section .summary-card,
.opportunities-settings-form .summary-card,
.preferences-form .summary-card,
.investor-profile-form .summary-card,
.company-settings-page .summary-card,
.stocks-section .summary-card:not(.portfolio-performance):not(.stock-count):not(.dividend-yield):not(.market-cap) {
  overflow: visible !important;
  min-height: auto !important;
  max-height: none !important;
  height: auto !important;
  display: block !important;
  text-align: left !important;
  padding: 1.5rem !important;
}

/* line 1018, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card:hover,
.simulation-form .summary-card:hover,
.simulations-section .summary-card:hover,
.opportunities-settings-form .summary-card:hover,
.preferences-form .summary-card:hover,
.investor-profile-form .summary-card:hover,
.company-settings-page .summary-card:hover,
.stocks-section .summary-card:not(.portfolio-performance):not(.stock-count):not(.dividend-yield):not(.market-cap):hover {
  border-color: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
  box-shadow: var(--shadow-soft, 0 10px 40px rgba(0, 0, 0, 0.4)) !important;
  transform: none !important;
}

/* line 1024, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-content,
.simulation-form .summary-card .card-content,
.simulations-section .summary-card .card-content,
.opportunities-settings-form .summary-card .card-content,
.preferences-form .summary-card .card-content,
.investor-profile-form .summary-card .card-content,
.company-settings-page .summary-card .card-content,
.stocks-section .summary-card:not(.portfolio-performance):not(.stock-count):not(.dividend-yield):not(.market-cap) .card-content {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* line 1032, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-content h3,
.simulation-form .summary-card .card-content h3,
.simulations-section .summary-card .card-content h3,
.opportunities-settings-form .summary-card .card-content h3,
.preferences-form .summary-card .card-content h3,
.investor-profile-form .summary-card .card-content h3,
.company-settings-page .summary-card .card-content h3,
.stocks-section .summary-card:not(.portfolio-performance):not(.stock-count):not(.dividend-yield):not(.market-cap) .card-content h3 {
  font-size: 1.1rem !important;
  margin-bottom: 0.5rem;
}

/* line 1037, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-content p,
.simulation-form .summary-card .card-content p,
.simulations-section .summary-card .card-content p,
.opportunities-settings-form .summary-card .card-content p,
.preferences-form .summary-card .card-content p,
.investor-profile-form .summary-card .card-content p,
.company-settings-page .summary-card .card-content p,
.stocks-section .summary-card:not(.portfolio-performance):not(.stock-count):not(.dividend-yield):not(.market-cap) .card-content p {
  display: block !important;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

/* line 1045, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-icon,
.simulation-form .summary-card .card-icon,
.simulations-section .summary-card .card-icon,
.opportunities-settings-form .summary-card .card-icon,
.preferences-form .summary-card .card-icon,
.investor-profile-form .summary-card .card-icon,
.company-settings-page .summary-card .card-icon,
.stocks-section .summary-card:not(.portfolio-performance):not(.stock-count):not(.dividend-yield):not(.market-cap) .card-icon {
  position: static !important;
  display: inline-flex !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  margin-bottom: 1rem;
}

/* line 1054, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-icon i,
.simulation-form .summary-card .card-icon i,
.simulations-section .summary-card .card-icon i,
.opportunities-settings-form .summary-card .card-icon i,
.preferences-form .summary-card .card-icon i,
.investor-profile-form .summary-card .card-icon i,
.company-settings-page .summary-card .card-icon i,
.stocks-section .summary-card:not(.portfolio-performance):not(.stock-count):not(.dividend-yield):not(.market-cap) .card-icon i {
  font-size: 1.25rem !important;
}

/* line 1063, app/assets/stylesheets/dashboard.scss */
.summary-card .reset-baseline-btn-corner {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 1px solid rgba(0, 212, 170, 0.5);
  background: rgba(0, 212, 170, 0.1);
  border-radius: 6px;
  color: #00d4aa;
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
}

/* line 1082, app/assets/stylesheets/dashboard.scss */
.summary-card .reset-baseline-btn-corner:hover {
  background: rgba(0, 212, 170, 0.25);
  border-color: #00d4aa;
  transform: scale(1.1);
}

/* line 1088, app/assets/stylesheets/dashboard.scss */
.summary-card .reset-baseline-btn-corner i {
  font-size: 0.6rem;
}

/* line 1094, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-history-btn-corner {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 1px solid rgba(0, 212, 170, 0.5);
  background: rgba(0, 212, 170, 0.1);
  border-radius: 6px;
  color: #00d4aa;
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
}

/* line 1113, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-history-btn-corner:hover {
  background: rgba(0, 212, 170, 0.25);
  border-color: #00d4aa;
  transform: scale(1.1);
}

/* line 1119, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-history-btn-corner i {
  font-size: 0.6rem;
}

/* line 1124, app/assets/stylesheets/dashboard.scss */
.summary-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4aa, #00b4d8);
  border-radius: 12px 12px 0 0;
}

/* line 1135, app/assets/stylesheets/dashboard.scss */
.summary-card::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 212, 170, 0.05) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

@media (hover: hover) {
  /* line 1149, app/assets/stylesheets/dashboard.scss */
  .summary-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 212, 170, 0.2);
    border-color: rgba(0, 212, 170, 0.3);
  }
  /* line 1154, app/assets/stylesheets/dashboard.scss */
  .summary-card:hover::after {
    opacity: 1;
  }
}

/* line 1160, app/assets/stylesheets/dashboard.scss */
.summary-card .card-icon {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3);
  transition: all 0.3s ease;
}

/* line 1171, app/assets/stylesheets/dashboard.scss */
.summary-card .card-icon i {
  font-size: 1.25rem;
}

@media (min-width: 576px) {
  /* line 1160, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 0.4rem;
  }
  /* line 1181, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 1.1rem;
  }
}

@media (min-width: 1280px) {
  /* line 1160, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    min-height: 48px;
    margin: 0 auto 0.45rem;
  }
  /* line 1194, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 1.3rem;
  }
}

@media (hover: hover) {
  /* line 1201, app/assets/stylesheets/dashboard.scss */
  .summary-card:hover .card-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 12px 25px rgba(0, 212, 170, 0.4);
  }
}

/* line 1207, app/assets/stylesheets/dashboard.scss */
.summary-card .card-content {
  text-align: center;
}

/* line 1210, app/assets/stylesheets/dashboard.scss */
.summary-card .card-content h3 {
  font-size: 1.75rem;
  font-weight: 800;
  margin: 0 0 0.5rem 0;
  color: #ffffff;
  letter-spacing: -0.01em;
}

/* line 1218, app/assets/stylesheets/dashboard.scss */
.summary-card .card-content p {
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

/* line 1227, app/assets/stylesheets/dashboard.scss */
.summary-card .card-content small.performance-detail {
  display: block;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.15rem;
}

@media (min-width: 576px) {
  /* line 1236, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.15rem;
    margin: 0 0 0.2rem 0;
  }
  /* line 1241, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.6rem;
    margin: 0;
  }
  /* line 1246, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content small.performance-detail {
    font-size: 0.55rem;
    margin-top: 0.1rem;
  }
}

@media (min-width: 1280px) {
  /* line 1254, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.1rem;
    margin: 0 0 0.15rem 0;
  }
  /* line 1259, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.55rem;
  }
  /* line 1263, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content small.performance-detail {
    font-size: 0.5rem;
  }
}

@media (max-width: 1279px) {
  /* line 1060, app/assets/stylesheets/dashboard.scss */
  .summary-card {
    padding: 0.75rem 0.5rem;
    border-radius: 10px;
  }
  /* line 1274, app/assets/stylesheets/dashboard.scss */
  .summary-card::before {
    height: 2px;
  }
  /* line 1278, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 0.75rem;
  }
  /* line 1283, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 1rem;
  }
  /* line 1289, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.4rem;
    margin: 0 0 0.25rem 0;
  }
  /* line 1294, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.7rem;
  }
}

@media (max-width: 575px) {
  /* line 1060, app/assets/stylesheets/dashboard.scss */
  .summary-card {
    padding: 0.25rem 0.12rem;
    min-width: 0;
  }
  /* line 1305, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon {
    width: 16px;
    height: 16px;
    margin: 0 auto 0.08rem;
  }
  /* line 1310, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 0.45rem;
  }
  /* line 1316, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 0.65rem;
    margin: 0;
    line-height: 1.05;
    font-weight: 700;
  }
  /* line 1324, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    display: none;
  }
}

/* line 1334, app/assets/stylesheets/dashboard.scss */
.summary-card .summary-card.portfolio-performance .card-content h3.positive {
  color: #00d4aa;
}

/* line 1338, app/assets/stylesheets/dashboard.scss */
.summary-card .summary-card.portfolio-performance .card-content h3.negative {
  color: #ff6b6b;
}

/* line 1342, app/assets/stylesheets/dashboard.scss */
.summary-card .summary-card.portfolio-performance .card-content h3.neutral {
  color: #64748b;
}

/* line 1347, app/assets/stylesheets/dashboard.scss */
.summary-card .summary-card.portfolio-performance .card-content .performance-detail {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
  display: block;
  margin-top: 0.25rem;
}

@media (max-width: 575px) {
  /* line 1359, app/assets/stylesheets/dashboard.scss */
  .summary-card .summary-card.portfolio-performance .card-content .performance-detail,
.summary-card .summary-card.portfolio-performance .card-content .reset-baseline-btn,
.summary-card .summary-card.portfolio-performance .card-content .mt-2 {
    display: none;
  }
}

/* line 1369, app/assets/stylesheets/dashboard.scss */
.summary-card.total-value .card-icon {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

/* line 1375, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-total-multi-currency {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

@media (max-width: 575px) {
  /* line 1375, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency {
    gap: 0.05rem;
  }
}

/* line 1385, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-total-multi-currency .total-primary {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
}

@media (max-width: 575px) {
  /* line 1385, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency .total-primary {
    font-size: 0.75rem;
    line-height: 1.05;
  }
}

/* line 1397, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-total-multi-currency .total-breakdown {
  font-size: 0.75rem;
  color: #94a3b8;
  font-weight: 500;
  opacity: 0.8;
  text-align: center;
  line-height: 1.3;
}

@media (max-width: 575px) {
  /* line 1397, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency .total-breakdown {
    font-size: 0.42rem;
    line-height: 1.05;
  }
}

/* line 1413, app/assets/stylesheets/dashboard.scss */
.summary-card small.usd-conversion {
  color: #a0aec0 !important;
  font-size: 0.65rem !important;
  font-weight: 300 !important;
  opacity: 0.7 !important;
  margin-left: 0.25rem;
  display: inline-block !important;
}

/* line 1423, app/assets/stylesheets/dashboard.scss */
.summary-card .forecast-card small.usd-conversion,
.summary-card .stock-card small.usd-conversion,
.summary-card .card small.usd-conversion,
.summary-card .forecast-card .usd-conversion,
.summary-card .stock-card .usd-conversion,
.summary-card .card .usd-conversion {
  color: #a0aec0 !important;
  font-size: 0.65rem !important;
  font-weight: 300 !important;
  opacity: 0.7 !important;
}

/* line 1435, app/assets/stylesheets/dashboard.scss */
.summary-card.stock-count .card-icon {
  background: rgba(0, 168, 255, 0.2);
  color: #00a8ff;
}

/* line 1440, app/assets/stylesheets/dashboard.scss */
.summary-card.last-updated .card-icon {
  background: rgba(255, 167, 38, 0.2);
  color: #ffa726;
}

/* line 1445, app/assets/stylesheets/dashboard.scss */
.summary-card.portfolio-performance .card-icon {
  background: rgba(168, 85, 247, 0.2);
  color: #a855f7;
}

/* line 1450, app/assets/stylesheets/dashboard.scss */
.summary-card.status .card-icon {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 1457, app/assets/stylesheets/dashboard.scss */
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
  gap: 1rem;
  padding: 0 0.5rem;
}

/* line 1465, app/assets/stylesheets/dashboard.scss */
.section-header .section-title {
  flex: 1;
  min-width: 0;
}

/* line 1469, app/assets/stylesheets/dashboard.scss */
.section-header .section-title h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  color: #ffffff;
}

/* line 1476, app/assets/stylesheets/dashboard.scss */
.section-header .section-title p {
  font-size: 0.875rem;
  color: #64748b;
  margin: 0;
  line-height: 1.4;
}

/* line 1484, app/assets/stylesheets/dashboard.scss */
.section-header .section-actions {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

/* line 1492, app/assets/stylesheets/dashboard.scss */
.section-header .btn {
  background: #00d4aa;
  border: 1px solid #00d4aa;
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
}

/* line 1504, app/assets/stylesheets/dashboard.scss */
.section-header .btn:hover {
  background: #00a181;
  border-color: #00a181;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* line 1511, app/assets/stylesheets/dashboard.scss */
.section-header .btn i {
  margin-right: 0.5rem;
}

/* line 1518, app/assets/stylesheets/dashboard.scss */
.dashboard-container .table-responsive[data-onboarding="stocks-table"] {
  border-radius: 16px !important;
  overflow: hidden !important;
  isolation: isolate;
}

/* line 1526, app/assets/stylesheets/dashboard.scss */
.stocks-table {
  background: var(--glass-bg, rgba(15, 20, 35, 0.6));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-card, 0 4px 24px rgba(0, 0, 0, 0.2));
  border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.06));
  color: var(--text-primary, #ffffff);
  transition: var(--theme-transition);
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* line 1540, app/assets/stylesheets/dashboard.scss */
.stocks-table thead {
  background: var(--bg-table-header, rgba(20, 25, 45, 0.8));
}

/* line 1543, app/assets/stylesheets/dashboard.scss */
.stocks-table thead th {
  color: var(--text-secondary, #94a3b8);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  border: none;
  padding: 0.6rem 0.5rem;
  position: relative;
  text-align: center;
}

/* line 1556, app/assets/stylesheets/dashboard.scss */
.stocks-table thead th:first-child {
  border-left: 4px solid transparent;
  border-top-left-radius: 16px;
}

/* line 1562, app/assets/stylesheets/dashboard.scss */
.stocks-table thead th:last-child {
  border-top-right-radius: 16px;
}

/* line 1566, app/assets/stylesheets/dashboard.scss */
.stocks-table thead th::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 212, 170, 0.4), transparent);
  border-radius: 0;
}

/* line 1579, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody {
  background: transparent;
}

/* line 1582, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr {
  border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, 0.04));
  transition: var(--theme-transition), transform 0.2s ease;
  position: relative;
  background: var(--bg-table-row, transparent);
}

/* line 1588, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:hover {
  background: var(--bg-table-row-hover, rgba(0, 212, 170, 0.05));
}

/* line 1592, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:nth-child(even) {
  background: var(--bg-input, rgba(255, 255, 255, 0.015));
}

/* line 1596, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:last-child {
  border-bottom: none;
}

/* line 1600, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 16px;
}

/* line 1604, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 16px;
}

/* line 1610, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody td {
  padding: 0.5rem 0.4rem;
  border: none;
  vertical-align: middle;
  font-weight: 500;
  color: #ffffff;
  background: transparent;
  font-size: 0.95rem;
  text-align: center;
}

/* line 1624, app/assets/stylesheets/dashboard.scss */
.stock-info {
  text-align: left !important;
}

/* line 1627, app/assets/stylesheets/dashboard.scss */
.stock-info strong {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 1636, app/assets/stylesheets/dashboard.scss */
.stock-info small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.3;
}

/* line 1646, app/assets/stylesheets/dashboard.scss */
.shares-input .shares-field {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  color: #ffffff;
  padding: 0.5rem;
  width: 100px;
  text-align: center;
}

/* line 1655, app/assets/stylesheets/dashboard.scss */
.shares-input .shares-field:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: #00d4aa;
  box-shadow: 0 0 0 0.2rem rgba(0, 212, 170, 0.25);
  color: #ffffff;
}

/* line 1665, app/assets/stylesheets/dashboard.scss */
.price-cell,
.value-cell {
  font-weight: 700;
  color: #ffffff;
  font-size: 1.1rem;
  text-align: center;
}

/* line 1674, app/assets/stylesheets/dashboard.scss */
.micro-sparkline-container {
  display: flex;
  justify-content: center;
  margin-top: 2px;
}

/* line 1679, app/assets/stylesheets/dashboard.scss */
.micro-sparkline-container canvas {
  display: block;
  width: 60px;
  height: 18px;
}

@media (max-width: 767px) {
  /* line 1674, app/assets/stylesheets/dashboard.scss */
  .micro-sparkline-container {
    margin-top: 3px;
  }
  /* line 1689, app/assets/stylesheets/dashboard.scss */
  .micro-sparkline-container canvas {
    width: 50px;
    height: 14px;
  }
}

/* line 1700, app/assets/stylesheets/dashboard.scss */
.price-cell .price-display-compact .price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 1708, app/assets/stylesheets/dashboard.scss */
.price-cell .micro-sparkline-container {
  margin-top: 2px;
}

/* line 1714, app/assets/stylesheets/dashboard.scss */
.pnl-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 1722, app/assets/stylesheets/dashboard.scss */
.pnl-display.positive {
  color: #00d4aa;
}

/* line 1725, app/assets/stylesheets/dashboard.scss */
.pnl-display.positive .pnl-percentage::before {
  content: "▲ ";
  font-size: 0.6rem;
}

/* line 1731, app/assets/stylesheets/dashboard.scss */
.pnl-display.negative {
  color: #ff6b6b;
}

/* line 1734, app/assets/stylesheets/dashboard.scss */
.pnl-display.negative .pnl-percentage::before {
  content: "▼ ";
  font-size: 0.6rem;
}

/* line 1740, app/assets/stylesheets/dashboard.scss */
.pnl-display .pnl-percentage {
  font-weight: 700;
}

/* line 1744, app/assets/stylesheets/dashboard.scss */
.pnl-display .pnl-value {
  font-size: 0.65rem;
  opacity: 0.8;
}

/* line 1751, app/assets/stylesheets/dashboard.scss */
.table-filter-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.25rem;
}

/* line 1758, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search {
  position: relative;
  flex: 0 0 auto;
}

/* line 1762, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search i {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.3);
  pointer-events: none;
}

/* line 1772, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.7rem;
  padding: 5px 10px 5px 26px;
  width: 150px;
  outline: none;
  transition: border-color 0.2s, width 0.2s;
}

/* line 1783, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

/* line 1787, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search input:focus {
  border-color: rgba(0, 212, 170, 0.4);
  width: 200px;
}

/* line 1794, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chips {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

/* line 1800, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.65rem;
  font-weight: 600;
  padding: 3px 10px;
  cursor: pointer;
  transition: all 0.15s;
}

/* line 1811, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip:hover {
  border-color: rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.7);
}

/* line 1816, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.active {
  background: rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.3);
  color: #00d4aa;
}

/* line 1822, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.chip-buy.active {
  background: rgba(74, 222, 128, 0.12);
  border-color: rgba(74, 222, 128, 0.3);
  color: #4ade80;
}

/* line 1828, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.chip-sell.active {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.3);
  color: #f87171;
}

/* line 1834, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.chip-hold.active {
  background: rgba(251, 191, 36, 0.12);
  border-color: rgba(251, 191, 36, 0.3);
  color: #fbbf24;
}

@media (max-width: 767px) {
  /* line 1751, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar {
    flex-wrap: wrap;
    padding: 0.5rem 0;
    gap: 0.5rem;
  }
  /* line 1846, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search {
    flex: 1 1 100%;
    order: -1;
  }
  /* line 1850, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search i {
    font-size: 0.6rem;
    left: 10px;
  }
  /* line 1855, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input {
    width: 100%;
    font-size: 0.75rem;
    padding: 8px 12px 8px 28px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
  }
  /* line 1863, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input::placeholder {
    font-size: 0.75rem;
  }
  /* line 1864, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input:focus {
    width: 100%;
    border-color: rgba(0, 212, 170, 0.3);
  }
  /* line 1871, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-chips {
    flex: 1 1 100%;
    display: flex;
    gap: 0.3rem;
  }
  /* line 1877, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-chip {
    flex: 1;
    text-align: center;
    font-size: 0.65rem;
    padding: 5px 0;
    border-radius: 8px;
  }
}

/* line 1888, app/assets/stylesheets/dashboard.scss */
.sortable-header {
  cursor: pointer;
  user-select: none;
  transition: color 0.15s;
}

/* line 1893, app/assets/stylesheets/dashboard.scss */
.sortable-header .sort-icon {
  font-size: 0.55rem;
  opacity: 0;
  transition: opacity 0.15s;
}

/* line 1898, app/assets/stylesheets/dashboard.scss */
.sortable-header .sort-icon:empty::after {
  content: " ▼";
}

/* line 1903, app/assets/stylesheets/dashboard.scss */
.sortable-header:hover .sort-icon {
  opacity: 0.5;
}

/* line 1907, app/assets/stylesheets/dashboard.scss */
.sortable-header.sort-active {
  color: #00d4aa !important;
}

/* line 1910, app/assets/stylesheets/dashboard.scss */
.sortable-header.sort-active .sort-icon {
  opacity: 0.8;
}

/* line 1917, app/assets/stylesheets/dashboard.scss */
.table-empty-filter {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 2rem 1rem;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
}

/* line 1926, app/assets/stylesheets/dashboard.scss */
.table-empty-filter i {
  font-size: 1.3rem;
  opacity: 0.4;
}

/* line 1931, app/assets/stylesheets/dashboard.scss */
.table-empty-filter .btn-reset-filters {
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.25);
  border-radius: 8px;
  color: #00d4aa;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 5px 14px;
  cursor: pointer;
  transition: all 0.15s;
}

/* line 1942, app/assets/stylesheets/dashboard.scss */
.table-empty-filter .btn-reset-filters:hover {
  background: rgba(0, 212, 170, 0.2);
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 1950, app/assets/stylesheets/dashboard.scss */
tr.stock-row.price-updated .price-main {
  animation: price-flash 1.5s ease-out;
}

@keyframes price-flash {
  0% {
    color: #00d4aa;
  }
  100% {
    color: inherit;
  }
}

/* line 1960, app/assets/stylesheets/dashboard.scss */
.intraday-change {
  font-size: 0.65rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 1px;
  cursor: help;
}

/* line 1967, app/assets/stylesheets/dashboard.scss */
.intraday-change.muted-positive {
  color: rgba(74, 222, 128, 0.5);
}

/* line 1971, app/assets/stylesheets/dashboard.scss */
.intraday-change.muted-negative {
  color: rgba(248, 113, 113, 0.5);
}

/* line 1975, app/assets/stylesheets/dashboard.scss */
.intraday-change.positive {
  color: #4ade80;
}

/* line 1979, app/assets/stylesheets/dashboard.scss */
.intraday-change.negative {
  color: #f87171;
}

@media (max-width: 767px) {
  /* line 1960, app/assets/stylesheets/dashboard.scss */
  .intraday-change {
    font-size: 0.55rem;
  }
}

/* line 1989, app/assets/stylesheets/dashboard.scss */
.eod-reference {
  font-size: 0.6rem;
  line-height: 1.2;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.4);
  cursor: help;
}

/* line 1996, app/assets/stylesheets/dashboard.scss */
.eod-reference .eod-label {
  font-size: 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  opacity: 0.7;
}

@media (max-width: 767px) {
  /* line 1989, app/assets/stylesheets/dashboard.scss */
  .eod-reference {
    font-size: 0.5rem;
  }
  /* line 2007, app/assets/stylesheets/dashboard.scss */
  .eod-reference .eod-label {
    font-size: 0.45rem;
  }
}

/* line 2014, app/assets/stylesheets/dashboard.scss */
.pre-market-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 4px;
  line-height: 1.4;
  margin-top: 2px;
}

/* line 2024, app/assets/stylesheets/dashboard.scss */
.pre-market-up {
  color: #4ade80;
  background: rgba(74, 222, 128, 0.12);
}

/* line 2029, app/assets/stylesheets/dashboard.scss */
.pre-market-down {
  color: #f87171;
  background: rgba(248, 113, 113, 0.12);
}

/* line 2034, app/assets/stylesheets/dashboard.scss */
.pre-market-locked {
  font-size: 0.65rem;
  opacity: 0.5;
  cursor: help;
}

/* line 2041, app/assets/stylesheets/dashboard.scss */
.purchase-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.7rem;
  color: #64748b;
  margin-top: 0.15rem;
}

/* line 2049, app/assets/stylesheets/dashboard.scss */
.purchase-info .purchase-label {
  font-size: 0.55rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.7;
}

/* line 2056, app/assets/stylesheets/dashboard.scss */
.purchase-info .purchase-price {
  font-weight: 500;
}

/* line 2062, app/assets/stylesheets/dashboard.scss */
.change-cell {
  font-weight: 700;
  font-size: 1rem;
  text-align: center;
}

/* line 2067, app/assets/stylesheets/dashboard.scss */
.change-cell.positive {
  color: #00d4aa;
}

/* line 2071, app/assets/stylesheets/dashboard.scss */
.change-cell.negative {
  color: #ff6b6b;
}

/* line 2077, app/assets/stylesheets/dashboard.scss */
.remove-stock-btn {
  background: rgba(255, 107, 107, 0.1);
  border: 1px solid rgba(255, 107, 107, 0.3);
  color: #ff6b6b;
  padding: 0.5rem;
  border-radius: 6px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2085, app/assets/stylesheets/dashboard.scss */
.remove-stock-btn:hover {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 2092, app/assets/stylesheets/dashboard.scss */
.empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(45, 55, 72, 0.8) 100%);
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 2100, app/assets/stylesheets/dashboard.scss */
.empty-state .empty-icon {
  width: 64px;
  height: 64px;
  aspect-ratio: 1;
  background: rgba(0, 212, 170, 0.12);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  flex-shrink: 0;
}

/* line 2112, app/assets/stylesheets/dashboard.scss */
.empty-state .empty-icon i {
  font-size: 1.5rem;
  color: #00d4aa;
}

/* line 2118, app/assets/stylesheets/dashboard.scss */
.empty-state h3 {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

/* line 2125, app/assets/stylesheets/dashboard.scss */
.empty-state p {
  color: #94a3b8;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

/* line 2131, app/assets/stylesheets/dashboard.scss */
.empty-state .btn {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border: none;
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2140, app/assets/stylesheets/dashboard.scss */
.empty-state .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(0, 212, 170, 0.15);
}

/* line 2145, app/assets/stylesheets/dashboard.scss */
.empty-state .btn i {
  margin-right: 0.5rem;
}

@media (max-width: 575px) {
  /* line 2157, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.4rem;
    padding-top: 0.4rem;
  }
  /* line 2165, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    padding: 0.5rem;
    font-size: 0.8rem;
  }
  /* line 2172, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-3 {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-left: -0.03rem;
    margin-right: -0.03rem;
    padding-left: 0.03rem;
    padding-right: 0.03rem;
    margin-bottom: 0.4rem !important;
    gap: 0.03rem;
  }
  /* line 2186, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-3::-webkit-scrollbar {
    display: none;
  }
  /* line 2190, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-3 > [class*="col-"] {
    flex: 1 1 0;
    min-width: 0;
    max-width: 25%;
    padding-left: 0.05rem;
    padding-right: 0.05rem;
    margin-bottom: 0;
  }
  /* line 2201, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0;
    height: auto;
    min-height: 65px;
    max-height: 70px;
    overflow: hidden;
  }
  /* line 2209, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.85rem !important;
    line-height: 1.1 !important;
  }
  /* line 2214, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2218, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2224, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 2230, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    display: none !important;
  }
  /* line 2234, app/assets/stylesheets/dashboard.scss */
  .refresh-status-component .refresh-status-text {
    display: none !important;
  }
  /* line 2238, app/assets/stylesheets/dashboard.scss */
  .dashboard-bubbles-row {
    gap: 0.5rem !important;
    margin-bottom: 0.4rem !important;
    padding-left: 0.4rem !important;
    padding-right: 3.5rem !important;
  }
  /* line 2245, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 60px;
    gap: 0.15rem;
  }
  /* line 2249, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-icon {
    width: 50px !important;
    height: 50px !important;
    font-size: 1rem !important;
    border-width: 1px !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
  }
  /* line 2257, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.1rem !important;
  }
  /* line 2258, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.5rem !important;
    max-width: 52px !important;
  }
  /* line 2259, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 7px !important;
    height: 7px !important;
    transform: translateX(21px) !important;
  }
  /* line 2263, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn-form {
    display: block !important;
    width: 34px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
  }
  /* line 2270, app/assets/stylesheets/dashboard.scss */
  .mobile-section-btns {
    flex-direction: row !important;
    gap: 0.4rem !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* line 2277, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
  }
  /* line 2289, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn i {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 2294, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn .btn-text-hide {
    display: none !important;
  }
  /* line 2300, app/assets/stylesheets/dashboard.scss */
  .summary-item.stock-count,
.summary-item.last-updated,
.summary-divider.d-none-mobile {
    display: none !important;
  }
  /* line 2312, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 2316, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .signal-trading-block .primary-trading-row {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 2322, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .signal-trading-block .signal-badge-group .action-badge, .ai-analysis-row .ai-analysis-card.compact .signal-trading-block .signal-badge-group .forecast-badge {
    font-size: 0.7rem !important;
    padding: 0.25rem 0.5rem !important;
  }
  /* line 2327, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 2335, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-label {
    font-size: 0.45rem !important;
  }
  /* line 2336, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-value {
    font-size: 0.6rem !important;
  }
  /* line 2342, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 2345, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.6rem !important;
  }
  /* line 2349, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-text {
    font-size: 0.7rem !important;
    line-height: 1.4;
  }
  /* line 2356, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 2359, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.35rem;
  }
  /* line 2361, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header .disagreement-icon {
    font-size: 0.75rem !important;
  }
  /* line 2362, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header .disagreement-title {
    font-size: 0.65rem !important;
  }
  /* line 2366, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-item .disagreement-label {
    font-size: 0.65rem !important;
  }
  /* line 2367, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-item .disagreement-value {
    font-size: 0.65rem !important;
  }
  /* line 2370, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-reasoning .reasoning-text {
    font-size: 0.65rem !important;
  }
  /* line 2375, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 2378, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.55rem !important;
  }
  /* line 2378, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.55rem !important;
  }
  /* line 2379, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .event-item .event-text {
    font-size: 0.65rem !important;
    line-height: 1.35;
  }
  /* line 2380, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 2380, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 2384, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 2387, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.55rem !important;
  }
  /* line 2387, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.6rem !important;
  }
  /* line 2388, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .personalized-signal-badge {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.4rem !important;
  }
  /* line 2389, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .personalized-reason-text {
    font-size: 0.65rem !important;
    line-height: 1.35;
  }
  /* line 2394, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 2406, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.4rem !important;
    width: 100% !important;
  }
  /* line 2411, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2415, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2419, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link i {
    margin-right: 4px !important;
  }
  /* line 2424, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 0.25rem !important;
    border-bottom: none !important;
    background-color: rgba(26, 26, 46, 0.8) !important;
    backdrop-filter: blur(10px);
    border-radius: 0.75rem;
    padding: 0.4rem !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }
  /* line 2437, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }
  /* line 2444, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 10px 6px !important;
    font-size: 0.7rem !important;
    min-height: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    width: 100% !important;
    text-align: center !important;
    border: none !important;
    border-radius: 0.5rem !important;
    background-color: rgba(42, 42, 62, 0.6) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    gap: 0.25rem !important;
  }
  /* line 2464, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    margin-right: 0 !important;
  }
  /* line 2468, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2472, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2476, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link:hover {
    background-color: rgba(58, 58, 78, 0.8) !important;
    color: rgba(255, 255, 255, 0.95) !important;
  }
  /* line 2481, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.15) 100%) !important;
    border-color: rgba(0, 212, 170, 0.4) !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  /* line 2489, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    font-size: 0.75rem !important;
    margin-right: 3px !important;
    color: inherit !important;
  }
  /* line 2497, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs:has(.nav-item:nth-child(4)) {
    flex-wrap: wrap !important;
  }
  /* line 2500, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs:has(.nav-item:nth-child(4)) .nav-item {
    flex: 0 0 calc(50% - 0.125rem) !important;
    max-width: calc(50% - 0.125rem) !important;
  }
  /* line 2507, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs {
    flex-wrap: nowrap !important;
  }
  /* line 2510, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-item {
    flex: 1 !important;
    max-width: none !important;
  }
  /* line 2515, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link {
    flex-direction: column !important;
    height: auto !important;
    min-height: 52px !important;
    white-space: normal !important;
    gap: 0.3rem !important;
    padding: 10.5px 4.2px 9.45px !important;
  }
  /* line 2523, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 2528, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link .tab-label {
    display: block !important;
    visibility: visible !important;
    font-size: 0.46rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    opacity: 0.75;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: inherit !important;
  }
  /* line 2541, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link.active .tab-label {
    opacity: 1 !important;
    font-weight: 600 !important;
  }
  /* line 2552, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 2555, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header .section-actions {
    width: auto !important;
    flex: 0 0 auto !important;
  }
  /* line 2565, app/assets/stylesheets/dashboard.scss */
  .simulation-form ~ .text-end .btn-outline-secondary.btn-sm,
.dashboard-header .text-end .btn-outline-secondary.btn-sm {
    font-size: 0.7rem !important;
    padding: 0.35rem 0.6rem !important;
  }
  /* line 2569, app/assets/stylesheets/dashboard.scss */
  .simulation-form ~ .text-end .btn-outline-secondary.btn-sm i,
.dashboard-header .text-end .btn-outline-secondary.btn-sm i {
    font-size: 0.65rem !important;
    margin-right: 0.25rem !important;
  }
  /* line 2578, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* line 2587, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }
  /* line 2594, app/assets/stylesheets/dashboard.scss */
  .event-field .row {
    flex-direction: column !important;
  }
  /* line 2597, app/assets/stylesheets/dashboard.scss */
  .event-field .row > [class*="col-"] {
    max-width: 100% !important;
    margin-bottom: 0.75rem;
  }
  /* line 2606, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row {
    flex-direction: column !important;
  }
  /* line 2609, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row > [class*="col-"] {
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 0.5rem;
  }
  /* line 2616, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 250px !important;
    overflow-y: auto !important;
  }
  /* line 2620, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item {
    padding: 0.75rem !important;
    font-size: 0.85rem !important;
  }
  /* line 2624, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-symbol {
    font-size: 0.9rem !important;
  }
  /* line 2628, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-name {
    font-size: 0.8rem !important;
  }
  /* line 2632, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .btn {
    font-size: 0.7rem !important;
    padding: 0.25rem 0.5rem !important;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  /* line 2643, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 1rem;
    padding-top: 0.75rem;
  }
  /* line 2648, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    width: auto;
  }
  /* line 2654, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.75rem;
  }
  /* line 2658, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1rem !important;
  }
  /* line 2662, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2666, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2672, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 2678, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }
  /* line 2684, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.15rem !important;
    margin-bottom: 0.1rem !important;
  }
  /* line 2689, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
  }
  /* line 2695, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    justify-content: flex-end !important;
    gap: 0.4rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 2701, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .btn {
    width: auto !important;
    min-height: auto !important;
    font-size: 0.7rem !important;
    padding: 0.4rem 0.7rem !important;
    white-space: nowrap !important;
  }
  /* line 2708, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .btn i {
    font-size: 0.65rem !important;
    margin-right: 0.25rem !important;
  }
  /* line 2720, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.75rem;
  }
  /* line 2723, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.5rem 0.25rem !important;
    font-size: 0.65rem !important;
    white-space: nowrap;
  }
  /* line 2729, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.25rem !important;
    vertical-align: middle;
  }
  /* line 2736, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.3rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 2740, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .symbol-tag {
    font-size: 0.7rem !important;
    padding: 0.3rem 0.6rem !important;
  }
  /* line 2745, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .exchange-status {
    font-size: 0.5rem !important;
    padding: 0.1rem 0.2rem !important;
  }
  /* line 2750, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .btn-stock-chart {
    flex-shrink: 0 !important;
    min-width: 1.2rem !important;
    max-height: 1.2rem !important;
    max-width: 1.2rem !important;
    min-height: 1.2rem !important;
  }
  /* line 2759, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info small {
    font-size: 0.6rem !important;
    display: block;
    max-width: calc(32ch + 0.5rem) !important;
    /* Truncate to 32 characters */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* line 2768, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 2776, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .action-badge, .stocks-table .forecast-cell .forecast-badge, .stocks-table .medium-term-cell .action-badge, .stocks-table .medium-term-cell .forecast-badge {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 2781, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast, .stocks-table .medium-term-cell .vertex-ai-forecast {
    padding: 0.2rem !important;
    margin-top: 0.2rem;
  }
  /* line 2785, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast .forecast-price-row, .stocks-table .medium-term-cell .vertex-ai-forecast .forecast-price-row {
    font-size: 0.6rem !important;
    gap: 0.2rem;
  }
  /* line 2790, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast .forecast-change-inline, .stocks-table .medium-term-cell .vertex-ai-forecast .forecast-change-inline {
    font-size: 0.5rem !important;
  }
  /* line 2797, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.5rem 0.25rem !important;
  }
  /* line 2804, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 2807, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.65rem !important;
  }
  /* line 2815, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn {
    font-size: 0.55rem !important;
    padding: 0.25rem 0.4rem !important;
  }
  /* line 2819, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: none;
  }
  /* line 2823, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    margin: 0 !important;
    font-size: 0.6rem !important;
  }
  /* line 2832, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.7rem !important;
  }
  /* line 2836, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.5rem !important;
  }
  /* line 2841, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.7rem !important;
  }
  /* line 2844, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell .currency-symbol, .stocks-table .value-cell .currency-symbol {
    font-size: 0.55rem !important;
  }
  /* line 2852, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
  }
  /* line 2856, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 2861, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .reasoning-text,
.ai-analysis-row .ai-analysis-card .metric-value.reasoning-text {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.65rem !important;
    line-height: 1.5 !important;
  }
  /* line 2871, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .card-rationale p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.7rem !important;
    line-height: 1.5 !important;
  }
  /* line 2880, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .complementary-content,
.ai-analysis-row .ai-analysis-card .complementary-content p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.65rem !important;
    line-height: 1.5 !important;
  }
  /* line 2890, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.3rem !important;
  }
  /* line 2893, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.3rem !important;
  }
  /* line 2896, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 2900, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.65rem !important;
  }
  /* line 2908, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 60px;
  }
  /* line 2918, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1rem !important;
    width: 100% !important;
  }
  /* line 2922, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 0.25rem !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
    background-color: rgba(26, 26, 46, 0.8) !important;
    backdrop-filter: blur(10px);
    border-radius: 0.75rem 0.75rem 0 0;
    padding: 0.5rem 0.5rem 0 0.5rem !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }
  /* line 2935, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 0.1rem !important;
  }
  /* line 2942, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 12px 10px !important;
    font-size: 0.8rem !important;
    min-height: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
    border-radius: 0.5rem 0.5rem 0 0 !important;
    background-color: rgba(42, 42, 62, 0.6) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    border: none !important;
  }
  /* line 2961, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link:hover {
    background-color: rgba(58, 58, 78, 0.8) !important;
    color: rgba(255, 255, 255, 0.95) !important;
  }
  /* line 2966, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.15) 100%) !important;
    border-color: rgba(0, 212, 170, 0.4) !important;
    border-bottom: 2px solid #00d4aa !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  /* line 2974, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
    border-radius: 2px 2px 0 0;
    box-shadow: 0 0 8px rgba(0, 212, 170, 0.6);
  }
  /* line 2987, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    font-size: 0.85rem !important;
    margin-right: 6px !important;
    color: inherit !important;
  }
  /* line 2995, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link {
    flex-direction: column !important;
    height: auto !important;
    min-height: 52px !important;
    white-space: normal !important;
    gap: 0.3rem !important;
    padding: 10.5px 4.2px 9.45px !important;
  }
  /* line 3003, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 3008, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link .tab-label {
    display: block !important;
    visibility: visible !important;
    font-size: 0.46rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    opacity: 0.75;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: inherit !important;
  }
  /* line 3021, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link.active .tab-label {
    opacity: 1 !important;
    font-weight: 600 !important;
  }
  /* line 3031, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 3035, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex .btn {
    width: auto !important;
    min-height: 38px !important;
    font-size: 0.75rem !important;
    padding: 8px 12px !important;
  }
  /* line 3047, app/assets/stylesheets/dashboard.scss */
  .simulation-form ~ .text-end .btn-outline-secondary.btn-sm,
.dashboard-header .text-end .btn-outline-secondary.btn-sm {
    font-size: 0.75rem !important;
    padding: 0.4rem 0.7rem !important;
  }
  /* line 3051, app/assets/stylesheets/dashboard.scss */
  .simulation-form ~ .text-end .btn-outline-secondary.btn-sm i,
.dashboard-header .text-end .btn-outline-secondary.btn-sm i {
    font-size: 0.7rem !important;
    margin-right: 0.3rem !important;
  }
  /* line 3060, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* line 3069, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 3078, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 300px !important;
    overflow-y: auto !important;
  }
  /* line 3082, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item {
    padding: 0.75rem !important;
    font-size: 0.9rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 3094, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 3100, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 3105, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.6rem !important;
  }
  /* line 3109, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 3113, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.75rem !important;
    gap: 0.4rem !important;
  }
  /* line 3118, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.65rem !important;
  }
  /* line 3122, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.4rem 0 !important;
    gap: 0.5rem !important;
  }
  /* line 3127, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.7rem !important;
  }
  /* line 3131, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 3136, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text strong {
    font-size: 0.55rem !important;
    margin-bottom: 0.15rem !important;
    letter-spacing: 0.3px !important;
  }
  /* line 3142, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 3148, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.5rem;
    padding: 0.5rem !important;
  }
  /* line 3153, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.95rem !important;
  }
  /* line 3157, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 3161, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 3167, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 3174, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.1rem !important;
  }
  /* line 3178, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
    display: none !important;
  }
  /* line 3185, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.3rem !important;
  }
  /* line 3189, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .btn {
    width: auto !important;
    min-height: 32px !important;
    font-size: 0.7rem !important;
    padding: 5px 10px !important;
  }
  /* line 3197, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .refresh-btn {
    min-height: 32px !important;
    font-size: 0.7rem !important;
    padding: 5px 10px !important;
    height: auto !important;
  }
  /* line 3203, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .refresh-btn i {
    font-size: 0.65rem !important;
    margin-right: 0.3rem !important;
  }
  /* line 3210, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .dev-refresh-btn {
    min-height: 32px !important;
    font-size: 0.7rem !important;
    padding: 5px 10px !important;
    height: auto !important;
  }
  /* line 3216, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .dev-refresh-btn i {
    font-size: 0.65rem !important;
    margin-right: 0.3rem !important;
  }
  /* line 3230, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  /* line 3235, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.7rem;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    overflow: hidden !important;
  }
  /* line 3243, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th, .stocks-table tbody td {
    padding: 0.25rem 0.15rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  /* line 3248, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(1), .stocks-table tbody td:nth-child(1) {
    width: 13% !important;
    min-width: 0 !important;
  }
  /* line 3249, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(2), .stocks-table tbody td:nth-child(2) {
    width: 9% !important;
    min-width: 0 !important;
  }
  /* line 3250, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(3), .stocks-table tbody td:nth-child(3) {
    width: 12% !important;
    min-width: 0 !important;
  }
  /* line 3251, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(4), .stocks-table tbody td:nth-child(4) {
    width: 8% !important;
    min-width: 0 !important;
  }
  /* line 3252, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(5), .stocks-table tbody td:nth-child(5) {
    width: 3% !important;
    min-width: 0 !important;
  }
  /* line 3253, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6), .stocks-table tbody td:nth-child(6) {
    width: 5% !important;
    min-width: 0 !important;
  }
  /* line 3254, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7), .stocks-table tbody td:nth-child(7) {
    width: 5% !important;
    min-width: 0 !important;
  }
  /* line 3255, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8), .stocks-table tbody td:nth-child(8) {
    width: 6% !important;
    min-width: 0 !important;
  }
  /* line 3256, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(9), .stocks-table tbody td:nth-child(9) {
    width: 16% !important;
    min-width: 0 !important;
  }
  /* line 3257, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(10), .stocks-table tbody td:nth-child(10) {
    width: 11% !important;
    min-width: 0 !important;
  }
  /* line 3260, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.4rem 0.2rem !important;
    font-size: 0.55rem !important;
    white-space: nowrap;
    letter-spacing: -0.3px;
  }
  /* line 3267, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3272, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6)::before {
    content: "EST." !important;
    font-size: 0.55rem !important;
    line-height: 1.2 !important;
    display: block !important;
    text-align: center !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: inherit !important;
    font-weight: inherit !important;
  }
  /* line 3289, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3294, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7)::before {
    content: "J+7" !important;
    font-size: 0.55rem !important;
    line-height: 1.2 !important;
    display: block !important;
    text-align: center !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: inherit !important;
    font-weight: inherit !important;
  }
  /* line 3311, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.4rem 0.2rem !important;
    vertical-align: middle;
  }
  /* line 3317, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell {
    padding: 0.2rem !important;
    text-align: center !important;
  }
  /* line 3321, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.3rem 0.4rem !important;
    min-width: unset !important;
  }
  /* line 3325, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai i {
    font-size: 0.6rem !important;
  }
  /* line 3326, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3327, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }
  /* line 3332, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.15rem !important;
  }
  /* line 3335, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.2rem !important;
  }
  /* line 3338, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .symbol-tag {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 3344, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .asset-type-badge {
    font-size: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    line-height: 1 !important;
  }
  /* line 3359, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.55rem !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: block !important;
    text-align: center !important;
  }
  /* line 3369, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    border-radius: 50% !important;
    font-size: 0.4rem !important;
  }
  /* line 3377, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem !important;
  }
  /* line 3382, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-name-row {
    display: flex !important;
  }
  /* line 3385, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.45rem !important;
    max-width: 80px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  /* line 3395, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini {
    font-size: 0.4rem !important;
    padding: 0.08rem 0.2rem !important;
  }
  /* line 3399, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.08rem !important;
  }
  /* line 3400, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none !important;
  }
  /* line 3408, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .symbol-tag {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 3413, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .exchange-status {
    font-size: 0.4rem !important;
    padding: 0.05rem 0.1rem !important;
  }
  /* line 3419, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info small {
    font-size: 0.45rem !important;
    max-width: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
  }
  /* line 3428, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.35rem !important;
    padding: 0.08rem 0.15rem !important;
  }
  /* line 3435, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.1rem !important;
  }
  /* line 3438, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display .action-badge.main-signal, .stocks-table .signal-cell .signal-display .main-signal.forecast-badge {
    font-size: 0.5rem !important;
    padding: 0.2rem 0.35rem !important;
  }
  /* line 3443, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display .action-badge.mini, .stocks-table .signal-cell .signal-display .mini.forecast-badge {
    font-size: 0.4rem !important;
    padding: 0.08rem 0.2rem !important;
  }
  /* line 3450, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.08rem !important;
  }
  /* line 3453, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.5rem !important;
  }
  /* line 3454, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.45rem !important;
  }
  /* line 3455, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.4rem !important;
  }
  /* line 3456, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.35rem !important;
  }
  /* line 3461, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.55rem !important;
  }
  /* line 3462, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 3466, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols {
    gap: 0.1rem !important;
  }
  /* line 3469, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-shares-inline {
    font-size: 0.5rem !important;
    white-space: nowrap !important;
  }
  /* line 3473, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols {
    gap: 0.15rem !important;
  }
  /* line 3477, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.15rem !important;
  }
  /* line 3479, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .value-main {
    font-size: 0.42rem !important;
    white-space: nowrap !important;
  }
  /* line 3480, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .usd-sub {
    font-size: 0.32rem !important;
  }
  /* line 3482, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.15rem !important;
  }
  /* line 3484, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct {
    font-size: 0.42rem !important;
    white-space: nowrap !important;
  }
  /* line 3485, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val {
    font-size: 0.32rem !important;
  }
  /* line 3493, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.15rem !important;
  }
  /* line 3497, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    border-radius: 50% !important;
  }
  /* line 3504, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.4rem !important;
  }
  /* line 3509, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.15rem 0.25rem !important;
    font-size: 0.5rem !important;
  }
  /* line 3515, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.45rem !important;
  }
  /* line 3519, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3524, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .action-badge, .stocks-table .forecast-cell .forecast-badge, .stocks-table .medium-term-cell .action-badge, .stocks-table .medium-term-cell .forecast-badge {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.25rem !important;
  }
  /* line 3529, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast, .stocks-table .medium-term-cell .vertex-ai-forecast {
    padding: 0.15rem !important;
  }
  /* line 3532, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast .forecast-price-row, .stocks-table .medium-term-cell .vertex-ai-forecast .forecast-price-row {
    font-size: 0.55rem !important;
  }
  /* line 3536, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast .forecast-change-inline, .stocks-table .medium-term-cell .vertex-ai-forecast .forecast-change-inline {
    font-size: 0.45rem !important;
  }
  /* line 3543, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.4rem 0.2rem !important;
  }
  /* line 3550, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 3553, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.55rem !important;
  }
  /* line 3561, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn {
    font-size: 0.5rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  /* line 3565, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: inline !important;
    font-size: 0.45rem !important;
  }
  /* line 3570, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    font-size: 0.5rem !important;
    margin-right: 0.15rem !important;
  }
  /* line 3579, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.6rem !important;
  }
  /* line 3583, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.45rem !important;
  }
  /* line 3588, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.6rem !important;
  }
  /* line 3592, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell .price-main, .stocks-table .value-cell .price-main {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    white-space: nowrap !important;
  }
  /* line 3600, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell .price-live-dot, .stocks-table .value-cell .price-live-dot {
    display: inline-block !important;
    flex-shrink: 0 !important;
  }
  /* line 3609, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 3613, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .reasoning-text,
.ai-analysis-row .ai-analysis-card .metric-value.reasoning-text {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.65rem !important;
    line-height: 1.4 !important;
  }
  /* line 3623, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .card-rationale p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.7rem !important;
    line-height: 1.4 !important;
  }
  /* line 3632, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .complementary-content,
.ai-analysis-row .ai-analysis-card .complementary-content p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.65rem !important;
    line-height: 1.4 !important;
  }
  /* line 3644, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .event-item .event-icon-wrap {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    aspect-ratio: 1 / 1 !important;
  }
  /* line 3660, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.25rem !important;
  }
  /* line 3663, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.25rem !important;
  }
  /* line 3666, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 3670, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 3678, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 55px;
  }
  /* line 3688, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.75rem !important;
    width: 100% !important;
  }
  /* line 3692, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 0.25rem !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
    background-color: rgba(26, 26, 46, 0.8) !important;
    backdrop-filter: blur(10px);
    border-radius: 0.75rem 0.75rem 0 0;
    padding: 0.5rem 0.25rem 0 0.25rem !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }
  /* line 3705, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 0.1rem !important;
  }
  /* line 3712, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 7px 5px !important;
    font-size: 0.7rem !important;
    min-height: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
    border-radius: 0.5rem 0.5rem 0 0 !important;
    background-color: rgba(42, 42, 62, 0.6) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    border: none !important;
  }
  /* line 3731, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link:hover {
    background-color: rgba(58, 58, 78, 0.8) !important;
    color: rgba(255, 255, 255, 0.95) !important;
  }
  /* line 3736, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.15) 100%) !important;
    border-color: rgba(0, 212, 170, 0.4) !important;
    border-bottom: 2px solid #00d4aa !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  /* line 3744, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
    border-radius: 2px 2px 0 0;
    box-shadow: 0 0 8px rgba(0, 212, 170, 0.6);
  }
  /* line 3757, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    font-size: 0.75rem !important;
    margin-right: 4px !important;
    color: inherit !important;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 3771, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 3777, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
  }
  /* line 3782, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.85rem !important;
  }
  /* line 3786, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.75rem !important;
  }
  /* line 3790, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.9rem !important;
    gap: 0.5rem !important;
  }
  /* line 3795, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.8rem !important;
  }
  /* line 3799, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.6rem 0 !important;
    gap: 0.6rem !important;
  }
  /* line 3804, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.75rem !important;
  }
  /* line 3808, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 3813, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text strong {
    font-size: 0.55rem !important;
    margin-bottom: 0.15rem !important;
    letter-spacing: 0.3px !important;
  }
  /* line 3819, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 3825, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
  }
  /* line 3829, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1.1rem !important;
  }
  /* line 3833, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 3837, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 3843, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 3849, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
  }
  /* line 3855, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.25rem !important;
  }
  /* line 3859, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.8rem !important;
  }
  /* line 3865, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 3869, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .btn {
    width: auto !important;
    min-height: 40px !important;
    font-size: 0.8rem !important;
    padding: 8px 14px !important;
  }
  /* line 3877, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .refresh-btn {
    min-height: 40px !important;
    font-size: 0.8rem !important;
    padding: 8px 14px !important;
    height: auto !important;
  }
  /* line 3883, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .refresh-btn i {
    font-size: 0.75rem !important;
    margin-right: 0.4rem !important;
  }
  /* line 3890, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .dev-refresh-btn {
    min-height: 40px !important;
    font-size: 0.8rem !important;
    padding: 8px 14px !important;
    height: auto !important;
  }
  /* line 3896, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex .dev-refresh-btn i {
    font-size: 0.75rem !important;
    margin-right: 0.4rem !important;
  }
  /* line 3908, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.8rem;
  }
  /* line 3911, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.6rem 0.35rem !important;
    font-size: 0.7rem !important;
    white-space: nowrap;
  }
  /* line 3917, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(2), .stocks-table thead th:nth-child(3), .stocks-table thead th:nth-child(4) {
    max-width: 100px !important;
    min-width: 80px !important;
    padding: 0.6rem 0.2rem !important;
  }
  /* line 3924, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3929, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6)::before {
    content: "J+1" !important;
    font-size: 0.7rem !important;
    line-height: 1.2 !important;
    display: block !important;
    text-align: center !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: inherit !important;
    font-weight: inherit !important;
  }
  /* line 3946, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3951, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7)::before {
    content: "J+7" !important;
    font-size: 0.7rem !important;
    line-height: 1.2 !important;
    display: block !important;
    text-align: center !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: inherit !important;
    font-weight: inherit !important;
  }
  /* line 3968, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.3rem !important;
    vertical-align: middle;
  }
  /* line 3974, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.2rem !important;
  }
  /* line 3977, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.25rem !important;
  }
  /* line 3980, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .symbol-tag {
    font-size: 0.65rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  /* line 3985, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .stock-name-inline {
    font-size: 0.55rem !important;
    max-width: 85px !important;
  }
  /* line 3990, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    border-radius: 50% !important;
    font-size: 0.45rem !important;
  }
  /* line 3998, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem !important;
  }
  /* line 4003, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 4007, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem !important;
  }
  /* line 4008, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    font-size: 0.4rem !important;
  }
  /* line 4015, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.35rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 4019, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .symbol-tag {
    font-size: 0.65rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  /* line 4024, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .exchange-status {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    border-radius: 50% !important;
    font-size: 0.5rem !important;
  }
  /* line 4033, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container .btn-stock-chart {
    flex-shrink: 0 !important;
    min-width: 1rem !important;
    max-height: 1rem !important;
    max-width: 1rem !important;
    min-height: 1rem !important;
  }
  /* line 4042, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info small {
    font-size: 0.55rem !important;
    max-width: calc(28ch + 0.5rem) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    display: block !important;
  }
  /* line 4051, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 4058, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.15rem !important;
  }
  /* line 4061, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display .action-badge.main-signal, .stocks-table .signal-cell .signal-display .main-signal.forecast-badge {
    font-size: 0.6rem !important;
    padding: 0.25rem 0.45rem !important;
  }
  /* line 4066, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display .action-badge.mini, .stocks-table .signal-cell .signal-display .mini.forecast-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 4073, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.1rem !important;
  }
  /* line 4076, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.6rem !important;
  }
  /* line 4077, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 4078, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 4079, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 4084, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.65rem !important;
  }
  /* line 4085, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 4090, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-shares-inline {
    font-size: 0.6rem !important;
  }
  /* line 4094, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.3rem !important;
  }
  /* line 4096, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .value-main {
    font-size: 0.5rem !important;
  }
  /* line 4097, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .usd-sub {
    font-size: 0.4rem !important;
  }
  /* line 4099, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.3rem !important;
  }
  /* line 4101, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct {
    font-size: 0.5rem !important;
  }
  /* line 4102, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val {
    font-size: 0.4rem !important;
  }
  /* line 4109, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.2rem !important;
  }
  /* line 4113, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    border-radius: 50% !important;
  }
  /* line 4120, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.45rem !important;
  }
  /* line 4125, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.2rem 0.3rem !important;
    font-size: 0.55rem !important;
  }
  /* line 4131, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.5rem !important;
  }
  /* line 4135, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.45rem !important;
  }
  /* line 4139, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell, .stocks-table .medium-term-cell {
    max-width: 100px !important;
    padding: 0.4rem 0.2rem !important;
  }
  /* line 4143, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .action-badge, .stocks-table .forecast-cell .forecast-badge, .stocks-table .medium-term-cell .action-badge, .stocks-table .medium-term-cell .forecast-badge {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.25rem !important;
  }
  /* line 4148, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast, .stocks-table .medium-term-cell .vertex-ai-forecast {
    padding: 0.15rem !important;
  }
  /* line 4151, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast .forecast-price-row, .stocks-table .medium-term-cell .vertex-ai-forecast .forecast-price-row {
    font-size: 0.55rem !important;
  }
  /* line 4155, app/assets/stylesheets/dashboard.scss */
  .stocks-table .forecast-cell .vertex-ai-forecast .forecast-change-inline, .stocks-table .medium-term-cell .vertex-ai-forecast .forecast-change-inline {
    font-size: 0.45rem !important;
  }
  /* line 4166, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.2rem !important;
  }
  /* line 4169, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.7rem !important;
  }
  /* line 4177, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn {
    font-size: 0.6rem !important;
    padding: 0.3rem 0.5rem !important;
  }
  /* line 4181, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: inline;
    font-size: 0.55rem !important;
  }
  /* line 4186, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    font-size: 0.6rem !important;
  }
  /* line 4194, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.75rem !important;
  }
  /* line 4198, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.55rem !important;
  }
  /* line 4203, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.75rem !important;
  }
  /* line 4210, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 4215, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
    max-height: none !important;
  }
  /* line 4221, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .reasoning-text,
.ai-analysis-row .ai-analysis-card .metric-value.reasoning-text {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.65rem !important;
    line-height: 1.4 !important;
  }
  /* line 4231, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .card-rationale p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.7rem !important;
    line-height: 1.4 !important;
  }
  /* line 4240, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .complementary-content,
.ai-analysis-row .ai-analysis-card .complementary-content p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    font-size: 0.65rem !important;
    line-height: 1.4 !important;
  }
  /* line 4250, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.25rem !important;
    margin: 0.5rem 0 !important;
    padding: 0.4rem !important;
  }
  /* line 4255, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.25rem 0.2rem !important;
    min-height: 35px !important;
  }
  /* line 4259, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
    margin-bottom: 0.15rem !important;
    letter-spacing: 0.3px !important;
  }
  /* line 4265, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 4273, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 4283, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1.25rem !important;
    width: 100% !important;
  }
  /* line 4287, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 0 !important;
  }
  /* line 4294, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  /* line 4300, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 12px 14px !important;
    font-size: 0.85rem !important;
    min-height: 46px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
  }
  /* line 4311, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    font-size: 0.9rem !important;
    margin-right: 8px !important;
  }
  /* line 4320, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 4328, app/assets/stylesheets/dashboard.scss */
  .simulation-form ~ .text-end .btn-outline-secondary.btn-sm,
.dashboard-header .text-end .btn-outline-secondary.btn-sm {
    font-size: 0.8rem !important;
    padding: 0.45rem 0.8rem !important;
  }
  /* line 4332, app/assets/stylesheets/dashboard.scss */
  .simulation-form ~ .text-end .btn-outline-secondary.btn-sm i,
.dashboard-header .text-end .btn-outline-secondary.btn-sm i {
    font-size: 0.75rem !important;
    margin-right: 0.35rem !important;
  }
  /* line 4341, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* line 4350, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.8rem !important;
    margin: 0 !important;
  }
  /* line 4359, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 350px !important;
    overflow-y: auto !important;
  }
  /* line 4363, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item {
    padding: 0.85rem !important;
    font-size: 0.95rem !important;
  }
}

@media (min-width: 1280px) {
  /* line 4378, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
    padding: 0.7rem 0.5rem;
    min-height: 115px;
    max-height: 135px;
  }
  /* line 4385, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    gap: 2rem;
  }
  /* line 4389, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 1rem;
  }
  /* line 4392, app/assets/stylesheets/dashboard.scss */
  .stocks-table th, .stocks-table td {
    padding: 1rem 0.75rem;
  }
  /* line 4397, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 100px;
  }
  /* line 4403, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 12px 20px !important;
    font-size: 0.9rem !important;
    min-height: 48px;
  }
}

/* line 4413, app/assets/stylesheets/dashboard.scss */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

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

/* line 4431, app/assets/stylesheets/dashboard.scss */
.summary-card,
.stocks-table,
.empty-state {
  animation: fadeIn 0.6s ease-out;
}

/* line 4438, app/assets/stylesheets/dashboard.scss */
.alert {
  border-radius: 8px;
  border: none;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}

/* line 4443, app/assets/stylesheets/dashboard.scss */
.alert.alert-success {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border-left: 4px solid #00d4aa;
}

/* line 4449, app/assets/stylesheets/dashboard.scss */
.alert.alert-danger {
  background: rgba(255, 107, 107, 0.1);
  color: #ff6b6b;
  border-left: 4px solid #ff6b6b;
}

/* line 4457, app/assets/stylesheets/dashboard.scss */
.notification-badge {
  position: absolute;
  top: -4px;
  right: -8px;
  background: #ff6b6b;
  color: #ffffff;
  border-radius: 10px;
  min-width: 18px;
  height: 18px;
  font-size: 0.7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  line-height: 1;
  box-shadow: 0 2px 4px rgba(255, 107, 107, 0.3);
  animation: pulse-notification 2s infinite;
  z-index: 10;
}

@keyframes pulse-notification {
  0%, 100% {
    box-shadow: 0 2px 4px rgba(255, 107, 107, 0.3);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 4px 8px rgba(255, 107, 107, 0.5);
    transform: scale(1.05);
  }
}

/* line 4490, app/assets/stylesheets/dashboard.scss */
.shares-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* line 4497, app/assets/stylesheets/dashboard.scss */
.shares-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 4506, app/assets/stylesheets/dashboard.scss */
.shares-display small {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 0.25rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 4516, app/assets/stylesheets/dashboard.scss */
.refresh-btn {
  position: relative;
  transition: all 0.3s ease;
}

/* line 4520, app/assets/stylesheets/dashboard.scss */
.refresh-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 4525, app/assets/stylesheets/dashboard.scss */
.refresh-btn:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3);
}

/* line 4533, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 4544, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator.fresh {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

/* line 4550, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator.stale {
  background: rgba(255, 167, 38, 0.1);
  color: #ffa726;
  border: 1px solid rgba(255, 167, 38, 0.3);
}

/* line 4556, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator i {
  font-size: 0.75rem;
}

/* line 4563, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs {
  margin-bottom: 2rem;
}

/* line 4566, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs {
  border-bottom: none !important;
  margin-bottom: 0;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0;
  padding: 0.75rem 1rem 0 1rem;
  box-shadow: none !important;
  border: none !important;
  position: relative;
  overflow: visible;
}

/* line 4579, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs::before {
  display: none;
}

/* line 4583, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item {
  margin: 0 0.5rem 0 0;
}

/* line 4586, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item:last-child {
  margin-right: 0;
}

/* line 4590, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link {
  border: none !important;
  color: rgba(255, 255, 255, 0.6) !important;
  background: rgba(35, 35, 55, 0.5) !important;
  margin-right: 0;
  padding: 14px 24px !important;
  font-weight: 500;
  font-size: 0.95rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* line 4612, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.08) 0%, rgba(0, 168, 255, 0.06) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* line 4624, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link:hover {
  background: rgba(50, 50, 70, 0.7) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* line 4631, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link:hover::before {
  opacity: 1;
}

/* line 4636, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.18) 0%, rgba(0, 168, 255, 0.14) 100%) !important;
  border-color: rgba(0, 212, 170, 0.35) !important;
  font-weight: 600;
  box-shadow: 0 6px 20px rgba(0, 212, 170, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 0 rgba(0, 212, 170, 0.2);
  transform: translateY(-2px);
}

/* line 4647, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link.active::before {
  opacity: 1;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.12) 0%, rgba(0, 168, 255, 0.1) 100%);
}

/* line 4652, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 3px 3px 0 0;
  box-shadow: 0 0 16px rgba(0, 212, 170, 0.8), 0 0 32px rgba(0, 212, 170, 0.4);
  animation: tab-glow 2s ease-in-out infinite;
}

/* line 4668, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link i {
  margin-right: 5px;
  font-size: 1.05em;
  color: inherit !important;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

/* line 4676, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link .tab-text-mobile {
  display: none;
}

/* line 4680, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link.active i {
  filter: drop-shadow(0 0 6px rgba(0, 212, 170, 0.6));
}

@keyframes tab-glow {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 16px rgba(0, 212, 170, 0.8), 0 0 32px rgba(0, 212, 170, 0.4);
  }
  50% {
    opacity: 0.85;
    box-shadow: 0 0 20px rgba(0, 212, 170, 0.9), 0 0 40px rgba(0, 212, 170, 0.5);
  }
}

/* line 4704, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs.nav-tabs {
  display: flex !important;
  width: 100%;
}

/* line 4708, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs.nav-tabs > .nav-item {
  flex: 1 !important;
  margin: 0 !important;
}

/* line 4712, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs.nav-tabs > .nav-item > .nav-link {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.3rem !important;
  padding: 10.5px 4.2px 9.45px !important;
  width: 100% !important;
  text-align: center !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: unset !important;
}

/* line 4724, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs.nav-tabs > .nav-item > .nav-link i {
  margin: 0 !important;
  font-size: 1.05rem !important;
  flex-shrink: 0 !important;
}

/* line 4734, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs .nav-link .tab-label {
  display: block !important;
  visibility: visible !important;
  opacity: 0.75;
  font-size: 0.46rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  color: inherit !important;
  pointer-events: none;
}

/* line 4748, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs .nav-link.active .tab-label {
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* line 4754, app/assets/stylesheets/dashboard.scss */
#dashboardTabContent .tab-pane.fade:not(.show) {
  display: none !important;
}

/* line 4758, app/assets/stylesheets/dashboard.scss */
#dashboardTabContent .tab-pane.fade.show {
  display: block !important;
}

/* line 4763, app/assets/stylesheets/dashboard.scss */
#dashboardTabContent .tab-pane {
  animation: fadeIn 0.3s ease-in-out;
}

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

/* line 4781, app/assets/stylesheets/dashboard.scss */
.modal-backdrop {
  z-index: 1040 !important;
  background-color: rgba(0, 0, 0, 0.8) !important;
}

/* line 4786, app/assets/stylesheets/dashboard.scss */
.modal {
  z-index: 1060 !important;
}

/* line 4789, app/assets/stylesheets/dashboard.scss */
.modal.show {
  z-index: 1060 !important;
}

/* line 4795, app/assets/stylesheets/dashboard.scss */
#stockTransactionModal {
  z-index: 1070 !important;
}

/* line 4798, app/assets/stylesheets/dashboard.scss */
#stockTransactionModal .modal-dialog {
  z-index: 1071 !important;
}

/* line 4802, app/assets/stylesheets/dashboard.scss */
#stockTransactionModal .modal-content {
  z-index: 1072 !important;
}

/* line 4809, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog {
  z-index: 1056 !important;
}

/* line 4812, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content {
  background: rgba(15, 20, 40, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
  color: #ffffff !important;
}

/* line 4819, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header {
  background: linear-gradient(135deg, #1a1f3a 0%, #2d3748 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px 16px 0 0 !important;
}

/* line 4824, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header .modal-title {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* line 4828, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header .modal-title i {
  color: #ffa726 !important;
  margin-right: 0.5rem;
}

/* line 4834, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header .btn-close {
  filter: invert(1) !important;
}

/* line 4839, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-body {
  background: rgba(15, 20, 40, 0.85) !important;
  color: #ffffff !important;
  padding: 1.5rem !important;
}

/* line 4844, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-body p {
  color: #ffffff !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* line 4852, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer {
  background: linear-gradient(135deg, #1a1f3a 0%, #2d3748 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 0 16px 16px !important;
  padding: 1rem 1.5rem !important;
}

/* line 4858, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer .btn {
  border-radius: 8px !important;
  font-weight: 500 !important;
  padding: 0.5rem 1rem !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* line 4864, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer .btn.btn-secondary {
  background: rgba(160, 174, 192, 0.1) !important;
  border: 1px solid rgba(160, 174, 192, 0.3) !important;
  color: #94a3b8 !important;
}

/* line 4869, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer .btn.btn-secondary:hover {
  background: rgba(160, 174, 192, 0.2) !important;
  border-color: rgba(160, 174, 192, 0.5) !important;
  color: #ffffff !important;
}

/* line 4876, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer .btn.btn-primary {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%) !important;
  border: none !important;
  color: white !important;
}

/* line 4881, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer .btn.btn-primary:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 20px 50px rgba(0, 212, 170, 0.15) !important;
}

/* line 4893, app/assets/stylesheets/dashboard.scss */
.tldr-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 4897, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 2px solid;
}

/* line 4907, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.buy {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border-color: #00d4aa;
}

/* line 4913, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.sell {
  background: rgba(255, 107, 107, 0.1);
  color: #ff6b6b;
  border-color: #ff6b6b;
}

/* line 4919, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.hold {
  background: rgba(255, 167, 38, 0.1);
  color: #ffa726;
  border-color: #ffa726;
}

/* line 4925, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.wait {
  background: rgba(108, 117, 125, 0.1);
  color: #6c757d;
  border-color: #6c757d;
}

/* line 4936, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn-check:checked + .btn {
  background: linear-gradient(135deg, #00d4aa, #00d4aa);
  border-color: #00d4aa;
  color: white;
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3);
}

/* line 4943, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn {
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  padding: 0.5rem 1rem;
  transition: all 0.3s ease;
}

/* line 4951, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn:hover {
  border-color: #00d4aa;
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.1);
}

/* line 4957, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn i {
  margin-right: 0.5rem;
}

/* line 4966, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-title {
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 4975, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-title i {
  color: #00d4aa;
  font-size: 1.2rem;
}

/* line 4981, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table {
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  color: #ffffff;
}

/* line 4990, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table thead {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

/* line 4993, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table thead th {
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  border: none;
  padding: 1rem 0.75rem;
  text-align: center;
}

/* line 5006, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: all 0.3s ease;
}

/* line 5010, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 5014, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody tr:last-child {
  border-bottom: none;
}

/* line 5019, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td {
  border: none;
  padding: 1rem 0.75rem;
  vertical-align: middle;
  color: #ffffff;
  text-align: center;
}

/* line 5026, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.price-cell, .forecast-recommendations .forecast-table tbody td.growth-cell {
  font-weight: 600;
  font-size: 1.1rem;
}

/* line 5030, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.price-cell.positive, .forecast-recommendations .forecast-table tbody td.growth-cell.positive {
  color: #00d4aa;
}

/* line 5034, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.price-cell.negative, .forecast-recommendations .forecast-table tbody td.growth-cell.negative {
  color: #ff6b6b;
}

/* line 5039, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.reason-cell {
  text-align: left;
  max-width: 200px;
}

/* line 5043, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.reason-cell .reason-text {
  font-size: 0.85rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
  cursor: help;
}

/* line 5049, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.reason-cell .reason-text:hover {
  color: #ffffff;
}

/* line 5059, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .timeframe-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 5074, app/assets/stylesheets/dashboard.scss */
.watch-lists-container {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

/* line 5078, app/assets/stylesheets/dashboard.scss */
.watch-lists-container .row {
  margin: 0 !important;
}

/* line 5082, app/assets/stylesheets/dashboard.scss */
.watch-lists-container .col-lg-6 {
  padding: 0 0.75rem !important;
}

/* line 5088, app/assets/stylesheets/dashboard.scss */
.watch-list-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* line 5092, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* line 5101, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4aa, #00a8ff);
  border-radius: 12px 12px 0 0;
}

/* line 5112, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-header {
  margin-bottom: 1.5rem !important;
}

/* line 5115, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-header .watch-title {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

/* line 5124, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-header .watch-title i {
  color: #00d4aa !important;
  font-size: 1.1rem !important;
}

/* line 5132, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 1rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  transition: all 0.3s ease !important;
}

/* line 5140, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0.5rem !important;
}

/* line 5145, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item:hover {
  background: rgba(255, 255, 255, 0.03) !important;
  border-radius: 8px !important;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

/* line 5152, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item .watch-icon {
  font-size: 1.2rem !important;
  flex-shrink: 0 !important;
  margin-top: 0.1rem !important;
}

/* line 5158, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item .watch-text {
  flex: 1 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.6 !important;
  font-size: 0.95rem !important;
}

/* line 5164, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item .watch-text strong {
  color: #00d4aa !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 0.25rem !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* line 5174, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item .watch-text span {
  color: rgba(255, 255, 255, 0.8) !important;
  display: block !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}

/* line 5188, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1) 0%, rgba(0, 212, 170, 0.05) 100%);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 12px;
  color: #ffffff;
  padding: 1.5rem;
}

/* line 5195, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert i {
  color: #00d4aa;
  margin-right: 0.5rem;
}

/* line 5200, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert strong {
  color: #ffffff;
  font-weight: 600;
}

/* line 5205, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert p {
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  line-height: 1.5;
}

/* line 5214, app/assets/stylesheets/dashboard.scss */
.portfolio-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 5221, app/assets/stylesheets/dashboard.scss */
.portfolio-card {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

/* line 5228, app/assets/stylesheets/dashboard.scss */
.portfolio-card:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 5233, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  margin-bottom: 1.5rem;
}

/* line 5239, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-stock-info {
  flex-shrink: 0;
  min-width: 200px;
}

/* line 5244, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-stock-info .stock-info strong {
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  display: block;
  margin-bottom: 0.5rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  letter-spacing: 0.5px;
}

/* line 5254, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-stock-info .stock-info small {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.95rem;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.25rem 0.75rem;
  border-radius: 6px;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* line 5267, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  flex: 1;
}

/* line 5273, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 5278, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 5286, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value {
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 5291, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value.positive {
  color: #00d4aa;
}

/* line 5295, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value.negative {
  color: #ff6b6b;
}

/* line 5299, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value .estimated-value {
  font-size: 0.9rem;
  font-weight: 500;
  margin-top: 0.25rem;
}

/* line 5306, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .forecast-badges {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 5311, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .forecast-badges .action-badge, .portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .forecast-badges .forecast-badge {
  font-size: 0.7rem;
  padding: 0.3rem 0.6rem;
}

/* line 5320, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-ai-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 5325, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-ai-section .ai-analysis-toggle {
  margin-bottom: 1rem;
}

/* line 5337, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}

/* line 5346, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-title-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.4rem;
}

/* line 5353, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-ai-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2), rgba(0, 184, 212, 0.2));
  border: 1px solid rgba(0, 212, 170, 0.35);
  color: #00d4aa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  padding: 3px 8px;
  border-radius: 6px;
  text-transform: uppercase;
}

/* line 5366, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-ai-badge i {
  font-size: 9px;
}

/* line 5369, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  margin: 0;
  letter-spacing: -0.02em;
}

/* line 5377, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-subtitle {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.88rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 5387, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-freshness {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
}

/* line 5395, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-live-dot {
  width: 6px;
  height: 6px;
  background: #00d4aa;
  border-radius: 50%;
  display: inline-block;
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(0.7);
  }
}

/* line 5409, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 5416, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 20px;
  background: linear-gradient(135deg, #00d4aa 0%, #00b8d4 100%);
  color: #000;
  font-weight: 700;
  font-size: 0.88rem;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 18px rgba(0, 212, 170, 0.3);
  white-space: nowrap;
}

/* line 5431, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate i {
  font-size: 13px;
}

/* line 5432, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0, 212, 170, 0.45);
}

/* line 5436, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate.btn-opp-disabled {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.4);
  box-shadow: none;
  cursor: not-allowed;
}

/* line 5441, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate.btn-opp-disabled:hover {
  transform: none;
}

/* line 5445, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-configure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.88rem;
  font-weight: 600;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 5459, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-configure:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.25);
}

/* line 5467, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-disclaimer {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 193, 7, 0.07);
  border: 1px solid rgba(255, 193, 7, 0.18);
  border-radius: 8px;
  padding: 8px 14px;
  margin-bottom: 1.25rem;
}

/* line 5476, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-disclaimer i {
  color: rgba(255, 193, 7, 0.7);
  font-size: 11px;
  flex-shrink: 0;
}

/* line 5477, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-disclaimer span {
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.78rem;
  line-height: 1.4;
}

/* line 5481, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filters {
  margin-bottom: 1rem;
  position: relative;
}

/* line 5486, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

/* line 5499, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-filter-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

/* line 5504, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-filter-toggle .opp-filter-arrow {
  font-size: 0.6rem;
  transition: transform 0.2s;
}

/* line 5510, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-count {
  background: var(--accent, #6366f1);
  color: white;
  font-size: 0.65rem;
  padding: 0.1rem 0.4rem;
  border-radius: 10px;
  font-weight: 600;
}

/* line 5519, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.4rem;
  background: rgba(20, 25, 50, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 0.75rem;
  min-width: 220px;
  z-index: 100;
  backdrop-filter: blur(10px);
}

/* line 5534, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-group:not(:last-child) {
  margin-bottom: 0.6rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 5541, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-group-title {
  display: block;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.4rem;
  font-weight: 600;
}

/* line 5551, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-checkbox {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.3rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.75);
  transition: background 0.1s;
}

/* line 5562, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-checkbox:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* line 5566, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-checkbox input[type="checkbox"] {
  accent-color: var(--accent, #6366f1);
  width: 14px;
  height: 14px;
}

/* line 5574, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunities-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

/* line 5581, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
}

/* line 5589, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 5596, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-buy {
  border-left: 3px solid #00d4aa;
}

/* line 5597, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-sell {
  border-left: 3px solid #ff6b6b;
}

/* line 5598, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-hold {
  border-left: 3px solid #ffc107;
}

/* line 5602, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 14px 16px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 5610, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rec-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  flex-shrink: 0;
}

/* line 5622, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rec-badge.opp-rec-buy {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
  box-shadow: 0 0 12px rgba(0, 212, 170, 0.15);
}

/* line 5628, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rec-badge.opp-rec-sell {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
  border: 1px solid rgba(255, 107, 107, 0.3);
  box-shadow: 0 0 12px rgba(255, 107, 107, 0.15);
}

/* line 5634, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rec-badge.opp-rec-hold {
  background: rgba(255, 193, 7, 0.12);
  color: #ffc107;
  border: 1px solid rgba(255, 193, 7, 0.25);
}

/* line 5641, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero {
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  flex: 1;
}

/* line 5646, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero.positive {
  color: #00d4aa;
  text-shadow: 0 0 20px rgba(0, 212, 170, 0.4);
}

/* line 5647, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero.negative {
  color: #ff6b6b;
  text-shadow: 0 0 20px rgba(255, 107, 107, 0.3);
}

/* line 5650, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-index {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.2);
  letter-spacing: 0.5px;
}

/* line 5658, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  flex-wrap: wrap;
}

/* line 5668, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-symbol-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 5674, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-symbol {
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.5px;
}

/* line 5681, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-name {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

/* line 5691, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* line 5698, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

/* line 5708, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag i {
  font-size: 9px;
  opacity: 0.7;
}

/* line 5710, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-sector {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 5715, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-location {
  background: rgba(0, 184, 212, 0.1);
  color: #00b8d4;
  border: 1px solid rgba(0, 184, 212, 0.2);
}

/* line 5721, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis {
  background: rgba(139, 92, 246, 0.15);
  color: #a78bfa;
  border: 1px solid rgba(139, 92, 246, 0.35);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
  box-shadow: 0 0 8px rgba(139, 92, 246, 0.3), 0 0 16px rgba(139, 92, 246, 0.15);
  animation: analyse-glow 2.5s ease-in-out infinite;
  padding: 5px 14px 5px 10px;
  position: relative;
}

/* line 5732, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis i {
  opacity: 1;
}

/* line 5734, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis .opp-tag-analysis-arrow {
  font-size: 7px;
  position: absolute;
  top: 2px;
  right: 3px;
  opacity: 0.8;
}

/* line 5736, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis:hover {
  background: rgba(139, 92, 246, 0.3);
  border-color: rgba(139, 92, 246, 0.6);
  box-shadow: 0 0 12px rgba(139, 92, 246, 0.5), 0 0 24px rgba(139, 92, 246, 0.25);
  color: #c4b5fd;
  animation: none;
}

@keyframes analyse-glow {
  0%, 100% {
    box-shadow: 0 0 8px rgba(139, 92, 246, 0.3), 0 0 16px rgba(139, 92, 246, 0.15);
  }
  50% {
    box-shadow: 0 0 12px rgba(139, 92, 246, 0.5), 0 0 24px rgba(139, 92, 246, 0.25);
  }
}

/* line 5756, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metrics-row {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  flex-wrap: wrap;
}

/* line 5765, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 60px;
}

/* line 5773, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 700;
}

/* line 5781, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-value {
  font-size: 0.95rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
}

/* line 5785, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-value.opp-target {
  color: #00d4aa;
}

/* line 5788, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-arrow {
  flex: 0 0 auto;
  padding: 0 10px;
  color: rgba(255, 255, 255, 0.2);
  font-size: 12px;
  flex-direction: row;
  align-items: center;
  padding-top: 14px;
}

/* line 5798, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-divider {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.07);
  margin: 0 14px;
  flex: 0 0 auto;
}

/* line 5806, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-confidence {
  flex: 0 0 auto;
}

/* line 5811, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring-wrap {
  position: relative;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 5820, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 46px;
  height: 46px;
  transform: rotate(-90deg);
}

/* line 5826, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.07);
  stroke-width: 3;
}

/* line 5832, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dashoffset: 0;
  transition: stroke-dasharray 0.6s ease;
}

/* line 5839, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-low {
  stroke: #ff6b6b;
}

/* line 5840, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-medium {
  stroke: #ffc107;
}

/* line 5841, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-high {
  stroke: #00d4aa;
}

/* line 5842, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-very-high {
  stroke: #00d4aa;
  filter: drop-shadow(0 0 4px rgba(0, 212, 170, 0.6));
}

/* line 5846, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-score {
  position: relative;
  z-index: 2;
  font-size: 0.82rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}

/* line 5853, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-score small {
  font-size: 0.55rem;
  color: rgba(255, 255, 255, 0.35);
  font-weight: 600;
}

/* line 5857, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale {
  padding: 12px 16px 14px;
}

/* line 5861, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

/* line 5866, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale-header i {
  color: #00d4aa;
  font-size: 11px;
}

/* line 5867, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale-header span {
  font-size: 0.7rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

/* line 5876, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale-text {
  margin: 0;
  font-size: 0.83rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.65);
}

/* line 5884, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 5889, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state .opp-empty-icon {
  width: 72px;
  height: 72px;
  background: rgba(0, 212, 170, 0.08);
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}

/* line 5899, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state .opp-empty-icon i {
  font-size: 1.8rem;
  color: #00d4aa;
}

/* line 5902, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state h3 {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}

/* line 5903, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state p {
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

/* line 5907, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  flex-shrink: 0;
}

/* line 5915, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

/* line 5928, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-add-btn {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.25);
}

/* line 5932, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-add-btn:hover {
  background: rgba(0, 212, 170, 0.25);
  transform: scale(1.1);
  box-shadow: 0 0 12px rgba(0, 212, 170, 0.3);
}

/* line 5939, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-dismiss-btn {
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 5943, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-dismiss-btn:hover {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
  border-color: rgba(255, 107, 107, 0.3);
  transform: scale(1.1);
}

/* line 5951, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-undismiss-btn {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
  border: 1px solid rgba(255, 193, 7, 0.2);
}

/* line 5955, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-undismiss-btn:hover {
  background: rgba(255, 193, 7, 0.2);
  transform: scale(1.1);
}

/* line 5962, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-done {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
}

/* line 5977, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-track-record {
  display: flex;
  align-items: center;
  gap: 0;
  background: rgba(0, 212, 170, 0.04);
  border: 1px solid rgba(0, 212, 170, 0.12);
  border-radius: 12px;
  padding: 12px 20px;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  gap: 12px;
}

/* line 5990, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 60px;
}

/* line 5998, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value {
  font-size: 1.1rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.9);
}

/* line 6001, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value.positive {
  color: #00d4aa;
}

/* line 6002, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value.negative {
  color: #ff6b6b;
}

/* line 6006, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 700;
}

/* line 6014, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-divider {
  width: 1px;
  height: 28px;
  background: rgba(255, 255, 255, 0.07);
  flex-shrink: 0;
}

/* line 6021, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-badge {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.2);
  color: #00d4aa;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.5px;
}

/* line 6034, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-badge i {
  font-size: 10px;
}

/* line 6038, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section {
  margin-top: 1.5rem;
}

/* line 6041, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section[open] .opp-chevron {
  transform: rotate(180deg);
}

/* line 6043, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section summary {
  list-style: none;
}

/* line 6043, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section summary::-webkit-details-marker {
  display: none;
}

/* line 6046, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.82rem;
  font-weight: 600;
  user-select: none;
  transition: background 0.2s;
}

/* line 6060, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-toggle:hover {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.6);
}

/* line 6061, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-toggle i:first-child {
  font-size: 11px;
}

/* line 6064, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-count {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1px 7px;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
}

/* line 6073, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-chevron {
  margin-left: auto;
  transition: transform 0.2s ease;
  font-size: 10px;
}

/* line 6079, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-grid {
  margin-top: 0.75rem;
}

/* line 6083, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-dismissed {
  opacity: 0.5;
  filter: grayscale(40%);
}

/* line 6086, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-dismissed:hover {
  opacity: 0.75;
  filter: none;
}

@media (max-width: 1200px) {
  /* line 6093, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.3rem;
  }
  /* line 6094, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-symbol {
    font-size: 1.1rem;
  }
}

@media (max-width: 1024px) {
  /* line 6099, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunities-grid {
    grid-template-columns: 1fr;
  }
  /* line 6100, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-title {
    font-size: 1.3rem;
  }
  /* line 6101, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.35rem;
  }
  /* line 6102, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-name {
    max-width: 220px;
  }
}

@media (max-width: 640px) {
  /* line 6107, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 6108, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header-actions {
    justify-content: stretch;
  }
  /* line 6109, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-generate {
    flex: 1;
    justify-content: center;
  }
  /* line 6110, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-configure {
    justify-content: center;
  }
  /* line 6111, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-top {
    padding: 11px 13px 9px;
  }
  /* line 6112, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.25rem;
  }
  /* line 6113, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-identity {
    padding: 10px 13px;
  }
  /* line 6114, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-tags {
    justify-content: flex-start;
  }
  /* line 6115, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metrics-row {
    padding: 10px 13px;
  }
  /* line 6116, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-rationale {
    padding: 10px 13px 13px;
  }
  /* line 6117, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-divider {
    margin: 0 10px;
  }
  /* line 6118, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-name {
    max-width: 140px;
  }
}

@media (max-width: 400px) {
  /* line 6123, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-value {
    font-size: 0.85rem;
  }
  /* line 6124, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-symbol {
    font-size: 1rem;
  }
  /* line 6125, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.1rem;
  }
  /* line 6126, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring-wrap {
    width: 40px;
    height: 40px;
  }
  /* line 6127, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring {
    width: 40px;
    height: 40px;
  }
  /* line 6128, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-score {
    font-size: 0.72rem;
  }
}

/* line 6134, app/assets/stylesheets/dashboard.scss */
.custom-tooltip .tooltip-inner {
  background: linear-gradient(135deg, #1a1f3a 0%, #2d3748 100%);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  font-size: 0.85rem;
  line-height: 1.4;
  max-width: 300px;
  padding: 0.75rem 1rem;
  text-align: left;
}

/* line 6148, app/assets/stylesheets/dashboard.scss */
.custom-tooltip .tooltip-arrow::before {
  border-top-color: #2d3748;
}

/* line 6155, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn {
  background: transparent !important;
  border: 2px solid #ffc107 !important;
  color: #ffc107 !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

/* line 6162, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn:hover {
  background: #ffc107 !important;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);
}

/* line 6169, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

/* line 6173, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn:active {
  background: #ffb300 !important;
  color: #000 !important;
}

/* line 6180, app/assets/stylesheets/dashboard.scss */
.add-stock-placeholder-row td {
  padding: 8px !important;
  border-top: 1px dashed rgba(25, 205, 165, 0.25) !important;
  background: transparent !important;
}

/* line 6186, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem 1rem;
  background: transparent;
  border: none;
  color: rgba(25, 205, 165, 0.55);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
  border-radius: 0;
}

/* line 6203, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn:hover {
  color: #19cda5;
  background: rgba(25, 205, 165, 0.06);
}

/* line 6208, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn[aria-expanded="true"] {
  color: #19cda5;
  background: rgba(25, 205, 165, 0.06);
}

/* line 6213, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn i {
  font-size: 0.95rem;
}

/* line 6219, app/assets/stylesheets/dashboard.scss */
.add-stock-mobile-placeholder {
  margin-top: 0.5rem;
  border: 1px dashed rgba(25, 205, 165, 0.25);
  border-radius: 12px;
  overflow: hidden;
}

/* line 6225, app/assets/stylesheets/dashboard.scss */
.add-stock-mobile-placeholder .add-stock-table-btn {
  border-radius: 0;
  font-size: 0.9rem;
  padding: 0.85rem 1rem;
}

/* line 6233, app/assets/stylesheets/dashboard.scss */
.empty-state-add-stock {
  width: 100%;
  max-width: 560px;
  margin: 1.25rem auto 0;
  text-align: left;
}

/* line 6239, app/assets/stylesheets/dashboard.scss */
.empty-state-add-stock #dashboard-add-stock-panel {
  border-radius: 12px;
  border-top: 1px solid rgba(25, 205, 165, 0.2);
}

/* line 6246, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-collapse {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

/* line 6251, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel {
  background: rgba(25, 205, 165, 0.04);
  border: 1px solid rgba(25, 205, 165, 0.2);
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 1.25rem 1.5rem;
}

/* line 6259, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form .fw-semibold {
  color: #19cda5;
}

/* line 6263, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form .form-control {
  background: var(--input-bg, #16212e);
  border-color: rgba(255, 255, 255, 0.15);
  color: var(--text-primary, #e2e8f0);
}

/* line 6268, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form .form-control:focus {
  border-color: #19cda5;
  box-shadow: 0 0 0 0.2rem rgba(25, 205, 165, 0.2);
}

/* line 6276, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="button"] {
  display: none !important;
}

/* line 6280, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form .flex-grow-1.position-relative {
  flex: 1 1 100%;
  position: relative;
}

/* line 6285, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] {
  position: relative !important;
  z-index: 100002;
  width: 100%;
  margin-top: 0.5rem;
  background: #131e2b;
  border: 1px solid rgba(25, 205, 165, 0.18);
  border-radius: 10px;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

/* line 6297, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .list-group-item {
  background-color: #131e2b !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  color: #e2e8f0 !important;
  padding: 0.75rem 1rem;
  transition: background 0.15s ease;
}

/* line 6304, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .list-group-item:hover, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .list-group-item:focus {
  background-color: rgba(25, 205, 165, 0.08) !important;
}

/* line 6308, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .list-group-item:first-child {
  border-top: none !important;
}

/* line 6312, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-result-item.stock-result-external, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-result-item.stock-result-internal, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-result-item.stock-result-crypto {
  color: #e2e8f0;
}

/* line 6317, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-name, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] strong {
  color: #e2e8f0 !important;
}

/* line 6321, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-symbol {
  color: rgba(255, 255, 255, 0.6) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

/* line 6326, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-exchange, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-details, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .stock-separator {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* line 6331, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .search-result-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
  align-items: center;
}

/* line 6337, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .search-result-actions .btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px !important;
  flex-shrink: 0;
}

/* line 6350, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .btn-watchlist-add {
  background: rgba(139, 92, 246, 0.15) !important;
  border: 1px solid rgba(139, 92, 246, 0.35) !important;
  color: #a78bfa !important;
}

/* line 6355, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .btn-watchlist-add:hover {
  background: rgba(139, 92, 246, 0.28) !important;
  color: #c4b5fd !important;
}

/* line 6362, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .btn-add-owned, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .btn-add-stock {
  background: rgba(25, 205, 165, 0.15) !important;
  border: 1px solid rgba(25, 205, 165, 0.3) !important;
  color: #19cda5 !important;
}

/* line 6367, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .btn-add-owned:hover, #dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] .btn-add-stock:hover {
  background: rgba(25, 205, 165, 0.25) !important;
}

/* line 6378, app/assets/stylesheets/dashboard.scss */
.section-actions .d-flex {
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (max-width: 768px) {
  /* line 6378, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex {
    flex-direction: column;
    align-items: flex-end !important;
  }
  /* line 6386, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex .btn {
    width: auto;
    min-width: 150px;
  }
}

/* line 6396, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card {
  background: rgba(15, 20, 40, 0.85);
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 6403, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header {
  text-align: center;
  margin-bottom: 2rem;
}

/* line 6407, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header h4 {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* line 6417, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header h4 i {
  color: #00d4aa;
}

/* line 6422, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1rem;
  margin: 0;
}

/* line 6430, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-bottom: 2rem;
}

/* line 6437, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .preference-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 1rem;
  color: #ffffff;
  margin-bottom: 1rem;
}

/* line 6446, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .preference-label i {
  color: #00d4aa;
  font-size: 1.1rem;
}

/* line 6452, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .checkbox-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.75rem;
}

/* line 6457, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .checkbox-group .checkbox-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
}

/* line 6468, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .checkbox-group .checkbox-item:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 6473, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .checkbox-group .checkbox-item .preference-checkbox {
  margin: 0;
  width: 16px;
  height: 16px;
  accent-color: #00d4aa;
}

/* line 6480, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .checkbox-group .checkbox-item .checkbox-label {
  font-size: 0.9rem;
  font-weight: 500;
  color: #ffffff;
  cursor: pointer;
  user-select: none;
}

/* line 6488, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .checkbox-group .checkbox-item:has(.preference-checkbox:checked) {
  background: rgba(0, 212, 170, 0.1);
  border-color: #00d4aa;
}

/* line 6492, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .checkbox-group .checkbox-item:has(.preference-checkbox:checked) .checkbox-label {
  color: #00d4aa;
  font-weight: 600;
}

/* line 6502, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-actions {
  text-align: center;
}

/* line 6505, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-actions .btn {
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.3s ease;
}

/* line 6515, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-actions .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.3);
}

/* line 6526, app/assets/stylesheets/dashboard.scss */
.ai-advice-section {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 6532, app/assets/stylesheets/dashboard.scss */
.ai-advice-card {
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1.5rem;
  transition: all 0.3s ease;
  height: 100%;
}

/* line 6540, app/assets/stylesheets/dashboard.scss */
.ai-advice-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.3);
}

/* AI Advice Full Width Layout */
/* line 6548, app/assets/stylesheets/dashboard.scss */
.ai-advice-full-width {
  margin-top: 20px;
  width: 100%;
}

/* line 6552, app/assets/stylesheets/dashboard.scss */
.ai-advice-full-width .analysis-card {
  width: 100%;
}

/* Complementary Information Section (Integrated) */
/* line 6558, app/assets/stylesheets/dashboard.scss */
.complementary-section {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 2px solid rgba(34, 197, 94, 0.2);
}

/* line 6563, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

/* line 6568, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-header .complementary-emoji {
  margin-right: 10px;
  font-size: 1.1em;
  display: inline-block;
}

/* line 6574, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-header span:not(.complementary-emoji) {
  color: #22c55e;
  font-size: 1em;
  font-weight: 600;
}

/* line 6581, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-content {
  color: #e5e7eb;
  line-height: 1.6;
  font-size: 0.9em;
  background: rgba(34, 197, 94, 0.1);
  padding: 15px;
  border-radius: 8px;
  border-left: 4px solid #22c55e;
}

/* line 6590, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-content p {
  margin-bottom: 10px;
}

/* line 6593, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-content p:last-child {
  margin-bottom: 0;
}

/* Stock Events Section (Dividends, Earnings) */
/* line 6602, app/assets/stylesheets/dashboard.scss */
.stock-events-section .section-header-mini {
  margin-bottom: 10px;
}

/* line 6605, app/assets/stylesheets/dashboard.scss */
.stock-events-section .section-header-mini h5 {
  color: #22c55e;
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
}

/* line 6611, app/assets/stylesheets/dashboard.scss */
.stock-events-section .section-header-mini h5 i {
  margin-right: 6px;
}

/* line 6617, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
}

/* line 6623, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card {
  background: rgba(34, 197, 94, 0.08);
  border-radius: 8px;
  padding: 10px 12px;
  border-left: 3px solid #22c55e;
}

/* line 6629, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card.event-type-dividend {
  border-left-color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
}

/* line 6634, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card.event-type-earnings {
  border-left-color: #3b82f6;
  background: rgba(59, 130, 246, 0.08);
}

/* line 6639, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card.event-type-crisis {
  border-left-color: #ef4444;
  background: rgba(239, 68, 68, 0.08);
}

/* line 6644, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

/* line 6650, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header .event-emoji {
  font-size: 1rem;
}

/* line 6654, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header .event-symbol {
  font-weight: 700;
  color: #ffffff;
  font-size: 0.85rem;
}

/* line 6660, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header .event-type-badge {
  background: rgba(255, 255, 255, 0.12);
  padding: 1px 6px;
  border-radius: 10px;
  font-size: 0.65rem;
  color: #9ca3af;
  text-transform: uppercase;
}

/* line 6671, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-body .stock-name {
  color: #9ca3af;
  font-size: 0.75rem;
  margin-bottom: 3px;
}

/* line 6678, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-body .event-text-wrapper .event-text {
  color: #e5e7eb;
  font-size: 0.8rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 6690, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-body .event-text-wrapper .read-more-link {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.7rem;
  color: #3b82f6;
  text-decoration: none;
}

/* line 6697, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-body .event-text-wrapper .read-more-link:hover {
  text-decoration: underline;
  color: #60a5fa;
}

/* line 6708, app/assets/stylesheets/dashboard.scss */
.stock-name-modal {
  font-size: 0.9rem;
}

/* line 6712, app/assets/stylesheets/dashboard.scss */
.event-text-full {
  color: #e5e7eb;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* Macro Events Section (Market Context) */
/* line 6720, app/assets/stylesheets/dashboard.scss */
.macro-events-section .section-header-mini {
  margin-bottom: 15px;
}

/* line 6723, app/assets/stylesheets/dashboard.scss */
.macro-events-section .section-header-mini h5 {
  color: #60a5fa;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}

/* line 6729, app/assets/stylesheets/dashboard.scss */
.macro-events-section .section-header-mini h5 i {
  margin-right: 8px;
}

/* line 6735, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-events-list {
  background: rgba(59, 130, 246, 0.08);
  border-radius: 10px;
  padding: 15px;
}

/* line 6741, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 6748, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 6753, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item:first-child {
  padding-top: 0;
}

/* line 6757, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-emoji {
  font-size: 1.2rem;
  flex-shrink: 0;
}

/* line 6762, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-category {
  color: #60a5fa;
  font-weight: 600;
  font-size: 0.9rem;
  white-space: nowrap;
}

/* line 6769, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-content {
  flex: 1;
  min-width: 0;
}

/* line 6774, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-category {
  display: inline;
  margin-right: 6px;
}

/* line 6779, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-text {
  display: inline;
  color: #d1d5db;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* line 6787, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-content {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  font-size: 0.9rem;
}

/* Events Calendar + Market Context Section */
/* line 6800, app/assets/stylesheets/dashboard.scss */
.events-context-section {
  margin-bottom: 2rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* line 6807, app/assets/stylesheets/dashboard.scss */
.events-context-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 2fr);
  gap: 1.5rem;
  width: 100%;
  align-items: start;
}

@media (max-width: 1024px) {
  /* line 6807, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    grid-template-columns: minmax(250px, 1fr) minmax(0, 1.5fr);
    gap: 1rem;
  }
}

@media (max-width: 900px) {
  /* line 6807, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
}

@media (max-width: 767px) {
  /* line 6807, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 6833, app/assets/stylesheets/dashboard.scss */
.calendar-column {
  background: rgba(34, 197, 94, 0.05);
  border-radius: 12px;
  padding: 1rem;
  border: 1px solid rgba(34, 197, 94, 0.15);
  min-width: 0;
  overflow: hidden;
}

/* line 6841, app/assets/stylesheets/dashboard.scss */
.calendar-column .section-header-mini h5 {
  color: #22c55e;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 6847, app/assets/stylesheets/dashboard.scss */
.calendar-column .section-header-mini h5 i {
  margin-right: 6px;
}

/* line 6853, app/assets/stylesheets/dashboard.scss */
.context-column {
  background: rgba(59, 130, 246, 0.05);
  border-radius: 12px;
  padding: 1rem;
  border: 1px solid rgba(59, 130, 246, 0.15);
  min-width: 0;
  overflow: hidden;
}

/* line 6861, app/assets/stylesheets/dashboard.scss */
.context-column .section-header-mini h5 {
  color: #60a5fa;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 6867, app/assets/stylesheets/dashboard.scss */
.context-column .section-header-mini h5 i {
  margin-right: 6px;
}

/* Calendar Styles */
/* line 6874, app/assets/stylesheets/dashboard.scss */
.events-calendar-wrapper {
  position: relative;
}

/* line 6879, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-header {
  text-align: center;
  margin-bottom: 0.75rem;
}

/* line 6883, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-header .calendar-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: #ffffff;
  text-transform: capitalize;
}

/* line 6891, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}

/* line 6897, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-day-header {
  text-align: center;
  font-size: 0.65rem;
  font-weight: 600;
  color: #64748b;
  padding: 4px 2px;
  text-transform: uppercase;
}

/* line 6906, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 4px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  position: relative;
  min-height: 50px;
  transition: background 0.2s ease;
}

/* line 6919, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.empty {
  background: transparent;
}

/* line 6923, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.today {
  background: rgba(0, 212, 170, 0.15);
  border: 1px solid rgba(0, 212, 170, 0.4);
}

/* line 6927, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.today .day-number {
  color: #00d4aa;
  font-weight: 700;
}

/* line 6933, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.past {
  opacity: 0.5;
}

/* line 6937, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.weekend {
  background: rgba(255, 255, 255, 0.01);
}

/* line 6941, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.has-events {
  background: rgba(255, 255, 255, 0.06);
}

/* line 6944, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.has-events:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* line 6949, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .day-number {
  font-size: 0.7rem;
  font-weight: 500;
  color: #94a3b8;
  line-height: 1;
}

/* line 6956, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-indicators {
  display: flex;
  gap: 3px;
  margin-top: 3px;
  flex-wrap: wrap;
  justify-content: center;
}

/* line 6964, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  max-width: 22px;
  max-height: 22px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
}

/* line 6982, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot:hover {
  transform: scale(1.2);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

/* line 6987, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot i {
  font-size: 0.55rem;
  line-height: 1;
}

/* line 6992, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot.event-dividend {
  background: rgba(255, 215, 0, 0.25);
  border: 2px solid #ffd700;
  color: #ffd700;
}

/* line 6998, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot.event-earnings {
  background: rgba(0, 180, 216, 0.25);
  border: 2px solid #00b4d8;
  color: #00b4d8;
}

/* line 7004, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot.event-crisis {
  background: rgba(239, 68, 68, 0.25);
  border: 2px solid #ef4444;
  color: #ef4444;
}

/* line 7010, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot.event-warning {
  background: rgba(251, 191, 36, 0.25);
  border: 2px solid #fbbf24;
  color: #fbbf24;
}

/* line 7016, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot.event-other {
  background: rgba(96, 165, 250, 0.25);
  border: 2px solid #60a5fa;
  color: #60a5fa;
}

/* line 7023, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-more {
  font-size: 0.6rem;
  color: #64748b;
  background: rgba(255, 255, 255, 0.1);
  padding: 2px 6px;
  border-radius: 8px;
}

/* Calendar Tooltip */
/* line 7034, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip {
  position: absolute;
  background: rgba(15, 20, 40, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 12px;
  min-width: 200px;
  max-width: 280px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
  pointer-events: none;
}

/* line 7050, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip.visible {
  opacity: 1;
  visibility: visible;
}

/* line 7055, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

/* line 7062, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-emoji {
  font-size: 1.1rem;
}

/* line 7066, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-symbol {
  font-weight: 700;
  color: #00d4aa;
  font-size: 0.9rem;
}

/* line 7072, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type {
  font-size: 0.65rem;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 600;
}

/* line 7079, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-dividend {
  background: rgba(255, 215, 0, 0.2);
  color: #ffd700;
}

/* line 7084, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-earnings {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 7089, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-crisis {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 7094, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-other {
  background: rgba(96, 165, 250, 0.2);
  color: #60a5fa;
}

/* line 7100, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-name {
  font-size: 0.75rem;
  color: #64748b;
  margin-bottom: 6px;
}

/* line 7106, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-text {
  font-size: 0.8rem;
  color: #94a3b8;
  line-height: 1.4;
}

/* Calendar Legend */
/* line 7114, app/assets/stylesheets/dashboard.scss */
.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 7122, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 7128, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  max-width: 18px;
  max-height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
}

/* line 7142, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon i {
  font-size: 0.5rem;
  line-height: 1;
}

/* line 7147, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.dividend {
  background: rgba(255, 215, 0, 0.25);
  border: 2px solid #ffd700;
  color: #ffd700;
}

/* line 7153, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.earnings {
  background: rgba(0, 180, 216, 0.25);
  border: 2px solid #00b4d8;
  color: #00b4d8;
}

/* line 7159, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.crisis {
  background: rgba(239, 68, 68, 0.25);
  border: 2px solid #ef4444;
  color: #ef4444;
}

/* line 7165, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.other {
  background: rgba(96, 165, 250, 0.25);
  border: 2px solid #60a5fa;
  color: #60a5fa;
}

/* line 7172, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-label {
  font-size: 0.7rem;
  color: #64748b;
}

/* Market Context List */
/* line 7179, app/assets/stylesheets/dashboard.scss */
.market-context-list {
  width: 100%;
}

/* line 7182, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  width: 100%;
}

/* line 7190, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-item:last-child {
  border-bottom: none;
}

/* line 7195, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-emoji {
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* line 7200, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-content {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* line 7206, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-category {
  font-weight: 600;
  color: #60a5fa;
  font-size: 0.85rem;
  margin-right: 6px;
  display: inline;
}

/* line 7214, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-text {
  color: #94a3b8;
  font-size: 0.85rem;
  line-height: 1.5;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  display: inline;
}

/* line 7225, app/assets/stylesheets/dashboard.scss */
.no-context-message {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 1.5rem;
  color: #64748b;
  font-size: 0.85rem;
}

/* line 7233, app/assets/stylesheets/dashboard.scss */
.no-context-message i {
  color: #00d4aa;
}

/* Upcoming Events List (for events without dates) */
/* line 7239, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  padding: 10px;
}

/* line 7244, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-header {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 8px;
}

/* line 7253, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-header i {
  color: #ffa726;
}

/* line 7258, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  font-size: 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

/* line 7266, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-item:last-child {
  border-bottom: none;
}

/* line 7271, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-emoji {
  font-size: 0.9rem;
}

/* line 7275, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-symbol {
  font-weight: 600;
  color: #00d4aa;
  min-width: 50px;
}

/* line 7281, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-text {
  color: #94a3b8;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Tablet responsive (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  /* line 7293, app/assets/stylesheets/dashboard.scss */
  .calendar-column {
    padding: 0.75rem;
  }
  /* line 7296, app/assets/stylesheets/dashboard.scss */
  .calendar-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 7301, app/assets/stylesheets/dashboard.scss */
  .context-column {
    padding: 0.75rem;
  }
  /* line 7304, app/assets/stylesheets/dashboard.scss */
  .context-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 7310, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 38px;
  }
  /* line 7313, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.6rem;
  }
  /* line 7317, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    max-width: 18px;
    max-height: 18px;
  }
  /* line 7325, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.45rem;
  }
  /* line 7333, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.75rem;
  }
  /* line 7337, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-text {
    font-size: 0.75rem;
    line-height: 1.4;
  }
  /* line 7343, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 8px;
  }
  /* line 7346, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.6rem;
  }
  /* line 7350, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon {
    width: 14px;
    height: 14px;
    min-width: 14px;
    min-height: 14px;
    max-width: 14px;
    max-height: 14px;
  }
  /* line 7358, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.4rem;
  }
}

/* Responsive for Calendar Section */
@media (max-width: 767px) {
  /* line 7367, app/assets/stylesheets/dashboard.scss */
  .events-context-section {
    margin-bottom: 1rem;
    width: 100%;
    padding: 0;
  }
  /* line 7373, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    gap: 0.75rem;
    width: 100%;
  }
  /* line 7378, app/assets/stylesheets/dashboard.scss */
  .calendar-column,
.context-column {
    padding: 0.75rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  /* line 7387, app/assets/stylesheets/dashboard.scss */
  .calendar-container {
    width: 100%;
  }
  /* line 7391, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-header .calendar-title {
    font-size: 0.8rem;
  }
  /* line 7396, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    width: 100%;
  }
  /* line 7403, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.55rem;
    padding: 3px 0;
    text-align: center;
  }
  /* line 7409, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 32px;
    padding: 2px 1px;
    aspect-ratio: unset;
  }
  /* line 7414, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.5rem;
  }
  /* line 7418, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot {
    width: 14px;
    height: 14px;
    min-width: 14px;
    min-height: 14px;
    max-width: 14px;
    max-height: 14px;
  }
  /* line 7426, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.35rem;
  }
  /* line 7431, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-indicators {
    gap: 1px;
    margin-top: 1px;
  }
  /* line 7438, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 8px;
    margin-top: 8px;
  }
  /* line 7445, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-item {
    gap: 3px;
  }
  /* line 7449, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.5rem;
  }
  /* line 7453, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon {
    width: 12px;
    height: 12px;
    min-width: 12px;
    min-height: 12px;
    max-width: 12px;
    max-height: 12px;
  }
  /* line 7461, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.3rem;
  }
  /* Market context mobile fixes */
  /* line 7469, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-item {
    padding: 6px 0;
    gap: 6px;
    flex-wrap: nowrap;
  }
  /* line 7475, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-emoji {
    font-size: 0.9rem;
    flex-shrink: 0;
  }
  /* line 7480, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-content {
    min-width: 0;
    flex: 1;
  }
  /* line 7485, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.7rem;
    display: block;
    margin-bottom: 2px;
  }
  /* line 7491, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-text {
    font-size: 0.75rem;
    line-height: 1.3;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
  }
  /* line 7501, app/assets/stylesheets/dashboard.scss */
  .no-context-message {
    font-size: 0.75rem;
    padding: 8px;
  }
  /* line 7506, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list {
    padding: 6px;
  }
  /* line 7509, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-header {
    font-size: 0.7rem;
    margin-bottom: 6px;
  }
  /* line 7514, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-item {
    font-size: 0.7rem;
    gap: 4px;
    flex-wrap: nowrap;
  }
  /* line 7520, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-emoji {
    flex-shrink: 0;
  }
  /* line 7524, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-symbol {
    min-width: 35px;
    font-size: 0.65rem;
    flex-shrink: 0;
  }
  /* line 7530, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-text {
    font-size: 0.65rem;
    min-width: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}

/* Extra small mobile (< 375px) */
@media (max-width: 374px) {
  /* line 7542, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.45rem;
  }
  /* line 7546, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 28px;
  }
  /* line 7549, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.45rem;
  }
  /* line 7553, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot {
    width: 12px;
    height: 12px;
    min-width: 12px;
    min-height: 12px;
    max-width: 12px;
    max-height: 12px;
  }
  /* line 7561, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.3rem;
  }
  /* line 7569, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.45rem;
  }
  /* line 7573, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon {
    width: 10px;
    height: 10px;
    min-width: 10px;
    min-height: 10px;
    max-width: 10px;
    max-height: 10px;
  }
}

/* line 7584, app/assets/stylesheets/dashboard.scss */
.ai-advice-header {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 7590, app/assets/stylesheets/dashboard.scss */
.ai-advice-symbol {
  font-size: 1.25rem;
  font-weight: 700;
  color: #00d4aa;
  margin: 0 0 0.25rem 0;
  line-height: 1.2;
}

/* line 7598, app/assets/stylesheets/dashboard.scss */
.ai-advice-name {
  font-size: 0.875rem;
  color: #64748b;
  font-weight: 500;
}

/* line 7604, app/assets/stylesheets/dashboard.scss */
.ai-advice-content {
  color: #ffffff;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 7609, app/assets/stylesheets/dashboard.scss */
.ai-advice-content p {
  margin-bottom: 0.75rem;
}

/* line 7612, app/assets/stylesheets/dashboard.scss */
.ai-advice-content p:last-child {
  margin-bottom: 0;
}

/* line 7617, app/assets/stylesheets/dashboard.scss */
.ai-advice-content strong {
  color: #00d4aa;
  font-weight: 600;
}

/* line 7622, app/assets/stylesheets/dashboard.scss */
.ai-advice-content em {
  color: #64748b;
  font-style: italic;
}

/* line 7629, app/assets/stylesheets/dashboard.scss */
.refresh-needed {
  color: #ffffff !important;
  background: #dc3545;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid #c82333;
  box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3);
}

/* line 7642, app/assets/stylesheets/dashboard.scss */
.refresh-needed i {
  font-size: 0.8rem;
}

/* line 7648, app/assets/stylesheets/dashboard.scss */
.estimated-value {
  font-size: 0.75rem;
  margin-top: 0.25rem;
  font-weight: 500;
}

/* line 7653, app/assets/stylesheets/dashboard.scss */
.estimated-value.positive {
  color: #28a745;
}

/* line 7657, app/assets/stylesheets/dashboard.scss */
.estimated-value.negative {
  color: #dc3545;
}

/* line 7663, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-cell {
  text-align: center;
  vertical-align: middle;
  padding: 0.5rem;
}

/* line 7669, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1) 0%, rgba(0, 168, 255, 0.1) 100%);
  border: 1px solid rgba(0, 212, 170, 0.3);
  color: #00d4aa;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  transition: all 0.3s ease;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 auto;
}

/* line 7684, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn:hover {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.2) 100%);
  border-color: rgba(0, 212, 170, 0.5);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.2);
}

/* line 7691, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn i {
  transition: transform 0.3s ease;
}

/* line 7695, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn.expanded i {
  transform: rotate(180deg);
}

/* line 7700, app/assets/stylesheets/dashboard.scss */
.ai-advice-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 7707, app/assets/stylesheets/dashboard.scss */
.ai-advice-row {
  background: linear-gradient(145deg, #0f172a 0%, #1e293b 100%);
  border-top: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 7711, app/assets/stylesheets/dashboard.scss */
.ai-advice-row td {
  padding: 0;
  border: none;
}

/* line 7717, app/assets/stylesheets/dashboard.scss */
.ai-advice-cell {
  padding: 1.5rem;
  background: transparent;
}

/* line 7723, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-card {
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 12px;
  padding: 1.5rem;
  margin: 0;
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* line 7734, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #00d4aa, #00b4d8);
  border-radius: 12px 12px 0 0;
}

/* line 7745, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 7752, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 7761, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.2) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3);
}

/* line 7771, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-icon i {
  font-size: 1.25rem;
  color: #00d4aa;
}

/* line 7777, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-title {
  flex: 1;
}

/* line 7780, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-title h4 {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.01em;
}

/* line 7788, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-title p {
  color: #64748b;
  font-size: 0.875rem;
  margin: 0;
  font-weight: 500;
}

/* line 7796, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content {
  color: #ffffff;
  line-height: 1.7;
  font-size: 0.9rem;
}

/* line 7801, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text {
  white-space: pre-line;
}

/* line 7804, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text p {
  margin-bottom: 0.75rem;
}

/* line 7807, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text p:last-child {
  margin-bottom: 0;
}

/* line 7812, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text strong {
  color: #00d4aa;
  font-weight: 700;
}

/* line 7817, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text em {
  color: #64748b;
  font-style: italic;
}

/* line 7826, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 7831, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-header h5 {
  color: #00d4aa;
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 7840, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-header h5 i {
  font-size: 1.1rem;
}

/* line 7847, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section {
  margin-bottom: 1.5rem;
}

/* line 7850, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .action-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 7856, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .action-item strong {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
}

/* line 7862, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .trading-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
}

/* line 7867, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .trading-metrics .metric-item {
  background: rgba(255, 255, 255, 0.05);
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* line 7877, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .trading-metrics .metric-item .metric-label {
  color: #00d4aa;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 7886, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .trading-metrics .metric-item .metric-value {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 7895, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 1rem;
}

/* line 7900, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item {
  background: rgba(255, 255, 255, 0.05);
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* line 7910, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-period {
  color: #00d4aa;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 7919, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-value {
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 7923, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-value.positive {
  color: #00d4aa;
}

/* line 7927, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-value.negative {
  color: #ff6b6b;
}

/* line 7937, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .forecast-analysis-text,
.unified-analysis .analysis-content .analysis-text .ai-analysis-text {
  margin-bottom: 1.5rem;
}

/* line 7941, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .forecast-analysis-text:last-child,
.unified-analysis .analysis-content .analysis-text .ai-analysis-text:last-child {
  margin-bottom: 0;
}

/* line 7945, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .forecast-analysis-text strong,
.unified-analysis .analysis-content .analysis-text .ai-analysis-text strong {
  color: #00d4aa;
  font-size: 1rem;
  font-weight: 600;
  display: block;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 7955, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .forecast-analysis-text strong::before,
.unified-analysis .analysis-content .analysis-text .ai-analysis-text strong::before {
  content: '';
  width: 4px;
  height: 16px;
  background: linear-gradient(135deg, #00d4aa, #00a8cc);
  border-radius: 2px;
}

/* line 7964, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .forecast-analysis-text p,
.unified-analysis .analysis-content .analysis-text .ai-analysis-text p {
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.6;
  font-size: 0.95rem;
  margin: 0;
  padding-left: 1.5rem;
}

/* line 7974, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .ai-analysis-text strong {
  color: #00a8cc;
}

/* line 7977, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .ai-analysis-text strong::before {
  background: linear-gradient(135deg, #00a8cc, #0077b6);
}

/* line 7986, app/assets/stylesheets/dashboard.scss */
.forecast-type-badge {
  display: inline-block;
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

/* line 7999, app/assets/stylesheets/dashboard.scss */
.ai-analysis {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 8005, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-header {
  margin-bottom: 0.75rem;
}

/* line 8008, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-header h5 {
  color: #00a8cc;
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 8017, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-header h5 i {
  font-size: 0.9rem;
}

/* line 8023, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-text {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 8028, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-text p {
  margin-bottom: 0.75rem;
}

/* line 8031, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-text p:last-child {
  margin-bottom: 0;
}

/* line 8039, app/assets/stylesheets/dashboard.scss */
.ai-advice-row {
  transition: all 0.3s ease;
  overflow: hidden;
}

/* line 8043, app/assets/stylesheets/dashboard.scss */
.ai-advice-row.collapsing {
  opacity: 0;
  max-height: 0;
}

/* line 8048, app/assets/stylesheets/dashboard.scss */
.ai-advice-row.expanded {
  opacity: 1;
  max-height: 500px;
}

/* line 8055, app/assets/stylesheets/dashboard.scss */
.watch-out-section {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 8061, app/assets/stylesheets/dashboard.scss */
.watch-out-cards {
  margin-top: 1.5rem;
}

/* line 8065, app/assets/stylesheets/dashboard.scss */
.watch-out-card {
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 1.5rem;
  height: 100%;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* line 8075, app/assets/stylesheets/dashboard.scss */
.watch-out-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 12px 12px 0 0;
}

/* line 8085, app/assets/stylesheets/dashboard.scss */
.watch-out-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 8092, app/assets/stylesheets/dashboard.scss */
.watch-out-card.events-card::before {
  background: linear-gradient(90deg, #ffa726, #ff9800);
}

/* line 8096, app/assets/stylesheets/dashboard.scss */
.watch-out-card.invest-card::before {
  background: linear-gradient(90deg, #4caf50, #8bc34a);
}

/* line 8100, app/assets/stylesheets/dashboard.scss */
.watch-out-card.avoid-card::before {
  background: linear-gradient(90deg, #f44336, #ff5722);
}

/* line 8104, app/assets/stylesheets/dashboard.scss */
.watch-out-card.timing-card::before {
  background: linear-gradient(90deg, #2196f3, #03a9f4);
}

/* line 8109, app/assets/stylesheets/dashboard.scss */
.watch-out-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* line 8119, app/assets/stylesheets/dashboard.scss */
.watch-out-icon i {
  font-size: 1.25rem;
}

/* line 8123, app/assets/stylesheets/dashboard.scss */
.events-card .watch-out-icon {
  background: rgba(255, 167, 38, 0.2);
  color: #ffa726;
}

/* line 8128, app/assets/stylesheets/dashboard.scss */
.invest-card .watch-out-icon {
  background: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}

/* line 8133, app/assets/stylesheets/dashboard.scss */
.avoid-card .watch-out-icon {
  background: rgba(244, 67, 54, 0.2);
  color: #f44336;
}

/* line 8138, app/assets/stylesheets/dashboard.scss */
.timing-card .watch-out-icon {
  background: rgba(33, 150, 243, 0.2);
  color: #2196f3;
}

/* line 8145, app/assets/stylesheets/dashboard.scss */
.watch-out-content h5 {
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.75rem 0;
  letter-spacing: -0.01em;
}

/* line 8153, app/assets/stylesheets/dashboard.scss */
.watch-out-content p {
  color: #94a3b8;
  line-height: 1.6;
  font-size: 0.9rem;
  margin: 0;
}

/* line 8162, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .top-growth-blocks {
  display: flex !important;
  gap: 1rem !important;
  margin: 1rem 0 !important;
  padding: 1rem !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* line 8172, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-block {
  flex: 1 !important;
  text-align: center !important;
  padding: 1rem !important;
  background: rgba(40, 167, 69, 0.1) !important;
  border-radius: 6px !important;
  border: 1px solid rgba(40, 167, 69, 0.2) !important;
}

/* line 8181, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-percentage {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.25rem !important;
  color: #28a745 !important;
}

/* line 8188, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-value {
  font-size: 0.9rem !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-weight: 500 !important;
}

/* line 8195, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0.5rem !important;
  margin: 0.75rem 0 !important;
  padding: 0.75rem !important;
  background: rgba(15, 23, 42, 0.8) !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 8195, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container {
    gap: 0.3rem !important;
    margin: 0.5rem 0 !important;
    padding: 0.4rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 8195, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container {
    gap: 0.25rem !important;
    margin: 0.4rem 0 !important;
    padding: 0.3rem !important;
  }
}

/* line 8219, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0.5rem !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 45px !important;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 8219, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.25rem 0.2rem !important;
    min-height: 35px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 8219, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.2rem 0.15rem !important;
    min-height: 30px !important;
  }
}

/* line 8245, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(0, 212, 170, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* line 8251, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item .metric-label {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.65rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0.25rem !important;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 8251, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
    margin-bottom: 0.15rem !important;
    letter-spacing: 0.3px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 8251, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.45rem !important;
    margin-bottom: 0.1rem !important;
    letter-spacing: 0.2px !important;
  }
}

/* line 8274, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item .metric-value {
  color: #ffffff !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 8274, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 8274, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.55rem !important;
  }
}

/* line 8289, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item .metric-value.positive {
  color: #28a745 !important;
}

/* line 8293, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item .metric-value.negative {
  color: #dc3545 !important;
}

@media (max-width: 768px) {
  /* line 8195, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem !important;
  }
}

@media (max-width: 480px) {
  /* line 8195, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }
}

/* line 8312, app/assets/stylesheets/dashboard.scss */
.symbol-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.4rem 0.8rem !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15) 0%, rgba(0, 212, 170, 0.25) 100%) !important;
  color: #00d4aa !important;
  border-radius: 8px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  border: 1px solid rgba(0, 212, 170, 0.3) !important;
  box-shadow: 0 2px 4px rgba(0, 212, 170, 0.1) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/* line 8332, app/assets/stylesheets/dashboard.scss */
.symbol-tag:hover {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.25) 0%, rgba(0, 212, 170, 0.35) 100%) !important;
  border-color: rgba(0, 212, 170, 0.5) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 212, 170, 0.2) !important;
}

/* line 8341, app/assets/stylesheets/dashboard.scss */
.stock-logo-mini {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border-radius: 50% !important;
  -webkit-clip-path: circle(50%) !important;
  clip-path: circle(50%) !important;
  object-fit: cover !important;
  overflow: hidden !important;
  background: #1a1f2e !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

/* line 8364, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  text-decoration: none !important;
  color: inherit !important;
  border-radius: var(--radius-sm);
  padding: 0.15rem 0.2rem;
  transition: background 0.2s, padding 0.2s;
}

/* line 8373, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link .stock-analysis-hint {
  font-size: 0.55rem;
  color: transparent;
  width: 0;
  overflow: hidden;
  transition: color 0.2s, width 0.2s, margin 0.2s;
  margin-left: 0;
}

/* line 8381, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover {
  background: rgba(var(--accent-primary-rgb), 0.08);
  padding-right: 0.35rem;
}

/* line 8384, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover .stock-analysis-hint {
  color: var(--accent-primary);
  width: 0.6rem;
  margin-left: 0.15rem;
}

/* line 8389, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover .symbol-tag {
  color: var(--accent-primary);
}

/* line 8396, app/assets/stylesheets/dashboard.scss */
.analysis-toggle-cell {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 1rem 0.75rem !important;
}

/* line 8403, app/assets/stylesheets/dashboard.scss */
.forecast-cell {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 1rem 0.75rem !important;
  max-width: 150px !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 8403, app/assets/stylesheets/dashboard.scss */
  .forecast-cell {
    max-width: 100px !important;
    padding: 0.5rem 0.3rem !important;
  }
}

/* line 8419, app/assets/stylesheets/dashboard.scss */
.action-badge, .forecast-badge {
  display: inline-block !important;
  padding: 0.28rem 0.6rem !important;
  border-radius: 5px !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  border: 1px solid !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: all 0.2s ease !important;
}

/* line 8432, app/assets/stylesheets/dashboard.scss */
.action-badge:hover, .forecast-badge:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
}

/* line 8437, app/assets/stylesheets/dashboard.scss */
.action-badge.buy, .buy.forecast-badge {
  background: linear-gradient(135deg, rgba(40, 167, 69, 0.15) 0%, rgba(40, 167, 69, 0.25) 100%) !important;
  color: #28a745 !important;
  border-color: rgba(40, 167, 69, 0.4) !important;
}

/* line 8443, app/assets/stylesheets/dashboard.scss */
.action-badge.sell, .sell.forecast-badge {
  background: linear-gradient(135deg, rgba(220, 53, 69, 0.15) 0%, rgba(220, 53, 69, 0.25) 100%) !important;
  color: #dc3545 !important;
  border-color: rgba(220, 53, 69, 0.4) !important;
}

/* line 8449, app/assets/stylesheets/dashboard.scss */
.action-badge.hold, .hold.forecast-badge {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.15) 0%, rgba(255, 193, 7, 0.25) 100%) !important;
  color: #ffc107 !important;
  border-color: rgba(255, 193, 7, 0.4) !important;
}

/* line 8455, app/assets/stylesheets/dashboard.scss */
.action-badge.wait, .wait.forecast-badge {
  background: linear-gradient(135deg, rgba(108, 117, 125, 0.15) 0%, rgba(108, 117, 125, 0.25) 100%) !important;
  color: #6c757d !important;
  border-color: rgba(108, 117, 125, 0.4) !important;
}

/* line 8461, app/assets/stylesheets/dashboard.scss */
.action-badge.needs-refresh, .needs-refresh.forecast-badge {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.15) 0%, rgba(255, 193, 7, 0.25) 100%) !important;
  color: #ffc107 !important;
  border-color: rgba(255, 193, 7, 0.4) !important;
  animation: pulse-warning 2s infinite;
}

/* line 8475, app/assets/stylesheets/dashboard.scss */
.medium-term-cell {
  text-align: center;
  vertical-align: middle;
  padding: 1rem 0.75rem !important;
  max-width: 150px !important;
}

/* line 8485, app/assets/stylesheets/dashboard.scss */
.medium-term-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  padding: 0.4rem 1rem !important;
  border-radius: 8px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  border: 1px solid !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* line 8503, app/assets/stylesheets/dashboard.scss */
.medium-term-btn .btn-action-text {
  font-weight: 700 !important;
}

/* line 8507, app/assets/stylesheets/dashboard.scss */
.medium-term-btn .btn-info-icon {
  font-size: 0.6rem !important;
  opacity: 0.6;
  transition: all 0.2s ease;
}

/* line 8513, app/assets/stylesheets/dashboard.scss */
.medium-term-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}

/* line 8517, app/assets/stylesheets/dashboard.scss */
.medium-term-btn:hover .btn-info-icon {
  opacity: 1;
}

/* line 8522, app/assets/stylesheets/dashboard.scss */
.medium-term-btn:focus {
  outline: none !important;
}

/* line 8526, app/assets/stylesheets/dashboard.scss */
.medium-term-btn:active {
  transform: translateY(0) !important;
}

@media (min-width: 1024px) and (max-width: 1279px) {
  /* line 8485, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
    gap: 0.2rem !important;
    box-shadow: none !important;
  }
  /* line 8537, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn .btn-info-icon {
    font-size: 0.4rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* line 8485, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.25rem !important;
    gap: 0.15rem !important;
    box-shadow: none !important;
    border-radius: 6px !important;
  }
  /* line 8550, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn .btn-info-icon {
    font-size: 0.35rem !important;
  }
}

@media (max-width: 767px) {
  /* line 8485, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn {
    font-size: 0.6rem !important;
    padding: 0.2rem 0.4rem !important;
    gap: 0.2rem !important;
    box-shadow: none !important;
    border-radius: 6px !important;
  }
  /* line 8563, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn .btn-info-icon {
    font-size: 0.45rem !important;
  }
}

/* line 8569, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy {
  background: linear-gradient(135deg, rgba(40, 167, 69, 0.15) 0%, rgba(40, 167, 69, 0.25) 100%) !important;
  border-color: rgba(40, 167, 69, 0.5) !important;
  color: #28a745 !important;
  box-shadow: 0 2px 4px rgba(40, 167, 69, 0.15) !important;
}

/* line 8575, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy:hover {
  background: linear-gradient(135deg, rgba(40, 167, 69, 0.25) 0%, rgba(40, 167, 69, 0.35) 100%) !important;
  border-color: rgba(40, 167, 69, 0.7) !important;
  box-shadow: 0 4px 8px rgba(40, 167, 69, 0.25) !important;
}

/* line 8581, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy:focus {
  box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.25) !important;
}

/* line 8587, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell {
  background: linear-gradient(135deg, rgba(220, 53, 69, 0.15) 0%, rgba(220, 53, 69, 0.25) 100%) !important;
  border-color: rgba(220, 53, 69, 0.5) !important;
  color: #dc3545 !important;
  box-shadow: 0 2px 4px rgba(220, 53, 69, 0.15) !important;
}

/* line 8593, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell:hover {
  background: linear-gradient(135deg, rgba(220, 53, 69, 0.25) 0%, rgba(220, 53, 69, 0.35) 100%) !important;
  border-color: rgba(220, 53, 69, 0.7) !important;
  box-shadow: 0 4px 8px rgba(220, 53, 69, 0.25) !important;
}

/* line 8599, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell:focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25) !important;
}

/* line 8605, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.15) 0%, rgba(255, 193, 7, 0.25) 100%) !important;
  border-color: rgba(255, 193, 7, 0.5) !important;
  color: #ffc107 !important;
  box-shadow: 0 2px 4px rgba(255, 193, 7, 0.15) !important;
}

/* line 8611, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold:hover {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.25) 0%, rgba(255, 193, 7, 0.35) 100%) !important;
  border-color: rgba(255, 193, 7, 0.7) !important;
  box-shadow: 0 4px 8px rgba(255, 193, 7, 0.25) !important;
}

/* line 8617, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold:focus {
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.25) !important;
}

/* line 8623, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait {
  background: linear-gradient(135deg, rgba(0, 168, 255, 0.15) 0%, rgba(0, 168, 255, 0.25) 100%) !important;
  border-color: rgba(0, 168, 255, 0.5) !important;
  color: #00a8ff !important;
  box-shadow: 0 2px 4px rgba(0, 168, 255, 0.15) !important;
}

/* line 8629, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait:hover {
  background: linear-gradient(135deg, rgba(0, 168, 255, 0.25) 0%, rgba(0, 168, 255, 0.35) 100%) !important;
  border-color: rgba(0, 168, 255, 0.7) !important;
  box-shadow: 0 4px 8px rgba(0, 168, 255, 0.25) !important;
}

/* line 8635, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait:focus {
  box-shadow: 0 0 0 3px rgba(0, 168, 255, 0.25) !important;
}

/* line 8643, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .modal-content {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
}

/* line 8648, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .modal-header {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

/* line 8652, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .modal-title {
  font-size: 1rem;
  font-weight: 600;
}

/* line 8657, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .action-badge, #medium-term-modal .forecast-badge {
  font-size: 1rem !important;
  padding: 0.5rem 1.5rem !important;
}

/* line 8662, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .medium-term-reason-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  padding: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  border-left: 3px solid #00d4aa;
}

@keyframes pulse-warning {
  0% {
    box-shadow: 0 2px 4px rgba(255, 193, 7, 0.1);
  }
  50% {
    box-shadow: 0 4px 8px rgba(255, 193, 7, 0.3);
  }
  100% {
    box-shadow: 0 2px 4px rgba(255, 193, 7, 0.1);
  }
}

/* line 8687, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1) 0%, rgba(0, 168, 255, 0.1) 100%) !important;
  border: 1px solid rgba(0, 212, 170, 0.4) !important;
  color: #00d4aa !important;
  padding: 0.5rem 1rem !important;
  border-radius: 8px !important;
  font-size: 0.75rem !important;
  margin: 0 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  box-shadow: 0 2px 4px rgba(0, 212, 170, 0.1) !important;
  min-width: 120px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
}

/* line 8705, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn:hover {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.2) 100%) !important;
  border-color: rgba(0, 212, 170, 0.6) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 212, 170, 0.2) !important;
}

/* line 8712, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 212, 170, 0.25) !important;
}

/* line 8717, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 4px rgba(0, 212, 170, 0.1) !important;
}

/* line 8722, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn .btn-text {
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-size: 0.7rem !important;
}

/* line 8729, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn i {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  font-size: 0.8rem !important;
  flex-shrink: 0 !important;
}

/* line 8735, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn[aria-expanded="true"] i {
  transform: rotate(90deg) !important;
}

/* line 8739, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn[aria-expanded="false"] i {
  transform: rotate(0deg) !important;
}

/* line 8746, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart.btn-chart-dropdown,
.btn-stock-chart.btn-chart-dropdown,
.btn-chart-dropdown {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  padding: 0.35rem 0.5rem !important;
  min-width: 2.4rem !important;
  max-width: 3rem !important;
  min-height: 1.6rem !important;
  max-height: 2rem !important;
  width: auto !important;
  height: auto !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 6px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

/* line 8768, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart.btn-chart-dropdown .fa-chart-line,
.btn-stock-chart.btn-chart-dropdown .fa-chart-line,
.btn-chart-dropdown .fa-chart-line {
  font-size: 0.8rem !important;
  flex-shrink: 0 !important;
}

/* line 8774, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart.btn-chart-dropdown .chevron-icon,
.btn-stock-chart.btn-chart-dropdown .chevron-icon,
.btn-chart-dropdown .chevron-icon {
  font-size: 0.45rem !important;
  transition: transform 0.2s ease !important;
  opacity: 0.7;
  flex-shrink: 0 !important;
}

/* line 8781, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart.btn-chart-dropdown:hover,
.btn-stock-chart.btn-chart-dropdown:hover,
.btn-chart-dropdown:hover {
  background: rgba(99, 102, 241, 0.2) !important;
  border-color: rgba(99, 102, 241, 0.4) !important;
  color: #a5b4fc !important;
}

/* line 8787, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart.btn-chart-dropdown[aria-expanded="true"],
.btn-stock-chart.btn-chart-dropdown[aria-expanded="true"],
.btn-chart-dropdown[aria-expanded="true"] {
  background: rgba(99, 102, 241, 0.3) !important;
  border-color: rgba(99, 102, 241, 0.5) !important;
  color: #a5b4fc !important;
}

/* line 8792, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart.btn-chart-dropdown[aria-expanded="true"] .chevron-icon,
.btn-stock-chart.btn-chart-dropdown[aria-expanded="true"] .chevron-icon,
.btn-chart-dropdown[aria-expanded="true"] .chevron-icon {
  transform: rotate(180deg) !important;
}

/* line 8799, app/assets/stylesheets/dashboard.scss */
.chart-cell:has(.btn-chart-dropdown) {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 56px !important;
}

@media (max-width: 767px) {
  /* line 8807, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart.btn-chart-dropdown,
.btn-stock-chart.btn-chart-dropdown,
.btn-chart-dropdown {
    padding: 0.3rem 0.4rem !important;
    min-width: 2rem !important;
    max-width: 2.6rem !important;
    min-height: 1.4rem !important;
    max-height: 1.8rem !important;
    gap: 0.2rem !important;
  }
  /* line 8817, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart.btn-chart-dropdown .fa-chart-line,
.btn-stock-chart.btn-chart-dropdown .fa-chart-line,
.btn-chart-dropdown .fa-chart-line {
    font-size: 0.7rem !important;
  }
  /* line 8821, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart.btn-chart-dropdown .chevron-icon,
.btn-stock-chart.btn-chart-dropdown .chevron-icon,
.btn-chart-dropdown .chevron-icon {
    font-size: 0.4rem !important;
  }
  /* line 8826, app/assets/stylesheets/dashboard.scss */
  .chart-cell:has(.btn-chart-dropdown) {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 48px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 8835, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart.btn-chart-dropdown,
.btn-stock-chart.btn-chart-dropdown,
.btn-chart-dropdown {
    padding: 0.2rem 0.3rem !important;
    min-width: 1.6rem !important;
    max-width: 2rem !important;
  }
  /* line 8842, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart.btn-chart-dropdown .fa-chart-line,
.btn-stock-chart.btn-chart-dropdown .fa-chart-line,
.btn-chart-dropdown .fa-chart-line {
    font-size: 0.6rem !important;
  }
  /* line 8846, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart.btn-chart-dropdown .chevron-icon,
.btn-stock-chart.btn-chart-dropdown .chevron-icon,
.btn-chart-dropdown .chevron-icon {
    display: none !important;
  }
  /* line 8851, app/assets/stylesheets/dashboard.scss */
  .chart-cell:has(.btn-chart-dropdown),
.chart-cell {
    width: 32px !important;
    min-width: 28px !important;
    max-width: 36px !important;
    padding: 0.1rem !important;
    overflow: hidden !important;
  }
}

/* line 8863, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-cell {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* line 8869, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 1rem;
  margin: 0.25rem 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
}

/* line 8884, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card.chart-dropdown-card-pro {
  max-width: 800px;
  padding: 1.25rem;
}

/* line 8890, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  background: rgba(15, 23, 42, 0.6);
  border-radius: 12px;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 8899, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 8904, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-header .chart-title {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 8912, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-header .chart-title i {
  font-size: 0.8rem;
  color: #00d4aa;
}

/* line 8915, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-header .period-selector {
  display: flex;
  gap: 0.3rem;
  background: rgba(0, 0, 0, 0.2);
  padding: 0.2rem;
  border-radius: 6px;
}

/* line 8922, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-header .period-selector .period-btn {
  background: transparent;
  border: none;
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.35rem 0.6rem;
  cursor: pointer;
  transition: all 0.2s;
}

/* line 8933, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-header .period-selector .period-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
}

/* line 8938, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-header .period-selector .period-btn.active {
  background: rgba(99, 102, 241, 0.8);
  color: #fff;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}

/* line 8947, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-container {
  height: 160px;
  position: relative;
  background: rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  padding: 0.75rem 0.5rem 0.5rem 0.25rem;
}

/* line 8954, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-container canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 8960, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 8968, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-stats {
  display: flex;
  gap: 1rem;
}

/* line 8972, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-stats .stat-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 8977, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-stats .stat-item .stat-label {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.4);
  font-weight: 500;
}

/* line 8983, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-stats .stat-item .stat-value {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
}

/* line 8991, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(0, 0, 0, 0.2);
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
}

/* line 8999, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary .summary-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
}

/* line 9005, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary .summary-value {
  font-size: 0.85rem;
  font-weight: 700;
}

/* line 9009, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary .summary-value.positive {
  color: #22c55e;
}

/* line 9010, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary .summary-value.negative {
  color: #ef4444;
}

/* line 9016, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .no-historical-data {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 2rem;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.75rem;
}

/* line 9025, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .no-historical-data i {
  font-size: 1.5rem;
  opacity: 0.5;
}

/* line 9032, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions {
  display: flex;
  justify-content: center;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 9038, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions .btn-see-more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(139, 92, 246, 0.2));
  border: 1px solid rgba(99, 102, 241, 0.4);
  border-radius: 6px;
  color: #a5b4fc;
  font-size: 0.7rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

/* line 9052, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions .btn-see-more i {
  font-size: 0.65rem;
}

/* line 9054, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions .btn-see-more:hover {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.3), rgba(139, 92, 246, 0.3));
  border-color: rgba(99, 102, 241, 0.6);
  transform: translateY(-1px);
}

/* line 9064, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout {
  display: flex;
  gap: 1.25rem;
}

/* line 9068, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-main-area {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 9075, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
  height: 200px;
}

/* line 9080, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel {
  width: 180px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* line 9087, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section {
  background: rgba(0, 0, 0, 0.25);
  padding: 0.6rem 0.75rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 9093, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stats-title {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.4rem;
  font-weight: 600;
}

/* line 9102, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.3rem;
}

/* line 9108, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row:last-child {
  margin-bottom: 0;
}

/* line 9110, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-label {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 9115, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
}

/* line 9120, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value.positive {
  color: #22c55e;
}

/* line 9121, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value.negative {
  color: #ef4444;
}

/* line 9123, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value small {
  font-size: 0.6rem;
  margin-left: 0.15rem;
}

/* line 9126, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value small.positive {
  color: #22c55e;
}

/* line 9127, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value small.negative {
  color: #ef4444;
}

/* line 9132, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section.stats-52w {
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.2);
}

/* line 9138, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .btn-see-more-compact {
  width: 100%;
  padding: 0.5rem 0.6rem;
  background: rgba(99, 102, 241, 0.12);
  border: 1px solid rgba(99, 102, 241, 0.25);
  border-radius: 6px;
  color: #a5b4fc;
  font-size: 0.65rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: auto;
}

/* line 9155, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .btn-see-more-compact i {
  font-size: 0.55rem;
}

/* line 9157, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-pro .chart-pro-layout .chart-stats-panel .btn-see-more-compact:hover {
  background: rgba(99, 102, 241, 0.2);
  border-color: rgba(99, 102, 241, 0.4);
}

@media (max-width: 767px) {
  /* line 9169, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card {
    max-width: 100% !important;
    margin: 0.25rem 0.5rem !important;
    padding: 0.75rem !important;
  }
  /* line 9175, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section {
    padding: 0.75rem;
    gap: 0.5rem;
  }
  /* line 9179, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
  }
  /* line 9184, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .chart-title {
    font-size: 0.75rem;
  }
  /* line 9188, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .period-selector {
    width: 100%;
    justify-content: space-between;
  }
  /* line 9192, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .period-selector .period-btn {
    padding: 0.3rem 0.4rem;
    font-size: 0.55rem;
    flex: 1;
  }
  /* line 9200, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-container {
    height: 130px;
    padding: 0.5rem 0.25rem 0.25rem 0.15rem;
  }
  /* line 9205, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-footer {
    flex-direction: row;
    gap: 0.5rem;
    padding-top: 0.4rem;
  }
  /* line 9211, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats {
    gap: 0.6rem;
  }
  /* line 9215, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-label {
    font-size: 0.6rem;
  }
  /* line 9216, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-value {
    font-size: 0.65rem;
  }
  /* line 9220, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary {
    padding: 0.25rem 0.5rem;
  }
  /* line 9223, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-label {
    font-size: 0.6rem;
  }
  /* line 9224, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-value {
    font-size: 0.75rem;
  }
  /* line 9228, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-actions .btn-see-more {
    width: 100%;
    justify-content: center;
    padding: 0.6rem 1rem;
  }
  /* line 9235, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 9239, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 140px;
  }
  /* line 9243, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 9249, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section {
    flex: 1;
    min-width: 100px;
    padding: 0.5rem;
  }
  /* line 9254, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stats-title {
    font-size: 0.55rem;
  }
  /* line 9255, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-label {
    font-size: 0.6rem;
  }
  /* line 9256, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value {
    font-size: 0.7rem;
  }
  /* line 9259, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .btn-see-more-compact {
    flex-basis: 100%;
    margin-top: 0.25rem;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 9269, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card {
    max-width: 400px;
    padding: 0.9rem;
  }
  /* line 9273, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card.chart-dropdown-card-pro {
    max-width: 650px;
  }
  /* line 9278, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-container {
    height: 110px;
  }
  /* line 9283, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    gap: 1rem;
  }
  /* line 9286, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 160px;
  }
  /* line 9290, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel {
    width: 160px;
  }
  /* line 9293, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section {
    padding: 0.5rem 0.6rem;
  }
  /* line 9295, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stats-title {
    font-size: 0.55rem;
  }
  /* line 9296, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .stats-section .stat-row .stat-value {
    font-size: 0.7rem;
  }
  /* line 9299, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel .btn-see-more-compact {
    font-size: 0.6rem;
    padding: 0.4rem 0.5rem;
  }
}

/* line 9309, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row {
  background: rgba(15, 23, 42, 0.95) !important;
}

/* line 9313, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-cell {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* line 9319, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card {
  background: transparent !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  margin: 0.25rem 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
  position: relative !important;
  overflow: visible !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  width: 100%;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 9319, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .ai-analysis-row .ai-analysis-card {
    overflow: visible !important;
    max-height: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 9319, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .ai-analysis-row .ai-analysis-card {
    overflow: visible !important;
    max-height: none !important;
  }
}

/* line 9344, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.15) !important;
}

/* line 9349, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 0 !important;
  padding: 1rem 1.25rem !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.05) 0%, rgba(0, 168, 255, 0.05) 100%) !important;
  border-bottom: 1px solid rgba(0, 212, 170, 0.2) !important;
  border-radius: 8px !important;
  position: relative !important;
}

/* line 9360, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #00d4aa, #00a8ff) !important;
  border-radius: 8px 8px 0 0 !important;
}

/* line 9371, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-icon {
  margin-right: 1rem !important;
}

/* line 9374, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-icon i {
  font-size: 1.5rem !important;
  color: #00d4aa !important;
}

/* line 9380, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-title {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* line 9386, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-title h4 {
  color: #ffffff !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.25rem !important;
}

/* line 9393, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-title p {
  color: rgba(255, 255, 255, 0.7) !important;
  margin-bottom: 0.5rem !important;
  font-size: 0.9rem !important;
}

/* line 9399, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-title .analysis-type-badge {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.2) 100%) !important;
  color: #00d4aa !important;
  padding: 0.4rem 1rem !important;
  border-radius: 20px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  border: 1px solid rgba(0, 212, 170, 0.3) !important;
  box-shadow: 0 2px 4px rgba(0, 212, 170, 0.1) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* line 9415, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content {
  padding: 1rem 1.25rem !important;
  margin-top: 1rem !important;
}

/* line 9419, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 1.5rem !important;
}

/* line 9424, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card {
  background: rgba(255, 255, 255, 0.03) !important;
  border-radius: 8px !important;
  padding: 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* line 9431, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(0, 212, 170, 0.3) !important;
}

/* line 9436, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 1rem !important;
}

/* line 9442, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-header h5 {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

/* line 9451, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-header h5 i {
  color: #00d4aa !important;
  font-size: 0.9rem !important;
}

/* line 9459, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  gap: 0.75rem !important;
  margin-bottom: 1rem !important;
}

/* line 9465, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0.5rem !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* line 9475, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item.full-width {
  grid-column: 1 / -1 !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0.75rem !important;
  background: rgba(0, 212, 170, 0.05) !important;
  border: 1px solid rgba(0, 212, 170, 0.2) !important;
}

/* line 9484, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-label {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0.25rem !important;
}

/* line 9493, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value {
  color: #ffffff !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}

/* line 9498, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.positive {
  color: #28a745 !important;
}

/* line 9502, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.negative {
  color: #dc3545 !important;
}

/* line 9506, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.range-value {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  padding: 0.4rem 0.6rem !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  text-shadow: none !important;
  transition: all 0.2s ease !important;
  position: relative !important;
  overflow: hidden !important;
}

/* line 9523, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.range-value:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}

/* line 9529, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.range-value .positive-range {
  color: #4ade80 !important;
  font-weight: 600 !important;
}

/* line 9534, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.range-value .negative-range {
  color: #f87171 !important;
  font-weight: 600 !important;
}

/* line 9540, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.confidence-high {
  color: #28a745 !important;
}

/* line 9544, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.confidence-medium {
  color: #ffc107 !important;
}

/* line 9548, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.confidence-low {
  color: #dc3545 !important;
}

/* line 9552, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-metrics .metric-item .metric-value.reasoning-text {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  margin-top: 0.25rem !important;
}

/* line 9565, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-rationale .rationale-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.75rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* line 9573, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-rationale .rationale-header i {
  color: #00d4aa !important;
  font-size: 0.8rem !important;
}

/* line 9578, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-rationale .rationale-header span {
  color: #00d4aa !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* line 9587, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-rationale p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
}

/* line 9601, app/assets/stylesheets/dashboard.scss */
.price-with-warning,
.value-with-warning,
.change-with-warning,
.estimated-value-with-warning,
.forecast-with-warning {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  position: relative;
}

/* line 9611, app/assets/stylesheets/dashboard.scss */
.price-with-warning .warning-icon,
.value-with-warning .warning-icon,
.change-with-warning .warning-icon,
.estimated-value-with-warning .warning-icon,
.forecast-with-warning .warning-icon {
  color: #ffa726;
  font-size: 0.75rem;
  opacity: 0.8;
  cursor: help;
  transition: opacity 0.2s ease;
}

/* line 9618, app/assets/stylesheets/dashboard.scss */
.price-with-warning .warning-icon:hover,
.value-with-warning .warning-icon:hover,
.change-with-warning .warning-icon:hover,
.estimated-value-with-warning .warning-icon:hover,
.forecast-with-warning .warning-icon:hover {
  opacity: 1;
}

/* line 9625, app/assets/stylesheets/dashboard.scss */
[data-bs-toggle="tooltip"] {
  cursor: help;
}

/* line 9630, app/assets/stylesheets/dashboard.scss */
.inline-loading {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0.5rem 0;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1) 0%, rgba(0, 168, 255, 0.1) 100%);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  animation: slideInFromRight 0.3s ease-out;
  position: relative;
  /* Ensure it's positioned relative, not fixed */
  z-index: 1;
  /* Low z-index to stay inline */
}

/* line 9644, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 9650, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-spinner .spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(0, 212, 170, 0.3);
  border-top: 2px solid #00d4aa;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* line 9660, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 9665, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text .loading-message {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}

/* line 9672, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text .loading-progress {
  width: 120px;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

/* line 9679, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text .loading-progress .progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 2px;
  width: 0%;
  transition: width 0.3s ease;
  animation: progressPulse 2s ease-in-out infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes slideInFromRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes progressPulse {
  0%, 100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}

/* line 9719, app/assets/stylesheets/dashboard.scss */
.last-updated-text {
  color: #64748b;
  font-size: 0.875rem;
  transition: all 0.3s ease;
}

/* line 9726, app/assets/stylesheets/dashboard.scss */
#last-updated-container {
  transition: all 0.3s ease;
}

/* line 9729, app/assets/stylesheets/dashboard.scss */
#last-updated-container.hidden {
  opacity: 0;
  transform: translateY(-10px);
}

/* line 9735, app/assets/stylesheets/dashboard.scss */
#inline-loading-component {
  transition: all 0.3s ease;
}

/* line 9738, app/assets/stylesheets/dashboard.scss */
#inline-loading-component.show {
  display: flex !important;
  animation: slideInFromRight 0.3s ease-out;
}

/* line 9745, app/assets/stylesheets/dashboard.scss */
.btn.disabled,
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 9751, app/assets/stylesheets/dashboard.scss */
.btn.disabled:hover,
.btn:disabled:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* line 9758, app/assets/stylesheets/dashboard.scss */
.refresh-btn-wrapper {
  display: inline-block;
  cursor: not-allowed;
}

/* line 9764, app/assets/stylesheets/dashboard.scss */
.refresh-btn.disabled,
.refresh-btn:disabled {
  background: linear-gradient(135deg, rgba(0, 180, 150, 0.35) 0%, rgba(0, 212, 170, 0.25) 100%) !important;
  border-color: rgba(0, 212, 170, 0.3) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* line 9773, app/assets/stylesheets/dashboard.scss */
.dev-refresh-btn.disabled,
.dev-refresh-btn:disabled {
  background: rgba(220, 53, 69, 0.3) !important;
  border-color: rgba(220, 53, 69, 0.3) !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

/* line 9780, app/assets/stylesheets/dashboard.scss */
#refresh-opportunities-btn.disabled,
#refresh-opportunities-btn:disabled {
  background: rgba(0, 123, 255, 0.3) !important;
  border-color: rgba(0, 123, 255, 0.3) !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

/* line 9788, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning {
  background: linear-gradient(135deg, rgba(255, 167, 38, 0.1) 0%, rgba(255, 167, 38, 0.05) 100%);
  border: 1px solid rgba(255, 167, 38, 0.3);
  border-radius: 16px;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 15px rgba(255, 167, 38, 0.1);
}

/* line 9796, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning .fas.fa-exclamation-triangle {
  color: #ffa726;
  font-size: 1.2rem;
}

/* line 9801, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning strong {
  color: #ffa726;
  font-weight: 600;
}

/* line 9806, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning p {
  color: #94a3b8;
  font-size: 0.9rem;
  margin-top: 0.5rem;
}

/* line 9813, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning:hover {
  border-color: rgba(255, 167, 38, 0.5);
  box-shadow: 0 6px 20px rgba(255, 167, 38, 0.15);
  transform: translateY(-1px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 9821, app/assets/stylesheets/dashboard.scss */
.header-live-dot {
  margin-left: 0.3rem !important;
  margin-right: 0.15rem !important;
}

/* line 9826, app/assets/stylesheets/dashboard.scss */
.price-live-dot {
  display: inline-block !important;
  flex-shrink: 0 !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #00d4aa !important;
  margin-left: 0.35rem !important;
  vertical-align: middle !important;
  cursor: help !important;
  animation: pulse-live 2s infinite !important;
  box-shadow: 0 0 4px rgba(0, 212, 170, 0.5) !important;
}

@media (max-width: 767px) {
  /* line 9826, app/assets/stylesheets/dashboard.scss */
  .price-live-dot {
    width: 5px !important;
    height: 5px !important;
    margin-left: 0.25rem !important;
  }
}

@keyframes pulse-live {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 4px rgba(0, 212, 170, 0.5);
  }
  50% {
    opacity: 0.6;
    box-shadow: 0 0 8px rgba(0, 212, 170, 0.8);
  }
}

/* line 9859, app/assets/stylesheets/dashboard.scss */
.price-header-info {
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center;
  justify-content: center;
  min-width: 14px !important;
  width: 14px !important;
  height: 14px !important;
  font-size: 0.55rem !important;
  font-weight: 700 !important;
  color: #00d4aa !important;
  background: rgba(0, 212, 170, 0.2) !important;
  border: 1px solid rgba(0, 212, 170, 0.4) !important;
  border-radius: 50% !important;
  margin-left: 0.35rem !important;
  cursor: help !important;
  vertical-align: middle !important;
  opacity: 1 !important;
  font-style: normal !important;
  line-height: 1 !important;
  text-indent: 0 !important;
}

/* line 9881, app/assets/stylesheets/dashboard.scss */
.price-header-info:hover {
  color: #fff !important;
  background: rgba(0, 212, 170, 0.4) !important;
}

/* line 9888, app/assets/stylesheets/dashboard.scss */
th .price-header-info,
thead th .price-header-info,
.stocks-table th .price-header-info {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #00d4aa !important;
}

/* line 9898, app/assets/stylesheets/dashboard.scss */
small.usd-conversion,
.usd-conversion {
  color: #a0aec0 !important;
  font-size: 0.65rem !important;
  font-weight: 300 !important;
  opacity: 0.7 !important;
  margin-left: 0.25rem !important;
  display: inline-block !important;
}

/* line 9909, app/assets/stylesheets/dashboard.scss */
div.usd-conversion {
  display: block !important;
  margin-left: 0 !important;
  margin-top: 0.25rem !important;
  text-align: center !important;
}

/* line 9917, app/assets/stylesheets/dashboard.scss */
.price-container,
.value-container,
.forecast-price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

@media (max-width: 1024px) {
  /* line 9929, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.5rem;
  }
  /* line 9937, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-8 {
    flex: 1;
    min-width: 0;
  }
  /* line 9942, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4 {
    flex: 0 0 auto;
    width: auto !important;
  }
  /* line 9947, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4.text-end {
    text-align: right !important;
  }
  /* line 9950, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4.text-end .btn {
    font-size: 0.75rem !important;
    padding: 0.4rem 0.7rem !important;
    white-space: nowrap;
  }
}

@media (max-width: 480px) {
  /* line 9929, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center {
    gap: 0.35rem;
  }
  /* line 9961, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4.text-end .btn {
    font-size: 0.65rem !important;
    padding: 0.35rem 0.6rem !important;
  }
  /* line 9965, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4.text-end .btn i {
    margin-right: 0.2rem;
  }
}

@media (max-width: 1024px) {
  /* line 9972, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .dashboard-subtitle {
    display: none !important;
  }
}

/* line 9981, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 1.5rem;
}

@media (max-width: 768px) {
  /* line 9981, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulations-grid {
    grid-template-columns: 1fr;
  }
}

/* line 9991, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card {
  background: rgba(15, 20, 40, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 9997, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0, 212, 170, 0.15);
  border-color: #00d4aa;
}

/* line 10003, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card .card-body {
  padding: 1.5rem;
}

/* line 10007, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card .card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

@media (max-width: 1024px) {
  /* line 10016, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 1rem;
  }
  /* line 10020, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 1rem;
  }
  /* line 10024, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.8rem !important;
  }
  /* line 10027, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.75rem !important;
  }
  /* line 10033, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    gap: 0.5rem;
  }
  /* line 10037, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    min-width: 0;
  }
  /* line 10044, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.7rem !important;
  }
  /* line 10048, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 1rem !important;
  }
  /* line 10053, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .btn-sm {
    font-size: 0.75rem;
    padding: 0.35rem 0.6rem;
  }
}

@media (max-width: 480px) {
  /* line 10060, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 0.75rem;
  }
  /* line 10064, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-start {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 10069, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 0.9rem;
    padding-right: 0;
  }
  /* line 10074, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.7rem !important;
    margin-bottom: 0.25rem !important;
  }
  /* line 10078, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.65rem !important;
  }
  /* line 10083, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .position-relative .badge-status {
    font-size: 0.6rem;
    padding: 0.3rem 0.6rem;
  }
  /* line 10088, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics {
    margin-bottom: 0.75rem !important;
  }
  /* line 10091, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.25rem;
  }
  /* line 10097, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    padding: 0 0.25rem;
  }
  /* line 10103, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item {
    text-align: center;
  }
  /* line 10106, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.6rem !important;
    white-space: nowrap;
  }
  /* line 10111, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 0.85rem !important;
    word-break: break-word;
  }
  /* line 10117, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-center {
    gap: 0.5rem;
  }
  /* line 10120, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-center .btn-sm {
    font-size: 0.7rem;
    padding: 0.3rem 0.5rem;
    flex: 1;
  }
}

/* line 10129, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 10137, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status.badge-pending {
  background: rgba(255, 165, 0, 0.2);
  color: #ffa500;
  border: 1px solid rgba(255, 165, 0, 0.3);
}

/* line 10143, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status.badge-processing {
  background: rgba(0, 168, 255, 0.2);
  color: #00a8ff;
  border: 1px solid rgba(0, 168, 255, 0.3);
  animation: pulse 2s infinite;
}

/* line 10150, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status.badge-completed {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

/* line 10156, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status.badge-failed {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
  border: 1px solid rgba(255, 107, 107, 0.3);
}

/* line 10164, app/assets/stylesheets/dashboard.scss */
.simulations-section .metric-item .metric-label {
  display: block;
  font-size: 0.875rem;
  color: #64748b;
  margin-bottom: 0.25rem;
}

/* line 10171, app/assets/stylesheets/dashboard.scss */
.simulations-section .metric-item .metric-value {
  display: block;
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
}

@media (max-width: 1024px) {
  /* line 10183, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -0.15rem !important;
    margin-right: -0.15rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 10191, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
    width: 33.333% !important;
    padding: 0.15rem !important;
  }
  /* line 10198, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card {
    padding: 0.5rem 0.3rem !important;
    min-height: auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  /* line 10208, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    margin-bottom: 0.25rem !important;
  }
  /* line 10215, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.7rem !important;
  }
  /* line 10219, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-content h3 {
    font-size: 0.8rem !important;
    margin-bottom: 0 !important;
  }
  /* line 10224, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-content p {
    font-size: 0.5rem !important;
    margin: 0 !important;
    line-height: 1.1 !important;
    display: none !important;
  }
}

@media (max-width: 1024px) and (max-width: 768px) {
  /* line 10233, app/assets/stylesheets/dashboard.scss */
  .predictions-and-events-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* line 10242, app/assets/stylesheets/dashboard.scss */
  .predictions-column {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
    padding-right: 0.75rem !important;
  }
  /* line 10250, app/assets/stylesheets/dashboard.scss */
  .predictions-column .row {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }
  /* line 10257, app/assets/stylesheets/dashboard.scss */
  .predictions-column .col-md-4 {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
  }
  /* line 10265, app/assets/stylesheets/dashboard.scss */
  .predictions-column .best-case-card,
.predictions-column .worst-case-card {
    display: none !important;
  }
  /* line 10271, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer {
    width: 120px !important;
    height: 120px !important;
    min-width: 120px !important;
    min-height: 120px !important;
    max-width: 120px !important;
    max-height: 120px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0.75rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  /* line 10287, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 10293, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon i {
    font-size: 1rem !important;
  }
  /* line 10297, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* line 10304, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-content h3 {
    font-size: 1rem !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.2 !important;
  }
  /* line 10310, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-content p {
    font-size: 0.65rem !important;
    margin: 0 !important;
    display: block !important;
    line-height: 1.2 !important;
  }
  /* line 10318, app/assets/stylesheets/dashboard.scss */
  .events-column {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
  }
  /* line 10325, app/assets/stylesheets/dashboard.scss */
  .events-column .card {
    height: 100% !important;
  }
}

@media (max-width: 1024px) {
  /* line 10331, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.75rem !important;
  }
  /* line 10334, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 10337, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 10342, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header p {
    font-size: 0.6rem !important;
    margin: 0 !important;
    margin-top: 0.15rem !important;
  }
  /* line 10349, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.75rem !important;
  }
  /* line 10355, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* line 10359, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    min-width: 100% !important;
    font-size: 0.7rem !important;
  }
  /* line 10363, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) th, .table-responsive table:not(.stocks-table) td {
    padding: 0.4rem 0.3rem !important;
    white-space: nowrap;
    font-size: 0.65rem !important;
  }
  /* line 10370, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) th:nth-child(6),
.table-responsive table:not(.stocks-table) td:nth-child(6) {
    display: none !important;
  }
}

@media (max-width: 480px) {
  /* line 10380, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 {
    margin-bottom: 0.35rem !important;
    margin-left: -0.08rem !important;
    margin-right: -0.08rem !important;
  }
  /* line 10386, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 {
    padding: 0.08rem !important;
  }
  /* line 10390, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card {
    padding: 0.3rem 0.2rem !important;
    border-radius: 6px !important;
  }
  /* line 10395, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin-bottom: 0.15rem !important;
  }
  /* line 10402, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.55rem !important;
  }
  /* line 10406, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-content h3 {
    font-size: 0.65rem !important;
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
  }
  /* line 10413, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.5rem !important;
  }
  /* line 10416, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 10419, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 10423, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header p {
    font-size: 0.55rem !important;
    display: none !important;
  }
  /* line 10429, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.5rem !important;
  }
  /* line 10436, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    font-size: 0.6rem !important;
  }
  /* line 10439, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) th, .table-responsive table:not(.stocks-table) td {
    padding: 0.3rem 0.2rem !important;
    font-size: 0.55rem !important;
  }
  /* line 10445, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) th:nth-child(2),
.table-responsive table:not(.stocks-table) td:nth-child(2) {
    display: none !important;
  }
}

/* line 10455, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-group {
  margin-bottom: 1.5rem;
}

/* line 10459, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-label {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

/* line 10465, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-control {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  color: #ffffff;
  padding: 0.75rem 1rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 10473, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-control:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #00d4aa;
  box-shadow: 0 0 0 3px rgba(0, 212, 170, 0.1);
  outline: none;
}

/* line 10481, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check {
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 10487, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* line 10491, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check .form-check-input {
  margin-top: 0.25rem;
}

/* line 10494, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check .form-check-input:checked {
  background-color: #00d4aa;
  border-color: #00d4aa;
}

/* line 10500, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check .form-check-label {
  color: #ffffff;
  cursor: pointer;
  padding-left: 0.5rem;
}

/* line 10507, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card {
  background: rgba(15, 20, 40, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  margin-bottom: 1.5rem;
}

/* line 10513, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card .card-header {
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1rem 1.5rem;
}

/* line 10518, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card .card-header h5 {
  margin: 0;
  color: #ffffff;
  font-weight: 600;
}

/* line 10524, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card .card-header .text-muted {
  font-size: 0.875rem;
  color: #64748b;
}

/* line 10530, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card .card-body {
  padding: 1.5rem;
}

/* line 10539, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .section-header {
  margin-bottom: 2rem;
}

/* line 10542, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .section-header h1 {
  color: #ffffff;
  margin-bottom: 1rem;
}

/* line 10546, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .section-header h1 i {
  color: #00d4aa;
  margin-right: 0.5rem;
}

/* line 10553, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card {
  background: rgba(15, 20, 40, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 10559, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0, 212, 170, 0.15);
  border-color: #00d4aa;
}

/* line 10565, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card .card-body {
  padding: 1.5rem;
}

/* line 10569, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card h3 {
  color: #ffffff;
  font-weight: 700;
  font-size: 2rem;
}

/* line 10575, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card h6 {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 10583, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card {
  background: rgba(15, 20, 40, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  margin-bottom: 1.5rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 10590, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card:hover {
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 10594, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header {
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1rem 1.5rem;
}

/* line 10599, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 {
  margin: 0;
  color: #ffffff;
  font-weight: 600;
}

/* line 10604, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 i {
  color: #00d4aa;
  margin-right: 0.5rem;
}

/* line 10611, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body {
  padding: 1.5rem;
}

/* line 10616, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .narrative-content {
  color: #94a3b8;
  line-height: 1.8;
  font-size: 1rem;
}

/* line 10621, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .narrative-content p {
  margin-bottom: 1rem;
}

/* line 10626, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table {
  color: #ffffff;
}

/* line 10629, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table thead {
  background: rgba(255, 255, 255, 0.05);
}

/* line 10632, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table thead th {
  border-bottom: 2px solid rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
}

/* line 10643, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 10647, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 10652, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody td {
  color: #94a3b8;
  padding: 1rem;
}

/* line 10656, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody td strong {
  color: #ffffff;
}

/* line 10660, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody td .badge {
  margin-right: 0.25rem;
  background: rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  font-weight: 500;
}

/* line 10670, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section ul {
  list-style: none;
  padding-left: 0;
}

/* line 10674, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section ul li {
  padding: 0.5rem 0;
  color: #94a3b8;
  position: relative;
  padding-left: 1.5rem;
}

/* line 10680, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section ul li:before {
  content: "•";
  color: #00d4aa;
  font-weight: bold;
  position: absolute;
  left: 0;
}

/* line 10691, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section canvas {
  max-height: 400px;
}

/* line 10696, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card {
  background: #1a1f3a;
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 10700, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header {
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 10704, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 {
  color: #ffffff;
}

/* line 10707, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 i {
  color: #00d4aa;
}

/* line 10712, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header .text-muted {
  color: #718096 !important;
}

/* line 10717, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body {
  background: #1a1f3a;
  color: #a0aec0;
}

/* line 10721, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body p, .simulation-detail-section .card .card-body li, .simulation-detail-section .card .card-body span {
  color: #a0aec0;
}

/* line 10725, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body h6 {
  color: #ffffff;
}

/* line 10729, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body strong {
  color: #ffffff;
}

/* line 10739, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-card, .social-sentiment-section .mood-card, .social-sentiment-section .updated-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 130px;
}

/* line 10751, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-card:hover, .social-sentiment-section .mood-card:hover, .social-sentiment-section .updated-card:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(0, 212, 170, 0.3);
  box-shadow: 0 8px 20px rgba(0, 212, 170, 0.15);
}

/* line 10760, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-icon, .social-sentiment-section .mood-icon, .social-sentiment-section .updated-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  flex-shrink: 0;
}

/* line 10771, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-icon .emoji, .social-sentiment-section .mood-icon .emoji {
  font-size: 2rem;
  line-height: 1;
}

/* line 10776, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .updated-icon {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  font-size: 1.5rem;
}

/* line 10783, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-content, .social-sentiment-section .mood-content, .social-sentiment-section .updated-content {
  flex: 1;
}

/* line 10787, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-label, .social-sentiment-section .mood-label, .social-sentiment-section .updated-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #94a3b8;
  margin-bottom: 0.5rem;
}

/* line 10796, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-value, .social-sentiment-section .mood-value, .social-sentiment-section .updated-date {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 10805, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .updated-time {
  font-size: 0.85rem;
  color: #64748b;
  margin-top: 0.25rem;
}

/* line 10811, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .trend-icon, .social-sentiment-section .mood-indicator {
  font-size: 1.25rem;
}

/* line 10817, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-icon {
  background: rgba(0, 212, 170, 0.2);
}

/* line 10821, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-value {
  color: #00d4aa;
}

/* line 10828, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bearish .sentiment-icon {
  background: rgba(255, 107, 107, 0.2);
}

/* line 10832, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bearish .sentiment-value {
  color: #ff6b6b;
}

/* line 10839, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-neutral .sentiment-icon {
  background: rgba(160, 174, 192, 0.2);
}

/* line 10843, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-neutral .sentiment-value {
  color: #94a3b8;
}

/* line 10850, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-icon {
  background: rgba(0, 212, 170, 0.2);
}

/* line 10854, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-value {
  color: #00d4aa;
}

/* line 10861, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-cautious .mood-icon {
  background: rgba(255, 167, 38, 0.2);
}

/* line 10865, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-cautious .mood-value {
  color: #ffa726;
}

/* line 10872, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-fearful .mood-icon {
  background: rgba(255, 107, 107, 0.2);
}

/* line 10876, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-fearful .mood-value {
  color: #ff6b6b;
}

/* line 10883, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-mixed .mood-icon {
  background: rgba(160, 174, 192, 0.2);
}

/* line 10887, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-mixed .mood-value {
  color: #94a3b8;
}

/* line 10893, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-summary {
  background: rgba(0, 212, 170, 0.1);
  border-left: 4px solid #00d4aa;
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
}

/* line 10900, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-summary h4 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.2rem;
}

/* line 10910, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-summary p {
  color: #94a3b8;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

/* line 10919, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section {
  margin-bottom: 1.5rem;
}

/* line 10922, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section h4 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.2rem;
}

/* line 10931, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section h4 i {
  color: #ffa726;
}

/* line 10936, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .alerts-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 10942, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card {
  border-radius: 10px;
  margin-bottom: 0;
  padding: 1rem 1.25rem;
  border-left-width: 4px;
}

/* line 10948, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-danger {
  background: rgba(255, 107, 107, 0.12);
  border-left-color: #ff6b6b;
}

/* line 10952, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-danger i {
  color: #ff6b6b;
}

/* line 10957, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-warning {
  background: rgba(255, 167, 38, 0.12);
  border-left-color: #ffa726;
}

/* line 10961, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-warning i {
  color: #ffa726;
}

/* line 10966, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-info {
  background: rgba(0, 168, 255, 0.12);
  border-left-color: #00a8ff;
}

/* line 10970, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-info i {
  color: #00a8ff;
}

/* line 10975, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card strong {
  font-size: 1rem;
  color: #ffffff;
}

/* line 10980, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card p {
  color: #94a3b8;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 0;
}

/* line 10987, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card .badge-sm {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  font-weight: 600;
}

/* line 10993, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card .alert-sectors {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* line 11000, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card .alert-sectors .badge {
  font-size: 0.7rem;
  font-weight: 500;
}

/* line 11007, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link {
  color: #00d4aa;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 11017, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 11021, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link:hover i {
  transform: translateX(3px);
}

/* line 11026, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link i {
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

/* line 11035, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 1.5rem;
  height: 100%;
  transition: all 0.3s ease;
}

/* line 11043, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* line 11048, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

/* line 11054, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header h5 {
  margin: 0;
  font-weight: 700;
  color: #ffffff;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 11063, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header h5 i {
  color: #00d4aa;
}

/* line 11066, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header .fgi-source {
  font-size: 0.7rem;
  color: #94a3b8;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}

/* line 11075, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-meter-container {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}

/* line 11081, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-meter {
  width: 180px;
  text-align: center;
}

/* line 11086, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge {
  position: relative;
  width: 180px;
  height: 100px;
  margin: 0 auto;
}

/* line 11092, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge .fgi-gauge-bg {
  position: absolute;
  width: 180px;
  height: 90px;
  border-radius: 90px 90px 0 0;
  background: linear-gradient(90deg, #dc2626 0%, #f97316 25%, #eab308 50%, #84cc16 75%, #22c55e 100%);
  overflow: hidden;
}

/* line 11106, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge .fgi-gauge-bg::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 130px;
  height: 65px;
  background: rgba(15, 20, 40, 0.85);
  border-radius: 65px 65px 0 0;
}

/* line 11119, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge .fgi-needle {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 4px;
  height: 70px;
  background: linear-gradient(to top, #1e293b, #334155);
  transform-origin: bottom center;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.3);
}

/* line 11131, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge .fgi-needle::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 12px;
  background: #1e293b;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4), 0 0 0 2px rgba(255, 255, 255, 0.3);
}

/* line 11145, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge .fgi-center {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  padding: 0.5rem;
}

/* line 11153, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge .fgi-center .fgi-value {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
}

/* line 11161, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-gauge .fgi-center .fgi-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  margin-top: 0.25rem;
}

/* line 11170, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale {
  display: flex;
  justify-content: space-between;
  margin-top: 0.5rem;
}

/* line 11175, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale .scale-label {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
}

/* line 11181, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale .scale-fear {
  color: #dc2626;
}

/* line 11182, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale .scale-greed {
  color: #22c55e;
}

/* line 11185, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-history {
  display: flex;
  justify-content: space-around;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 11191, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-history .fgi-history-item {
  text-align: center;
}

/* line 11194, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-history .fgi-history-item .history-label {
  display: block;
  font-size: 0.65rem;
  color: #94a3b8;
  margin-bottom: 0.25rem;
}

/* line 11201, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-history .fgi-history-item .history-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}

/* line 11210, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-fear {
  border-left: 4px solid #dc2626;
}

/* line 11212, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-fear .fgi-center .fgi-label {
  color: #dc2626;
}

/* line 11214, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-fear {
  border-left: 4px solid #f97316;
}

/* line 11216, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-fear .fgi-center .fgi-label {
  color: #f97316;
}

/* line 11218, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-neutral {
  border-left: 4px solid #eab308;
}

/* line 11220, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-neutral .fgi-center .fgi-label {
  color: #eab308;
}

/* line 11222, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-greed {
  border-left: 4px solid #84cc16;
}

/* line 11224, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-greed .fgi-center .fgi-label {
  color: #84cc16;
}

/* line 11226, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-greed {
  border-left: 4px solid #22c55e;
}

/* line 11228, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-greed .fgi-center .fgi-label {
  color: #22c55e;
}

/* line 11232, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 1.5rem;
  height: 100%;
  transition: all 0.3s ease;
}

/* line 11240, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* line 11245, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

/* line 11251, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header h5 {
  margin: 0;
  font-weight: 700;
  color: #ffffff;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 11260, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header h5 i {
  color: #00a8ff;
}

/* line 11263, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header .vix-status {
  font-size: 0.85rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 11272, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-value-container {
  text-align: center;
  margin-bottom: 1.5rem;
}

/* line 11276, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-value-container .vix-value-big {
  font-size: 3.5rem;
  font-weight: 800;
  display: block;
  line-height: 1;
}

/* line 11283, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-value-container .vix-change {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 1rem;
  font-weight: 600;
  margin-top: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
}

/* line 11293, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-value-container .vix-change.change-up {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.15);
}

/* line 11298, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-value-container .vix-change.change-down {
  color: #22c55e;
  background: rgba(34, 197, 94, 0.15);
}

/* line 11305, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-analysis {
  background: rgba(0, 168, 255, 0.1);
  border: 1px solid rgba(0, 168, 255, 0.2);
  border-radius: 12px;
  padding: 1rem;
}

/* line 11311, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-analysis h6 {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: #00a8ff;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 11321, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-analysis p {
  margin: 0;
  font-size: 0.85rem;
  color: #94a3b8;
  line-height: 1.6;
}

/* line 11330, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-low {
  border-left: 4px solid #22c55e;
}

/* line 11332, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-low .vix-value-big {
  color: #22c55e;
}

/* line 11333, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-low .vix-status {
  color: #22c55e;
}

/* line 11335, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-normal {
  border-left: 4px solid #eab308;
}

/* line 11337, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-normal .vix-value-big {
  color: #eab308;
}

/* line 11338, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-normal .vix-status {
  color: #eab308;
}

/* line 11340, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-elevated {
  border-left: 4px solid #f97316;
}

/* line 11342, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-elevated .vix-value-big {
  color: #f97316;
}

/* line 11343, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-elevated .vix-status {
  color: #f97316;
}

/* line 11345, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-high {
  border-left: 4px solid #dc2626;
}

/* line 11347, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-high .vix-value-big {
  color: #dc2626;
}

/* line 11348, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-high .vix-status {
  color: #dc2626;
}

/* line 11354, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .alerts-fgi-row {
  align-items: start;
}

/* line 11358, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .alerts-fgi-row .alerts-column .market-alerts-section {
  margin-bottom: 0 !important;
}

/* line 11363, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .alerts-fgi-row .fgi-vix-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 11371, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 1rem 1.25rem;
}

/* line 11377, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 11383, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-section-header h4 {
  font-weight: 700;
  color: #ffffff;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 11391, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-section-header h4 i {
  color: #00d4aa;
}

/* line 11394, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-section-header .fgi-source-link {
  font-size: 0.7rem;
  color: #94a3b8;
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.2s;
}

/* line 11401, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-section-header .fgi-source-link:hover {
  opacity: 1;
  color: #00d4aa;
}

/* line 11409, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 0.75rem 0;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 11417, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget .fgi-gauge {
  position: relative;
  width: 100px;
  height: 55px;
  background: linear-gradient(90deg, #dc2626 0%, #f97316 25%, #eab308 50%, #84cc16 75%, #22c55e 100%);
  border-radius: 55px 55px 0 0;
  overflow: hidden;
  flex-shrink: 0;
}

/* line 11426, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget .fgi-gauge .fgi-gauge-bg {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 35px;
  background: rgba(15, 20, 40, 0.85);
  border-radius: 35px 35px 0 0;
}

/* line 11437, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget .fgi-gauge .fgi-needle {
  position: absolute;
  bottom: 5px;
  left: 50%;
  width: 4px;
  height: 38px;
  background: linear-gradient(to top, #1e293b, #334155);
  transform-origin: bottom center;
  transition: transform 0.5s ease;
  border-radius: 2px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.3);
}

/* line 11450, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget .fgi-gauge .fgi-center {
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
}

/* line 11456, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget .fgi-gauge .fgi-center .fgi-value {
  font-size: 1.1rem;
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* line 11465, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget .fgi-current-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 11470, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-current-widget .fgi-current-info .fgi-current-label {
  font-size: 1.5rem;
  font-weight: 800;
}

/* line 11477, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-list {
  display: flex;
  flex-direction: column;
}

/* line 11482, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 11489, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 11494, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row.fgi-history-first {
  padding-top: 0;
}

/* line 11498, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row .fgi-history-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

/* line 11503, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row .fgi-history-info .fgi-history-period {
  font-size: 0.75rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 11510, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row .fgi-history-info .fgi-history-label {
  font-size: 1rem;
  font-weight: 700;
}

/* line 11516, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row .fgi-history-value {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  /* line 11532, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .fear-greed-section-compact .fgi-history-row {
    padding: 0.5rem 0;
  }
  /* line 11535, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .fear-greed-section-compact .fgi-history-row .fgi-history-info .fgi-history-label {
    font-size: 0.9rem;
  }
  /* line 11539, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .fear-greed-section-compact .fgi-history-row .fgi-history-value {
    width: 36px;
    height: 36px;
    font-size: 0.85rem;
  }
}

/* line 11549, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  transition: all 0.3s ease;
  flex-grow: 1;
}

/* line 11557, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* line 11562, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 11568, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact h6 {
  margin: 0;
  font-weight: 700;
  color: #ffffff;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 11577, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact h6 i {
  color: #00a8ff;
}

/* line 11580, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact .vix-status-compact {
  font-size: 0.8rem;
  font-weight: 600;
}

/* line 11586, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 11592, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-value-compact {
  font-size: 1.75rem;
  font-weight: 800;
}

/* line 11597, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact {
  font-size: 0.85rem;
  font-weight: 600;
}

/* line 11601, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact.change-up {
  color: #dc2626;
}

/* line 11604, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact.change-down {
  color: #22c55e;
}

/* line 11608, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact i {
  margin-right: 0.2rem;
}

/* line 11612, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-analysis-compact {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 0.75rem;
}

/* line 11616, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-analysis-compact p {
  margin: 0;
  font-size: 0.8rem;
  color: #94a3b8;
  line-height: 1.5;
}

/* line 11625, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-low {
  border-left: 4px solid #22c55e;
}

/* line 11627, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-low .vix-value-compact {
  color: #22c55e;
}

/* line 11628, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-low .vix-status-compact {
  color: #22c55e;
}

/* line 11630, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-normal {
  border-left: 4px solid #eab308;
}

/* line 11632, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-normal .vix-value-compact {
  color: #eab308;
}

/* line 11633, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-normal .vix-status-compact {
  color: #eab308;
}

/* line 11635, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-elevated {
  border-left: 4px solid #f97316;
}

/* line 11637, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-elevated .vix-value-compact {
  color: #f97316;
}

/* line 11638, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-elevated .vix-status-compact {
  color: #f97316;
}

/* line 11640, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-high {
  border-left: 4px solid #dc2626;
}

/* line 11642, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-high .vix-value-compact {
  color: #dc2626;
}

/* line 11643, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-high .vix-status-compact {
  color: #dc2626;
}

/* line 11648, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-section h4 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  font-size: 1.25rem;
}

/* line 11659, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 11665, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topic-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 1.25rem;
  transition: all 0.3s ease;
  border-left: 4px solid #00a8ff;
}

/* line 11673, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topic-card:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(0, 168, 255, 0.4);
  box-shadow: 0 8px 20px rgba(0, 168, 255, 0.2);
}

/* line 11681, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topic-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
  gap: 0.75rem;
}

/* line 11688, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topic-header h5 {
  font-weight: 700;
  margin: 0;
  color: #ffffff;
  font-size: 1.05rem;
  flex: 1;
}

/* line 11697, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topic-body p {
  color: #94a3b8;
  margin-bottom: 0.75rem;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 11705, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .trending-stocks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

/* line 11711, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .trending-stock-card {
  background: linear-gradient(135deg, rgba(255, 167, 38, 0.15) 0%, rgba(255, 167, 38, 0.05) 100%);
  border: 1px solid rgba(255, 167, 38, 0.3);
  border-radius: 12px;
  padding: 1.25rem;
  transition: all 0.3s ease;
}

/* line 11718, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .trending-stock-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, rgba(255, 167, 38, 0.2) 0%, rgba(255, 167, 38, 0.1) 100%);
  border-color: rgba(255, 167, 38, 0.5);
  box-shadow: 0 8px 20px rgba(255, 167, 38, 0.25);
}

/* line 11726, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-symbol {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 11732, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-symbol strong {
  font-size: 1.3rem;
  color: #ffffff;
  font-weight: 800;
}

/* line 11739, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-mentions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #94a3b8;
  margin-bottom: 0.75rem;
  font-weight: 600;
  background: rgba(0, 0, 0, 0.2);
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  width: fit-content;
}

/* line 11751, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-mentions i {
  color: #ffa726;
}

/* line 11756, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-reason p {
  color: #94a3b8;
  margin: 0;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 11764, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1rem;
}

/* line 11770, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15) 0%, rgba(255, 215, 0, 0.05) 100%);
  border: 1px solid rgba(255, 215, 0, 0.3);
  border-radius: 12px;
  padding: 1rem;
  transition: all 0.3s ease;
}

/* line 11777, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 215, 0, 0.2);
}

/* line 11782, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-up {
  border-left: 4px solid #00d4aa;
}

/* line 11786, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-down {
  border-left: 4px solid #ff6b6b;
}

/* line 11790, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-stable {
  border-left: 4px solid #94a3b8;
}

/* line 11795, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 11801, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-header .commodity-name {
  font-weight: 700;
  font-size: 1rem;
  color: #ffffff;
}

/* line 11807, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-header .commodity-symbol {
  font-size: 0.85rem;
}

/* line 11812, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 11818, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price .price {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
}

/* line 11824, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price .change {
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 11828, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price .change i {
  margin-right: 0.25rem;
}

/* line 11834, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-insight p {
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
  font-size: 0.85rem;
}

/* line 11841, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-warning {
  margin: 0.5rem 0;
  font-size: 0.75rem;
}

/* line 11845, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-warning i {
  margin-right: 0.25rem;
}

/* line 11850, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .change-type {
  font-size: 0.7rem;
  color: #94a3b8;
  margin-left: 0.25rem;
}

/* line 11857, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(139, 92, 246, 0.05) 100%);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 12px;
  padding: 1.25rem;
}

/* line 11863, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-value-display {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 11869, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-current {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}

/* line 11878, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-label {
  font-weight: 600;
  color: #94a3b8;
  font-size: 0.9rem;
}

/* line 11884, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number {
  font-size: 1.75rem;
  font-weight: 700;
}

/* line 11888, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number.vix-normal {
  color: #22c55e;
}

/* line 11892, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number.vix-elevated {
  color: #f59e0b;
}

/* line 11896, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number.vix-high {
  color: #ef4444;
}

/* line 11901, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-change {
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 11906, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-analysis-text {
  color: #94a3b8;
  line-height: 1.6;
  margin: 0;
  font-size: 0.95rem;
}

/* line 11915, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-analysis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

/* line 11921, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 11927, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column.outperforming {
  border-left: 4px solid #00d4aa;
}

/* line 11931, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column.underperforming {
  border-left: 4px solid #ff6b6b;
}

/* line 11936, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 700;
}

/* line 11944, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column-title i {
  font-size: 0.9rem;
}

/* line 11949, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sectors-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 11955, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-item {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  padding: 0.75rem;
}

/* line 11960, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-item.sector-up {
  border-left: 3px solid #00d4aa;
}

/* line 11964, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-item.sector-down {
  border-left: 3px solid #ff6b6b;
}

/* line 11969, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-name {
  font-weight: 700;
  color: #ffffff;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

/* line 11976, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-change {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

/* line 11982, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-reason {
  color: #94a3b8;
  font-size: 0.85rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}

/* line 11989, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-stocks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.5rem;
}

/* line 11995, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-stocks .stock-badge {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  color: white;
}

/* line 12003, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal {
  background: rgba(139, 92, 246, 0.15);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  color: #ffffff;
}

/* line 12011, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal i {
  margin-right: 0.5rem;
  color: #8b5cf6;
}

/* line 12016, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal strong {
  color: #8b5cf6;
}

/* line 12022, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .events-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 12028, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 1.25rem;
  border-left: 4px solid #ffa726;
  transition: all 0.3s ease;
}

/* line 12036, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-card:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 12px rgba(255, 167, 38, 0.2);
}

/* line 12043, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
  gap: 0.75rem;
}

/* line 12050, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-header h5 {
  font-weight: 700;
  margin: 0;
  color: #ffffff;
  font-size: 1.05rem;
  flex: 1;
}

/* line 12059, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-context {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 12063, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-context p {
  color: #94a3b8;
  line-height: 1.6;
  margin: 0;
  font-size: 0.9rem;
}

/* line 12071, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-sectors {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 12078, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-sectors strong {
  color: #94a3b8;
  font-size: 0.85rem;
}

/* line 12084, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-badge {
  background: rgba(0, 168, 255, 0.2);
  color: #00a8ff;
  padding: 0.35rem 0.75rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid rgba(0, 168, 255, 0.3);
}

/* line 12095, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-success {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(0, 212, 170, 0.4);
}

/* line 12104, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-danger {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(255, 107, 107, 0.4);
}

/* line 12113, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-warning {
  background: rgba(255, 167, 38, 0.2);
  color: #ffa726;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(255, 167, 38, 0.4);
}

/* line 12122, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-info {
  background: rgba(0, 168, 255, 0.2);
  color: #00a8ff;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(0, 168, 255, 0.4);
}

/* line 12131, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-secondary {
  background: rgba(160, 174, 192, 0.2);
  color: #94a3b8;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(160, 174, 192, 0.3);
}

/* line 12140, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-positive {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(0, 212, 170, 0.4);
}

/* line 12149, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-negative {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(255, 107, 107, 0.4);
}

/* line 12158, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-neutral {
  background: rgba(160, 174, 192, 0.2);
  color: #94a3b8;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(160, 174, 192, 0.3);
}

/* line 12168, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state {
  text-align: center;
  padding: 3rem 2rem;
}

/* line 12172, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state .empty-icon {
  font-size: 4rem;
  color: #64748b;
  margin-bottom: 1.5rem;
}

/* line 12177, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state .empty-icon i {
  opacity: 0.5;
}

/* line 12182, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state h3 {
  color: #ffffff;
  margin-bottom: 0.75rem;
  font-size: 1.5rem;
}

/* line 12188, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state p {
  color: #94a3b8;
  font-size: 1rem;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

@keyframes pulse-analyzing {
  0%, 100% {
    box-shadow: 0 0 4px rgba(0, 212, 170, 0.3);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 12px rgba(0, 212, 170, 0.6);
    transform: scale(1.1);
  }
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 2px 8px rgba(0, 212, 170, 0.2);
    border-color: rgba(0, 212, 170, 0.4);
  }
  50% {
    box-shadow: 0 4px 16px rgba(0, 212, 170, 0.4);
    border-color: rgba(0, 212, 170, 0.7);
  }
}

/* line 12229, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1) 0%, rgba(0, 168, 255, 0.1) 100%);
  border: 1px solid rgba(0, 212, 170, 0.4);
  border-radius: 12px;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}

/* line 12241, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

/* line 12245, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}

/* line 12253, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .market-emoji {
  font-size: 1.25rem;
}

/* line 12257, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .analysis-text {
  color: #00d4aa;
  font-size: 0.9rem;
  font-weight: 500;
}

/* line 12263, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .next-day-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 12274, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .next-day-badge i {
  font-size: 0.65rem;
}

@media (max-width: 768px) {
  /* line 12229, app/assets/stylesheets/dashboard.scss */
  .market-analysis-banner {
    flex-direction: column;
    padding: 0.5rem 0.75rem;
  }
  /* line 12285, app/assets/stylesheets/dashboard.scss */
  .market-analysis-banner .analysis-market-item {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
  /* line 12290, app/assets/stylesheets/dashboard.scss */
  .market-analysis-banner .analysis-market-item .analysis-text {
    font-size: 0.8rem;
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* line 12309, app/assets/stylesheets/dashboard.scss */
.simulation-card,
.metric-card {
  animation: slideIn 0.5s ease-out;
}

/* line 12315, app/assets/stylesheets/dashboard.scss */
.processing-steps {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
}

/* line 12321, app/assets/stylesheets/dashboard.scss */
.processing-steps::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 40px;
  bottom: 40px;
  width: 2px;
  background: rgba(255, 255, 255, 0.1);
  z-index: 0;
}

/* line 12332, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
  z-index: 1;
}

/* line 12339, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step .step-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
  transition: all 0.3s ease;
}

/* line 12351, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step .step-icon i {
  font-size: 1rem;
  color: #718096;
  transition: all 0.3s ease;
}

/* line 12359, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.active .step-icon {
  background: rgba(0, 212, 170, 0.2);
  border-color: rgba(0, 212, 170, 0.5);
}

/* line 12363, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.active .step-icon i {
  color: #00d4aa;
}

/* line 12369, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.active .step-content h6 {
  color: #ffffff;
}

/* line 12376, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.completed .step-icon {
  background: rgba(40, 167, 69, 0.2);
  border-color: rgba(40, 167, 69, 0.5);
}

/* line 12380, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.completed .step-icon i {
  color: #28a745;
}

/* line 12387, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.pending .step-icon {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 12391, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.pending .step-icon i {
  color: #718096;
}

/* line 12397, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.pending .step-content h6 {
  color: #718096;
}

/* line 12401, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.pending .step-content p {
  color: #718096;
}

/* line 12407, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step .step-content {
  flex: 1;
}

/* line 12410, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step .step-content h6 {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: #a0aec0;
  transition: color 0.3s ease;
}

/* line 12418, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step .step-content p {
  color: #718096;
  font-size: 0.875rem;
  line-height: 1.5;
  margin: 0;
}

/* line 12429, app/assets/stylesheets/dashboard.scss */
.badge-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 12440, app/assets/stylesheets/dashboard.scss */
.badge-status i {
  font-size: 0.75rem;
}

/* line 12444, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-pending {
  background: rgba(255, 167, 38, 0.1);
  color: #ffa726;
  border: 1px solid rgba(255, 167, 38, 0.3);
}

/* line 12450, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-processing {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

/* line 12455, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-processing i.fa-spin {
  animation: fa-spin 2s infinite linear;
}

/* line 12460, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-completed {
  background: rgba(40, 167, 69, 0.1);
  color: #28a745;
  border: 1px solid rgba(40, 167, 69, 0.3);
}

/* line 12466, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-failed {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
  border: 1px solid rgba(220, 53, 69, 0.3);
}

/* line 12476, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card-body .refresh-status-component .refresh-status-text {
  display: none;
}

@media (max-width: 1024px) {
  /* line 12490, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card {
    padding: 0.75rem !important;
  }
  /* line 12493, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header {
    margin-bottom: 0.4rem !important;
  }
  /* line 12496, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header .symbol-tag {
    font-size: 0.7rem !important;
    padding: 0.3rem 0.6rem !important;
  }
  /* line 12502, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-name {
    font-size: 0.6rem !important;
    padding: 0.15rem 0.35rem !important;
  }
  /* line 12507, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 12512, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item {
    padding: 0.35rem !important;
  }
  /* line 12515, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-label {
    font-size: 0.55rem !important;
  }
  /* line 12519, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-value {
    font-size: 0.75rem !important;
  }
  /* line 12525, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .confidence-badge {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 12530, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .sector-badge, .opportunities-section .opportunity-card .location-badge,
.opportunities-section .opportunity-card .sector-tag, .opportunities-section .opportunity-card .location-tag {
    font-size: 0.6rem !important;
    padding: 0.2rem 0.4rem !important;
    border-radius: 4px !important;
  }
  /* line 12537, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .investment-rationale,
.opportunities-section .opportunity-card .opportunity-reason {
    padding: 0.5rem !important;
    margin-top: 0.4rem !important;
  }
  /* line 12542, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .investment-rationale h6, .opportunities-section .opportunity-card .investment-rationale .reason-header span,
.opportunities-section .opportunity-card .opportunity-reason h6,
.opportunities-section .opportunity-card .opportunity-reason .reason-header span {
    font-size: 0.65rem !important;
    margin-bottom: 0.25rem !important;
    letter-spacing: 0.02em !important;
  }
  /* line 12548, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .investment-rationale p, .opportunities-section .opportunity-card .investment-rationale .reason-content p,
.opportunities-section .opportunity-card .opportunity-reason p,
.opportunities-section .opportunity-card .opportunity-reason .reason-content p {
    font-size: 0.6rem !important;
    line-height: 1.4 !important;
  }
  /* line 12559, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning,
.social-sentiment-section .alert.alert-danger,
.social-sentiment-section .alert.alert-info {
    padding: 0.6rem 0.75rem !important;
    margin-bottom: 0.6rem !important;
    border-radius: 8px !important;
  }
  /* line 12566, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning .d-flex,
.social-sentiment-section .alert.alert-danger .d-flex,
.social-sentiment-section .alert.alert-info .d-flex {
    gap: 0.5rem !important;
  }
  /* line 12570, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning i.fas, .social-sentiment-section .alert.alert-warning i.fa,
.social-sentiment-section .alert.alert-danger i.fas,
.social-sentiment-section .alert.alert-danger i.fa,
.social-sentiment-section .alert.alert-info i.fas,
.social-sentiment-section .alert.alert-info i.fa {
    font-size: 1rem !important;
  }
  /* line 12574, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning strong,
.social-sentiment-section .alert.alert-danger strong,
.social-sentiment-section .alert.alert-info strong {
    font-size: 0.8rem !important;
    display: block;
    margin-bottom: 0.2rem;
  }
  /* line 12580, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning p,
.social-sentiment-section .alert.alert-danger p,
.social-sentiment-section .alert.alert-info p {
    font-size: 0.7rem !important;
    line-height: 1.4 !important;
    margin: 0 !important;
  }
  /* line 12588, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .row:has(.sentiment-card, .mood-card, .updated-card) {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.4rem !important;
  }
  /* line 12593, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .row:has(.sentiment-card, .mood-card, .updated-card) > [class*="col-"] {
    flex: 1 !important;
    max-width: 33.333% !important;
    padding: 0.2rem !important;
  }
  /* line 12600, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card, .social-sentiment-section .mood-card, .social-sentiment-section .updated-card {
    padding: 0.6rem !important;
    min-height: auto !important;
    flex-direction: column !important;
    text-align: center !important;
    gap: 0.3rem !important;
  }
  /* line 12607, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-icon, .social-sentiment-section .sentiment-card .mood-icon, .social-sentiment-section .sentiment-card .updated-icon, .social-sentiment-section .mood-card .sentiment-icon, .social-sentiment-section .mood-card .mood-icon, .social-sentiment-section .mood-card .updated-icon, .social-sentiment-section .updated-card .sentiment-icon, .social-sentiment-section .updated-card .mood-icon, .social-sentiment-section .updated-card .updated-icon {
    width: 36px !important;
    height: 36px !important;
    margin: 0 auto 0.3rem !important;
  }
  /* line 12612, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-icon .emoji, .social-sentiment-section .sentiment-card .mood-icon .emoji, .social-sentiment-section .sentiment-card .updated-icon .emoji, .social-sentiment-section .mood-card .sentiment-icon .emoji, .social-sentiment-section .mood-card .mood-icon .emoji, .social-sentiment-section .mood-card .updated-icon .emoji, .social-sentiment-section .updated-card .sentiment-icon .emoji, .social-sentiment-section .updated-card .mood-icon .emoji, .social-sentiment-section .updated-card .updated-icon .emoji {
    font-size: 1.1rem !important;
  }
  /* line 12616, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-icon i, .social-sentiment-section .sentiment-card .mood-icon i, .social-sentiment-section .sentiment-card .updated-icon i, .social-sentiment-section .mood-card .sentiment-icon i, .social-sentiment-section .mood-card .mood-icon i, .social-sentiment-section .mood-card .updated-icon i, .social-sentiment-section .updated-card .sentiment-icon i, .social-sentiment-section .updated-card .mood-icon i, .social-sentiment-section .updated-card .updated-icon i {
    font-size: 0.9rem !important;
  }
  /* line 12621, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-content, .social-sentiment-section .sentiment-card .mood-content, .social-sentiment-section .sentiment-card .updated-content, .social-sentiment-section .mood-card .sentiment-content, .social-sentiment-section .mood-card .mood-content, .social-sentiment-section .mood-card .updated-content, .social-sentiment-section .updated-card .sentiment-content, .social-sentiment-section .updated-card .mood-content, .social-sentiment-section .updated-card .updated-content {
    width: 100% !important;
  }
  /* line 12625, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-label, .social-sentiment-section .sentiment-card .mood-label, .social-sentiment-section .sentiment-card .updated-label, .social-sentiment-section .mood-card .sentiment-label, .social-sentiment-section .mood-card .mood-label, .social-sentiment-section .mood-card .updated-label, .social-sentiment-section .updated-card .sentiment-label, .social-sentiment-section .updated-card .mood-label, .social-sentiment-section .updated-card .updated-label {
    font-size: 0.55rem !important;
    margin-bottom: 0.15rem !important;
  }
  /* line 12630, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-value, .social-sentiment-section .sentiment-card .mood-value, .social-sentiment-section .mood-card .sentiment-value, .social-sentiment-section .mood-card .mood-value, .social-sentiment-section .updated-card .sentiment-value, .social-sentiment-section .updated-card .mood-value {
    font-size: 0.85rem !important;
    justify-content: center !important;
  }
  /* line 12635, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .updated-date, .social-sentiment-section .mood-card .updated-date, .social-sentiment-section .updated-card .updated-date {
    font-size: 0.7rem !important;
  }
  /* line 12639, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .updated-time, .social-sentiment-section .mood-card .updated-time, .social-sentiment-section .updated-card .updated-time {
    font-size: 0.55rem !important;
  }
  /* line 12644, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.8rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 12649, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.65rem !important;
  }
  /* line 12652, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card h4, .social-sentiment-section .summary-card h5, .social-sentiment-section .sentiment-summary h4, .social-sentiment-section .sentiment-summary h5 {
    font-size: 0.8rem !important;
  }
  /* line 12656, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card p, .social-sentiment-section .sentiment-summary p {
    font-size: 0.7rem !important;
  }
  /* line 12662, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.55rem !important;
  }
  /* line 12665, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 12669, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.65rem !important;
  }
  /* line 12673, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .badge {
    font-size: 0.55rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 12680, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.4rem !important;
  }
  /* line 12684, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.55rem !important;
  }
  /* line 12687, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 12691, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 12695, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.65rem !important;
  }
  /* line 12699, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .badge {
    font-size: 0.55rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 12708, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.65rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 12713, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 12717, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header .badge {
    font-size: 0.55rem !important;
    padding: 0.1rem 0.3rem !important;
  }
  /* line 12723, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 12727, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 12730, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors .sector-badge {
    font-size: 0.6rem !important;
    padding: 0.1rem 0.3rem !important;
  }
}

@media (max-width: 576px) {
  /* line 12745, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header h2 {
    font-size: 0.95rem !important;
  }
  /* line 12750, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card {
    padding: 0.4rem !important;
    margin-bottom: 0.3rem !important;
  }
  /* line 12754, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header {
    margin-bottom: 0.3rem !important;
  }
  /* line 12757, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header .symbol-tag {
    font-size: 0.6rem !important;
    padding: 0.25rem 0.5rem !important;
  }
  /* line 12763, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-name {
    font-size: 0.5rem !important;
    padding: 0.1rem 0.25rem !important;
    margin-bottom: 0.3rem !important;
  }
  /* line 12769, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.25rem !important;
  }
  /* line 12774, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item {
    padding: 0.25rem !important;
  }
  /* line 12777, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 12781, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-value {
    font-size: 0.65rem !important;
  }
  /* line 12787, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .confidence-badge {
    font-size: 0.5rem !important;
    padding: 0.1rem 0.2rem !important;
  }
  /* line 12792, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .sector-badge, .opportunities-section .opportunity-card .location-badge,
.opportunities-section .opportunity-card .sector-tag, .opportunities-section .opportunity-card .location-tag {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.35rem !important;
    border-radius: 4px !important;
  }
  /* line 12800, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .investment-rationale,
.opportunities-section .opportunity-card .opportunity-reason {
    padding: 0.4rem !important;
    margin-top: 0.3rem !important;
  }
  /* line 12805, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .investment-rationale h6, .opportunities-section .opportunity-card .investment-rationale .reason-header span,
.opportunities-section .opportunity-card .opportunity-reason h6,
.opportunities-section .opportunity-card .opportunity-reason .reason-header span {
    font-size: 0.6rem !important;
    margin-bottom: 0.2rem !important;
    letter-spacing: 0.02em !important;
  }
  /* line 12811, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .investment-rationale p, .opportunities-section .opportunity-card .investment-rationale li, .opportunities-section .opportunity-card .investment-rationale .reason-content p,
.opportunities-section .opportunity-card .opportunity-reason p,
.opportunities-section .opportunity-card .opportunity-reason li,
.opportunities-section .opportunity-card .opportunity-reason .reason-content p {
    font-size: 0.55rem !important;
    line-height: 1.4 !important;
  }
  /* line 12819, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-configure, .opportunities-section .configure-btn {
    font-size: 0.65rem !important;
    padding: 0.3rem 0.5rem !important;
  }
  /* line 12827, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section h3, .social-sentiment-section .section-title {
    font-size: 0.95rem !important;
  }
  /* line 12832, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning,
.social-sentiment-section .alert.alert-danger,
.social-sentiment-section .alert.alert-info {
    padding: 0.5rem 0.6rem !important;
    margin-bottom: 0.5rem !important;
    border-radius: 8px !important;
  }
  /* line 12839, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning .d-flex,
.social-sentiment-section .alert.alert-danger .d-flex,
.social-sentiment-section .alert.alert-info .d-flex {
    gap: 0.4rem !important;
  }
  /* line 12843, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning i.fas, .social-sentiment-section .alert.alert-warning i.fa,
.social-sentiment-section .alert.alert-danger i.fas,
.social-sentiment-section .alert.alert-danger i.fa,
.social-sentiment-section .alert.alert-info i.fas,
.social-sentiment-section .alert.alert-info i.fa {
    font-size: 0.9rem !important;
  }
  /* line 12847, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning strong,
.social-sentiment-section .alert.alert-danger strong,
.social-sentiment-section .alert.alert-info strong {
    font-size: 0.75rem !important;
    display: block;
    margin-bottom: 0.15rem;
  }
  /* line 12853, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .alert.alert-warning p,
.social-sentiment-section .alert.alert-danger p,
.social-sentiment-section .alert.alert-info p {
    font-size: 0.65rem !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }
  /* line 12861, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .row:has(.sentiment-card, .mood-card, .updated-card) {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.3rem !important;
  }
  /* line 12866, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .row:has(.sentiment-card, .mood-card, .updated-card) > [class*="col-"] {
    flex: 1 !important;
    max-width: 33.333% !important;
    padding: 0.15rem !important;
  }
  /* line 12873, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card, .social-sentiment-section .mood-card, .social-sentiment-section .updated-card {
    padding: 0.55rem !important;
    flex-direction: column !important;
    text-align: center !important;
    min-height: auto !important;
    gap: 0.25rem !important;
  }
  /* line 12880, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-icon, .social-sentiment-section .sentiment-card .mood-icon, .social-sentiment-section .sentiment-card .updated-icon, .social-sentiment-section .mood-card .sentiment-icon, .social-sentiment-section .mood-card .mood-icon, .social-sentiment-section .mood-card .updated-icon, .social-sentiment-section .updated-card .sentiment-icon, .social-sentiment-section .updated-card .mood-icon, .social-sentiment-section .updated-card .updated-icon {
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto 0.25rem !important;
  }
  /* line 12885, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-icon .emoji, .social-sentiment-section .sentiment-card .mood-icon .emoji, .social-sentiment-section .sentiment-card .updated-icon .emoji, .social-sentiment-section .mood-card .sentiment-icon .emoji, .social-sentiment-section .mood-card .mood-icon .emoji, .social-sentiment-section .mood-card .updated-icon .emoji, .social-sentiment-section .updated-card .sentiment-icon .emoji, .social-sentiment-section .updated-card .mood-icon .emoji, .social-sentiment-section .updated-card .updated-icon .emoji {
    font-size: 1.1rem !important;
  }
  /* line 12889, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-icon i, .social-sentiment-section .sentiment-card .mood-icon i, .social-sentiment-section .sentiment-card .updated-icon i, .social-sentiment-section .mood-card .sentiment-icon i, .social-sentiment-section .mood-card .mood-icon i, .social-sentiment-section .mood-card .updated-icon i, .social-sentiment-section .updated-card .sentiment-icon i, .social-sentiment-section .updated-card .mood-icon i, .social-sentiment-section .updated-card .updated-icon i {
    font-size: 0.85rem !important;
  }
  /* line 12894, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-content, .social-sentiment-section .sentiment-card .mood-content, .social-sentiment-section .sentiment-card .updated-content, .social-sentiment-section .mood-card .sentiment-content, .social-sentiment-section .mood-card .mood-content, .social-sentiment-section .mood-card .updated-content, .social-sentiment-section .updated-card .sentiment-content, .social-sentiment-section .updated-card .mood-content, .social-sentiment-section .updated-card .updated-content {
    width: 100% !important;
  }
  /* line 12898, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-label, .social-sentiment-section .sentiment-card .mood-label, .social-sentiment-section .sentiment-card .updated-label, .social-sentiment-section .mood-card .sentiment-label, .social-sentiment-section .mood-card .mood-label, .social-sentiment-section .mood-card .updated-label, .social-sentiment-section .updated-card .sentiment-label, .social-sentiment-section .updated-card .mood-label, .social-sentiment-section .updated-card .updated-label {
    font-size: 0.55rem !important;
    margin-bottom: 0.1rem !important;
  }
  /* line 12903, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-value, .social-sentiment-section .sentiment-card .mood-value, .social-sentiment-section .mood-card .sentiment-value, .social-sentiment-section .mood-card .mood-value, .social-sentiment-section .updated-card .sentiment-value, .social-sentiment-section .updated-card .mood-value {
    font-size: 0.85rem !important;
    justify-content: center !important;
  }
  /* line 12907, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .sentiment-value .trend-icon, .social-sentiment-section .sentiment-card .sentiment-value .mood-indicator, .social-sentiment-section .sentiment-card .mood-value .trend-icon, .social-sentiment-section .sentiment-card .mood-value .mood-indicator, .social-sentiment-section .mood-card .sentiment-value .trend-icon, .social-sentiment-section .mood-card .sentiment-value .mood-indicator, .social-sentiment-section .mood-card .mood-value .trend-icon, .social-sentiment-section .mood-card .mood-value .mood-indicator, .social-sentiment-section .updated-card .sentiment-value .trend-icon, .social-sentiment-section .updated-card .sentiment-value .mood-indicator, .social-sentiment-section .updated-card .mood-value .trend-icon, .social-sentiment-section .updated-card .mood-value .mood-indicator {
    font-size: 0.65rem !important;
  }
  /* line 12912, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .updated-date, .social-sentiment-section .mood-card .updated-date, .social-sentiment-section .updated-card .updated-date {
    font-size: 0.75rem !important;
  }
  /* line 12916, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-card .updated-time, .social-sentiment-section .mood-card .updated-time, .social-sentiment-section .updated-card .updated-time {
    font-size: 0.55rem !important;
  }
  /* line 12922, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.85rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 12928, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.7rem !important;
  }
  /* line 12931, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card h4, .social-sentiment-section .summary-card h5, .social-sentiment-section .sentiment-summary h4, .social-sentiment-section .sentiment-summary h5 {
    font-size: 0.85rem !important;
  }
  /* line 12935, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card p, .social-sentiment-section .sentiment-summary p {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
  }
  /* line 12942, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.6rem !important;
  }
  /* line 12945, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 12949, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 12953, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .badge {
    font-size: 0.6rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 12960, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 12964, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.5rem !important;
  }
  /* line 12967, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 12971, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 12975, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.7rem !important;
  }
  /* line 12979, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .badge {
    font-size: 0.6rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 12988, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item {
    padding: 0.5rem !important;
  }
  /* line 12991, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 12995, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 12999, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-meta {
    font-size: 0.6rem !important;
  }
  /* line 13007, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.6rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 13012, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 13016, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header .badge {
    font-size: 0.6rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 13022, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 13026, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 13029, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors .sector-badge {
    font-size: 0.6rem !important;
    padding: 0.1rem 0.25rem !important;
  }
}

/* line 13044, app/assets/stylesheets/dashboard.scss */
.truncated-text {
  position: relative;
}

/* line 13047, app/assets/stylesheets/dashboard.scss */
.truncated-text .text-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5;
}

/* line 13057, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn {
  display: inline-block;
  color: #00d4aa;
  font-weight: 600;
  cursor: pointer;
  margin-top: 0.2rem;
  font-size: 0.65rem;
  transition: all 0.2s ease;
  background: none;
  border: none;
  padding: 0;
}

/* line 13069, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 13074, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn i {
  margin-left: 0.2rem;
  font-size: 0.55rem;
}

/* line 13083, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .summary-card p,
.social-sentiment-section .topic-body p,
.social-sentiment-section .sentiment-summary p,
.social-sentiment-section .analysis-content p,
.social-sentiment-section .stock-reason p,
.social-sentiment-section .event-context p {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 13097, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .read-more-trigger {
  color: #00d4aa;
  font-weight: 600;
  cursor: pointer;
  font-size: inherit;
  display: inline-block;
  margin-top: 0.35rem;
}

/* line 13105, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .read-more-trigger:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 13113, app/assets/stylesheets/dashboard.scss */
.read-more-block-enabled {
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

/* line 13117, app/assets/stylesheets/dashboard.scss */
.read-more-block-enabled:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 0.03);
}

/* line 13123, app/assets/stylesheets/dashboard.scss */
.read-more-block-enabled:active {
  transform: translateY(0);
}

/* line 13130, app/assets/stylesheets/dashboard.scss */
.opportunities-section .investment-rationale p,
.opportunities-section .opportunity-description p {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 13140, app/assets/stylesheets/dashboard.scss */
.opportunities-section .read-more-trigger {
  color: #00d4aa;
  font-weight: 600;
  cursor: pointer;
  font-size: inherit;
  display: inline-block;
  margin-top: 0.25rem;
}

/* line 13148, app/assets/stylesheets/dashboard.scss */
.opportunities-section .read-more-trigger:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 13156, app/assets/stylesheets/dashboard.scss */
.read-more-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

/* line 13173, app/assets/stylesheets/dashboard.scss */
.read-more-modal.active {
  opacity: 1;
  visibility: visible;
}

/* line 13178, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-content {
  background: rgba(15, 20, 40, 0.85);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 12px;
  max-width: 600px;
  max-height: 80vh;
  width: 100%;
  overflow: hidden;
  transform: translateY(20px);
  transition: transform 0.3s ease;
}

/* line 13189, app/assets/stylesheets/dashboard.scss */
.active .read-more-modal .modal-content {
  transform: translateY(0);
}

/* line 13194, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 13201, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-header h5 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
}

/* line 13207, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-header .close-modal {
  background: none;
  border: none;
  color: #94a3b8;
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0.25rem;
  transition: color 0.2s ease;
}

/* line 13216, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-header .close-modal:hover {
  color: #00d4aa;
}

/* line 13222, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-body {
  padding: 1rem;
  overflow-y: auto;
  max-height: calc(80vh - 60px);
}

/* line 13227, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-body p {
  color: #94a3b8;
  line-height: 1.6;
  margin-bottom: 0.75rem;
  font-size: 0.9rem;
}

/* line 13233, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-body p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  /* line 13242, app/assets/stylesheets/dashboard.scss */
  .read-more-trigger {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 0.65rem !important;
    color: #00d4aa !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 0.3rem !important;
  }
}

@media (max-width: 576px) {
  /* line 13256, app/assets/stylesheets/dashboard.scss */
  .read-more-modal {
    padding: 0.5rem;
  }
  /* line 13259, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-content {
    max-height: 90vh;
    border-radius: 8px;
  }
  /* line 13264, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header {
    padding: 0.75rem;
  }
  /* line 13267, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header h5 {
    font-size: 0.85rem;
  }
  /* line 13272, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body {
    padding: 0.75rem;
  }
  /* line 13275, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body p {
    font-size: 0.8rem;
  }
  /* line 13281, app/assets/stylesheets/dashboard.scss */
  .read-more-trigger {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 0.6rem !important;
    color: #00d4aa !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 0.25rem !important;
  }
}

/* line 13296, app/assets/stylesheets/dashboard.scss */
.dashboard-bubbles-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: nowrap;
}

/* line 13306, app/assets/stylesheets/dashboard.scss */
.db-bubble {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  flex: 1;
  max-width: 90px;
  position: relative;
  transition: transform 0.15s ease;
}

/* line 13320, app/assets/stylesheets/dashboard.scss */
.db-bubble:hover {
  transform: translateY(-2px);
}

/* line 13322, app/assets/stylesheets/dashboard.scss */
.db-bubble:hover .db-bubble-icon {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

/* line 13325, app/assets/stylesheets/dashboard.scss */
.db-bubble:active {
  transform: translateY(0);
}

/* line 13327, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  transition: box-shadow 0.15s ease;
  border: 2px solid rgba(255, 255, 255, 0.12);
  position: relative;
  background: rgba(15, 20, 40, 0.85);
}

/* line 13341, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-emoji {
  font-size: 1.4rem;
  line-height: 1;
}

/* line 13346, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-label {
  font-size: 0.65rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  text-align: center;
  line-height: 1.2;
  max-width: 72px;
}

/* line 13357, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-dot {
  position: absolute;
  top: -2px;
  right: 50%;
  transform: translateX(26px);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid #0a0e1a;
}

/* line 13367, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-dot.dot-critical {
  background: #ff6b6b;
  animation: pulse-dot 1.5s ease-in-out infinite;
}

/* line 13375, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bullish .db-bubble-icon {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
  color: #22c55e;
}

/* line 13379, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bullish .db-bubble-icon i {
  color: #22c55e;
}

/* line 13381, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bullish .db-bubble-label {
  color: #22c55e;
}

/* line 13385, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bearish .db-bubble-icon {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #ff6b6b;
}

/* line 13389, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bearish .db-bubble-icon i {
  color: #ff6b6b;
}

/* line 13391, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bearish .db-bubble-label {
  color: #ff6b6b;
}

/* line 13395, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-warning .db-bubble-icon {
  background: rgba(255, 167, 38, 0.15);
  border-color: rgba(255, 167, 38, 0.4);
  color: #ffa726;
}

/* line 13399, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-warning .db-bubble-icon i {
  color: #ffa726;
}

/* line 13401, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-warning .db-bubble-label {
  color: #ffa726;
}

/* line 13405, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-neutral .db-bubble-icon {
  background: rgba(148, 163, 184, 0.12);
  border-color: rgba(148, 163, 184, 0.25);
  color: #94a3b8;
}

/* line 13409, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-neutral .db-bubble-icon i {
  color: #94a3b8;
}

/* line 13413, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-locked {
  opacity: 0.8;
}

/* line 13414, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-locked .db-bubble-icon {
  background: rgba(100, 116, 139, 0.15);
  border-color: rgba(100, 116, 139, 0.25);
  color: #64748b;
}

/* line 13418, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-locked .db-bubble-icon i {
  color: #64748b;
}

@keyframes pulse-dot {
  0%, 100% {
    opacity: 1;
    transform: translateX(26px) scale(1);
  }
  50% {
    opacity: 0.5;
    transform: translateX(26px) scale(0.8);
  }
}

/* line 13430, app/assets/stylesheets/dashboard.scss */
.db-modal {
  z-index: 1070 !important;
}

/* line 13433, app/assets/stylesheets/dashboard.scss */
.db-modal.show {
  z-index: 1070 !important;
}

/* line 13435, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-dialog {
  z-index: 1071 !important;
  max-height: none !important;
}

/* line 13440, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-content {
  background: #0f1428;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  color: #ffffff;
  max-height: none !important;
}

/* line 13448, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1rem 1.25rem;
}

/* line 13451, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-header h5 {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
}

/* line 13454, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-body {
  padding: 1.25rem;
  overflow-y: visible !important;
  max-height: none !important;
}

/* line 13460, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0.75rem 1.25rem;
}

/* line 13465, app/assets/stylesheets/dashboard.scss */
.db-modal .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.2);
  color: #94a3b8;
}

/* line 13468, app/assets/stylesheets/dashboard.scss */
.db-modal .btn-outline-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

/* line 13472, app/assets/stylesheets/dashboard.scss */
.db-modal-alert {
  border-radius: 8px;
  padding: 0.7rem 0.85rem;
  border-left: 3px solid transparent;
  font-size: 0.8rem;
}

/* line 13478, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-bullish {
  background: rgba(34, 197, 94, 0.1);
  border-left-color: #22c55e;
}

/* line 13479, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-bearish {
  background: rgba(239, 68, 68, 0.1);
  border-left-color: #ff6b6b;
}

/* line 13480, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-warning {
  background: rgba(255, 167, 38, 0.1);
  border-left-color: #ffa726;
}

/* line 13481, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-neutral {
  background: rgba(148, 163, 184, 0.08);
  border-left-color: #64748b;
}

/* line 13483, app/assets/stylesheets/dashboard.scss */
.db-modal-alert p, .db-modal-alert .small, .db-modal-alert small {
  font-size: 0.78rem !important;
}

/* line 13485, app/assets/stylesheets/dashboard.scss */
.db-modal-alert .db-modal-alert-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem;
  font-size: 0.82rem;
}

/* line 13495, app/assets/stylesheets/dashboard.scss */
.db-modal-sentiment .db-fgi-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 70px;
}

/* line 13501, app/assets/stylesheets/dashboard.scss */
.db-modal-sentiment .db-fgi-display .db-fgi-value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

/* line 13506, app/assets/stylesheets/dashboard.scss */
.db-modal-sentiment .db-fgi-display .db-fgi-label {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
}

/* line 13515, app/assets/stylesheets/dashboard.scss */
.db-modal-pizzacon .db-pizzacon-emoji {
  font-size: 2.2rem;
  line-height: 1;
}

/* line 13517, app/assets/stylesheets/dashboard.scss */
.db-modal-pizzacon .db-pizza-bar-container {
  height: 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  overflow: hidden;
}

/* line 13523, app/assets/stylesheets/dashboard.scss */
.db-modal-pizzacon .db-pizza-bar-container .db-pizza-bar-fill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #22c55e, #eab308, #ef4444);
  transition: width 0.5s ease;
}

@media (max-width: 767px) {
  /* line 13534, app/assets/stylesheets/dashboard.scss */
  .dashboard-bubbles-row {
    gap: 0.6rem;
    margin-bottom: 0.6rem;
    padding-left: 0.5rem;
    padding-right: 3.5rem;
    position: relative;
  }
  /* line 13535, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 65px;
    gap: 0.2rem;
  }
  /* line 13538, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-icon {
    width: 50px;
    height: 50px;
    font-size: 1.05rem;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.08);
  }
  /* line 13545, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.15rem;
  }
  /* line 13546, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.55rem;
    max-width: 55px;
  }
  /* line 13547, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 8px;
    height: 8px;
    transform: translateX(21px);
  }
  /* line 13549, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
  }
  /* line 13559, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
  }
  /* line 13565, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    font-size: 0.65rem !important;
    cursor: pointer;
    transition: all 0.15s ease;
    text-decoration: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: none !important;
  }
  /* line 13585, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  /* line 13590, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-refresh {
    border: 1px solid rgba(0, 212, 170, 0.35) !important;
    background: rgba(0, 212, 170, 0.1) !important;
    color: #00d4aa !important;
  }
  /* line 13595, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-refresh:hover {
    background: rgba(0, 212, 170, 0.2) !important;
    border-color: rgba(0, 212, 170, 0.5) !important;
  }
  /* line 13601, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-settings {
    border: 1px solid rgba(255, 193, 7, 0.35) !important;
    background: rgba(255, 193, 7, 0.1) !important;
    color: #ffc107 !important;
  }
  /* line 13606, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-settings:hover {
    background: rgba(255, 193, 7, 0.2) !important;
    border-color: rgba(255, 193, 7, 0.5) !important;
  }
  @keyframes pulse-dot {
    0%, 100% {
      opacity: 1;
      transform: translateX(19px) scale(1);
    }
    50% {
      opacity: 0.5;
      transform: translateX(19px) scale(0.8);
    }
  }
}

/* line 13622, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner {
  margin-bottom: 1rem;
}

/* line 13626, app/assets/stylesheets/dashboard.scss */
.combined-alerts-grid {
  display: grid;
  gap: 0.75rem;
}

/* line 13631, app/assets/stylesheets/dashboard.scss */
.combined-alerts-grid.alerts-count-1 {
  grid-template-columns: 1fr;
}

/* line 13636, app/assets/stylesheets/dashboard.scss */
.combined-alerts-grid.alerts-count-2 {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 991px) {
  /* line 13636, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
}

/* line 13645, app/assets/stylesheets/dashboard.scss */
.alert-section-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 0.6rem;
}

/* line 13651, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 13659, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header h5 {
  font-size: 0.8rem;
  font-weight: 600;
  color: #94a3b8;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 13668, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header h5 i {
  font-size: 0.75rem;
  color: #ffa726;
}

/* line 13674, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header .section-link {
  color: #94a3b8;
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  transition: all 0.2s;
}

/* line 13681, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header .section-link:hover {
  color: #00d4aa;
  background: rgba(255, 255, 255, 0.05);
}

/* line 13688, app/assets/stylesheets/dashboard.scss */
.alert-section-card.geo-crisis-section .alert-section-header h5 i {
  color: #ff6b6b;
}

/* line 13694, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini {
  position: relative;
}

/* line 13697, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .subscription-overlay-mini {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(3px);
  border-radius: 10px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 13712, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .premium-lock {
  background: linear-gradient(135deg, #00d4aa, #00a181);
  color: white;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 13720, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .premium-lock i {
  margin-right: 0.3rem;
}

/* line 13725, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .subscription-gated-content-mini {
  filter: blur(2px);
  pointer-events: none;
}

/* line 13732, app/assets/stylesheets/dashboard.scss */
.alert-emoji {
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

/* line 13741, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion {
  border-radius: 6px;
  border: none;
  border-left: 3px solid;
  overflow: hidden;
}

/* line 13747, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-danger {
  background: rgba(255, 107, 107, 0.15);
  border-left-color: #ff6b6b;
}

/* line 13750, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-danger .alert-icon {
  color: #ff6b6b;
}

/* line 13753, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-warning {
  background: rgba(255, 167, 38, 0.15);
  border-left-color: #ffa726;
}

/* line 13756, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-warning .alert-icon {
  color: #ffa726;
}

/* line 13759, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-info {
  background: rgba(0, 168, 255, 0.15);
  border-left-color: #00a8ff;
}

/* line 13762, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-info .alert-icon {
  color: #00a8ff;
}

/* line 13765, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-bullish {
  background: rgba(34, 197, 94, 0.11);
  border-left-color: #00d4aa;
}

/* line 13768, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-bullish .alert-icon {
  color: #00d4aa;
}

/* line 13771, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-accordion-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0.5rem 0.6rem;
  cursor: pointer;
  transition: background 0.2s ease;
}

/* line 13779, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-accordion-header:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 13784, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-header-content {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  flex: 1;
  min-width: 0;
}

/* line 13792, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-icon {
  font-size: 0.85rem;
  flex-shrink: 0;
  margin-top: 0.15rem;
}

/* line 13798, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-header-info {
  flex: 1;
  min-width: 0;
}

/* line 13803, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-title-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  margin-bottom: 0.2rem;
}

/* line 13810, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-title-row strong {
  font-size: 0.8rem;
  color: #ffffff;
  line-height: 1.3;
}

/* line 13816, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-title-row .badge-sm {
  font-size: 0.55rem;
  padding: 0.12rem 0.3rem;
  font-weight: 600;
}

/* line 13823, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-sectors-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}

/* line 13828, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-sectors-preview .badge {
  font-size: 0.6rem;
  font-weight: 500;
  padding: 0.08rem 0.3rem;
}

/* line 13835, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-expand-btn {
  background: rgba(255, 255, 255, 0.05);
  border: none;
  color: #94a3b8;
  min-height: 28px;
  min-width: 28px;
  padding: 6px 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 4px;
  flex-shrink: 0;
  margin-left: 0.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 13851, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-expand-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

/* line 13856, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-expand-btn i {
  font-size: 0.65rem;
  transition: transform 0.3s ease;
}

/* line 13863, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-accordion-body {
  padding: 0 0.6rem 0 1.8rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.2s ease, padding 0.3s ease;
}

/* line 13871, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-accordion-body.collapsed {
  max-height: 0 !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top: none !important;
}

/* line 13879, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-accordion-body.expanded {
  max-height: 350px;
  opacity: 1;
  padding-top: 0.5rem;
  padding-bottom: 0.6rem;
}

/* line 13887, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-message {
  color: #94a3b8;
  font-size: 0.75rem;
  line-height: 1.45;
  margin-bottom: 0.5rem;
}

/* line 13894, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-trigger {
  margin-bottom: 0.4rem;
  font-size: 0.77rem;
}

/* line 13898, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-trigger small {
  color: #94a3b8;
  line-height: 1.35;
}

/* line 13904, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action {
  font-size: 0.77rem;
  margin-bottom: 0.4rem;
}

/* line 13908, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action small {
  line-height: 1.4;
}

/* line 13913, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-stocks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.3rem;
}

/* line 13920, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-stocks .badge {
  font-size: 0.6rem;
  font-weight: 500;
  padding: 0.1rem 0.35rem;
}

/* line 13931, app/assets/stylesheets/dashboard.scss */
.market-alerts-section {
  margin-bottom: 1.5rem;
}

/* line 13934, app/assets/stylesheets/dashboard.scss */
.market-alerts-section h4 {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
  color: #ffffff;
  font-weight: 600;
  font-size: 1rem;
}

/* line 13943, app/assets/stylesheets/dashboard.scss */
.market-alerts-section h4 i {
  color: #ffa726;
  font-size: 0.9rem;
}

/* line 13949, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 13955, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card {
  border-radius: 8px;
  margin-bottom: 0;
  padding: 0.6rem 0.9rem;
  border: none;
  border-left: 3px solid;
}

/* line 13962, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-danger {
  background: rgba(255, 107, 107, 0.12);
  border-left-color: #ff6b6b;
  color: #ffffff;
}

/* line 13967, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-danger i {
  color: #ff6b6b;
}

/* line 13972, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-warning {
  background: rgba(255, 167, 38, 0.12);
  border-left-color: #ffa726;
  color: #ffffff;
}

/* line 13977, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-warning i {
  color: #ffa726;
}

/* line 13982, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-info {
  background: rgba(0, 168, 255, 0.12);
  border-left-color: #00a8ff;
  color: #ffffff;
}

/* line 13987, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-info i {
  color: #00a8ff;
}

/* line 13992, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-bullish {
  background: rgba(34, 197, 94, 0.11);
  border-left-color: #00d4aa;
  color: #ffffff;
}

/* line 13997, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-bullish i {
  color: #00d4aa;
}

/* line 14002, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card i.fas {
  font-size: 0.9rem !important;
  margin-right: 0.5rem !important;
  margin-top: 0.1rem !important;
}

/* line 14008, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card strong {
  font-size: 0.85rem;
  color: #ffffff;
}

/* line 14013, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card p {
  color: #94a3b8;
  font-size: 0.8rem;
  line-height: 1.4;
  margin-bottom: 0;
}

/* line 14020, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card .badge-sm {
  font-size: 0.6rem;
  padding: 0.15rem 0.4rem;
  font-weight: 600;
}

/* line 14026, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card .alert-sectors {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* line 14033, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card .alert-sectors .badge {
  font-size: 0.7rem;
  font-weight: 500;
}

/* line 14040, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link {
  color: #00d4aa;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 14050, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 14054, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link:hover i {
  transform: translateX(3px);
}

/* line 14059, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link i {
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

/* line 14068, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-grid {
  display: grid;
  gap: 0.75rem;
}

/* line 14073, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-grid.alerts-count-1 {
  grid-template-columns: 1fr;
}

/* line 14078, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-grid.alerts-count-2 {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 991px) {
  /* line 14078, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
}

/* line 14090, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion {
  border-radius: 8px;
  border: none;
  border-left: 3px solid;
  overflow: hidden;
  transition: all 0.2s ease;
}

/* line 14097, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-danger {
  background: rgba(255, 107, 107, 0.12);
  border-left-color: #ff6b6b;
}

/* line 14101, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-danger .alert-icon {
  color: #ff6b6b;
}

/* line 14104, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-warning {
  background: rgba(255, 167, 38, 0.12);
  border-left-color: #ffa726;
}

/* line 14108, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-warning .alert-icon {
  color: #ffa726;
}

/* line 14111, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-info {
  background: rgba(0, 168, 255, 0.12);
  border-left-color: #00a8ff;
}

/* line 14115, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-info .alert-icon {
  color: #00a8ff;
}

/* line 14118, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-bullish {
  background: rgba(34, 197, 94, 0.11);
  border-left-color: #00d4aa;
}

/* line 14122, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-bullish .alert-icon {
  color: #00d4aa;
}

/* line 14126, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 0.75rem;
  cursor: pointer;
  transition: background 0.2s ease;
}

/* line 14134, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-accordion-header:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 14139, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-header-content {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

/* line 14147, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-icon {
  font-size: 0.9rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

/* line 14153, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-header-info {
  flex: 1;
  min-width: 0;
}

/* line 14158, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.25rem;
}

/* line 14165, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-title-row strong {
  font-size: 0.85rem;
  color: #ffffff;
  line-height: 1.3;
}

/* line 14171, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-title-row .badge-sm {
  font-size: 0.6rem;
  padding: 0.15rem 0.4rem;
  font-weight: 600;
}

/* line 14178, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-sectors-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* line 14183, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-sectors-preview .badge {
  font-size: 0.65rem;
  font-weight: 500;
  padding: 0.1rem 0.35rem;
}

/* line 14190, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-expand-btn {
  background: transparent;
  border: none;
  color: #94a3b8;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 4px;
}

/* line 14199, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-expand-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

/* line 14204, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-expand-btn i {
  font-size: 0.7rem;
  transition: transform 0.3s ease;
}

/* line 14211, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-accordion-body {
  padding: 0 0.75rem 0.6rem 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  transition: max-height 0.3s ease, opacity 0.2s ease, padding 0.3s ease;
  overflow: hidden;
}

/* line 14217, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-accordion-body.collapsed {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-top: none;
}

/* line 14225, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-accordion-body.expanded {
  max-height: 300px;
  opacity: 1;
  padding-top: 0.5rem;
}

/* line 14232, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-message {
  color: #94a3b8;
  font-size: 0.8rem;
  line-height: 1.45;
  margin-bottom: 0.5rem;
}

/* line 14239, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-trigger,
.market-alerts-section .market-alert-accordion .alert-action,
.market-alerts-section .market-alert-accordion .alert-stocks,
.market-alerts-section .market-alert-accordion .alert-magnitude {
  margin-bottom: 0.35rem;
  font-size: 0.75rem;
}

/* line 14246, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-trigger small,
.market-alerts-section .market-alert-accordion .alert-action small,
.market-alerts-section .market-alert-accordion .alert-stocks small,
.market-alerts-section .market-alert-accordion .alert-magnitude small {
  color: #94a3b8;
}

/* line 14250, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-trigger .badge,
.market-alerts-section .market-alert-accordion .alert-action .badge,
.market-alerts-section .market-alert-accordion .alert-stocks .badge,
.market-alerts-section .market-alert-accordion .alert-magnitude .badge {
  font-size: 0.6rem;
  margin-left: 0.25rem;
}

/* line 14256, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-stocks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}

/* line 14268, app/assets/stylesheets/dashboard.scss */
.mini-widgets-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 1rem;
}

@media (max-width: 991px) {
  /* line 14268, app/assets/stylesheets/dashboard.scss */
  .mini-widgets-row {
    gap: 0.5rem;
  }
}

@media (max-width: 767px) {
  /* line 14268, app/assets/stylesheets/dashboard.scss */
  .mini-widgets-row {
    gap: 0.4rem;
    margin-bottom: 0.5rem;
  }
}

/* line 14285, app/assets/stylesheets/dashboard.scss */
.mini-widgets-row > a {
  flex: 1;
  min-width: 0;
}

/* line 14294, app/assets/stylesheets/dashboard.scss */
.mini-block-header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0.5rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 14302, app/assets/stylesheets/dashboard.scss */
.mini-block-header .mini-block-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 14311, app/assets/stylesheets/dashboard.scss */
.mini-block-header .read-more-link-mini {
  display: none;
}

/* line 14317, app/assets/stylesheets/dashboard.scss */
.read-more-arrow-absolute {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 2;
}

/* line 14330, app/assets/stylesheets/dashboard.scss */
.read-more-arrow-absolute i {
  font-size: 0.55rem;
  transition: transform 0.2s ease;
}

/* line 14339, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link {
  display: block;
  text-decoration: none;
  color: inherit;
  flex: 1;
}

/* line 14345, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover {
  text-decoration: none;
}

/* line 14348, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .market-sentiment-mini {
  border-color: #00d4aa;
  background: rgba(0, 212, 170, 0.05);
}

/* line 14353, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .read-more-arrow-absolute {
  color: #00d4aa;
}

/* line 14356, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .read-more-arrow-absolute i {
  transform: translate(1px, -1px);
}

/* line 14363, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini {
  position: relative;
  background: rgba(15, 20, 40, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  backdrop-filter: blur(10px);
  transition: all 0.2s ease;
  cursor: pointer;
  height: 100%;
}

/* line 14375, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-bullish {
  border-left: 4px solid #00d4aa;
  background: rgba(0, 212, 170, 0.03);
}

/* line 14380, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-bearish {
  border-left: 4px solid #ff6b6b;
  background: rgba(255, 107, 107, 0.05);
}

/* line 14385, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-neutral {
  border-left: 4px solid #94a3b8;
  background: rgba(148, 163, 184, 0.03);
}

/* line 14390, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 14397, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-emoji {
  font-size: 1.1rem;
}

/* line 14401, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-label {
  font-size: 0.8rem;
  color: #94a3b8;
  font-weight: 500;
}

/* line 14407, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: #ffffff;
}

/* line 14414, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-bullish .mini-value {
  color: #00d4aa;
}

/* line 14418, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-bearish .mini-value {
  color: #ff6b6b;
}

/* line 14422, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-neutral .mini-value {
  color: #94a3b8;
}

/* line 14427, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-optimistic .mini-value {
  color: #00d4aa;
}

/* line 14431, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-cautious .mini-value {
  color: #ffa726;
}

/* line 14435, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-fearful .mini-value {
  color: #ff6b6b;
}

/* line 14439, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-mixed .mini-value {
  color: #94a3b8;
}

/* line 14443, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .read-more-link-mini {
  font-size: 0.75rem;
  color: #00d4aa;
  text-decoration: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

/* line 14452, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .read-more-link-mini i {
  font-size: 0.65rem;
  transition: transform 0.2s ease;
}

/* line 14460, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0.5rem;
}

/* line 14466, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
  position: relative;
  width: 44px;
  height: 24px;
  background: linear-gradient(90deg, #dc2626 0%, #f97316 25%, #eab308 50%, #84cc16 75%, #22c55e 100%);
  border-radius: 22px 22px 0 0;
  overflow: hidden;
}

/* line 14474, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 16px;
  background: rgba(15, 20, 40, 0.85);
  border-radius: 15px 15px 0 0;
}

/* line 14486, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-needle {
  position: absolute;
  bottom: 2px;
  left: 50%;
  width: 2px;
  height: 14px;
  background: linear-gradient(to top, #1e293b, #334155);
  transform-origin: bottom center;
  transition: transform 0.5s ease;
  border-radius: 1px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.25);
}

/* line 14498, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-needle::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  background: #1e293b;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

/* line 14512, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-value-mini {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.55rem;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* line 14524, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-info-mini {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 14529, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
  font-size: 0.6rem;
  color: #94a3b8;
  font-weight: 500;
  line-height: 1.1;
}

/* line 14536, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-status-mini {
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.2;
}

/* line 14544, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-extreme-fear .fgi-status-mini {
  color: #dc2626;
}

/* line 14545, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-fear .fgi-status-mini {
  color: #f97316;
}

/* line 14546, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-neutral .fgi-status-mini {
  color: #eab308;
}

/* line 14547, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-greed .fgi-status-mini {
  color: #84cc16;
}

/* line 14548, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-extreme-greed .fgi-status-mini {
  color: #22c55e;
}

/* line 14552, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.4rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 14560, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item .vix-icon-mini {
  font-size: 0.9rem;
}

/* line 14564, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item .vix-change {
  font-size: 0.7rem;
  font-weight: 500;
}

/* line 14570, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-low {
  border-left: 2px solid #22c55e;
}

/* line 14572, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-low .mini-value {
  color: #22c55e;
}

/* line 14574, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-normal {
  border-left: 2px solid #eab308;
}

/* line 14576, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-normal .mini-value {
  color: #eab308;
}

/* line 14578, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-elevated {
  border-left: 2px solid #f97316;
}

/* line 14580, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-elevated .mini-value {
  color: #f97316;
}

/* line 14582, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-high {
  border-left: 2px solid #dc2626;
}

/* line 14584, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-high .mini-value {
  color: #dc2626;
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 14591, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.4rem 0.6rem;
  }
  /* line 14595, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
  }
  /* line 14600, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 14606, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 14610, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.6rem;
  }
  /* line 14614, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.7rem;
  }
  /* line 14618, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
  /* line 14621, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini i {
    font-size: 0.5rem;
  }
  /* line 14627, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.4rem;
    gap: 0.3rem;
  }
  /* line 14631, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 36px;
    height: 20px;
  }
  /* line 14637, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.5rem;
  }
  /* line 14638, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-status-mini {
    font-size: 0.6rem;
  }
  /* line 14643, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.3rem;
    gap: 0.2rem;
  }
  /* line 14647, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 14648, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-change {
    font-size: 0.6rem;
  }
}

@media (max-width: 767px) {
  /* line 14655, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.5rem 0.6rem;
    border-left-width: 3px !important;
  }
  /* line 14660, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
  }
  /* line 14665, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 14671, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.9rem;
  }
  /* line 14675, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.65rem;
  }
  /* line 14679, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.75rem;
    font-weight: 700;
  }
  /* line 14684, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.6rem;
  }
  /* line 14689, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.35rem;
    gap: 0.3rem;
  }
  /* line 14693, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 34px;
    height: 18px;
  }
  /* line 14697, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini::before {
    width: 26px;
    height: 14px;
  }
  /* line 14702, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-needle {
    height: 12px;
  }
  /* line 14706, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-value-mini {
    font-size: 0.55rem;
  }
  /* line 14712, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.58rem;
  }
  /* line 14713, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-status-mini {
    font-size: 0.65rem;
    font-weight: 600;
  }
  /* line 14718, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.25rem;
    gap: 0.2rem;
  }
  /* line 14722, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 14723, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-change {
    font-size: 0.6rem;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 14734, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.5rem;
  }
  /* line 14737, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
    gap: 0.3rem;
  }
  /* line 14742, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.7rem;
  }
  /* line 14747, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.5rem;
  }
  /* line 14750, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr 1fr;
  }
  /* line 14755, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 14759, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.4rem 0.5rem;
  }
  /* line 14763, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.75rem;
  }
  /* line 14767, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.7rem;
  }
  /* line 14771, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 14776, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-sectors-preview .badge {
    font-size: 0.55rem;
  }
  /* line 14780, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.5rem;
  }
  /* line 14783, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body .alert-message {
    font-size: 0.65rem;
  }
  /* line 14789, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.3rem;
  }
  /* line 14793, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.35rem 0.5rem;
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 14798, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.65rem !important;
    margin-right: 0.3rem !important;
  }
  /* line 14803, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.7rem;
  }
  /* line 14807, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card p {
    font-size: 0.65rem;
    line-height: 1.3;
    margin-top: 0.15rem;
  }
  /* line 14813, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 14818, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.15rem;
  }
  /* line 14821, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.5rem;
    padding: 0.1rem 0.25rem;
  }
  /* line 14828, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.65rem;
  }
  /* line 14834, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 14838, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 14842, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.4rem;
    border-radius: 8px;
  }
  /* line 14846, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.35rem;
    padding-bottom: 0.25rem;
  }
  /* line 14850, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.7rem;
  }
  /* line 14853, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.65rem;
  }
  /* line 14858, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.6rem;
  }
  /* line 14865, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 1.1rem !important;
  }
  /* line 14869, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.75rem !important;
  }
  /* line 14872, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.9rem !important;
  }
  /* line 14876, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.8rem !important;
  }
  /* line 14881, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 1rem !important;
  }
  /* line 14885, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topic-card, .social-sentiment-section .stock-card, .social-sentiment-section .event-card, .social-sentiment-section .commodity-card {
    padding: 0.9rem !important;
  }
  /* line 14888, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topic-card h5, .social-sentiment-section .stock-card h5, .social-sentiment-section .event-card h5, .social-sentiment-section .commodity-card h5 {
    font-size: 0.9rem !important;
  }
  /* line 14892, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topic-card p, .social-sentiment-section .stock-card p, .social-sentiment-section .event-card p, .social-sentiment-section .commodity-card p {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 767px) {
  /* line 14901, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.35rem;
  }
  /* line 14904, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.7rem;
    gap: 0.2rem;
    margin-bottom: 0.15rem;
  }
  /* line 14909, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.6rem;
  }
  /* line 14914, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.35rem;
  }
  /* line 14918, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 14923, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 3px;
    border-radius: 6px;
  }
  /* line 14927, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.5rem 0.6rem;
  }
  /* line 14931, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.85rem;
  }
  /* line 14935, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row {
    gap: 0.4rem;
  }
  /* line 14938, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.8rem;
    line-height: 1.3;
  }
  /* line 14944, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.6rem;
    padding: 0.1rem 0.3rem;
  }
  /* line 14949, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-sectors-preview .badge {
    font-size: 0.62rem;
    padding: 0.1rem 0.25rem;
  }
  /* line 14954, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn {
    padding: 0.25rem 0.4rem;
  }
  /* line 14957, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn i {
    font-size: 0.7rem;
  }
  /* line 14962, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.4rem;
  }
  /* line 14965, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body .alert-message {
    font-size: 0.75rem;
    line-height: 1.4;
  }
  /* line 14970, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body .alert-trigger,
.market-alerts-section .market-alert-accordion .alert-accordion-body .alert-action,
.market-alerts-section .market-alert-accordion .alert-accordion-body .alert-stocks {
    font-size: 0.72rem;
  }
  /* line 14978, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.25rem;
  }
  /* line 14982, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.3rem 0.45rem;
    border-left-width: 2px;
    border-radius: 4px;
  }
  /* line 14987, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.55rem !important;
    margin-right: 0.25rem !important;
  }
  /* line 14992, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.65rem;
  }
  /* line 14996, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card p {
    font-size: 0.6rem;
    line-height: 1.25;
    margin-top: 0.1rem;
  }
  /* line 15002, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.45rem;
    padding: 0.05rem 0.15rem;
  }
  /* line 15007, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.1rem;
  }
  /* line 15010, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.45rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 15017, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.6rem;
  }
  /* line 15023, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 15027, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 15030, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 15035, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
  }
  /* line 15039, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.3rem;
    padding-bottom: 0.25rem;
  }
  /* line 15043, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.8rem;
  }
  /* line 15046, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.75rem;
  }
  /* line 15051, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.7rem;
    padding: 0.15rem 0.3rem;
  }
  /* line 15058, app/assets/stylesheets/dashboard.scss */
  .alert-emoji {
    font-size: 1rem;
  }
  /* line 15064, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 0.95rem !important;
  }
  /* line 15068, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header p {
    font-size: 0.75rem !important;
  }
  /* line 15073, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.6rem !important;
    border-radius: 8px !important;
  }
  /* line 15077, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.85rem !important;
  }
  /* line 15081, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 15087, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section {
    margin-bottom: 1rem !important;
  }
  /* line 15090, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.9rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 15096, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid, .social-sentiment-section .stocks-grid, .social-sentiment-section .commodities-grid {
    gap: 0.5rem !important;
  }
  /* line 15100, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topic-card, .social-sentiment-section .stock-card, .social-sentiment-section .commodity-card {
    padding: 0.75rem !important;
  }
  /* line 15103, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topic-card h5, .social-sentiment-section .topic-card .topic-title, .social-sentiment-section .topic-card .stock-header, .social-sentiment-section .topic-card .commodity-name, .social-sentiment-section .stock-card h5, .social-sentiment-section .stock-card .topic-title, .social-sentiment-section .stock-card .stock-header, .social-sentiment-section .stock-card .commodity-name, .social-sentiment-section .commodity-card h5, .social-sentiment-section .commodity-card .topic-title, .social-sentiment-section .commodity-card .stock-header, .social-sentiment-section .commodity-card .commodity-name {
    font-size: 0.85rem !important;
  }
  /* line 15107, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topic-card p, .social-sentiment-section .topic-card .topic-description, .social-sentiment-section .topic-card .stock-reason, .social-sentiment-section .topic-card .commodity-insight p, .social-sentiment-section .stock-card p, .social-sentiment-section .stock-card .topic-description, .social-sentiment-section .stock-card .stock-reason, .social-sentiment-section .stock-card .commodity-insight p, .social-sentiment-section .commodity-card p, .social-sentiment-section .commodity-card .topic-description, .social-sentiment-section .commodity-card .stock-reason, .social-sentiment-section .commodity-card .commodity-insight p {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
  }
  /* line 15112, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topic-card .badge, .social-sentiment-section .stock-card .badge, .social-sentiment-section .commodity-card .badge {
    font-size: 0.55rem !important;
  }
  /* line 15117, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 15120, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-title {
    font-size: 0.85rem !important;
  }
  /* line 15124, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-context {
    font-size: 0.75rem !important;
  }
}

/* line 15136, app/assets/stylesheets/dashboard.scss */
.stock-cell {
  max-width: 180px;
  min-width: 130px;
}

/* line 15142, app/assets/stylesheets/dashboard.scss */
.chart-col, .chart-cell {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 40px !important;
  padding: 0.25rem !important;
  text-align: center;
}

/* line 15151, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.7);
  padding: 0.4rem;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 15163, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart i {
  font-size: 0.85rem;
}

/* line 15167, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart:hover {
  background: rgba(99, 102, 241, 0.2);
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 15176, app/assets/stylesheets/dashboard.scss */
.details-col {
  width: auto;
  min-width: 60px;
  white-space: nowrap;
}

/* line 15182, app/assets/stylesheets/dashboard.scss */
.details-cell {
  text-align: center;
  padding: 0.25rem !important;
}

/* line 15190, app/assets/stylesheets/dashboard.scss */
.stock-info-compact {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-left: 2rem !important;
}

/* line 15197, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  overflow: hidden;
}

/* line 15203, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .symbol-tag {
  font-weight: 700;
  font-size: 0.85rem;
  background: linear-gradient(135deg, #00d4aa, #00b4d8);
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  color: white;
  flex-shrink: 0;
}

/* line 15214, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .asset-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  font-size: 0.55rem;
  font-weight: 600;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 15226, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .asset-type-badge i {
  font-size: 0.5rem;
}

/* line 15230, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .asset-type-badge.asset-type-etf {
  background: rgba(168, 85, 247, 0.15);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.3);
}

/* line 15236, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .asset-type-badge.asset-type-crypto {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

/* line 15244, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .btn-stock-chart.mobile-only {
  display: none;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.6);
  padding: 0.15rem 0.25rem;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.6rem;
  flex-shrink: 0;
}

/* line 15256, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .btn-stock-chart.mobile-only i {
  font-size: 0.55rem;
}

/* line 15260, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .btn-stock-chart.mobile-only:hover {
  background: rgba(99, 102, 241, 0.2);
  border-color: #00d4aa;
  color: #00d4aa;
}

@media (max-width: 767px) {
  /* line 15244, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .btn-stock-chart.mobile-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* line 15276, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-name-row {
  display: flex;
  align-items: center;
}

/* line 15280, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-name-row .stock-name-inline {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.7rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 15290, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-actions-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 15295, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-actions-row .btn-stock-chart {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.6);
  padding: 0.2rem 0.35rem;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.7rem;
}

/* line 15305, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-actions-row .btn-stock-chart:hover {
  background: rgba(99, 102, 241, 0.2);
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 15314, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  font-size: 0.45rem;
  flex-shrink: 0;
  margin-left: 0;
  cursor: help;
}

/* line 15327, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-weekend, .stock-info-compact .exchange-status.closed-holiday {
  background: rgba(234, 179, 8, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(234, 179, 8, 0.3);
}

/* line 15333, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-hours {
  background: rgba(99, 102, 241, 0.2);
  color: #818cf8;
  border: 1px solid rgba(99, 102, 241, 0.3);
}

/* line 15340, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-analyzing {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.25), rgba(0, 168, 255, 0.25));
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.5);
}

/* line 15345, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-analyzing.pulse-animation {
  animation: pulse-analyzing 1.5s ease-in-out infinite;
}

/* line 15350, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.open {
  background: rgba(16, 185, 129, 0.2);
  color: #00d4aa;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

/* line 15357, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.crypto-24h {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25), rgba(234, 179, 8, 0.15));
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.4);
  border-radius: 8px;
  width: auto;
  padding: 0.1rem 0.35rem;
  gap: 0.15rem;
}

/* line 15366, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.crypto-24h i {
  font-size: 0.45rem;
}

/* line 15370, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.crypto-24h .crypto-24h-text {
  font-size: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* line 15377, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status i {
  font-size: 0.55rem;
}

/* line 15381, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 15387, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row .symbol-tag {
  font-weight: 700;
  font-size: 0.9rem;
  background: linear-gradient(135deg, #00d4aa, #00b4d8);
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
  color: white;
}

/* line 15396, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row .btn-stock-chart {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.6);
  padding: 0.25rem;
  cursor: pointer;
  transition: color 0.2s;
}

/* line 15404, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row .btn-stock-chart:hover {
  color: #00d4aa;
}

/* line 15410, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-name-small {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 15426, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 15430, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.2rem;
    padding-left: 0 !important;
  }
  /* line 15434, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.25rem;
  }
  /* line 15437, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .symbol-tag {
    font-size: 0.65rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  /* line 15442, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 15445, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.4rem !important;
  }
  /* line 15448, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 14px;
    height: 14px;
    font-size: 0.45rem;
  }
  /* line 15452, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem;
  }
  /* line 15457, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.55rem !important;
    max-width: 80px;
  }
  /* line 15464, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 15468, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.15rem;
  }
  /* line 15469, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    font-size: 0.4rem;
  }
  /* line 15474, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.2rem;
  }
  /* line 15477, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.main-signal, .signal-cell .signal-display .main-signal.forecast-badge {
    font-size: 0.65rem !important;
    padding: 0.25rem 0.5rem !important;
  }
  /* line 15482, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.mini, .signal-cell .signal-display .mini.forecast-badge {
    font-size: 0.5rem !important;
    padding: 0.1rem 0.3rem !important;
  }
  /* line 15488, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.15rem;
  }
  /* line 15491, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.65rem !important;
  }
  /* line 15492, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.55rem !important;
  }
  /* line 15493, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.5rem !important;
  }
  /* line 15495, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15499, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.7rem !important;
  }
  /* line 15500, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.5rem !important;
  }
  /* line 15504, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.55rem !important;
  }
  /* line 15505, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.65rem !important;
  }
  /* line 15506, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.55rem !important;
  }
  /* line 15507, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15510, app/assets/stylesheets/dashboard.scss */
  .chart-cell {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 36px !important;
    padding: 0.15rem !important;
    overflow: hidden !important;
  }
  /* line 15517, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart {
    padding: 0.2rem !important;
    font-size: 0.55rem !important;
    min-width: unset !important;
    max-width: 28px !important;
  }
  /* line 15523, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 15529, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.55rem !important;
  }
  /* line 15533, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.5rem;
  }
  /* line 15537, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.6rem !important;
  }
  /* line 15540, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.6rem !important;
  }
  /* line 15544, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .signal-badge-group .action-badge, .ai-analysis-card.compact .signal-trading-block .signal-badge-group .forecast-badge {
    font-size: 0.65rem !important;
    padding: 0.25rem 0.5rem !important;
  }
  /* line 15548, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 15554, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.4rem !important;
  }
  /* line 15557, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.4rem 0.6rem !important;
  }
  /* line 15560, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-label {
    font-size: 0.5rem !important;
  }
  /* line 15561, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-value {
    font-size: 0.65rem !important;
  }
  /* line 15562, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-pct {
    font-size: 0.5rem !important;
  }
  /* line 15567, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15571, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.5rem !important;
  }
  /* line 15572, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.65rem !important;
  }
  /* line 15573, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.5rem !important;
  }
  /* line 15576, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15580, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.5rem !important;
  }
  /* line 15581, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.7rem !important;
  }
  /* line 15582, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-change {
    font-size: 0.55rem !important;
    padding: 0.1rem 0.3rem !important;
  }
  /* line 15585, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.4rem !important;
  }
  /* line 15588, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.5rem !important;
  }
  /* line 15591, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 15592, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-text {
    font-size: 0.6rem !important;
    line-height: 1.4;
  }
  /* line 15596, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.5rem !important;
  }
  /* line 15599, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.4rem;
  }
  /* line 15601, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header .disagreement-icon {
    font-size: 0.7rem !important;
  }
  /* line 15602, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header .disagreement-title {
    font-size: 0.55rem !important;
  }
  /* line 15606, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-item .disagreement-label {
    font-size: 0.55rem !important;
  }
  /* line 15607, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-item .disagreement-value {
    font-size: 0.55rem !important;
    padding: 1px 6px !important;
  }
  /* line 15610, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-reasoning .reasoning-text {
    font-size: 0.55rem !important;
  }
  /* line 15615, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.5rem !important;
  }
  /* line 15618, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 15618, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 15619, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-text {
    font-size: 0.55rem !important;
    line-height: 1.35;
  }
  /* line 15620, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 15620, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 15624, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 15627, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 15627, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 15628, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .personalized-signal-badge {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.4rem !important;
  }
  /* line 15629, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .personalized-reason-text {
    font-size: 0.55rem !important;
    line-height: 1.35;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 15636, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.4rem !important;
  }
  /* line 15640, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.15rem;
    padding-left: 0 !important;
  }
  /* line 15644, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.2rem;
  }
  /* line 15647, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .symbol-tag {
    font-size: 0.6rem !important;
    padding: 0.15rem 0.35rem !important;
  }
  /* line 15652, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge {
    font-size: 0.4rem !important;
    padding: 0.08rem 0.2rem !important;
  }
  /* line 15655, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.35rem !important;
  }
  /* line 15658, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 12px;
    height: 12px;
    font-size: 0.4rem;
  }
  /* line 15662, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem;
  }
  /* line 15667, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.5rem !important;
    max-width: 70px;
  }
  /* line 15674, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini {
    font-size: 0.4rem !important;
    padding: 0.08rem 0.2rem !important;
  }
  /* line 15678, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem;
  }
  /* line 15679, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none;
  }
  /* line 15684, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.15rem;
  }
  /* line 15687, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.main-signal, .signal-cell .signal-display .main-signal.forecast-badge {
    font-size: 0.55rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  /* line 15692, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.mini, .signal-cell .signal-display .mini.forecast-badge {
    font-size: 0.45rem !important;
    padding: 0.08rem 0.25rem !important;
  }
  /* line 15698, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.1rem;
  }
  /* line 15701, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.55rem !important;
  }
  /* line 15702, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 15703, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 15705, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 15709, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.6rem !important;
  }
  /* line 15710, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15714, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.5rem !important;
  }
  /* line 15715, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.55rem !important;
  }
  /* line 15716, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.5rem !important;
  }
  /* line 15717, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 15720, app/assets/stylesheets/dashboard.scss */
  .chart-cell {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 32px !important;
    padding: 0.1rem !important;
    overflow: hidden !important;
  }
  /* line 15727, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart {
    padding: 0.15rem !important;
    font-size: 0.5rem !important;
    min-width: unset !important;
    max-width: 24px !important;
  }
  /* line 15733, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 15739, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.5rem !important;
  }
  /* line 15743, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none;
  }
  /* line 15747, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 15750, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.5rem !important;
  }
  /* line 15754, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .signal-badge-group .action-badge, .ai-analysis-card.compact .signal-trading-block .signal-badge-group .forecast-badge {
    font-size: 0.55rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  /* line 15758, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 15764, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.3rem !important;
  }
  /* line 15767, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.3rem 0.5rem !important;
  }
  /* line 15770, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-label {
    font-size: 0.45rem !important;
  }
  /* line 15771, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-value {
    font-size: 0.55rem !important;
  }
  /* line 15772, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item .level-pct {
    font-size: 0.45rem !important;
  }
  /* line 15777, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 15781, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.45rem !important;
  }
  /* line 15782, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.55rem !important;
  }
  /* line 15783, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.45rem !important;
  }
  /* line 15786, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 15790, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.45rem !important;
  }
  /* line 15791, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.6rem !important;
  }
  /* line 15792, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-change {
    font-size: 0.5rem !important;
    padding: 0.08rem 0.25rem !important;
  }
  /* line 15795, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.35rem !important;
  }
  /* line 15798, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 15801, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 15802, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-text {
    font-size: 0.6rem !important;
    line-height: 1.35;
  }
  /* line 15806, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 15809, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.35rem;
  }
  /* line 15811, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header .disagreement-icon {
    font-size: 0.65rem !important;
  }
  /* line 15812, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header .disagreement-title {
    font-size: 0.55rem !important;
  }
  /* line 15816, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-item .disagreement-label {
    font-size: 0.55rem !important;
  }
  /* line 15817, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-item .disagreement-value {
    font-size: 0.55rem !important;
    padding: 1px 5px !important;
  }
  /* line 15820, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-reasoning .reasoning-text {
    font-size: 0.55rem !important;
  }
  /* line 15825, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 15828, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 15828, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 15829, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-text {
    font-size: 0.55rem !important;
    line-height: 1.35;
  }
  /* line 15830, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 15830, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 15834, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 15837, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 15837, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 15838, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .personalized-signal-badge {
    font-size: 0.5rem !important;
    padding: 0.12rem 0.35rem !important;
  }
  /* line 15839, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .personalized-reason-text {
    font-size: 0.55rem !important;
    line-height: 1.35;
  }
}

/* line 15846, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

/* line 15852, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .main-signal-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* line 15860, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .action-badge.main-signal, .signal-cell .signal-display .main-signal.forecast-badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.25rem 0.55rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 15869, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .action-badge.mini, .signal-cell .signal-display .mini.forecast-badge {
  font-size: 0.55rem;
  padding: 0.12rem 0.35rem;
  opacity: 0.8;
}

/* line 15876, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .today-signal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  cursor: help;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.5rem;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

/* line 15891, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .today-signal-icon:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.75);
}

/* line 15898, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .refresh-needed {
  color: #ffa500;
  font-size: 0.7rem;
  animation: pulse 2s infinite;
}

/* line 15905, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .signal-sub-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* line 15914, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .ai-disagreement-warning {
  display: inline-flex;
  font-size: 0.7rem;
  cursor: help;
  transition: all 0.2s ease;
  animation: pulse-warning 2s infinite;
  line-height: 1;
}

/* line 15922, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .ai-disagreement-warning:hover {
  transform: scale(1.2);
}

/* line 15930, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  text-align: left;
}

/* line 15937, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-badge {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border: 1px solid;
}

/* line 15947, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-badge.buy {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
  border-color: rgba(40, 167, 69, 0.4);
}

/* line 15952, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-badge.sell {
  background: rgba(220, 53, 69, 0.2);
  color: #dc3545;
  border-color: rgba(220, 53, 69, 0.4);
}

/* line 15957, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-badge.hold {
  background: rgba(255, 193, 7, 0.2);
  color: #ffc107;
  border-color: rgba(255, 193, 7, 0.4);
}

/* line 15962, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-badge.wait {
  background: rgba(108, 117, 125, 0.2);
  color: #6c757d;
  border-color: rgba(108, 117, 125, 0.4);
}

/* line 15969, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-label {
  font-size: 0.65rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 15977, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-desc {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
  max-width: 180px;
}

@keyframes pulse-warning {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}

/* line 15992, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement {
  background: linear-gradient(135deg, rgba(255, 152, 0, 0.08) 0%, rgba(255, 87, 34, 0.08) 100%);
  border: 1px solid rgba(255, 152, 0, 0.25);
  border-radius: 8px;
  padding: 10px 14px;
  margin-top: 12px;
}

/* line 15999, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

/* line 16005, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header .disagreement-icon {
  font-size: 1rem;
}

/* line 16009, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header .disagreement-title {
  color: #ff9800;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 16018, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* line 16026, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-badges {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* line 16034, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* line 16039, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-label {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

/* line 16044, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value {
  font-weight: 600;
  font-size: 0.8rem;
  padding: 2px 8px;
  border-radius: 4px;
}

/* line 16050, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value.up {
  background: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}

/* line 16055, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value.down {
  background: rgba(244, 67, 54, 0.2);
  color: #f44336;
}

/* line 16060, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value.hold, .reasoning-block.disagreement .disagreement-item .disagreement-value.wait {
  background: rgba(255, 193, 7, 0.2);
  color: #ffc107;
}

/* line 16065, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value .conf {
  font-size: 0.7rem;
  opacity: 0.8;
  margin-left: 2px;
}

/* line 16073, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-reasoning {
  flex: 1;
  min-width: 200px;
  padding-left: 16px;
  border-left: 1px solid rgba(255, 152, 0, 0.2);
}

/* line 16079, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-reasoning .reasoning-text {
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.4;
  font-style: italic;
}

@media (max-width: 768px) {
  /* line 16090, app/assets/stylesheets/dashboard.scss */
  .reasoning-block.disagreement .disagreement-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  /* line 16096, app/assets/stylesheets/dashboard.scss */
  .reasoning-block.disagreement .disagreement-reasoning {
    padding-left: 0;
    border-left: none;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 152, 0, 0.2);
    width: 100%;
  }
}

/* line 16108, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

/* line 16114, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-price {
  font-weight: 600;
  font-size: 0.85rem;
  color: #ffffff;
}

/* line 16120, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-change {
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 16124, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-change.positive {
  color: #00d4aa;
}

/* line 16125, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-change.negative {
  color: #ff6b6b;
}

/* line 16128, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-eod-ref {
  font-size: 0.55rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* line 16136, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 16140, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf i {
  margin-right: 0.2rem;
}

/* line 16143, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge {
  color: rgba(139, 92, 246, 0.7);
}

/* line 16145, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge i {
  color: rgba(139, 92, 246, 0.7);
}

/* line 16151, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction.ai-fallback .pred-price {
  color: rgba(255, 255, 255, 0.85);
}

/* line 16160, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

/* line 16165, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-shares-inline {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  width: 100%;
}

/* line 16172, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-cols {
  display: flex;
  gap: 0;
  align-items: stretch;
}

/* line 16178, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* line 16183, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.value-col {
  align-items: flex-end;
  padding-right: 0.5rem;
}

/* line 16187, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.value-col .value-main {
  font-weight: 600;
  font-size: 0.85rem;
  color: white;
  white-space: nowrap;
}

/* line 16193, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.value-col .value-main .warning-icon {
  color: #ffa500;
  font-size: 0.6rem;
  margin-left: 0.2rem;
}

/* line 16200, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.value-col .usd-sub {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 16206, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col {
  align-items: flex-start;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  padding-left: 0.5rem;
}

/* line 16211, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-pct {
  font-weight: 700;
  font-size: 0.8rem;
}

/* line 16215, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-pct.positive {
  color: #00d4aa;
}

/* line 16216, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-pct.negative {
  color: #ff6b6b;
}

/* line 16219, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-val {
  font-size: 0.6rem;
  opacity: 0.8;
}

/* line 16223, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-val.positive {
  color: #00d4aa;
}

/* line 16224, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-val.negative {
  color: #ff6b6b;
}

/* line 16232, app/assets/stylesheets/dashboard.scss */
.details-cell {
  text-align: center;
  vertical-align: middle !important;
  white-space: nowrap;
}

/* line 16238, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown {
  display: inline-block;
  vertical-align: middle;
}

/* line 16245, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details, .details-cell .btn-details-ai {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.2s;
}

/* line 16258, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details:hover, .details-cell .btn-details-ai:hover {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}

/* line 16263, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details[aria-expanded="true"], .details-cell .btn-details-ai[aria-expanded="true"] {
  background: #00d4aa;
  color: white;
}

/* line 16267, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details[aria-expanded="true"] .chevron-icon, .details-cell .btn-details-ai[aria-expanded="true"] .chevron-icon {
  transform: rotate(180deg);
}

/* line 16272, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details i, .details-cell .btn-details-ai i {
  transition: transform 0.3s;
  font-size: 0.75rem;
}

/* line 16279, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15), rgba(0, 168, 255, 0.15));
  border: 1px solid rgba(0, 212, 170, 0.4);
  border-radius: 6px;
  width: auto;
  height: auto;
  padding: 0.3rem 0.5rem;
  gap: 0.3rem;
  white-space: nowrap;
}

/* line 16289, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai .fa-robot {
  color: #00d4aa;
  font-size: 0.75rem;
}

/* line 16294, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai .btn-details-text {
  font-size: 0.6rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}

/* line 16300, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai .chevron-icon {
  font-size: 0.55rem;
  color: rgba(255, 255, 255, 0.6);
}

/* line 16305, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai:hover {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.25), rgba(0, 168, 255, 0.25));
  border-color: rgba(0, 212, 170, 0.6);
}

/* line 16310, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai[aria-expanded="true"] {
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  border-color: transparent;
}

/* line 16314, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai[aria-expanded="true"] .fa-robot, .details-cell .btn-details-ai[aria-expanded="true"] .chevron-icon, .details-cell .btn-details-ai[aria-expanded="true"] .btn-details-text {
  color: white;
}

@media (max-width: 1024px) {
  /* line 16279, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.3rem 0.4rem;
  }
  /* line 16323, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none;
  }
}

/* line 16330, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart {
  display: none;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(139, 92, 246, 0.15));
  border: 1px solid rgba(99, 102, 241, 0.4);
  border-radius: 6px;
  width: auto;
  height: auto;
  padding: 0.3rem 0.5rem;
  gap: 0.3rem;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.9);
  cursor: pointer;
  transition: all 0.2s;
}

/* line 16346, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart .fa-chart-line {
  color: #a5b4fc;
  font-size: 0.75rem;
}

/* line 16351, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart .btn-details-text {
  font-size: 0.6rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}

/* line 16357, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart .chevron-icon {
  font-size: 0.55rem;
  color: rgba(255, 255, 255, 0.6);
  transition: transform 0.3s;
}

/* line 16363, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart:hover {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.25), rgba(139, 92, 246, 0.25));
  border-color: rgba(99, 102, 241, 0.6);
}

/* line 16368, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border-color: transparent;
}

/* line 16372, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] .fa-chart-line, .details-cell .btn-details-chart[aria-expanded="true"] .chevron-icon, .details-cell .btn-details-chart[aria-expanded="true"] .btn-details-text {
  color: white;
}

/* line 16376, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] .chevron-icon {
  transform: rotate(180deg);
}

/* line 16382, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart.mobile-only {
  display: none;
}

/* line 16388, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown {
  display: inline-flex;
}

/* line 16392, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu {
  background-color: #1a2332 !important;
  background: #1a2332 !important;
  border: 1px solid rgba(0, 255, 200, 0.3) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
  --bs-dropdown-bg: #1a2332 !important;
}

/* line 16400, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu li {
  background: transparent !important;
  background-color: transparent !important;
}

/* line 16405, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item {
  background-color: transparent !important;
  background: transparent !important;
}

/* line 16410, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-buy {
  color: #00ffc8 !important;
}

/* line 16413, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-buy i {
  color: #00ffc8 !important;
}

/* line 16417, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-buy:hover, .details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-buy:focus {
  background-color: rgba(0, 255, 200, 0.15) !important;
}

/* line 16423, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-sell {
  color: #ff6b6b !important;
}

/* line 16426, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-sell i {
  color: #ff6b6b !important;
}

/* line 16430, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-sell:hover, .details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-sell:focus {
  background-color: rgba(255, 107, 107, 0.15) !important;
}

@media (min-width: 768px) and (max-width: 834px) {
  /* line 16441, app/assets/stylesheets/dashboard.scss */
  .details-cell {
    min-width: 90px !important;
    max-width: 100px !important;
    overflow: visible !important;
  }
  /* line 16446, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.5rem !important;
    max-width: 100% !important;
    overflow: hidden;
  }
  /* line 16452, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
}

/* line 16460, app/assets/stylesheets/dashboard.scss */
.stock-row {
  position: relative;
  min-height: 72px;
}

/* line 16464, app/assets/stylesheets/dashboard.scss */
.stock-row td {
  vertical-align: middle;
}

/* line 16468, app/assets/stylesheets/dashboard.scss */
.stock-row.market-open .stock-cell {
  border-left: 4px solid #00d4aa;
}

/* line 16472, app/assets/stylesheets/dashboard.scss */
.stock-row.market-closed .stock-cell {
  border-left: 4px solid rgba(100, 116, 139, 0.5);
}

/* line 16476, app/assets/stylesheets/dashboard.scss */
.stock-row:first-child .stock-cell {
  border-top-left-radius: calc($border-radius - 1px);
}

/* line 16480, app/assets/stylesheets/dashboard.scss */
.stock-row:last-child .stock-cell {
  border-bottom-left-radius: calc($border-radius - 1px);
}

/* line 16485, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row {
  background: rgba(139, 92, 246, 0.03);
}

/* line 16488, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row.market-open .stock-cell {
  border-left: 4px solid rgba(139, 92, 246, 0.6);
}

/* line 16492, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row.market-closed .stock-cell {
  border-left: 4px solid rgba(139, 92, 246, 0.3);
}

/* line 16500, app/assets/stylesheets/dashboard.scss */
.section-separator-row td {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* line 16507, app/assets/stylesheets/dashboard.scss */
.section-separator {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  gap: 12px;
}

/* line 16513, app/assets/stylesheets/dashboard.scss */
.section-separator::before, .section-separator::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.3), transparent);
}

/* line 16521, app/assets/stylesheets/dashboard.scss */
.section-separator::before {
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.3));
}

/* line 16525, app/assets/stylesheets/dashboard.scss */
.section-separator::after {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.3), transparent);
}

/* line 16530, app/assets/stylesheets/dashboard.scss */
.section-separator-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(167, 139, 250, 0.8);
  white-space: nowrap;
}

/* line 16541, app/assets/stylesheets/dashboard.scss */
.section-separator-label svg {
  opacity: 0.7;
}

/* line 16547, app/assets/stylesheets/dashboard.scss */
.basic-mode-cards .section-separator-row {
  display: none;
}

/* line 16552, app/assets/stylesheets/dashboard.scss */
.watchlist-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  font-size: 0.5rem;
  color: #a78bfa;
  background: rgba(139, 92, 246, 0.15);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 3px;
  vertical-align: middle;
  flex-shrink: 0;
}

/* line 16568, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 16573, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-since {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.45);
}

/* line 16580, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-since i {
  color: #a78bfa;
}

/* line 16583, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-weight: 700;
}

/* line 16589, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl.positive {
  color: #00d4aa;
}

/* line 16590, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl.negative {
  color: #f87171;
}

/* line 16592, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl .wl-pnl-amount {
  font-size: 0.9rem;
}

/* line 16593, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl .wl-pnl-pct {
  font-size: 0.75rem;
  opacity: 0.85;
}

/* line 16599, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-ref-price {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.35);
}

/* line 16606, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-buy {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.4rem;
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0a0e1a;
  background: linear-gradient(135deg, #a78bfa, #7c3aed);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 16622, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-buy:hover {
  background: linear-gradient(135deg, #c4b5fd, #8b5cf6);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

/* line 16630, app/assets/stylesheets/dashboard.scss */
.search-result-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
  align-items: center;
}

/* line 16636, app/assets/stylesheets/dashboard.scss */
.search-result-actions .btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px !important;
  flex-shrink: 0;
}

/* line 16648, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-add {
  background: rgba(139, 92, 246, 0.15) !important;
  border: 1px solid rgba(139, 92, 246, 0.35) !important;
  color: #a78bfa !important;
  border-radius: 8px !important;
}

/* line 16654, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-add:hover {
  background: rgba(139, 92, 246, 0.28) !important;
  color: #c4b5fd !important;
}

/* line 16660, app/assets/stylesheets/dashboard.scss */
.btn-add-owned {
  background: rgba(25, 205, 165, 0.15) !important;
  border: 1px solid rgba(25, 205, 165, 0.35) !important;
  color: #19cda5 !important;
  border-radius: 8px !important;
}

/* line 16666, app/assets/stylesheets/dashboard.scss */
.btn-add-owned:hover {
  background: rgba(25, 205, 165, 0.28) !important;
}

/* line 16673, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-row {
  background: rgba(139, 92, 246, 0.04);
}

/* line 16677, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-badge {
  color: #7c3aed;
  background: rgba(139, 92, 246, 0.1);
  border-color: rgba(139, 92, 246, 0.25);
}

/* line 16683, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-since {
  color: rgba(0, 0, 0, 0.45) !important;
}

/* line 16687, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-ref-price {
  color: rgba(0, 0, 0, 0.35) !important;
}

/* line 16693, app/assets/stylesheets/dashboard.scss */
.ai-analysis-badge.mini {
  font-size: 0.5rem;
  padding: 0.15rem 0.35rem;
  margin-left: 0;
  margin-top: 0;
  animation: none;
  white-space: nowrap;
}

/* line 16701, app/assets/stylesheets/dashboard.scss */
.ai-analysis-badge.mini i {
  font-size: 0.5rem;
}

/* line 16705, app/assets/stylesheets/dashboard.scss */
.ai-analysis-badge.mini .badge-text-original {
  display: inline;
}

@media (max-width: 768px) {
  /* line 16711, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-badge.mini .badge-text-original {
    display: none;
  }
}

/* line 16718, app/assets/stylesheets/dashboard.scss */
.events-cell {
  min-width: 50px;
  text-align: center;
}

/* line 16722, app/assets/stylesheets/dashboard.scss */
.events-cell .events-icons {
  display: flex;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

/* line 16729, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  cursor: help;
  transition: all 0.2s;
}

/* line 16739, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon i {
  font-size: 0.7rem;
}

/* line 16743, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.dividend {
  background: rgba(255, 215, 0, 0.2);
  color: #ffd700;
}

/* line 16746, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.dividend:hover {
  background: rgba(255, 215, 0, 0.35);
  transform: scale(1.1);
}

/* line 16749, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.earnings {
  background: rgba(0, 180, 216, 0.2);
  color: #00b4d8;
}

/* line 16752, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.earnings:hover {
  background: rgba(0, 180, 216, 0.35);
  transform: scale(1.1);
}

/* line 16755, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.crisis {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 16758, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.crisis:hover {
  background: rgba(255, 107, 107, 0.35);
  transform: scale(1.1);
}

/* line 16761, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
}

/* line 16764, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning:hover {
  background: rgba(251, 191, 36, 0.35);
  transform: scale(1.1);
}

/* line 16767, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others {
  background: rgba(99, 102, 241, 0.2);
  color: #818cf8;
}

/* line 16770, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others:hover {
  background: rgba(99, 102, 241, 0.35);
  transform: scale(1.1);
}

/* line 16775, app/assets/stylesheets/dashboard.scss */
.events-cell .events-display {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 16781, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  font-size: 0.65rem;
  font-weight: 600;
  cursor: help;
  transition: all 0.2s;
}

/* line 16792, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip i {
  font-size: 0.6rem;
}

/* line 16796, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip .event-label {
  white-space: nowrap;
}

/* line 16800, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.dividend {
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid rgba(255, 215, 0, 0.3);
  color: #ffd700;
}

/* line 16805, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.dividend:hover {
  background: rgba(255, 215, 0, 0.25);
}

/* line 16810, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.earnings {
  background: rgba(0, 180, 216, 0.15);
  border: 1px solid rgba(0, 180, 216, 0.3);
  color: #00b4d8;
}

/* line 16815, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.earnings:hover {
  background: rgba(0, 180, 216, 0.25);
}

/* line 16820, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.crisis {
  background: rgba(255, 107, 107, 0.15);
  border: 1px solid rgba(255, 107, 107, 0.3);
  color: #ff6b6b;
}

/* line 16825, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.crisis:hover {
  background: rgba(255, 107, 107, 0.25);
}

@media (max-width: 1024px) {
  /* line 16832, app/assets/stylesheets/dashboard.scss */
  .events-cell .event-chip .event-label {
    display: none;
  }
}

/* line 16840, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact {
  background: rgba(15, 23, 42, 0.6);
  border-radius: 12px;
  padding: 1rem;
  margin: 0.5rem 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 16849, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: flex-start;
}

/* line 16856, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack {
  flex: 0 0 280px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  min-height: 0;
}

/* line 16865, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack .fundamentals-column {
  flex: none;
  max-height: 250px;
}

/* line 16870, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack.has-disagreement .fundamentals-column {
  max-height: 352px;
}

/* line 16876, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column {
  flex: none;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 16883, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.65rem;
  background: rgba(15, 23, 42, 0.6);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 16893, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .action-badge, .ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .forecast-badge {
  font-size: 0.8rem;
  font-weight: 800;
  padding: 0.35rem 0.9rem;
  border-radius: 8px;
  text-align: center;
  letter-spacing: 0.3px;
}

/* line 16902, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.6rem;
  border-radius: 20px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2px;
}

/* line 16912, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip i {
  font-size: 0.6rem;
}

/* line 16914, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip.confidence-high, .ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip.confidence-very-high {
  background: rgba(0, 212, 170, 0.08);
  border: 1px solid rgba(0, 212, 170, 0.18);
  color: rgba(0, 212, 170, 0.8);
}

/* line 16919, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip.confidence-medium {
  background: rgba(245, 158, 11, 0.07);
  border: 1px solid rgba(245, 158, 11, 0.18);
  color: rgba(245, 158, 11, 0.75);
}

/* line 16924, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip.confidence-low {
  background: rgba(239, 68, 68, 0.07);
  border: 1px solid rgba(239, 68, 68, 0.18);
  color: rgba(239, 68, 68, 0.7);
}

/* line 16931, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .bought-inline {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  margin-left: auto;
  white-space: nowrap;
}

/* line 16938, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .bought-inline .bought-label {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.4);
  font-weight: 500;
}

/* line 16944, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .bought-inline .bought-value {
  font-size: 0.7rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}

/* line 16950, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .bought-inline .bought-pct {
  font-size: 0.6rem;
  font-weight: 700;
  margin-left: 0.15rem;
}

/* line 16955, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .bought-inline .bought-pct.positive {
  color: #00d4aa;
}

/* line 16956, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .bought-inline .bought-pct.negative {
  color: #ff6b6b;
}

/* line 16961, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
}

/* line 16966, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item {
  display: flex;
  flex-direction: column;
  padding: 0.4rem 0.45rem;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  text-align: center;
  position: relative;
  transition: all 0.2s ease;
}

/* line 16977, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-label {
  font-size: 0.52rem;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.15rem;
  font-weight: 600;
}

/* line 16986, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-value {
  font-size: 0.78rem;
  font-weight: 700;
  color: white;
  line-height: 1.2;
}

/* line 16993, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-pct {
  font-size: 0.6rem;
  font-weight: 600;
  margin-top: 0.1rem;
  padding: 0.08rem 0.25rem;
  border-radius: 3px;
  display: inline-block;
}

/* line 17001, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-pct.positive {
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.15);
}

/* line 17005, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-pct.negative {
  color: #ff6b6b;
  background: rgba(255, 107, 107, 0.15);
}

/* line 17011, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.target {
  border-left: 3px solid #00d4aa;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1) 0%, rgba(0, 212, 170, 0.03) 100%);
  border-color: rgba(0, 212, 170, 0.25);
}

/* line 17015, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.target .level-label {
  color: #00d4aa;
}

/* line 17016, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.target .level-value {
  color: #00d4aa;
}

/* line 17017, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.target:hover {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15) 0%, rgba(0, 212, 170, 0.06) 100%);
}

/* line 17020, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.stop {
  border-left: 3px solid #ff6b6b;
  background: linear-gradient(135deg, rgba(255, 107, 107, 0.1) 0%, rgba(255, 107, 107, 0.03) 100%);
  border-color: rgba(255, 107, 107, 0.25);
}

/* line 17024, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.stop .level-label {
  color: #ff6b6b;
}

/* line 17025, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.stop .level-value {
  color: #ff6b6b;
}

/* line 17026, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.stop:hover {
  background: linear-gradient(135deg, rgba(255, 107, 107, 0.15) 0%, rgba(255, 107, 107, 0.06) 100%);
}

/* line 17029, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.bought {
  border-left: 2px solid #60a5fa;
  background: rgba(96, 165, 250, 0.04);
}

/* line 17032, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.bought .level-label {
  color: rgba(96, 165, 250, 0.75);
}

/* line 17035, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.forecast {
  border-left: 2px solid #a78bfa;
  background: rgba(167, 139, 250, 0.04);
}

/* line 17038, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.forecast .level-label {
  color: rgba(167, 139, 250, 0.75);
}

/* line 17045, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column {
  width: 100%;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: rgba(15, 23, 42, 0.6);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 0.5rem 0.55rem 0.4rem;
  overflow: hidden;
  position: relative;
}

/* line 17060, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-scrollbar-track {
  position: absolute;
  right: 3px;
  width: 3px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  pointer-events: none;
  z-index: 3;
}

/* line 17071, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-scrollbar-thumb {
  position: absolute;
  right: 3px;
  width: 3px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 2px;
  pointer-events: none;
  transition: background 0.15s ease;
  z-index: 4;
}

/* line 17082, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column:hover .fund-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.65);
}

/* line 17086, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-title {
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
}

/* line 17098, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-title i {
  font-size: 0.60rem;
  color: #00d4aa;
}

/* line 17105, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics-wrap {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: visible;
  padding-right: 7px;
}

/* line 17114, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
}

/* line 17123, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics::-webkit-scrollbar {
  display: none;
}

/* line 17127, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-scroll-hint {
  flex-shrink: 0;
  height: 18px;
  margin-top: -18px;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(15, 23, 42, 0.85));
  border-radius: 0 0 8px 8px;
  position: relative;
  z-index: 1;
}

/* line 17138, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.25rem;
  padding: 0.22rem 0.2rem;
  border-radius: 3px;
  cursor: default;
  transition: background 0.1s ease;
  flex-wrap: nowrap;
  min-width: 0;
}

/* line 17150, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* line 17152, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-label {
  font-size: 0.70rem;
  color: rgba(255, 255, 255, 0.45);
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 17159, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-value {
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 17168, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-badge {
  font-size: 0.58rem;
  font-weight: 600;
  color: inherit;
  opacity: 0.8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 80px;
  flex-shrink: 1;
  min-width: 0;
}

/* line 17182, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-warn-high .fr-value, .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-warn-high .fr-badge {
  color: #ff6b6b;
}

/* line 17185, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-warn-low .fr-value, .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-warn-low .fr-badge {
  color: #ffa726;
}

/* line 17188, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-good .fr-value, .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-good .fr-badge {
  color: #00d4aa;
}

/* line 17191, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-neutral .fr-value, .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-neutral .fr-badge {
  color: #00b4d8;
}

/* line 17194, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
  padding-top: 0.2rem;
}

/* line 17196, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector .fr-sector {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.4);
  font-style: italic;
  white-space: normal;
  line-height: 1.3;
}

/* line 17206, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.07);
  margin: 0.35rem 0;
}

/* line 17212, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-updated {
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.25);
  margin-top: 0.4rem;
  text-align: center;
}

/* line 17220, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-na {
  color: rgba(255, 255, 255, 0.2) !important;
  font-weight: 400 !important;
}

/* line 17226, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-positive {
  color: #00d4aa !important;
}

/* line 17227, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-negative {
  color: #ff6b6b !important;
}

/* line 17230, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo {
  align-items: flex-start !important;
}

/* line 17233, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo .fr-label {
  padding-top: 0.1rem;
}

/* line 17235, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo .fund-range {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  line-height: 1.3;
}

/* line 17241, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo .fund-range .fr-high {
  color: #00d4aa;
  font-size: 0.72rem;
  font-weight: 600;
}

/* line 17242, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo .fund-range .fr-low {
  color: #ff6b6b;
  font-size: 0.72rem;
  font-weight: 600;
}

/* line 17247, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding: 0.8rem 0.3rem;
  color: rgba(255, 255, 255, 0.2);
  font-size: 0.55rem;
  text-align: center;
}

/* line 17257, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-empty i {
  font-size: 0.8rem;
  opacity: 0.4;
}

/* line 17262, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
  flex: 0 0 200px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem;
  background: rgba(15, 23, 42, 0.8);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 17272, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 17277, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-header .chart-title {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 17285, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-header .chart-title i {
  font-size: 0.65rem;
}

/* line 17288, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-header .period-selector {
  display: flex;
  gap: 0.2rem;
}

/* line 17292, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-header .period-selector .period-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.55rem;
  font-weight: 600;
  padding: 0.2rem 0.35rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 17303, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-header .period-selector .period-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
}

/* line 17308, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-header .period-selector .period-btn.active {
  background: rgba(99, 102, 241, 0.3);
  border-color: rgba(99, 102, 241, 0.5);
  color: #a5b4fc;
}

/* line 17317, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
  height: 80px;
  position: relative;
}

/* line 17321, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 17327, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.25rem;
}

/* line 17334, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-label {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
}

/* line 17340, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value {
  font-size: 0.75rem;
  font-weight: 700;
}

/* line 17344, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.positive {
  color: #22c55e;
}

/* line 17345, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.negative {
  color: #ef4444;
}

/* line 17351, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .content-column {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 17358, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .content-column .events-detail-section {
  margin-bottom: 0;
}

/* line 17362, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .content-column .ai-reasoning-section {
  margin-bottom: 0;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 17370, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    gap: 0.6rem;
  }
  /* line 17373, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: 0 0 260px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 17379, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 17383, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: 0 0 190px;
  }
  /* line 17386, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack .trading-levels-stack {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 17393, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17396, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
    height: 90px;
  }
  /* line 17400, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .content-column {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (max-width: 767px) {
  /* line 17409, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 17413, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column {
    flex: none;
    width: 100%;
  }
  /* line 17417, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical {
    width: 100%;
    flex-direction: row;
    justify-content: center;
    padding: 0.4rem;
    gap: 0.5rem;
  }
  /* line 17424, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .action-badge, .ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .forecast-badge {
    width: auto;
    padding: 0.3rem 0.7rem;
    font-size: 0.72rem;
  }
  /* line 17430, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip {
    width: auto;
    padding: 0.2rem 0.45rem;
    font-size: 0.55rem;
  }
  /* line 17438, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
    width: 100%;
  }
  /* line 17444, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item {
    padding: 0.4rem 0.4rem;
  }
  /* line 17446, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-label {
    font-size: 0.5rem;
  }
  /* line 17447, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-value {
    font-size: 0.72rem;
  }
  /* line 17448, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-pct {
    font-size: 0.55rem;
  }
  /* line 17453, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: none;
    width: 100%;
  }
  /* line 17459, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column {
    flex: none;
    width: 100%;
    padding: 0.45rem 0.5rem;
  }
  /* line 17464, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.25rem 0.5rem;
  }
  /* line 17470, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-divider {
    display: none;
  }
  /* line 17472, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 0.15rem 0.2rem;
  }
  /* line 17478, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-label {
    font-size: 0.62rem;
  }
  /* line 17479, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-value {
    font-size: 0.74rem;
  }
  /* line 17481, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-badge {
    white-space: normal !important;
    max-width: 100% !important;
    font-size: 0.56rem !important;
    line-height: 1.2 !important;
  }
  /* line 17488, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
    grid-column: 1 / -1;
  }
  /* line 17489, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-row-hilo {
    grid-column: span 2;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
  /* line 17495, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-row-hilo .fund-range .fr-high, .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-row-hilo .fund-range .fr-low {
    font-size: 0.70rem;
  }
  /* line 17501, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17504, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
    height: 100px;
  }
}

@media (max-width: 380px) {
  /* line 17512, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* line 17519, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 17527, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(0, 0, 0, 0.3);
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 17536, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip .stat-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 17543, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip .stat-value {
  font-weight: 600;
  font-size: 0.85rem;
  color: white;
}

/* line 17549, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip.warning {
  border: 1px solid rgba(255, 107, 107, 0.4);
}

/* line 17552, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip.warning .stat-value {
  color: #ff6b6b;
}

/* line 17560, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section {
  background: rgba(15, 23, 42, 0.8);
  border-radius: 8px;
  padding: 0.75rem;
  margin-bottom: 1rem;
  border-left: 3px solid #f6ad55;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid #f6ad55;
}

/* line 17569, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #f6ad55;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}

/* line 17580, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-title i {
  font-size: 0.7rem;
}

/* line 17583, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 17589, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.2);
}

/* line 17597, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
}

/* line 17606, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
  font-size: 0.65rem;
}

/* line 17609, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item .event-text {
  font-size: 0.8rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.9);
}

/* line 17616, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item.dividend .event-icon-wrap {
  background: rgba(255, 215, 0, 0.2);
  color: #ffd700;
}

/* line 17620, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item.earnings .event-icon-wrap {
  background: rgba(0, 180, 216, 0.2);
  color: #00b4d8;
}

/* line 17624, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item.crisis .event-icon-wrap {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 17628, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item.warning .event-icon-wrap {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
}

/* line 17632, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item.others .event-icon-wrap {
  background: rgba(99, 102, 241, 0.2);
  color: #818cf8;
}

/* line 17638, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(15, 30, 50, 0.85) 100%);
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 10px;
  border-left: 3px solid #00d4aa;
}

/* line 17646, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .section-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #00d4aa;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 17657, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .section-label i {
  font-size: 0.85rem;
}

/* line 17662, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 17668, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.55rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  white-space: nowrap;
  background: rgba(148, 163, 184, 0.15);
  border: 1px solid rgba(148, 163, 184, 0.3);
  color: #94a3b8;
}

/* line 17683, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.buy {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.4);
  color: #10b981;
}

/* line 17689, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.sell {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* line 17695, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.hold {
  background: rgba(148, 163, 184, 0.15);
  border-color: rgba(148, 163, 184, 0.3);
  color: #94a3b8;
}

/* line 17701, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.wait {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.4);
  color: #f59e0b;
}

/* line 17707, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.trim {
  background: rgba(168, 85, 247, 0.15);
  border-color: rgba(168, 85, 247, 0.4);
  color: #a855f7;
}

/* line 17714, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-reason-text {
  flex: 1;
  font-size: 0.85rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  min-width: 200px;
}

/* line 17726, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section {
  margin-bottom: 1rem;
}

/* line 17729, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
  background: rgba(15, 23, 42, 0.8);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 17736, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #00d4aa;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 17748, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-text {
  font-size: 0.85rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

/* line 17755, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block.daily {
  background: rgba(0, 180, 216, 0.1);
  border-left: 3px solid #00b4d8;
}

/* line 17759, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block.daily .reasoning-label {
  color: #00b4d8;
}

/* line 17767, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 1rem;
  margin-bottom: 1rem;
}

/* line 17774, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .primary-trading-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 17785, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 17790, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .action-badge, .ai-analysis-card.compact .signal-trading-block .signal-badge-group .forecast-badge {
  font-size: 0.85rem;
  font-weight: 700;
  padding: 0.4rem 0.8rem;
  border-radius: 8px;
}

/* line 17797, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 17806, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip i {
  font-size: 0.65rem;
}

/* line 17808, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip.confidence-high, .ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip.confidence-very-high {
  background: rgba(0, 212, 170, 0.15);
  border: 1px solid rgba(0, 212, 170, 0.4);
  color: #00d4aa;
}

/* line 17813, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip.confidence-medium {
  background: rgba(245, 158, 11, 0.07);
  border: 1px solid rgba(245, 158, 11, 0.18);
  color: rgba(245, 158, 11, 0.75);
}

/* line 17818, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip.confidence-low {
  background: rgba(239, 68, 68, 0.07);
  border: 1px solid rgba(239, 68, 68, 0.18);
  color: rgba(239, 68, 68, 0.7);
}

/* line 17826, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .key-levels-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 17832, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .secondary-trading-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 17840, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  padding: 0.5rem 0.85rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.15) 0%, rgba(139, 92, 246, 0.12) 100%);
  border: 1px solid rgba(99, 102, 241, 0.35);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.15);
}

/* line 17851, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview .j7-label {
  color: #a5b4fc;
  font-weight: 600;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 17859, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview .j7-price {
  font-weight: 700;
  font-size: 0.9rem;
  color: white;
}

/* line 17865, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview .j7-change {
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.15rem 0.4rem;
  border-radius: 5px;
}

/* line 17871, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview .j7-change.positive {
  color: #4ade80;
  background: rgba(74, 222, 128, 0.15);
}

/* line 17875, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview .j7-change.negative {
  color: #f87171;
  background: rgba(248, 113, 113, 0.15);
}

/* line 17884, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/* line 17893, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
}

/* line 17899, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-value {
  font-weight: 700;
  font-size: 0.9rem;
  color: white;
}

/* line 17905, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

/* line 17911, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.positive {
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.15);
}

/* line 17915, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.negative {
  color: #ff6b6b;
  background: rgba(255, 107, 107, 0.15);
}

/* line 17921, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.target {
  background: rgba(0, 212, 170, 0.15);
  border: 1px solid rgba(0, 212, 170, 0.3);
}

/* line 17924, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.target .level-value {
  color: #00d4aa;
}

/* line 17927, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.stop {
  background: rgba(255, 107, 107, 0.15);
  border: 1px solid rgba(255, 107, 107, 0.3);
}

/* line 17930, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.stop .level-value {
  color: #ff6b6b;
}

/* line 17933, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.bought {
  background: rgba(99, 102, 241, 0.15);
  border: 1px solid rgba(99, 102, 241, 0.3);
}

/* line 17936, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.bought .level-value {
  color: #818cf8;
}

/* line 17939, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.growth {
  background: rgba(251, 191, 36, 0.15);
  border: 1px solid rgba(251, 191, 36, 0.3);
}

/* line 17942, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.growth .level-value {
  color: #fbbf24;
}

/* line 17946, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent {
  padding: 0.4rem 0.75rem;
}

/* line 17948, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-value {
  font-size: 0.85rem;
}

/* line 17949, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-pct {
  font-size: 0.7rem;
}

/* line 17953, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle {
  padding: 0.3rem 0.6rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 17957, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-label {
  font-size: 0.65rem;
}

/* line 17958, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-value {
  font-size: 0.8rem;
  opacity: 0.85;
}

/* line 17959, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-pct {
  font-size: 0.7rem;
}

/* line 17965, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .trading-levels .levels-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 17973, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 17983, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 17988, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .action-badge, .ai-analysis-card.compact .detail-header-row .signal-recap .forecast-badge {
  font-size: 0.9rem;
  font-weight: 700;
  padding: 0.4rem 0.8rem;
  border-radius: 8px;
}

/* line 17995, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 18004, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip i {
  font-size: 0.7rem;
}

/* line 18008, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip.confidence-high, .ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip.confidence-very-high {
  background: rgba(0, 212, 170, 0.08);
  border: 1px solid rgba(0, 212, 170, 0.18);
  color: rgba(0, 212, 170, 0.8);
}

/* line 18014, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip.confidence-medium {
  background: rgba(245, 158, 11, 0.07);
  border: 1px solid rgba(245, 158, 11, 0.18);
  color: rgba(245, 158, 11, 0.75);
}

/* line 18020, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip.confidence-low {
  background: rgba(239, 68, 68, 0.07);
  border: 1px solid rgba(239, 68, 68, 0.18);
  color: rgba(239, 68, 68, 0.7);
}

/* line 18028, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.18) 0%, rgba(139, 92, 246, 0.14) 100%);
  border: 2px solid rgba(99, 102, 241, 0.45);
  padding: 0.5rem 0.9rem;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(99, 102, 241, 0.2);
}

/* line 18038, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview .j7-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: #a5b4fc;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 18046, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview .j7-price {
  font-weight: 800;
  font-size: 1rem;
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* line 18053, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview .j7-change {
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 6px;
}

/* line 18059, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview .j7-change.positive {
  color: #4ade80;
  background: rgba(74, 222, 128, 0.2);
  border: 1px solid rgba(74, 222, 128, 0.4);
}

/* line 18064, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview .j7-change.negative {
  color: #f87171;
  background: rgba(248, 113, 113, 0.2);
  border: 1px solid rgba(248, 113, 113, 0.4);
}

/* line 18074, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 18079, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
}

/* line 18090, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .section-title i {
  color: #00d4aa;
}

/* line 18095, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-blocks-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

@media (max-width: 768px) {
  /* line 18095, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .complementary-info-section .info-blocks-grid {
    grid-template-columns: 1fr;
  }
}

/* line 18105, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  padding: 0.75rem;
  border-left: 3px solid rgba(255, 255, 255, 0.2);
}

/* line 18111, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block .block-icon {
  font-size: 1rem;
  margin-right: 0.4rem;
}

/* line 18116, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block .block-title {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.7);
}

/* line 18124, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block .block-content {
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
  margin: 0.5rem 0 0 0;
}

/* line 18131, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro {
  border-left-color: #00b4d8;
}

/* line 18133, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro .block-title {
  color: #00b4d8;
}

/* line 18136, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company {
  border-left-color: #818cf8;
}

/* line 18138, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company .block-title {
  color: #818cf8;
}

/* line 18141, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical {
  border-left-color: #fbbf24;
}

/* line 18143, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical .block-title {
  color: #fbbf24;
}

/* line 18146, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.catalysts {
  border-left-color: #00d4aa;
}

/* line 18148, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.catalysts .block-title {
  color: #00d4aa;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 16840, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 18158, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.65rem;
    margin-bottom: 0.5rem;
  }
  /* line 18163, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.5rem;
  }
  /* line 18167, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.5rem;
  }
  /* line 18170, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.8rem;
  }
  /* line 18171, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.55rem;
  }
  /* line 18172, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-content {
    font-size: 0.65rem;
    line-height: 1.4;
    margin-top: 0.3rem;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 16840, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 18181, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.6rem;
    margin-bottom: 0.4rem;
  }
  /* line 18186, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.4rem;
  }
  /* line 18190, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.4rem;
  }
  /* line 18193, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.7rem;
  }
  /* line 18194, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 18195, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-content {
    font-size: 0.6rem;
    line-height: 1.35;
    margin-top: 0.25rem;
  }
}

@media (max-width: 767px) {
  /* line 16840, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 18204, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.55rem;
    margin-bottom: 0.35rem;
  }
  /* line 18209, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  /* line 18214, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.35rem;
  }
  /* line 18217, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.65rem;
    margin-right: 0.25rem;
  }
  /* line 18218, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 18219, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-content {
    font-size: 0.55rem;
    line-height: 1.3;
    margin-top: 0.2rem;
  }
}

/* line 18225, app/assets/stylesheets/dashboard.scss */
.price-display-compact {
  text-align: center;
}

/* line 18228, app/assets/stylesheets/dashboard.scss */
.price-display-compact .price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 18237, app/assets/stylesheets/dashboard.scss */
.price-display-compact .price-main {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  white-space: nowrap !important;
}

/* line 18245, app/assets/stylesheets/dashboard.scss */
.price-display-compact .usd-conversion {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
  display: block;
  margin-top: 0.15rem;
}

@media (max-width: 768px) {
  /* line 18258, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .symbol-row .symbol-tag {
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 18264, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    max-width: 100px;
    font-size: 0.65rem;
  }
  /* line 18271, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.main-signal, .signal-cell .signal-display .main-signal.forecast-badge {
    font-size: 0.75rem;
    padding: 0.3rem 0.6rem;
  }
  /* line 18276, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.mini, .signal-cell .signal-display .mini.forecast-badge {
    display: none;
  }
  /* line 18282, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.75rem;
  }
  /* line 18286, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.65rem;
  }
  /* line 18290, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    display: none;
  }
  /* line 18295, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.75rem;
  }
  /* line 18298, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row {
    gap: 0.5rem;
  }
  /* line 18301, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip {
    padding: 0.3rem 0.6rem;
  }
  /* line 18304, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-label {
    font-size: 0.6rem;
  }
  /* line 18308, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-value {
    font-size: 0.75rem;
  }
  /* line 18314, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .trading-levels .levels-row {
    flex-direction: column;
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  /* line 18324, app/assets/stylesheets/dashboard.scss */
  .stocks-table th:nth-child(4),
.stocks-table td:nth-child(4),
.stocks-table th:nth-child(5),
.stocks-table td:nth-child(5) {
    display: none !important;
  }
  /* line 18332, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    display: none;
  }
  /* line 18337, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.6rem;
  }
  /* line 18341, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value .value-main {
    font-size: 0.75rem;
  }
  /* line 18346, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-pct {
    font-size: 0.65rem;
  }
  /* line 18347, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-val {
    font-size: 0.55rem;
  }
}

/* line 18357, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-header {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 18362, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .risk-score-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 8px;
}

/* line 18371, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .risk-score-badge .label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.6);
}

/* line 18378, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .risk-score-badge .score {
  font-size: 1.25rem;
  font-weight: 700;
  color: #00d4aa;
}

/* line 18385, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

@media (max-width: 768px) {
  /* line 18385, app/assets/stylesheets/dashboard.scss */
  .investor-profile-form .profile-fields {
    grid-template-columns: 1fr;
  }
}

/* line 18396, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.75rem;
}

/* line 18403, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field label i {
  margin-right: 0.5rem;
  color: #00d4aa;
  width: 16px;
  text-align: center;
}

/* line 18410, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field label .optional-tag {
  font-size: 0.7rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.4);
  margin-left: 0.5rem;
}

/* line 18418, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field.optional label i {
  color: rgba(255, 255, 255, 0.4);
}

/* line 18423, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 18429, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option {
  padding: 0.6rem 1rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  white-space: nowrap;
}

/* line 18441, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 18446, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.selected {
  background: rgba(0, 212, 170, 0.15);
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 18452, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.08), rgba(59, 130, 246, 0.08));
  border-color: rgba(168, 85, 247, 0.3);
  color: rgba(200, 160, 255, 0.9);
}

/* line 18457, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option i {
  margin-right: 0.4rem;
}

/* line 18459, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option:hover {
  border-color: rgba(168, 85, 247, 0.6);
  box-shadow: 0 0 12px rgba(168, 85, 247, 0.2);
}

/* line 18464, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option.selected {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(59, 130, 246, 0.15));
  border-color: #a855f7;
  color: #c4b5fd;
  box-shadow: 0 0 16px rgba(168, 85, 247, 0.3), 0 0 32px rgba(168, 85, 247, 0.1);
}

/* line 18479, app/assets/stylesheets/dashboard.scss */
.personalized-col {
  min-width: 100px;
  text-align: center;
}

/* line 18485, app/assets/stylesheets/dashboard.scss */
.personalized-signal-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 18491, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

/* line 18497, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column.empty {
  opacity: 0.6;
}

/* line 18501, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column .signal-placeholder {
  font-size: 0.7rem;
  color: var(--text-muted);
  padding: 0.3rem 0.5rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
  white-space: nowrap;
}

/* line 18509, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column .signal-placeholder i {
  margin-right: 0.25rem;
}

/* line 18516, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.28rem 0.6rem;
  border-radius: 5px;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: help;
  transition: all 0.2s ease;
  background: rgba(148, 163, 184, 0.15);
  border: 1px solid rgba(148, 163, 184, 0.3);
  color: #94a3b8;
}

/* line 18532, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge:hover {
  transform: scale(1.02);
}

/* line 18536, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.buy {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.4);
  color: #10b981;
}

/* line 18542, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.sell {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* line 18548, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.hold {
  background: rgba(148, 163, 184, 0.15);
  border-color: rgba(148, 163, 184, 0.3);
  color: #94a3b8;
}

/* line 18554, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.wait {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.4);
  color: #f59e0b;
}

/* line 18560, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.trim {
  background: rgba(168, 85, 247, 0.15);
  border-color: rgba(168, 85, 247, 0.4);
  color: #a855f7;
}

/* line 18569, app/assets/stylesheets/dashboard.scss */
.personalized-reason {
  display: none;
}

/* line 18574, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* line 18588, app/assets/stylesheets/dashboard.scss */
.custom-tooltip,
.tooltip-content {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.6rem 0.9rem;
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.98) 0%, rgba(30, 41, 59, 0.98) 100%);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 10px;
  color: #e2e8f0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  white-space: normal;
  min-width: 120px;
  max-width: 280px;
  text-align: center;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 12px rgba(0, 212, 170, 0.15);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
}

/* line 18614, app/assets/stylesheets/dashboard.scss */
.custom-tooltip::after,
.tooltip-content::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: rgba(30, 41, 59, 0.98);
}

/* line 18626, app/assets/stylesheets/dashboard.scss */
.has-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

/* line 18632, app/assets/stylesheets/dashboard.scss */
.has-tooltip:hover .tooltip-content, .has-tooltip:hover .custom-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-4px);
}

/* line 18641, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper:hover .custom-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-4px);
}

/* line 18648, app/assets/stylesheets/dashboard.scss */
.personalized-tooltip {
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 18656, app/assets/stylesheets/dashboard.scss */
.tooltip {
  z-index: 9999 !important;
}

/* line 18659, app/assets/stylesheets/dashboard.scss */
.tooltip .tooltip-inner {
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.98) 0%, rgba(30, 41, 59, 0.98) 100%) !important;
  border: 1px solid rgba(0, 212, 170, 0.3) !important;
  border-radius: 10px !important;
  color: #e2e8f0 !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  padding: 0.6rem 0.9rem !important;
  max-width: 280px !important;
  text-align: center !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 12px rgba(0, 212, 170, 0.15) !important;
}

/* line 18674, app/assets/stylesheets/dashboard.scss */
.tooltip .tooltip-arrow::before {
  border-top-color: rgba(30, 41, 59, 0.98) !important;
  border-bottom-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18679, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18683, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18687, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18691, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18697, app/assets/stylesheets/dashboard.scss */
.personalized-signal-container {
  margin-top: 0.35rem;
}

/* line 18701, app/assets/stylesheets/dashboard.scss */
.personalized-signal {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.5rem;
  border-radius: 12px;
  font-size: 0.65rem;
  font-weight: 600;
  background: rgba(148, 163, 184, 0.15);
  border: 1px dashed rgba(148, 163, 184, 0.3);
  color: var(--text-secondary);
  cursor: help;
}

/* line 18714, app/assets/stylesheets/dashboard.scss */
.personalized-signal.buy {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.4);
  color: #10b981;
}

/* line 18720, app/assets/stylesheets/dashboard.scss */
.personalized-signal.sell {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* line 18726, app/assets/stylesheets/dashboard.scss */
.personalized-signal.hold {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.4);
  color: #3b82f6;
}

/* line 18732, app/assets/stylesheets/dashboard.scss */
.personalized-signal.wait {
  background: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.4);
  color: #f59e0b;
}

/* line 18738, app/assets/stylesheets/dashboard.scss */
.personalized-signal.trim {
  background: rgba(168, 85, 247, 0.1);
  border-color: rgba(168, 85, 247, 0.4);
  color: #a855f7;
}

/* line 18744, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl {
  font-size: 0.55rem;
  padding: 0.1rem 0.25rem;
  border-radius: 4px;
  margin-left: 0.15rem;
}

/* line 18750, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.positive {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 18755, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.negative {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 18763, app/assets/stylesheets/dashboard.scss */
.signal-locked-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.7rem;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(100, 116, 139, 0.15);
  border: 1px dashed rgba(100, 116, 139, 0.4);
  color: #64748b;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 18778, app/assets/stylesheets/dashboard.scss */
.signal-locked-badge:hover {
  background: rgba(99, 102, 241, 0.15);
  border-color: rgba(99, 102, 241, 0.4);
  color: #6366f1;
  text-decoration: none;
}

/* line 18785, app/assets/stylesheets/dashboard.scss */
.signal-locked-badge i {
  font-size: 0.7rem;
}

/* line 18791, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon {
  text-decoration: none;
  color: inherit;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

/* line 18797, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon:hover {
  opacity: 0.8;
  text-decoration: none;
}

/* line 18804, app/assets/stylesheets/dashboard.scss */
.signal-pending {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.6rem;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 500;
  background: rgba(148, 163, 184, 0.1);
  color: #94a3b8;
  opacity: 0.7;
}

/* line 18816, app/assets/stylesheets/dashboard.scss */
.signal-pending i {
  font-size: 0.65rem;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}

@media (max-width: 992px) {
  /* line 18830, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-column .personalized-reason {
    display: none;
  }
  /* line 18835, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.3rem 0.5rem;
    font-size: 0.7rem;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 18845, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell::before {
    display: none !important;
  }
  /* line 18850, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.2rem 0.4rem;
    font-size: 0.6rem;
  }
  /* line 18855, app/assets/stylesheets/dashboard.scss */
  .personalized-reason {
    font-size: 0.55rem;
  }
}

@media (max-width: 767px) {
  /* line 18863, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    font-size: 0.7rem;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
  }
  /* line 18873, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.25rem 0.45rem;
    font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  /* line 18881, app/assets/stylesheets/dashboard.scss */
  .personalized-col {
    display: none;
  }
  /* line 18886, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell {
    display: block !important;
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: rgba(0, 212, 170, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(0, 212, 170, 0.15);
  }
  /* line 18895, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    font-size: 0.65rem;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  /* line 18906, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-signal-column {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 18913, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-signal-badge {
    padding: 0.3rem 0.5rem;
    font-size: 0.7rem;
  }
  /* line 18918, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-reason {
    font-size: 0.65rem;
    max-width: 200px;
  }
  /* line 18925, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-container {
    display: none;
  }
}

/* line 18937, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header {
  background: rgba(15, 20, 40, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 18941, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header .mode-indicator {
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.75rem;
}

/* line 18947, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header h5 {
  font-size: 1.1rem;
  font-weight: 600;
}

/* line 18955, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
}

/* line 18960, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card {
  background: rgba(26, 31, 58, 0.8);
  border-radius: 10px;
  padding: 1rem;
  height: 100%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 18967, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

/* line 18972, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card .metric-icon {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  opacity: 0.9;
}

/* line 18978, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card .metric-value {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.25rem;
  word-break: break-word;
}

/* line 18986, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card .metric-label {
  font-size: 0.7rem;
  color: #a0aec0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

/* line 18993, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card .metric-label .small {
  font-size: 0.6rem;
  opacity: 0.8;
}

/* line 19003, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .card {
  border-radius: 10px;
}

/* line 19007, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .events-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 19013, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.4rem 0.75rem;
  border-radius: 6px;
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 19022, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini:hover {
  transform: scale(1.02);
}

/* line 19026, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini i {
  font-size: 0.65rem;
}

@media (max-width: 1200px) {
  /* line 19036, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.75rem;
  }
  /* line 19039, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1.2rem;
  }
  /* line 19043, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.65rem;
  }
}

@media (max-width: 768px) {
  /* line 19052, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header {
    padding: 0.5rem 1rem !important;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 19057, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header h5 {
    font-size: 0.95rem;
  }
  /* line 19061, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header .mode-indicator {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.65rem;
  }
  /* line 19068, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.6rem;
  }
  /* line 19071, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 1rem;
  }
  /* line 19075, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1rem;
  }
  /* line 19079, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.6rem;
  }
  /* line 19086, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .events-timeline-section .event-chip-mini {
    padding: 0.3rem 0.5rem;
    font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  /* line 19097, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .col-6 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  /* line 19102, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.5rem;
  }
  /* line 19105, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
  }
  /* line 19110, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 0.9rem;
  }
  /* line 19114, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.55rem;
  }
}

/* line 19124, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .card {
  border-radius: 10px;
}

/* line 19128, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* line 19131, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* line 19136, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item .h5 {
  font-weight: 700;
  font-size: 1.25rem;
}

@media (max-width: 768px) {
  /* line 19144, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 19151, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item {
    padding: 0.5rem !important;
  }
  /* line 19154, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 0.9rem;
  }
  /* line 19158, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .small {
    font-size: 0.6rem;
  }
}

/* line 19171, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.25);
}

/* line 19181, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn i {
  font-size: 1rem;
}

/* line 19185, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn.btn-primary {
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  border: none;
}

/* line 19189, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn.btn-primary:hover {
  background: linear-gradient(135deg, #00e8bb, #00b8ff);
  box-shadow: 0 6px 16px rgba(0, 212, 170, 0.35);
}

/* line 19195, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn.btn-secondary {
  background: rgba(100, 116, 139, 0.3);
  border: 1px solid rgba(100, 116, 139, 0.4);
  color: #718096;
  box-shadow: none;
}

/* line 19206, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 0 2.5rem !important;
  display: flex;
  align-items: center;
  overflow: visible;
  position: relative;
  z-index: 1100;
}

/* line 19219, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header > .d-flex {
  width: 100%;
  height: 100%;
  align-items: center;
}

/* line 19226, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .header-left {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  overflow: hidden;
}

/* line 19234, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .header-left i {
  flex-shrink: 0;
  font-size: 1rem;
}

/* line 19241, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .header-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 19248, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header h5 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #fff;
}

/* line 19258, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .mode-indicator {
  flex-shrink: 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.7rem;
  display: flex;
  align-items: center;
  border-radius: 4px;
}

/* line 19267, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn {
  flex-shrink: 0;
}

/* line 19272, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #a0aec0;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 19283, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
}

/* line 19289, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost i {
  font-size: 0.85rem;
}

/* line 19294, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-sm {
  font-size: 0.8rem;
  padding: 0.4rem 0.75rem;
  white-space: nowrap;
}

/* line 19300, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge {
  font-size: 0.65rem !important;
  flex-shrink: 0;
}

/* line 19305, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge-status {
  padding: 0.25rem 0.5rem;
}

/* line 19310, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .date-info {
  font-size: 0.7rem;
  flex-shrink: 0;
}

/* line 19316, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown {
  position: relative;
  z-index: 1000;
}

/* line 19321, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu {
  min-width: 120px;
  z-index: 1050 !important;
  position: absolute !important;
}

/* line 19326, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu.show {
  z-index: 1050 !important;
}

/* line 19330, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu .dropdown-item {
  cursor: pointer;
  padding: 0.5rem 1rem;
}

/* line 19334, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu .dropdown-item:hover {
  background: rgba(0, 212, 170, 0.15);
}

@media (max-width: 992px) {
  /* line 19343, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 1rem !important;
  }
  /* line 19346, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.9rem;
  }
  /* line 19350, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .date-info {
    display: none !important;
  }
  /* line 19354, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.75rem;
    padding: 0.35rem 0.6rem;
  }
}

@media (max-width: 768px) {
  /* line 19362, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.75rem !important;
  }
  /* line 19365, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.85rem;
  }
  /* line 19369, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    padding: 0.2rem 0.4rem !important;
    font-size: 0.6rem;
  }
  /* line 19373, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator span {
    display: none;
  }
  /* line 19378, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.7rem;
    padding: 0.3rem 0.5rem;
  }
  /* line 19383, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .badge {
    font-size: 0.6rem !important;
    padding: 0.2rem 0.35rem !important;
  }
}

@media (max-width: 576px) {
  /* line 19391, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.5rem !important;
  }
  /* line 19394, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-left {
    gap: 0.5rem;
  }
  /* line 19398, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-right {
    gap: 0.35rem;
  }
  /* line 19402, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.8rem;
  }
  /* line 19406, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.65rem;
    padding: 0.25rem 0.4rem;
  }
  /* line 19410, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm .btn-text {
    display: none !important;
  }
  /* line 19415, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    display: none !important;
  }
}

/* line 19427, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulations-content {
  max-width: 1400px;
  margin: 0 auto;
}

/* line 19433, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro {
  background: rgba(26, 31, 58, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  transition: all 0.2s ease;
}

/* line 19440, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 19446, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro.unseen {
  background: rgba(0, 212, 170, 0.05);
  border-color: rgba(0, 212, 170, 0.2);
}

/* line 19451, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .card-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}

/* line 19458, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .mode-badge {
  min-width: 28px;
  height: 28px;
  padding: 0 0.5rem;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-size: 0.75rem;
}

/* line 19469, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .mode-badge i {
  flex-shrink: 0;
}

/* line 19473, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .mode-badge .mode-name {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* line 19482, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .new-badge {
  background: linear-gradient(135deg, #00d4aa, #00b894);
  color: #fff;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 19493, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge {
  font-size: 0.65rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-weight: 500;
}

/* line 19499, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-completed {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
}

/* line 19503, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-processing {
  background: rgba(0, 123, 255, 0.2);
  color: #007bff;
}

/* line 19507, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-pending {
  background: rgba(108, 117, 125, 0.2);
  color: #adb5bd;
}

/* line 19511, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-failed {
  background: rgba(220, 53, 69, 0.2);
  color: #dc3545;
}

/* line 19517, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .date-range {
  font-size: 0.75rem;
  color: #a0aec0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 19524, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .date-range i {
  font-size: 0.7rem;
}

/* line 19526, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .date-range .duration-badge {
  background: rgba(108, 117, 125, 0.3);
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  font-size: 0.65rem;
}

/* line 19534, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 19539, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

/* line 19544, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-label {
  font-size: 0.6rem;
  color: #6c757d;
  text-transform: uppercase;
}

/* line 19549, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
}

/* line 19556, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.positive .metric-value {
  color: #28a745;
}

/* line 19557, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.negative .metric-value {
  color: #dc3545;
}

/* line 19560, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-risk .metric-value {
  color: #ffc107;
}

/* line 19566, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

/* line 19572, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row .event-mini-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.65rem;
  border: 1px solid;
  color: #a0aec0;
}

/* line 19582, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row .event-mini-chip i {
  font-size: 0.55rem;
}

/* line 19585, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row .event-more-badge {
  background: rgba(108, 117, 125, 0.3);
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-size: 0.6rem;
  color: #a0aec0;
}

/* line 19594, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .processing-indicator,
.simulations-index .simulation-card-pro .failed-indicator {
  display: flex;
  align-items: center;
  padding: 0.5rem 0;
}

/* line 19601, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding-top: 0.75rem;
}

/* line 19605, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time {
  font-size: 0.7rem;
}

/* line 19607, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time i {
  margin-right: 0.25rem;
}

/* line 19610, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .action-buttons {
  display: flex;
  gap: 0.5rem;
}

/* line 19615, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .btn-action {
  font-size: 0.7rem;
  padding: 0.35rem 0.6rem;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: transparent;
  color: #a0aec0;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 19629, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .btn-action:hover {
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff;
}

/* line 19634, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .btn-action.btn-view:hover {
  background: rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.4);
  color: #00d4aa;
}

/* line 19640, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .btn-action.btn-duplicate:hover {
  background: rgba(23, 162, 184, 0.15);
  border-color: rgba(23, 162, 184, 0.4);
  color: #17a2b8;
}

/* line 19646, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .btn-action.btn-delete:hover {
  background: rgba(220, 53, 69, 0.15);
  border-color: rgba(220, 53, 69, 0.4);
  color: #dc3545;
}

/* line 19657, app/assets/stylesheets/dashboard.scss */
.simulations-index .empty-state .empty-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2), rgba(0, 184, 148, 0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

/* line 19667, app/assets/stylesheets/dashboard.scss */
.simulations-index .empty-state .empty-icon i {
  font-size: 2rem;
  color: #00d4aa;
}

@media (max-width: 768px) {
  /* line 19676, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro {
    padding: 0.85rem 1rem;
  }
  /* line 19679, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .card-title {
    font-size: 0.85rem;
  }
  /* line 19683, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .mode-badge {
    min-width: 24px;
    height: 24px;
    padding: 0 0.4rem;
    font-size: 0.65rem;
  }
  /* line 19689, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .mode-badge .mode-name {
    display: none;
  }
  /* line 19694, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    gap: 0.5rem;
  }
  /* line 19698, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-value {
    font-size: 0.75rem;
  }
  /* line 19699, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-label {
    font-size: 0.55rem;
  }
  /* line 19704, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .events-row .event-mini-chip {
    font-size: 0.6rem;
    padding: 0.15rem 0.4rem;
  }
}

@media (max-width: 480px) {
  /* line 19714, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .card-header-row {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start !important;
  }
  /* line 19720, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
  /* line 19726, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row {
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch !important;
  }
  /* line 19731, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row .action-buttons {
    justify-content: flex-end;
  }
}

/* line 19745, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card {
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.95), rgba(15, 20, 40, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* line 19752, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card:hover {
  border-color: rgba(0, 212, 170, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* line 19757, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header {
  background: linear-gradient(90deg, rgba(0, 212, 170, 0.1), rgba(111, 66, 193, 0.05));
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 19765, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header h5 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 19774, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header h5 i {
  color: #00d4aa;
}

/* line 19779, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header .header-badge {
  font-size: 0.7rem;
  padding: 0.25rem 0.6rem;
  border-radius: 20px;
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

/* line 19789, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-body {
  padding: 1.25rem;
}

/* line 19795, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stocks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1rem;
}

/* line 19801, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card {
  background: linear-gradient(135deg, rgba(30, 35, 65, 0.9), rgba(20, 25, 50, 0.95));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1rem;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}

/* line 19810, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--stock-color, #00d4aa), transparent);
}

/* line 19820, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 19826, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-positive {
  --stock-color: #28a745;
}

/* line 19830, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-negative {
  --stock-color: #dc3545;
}

/* line 19834, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

/* line 19840, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-symbol {
  font-size: 1.1rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.5px;
}

/* line 19847, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-name {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 2px;
}

/* line 19853, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-return {
  font-size: 1rem;
  font-weight: 700;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
}

/* line 19859, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-return.positive {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
}

/* line 19864, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-return.negative {
  background: rgba(220, 53, 69, 0.2);
  color: #dc3545;
}

/* line 19871, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
}

/* line 19877, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices .price-item .price-label {
  font-size: 0.65rem;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

/* line 19885, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices .price-item .price-value {
  font-size: 1rem;
  font-weight: 600;
  color: #a0aec0;
}

/* line 19890, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices .price-item .price-value.predicted {
  color: #00d4aa;
}

/* line 19897, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-risks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* line 19902, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-risks .risk-tag {
  font-size: 0.65rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background: rgba(255, 193, 7, 0.15);
  color: #ffc107;
  border: 1px solid rgba(255, 193, 7, 0.25);
}

/* line 19914, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro {
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.95), rgba(15, 20, 40, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
}

/* line 19920, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header {
  background: linear-gradient(90deg, rgba(111, 66, 193, 0.1), rgba(0, 212, 170, 0.05));
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 19928, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header h5 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 19937, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header h5 i {
  color: #6f42c1;
}

/* line 19942, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header .chart-controls {
  display: flex;
  gap: 0.5rem;
}

/* line 19946, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header .chart-controls .btn-chart-control {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #a0aec0;
  font-size: 0.75rem;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  transition: all 0.2s ease;
}

/* line 19955, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header .chart-controls .btn-chart-control:hover {
  background: rgba(0, 212, 170, 0.2);
  border-color: rgba(0, 212, 170, 0.4);
  color: #00d4aa;
}

/* line 19964, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-body {
  padding: 1.5rem;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.1));
}

/* line 19968, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-body canvas {
  max-height: 350px;
}

/* line 19973, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-legend {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(0, 0, 0, 0.2);
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* line 19981, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-legend .legend-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  color: #718096;
}

/* line 19988, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-legend .legend-item .legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 19999, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 20003, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 20008, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:first-child {
  padding-top: 0;
}

/* line 20012, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section .section-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 20021, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section .section-title i {
  font-size: 0.9rem;
}

/* line 20026, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section .section-content {
  color: #a0aec0;
  font-size: 0.85rem;
  line-height: 1.6;
}

/* line 20032, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 20037, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section ul li {
  padding: 0.4rem 0;
  padding-left: 1.25rem;
  position: relative;
  color: #a0aec0;
  font-size: 0.85rem;
}

/* line 20044, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--bullet-color, #00d4aa);
}

/* line 20057, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.risks-section ul li::before {
  background: #dc3545;
}

/* line 20061, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.opportunities-section ul li::before {
  background: #28a745;
}

/* line 20065, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.recommendations-section ul li::before {
  background: #6f42c1;
}

/* line 20072, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 20078, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card {
  background: linear-gradient(135deg, rgba(30, 35, 65, 0.8), rgba(20, 25, 50, 0.9));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1rem;
  transition: all 0.2s ease;
}

/* line 20085, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card:hover {
  border-color: rgba(0, 212, 170, 0.3);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

/* line 20090, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggestion-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 20096, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggestion-header .event-date {
  font-size: 0.8rem;
  font-weight: 600;
  color: #00d4aa;
}

/* line 20102, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggestion-header .event-badge {
  font-size: 0.65rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background: rgba(111, 66, 193, 0.2);
  color: #6f42c1;
  border: 1px solid rgba(111, 66, 193, 0.3);
}

/* line 20112, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 8px;
  padding: 0.75rem;
  margin-top: 0.5rem;
}

/* line 20119, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .stock-info {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}

/* line 20125, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .stock-info .symbol {
  font-weight: 700;
  color: #fff;
  font-size: 0.9rem;
}

/* line 20131, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .stock-info .name {
  font-size: 0.75rem;
  color: #718096;
}

/* line 20137, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .reasoning {
  font-size: 0.75rem;
  color: #a0aec0;
  line-height: 1.4;
}

@media (max-width: 992px) {
  /* line 20149, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
  /* line 20153, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .suggestions-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  /* line 20161, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: 1fr;
  }
  /* line 20165, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header {
    padding: 0.75rem 1rem;
  }
  /* line 20168, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header h5 {
    font-size: 0.85rem;
  }
  /* line 20173, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-body {
    padding: 1rem;
  }
  /* line 20177, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card {
    padding: 0.875rem;
  }
  /* line 20180, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-header .stock-symbol {
    font-size: 1rem;
  }
  /* line 20184, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    gap: 1rem;
  }
  /* line 20187, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices .price-item .price-value {
    font-size: 0.9rem;
  }
  /* line 20194, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-header {
    padding: 0.75rem 1rem;
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
  }
  /* line 20200, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-header .chart-controls {
    width: 100%;
    justify-content: flex-end;
  }
  /* line 20206, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-body {
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 20215, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 20220, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-legend {
    gap: 0.75rem;
    padding: 0.5rem 1rem;
  }
}

/* line 20235, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulations-content {
  padding: 0.75rem 0.5rem !important;
}

/* line 20240, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-header {
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  padding: 0 0.75rem !important;
}

/* line 20246, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-header h5 {
  font-size: 0.9rem !important;
}

/* line 20252, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-card-pro {
  padding: 0.75rem !important;
  margin-bottom: 0.5rem !important;
}

/* line 20258, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .mb-4 {
  margin-bottom: 0.75rem !important;
}

/* line 20262, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .pro-card {
  margin-bottom: 0.75rem !important;
}

/* line 20269, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header {
  padding: 0.6rem 0.75rem !important;
}

/* line 20272, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header h5 {
  font-size: 0.8rem !important;
}

/* line 20277, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-body {
  padding: 0.75rem !important;
}

/* line 20282, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header {
  padding: 0.5rem 0.75rem !important;
}

/* line 20285, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header .chart-title {
  font-size: 0.85rem !important;
}

/* line 20290, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-body {
  padding: 0.5rem !important;
}

@media (max-width: 768px) {
  /* line 20299, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulations-content {
    padding: 0.75rem 0.5rem;
  }
  /* line 20306, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .row.mb-4 > .col-md-4 .summary-card {
    min-height: 55px !important;
    padding: 0.5rem 0.35rem !important;
  }
}

/* line 20319, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .mc-stat-card {
  background: rgba(111, 66, 193, 0.1);
  border: 1px solid rgba(111, 66, 193, 0.3);
  border-radius: 8px;
  padding: 1rem;
  text-align: center;
}

/* line 20326, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .mc-stat-card .mc-stat-label {
  color: #a0aec0;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}

/* line 20334, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .mc-stat-card .mc-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}

/* line 20341, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 20350, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card span {
  color: #a0aec0;
  font-size: 0.85rem;
}

/* line 20355, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card strong {
  margin-left: auto;
  font-size: 1rem;
}

/* line 20364, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  height: 100%;
}

/* line 20371, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card.worst-case {
  border-color: rgba(220, 53, 69, 0.4);
  background: linear-gradient(135deg, rgba(220, 53, 69, 0.1), transparent);
}

/* line 20376, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card.base-case {
  border-color: rgba(0, 212, 170, 0.4);
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1), transparent);
}

/* line 20381, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card.best-case {
  border-color: rgba(40, 167, 69, 0.4);
  background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), transparent);
}

/* line 20386, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #a0aec0;
  font-size: 0.85rem;
  margin-bottom: 0.75rem;
}

/* line 20394, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-header i {
  font-size: 1rem;
}

/* line 20398, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-header .probability-badge {
  margin-left: auto;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.7rem;
}

/* line 20407, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-value {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 20413, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-return {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 20419, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-desc {
  color: #718096;
  font-size: 0.8rem;
  line-height: 1.4;
}

/* line 20426, app/assets/stylesheets/dashboard.scss */
.stress-test-card .recovery-estimate {
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.3);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  color: #a0aec0;
  font-size: 0.9rem;
}

/* line 20434, app/assets/stylesheets/dashboard.scss */
.stress-test-card .recovery-estimate strong {
  color: #ffc107;
}

/* line 20443, app/assets/stylesheets/dashboard.scss */
.battle-card .battle-strategies-wrapper {
  width: 100%;
}

/* line 20447, app/assets/stylesheets/dashboard.scss */
.battle-card .battle-strategies-scroll {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

@media (max-width: 992px) {
  /* line 20447, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  /* line 20447, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

/* line 20462, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card-wrapper {
  min-width: 0;
}

/* line 20466, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 1.25rem;
  position: relative;
  height: 100%;
  transition: all 0.2s ease;
}

@media (max-width: 768px) {
  /* line 20466, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card {
    padding: 0.85rem;
  }
}

/* line 20479, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card.winner {
  border-color: rgba(255, 193, 7, 0.6);
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.15), rgba(255, 193, 7, 0.05));
  box-shadow: 0 0 20px rgba(255, 193, 7, 0.2);
}

/* line 20485, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .winner-badge {
  position: absolute;
  top: -10px;
  right: 10px;
  background: linear-gradient(135deg, #ffc107, #ff9800);
  color: #000;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

@media (max-width: 768px) {
  /* line 20485, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .winner-badge {
    font-size: 0.6rem;
    padding: 0.2rem 0.5rem;
    top: -8px;
    right: 8px;
  }
}

/* line 20506, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .winner-badge i {
  font-size: 0.65rem;
}

@media (max-width: 768px) {
  /* line 20506, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .winner-badge i {
    font-size: 0.55rem;
  }
}

/* line 20515, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-name {
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
  /* line 20515, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-name {
    font-size: 0.8rem;
    margin-bottom: 0.35rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* line 20531, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-return {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

@media (max-width: 768px) {
  /* line 20531, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-return {
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20542, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

@media (max-width: 768px) {
  /* line 20542, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics {
    gap: 0.25rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20553, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div {
  display: flex;
  justify-content: space-between;
  font-size: 0.8rem;
}

@media (max-width: 768px) {
  /* line 20553, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics > div {
    font-size: 0.7rem;
  }
}

/* line 20562, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div span {
  color: #718096;
}

/* line 20566, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div strong {
  color: #a0aec0;
}

/* line 20572, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-desc {
  color: #718096;
  font-size: 0.75rem;
  line-height: 1.4;
}

@media (max-width: 768px) {
  /* line 20572, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-desc {
    font-size: 0.65rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* line 20589, app/assets/stylesheets/dashboard.scss */
.battle-card .winner-reason {
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.3);
  border-radius: 6px;
  padding: 1rem;
  color: #a0aec0;
  font-size: 0.9rem;
  line-height: 1.5;
}

@media (max-width: 768px) {
  /* line 20589, app/assets/stylesheets/dashboard.scss */
  .battle-card .winner-reason {
    padding: 0.75rem;
    font-size: 0.8rem;
  }
}

/* line 20603, app/assets/stylesheets/dashboard.scss */
.battle-card .winner-reason strong {
  color: #ffc107;
}

@media (max-width: 768px) {
  /* line 20612, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card {
    padding: 0.75rem;
  }
  /* line 20615, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-label {
    font-size: 0.65rem;
    margin-bottom: 0.35rem;
  }
  /* line 20620, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-value {
    font-size: 0.95rem;
  }
  /* line 20625, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card {
    padding: 0.5rem 0.75rem;
    flex-wrap: wrap;
  }
  /* line 20629, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card span {
    font-size: 0.75rem;
  }
  /* line 20633, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card strong {
    font-size: 0.9rem;
  }
  /* line 20639, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card {
    padding: 0.85rem;
  }
  /* line 20642, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-header {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
  }
  /* line 20647, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-value {
    font-size: 1.1rem;
  }
  /* line 20651, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-return {
    font-size: 0.85rem;
  }
  /* line 20655, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-desc {
    font-size: 0.7rem;
    margin-top: 0.5rem;
  }
}

@media (max-width: 767px) {
  /* line 20668, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .row > .col-6,
.mega-simulator-results .executive-summary .row > [class*="col-6"] {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }
}

@media (max-width: 767px) {
  /* line 20678, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .row > .col-6,
.risk-metrics-section .row > [class*="col-6"] {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }
}

@media (max-width: 767px) {
  /* line 20691, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 20695, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    padding-left: 0 !important;
  }
}

@media (max-width: 767px) {
  /* line 20705, app/assets/stylesheets/dashboard.scss */
  .details-cell {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 0.75rem !important;
    width: 100% !important;
  }
  /* line 20716, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-chart,
.details-cell .btn-details-chart.mobile-only {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    min-width: 44px !important;
    max-width: 50px !important;
    height: 40px !important;
    padding: 0.5rem !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(139, 92, 246, 0.15)) !important;
    border: 1px solid rgba(99, 102, 241, 0.4) !important;
    border-radius: 6px !important;
    color: #a5b4fc !important;
    cursor: pointer !important;
  }
  /* line 20732, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-chart .fa-chart-line,
.details-cell .btn-details-chart.mobile-only .fa-chart-line {
    font-size: 0.9rem !important;
    color: #a5b4fc !important;
  }
  /* line 20737, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-chart .chevron-icon,
.details-cell .btn-details-chart.mobile-only .chevron-icon {
    font-size: 0.5rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin-left: 0.2rem !important;
    transition: transform 0.3s !important;
  }
  /* line 20744, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-chart .btn-details-text,
.details-cell .btn-details-chart.mobile-only .btn-details-text {
    display: none !important;
  }
  /* line 20748, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-chart[aria-expanded="true"],
.details-cell .btn-details-chart.mobile-only[aria-expanded="true"] {
    background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
    border-color: transparent !important;
  }
  /* line 20752, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-chart[aria-expanded="true"] .fa-chart-line, .details-cell .btn-details-chart[aria-expanded="true"] .chevron-icon,
.details-cell .btn-details-chart.mobile-only[aria-expanded="true"] .fa-chart-line,
.details-cell .btn-details-chart.mobile-only[aria-expanded="true"] .chevron-icon {
    color: white !important;
  }
  /* line 20756, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-chart[aria-expanded="true"] .chevron-icon,
.details-cell .btn-details-chart.mobile-only[aria-expanded="true"] .chevron-icon {
    transform: rotate(180deg) !important;
  }
  /* line 20763, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    display: inline-flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 0.5rem 0.75rem !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem !important;
  }
  /* line 20773, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: inline !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
  }
}

/* line 20785, app/assets/stylesheets/dashboard.scss */
#portfolioHistoryModal {
  z-index: 1060 !important;
}

/* line 20788, app/assets/stylesheets/dashboard.scss */
#portfolioHistoryModal.show {
  z-index: 1060 !important;
}

/* line 20794, app/assets/stylesheets/dashboard.scss */
body.modal-open .modal-backdrop + #portfolioHistoryModal,
#portfolioHistoryModal.show {
  z-index: 1060 !important;
}

/* line 20799, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content {
  background: linear-gradient(180deg, #1a1f2e 0%, #0f1318 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
}

/* line 20804, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem 1.5rem;
}

/* line 20808, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title {
  color: #fff;
  font-weight: 600;
  font-size: 1.1rem;
}

/* line 20813, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title i {
  color: #00d4aa;
}

/* line 20819, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-body {
  padding: 1.5rem;
}

/* line 20825, app/assets/stylesheets/dashboard.scss */
.period-selector {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

/* line 20830, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn {
  padding: 0.4rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 20841, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn:hover {
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 20846, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn.active {
  background: #00d4aa;
  border-color: #00d4aa;
  color: #000;
}

/* line 20855, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display {
  text-align: center;
}

/* line 20858, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-label {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  margin-right: 0.5rem;
}

/* line 20864, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value {
  font-size: 1.5rem;
  font-weight: 700;
}

/* line 20868, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.positive {
  color: #22c55e;
}

/* line 20872, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.negative {
  color: #ef4444;
}

/* line 20879, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 1rem;
}

/* line 20884, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 20891, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 1rem;
}

/* line 20896, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-label {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.25rem;
}

/* line 20904, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
}

/* line 20909, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.positive {
  color: #22c55e;
}

/* line 20913, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.negative {
  color: #ef4444;
}

@media (max-width: 576px) {
  /* line 20924, app/assets/stylesheets/dashboard.scss */
  #portfolioHistoryModal .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  /* line 20930, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content {
    border-radius: 12px;
  }
  /* line 20933, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header {
    padding: 0.75rem 1rem;
  }
  /* line 20936, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header .modal-title {
    font-size: 1rem;
  }
  /* line 20941, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-body {
    padding: 1rem;
  }
  /* line 20946, app/assets/stylesheets/dashboard.scss */
  .period-selector {
    flex-wrap: wrap;
    gap: 0.35rem;
  }
  /* line 20950, app/assets/stylesheets/dashboard.scss */
  .period-selector .period-btn {
    padding: 0.35rem 0.6rem;
    font-size: 0.75rem;
    min-width: auto;
  }
  /* line 20958, app/assets/stylesheets/dashboard.scss */
  .portfolio-pl-display .pl-value {
    font-size: 1.25rem;
  }
  /* line 20963, app/assets/stylesheets/dashboard.scss */
  .portfolio-chart-container {
    padding: 0.5rem;
    height: 220px !important;
  }
  /* line 20968, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics {
    padding: 0.75rem;
  }
  /* line 20971, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-label {
    font-size: 0.65rem;
  }
  /* line 20975, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-value {
    font-size: 0.95rem;
  }
}

@media (min-width: 1440px) {
  /* line 20985, app/assets/stylesheets/dashboard.scss */
  .dashboard-transaction-dropdown {
    margin-left: 0.5rem !important;
  }
  /* line 20989, app/assets/stylesheets/dashboard.scss */
  .trades-dropdown-btn {
    padding: 10px !important;
    font-size: 0.8rem !important;
  }
}

/* line 21000, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-container {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

/* line 21004, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-container::before {
  display: none;
}

/* line 21010, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-header {
  background: var(--bg-card-solid) !important;
  border-bottom-color: var(--border-color) !important;
}

/* line 21014, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-header .dashboard-title,
[data-theme="light"] .dashboard-header .dashboard-subtitle {
  color: var(--text-primary) !important;
}

/* line 21021, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21025, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-value {
  color: var(--text-primary) !important;
}

/* line 21029, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-label {
  color: var(--text-muted) !important;
}

/* line 21033, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-divider {
  background: var(--border-color) !important;
}

/* line 21037, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .total-breakdown {
  color: var(--text-muted) !important;
}

/* line 21043, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card,
[data-theme="light"] .dashboard-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* line 21049, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card .card-header,
[data-theme="light"] .dashboard-card .card-header {
  background: var(--bg-secondary) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* line 21054, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card .card-header h5, [data-theme="light"] .card .card-header h4, [data-theme="light"] .card .card-header h3, [data-theme="light"] .card .card-header h2, [data-theme="light"] .card .card-header h1,
[data-theme="light"] .dashboard-card .card-header h5,
[data-theme="light"] .dashboard-card .card-header h4,
[data-theme="light"] .dashboard-card .card-header h3,
[data-theme="light"] .dashboard-card .card-header h2,
[data-theme="light"] .dashboard-card .card-header h1 {
  color: var(--text-primary) !important;
}

/* line 21059, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card .card-body,
[data-theme="light"] .dashboard-card .card-body {
  color: var(--text-primary) !important;
}

/* line 21063, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card .card-content p,
[data-theme="light"] .dashboard-card .card-content p {
  color: var(--text-secondary) !important;
}

/* line 21067, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card .card-content small,
[data-theme="light"] .card .card-content .performance-detail,
[data-theme="light"] .dashboard-card .card-content small,
[data-theme="light"] .dashboard-card .card-content .performance-detail {
  color: var(--text-muted) !important;
}

/* line 21074, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21078, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table thead {
  background: var(--bg-secondary) !important;
}

/* line 21081, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table thead th {
  background: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

/* line 21089, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table tbody tr {
  background: transparent !important;
  border-bottom-color: var(--border-color) !important;
}

/* line 21093, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table tbody tr:hover {
  background: var(--bg-input) !important;
}

/* line 21097, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table tbody tr td {
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

/* line 21107, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-tabs .nav-tabs {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21111, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-tabs .nav-tabs .nav-link {
  background: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

/* line 21116, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-tabs .nav-tabs .nav-link:hover {
  background: var(--bg-input) !important;
  color: var(--text-primary) !important;
}

/* line 21121, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-tabs .nav-tabs .nav-link.active {
  background: var(--bg-card-solid) !important;
  color: var(--accent-primary) !important;
  border-bottom-color: var(--bg-card-solid) !important;
}

/* line 21129, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-tabs .tab-content {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21136, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21140, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card .watch-list-header {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* line 21146, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card .watch-item {
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* line 21150, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card .watch-item:hover {
  background: var(--bg-input) !important;
}

/* line 21157, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .vertex-ai-forecast,
[data-theme="light"] .vertex-ai-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21162, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .vertex-ai-forecast .forecast-date-small,
[data-theme="light"] .vertex-ai-forecast .forecast-date-small-inline,
[data-theme="light"] .vertex-ai-forecast .usd-conversion-inline,
[data-theme="light"] .vertex-ai-card .forecast-date-small,
[data-theme="light"] .vertex-ai-card .forecast-date-small-inline,
[data-theme="light"] .vertex-ai-card .usd-conversion-inline {
  color: var(--text-muted) !important;
}

/* line 21170, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-row {
  background: var(--bg-primary) !important;
}

/* line 21174, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21178, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .ai-analysis-header {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

/* line 21182, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .ai-analysis-header h4, [data-theme="light"] .ai-analysis-card .ai-analysis-header h5 {
  color: var(--text-primary) !important;
}

/* line 21188, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .card-header h5 {
  color: var(--text-primary) !important;
}

/* line 21193, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .metric-value {
  color: var(--text-primary) !important;
}

/* line 21197, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .growth-estimates-container {
  background: var(--bg-input) !important;
  border-color: var(--border-color) !important;
}

/* line 21204, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-content {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* line 21210, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-header {
  background: var(--bg-secondary) !important;
  border-bottom-color: var(--border-color) !important;
}

/* line 21214, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-header .modal-title {
  color: var(--text-primary) !important;
}

/* line 21219, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-body {
  background: var(--bg-card-solid) !important;
  color: var(--text-primary) !important;
}

/* line 21224, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-footer {
  background: var(--bg-secondary) !important;
  border-top-color: var(--border-color) !important;
}

/* line 21230, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .calendar-cell {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* line 21235, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .calendar-cell:hover {
  background: var(--bg-input) !important;
}

/* line 21241, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .empty-state {
  border-color: var(--border-color) !important;
  color: var(--text-muted) !important;
}

/* line 21247, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .shares-display small {
  color: var(--text-muted) !important;
}

/* line 21252, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea,
[data-theme="light"] .form-control,
[data-theme="light"] .form-select {
  background: var(--bg-input) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* line 21261, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] input::placeholder,
[data-theme="light"] select::placeholder,
[data-theme="light"] textarea::placeholder,
[data-theme="light"] .form-control::placeholder,
[data-theme="light"] .form-select::placeholder {
  color: var(--text-muted) !important;
}

/* line 21267, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21271, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu .dropdown-item {
  color: var(--text-primary) !important;
}

/* line 21274, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu .dropdown-item:hover, [data-theme="light"] .dropdown-menu .dropdown-item:focus {
  background: var(--bg-input) !important;
  color: var(--text-primary) !important;
}

/* line 21281, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu .dropdown-divider {
  border-color: var(--border-color) !important;
}

/* line 21287, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .mini-widget,
[data-theme="light"] .market-sentiment-mini {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

@media (max-width: 1024px) {
  /* line 21296, app/assets/stylesheets/dashboard.scss */
  [data-theme="light"] .dashboard-tabs .nav-tabs {
    background: var(--bg-card-solid) !important;
  }
  /* line 21299, app/assets/stylesheets/dashboard.scss */
  [data-theme="light"] .dashboard-tabs .nav-tabs .nav-link {
    background: var(--bg-secondary) !important;
    color: var(--text-secondary) !important;
  }
  /* line 21303, app/assets/stylesheets/dashboard.scss */
  [data-theme="light"] .dashboard-tabs .nav-tabs .nav-link.active {
    background: var(--bg-card-solid) !important;
    color: var(--accent-primary) !important;
  }
}

/* line 21316, app/assets/stylesheets/dashboard.scss */
.fundamentals-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 21321, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 21328, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 21338, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-title i {
  color: #00d4aa;
}

/* line 21343, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-updated {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
}

/* line 21348, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6rem;
}

@media (max-width: 1024px) {
  /* line 21348, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  /* line 21348, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: 1fr;
  }
}

/* line 21362, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  padding: 0.7rem 0.75rem;
  border-left: 3px solid rgba(255, 255, 255, 0.15);
}

/* line 21368, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.valuation {
  border-left-color: #818cf8;
}

/* line 21369, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.market {
  border-left-color: #00b4d8;
}

/* line 21370, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.profitability {
  border-left-color: #00d4aa;
}

/* line 21371, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.balance {
  border-left-color: #ffa726;
}

/* line 21374, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block-title {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.5rem;
}

/* line 21382, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block-title i {
  margin-right: 0.3rem;
}

/* line 21384, app/assets/stylesheets/dashboard.scss */
.valuation .fundamentals-section .fund-block-title {
  color: #818cf8;
}

/* line 21385, app/assets/stylesheets/dashboard.scss */
.market .fundamentals-section .fund-block-title {
  color: #00b4d8;
}

/* line 21386, app/assets/stylesheets/dashboard.scss */
.profitability .fundamentals-section .fund-block-title {
  color: #00d4aa;
}

/* line 21387, app/assets/stylesheets/dashboard.scss */
.balance .fundamentals-section .fund-block-title {
  color: #ffa726;
}

/* line 21390, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metrics-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* line 21396, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.4rem;
  padding: 0.2rem 0.3rem;
  border-radius: 4px;
  transition: background 0.15s ease;
}

/* line 21405, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* line 21411, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-high .fund-value {
  color: #ff6b6b;
}

/* line 21414, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-low .fund-value {
  color: #ffa726;
}

/* line 21417, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-good .fund-value {
  color: #00d4aa;
}

/* line 21420, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-neutral .fund-value {
  color: #00b4d8;
}

/* line 21424, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.55);
  white-space: nowrap;
  cursor: default;
}

/* line 21430, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-label .fund-info-icon {
  font-size: 0.55rem;
  color: rgba(255, 255, 255, 0.3);
  margin-left: 0.2rem;
  vertical-align: middle;
}

/* line 21436, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-label .fund-info-icon:hover {
  color: rgba(255, 255, 255, 0.6);
}

/* line 21440, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  text-align: right;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* line 21451, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-value.fund-text {
  font-size: 0.65rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  text-align: right;
}

/* line 21459, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-badge {
  font-size: 0.55rem;
  font-weight: 500;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  white-space: nowrap;
  line-height: 1.4;
}

@media (max-width: 768px) {
  /* line 21472, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 21477, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block {
    padding: 0.6rem;
  }
  /* line 21481, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block-title {
    font-size: 0.55rem;
  }
  /* line 21485, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-label {
    font-size: 0.6rem;
  }
  /* line 21489, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-value {
    font-size: 0.68rem;
  }
}

@media (max-width: 380px) {
  /* line 21495, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: 1fr;
  }
}

@keyframes search-shimmer {
  0% {
    background-position: -600px 0;
  }
  100% {
    background-position: 600px 0;
  }
}

/* line 21510, app/assets/stylesheets/dashboard.scss */
.search-skeleton-state {
  padding: 0.25rem 0;
}

/* line 21514, app/assets/stylesheets/dashboard.scss */
.search-skeleton-spinner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem 0.5rem;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.45);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

/* line 21523, app/assets/stylesheets/dashboard.scss */
.search-skeleton-spinner i {
  color: #00d4aa;
  font-size: 0.9rem;
}

/* line 21526, app/assets/stylesheets/dashboard.scss */
.search-skeleton-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 21533, app/assets/stylesheets/dashboard.scss */
.search-skeleton-row:last-child {
  border-bottom: none;
}

/* line 21536, app/assets/stylesheets/dashboard.scss */
.search-skeleton-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex-shrink: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.07) 25%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0.07) 75%);
  background-size: 1200px 100%;
  animation: search-shimmer 1.5s infinite linear;
}

/* line 21546, app/assets/stylesheets/dashboard.scss */
.search-skeleton-lines {
  flex: 1;
  min-width: 0;
}

/* line 21551, app/assets/stylesheets/dashboard.scss */
.search-skeleton-line {
  border-radius: 5px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.07) 25%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0.07) 75%);
  background-size: 1200px 100%;
  animation: search-shimmer 1.5s infinite linear;
}

/* line 21558, app/assets/stylesheets/dashboard.scss */
.search-skeleton-btns {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
}

/* line 21564, app/assets/stylesheets/dashboard.scss */
.search-skeleton-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.07) 25%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0.07) 75%);
  background-size: 1200px 100%;
  animation: search-shimmer 1.5s infinite linear;
}

/* line 21574, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .search-skeleton-spinner {
  color: rgba(0, 0, 0, 0.4);
  border-bottom-color: rgba(0, 0, 0, 0.08);
}

/* line 21579, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .search-skeleton-icon,
[data-theme="light"] .search-skeleton-line,
[data-theme="light"] .search-skeleton-btn {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.06) 25%, rgba(0, 0, 0, 0.13) 50%, rgba(0, 0, 0, 0.06) 75%);
  background-size: 1200px 100%;
  animation: search-shimmer 1.5s infinite linear;
}

/* line 21591, app/assets/stylesheets/dashboard.scss */
.today-actions-section {
  background: linear-gradient(135deg, rgba(10, 14, 26, 0.9) 0%, rgba(20, 28, 50, 0.8) 100%);
  border: 1px solid rgba(0, 212, 170, 0.12);
  border-radius: 16px;
  padding: 0;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.03);
  margin-bottom: 0.85rem;
  overflow: hidden;
  position: relative;
}

/* line 21602, app/assets/stylesheets/dashboard.scss */
.today-actions-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  opacity: 0.6;
}

/* line 21613, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed {
  background: rgba(10, 14, 26, 0.6);
  border-color: rgba(0, 212, 170, 0.06);
  box-shadow: none;
}

/* line 21618, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed::before {
  opacity: 0.3;
}

/* line 21622, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed .today-actions-header {
  border-bottom-color: transparent;
}

/* line 21627, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.1rem;
  cursor: pointer;
  transition: background 0.2s ease;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  user-select: none;
}

/* line 21637, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:hover {
  background: rgba(0, 212, 170, 0.03);
}

/* line 21641, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:active {
  background: rgba(0, 212, 170, 0.05);
}

/* line 21646, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-title-group {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

/* line 21652, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  border-radius: 5px;
  background: rgba(0, 212, 170, 0.15);
  flex-shrink: 0;
}

/* line 21664, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-icon-wrap i {
  color: #00d4aa;
  font-size: 0.6rem;
}

/* line 21670, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  letter-spacing: -0.01em;
}

/* line 21678, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #0a0e1a;
  font-size: 0.6rem;
  font-weight: 800;
  padding: 0 5px;
}

/* line 21692, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  color: #64748b;
  font-size: 0.65rem;
  transition: transform 0.25s ease, background 0.2s ease;
}

/* line 21703, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 21707, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron.rotated {
  transform: rotate(-90deg);
}

/* line 21712, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body {
  padding: 0.6rem 1.1rem 0.85rem;
}

/* line 21715, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body.collapsed {
  display: none;
}

/* line 21720, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}

/* line 21727, app/assets/stylesheets/dashboard.scss */
.today-action-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 0.75rem 0.85rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 0;
  overflow: hidden;
  position: relative;
}

/* line 21737, app/assets/stylesheets/dashboard.scss */
.today-action-card:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

/* line 21742, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-buy {
  border-left: 3px solid #00d4aa;
}

/* line 21745, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-buy::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 40%;
  background: linear-gradient(90deg, rgba(0, 212, 170, 0.03) 0%, transparent 100%);
  pointer-events: none;
}

/* line 21757, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-sell {
  border-left: 3px solid #ff6b6b;
}

/* line 21760, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-sell::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 40%;
  background: linear-gradient(90deg, rgba(255, 107, 107, 0.03) 0%, transparent 100%);
  pointer-events: none;
}

/* line 21772, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  padding-right: 1.4rem;
}

/* line 21780, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  text-transform: uppercase;
}

/* line 21791, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-buy {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 21796, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-sell {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
}

/* line 21802, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-confidence {
  font-size: 0.65rem;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 0.2rem;
}

/* line 21809, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-confidence i {
  font-size: 0.55rem;
  color: #00d4aa;
}

/* line 21815, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-stock {
  margin-bottom: 0.3rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 21822, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-symbol {
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
  margin-right: 0.3rem;
}

/* line 21829, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-name {
  font-size: 0.7rem;
  color: #64748b;
}

/* line 21834, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}

/* line 21841, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-price {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 21847, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-signal {
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

/* line 21856, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-signal--strong {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

/* line 21862, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-signal--moderate {
  background: rgba(255, 193, 7, 0.12);
  color: #ffc107;
  border: 1px solid rgba(255, 193, 7, 0.25);
}

/* line 21868, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-signal--weak {
  background: rgba(255, 107, 107, 0.12);
  color: #ff6b6b;
  border: 1px solid rgba(255, 107, 107, 0.25);
}

/* line 21875, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-reason {
  font-size: 0.68rem;
  color: #64748b;
  line-height: 1.35;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 21888, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-card.has-swap {
  padding-bottom: 0;
}

/* line 21892, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap {
  margin-top: 0.6rem;
  padding: 0.6rem 0.75rem;
  border-top: 1px dashed rgba(0, 212, 170, 0.25);
  background: rgba(0, 212, 170, 0.03);
  border-radius: 0 0 12px 12px;
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

/* line 21902, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-arrow {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6rem;
  color: #00d4aa;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.4rem;
}

/* line 21913, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-arrow i {
  font-size: 0.55rem;
}

/* line 21918, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-target {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 21925, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-badge {
  font-size: 0.55rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

/* line 21935, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

/* line 21940, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-symbol {
  font-size: 0.75rem;
  font-weight: 700;
}

/* line 21945, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-name {
  font-size: 0.6rem;
}

/* line 21950, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-reason {
  font-size: 0.6rem;
  color: #64748b;
  margin: 0.3rem 0 0;
  line-height: 1.3;
}

/* line 21959, app/assets/stylesheets/dashboard.scss */
.today-actions-header-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 21965, app/assets/stylesheets/dashboard.scss */
.today-actions-show-completed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  color: #64748b;
  font-size: 0.6rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 21979, app/assets/stylesheets/dashboard.scss */
.today-actions-show-completed:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  border-color: rgba(255, 255, 255, 0.12);
}

/* line 21985, app/assets/stylesheets/dashboard.scss */
.today-actions-show-completed.is-active {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 21993, app/assets/stylesheets/dashboard.scss */
.today-action-check-btn {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.25);
  font-size: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 2;
  opacity: 0;
}

/* line 22012, app/assets/stylesheets/dashboard.scss */
.today-action-card:hover .today-action-check-btn {
  opacity: 1;
}

/* line 22016, app/assets/stylesheets/dashboard.scss */
.today-action-check-btn:hover {
  border-color: #00d4aa;
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.1);
  transform: scale(1.1);
}

/* line 22025, app/assets/stylesheets/dashboard.scss */
.today-action-completed-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 14, 26, 0.85);
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 3;
}

/* line 22038, app/assets/stylesheets/dashboard.scss */
.today-action-completed-overlay i {
  font-size: 1.5rem;
  color: #00d4aa;
}

/* line 22046, app/assets/stylesheets/dashboard.scss */
.today-action-card.completing .today-action-completed-overlay {
  opacity: 1;
  animation: completePulse 0.5s ease;
}

/* line 22051, app/assets/stylesheets/dashboard.scss */
.today-action-card.completing .today-action-check-btn {
  opacity: 0 !important;
}

@keyframes completePulse {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1.02);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* line 22063, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed {
  opacity: 0.45;
  filter: grayscale(0.4);
}

/* line 22067, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed .today-action-check-btn {
  opacity: 1;
  border-color: #00d4aa;
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

/* line 22074, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed .today-action-completed-overlay {
  opacity: 0;
}

/* line 22078, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed:hover {
  opacity: 0.65;
}

/* line 22084, app/assets/stylesheets/dashboard.scss */
.today-actions-all-done {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1.5rem 1rem;
  color: #00d4aa;
  font-size: 0.8rem;
  font-weight: 600;
}

/* line 22094, app/assets/stylesheets/dashboard.scss */
.today-actions-all-done i {
  font-size: 1rem;
}

/* line 22101, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-show-completed {
  border-color: rgba(0, 0, 0, 0.08);
  background: rgba(0, 0, 0, 0.02);
  color: #64748b;
}

/* line 22106, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-show-completed:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #1e293b;
}

/* line 22111, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-show-completed.is-active {
  background: rgba(5, 150, 105, 0.08);
  color: #059669;
  border-color: rgba(5, 150, 105, 0.3);
}

/* line 22118, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-check-btn {
  border-color: rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.02);
  color: rgba(0, 0, 0, 0.2);
}

/* line 22123, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-check-btn:hover {
  border-color: #059669;
  color: #059669;
  background: rgba(5, 150, 105, 0.08);
}

/* line 22130, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-completed-overlay {
  background: rgba(255, 255, 255, 0.88);
}

/* line 22133, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-completed-overlay i {
  color: #059669;
}

/* line 22136, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.is-completed .today-action-check-btn {
  border-color: #059669;
  background: rgba(5, 150, 105, 0.12);
  color: #059669;
}

/* line 22142, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-all-done {
  color: #059669;
}

/* line 22148, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* line 22153, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section.is-collapsed {
  background: #f8fafc;
  border-color: rgba(0, 0, 0, 0.05);
  box-shadow: none;
}

/* line 22159, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section::before {
  opacity: 0.8;
}

/* line 22163, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-header {
  border-bottom-color: rgba(0, 0, 0, 0.05);
}

/* line 22166, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-header:hover {
  background: rgba(0, 212, 170, 0.02);
}

/* line 22171, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-icon-wrap {
  background: rgba(5, 150, 105, 0.08);
}

/* line 22175, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-title {
  color: #1e293b;
}

/* line 22179, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-count {
  color: #fff;
}

/* line 22184, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card {
  background: rgba(0, 0, 0, 0.015);
  border-color: rgba(0, 0, 0, 0.05);
}

/* line 22188, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card:hover {
  background: rgba(0, 0, 0, 0.03);
}

/* line 22192, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-buy {
  border-left-color: #059669;
}

/* line 22194, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-buy::after {
  background: linear-gradient(90deg, rgba(5, 150, 105, 0.03) 0%, transparent 100%);
}

/* line 22196, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-sell {
  border-left-color: #dc2626;
}

/* line 22198, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-sell::after {
  background: linear-gradient(90deg, rgba(220, 38, 38, 0.03) 0%, transparent 100%);
}

/* line 22202, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-symbol {
  color: #1e293b;
}

/* line 22207, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-badge.action-buy {
  background: rgba(5, 150, 105, 0.1);
  color: #059669;
}

/* line 22211, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-badge.action-sell {
  background: rgba(220, 38, 38, 0.1);
  color: #dc2626;
}

@media (max-width: 992px) {
  /* line 22221, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.75rem 1rem 0.85rem;
  }
  /* line 22225, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.55rem;
  }
  /* line 22230, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 28px;
    height: 28px;
    border-radius: 5px;
  }
  /* line 22237, app/assets/stylesheets/dashboard.scss */
  .today-action-card {
    padding: 0.7rem 0.75rem;
  }
  /* line 22240, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge {
    font-size: 0.62rem;
    padding: 0.2rem 0.45rem;
    gap: 0.25rem;
  }
  /* line 22245, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.56rem;
  }
  /* line 22248, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    white-space: normal;
  }
  /* line 22252, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    display: inline;
    font-size: 0.64rem;
  }
  /* line 22257, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-reason {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.65rem;
    line-height: 1.4;
  }
  /* line 22267, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.75rem;
  }
}

@media (max-width: 768px) {
  /* line 22275, app/assets/stylesheets/dashboard.scss */
  .today-actions-section {
    border-radius: 12px;
    margin-bottom: 0.65rem;
  }
  /* line 22279, app/assets/stylesheets/dashboard.scss */
  .today-actions-section::before {
    height: 1.5px;
  }
  /* line 22283, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-header {
    padding: 0.6rem 0.85rem;
  }
  /* line 22287, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.5rem 0.75rem 0.65rem;
  }
  /* line 22291, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  /* line 22296, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-title {
    font-size: 0.78rem;
  }
  /* line 22300, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 26px;
    height: 26px;
    border-radius: 5px;
  }
  /* line 22305, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap i {
    font-size: 0.6rem;
  }
  /* line 22308, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-count {
    min-width: 16px;
    height: 16px;
    font-size: 0.55rem;
  }
  /* line 22315, app/assets/stylesheets/dashboard.scss */
  .today-action-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    border-radius: 8px;
    border: none;
    border-left: 2.5px solid transparent;
    background: rgba(255, 255, 255, 0.02);
  }
  /* line 22326, app/assets/stylesheets/dashboard.scss */
  .today-action-card::after {
    display: none;
  }
  /* line 22327, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-buy {
    border-left-color: #00d4aa;
  }
  /* line 22328, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-sell {
    border-left-color: #ff6b6b;
  }
  /* line 22329, app/assets/stylesheets/dashboard.scss */
  .today-action-card:hover {
    background: rgba(255, 255, 255, 0.04);
  }
  /* line 22331, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge-row {
    flex-shrink: 0;
    margin-bottom: 0;
  }
  /* line 22336, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge {
    font-size: 0.63rem;
    padding: 0.22rem 0.5rem;
    border-radius: 5px;
    gap: 0.25rem;
  }
  /* line 22342, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.58rem;
  }
  /* line 22345, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-confidence {
    display: none;
  }
  /* line 22349, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
  }
  /* line 22355, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.78rem;
  }
  /* line 22359, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    font-size: 0.65rem;
    color: #64748b;
  }
  /* line 22364, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-price {
    flex-shrink: 0;
    margin-bottom: 0;
    font-size: 0.72rem;
    color: #64748b;
  }
  /* line 22371, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-reason {
    display: block;
    width: 100%;
    font-size: 0.64rem;
    line-height: 1.4;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    color: #64748b;
    opacity: 0.85;
    margin: 0;
  }
  /* line 22383, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-check-btn {
    opacity: 1;
    top: 50%;
    transform: translateY(-50%);
    right: 0.6rem;
    width: 28px;
    height: 28px;
    font-size: 0.6rem;
  }
}

/* line 22398, app/assets/stylesheets/dashboard.scss */
.stock-followers-count {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.65rem;
  color: #64748b;
  margin-left: 0.4rem;
  white-space: nowrap;
  position: relative;
}

/* line 22408, app/assets/stylesheets/dashboard.scss */
.stock-followers-count i {
  font-size: 0.55rem;
}

/* line 22412, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip] {
  cursor: default;
}

/* line 22415, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip]::before, .stock-followers-count[data-tooltip]::after {
  position: absolute;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* line 22425, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip]::before {
  content: attr(data-tooltip);
  bottom: calc(100% + 6px);
  transform: translateX(-50%) translateY(4px);
  background: #1a1a2e;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 1000;
}

/* line 22440, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip]::after {
  content: '';
  bottom: calc(100% + 2px);
  transform: translateX(-50%) translateY(4px);
  border: 4px solid transparent;
  border-top-color: #1a1a2e;
  z-index: 1000;
}

/* line 22449, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip]:hover::before, .stock-followers-count[data-tooltip]:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* line 22458, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stock-followers-count {
  color: #94a3b8;
}

/* line 22466, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(245, 158, 11, 0.12);
  cursor: pointer;
  margin-left: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* line 22479, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle:hover {
  background: rgba(245, 158, 11, 0.25);
  transform: scale(1.1);
}

/* line 22484, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i {
  font-size: 0.7rem;
  color: #f59e0b;
}

/* line 22488, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i.fa-bell-slash {
  color: #6b7280;
}

/* line 22494, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle[data-alert-direction="false"][data-alert-confidence="false"][data-alert-price-target-enabled="false"] {
  background: rgba(107, 114, 128, 0.1);
}

/* line 22497, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle[data-alert-direction="false"][data-alert-confidence="false"][data-alert-price-target-enabled="false"]:hover {
  background: rgba(107, 114, 128, 0.2);
}

/* line 22504, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-alert-toggle {
  background: rgba(245, 158, 11, 0.08);
}

/* line 22507, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-alert-toggle:hover {
  background: rgba(245, 158, 11, 0.18);
}

/* line 22516, app/assets/stylesheets/dashboard.scss */
.today-actions-gate {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.5rem;
  opacity: 0.5;
}

/* line 22527, app/assets/stylesheets/dashboard.scss */
.today-actions-gate i {
  font-size: 0.8rem;
}

/* line 22531, app/assets/stylesheets/dashboard.scss */
.today-actions-gate span {
  font-size: 0.8rem;
}

/* line 22536, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  opacity: 0.45;
  cursor: default;
}

/* line 22543, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch .form-check-input {
  cursor: not-allowed;
  margin-top: 0;
}

/* line 22548, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch small {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.02em;
}

/* line 22556, app/assets/stylesheets/dashboard.scss */
.prediction-refresh-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 22561, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 8px;
  background: rgba(0, 212, 170, 0.08);
  color: #00d4aa;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 22575, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh:hover {
  background: rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.5);
  transform: translateY(-1px);
}

/* line 22581, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh:active {
  transform: translateY(0);
}

/* line 22585, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh i {
  font-size: 0.7rem;
}

/* line 22590, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-disabled,
.btn-stock-refresh-mobile.btn-stock-refresh-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.4);
}

/* line 22598, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-disabled:hover,
.btn-stock-refresh-mobile.btn-stock-refresh-disabled:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
  transform: none;
}

/* line 22605, app/assets/stylesheets/dashboard.scss */
.stock-refresh-stale-label {
  display: block;
  margin-top: 4px;
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.02em;
}

/* line 22613, app/assets/stylesheets/dashboard.scss */
.stock-refresh-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
}

/* line 22621, app/assets/stylesheets/dashboard.scss */
.stock-refresh-shimmer {
  width: 100%;
  max-width: 140px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
  position: relative;
}

/* line 22630, app/assets/stylesheets/dashboard.scss */
.stock-refresh-shimmer::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, #00d4aa, transparent);
  animation: stock-refresh-shimmer 1.8s infinite;
}

@keyframes stock-refresh-shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

/* line 22647, app/assets/stylesheets/dashboard.scss */
.stock-refresh-message {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.02em;
}

/* line 22653, app/assets/stylesheets/dashboard.scss */
.mobile-j1-refreshing {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 12px;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}

/* line 22664, app/assets/stylesheets/dashboard.scss */
.mobile-j1-refreshing .stock-refresh-shimmer {
  width: 60px;
  max-width: 60px;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  mask-image: radial-gradient(white, black);
}

/* line 22671, app/assets/stylesheets/dashboard.scss */
.mobile-j1-refreshing .stock-refresh-message {
  font-size: 0.6rem;
  white-space: nowrap;
}

/* line 22677, app/assets/stylesheets/dashboard.scss */
.mobile-j1-stale {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

/* line 22684, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 6px;
  background: rgba(0, 212, 170, 0.08);
  color: #00d4aa;
  font-size: 0.7rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 22698, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile:hover {
  background: rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.5);
}

/* line 22703, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile:active {
  transform: scale(0.96);
}

/* line 22707, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile i {
  font-size: 0.65rem;
}

/* line 22712, app/assets/stylesheets/dashboard.scss */
.stock-refresh-tooltip-anchor {
  position: relative;
  display: inline-block;
}

/* line 22716, app/assets/stylesheets/dashboard.scss */
.stock-refresh-tooltip-anchor:hover .stock-refresh-all-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* line 22723, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  z-index: 1000;
  background: #1a1f2e;
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 10px;
  padding: 10px 14px;
  min-width: 180px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 212, 170, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

/* line 22744, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: #1a1f2e;
  border-bottom: 1px solid rgba(0, 212, 170, 0.2);
  border-right: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 22757, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .refresh-all-text {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
}

/* line 22762, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .btn-refresh-all-link {
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.25);
  padding: 5px 12px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #00d4aa;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s ease;
}

/* line 22773, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .btn-refresh-all-link:hover {
  background: rgba(0, 212, 170, 0.2);
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 22778, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .btn-refresh-all-link i {
  font-size: 0.6rem;
  margin-right: 4px;
}

/* line 22792, app/assets/stylesheets/dashboard.scss */
.company-profile-card {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 0.55rem 0.6rem;
}

/* line 22798, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 22805, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-ident {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

/* line 22812, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-name {
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 22822, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem;
  font-size: 0.6rem;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.5);
}

/* line 22831, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-meta .company-profile-ticker {
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #00d4aa;
}

/* line 22837, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-meta .company-profile-sector,
.company-profile-card .company-profile-meta .company-profile-cap {
  padding: 0.08rem 0.32rem;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* line 22849, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-text {
  margin: 0.45rem 0 0;
  font-size: 0.68rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.62);
}

/* line 22856, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-more {
  display: inline-block;
  margin-top: 0.25rem;
  font-size: 0.64rem;
  font-weight: 600;
  color: #00d4aa;
  cursor: pointer;
}

/* line 22864, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-more:hover, .company-profile-card .company-profile-more:focus-visible {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 22881, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip {
  margin: 0 1.5rem 0.75rem calc(1.5rem + 0.6rem + 1px);
  padding: 0.7rem 0.85rem;
}

/* line 22885, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-name {
  font-size: 0.9rem;
  white-space: normal;
}

/* line 22890, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-meta {
  font-size: 0.66rem;
}

/* line 22894, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-text {
  font-size: 0.76rem;
  max-width: 105ch;
}

/* line 22899, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-more {
  font-size: 0.7rem;
}

@media (max-width: 575.98px) {
  /* line 22906, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-name {
    font-size: 0.8rem;
  }
  /* line 22907, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-text {
    font-size: 0.72rem;
  }
  /* line 22908, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-more {
    font-size: 0.7rem;
  }
}

/* line 22918, app/assets/stylesheets/dashboard.scss */
.stock-logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.07);
  overflow: hidden;
  vertical-align: middle;
}

/* line 22929, app/assets/stylesheets/dashboard.scss */
.stock-logo .stock-logo-initials {
  font-weight: 800;
  letter-spacing: 0.3px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1;
  user-select: none;
}

/* line 22937, app/assets/stylesheets/dashboard.scss */
.stock-logo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: rgba(255, 255, 255, 0.04);
  opacity: 1;
}

/* line 22948, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-sm {
  width: 26px;
  height: 26px;
}

/* line 22951, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-sm .stock-logo-initials {
  font-size: 0.6rem;
}

/* line 22954, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-md {
  width: 32px;
  height: 32px;
  border-radius: 7px;
}

/* line 22958, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-md .stock-logo-initials {
  font-size: 0.7rem;
}

/* line 22961, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-lg {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}

/* line 22965, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-lg .stock-logo-initials {
  font-size: 0.85rem;
}
/* line 23, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section {
  padding: 0.5rem 0;
}

/* line 28, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.6), rgba(15, 23, 42, 0.7));
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

/* line 35, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card.pizza-critical {
  border-left: 3px solid #ef4444;
}

/* line 36, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card.pizza-elevated {
  border-left: 3px solid #eab308;
}

/* line 37, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card.pizza-moderate {
  border-left: 3px solid #60a5fa;
}

/* line 38, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card.pizza-normal {
  border-left: 3px solid #10b981;
}

/* line 40, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 46, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-icon-section {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 51, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-icon-section .pizza-emoji {
  font-size: 1.5rem;
}

/* line 54, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-icon-section .pizza-title h5 {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
}

/* line 55, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-icon-section .pizza-title .pizza-subtitle {
  font-size: 0.7rem;
  color: #94a3b8;
}

/* line 59, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-gauge-mini {
  position: relative;
  width: 48px;
  height: 48px;
}

/* line 64, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-gauge-mini .circular-gauge {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 69, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-gauge-mini .circular-gauge .gauge-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 3;
}

/* line 70, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-gauge-mini .circular-gauge .gauge-fill {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  transition: stroke-dasharray 0.5s;
}

/* line 73, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-header .pizza-gauge-mini .gauge-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 84, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* line 90, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-label {
  font-size: 0.7rem;
  color: #94a3b8;
  display: block;
}

/* line 91, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-value {
  font-size: 0.85rem;
  font-weight: 500;
}

/* line 95, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-value.status-critical {
  color: #ef4444;
}

/* line 96, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-value.status-elevated {
  color: #eab308;
}

/* line 97, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-value.status-moderate {
  color: #60a5fa;
}

/* line 98, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-value.status-normal {
  color: #10b981;
}

/* line 99, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-value.trend-deteriorating {
  color: #ef4444;
}

/* line 100, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-status-row .pizza-stat .stat-value.trend-improving {
  color: #10b981;
}

/* line 105, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .counter-signal-alert {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: #f97316;
  background: rgba(249, 115, 22, 0.1);
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
}

/* line 113, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .counter-signal-alert i {
  margin-right: 0.4rem;
}

/* line 116, app/assets/stylesheets/geopolitical.scss */
.pizza-index-card .pizza-body .pizza-note {
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: #94a3b8;
  font-style: italic;
}

/* line 126, app/assets/stylesheets/geopolitical.scss */
.pizza-risk-row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}

@media (min-width: 992px) {
  /* line 126, app/assets/stylesheets/geopolitical.scss */
  .pizza-risk-row {
    flex-direction: row;
    align-items: stretch;
  }
  /* line 136, app/assets/stylesheets/geopolitical.scss */
  .pizza-risk-row .pizza-compact-card {
    flex: 0 0 30%;
    max-width: 30%;
  }
  /* line 141, app/assets/stylesheets/geopolitical.scss */
  .pizza-risk-row .threat-overview-card {
    flex: 0 0 calc(70% - 1rem);
    max-width: calc(70% - 1rem);
    margin-bottom: 0;
  }
}

/* line 150, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.6), rgba(15, 23, 42, 0.7));
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 1rem;
}

/* line 157, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card.defcon-1 {
  border-left: 4px solid #ef4444;
}

/* line 158, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card.defcon-2 {
  border-left: 4px solid #f97316;
}

/* line 159, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card.defcon-3 {
  border-left: 4px solid #eab308;
}

/* line 160, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card.defcon-4 {
  border-left: 4px solid #22c55e;
}

/* line 161, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card.defcon-5 {
  border-left: 4px solid #10b981;
}

/* line 163, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.75rem;
}

/* line 169, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-header .pizza-emoji {
  font-size: 1.5rem;
}

/* line 174, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-header .pizza-title h5 {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #f8fafc;
}

/* line 181, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-header .pizza-title .pizza-subtitle {
  font-size: 0.65rem;
  color: #94a3b8;
}

/* line 188, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 195, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizza-gauge-mini {
  position: relative;
  width: 50px;
  height: 50px;
}

/* line 200, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizza-gauge-mini .circular-gauge {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 206, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizza-gauge-mini .gauge-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 3;
}

/* line 212, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizza-gauge-mini .gauge-fill {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  transition: stroke-dasharray 0.5s ease;
}

/* line 219, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizza-gauge-mini .gauge-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.7rem;
  font-weight: 700;
  color: #f8fafc;
}

/* line 230, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.6rem;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 239, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge .pizzacon-emoji {
  font-size: 1.25rem;
}

/* line 243, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge .pizzacon-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* line 248, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge .pizzacon-info .pizzacon-label {
  font-size: 0.5rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1;
}

/* line 256, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge .pizzacon-info .pizzacon-number {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

/* line 264, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge.defcon-1 .pizzacon-number {
  color: #ef4444;
}

/* line 265, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge.defcon-2 .pizzacon-number {
  color: #f97316;
}

/* line 266, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge.defcon-3 .pizzacon-number {
  color: #eab308;
}

/* line 267, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge.defcon-4 .pizzacon-number {
  color: #22c55e;
}

/* line 268, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-metrics .pizzacon-badge.defcon-5 .pizzacon-number {
  color: #10b981;
}

/* line 272, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status {
  display: flex;
  gap: 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 279, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .status-normal {
  color: #22c55e;
}

/* line 280, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .status-elevated {
  color: #f59e0b;
}

/* line 281, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .status-high {
  color: #ef4444;
}

/* line 282, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .trend-improving {
  color: #22c55e;
}

/* line 283, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .trend-stable {
  color: #94a3b8;
}

/* line 284, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .trend-deteriorating {
  color: #ef4444;
}

/* line 287, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-note {
  margin: 0;
  font-size: 0.7rem;
  color: #94a3b8;
  line-height: 1.4;
}

/* line 296, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

/* line 305, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-1 {
  background: rgba(239, 68, 68, 0.15);
  border-left: 4px solid #ef4444;
}

/* line 306, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-2 {
  background: rgba(249, 115, 22, 0.12);
  border-left: 4px solid #f97316;
}

/* line 307, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-3 {
  background: rgba(234, 179, 8, 0.1);
  border-left: 4px solid #eab308;
}

/* line 308, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-4 {
  background: rgba(34, 197, 94, 0.08);
  border-left: 4px solid #22c55e;
}

/* line 310, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner .defcon-emoji {
  font-size: 1.25rem;
}

/* line 311, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner .defcon-name {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 312, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner .defcon-status-text {
  color: #94a3b8;
  font-size: 0.85rem;
}

/* line 316, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

/* line 323, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 329, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header h4 {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 337, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header h4 i {
  color: #60a5fa;
}

/* line 340, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge {
  font-size: 0.7rem;
  padding: 0.25rem 0.6rem;
  border-radius: 4px;
  font-weight: 600;
  text-transform: uppercase;
}

/* line 347, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge.threat-critical {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 348, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge.threat-high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 349, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge.threat-elevated {
  background: rgba(234, 179, 8, 0.2);
  color: #eab308;
}

/* line 350, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge.threat-moderate {
  background: rgba(96, 165, 250, 0.2);
  color: #60a5fa;
}

/* line 351, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge.threat-low {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 355, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-summary {
  font-size: 0.85rem;
  color: #94a3b8;
  line-height: 1.6;
  margin: 0;
}

/* line 362, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .last-update {
  font-size: 0.7rem;
  color: rgba(148, 163, 184, 0.7);
  margin-top: 0.75rem;
}

/* line 367, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .last-update i {
  margin-right: 0.3rem;
}

/* line 372, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo {
  text-align: center;
  padding: 3rem 1rem;
  color: #94a3b8;
}

/* line 377, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo .empty-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

/* line 378, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo h4 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
  color: #f8fafc;
}

/* line 379, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo p {
  font-size: 0.85rem;
}

/* line 383, app/assets/stylesheets/geopolitical.scss */
.geopolitical-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 1.25rem;
  backdrop-filter: blur(10px);
  height: 100%;
}

/* line 391, app/assets/stylesheets/geopolitical.scss */
.geopolitical-card h5 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 401, app/assets/stylesheets/geopolitical.scss */
.geopolitical-card h5 i {
  color: #00a8ff;
}

/* line 406, app/assets/stylesheets/geopolitical.scss */
.tensions-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 412, app/assets/stylesheets/geopolitical.scss */
.tension-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  border-left: 3px solid;
}

/* line 418, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-critical {
  border-color: #ef4444;
}

/* line 419, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-high {
  border-color: #f97316;
}

/* line 420, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-moderate {
  border-color: #22c55e;
}

/* line 421, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-low {
  border-color: #10b981;
}

/* line 423, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* line 429, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-countries {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 434, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 600;
}

/* line 441, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.critical {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 442, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 443, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.moderate {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 444, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.low {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 448, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-description {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* line 455, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  margin-top: 0.4rem;
}

/* line 462, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-trend.trend-escalating {
  color: #ef4444;
}

/* line 463, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-trend.trend-de-escalating {
  color: #10b981;
}

/* line 464, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-trend.trend-stable {
  color: #94a3b8;
}

/* line 469, app/assets/stylesheets/geopolitical.scss */
.events-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 475, app/assets/stylesheets/geopolitical.scss */
.event-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 480, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* line 486, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-region {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* line 490, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-region i {
  margin-right: 0.25rem;
}

/* line 493, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 600;
}

/* line 500, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.critical {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 501, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 502, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.moderate {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 503, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.low {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 507, app/assets/stylesheets/geopolitical.scss */
.event-item .event-title {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
}

/* line 513, app/assets/stylesheets/geopolitical.scss */
.event-item .event-description {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* line 522, app/assets/stylesheets/geopolitical.scss */
.risk-factors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0.75rem;
}

/* line 528, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 533, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* line 539, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header .risk-factor-name {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 544, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header .risk-likelihood {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 600;
}

/* line 551, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header .risk-likelihood.likelihood-high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 552, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header .risk-likelihood.likelihood-medium {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 553, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header .risk-likelihood.likelihood-low {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 557, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-description {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* line 566, app/assets/stylesheets/geopolitical.scss */
.recommendations-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 571, app/assets/stylesheets/geopolitical.scss */
.recommendations-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 578, app/assets/stylesheets/geopolitical.scss */
.recommendations-list li:last-child {
  border-bottom: none;
}

/* line 580, app/assets/stylesheets/geopolitical.scss */
.recommendations-list li i {
  color: #00d4aa;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

/* line 589, app/assets/stylesheets/geopolitical.scss */
.pizza-index-section {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 595, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 1.25rem;
}

/* line 601, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-header {
  margin-bottom: 1rem;
}

/* line 604, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-header h6 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 612, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-header h6 i {
  color: #ffa500;
}

/* line 615, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-header .pizza-description {
  font-size: 0.85rem;
  color: #94a3b8;
  margin: 0;
}

/* line 622, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-analysis-note {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 165, 0, 0.1);
  border-left: 3px solid #ffa500;
  margin-bottom: 1rem;
  font-size: 0.85rem;
}

/* line 630, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-analysis-note.critical {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
}

/* line 636, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .counter-signal-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(255, 0, 0, 0.15);
  border: 1px solid rgba(255, 0, 0, 0.3);
  border-radius: 6px;
  font-size: 0.8rem;
  color: #ff6b6b;
  margin-bottom: 1rem;
}

/* line 649, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-locations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 656, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 661, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item.status-elevated {
  border-left: 3px solid #ffa500;
}

/* line 662, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item.status-high {
  border-left: 3px solid #f97316;
}

/* line 663, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item.status-normal {
  border-left: 3px solid #10b981;
}

/* line 665, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

/* line 670, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-header .location-name {
  font-weight: 600;
  font-size: 0.85rem;
}

/* line 671, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-header .location-area {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* line 674, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-activity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 679, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-activity .activity-bar {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  overflow: hidden;
}

/* line 686, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-activity .activity-bar .activity-fill {
  height: 100%;
  background: linear-gradient(90deg, #00d4aa, #ffa500);
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* line 694, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-activity .activity-value {
  font-size: 0.75rem;
  font-weight: 600;
  min-width: 35px;
  text-align: right;
}

/* line 702, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .busier-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  color: #ffa500;
  margin-top: 0.4rem;
}

/* line 712, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-disclaimer {
  font-size: 0.75rem;
  color: #94a3b8;
  padding: 0.5rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 6px;
}

/* line 719, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-disclaimer i {
  margin-right: 0.4rem;
}

/* line 724, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-block-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 732, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-block-header .mini-block-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 740, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-block-header .read-more-link-mini {
  font-size: 0.7rem;
  color: #60a5fa;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

/* line 747, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-block-header .read-more-link-mini i {
  font-size: 0.6rem;
  transition: transform 0.2s ease;
}

/* line 755, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* line 760, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link:hover {
  text-decoration: none;
}

/* line 763, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link:hover .geopolitical-mini {
  border-color: #60a5fa;
  background: rgba(96, 165, 250, 0.05);
}

/* line 768, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link:hover .read-more-arrow-absolute {
  color: #60a5fa;
}

/* line 771, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link:hover .read-more-arrow-absolute i {
  transform: translate(1px, -1px);
}

/* line 778, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  backdrop-filter: blur(10px);
  transition: all 0.2s ease;
  cursor: pointer;
  height: 100%;
}

/* line 790, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-1 {
  border-left: 4px solid #ef4444;
  background: rgba(239, 68, 68, 0.05);
}

/* line 791, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-2 {
  border-left: 4px solid #f97316;
  background: rgba(249, 115, 22, 0.05);
}

/* line 792, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-3 {
  border-left: 4px solid #eab308;
  background: rgba(234, 179, 8, 0.05);
}

/* line 793, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-4 {
  border-left: 4px solid #22c55e;
  background: rgba(34, 197, 94, 0.03);
}

/* line 794, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-5 {
  border-left: 4px solid #10b981;
  background: rgba(16, 185, 129, 0.03);
}

/* line 796, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 801, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-emoji {
  font-size: 1.1rem;
}

/* line 802, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-label {
  font-size: 0.8rem;
  color: #94a3b8;
}

/* line 803, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value {
  font-size: 0.85rem;
  font-weight: 600;
}

/* line 807, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-1 {
  color: #ef4444;
}

/* line 808, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-2 {
  color: #f97316;
}

/* line 809, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-3 {
  color: #eab308;
}

/* line 810, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-4 {
  color: #22c55e;
}

/* line 811, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-5 {
  color: #10b981;
}

/* line 816, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 821, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .mini-emoji {
  font-size: 1.1rem;
}

/* line 822, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .mini-label {
  font-size: 0.8rem;
  color: #94a3b8;
}

/* line 824, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-bar-container {
  width: 50px;
  height: 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  overflow: hidden;
}

/* line 832, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 838, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-percentage {
  font-size: 0.75rem;
  font-weight: 600;
  min-width: 28px;
}

/* line 845, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
  white-space: nowrap;
}

/* line 855, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge i {
  font-size: 0.55rem;
}

/* line 857, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-normal {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

/* line 861, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-moderate {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 865, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-elevated {
  background: rgba(234, 179, 8, 0.15);
  color: #eab308;
}

/* line 869, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-critical {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* line 872, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-critical i {
  animation: pulse 1.5s infinite;
}

/* line 877, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-normal .pizza-bar-fill {
  background: #10b981;
}

/* line 878, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-normal .pizza-percentage {
  color: #10b981;
}

/* line 881, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-moderate .pizza-bar-fill {
  background: #22c55e;
}

/* line 882, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-moderate .pizza-percentage {
  color: #22c55e;
}

/* line 885, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-elevated .pizza-bar-fill {
  background: #eab308;
}

/* line 886, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-elevated .pizza-percentage {
  color: #eab308;
}

/* line 889, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-critical .pizza-bar-fill {
  background: #ef4444;
}

/* line 890, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-critical .pizza-percentage {
  color: #ef4444;
}

/* line 894, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-alert-critical {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.6rem;
  background: rgba(239, 68, 68, 0.15);
  border-radius: 6px;
  font-size: 0.8rem;
  color: #ef4444;
}

/* line 904, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-alert-critical i {
  animation: pulse 1.5s infinite;
}

/* line 907, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .read-more-link-mini {
  font-size: 0.85rem;
  color: #60a5fa;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 919, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini {
    padding: 0.4rem 0.6rem;
  }
  /* line 924, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini > a > .d-flex, .geopolitical-mini > div > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
  }
  /* line 930, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 933, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 934, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-label {
    font-size: 0.6rem;
  }
  /* line 935, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-value {
    font-size: 0.7rem;
  }
  /* line 938, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 941, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 942, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-label {
    font-size: 0.6rem;
  }
  /* line 943, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-bar-container {
    width: 35px;
    height: 5px;
  }
  /* line 944, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-percentage {
    font-size: 0.55rem;
    min-width: 20px;
  }
  /* line 945, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-status-badge {
    padding: 0.08rem 0.2rem;
    font-size: 0.5rem;
  }
  /* line 948, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-status-badge i {
    font-size: 0.4rem;
  }
  /* line 952, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-alert-critical {
    padding: 0.15rem 0.3rem;
    font-size: 0.55rem;
    gap: 0.2rem;
  }
  /* line 958, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
}

@media (max-width: 767px) {
  /* line 966, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini {
    padding: 0.35rem 0.5rem;
    border-left-width: 3px !important;
  }
  /* line 972, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini > a > .d-flex, .geopolitical-mini > div > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.4rem !important;
  }
  /* line 978, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item {
    gap: 0.15rem;
    flex-shrink: 0;
  }
  /* line 981, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 982, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-label {
    font-size: 0.65rem;
  }
  /* line 983, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-value {
    font-size: 0.75rem;
  }
  /* line 986, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter {
    gap: 0.15rem;
    flex-shrink: 0;
  }
  /* line 989, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 990, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-label {
    font-size: 0.65rem;
  }
  /* line 991, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-bar-container {
    width: 32px;
    height: 5px;
  }
  /* line 992, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-percentage {
    font-size: 0.65rem;
    min-width: 20px;
  }
  /* line 993, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-status-badge {
    padding: 0.05rem 0.2rem;
    font-size: 0.6rem;
    gap: 0.1rem;
  }
  /* line 997, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-status-badge i {
    font-size: 0.5rem;
  }
  /* line 1001, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-alert-critical {
    padding: 0.1rem 0.25rem;
    font-size: 0.6rem;
    gap: 0.15rem;
  }
  /* line 1007, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
  /* line 1009, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .read-more-link-mini i {
    font-size: 0.55rem;
  }
}

/* line 1015, app/assets/stylesheets/geopolitical.scss */
.defcon-badge {
  background: #ef4444 !important;
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* line 1026, app/assets/stylesheets/geopolitical.scss */
.threat-indicators {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* line 1031, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 1036, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-label {
  font-size: 0.7rem;
  color: #94a3b8;
  text-transform: uppercase;
}

/* line 1037, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value {
  font-size: 1.25rem;
  font-weight: 700;
}

/* line 1040, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-critical {
  color: #ef4444;
}

/* line 1041, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-high {
  color: #f97316;
}

/* line 1042, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-elevated {
  color: #eab308;
}

/* line 1043, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-moderate {
  color: #22c55e;
}

/* line 1044, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-low {
  color: #10b981;
}

/* line 1048, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display {
  font-size: 0.85rem;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
}

/* line 1053, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display.trend-deteriorating {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1054, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display.trend-stable {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1055, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display.trend-improving {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 1059, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-weight: 600;
}

/* line 1065, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment.sentiment-riskoff {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1066, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment.sentiment-neutral {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1067, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment.sentiment-riskon {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 1072, app/assets/stylesheets/geopolitical.scss */
.hotspots-section .section-subtitle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

/* line 1079, app/assets/stylesheets/geopolitical.scss */
.hotspots-section .section-subtitle i {
  color: #ff6b6b;
}

/* line 1083, app/assets/stylesheets/geopolitical.scss */
.hotspots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

/* line 1089, app/assets/stylesheets/geopolitical.scss */
.hotspot-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 1rem;
  border-left: 4px solid;
}

/* line 1096, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-critical {
  border-left-color: #ef4444;
}

/* line 1097, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-high {
  border-left-color: #f97316;
}

/* line 1098, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-moderate {
  border-left-color: #22c55e;
}

/* line 1099, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-low {
  border-left-color: #10b981;
}

/* line 1101, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

/* line 1107, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-region {
  font-weight: 600;
  font-size: 0.95rem;
}

/* line 1108, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 600;
}

/* line 1115, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.critical {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1116, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 1117, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.moderate {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1118, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.low {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 1122, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-concern {
  font-size: 0.85rem;
  color: #94a3b8;
  margin: 0.5rem 0;
  line-height: 1.5;
}

/* line 1129, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  margin-top: 0.5rem;
}

/* line 1136, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-actors {
  color: #94a3b8;
}

/* line 1137, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation {
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

/* line 1141, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation.escalation-high {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* line 1142, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation.escalation-medium {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 1143, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation.escalation-low {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

/* line 1149, app/assets/stylesheets/geopolitical.scss */
.tension-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1154, app/assets/stylesheets/geopolitical.scss */
.tension-meta .tension-score {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 1161, app/assets/stylesheets/geopolitical.scss */
.tension-incident {
  font-size: 0.75rem;
  color: #ff6b6b;
  margin: 0.3rem 0;
  font-style: italic;
}

/* line 1167, app/assets/stylesheets/geopolitical.scss */
.tension-incident i {
  margin-right: 0.3rem;
}

/* line 1170, app/assets/stylesheets/geopolitical.scss */
.tension-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.5rem;
}

/* line 1176, app/assets/stylesheets/geopolitical.scss */
.tension-footer .tension-triggers {
  font-size: 0.7rem;
  color: #ffa500;
  cursor: help;
}

/* line 1184, app/assets/stylesheets/geopolitical.scss */
.event-market {
  font-size: 0.75rem;
  color: #00d4aa;
  margin: 0.3rem 0;
}

/* line 1189, app/assets/stylesheets/geopolitical.scss */
.event-market i {
  margin-right: 0.3rem;
}

/* line 1192, app/assets/stylesheets/geopolitical.scss */
.event-actors {
  font-size: 0.7rem;
  color: #94a3b8;
  display: block;
  margin-top: 0.3rem;
}

/* line 1201, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 0.75rem;
}

/* line 1207, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 1212, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* line 1218, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-name {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 1219, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category {
  font-size: 0.65rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
}

/* line 1225, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-military {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1226, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-economic {
  background: rgba(0, 168, 255, 0.2);
  color: #00a8ff;
}

/* line 1227, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-cyber {
  background: rgba(168, 85, 247, 0.2);
  color: #a855f7;
}

/* line 1228, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-political {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1229, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-energy {
  background: rgba(255, 165, 0, 0.2);
  color: #ffa500;
}

/* line 1233, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-description {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0.3rem 0;
  line-height: 1.5;
}

/* line 1240, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-footer {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

/* line 1245, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact {
  font-size: 0.7rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

/* line 1250, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability.prob-high, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability.impact-severe, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability.impact-high, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact.prob-high, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact.impact-severe, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact.impact-high {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* line 1251, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability.prob-medium, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability.impact-medium, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact.prob-medium, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact.impact-medium {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 1252, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability.prob-low, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-probability.impact-low, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact.prob-low, .risk-matrix-card .risk-matrix-item .risk-matrix-footer .risk-impact.impact-low {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

/* line 1256, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-sectors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.5rem;
}

/* line 1262, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-sectors .sector-tag {
  font-size: 0.65rem;
  padding: 0.1rem 0.4rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  color: #94a3b8;
}

/* line 1275, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sectors-group {
  margin-bottom: 1rem;
}

/* line 1278, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sectors-group:last-child {
  margin-bottom: 0;
}

/* line 1280, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sectors-group h6 {
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 1289, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.8rem;
}

/* line 1297, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item:last-child {
  border-bottom: none;
}

/* line 1299, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item .sector-name {
  font-weight: 500;
  min-width: 100px;
}

/* line 1300, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item .sector-exposure, .sectors-card .sector-item .sector-upside {
  font-size: 0.7rem;
  padding: 0.1rem 0.3rem;
  border-radius: 4px;
}

/* line 1305, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item .sector-exposure.exposure-high, .sectors-card .sector-item .sector-exposure.upside-high, .sectors-card .sector-item .sector-upside.exposure-high, .sectors-card .sector-item .sector-upside.upside-high {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* line 1306, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item .sector-exposure.exposure-medium, .sectors-card .sector-item .sector-exposure.upside-medium, .sectors-card .sector-item .sector-upside.exposure-medium, .sectors-card .sector-item .sector-upside.upside-medium {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 1307, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item .sector-exposure.exposure-low, .sectors-card .sector-item .sector-exposure.upside-low, .sectors-card .sector-item .sector-upside.exposure-low, .sectors-card .sector-item .sector-upside.upside-low {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

/* line 1309, app/assets/stylesheets/geopolitical.scss */
.sectors-card .sector-item .sector-reason {
  color: #94a3b8;
  font-size: 0.75rem;
  flex: 1;
}

/* line 1315, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-group {
  margin-bottom: 1rem;
}

/* line 1318, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-group h6 {
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}

/* line 1321, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.8rem;
}

/* line 1329, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-name {
  font-weight: 500;
  min-width: 80px;
}

/* line 1330, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction {
  font-size: 0.75rem;
}

/* line 1333, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction.direction-up {
  color: #10b981;
}

/* line 1334, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction.direction-down {
  color: #ef4444;
}

/* line 1335, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction.direction-stable {
  color: #94a3b8;
}

/* line 1337, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-catalyst, .commodities-card .impact-item .impact-reason {
  color: #94a3b8;
  font-size: 0.75rem;
  flex: 1;
}

/* line 1343, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1349, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 1354, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-topic {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.3rem;
}

/* line 1360, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}

/* line 1366, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-meta .polymarket-prob {
  font-size: 1rem;
  font-weight: 700;
  color: #00d4aa;
}

/* line 1372, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-meta .polymarket-trend {
  font-size: 0.9rem;
}

/* line 1375, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-relevance {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
}

/* line 1385, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1391, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  border-left: 3px solid #00a8ff;
}

/* line 1397, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item .calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.3rem;
}

/* line 1403, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item .calendar-header .calendar-event {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 1404, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item .calendar-header .calendar-date {
  font-size: 0.75rem;
  color: #00a8ff;
}

/* line 1407, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item .calendar-significance {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
}

/* line 1417, app/assets/stylesheets/geopolitical.scss */
.intel-card .intel-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 1422, app/assets/stylesheets/geopolitical.scss */
.intel-card .intel-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.85rem;
}

/* line 1430, app/assets/stylesheets/geopolitical.scss */
.intel-card .intel-list li:last-child {
  border-bottom: none;
}

/* line 1432, app/assets/stylesheets/geopolitical.scss */
.intel-card .intel-list li i {
  color: #a855f7;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 1443, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  /* line 1448, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner .defcon-level-display {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 1453, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner .threat-indicators {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 1458, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner .defcon-meta {
    flex-wrap: wrap;
    justify-content: center;
  }
  /* line 1464, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-summary-card {
    flex-direction: column;
    text-align: center;
  }
  /* line 1468, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-summary-card .summary-icon {
    margin: 0 auto;
  }
  /* line 1473, app/assets/stylesheets/geopolitical.scss */
  .hotspots-grid {
    grid-template-columns: 1fr;
  }
  /* line 1477, app/assets/stylesheets/geopolitical.scss */
  .risk-matrix-grid {
    grid-template-columns: 1fr !important;
  }
  /* line 1484, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .d-flex {
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 0.4rem !important;
  }
}

/* line 1495, app/assets/stylesheets/geopolitical.scss */
.active-crises-section {
  margin-bottom: 1.5rem;
}

/* line 1498, app/assets/stylesheets/geopolitical.scss */
.active-crises-section .section-subtitle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #f8fafc;
}

/* line 1507, app/assets/stylesheets/geopolitical.scss */
.active-crises-section .section-subtitle .badge {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
}

/* line 1513, app/assets/stylesheets/geopolitical.scss */
.active-crises-section .crises-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 1520, app/assets/stylesheets/geopolitical.scss */
.crisis-card {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.6), rgba(15, 23, 42, 0.7));
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 1rem;
  transition: all 0.2s ease;
}

/* line 1527, app/assets/stylesheets/geopolitical.scss */
.crisis-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* line 1533, app/assets/stylesheets/geopolitical.scss */
.crisis-card.crisis-critical {
  border-left: 4px solid #ef4444;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(15, 23, 42, 0.7));
}

/* line 1537, app/assets/stylesheets/geopolitical.scss */
.crisis-card.crisis-high {
  border-left: 4px solid #f97316;
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.1), rgba(15, 23, 42, 0.7));
}

/* line 1541, app/assets/stylesheets/geopolitical.scss */
.crisis-card.crisis-elevated {
  border-left: 4px solid #eab308;
}

/* line 1544, app/assets/stylesheets/geopolitical.scss */
.crisis-card.crisis-moderate {
  border-left: 4px solid #60a5fa;
}

/* line 1548, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 1554, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-emoji {
  font-size: 1.5rem;
}

/* line 1558, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

/* line 1564, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-category {
  font-size: 0.75rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1571, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity {
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 1575, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-critical {
  color: #ef4444;
}

/* line 1576, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-high {
  color: #f97316;
}

/* line 1577, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-elevated {
  color: #eab308;
}

/* line 1578, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-moderate {
  color: #60a5fa;
}

/* line 1582, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-date {
  font-size: 0.7rem;
  color: #94a3b8;
}

/* line 1588, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #f8fafc;
  margin-bottom: 0.5rem;
}

/* line 1595, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-description {
  font-size: 0.8rem;
  color: #94a3b8;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}

/* line 1602, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-impact {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 1608, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-impact .impact-label {
  font-size: 0.7rem;
  color: #94a3b8;
  display: block;
  margin-bottom: 0.25rem;
}

/* line 1615, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-impact .impact-text {
  font-size: 0.8rem;
  color: #f8fafc;
}

/* line 1621, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-sectors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 1626, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-sectors .sector-tag {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 500;
}

/* line 1638, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(15, 23, 42, 0.8));
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 8px;
  padding: 0.75rem;
}

/* line 1644, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 1650, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header .crisis-mini-icon {
  font-size: 1rem;
}

/* line 1654, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header .crisis-mini-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #f8fafc;
}

/* line 1660, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header .crisis-mini-badge {
  margin-left: auto;
  background: #ef4444;
  color: white;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
}

/* line 1672, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 1679, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item:last-child {
  border-bottom: none;
}

/* line 1681, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-emoji {
  font-size: 0.85rem;
}

/* line 1685, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-text {
  flex: 1;
  font-size: 0.75rem;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1694, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-severity {
  font-size: 0.65rem;
  font-weight: 600;
}

/* line 1698, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-severity.sev-5 {
  color: #ef4444;
}

/* line 1699, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-severity.sev-4 {
  color: #f97316;
}

/* line 1700, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-severity.sev-3 {
  color: #eab308;
}

@media (max-width: 768px) {
  /* line 1708, app/assets/stylesheets/geopolitical.scss */
  .crises-grid {
    grid-template-columns: 1fr !important;
  }
  /* line 1712, app/assets/stylesheets/geopolitical.scss */
  .crisis-card {
    padding: 0.75rem;
  }
  /* line 1715, app/assets/stylesheets/geopolitical.scss */
  .crisis-card .crisis-header {
    flex-wrap: wrap;
  }
}

/* line 1727, app/assets/stylesheets/geopolitical.scss */
.macro-events-banner .macro-event-alert {
  border-left-width: 4px !important;
}

/* line 1730, app/assets/stylesheets/geopolitical.scss */
.macro-events-banner .macro-event-alert.crisis-high {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.15), rgba(15, 23, 42, 0.9)) !important;
  border-color: #f97316 !important;
}

/* line 1735, app/assets/stylesheets/geopolitical.scss */
.macro-events-banner .macro-event-alert .crisis-emoji-large {
  font-size: 1.5rem;
  margin-top: 2px;
}

/* line 1742, app/assets/stylesheets/geopolitical.scss */
.macro-events-banner .alert-danger.macro-event-alert {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(15, 23, 42, 0.9)) !important;
  border-color: #ef4444 !important;
  animation: pulse-danger 2s ease-in-out infinite;
}

@keyframes pulse-danger {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
  }
  50% {
    box-shadow: 0 0 8px 2px rgba(239, 68, 68, 0.2);
  }
}

/* line 1758, app/assets/stylesheets/geopolitical.scss */
.market-intel-card {
  background: linear-gradient(135deg, rgba(30, 64, 100, 0.3), rgba(15, 23, 42, 0.8));
  border: 1px solid rgba(96, 165, 250, 0.2);
  border-radius: 12px;
  padding: 1.25rem;
}

/* line 1764, app/assets/stylesheets/geopolitical.scss */
.market-intel-card h5 {
  color: #f8fafc;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* line 1771, app/assets/stylesheets/geopolitical.scss */
.market-intel-card h5 .badge {
  font-size: 0.65rem;
  padding: 0.25rem 0.5rem;
}

/* line 1777, app/assets/stylesheets/geopolitical.scss */
.market-intel-card h6 {
  color: #94a3b8;
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 1787, app/assets/stylesheets/geopolitical.scss */
.intel-summary {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 0.5rem;
}

/* line 1793, app/assets/stylesheets/geopolitical.scss */
.intel-summary .risk-sentiment {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 1803, app/assets/stylesheets/geopolitical.scss */
.intel-summary .risk-sentiment.risk-risk_off {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* line 1809, app/assets/stylesheets/geopolitical.scss */
.intel-summary .risk-sentiment.risk-risk_on {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

/* line 1815, app/assets/stylesheets/geopolitical.scss */
.intel-summary .risk-sentiment.risk-neutral {
  background: rgba(245, 158, 11, 0.2);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

/* line 1822, app/assets/stylesheets/geopolitical.scss */
.intel-summary .intel-text {
  color: #f8fafc;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

/* line 1830, app/assets/stylesheets/geopolitical.scss */
.commodity-list, .currency-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 1836, app/assets/stylesheets/geopolitical.scss */
.commodity-item, .currency-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  font-size: 0.85rem;
}

/* line 1846, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-name, .commodity-item .currency-pair, .currency-item .commodity-name, .currency-item .currency-pair {
  font-weight: 600;
  color: #f8fafc;
}

/* line 1851, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-price, .currency-item .commodity-price {
  color: #60a5fa;
  font-weight: 500;
}

/* line 1856, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-direction, .commodity-item .currency-direction, .currency-item .commodity-direction, .currency-item .currency-direction {
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.75rem;
}

/* line 1861, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-direction.direction-up, .commodity-item .currency-direction.direction-up, .currency-item .commodity-direction.direction-up, .currency-item .currency-direction.direction-up {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1866, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-direction.direction-down, .commodity-item .currency-direction.direction-down, .currency-item .commodity-direction.direction-down, .currency-item .currency-direction.direction-down {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1871, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-direction.direction-stable, .commodity-item .currency-direction.direction-stable, .currency-item .commodity-direction.direction-stable, .currency-item .currency-direction.direction-stable {
  background: rgba(148, 163, 184, 0.2);
  color: #94a3b8;
}

/* line 1877, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-catalyst, .commodity-item .currency-reason, .currency-item .commodity-catalyst, .currency-item .currency-reason {
  color: #94a3b8;
  font-size: 0.8rem;
  flex-basis: 100%;
  margin-top: 0.25rem;
}

/* line 1885, app/assets/stylesheets/geopolitical.scss */
.polymarket-note {
  opacity: 0.7;
  font-style: italic;
}

/* line 1891, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(15, 23, 42, 0.8));
  border: 1px solid rgba(34, 197, 94, 0.2);
  border-radius: 12px;
  padding: 1rem 1.25rem;
}

/* line 1897, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card .no-crisis-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 1903, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card .no-crisis-icon {
  font-size: 2rem;
}

/* line 1908, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card .no-crisis-text h6 {
  color: #f8fafc;
  margin-bottom: 0.25rem;
  font-size: 0.95rem;
}

/* line 1914, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card .no-crisis-text p {
  color: #94a3b8;
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.4;
}

/* line 1927, app/assets/stylesheets/geopolitical.scss */
.geopolitical-map-section {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

/* line 1932, app/assets/stylesheets/geopolitical.scss */
.geo-map-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.9));
  border: 1px solid rgba(96, 165, 250, 0.3);
  border-radius: 12px;
  overflow: visible;
  position: relative;
}

/* line 1940, app/assets/stylesheets/geopolitical.scss */
.geo-map-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(96, 165, 250, 0.03) 2px, rgba(96, 165, 250, 0.03) 4px);
  pointer-events: none;
  z-index: 10;
}

/* line 1959, app/assets/stylesheets/geopolitical.scss */
.geo-map-card::after {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  bottom: 8px;
  border: 1px solid rgba(96, 165, 250, 0.15);
  border-radius: 4px;
  pointer-events: none;
  z-index: 5;
}

/* line 1973, app/assets/stylesheets/geopolitical.scss */
.geo-map-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(96, 165, 250, 0.2);
  background: rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 15;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (min-width: 768px) {
  /* line 1973, app/assets/stylesheets/geopolitical.scss */
  .geo-map-header {
    padding: 1rem 1.25rem;
    flex-wrap: nowrap;
  }
}

/* line 1990, app/assets/stylesheets/geopolitical.scss */
.geo-map-header h5 {
  color: #60a5fa;
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media (min-width: 768px) {
  /* line 1990, app/assets/stylesheets/geopolitical.scss */
  .geo-map-header h5 {
    font-size: 0.95rem;
    gap: 0.5rem;
    letter-spacing: 1px;
  }
}

/* line 2007, app/assets/stylesheets/geopolitical.scss */
.geo-map-header h5 i {
  color: #60a5fa;
}

/* line 2012, app/assets/stylesheets/geopolitical.scss */
.geo-map-header .map-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.65rem;
  color: #94a3b8;
}

@media (min-width: 768px) {
  /* line 2012, app/assets/stylesheets/geopolitical.scss */
  .geo-map-header .map-status {
    gap: 0.75rem;
    font-size: 0.75rem;
  }
}

/* line 2024, app/assets/stylesheets/geopolitical.scss */
.geo-map-header .map-status .status-indicator {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* line 2029, app/assets/stylesheets/geopolitical.scss */
.geo-map-header .map-status .status-indicator .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  animation: blink 2s infinite;
}

@keyframes blink {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0.3;
  }
}

/* line 2045, app/assets/stylesheets/geopolitical.scss */
.geo-map-container {
  height: 280px;
  position: relative;
  z-index: 1;
}

@media (min-width: 576px) {
  /* line 2045, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: 320px;
  }
}

@media (min-width: 768px) {
  /* line 2045, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: 380px;
  }
}

@media (min-width: 992px) {
  /* line 2045, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: 420px;
  }
}

@media (min-width: 1200px) {
  /* line 2045, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: auto;
    min-height: 480px;
    flex: 1;
  }
}

@media (min-width: 1400px) {
  /* line 2045, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    min-height: 520px;
  }
}

/* line 2078, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-container {
  background: #0f172a;
  font-family: inherit;
}

/* line 2083, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-control-zoom {
  border: none !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
}

/* line 2087, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-control-zoom a {
  background: rgba(30, 41, 59, 0.9) !important;
  color: #60a5fa !important;
  border: 1px solid rgba(96, 165, 250, 0.3) !important;
}

/* line 2092, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-control-zoom a:hover {
  background: rgba(96, 165, 250, 0.2) !important;
}

/* line 2098, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-popup-content-wrapper {
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(96, 165, 250, 0.3);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

/* line 2105, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-popup-content {
  margin: 0.75rem;
  color: #f8fafc;
}

/* line 2110, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-popup-tip {
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(96, 165, 250, 0.3);
}

/* line 2118, app/assets/stylesheets/geopolitical.scss */
.geo-crisis-marker {
  background: transparent;
  border: none;
}

/* line 2123, app/assets/stylesheets/geopolitical.scss */
.geo-marker-inner {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
  position: relative;
}

/* line 2134, app/assets/stylesheets/geopolitical.scss */
.geo-marker-inner i {
  position: relative;
  z-index: 2;
}

/* line 2139, app/assets/stylesheets/geopolitical.scss */
.geo-marker-inner.geo-marker-pulse {
  animation: crisis-pulse 2s ease-in-out infinite;
}

@keyframes crisis-pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
  }
  50% {
    transform: scale(1.1);
    box-shadow: 0 0 20px 10px rgba(239, 68, 68, 0.3);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  }
}

/* line 2160, app/assets/stylesheets/geopolitical.scss */
.geo-market-marker {
  background: transparent;
  border: none;
}

/* line 2165, app/assets/stylesheets/geopolitical.scss */
.geo-market-inner {
  background: rgba(15, 23, 42, 0.9);
  border: 2px solid #60a5fa;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 9px;
  font-weight: 700;
  color: #f8fafc;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

/* line 2177, app/assets/stylesheets/geopolitical.scss */
.geo-market-inner .market-abbr {
  display: block;
}

/* line 2183, app/assets/stylesheets/geopolitical.scss */
.geo-popup {
  min-width: 150px;
}

/* line 2186, app/assets/stylesheets/geopolitical.scss */
.geo-popup h6 {
  color: #f8fafc;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 2193, app/assets/stylesheets/geopolitical.scss */
.geo-popup p {
  color: #94a3b8;
  font-size: 0.8rem;
  margin: 0;
}

/* line 2200, app/assets/stylesheets/geopolitical.scss */
.geo-popup.crisis-popup .severity {
  color: #ef4444;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

/* line 2206, app/assets/stylesheets/geopolitical.scss */
.geo-popup.crisis-popup .description {
  font-size: 0.75rem;
}

/* line 2211, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup {
  text-align: center;
}

/* line 2214, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 2219, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.positive {
  color: #22c55e;
}

/* line 2220, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.negative {
  color: #ef4444;
}

/* line 2221, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.neutral {
  color: #94a3b8;
}

/* line 2224, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .market-closed-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 500;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.7;
}

/* line 2237, app/assets/stylesheets/geopolitical.scss */
.geo-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(96, 165, 250, 0.2);
  position: relative;
  z-index: 15;
  justify-content: center;
}

@media (min-width: 768px) {
  /* line 2237, app/assets/stylesheets/geopolitical.scss */
  .geo-map-legend {
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    justify-content: flex-start;
  }
}

/* line 2256, app/assets/stylesheets/geopolitical.scss */
.legend-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media (min-width: 768px) {
  /* line 2256, app/assets/stylesheets/geopolitical.scss */
  .legend-item {
    gap: 0.4rem;
    font-size: 0.7rem;
  }
}

/* line 2271, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 2276, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.critical {
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
}

/* line 2277, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.high {
  background: #f97316;
  box-shadow: 0 0 8px #f97316;
}

/* line 2278, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.elevated {
  background: #eab308;
  box-shadow: 0 0 8px #eab308;
}

/* line 2279, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.market {
  background: transparent;
  border: 2px solid #60a5fa;
  border-radius: 2px;
}

/* line 2282, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
}

/* line 2290, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-icon.market-up {
  color: #22c55e;
}

/* line 2291, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-icon.market-down {
  color: #ef4444;
}

/* line 2296, app/assets/stylesheets/geopolitical.scss */
.geo-map-grid-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(96, 165, 250, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(96, 165, 250, 0.05) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
  z-index: 2;
}

/* line 2311, app/assets/stylesheets/geopolitical.scss */
.defcon-indicator {
  background: rgba(239, 68, 68, 0.2);
  border: 1px solid rgba(239, 68, 68, 0.4);
  color: #ef4444;
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* line 2330, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: stretch;
}

/* line 2337, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column {
  flex: 4;
  min-width: 0;
  order: 1;
}

/* line 2342, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column .geo-map-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 2347, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column .geo-map-card .geo-map-container {
  flex: 1;
  min-height: 400px;
}

/* line 2354, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .crises-column {
  flex: 1;
  min-width: 280px;
  max-width: 320px;
  order: 2;
  display: flex;
  flex-direction: column;
}

/* line 2365, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.9));
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-bottom: none;
  border-radius: 12px 12px 0 0;
  padding: 0.75rem 1rem;
}

/* line 2372, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #f8fafc;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 2381, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 i {
  font-size: 0.85rem;
}

/* line 2385, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 .badge {
  font-size: 0.65rem;
  padding: 0.2rem 0.4rem;
}

/* line 2393, app/assets/stylesheets/geopolitical.scss */
.crises-list {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.85));
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-top: none;
  border-radius: 0 0 12px 12px;
  flex: 1;
  overflow-y: auto;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 2407, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar {
  width: 6px;
}

/* line 2410, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.5);
}

/* line 2413, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar-thumb {
  background: rgba(239, 68, 68, 0.4);
  border-radius: 3px;
}

/* line 2420, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(100, 116, 139, 0.3);
  border-radius: 6px;
  padding: 0.6rem;
  transition: all 0.2s ease;
}

/* line 2427, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:hover {
  background: rgba(30, 41, 59, 0.8);
  transform: translateX(2px);
}

/* line 2432, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-critical {
  border-left: 3px solid #ef4444;
  background: rgba(239, 68, 68, 0.1);
}

/* line 2436, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-high {
  border-left: 3px solid #f97316;
  background: rgba(249, 115, 22, 0.1);
}

/* line 2440, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-elevated {
  border-left: 3px solid #eab308;
  background: rgba(234, 179, 8, 0.1);
}

/* line 2444, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-moderate {
  border-left: 3px solid #22c55e;
  background: rgba(59, 130, 246, 0.1);
}

/* line 2449, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.3rem;
}

/* line 2455, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-emoji {
  font-size: 1rem;
}

/* line 2459, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge {
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
}

/* line 2465, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-critical {
  background: #ef4444;
  color: white;
}

/* line 2466, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-high {
  background: #f97316;
  color: white;
}

/* line 2467, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-elevated {
  background: #eab308;
  color: #1a1a2e;
}

/* line 2468, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-moderate {
  background: #22c55e;
  color: white;
}

/* line 2472, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: #f8fafc;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}

/* line 2480, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-desc {
  font-size: 0.65rem;
  color: #94a3b8;
  margin: 0 0 0.3rem 0;
  line-height: 1.4;
}

/* line 2487, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-regions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* line 2492, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-regions .region-tag {
  font-size: 0.55rem;
  background: rgba(96, 165, 250, 0.2);
  color: #60a5fa;
  padding: 0.1rem 0.3rem;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 2505, app/assets/stylesheets/geopolitical.scss */
.no-crisis-compact {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.85));
  border: 1px solid rgba(34, 197, 94, 0.3);
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 1.5rem 1rem;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* line 2518, app/assets/stylesheets/geopolitical.scss */
.no-crisis-compact .no-crisis-emoji {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
}

/* line 2524, app/assets/stylesheets/geopolitical.scss */
.no-crisis-compact p {
  font-size: 0.75rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 1199px) {
  /* line 2537, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout {
    flex-direction: column;
  }
  /* line 2540, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout .map-column {
    order: 1;
    flex: none;
    width: 100%;
  }
  /* line 2546, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout .crises-column {
    order: 2;
    flex: none;
    width: 100%;
    max-width: none;
    min-width: auto;
  }
  /* line 2555, app/assets/stylesheets/geopolitical.scss */
  .crises-sidebar-header {
    border-radius: 12px 12px 0 0;
  }
  /* line 2559, app/assets/stylesheets/geopolitical.scss */
  .crises-list {
    max-height: none;
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: auto;
    overflow-y: visible;
    padding: 0.75rem;
    gap: 0.75rem;
  }
  /* line 2569, app/assets/stylesheets/geopolitical.scss */
  .crises-list::-webkit-scrollbar {
    height: 6px;
    width: auto;
  }
  /* line 2575, app/assets/stylesheets/geopolitical.scss */
  .crisis-card-compact {
    flex: 0 0 auto;
    width: 280px;
    min-width: 250px;
  }
  /* line 2581, app/assets/stylesheets/geopolitical.scss */
  .no-crisis-compact {
    border-radius: 0 0 12px 12px;
  }
}

@media (max-width: 767px) {
  /* line 2591, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout {
    gap: 0.75rem;
  }
  /* line 2595, app/assets/stylesheets/geopolitical.scss */
  .crises-list {
    flex-direction: column;
    flex-wrap: nowrap;
    overflow-x: visible;
    max-height: 400px;
    overflow-y: auto;
  }
  /* line 2603, app/assets/stylesheets/geopolitical.scss */
  .crisis-card-compact {
    width: 100%;
    min-width: auto;
  }
  /* line 2608, app/assets/stylesheets/geopolitical.scss */
  .crises-sidebar-header h5 {
    font-size: 0.85rem;
  }
}

/* line 2619, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizza-index-card,
[data-theme="light"] .pizza-compact-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2625, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .threat-overview-card,
[data-theme="light"] .geopolitical-card,
[data-theme="light"] .geopolitical-mini,
[data-theme="light"] .pizza-index-details-card,
[data-theme="light"] .hotspot-card,
[data-theme="light"] .risk-matrix-card,
[data-theme="light"] .market-intel-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2637, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .tension-item,
[data-theme="light"] .event-item,
[data-theme="light"] .risk-factor-item,
[data-theme="light"] .pizza-location-item,
[data-theme="light"] .polymarket-item,
[data-theme="light"] .calendar-item,
[data-theme="light"] .risk-matrix-item,
[data-theme="light"] .commodity-item,
[data-theme="light"] .currency-item {
  background: var(--bg-input);
}

/* line 2649, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .sector-item {
  border-bottom-color: var(--border-color);
}

/* line 2653, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .impact-item {
  border-bottom-color: var(--border-color);
}

/* line 2658, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .gauge-bg {
  stroke: rgba(0, 0, 0, 0.12) !important;
}

/* line 2662, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizza-bar-container {
  background: rgba(0, 0, 0, 0.1);
}

/* line 2666, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .activity-bar {
  background: rgba(0, 0, 0, 0.1);
}

/* line 2671, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizzacon-badge {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 2677, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .recommendations-list li {
  border-bottom-color: var(--border-color);
}

/* line 2681, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .intel-card .intel-list li {
  border-bottom-color: var(--border-color);
}

/* line 2685, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-mini-list .crisis-mini-item {
  border-bottom-color: var(--border-color);
}

/* line 2690, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizza-index-section {
  border-top-color: var(--border-color);
}

/* line 2695, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizza-disclaimer {
  background: var(--bg-input);
}

/* line 2700, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-impact {
  background: var(--bg-input);
}

/* line 2705, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .intel-summary {
  background: var(--bg-input);
}

/* line 2710, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .risk-matrix-item .risk-sectors .sector-tag {
  background: var(--bg-input);
  color: var(--text-muted);
}

/* line 2715, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card .crisis-sectors .sector-tag {
  background: rgba(0, 160, 128, 0.12);
}

/* line 2720, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2724, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* line 2728, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card.crisis-critical {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.07), var(--bg-card-solid));
}

/* line 2731, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card.crisis-high {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.07), var(--bg-card-solid));
}

/* line 2737, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-mini-widget {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.08), var(--bg-card-solid));
  border-color: rgba(239, 68, 68, 0.25);
}

/* line 2743, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .no-crisis-card {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.07), var(--bg-card-solid));
  border-color: rgba(34, 197, 94, 0.25);
}

/* line 2749, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .market-intel-card {
  background: linear-gradient(135deg, rgba(0, 160, 128, 0.05), var(--bg-card-solid));
  border-color: rgba(0, 160, 128, 0.2);
}

/* line 2755, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geopolitical-mini-link:hover .geopolitical-mini {
  background: rgba(0, 160, 128, 0.04);
  border-color: var(--accent-primary);
}

/* line 2761, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2766, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-card::before {
  display: none;
}

/* line 2770, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-card::after {
  border-color: var(--border-color);
}

/* line 2775, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-header {
  background: var(--bg-input);
  border-bottom-color: var(--border-color);
}

/* line 2780, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-legend {
  background: var(--bg-input);
  border-top-color: var(--border-color);
}

/* line 2787, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-container .leaflet-container {
  background: #d4dde8;
}

/* line 2791, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-container .leaflet-control-zoom a {
  background: var(--bg-card-solid) !important;
  color: var(--accent-primary) !important;
  border-color: var(--border-color) !important;
}

/* line 2796, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-container .leaflet-control-zoom a:hover {
  background: var(--bg-input) !important;
}

/* line 2801, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-container .leaflet-popup-content-wrapper {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* line 2807, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-container .leaflet-popup-tip {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2814, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-sidebar-header {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 2819, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-list {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2823, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-list::-webkit-scrollbar-track {
  background: var(--bg-input);
}

/* line 2827, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-list::-webkit-scrollbar-thumb {
  background: rgba(239, 68, 68, 0.3);
}

/* line 2832, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 2836, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact:hover {
  background: var(--bg-card-solid);
}

/* line 2840, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-critical {
  background: rgba(239, 68, 68, 0.06);
}

/* line 2841, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-high {
  background: rgba(249, 115, 22, 0.06);
}

/* line 2842, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-elevated {
  background: rgba(234, 179, 8, 0.06);
}

/* line 2843, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-moderate {
  background: rgba(59, 130, 246, 0.06);
}

/* line 2846, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .no-crisis-compact {
  background: var(--bg-card-solid);
  border-color: rgba(34, 197, 94, 0.25);
}

/* line 2852, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-market-inner {
  background: var(--bg-card-solid);
  color: var(--text-primary);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

/* line 2859, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .defcon-indicator {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
}

/* line 2866, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .macro-events-banner .macro-event-alert.crisis-high {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.1), var(--bg-card-solid)) !important;
}

/* line 2870, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .macro-events-banner .alert-danger.macro-event-alert {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), var(--bg-card-solid)) !important;
}

@keyframes pulse-danger {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.3);
  }
  50% {
    box-shadow: 0 0 8px 2px rgba(239, 68, 68, 0.15);
  }
}

/* line 2885, app/assets/stylesheets/geopolitical.scss */
.osiris-map-wrapper {
  position: relative;
  width: 100%;
  min-height: 550px;
  border-radius: 8px;
  overflow: visible;
  background: #0a0e1a;
}

/* line 2894, app/assets/stylesheets/geopolitical.scss */
.osiris-map-wrapper:fullscreen .osiris-iframe {
  height: 100vh;
}

/* line 2900, app/assets/stylesheets/geopolitical.scss */
.osiris-iframe {
  width: 100%;
  height: 550px;
  border: none;
  border-radius: 8px;
  background: #0a0e1a;
  display: block;
}

/* line 2909, app/assets/stylesheets/geopolitical.scss */
.osiris-overlay-controls {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: flex;
  gap: 0.5rem;
  z-index: 10;
}

/* line 2918, app/assets/stylesheets/geopolitical.scss */
.osiris-btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(15, 23, 42, 0.85);
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  backdrop-filter: blur(8px);
}

/* line 2932, app/assets/stylesheets/geopolitical.scss */
.osiris-btn:hover {
  background: rgba(30, 41, 59, 0.95);
  color: #f8fafc;
  border-color: rgba(96, 165, 250, 0.4);
}

/* line 2938, app/assets/stylesheets/geopolitical.scss */
.osiris-btn i {
  font-size: 0.75rem;
}

/* line 2944, app/assets/stylesheets/geopolitical.scss */
.status-osiris .dot-osiris {
  background: #60a5fa;
  box-shadow: 0 0 8px rgba(96, 165, 250, 0.6);
}

/* line 2948, app/assets/stylesheets/geopolitical.scss */
.status-osiris span:last-child {
  color: #60a5fa;
  font-weight: 600;
}

/* line 2956, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-aviation {
  background: #60a5fa;
}

/* line 2957, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-conflict {
  background: #ef4444;
}

/* line 2958, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-seismic {
  background: #f59e0b;
}

/* line 2959, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-fires {
  background: #f97316;
}

/* line 2960, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-gdelt {
  background: #a78bfa;
}

/* line 2964, app/assets/stylesheets/geopolitical.scss */
.osiris-enrichment-panel {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.85));
  border: 1px solid rgba(96, 165, 250, 0.2);
  border-radius: 12px;
  padding: 0.75rem 1rem;
}

/* line 2970, app/assets/stylesheets/geopolitical.scss */
.osiris-enrichment-panel h6 {
  font-size: 0.78rem;
  font-weight: 600;
  color: #60a5fa;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 2979, app/assets/stylesheets/geopolitical.scss */
.osiris-enrichment-panel h6 i {
  font-size: 0.7rem;
}

/* line 2983, app/assets/stylesheets/geopolitical.scss */
.osiris-feed-items {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 2989, app/assets/stylesheets/geopolitical.scss */
.feed-item {
  font-size: 0.72rem;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

/* line 2997, app/assets/stylesheets/geopolitical.scss */
.feed-item i {
  width: 14px;
  text-align: center;
  font-size: 0.65rem;
  color: rgba(96, 165, 250, 0.7);
}

@media (max-width: 768px) {
  /* line 3007, app/assets/stylesheets/geopolitical.scss */
  .osiris-iframe {
    height: 350px;
  }
  /* line 3011, app/assets/stylesheets/geopolitical.scss */
  .osiris-map-wrapper {
    min-height: 350px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  /* line 3017, app/assets/stylesheets/geopolitical.scss */
  .osiris-iframe {
    height: 420px;
  }
}

/* line 3026, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact {
  cursor: pointer;
  transition: transform 0.15s, border-color 0.15s;
}

/* line 3030, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:hover {
  transform: translateX(2px);
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 3036, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup {
  position: absolute;
  z-index: 9999;
  width: 300px;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.96));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 1px rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.15s, transform 0.15s;
  pointer-events: auto;
}

/* line 3050, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup.visible {
  opacity: 1;
  transform: translateY(0);
}

/* line 3055, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-header {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-left: calc(1rem + 3px);
}

/* line 3061, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-severity {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

/* line 3069, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #f8fafc;
  line-height: 1.3;
}

/* line 3076, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-body {
  padding: 0.75rem 1rem;
}

/* line 3079, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-body p {
  font-size: 0.72rem;
  color: #94a3b8;
  line-height: 1.5;
  margin: 0 0 0.6rem;
}

/* line 3087, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-regions {
  font-size: 0.68rem;
  color: #60a5fa;
  margin-bottom: 0.4rem;
}

/* line 3092, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-regions i {
  margin-right: 0.3rem;
  font-size: 0.6rem;
}

/* line 3095, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-market {
  font-size: 0.68rem;
  color: #f59e0b;
  line-height: 1.4;
}

/* line 3100, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-market i {
  margin-right: 0.3rem;
  font-size: 0.6rem;
}
/* line 10, app/assets/stylesheets/events.scss */
.events-cell {
  text-align: center;
  vertical-align: middle;
  width: 80px;
}

/* line 15, app/assets/stylesheets/events.scss */
.events-cell .events-pictos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0.5rem;
  align-items: center;
  justify-items: center;
}

/* line 23, app/assets/stylesheets/events.scss */
.events-cell .events-pictos i {
  font-size: 1.2rem;
  cursor: help;
  transition: transform 0.2s ease;
  padding: 0.25rem;
  border-radius: var(--radius-xs);
}

/* line 30, app/assets/stylesheets/events.scss */
.events-cell .events-pictos i:hover {
  transform: scale(1.3);
}

/* line 34, app/assets/stylesheets/events.scss */
.events-cell .events-pictos i.event-dividend {
  color: #ffd700;
  background: rgba(255, 215, 0, 0.1);
}

/* line 39, app/assets/stylesheets/events.scss */
.events-cell .events-pictos i.event-crisis {
  color: #ff6b6b;
  background: rgba(255, 107, 107, 0.1);
}

/* line 44, app/assets/stylesheets/events.scss */
.events-cell .events-pictos i.event-revenue {
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.1);
}

/* line 49, app/assets/stylesheets/events.scss */
.events-cell .events-pictos i.event-others {
  color: #00a8ff;
  background: rgba(0, 168, 255, 0.1);
}

/* line 58, app/assets/stylesheets/events.scss */
.events-analysis-container {
  margin: 1.5rem 0;
  padding: 1rem;
  background: var(--bg-input);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-color);
}

@media (max-width: 768px) {
  /* line 58, app/assets/stylesheets/events.scss */
  .events-analysis-container {
    margin: 0.75rem 0 !important;
    padding: 0.6rem !important;
    border-radius: var(--radius-md) !important;
  }
}

/* line 72, app/assets/stylesheets/events.scss */
.events-analysis-container .events-analysis-header {
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  /* line 72, app/assets/stylesheets/events.scss */
  .events-analysis-container .events-analysis-header {
    margin-bottom: 0.6rem !important;
  }
}

/* line 80, app/assets/stylesheets/events.scss */
.events-analysis-container .events-analysis-header h5 {
  color: var(--accent-primary);
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

@media (max-width: 768px) {
  /* line 80, app/assets/stylesheets/events.scss */
  .events-analysis-container .events-analysis-header h5 {
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
  }
}

/* line 92, app/assets/stylesheets/events.scss */
.events-analysis-container .events-analysis-header h5 i {
  margin-right: 0.5rem;
  color: var(--accent-primary);
}

@media (max-width: 768px) {
  /* line 92, app/assets/stylesheets/events.scss */
  .events-analysis-container .events-analysis-header h5 i {
    margin-right: 0.3rem !important;
    font-size: 0.7rem !important;
  }
}

/* line 105, app/assets/stylesheets/events.scss */
.events-analysis-container .events-analysis-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0.75rem;
}

@media (max-width: 768px) {
  /* line 105, app/assets/stylesheets/events.scss */
  .events-analysis-container .events-analysis-content {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }
}

/* line 117, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item {
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem;
  background: var(--bg-table-row);
  border-radius: var(--radius-sm);
  border-left: 3px solid;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  /* line 117, app/assets/stylesheets/events.scss */
  .events-analysis-container .event-analysis-item {
    padding: 0.5rem 0.4rem !important;
    gap: 0.35rem !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* line 138, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item i {
  font-size: 1rem;
  min-width: 18px;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

@media (max-width: 768px) {
  /* line 138, app/assets/stylesheets/events.scss */
  .events-analysis-container .event-analysis-item i {
    font-size: 0.85rem !important;
    min-width: 16px !important;
  }
}

/* line 151, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item .event-analysis-text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}

@media (max-width: 768px) {
  /* line 151, app/assets/stylesheets/events.scss */
  .events-analysis-container .event-analysis-item .event-analysis-text {
    gap: 0.2rem !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    overflow: visible !important;
  }
}

/* line 170, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item .event-analysis-text strong {
  font-size: 0.8rem;
  font-weight: 600;
}

@media (max-width: 768px) {
  /* line 170, app/assets/stylesheets/events.scss */
  .events-analysis-container .event-analysis-item .event-analysis-text strong {
    font-size: 0.7rem !important;
  }
}

/* line 180, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item .event-analysis-text span {
  color: var(--text-secondary);
  font-size: 0.75rem;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

@media (max-width: 768px) {
  /* line 180, app/assets/stylesheets/events.scss */
  .events-analysis-container .event-analysis-item .event-analysis-text span {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    max-width: 100% !important;
    display: block !important;
  }
}

/* line 201, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-dividend {
  border-left-color: #ffd700;
}

/* line 204, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-dividend i {
  color: #ffd700;
}

/* line 205, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-dividend strong {
  color: #ffd700;
}

/* line 208, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-crisis {
  border-left-color: #ff6b6b;
}

/* line 211, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-crisis i {
  color: #ff6b6b;
}

/* line 212, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-crisis strong {
  color: #ff6b6b;
}

/* line 215, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-revenue {
  border-left-color: #00d4aa;
}

/* line 218, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-revenue i {
  color: #00d4aa;
}

/* line 219, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-revenue strong {
  color: #00d4aa;
}

/* line 222, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-others {
  border-left-color: #00a8ff;
}

/* line 225, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-others i {
  color: #00a8ff;
}

/* line 226, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-others strong {
  color: #00a8ff;
}

/* line 233, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-analysis-container {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 237, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-analysis-container .event-analysis-item {
  background: var(--bg-card);
}

/* line 240, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-analysis-container .event-analysis-item .event-analysis-text span {
  color: var(--text-secondary);
}

/* line 247, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-cell .events-pictos i.event-dividend {
  background: rgba(255, 215, 0, 0.15);
}

/* line 248, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-cell .events-pictos i.event-crisis {
  background: rgba(255, 107, 107, 0.15);
}

/* line 249, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-cell .events-pictos i.event-revenue {
  background: rgba(0, 212, 170, 0.15);
}

/* line 250, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-cell .events-pictos i.event-others {
  background: rgba(0, 168, 255, 0.15);
}
/* line 4, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
  animation: pulse-ai 2s infinite;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

/* line 20, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge i {
  font-size: 0.6rem;
}

@media (max-width: 767px) {
  /* line 28, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: none !important;
  }
  /* line 34, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-original {
    display: none !important;
  }
  /* line 38, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    font-size: 0.35rem !important;
    line-height: 1.1 !important;
    margin-bottom: 0.05rem !important;
  }
  /* line 46, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line1 i {
    margin-bottom: 0.1rem !important;
    margin-right: 0 !important;
    font-size: 0.5rem !important;
  }
  /* line 53, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line2 {
    display: block !important;
    font-size: 0.30rem !important;
    line-height: 1.1 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 64, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
}

@keyframes pulse-ai {
  0%, 100% {
    box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
  }
  50% {
    box-shadow: 0 4px 16px rgba(0, 212, 170, 0.5);
  }
}

/* line 33, app/assets/stylesheets/account.scss */
.account-page {
  background: #0a0e1a;
  min-height: 100vh;
  color: #ffffff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: hidden !important;
  height: auto !important;
  max-height: none !important;
  position: relative;
}

/* line 46, app/assets/stylesheets/account.scss */
.account-page::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}

/* line 62, app/assets/stylesheets/account.scss */
.account-page > * {
  position: relative;
  z-index: 1;
}

/* line 71, app/assets/stylesheets/account.scss */
.account-settings-page {
  overflow-y: hidden !important;
  height: auto !important;
  min-height: calc(100vh - 60px) !important;
  max-height: none !important;
  max-width: 100% !important;
  width: 100% !important;
  background: #0a0e1a;
}

@media (max-width: 1023px) {
  /* line 71, app/assets/stylesheets/account.scss */
  .account-settings-page {
    overflow-y: visible !important;
    min-height: auto !important;
  }
}

/* line 87, app/assets/stylesheets/account.scss */
.preferences-form,
.preferences-form .row,
.preferences-form .row.mb-12,
.preferences-form .col-12 {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
}

/* line 100, app/assets/stylesheets/account.scss */
.stocks-section,
.stocks-section .row,
.stocks-section #portfolio-management,
.stocks-section .tab-content,
.stocks-section .tab-pane,
.stocks-section .dashboard-tabs,
.stocks-section .summary-card,
.stocks-section .summary-card .card-content {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
}

/* line 118, app/assets/stylesheets/account.scss */
.account-settings-page #investor-profile,
.account-settings-page #opportunities {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: calc(100vh - 300px) !important;
  padding-bottom: 2rem;
}

/* line 126, app/assets/stylesheets/account.scss */
.account-settings-page #investor-profile .investor-profile-form,
.account-settings-page #opportunities .investor-profile-form {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: inherit;
}

/* line 132, app/assets/stylesheets/account.scss */
.account-settings-page #investor-profile .investor-profile-form .row,
.account-settings-page #opportunities .investor-profile-form .row {
  overflow: visible !important;
}

/* line 136, app/assets/stylesheets/account.scss */
.account-settings-page #investor-profile .investor-profile-form .summary-card,
.account-settings-page #opportunities .investor-profile-form .summary-card {
  overflow: visible !important;
  height: auto !important;
}

/* line 140, app/assets/stylesheets/account.scss */
.account-settings-page #investor-profile .investor-profile-form .summary-card .card-content,
.account-settings-page #opportunities .investor-profile-form .summary-card .card-content {
  overflow: visible !important;
  height: auto !important;
}

/* line 149, app/assets/stylesheets/account.scss */
.account-page .tab-content,
.stocks-section .tab-content {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* line 157, app/assets/stylesheets/account.scss */
.stocks-section .dashboard-tabs,
.stocks-section #portfolioTabContent,
.stocks-section .tab-pane,
.stocks-section .tab-pane.active,
.stocks-section .tab-pane.show {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
}

/* line 171, app/assets/stylesheets/account.scss */
.account-header {
  background: rgba(15, 20, 40, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 2rem 0;
  margin-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  overflow: hidden;
}

/* line 182, app/assets/stylesheets/account.scss */
.account-header::before {
  content: '';
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 200px;
  background: radial-gradient(ellipse, rgba(0, 212, 170, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

/* line 195, app/assets/stylesheets/account.scss */
.account-title, .dashboard-title {
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}

/* line 203, app/assets/stylesheets/account.scss */
.account-subtitle, .dashboard-subtitle {
  color: #94a3b8;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}

/* line 211, app/assets/stylesheets/account.scss */
.account-tabs {
  background: rgba(26, 31, 58, 0.8);
  border-radius: 12px;
  padding: 0.5rem;
  margin-bottom: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
}

/* line 220, app/assets/stylesheets/account.scss */
.account-tabs .nav-tabs {
  border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
  background-color: rgba(26, 26, 46, 0.8) !important;
  backdrop-filter: blur(10px);
  border-radius: 0.75rem 0.75rem 0 0;
  padding: 0.5rem 0.5rem 0 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* line 229, app/assets/stylesheets/account.scss */
.account-tabs .nav-link {
  color: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-bottom: none !important;
  border-radius: 0.75rem 0.75rem 0 0;
  padding: 14px 24px !important;
  margin: 0 0.25rem;
  background-color: rgba(42, 42, 62, 0.6) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
}

/* line 240, app/assets/stylesheets/account.scss */
.account-tabs .nav-link:hover {
  background-color: rgba(58, 58, 78, 0.8) !important;
  color: rgba(255, 255, 255, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* line 248, app/assets/stylesheets/account.scss */
.account-tabs .nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.15) 100%) !important;
  border-color: rgba(0, 212, 170, 0.4) !important;
  border-bottom: 2px solid #00d4aa !important;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* line 256, app/assets/stylesheets/account.scss */
.account-tabs .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 0 8px rgba(0, 212, 170, 0.6);
}

/* line 271, app/assets/stylesheets/account.scss */
.account-tabs .nav-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}

/* line 277, app/assets/stylesheets/account.scss */
.account-tabs .nav-link.active {
  color: #ffffff;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  box-shadow: 0 4px 15px rgba(0, 212, 170, 0.3);
  position: relative;
}

/* line 283, app/assets/stylesheets/account.scss */
.account-tabs .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40%;
  height: 2px;
  background-color: rgba(15, 20, 40, 0.85);
  border-radius: 0;
}

/* line 300, app/assets/stylesheets/account.scss */
.account-section, .stocks-section {
  background: transparent;
  border: none;
  padding: 0;
  margin-bottom: 0;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* line 312, app/assets/stylesheets/account.scss */
.section-header {
  margin-bottom: 2rem;
}

/* line 316, app/assets/stylesheets/account.scss */
.section-title h2 {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 323, app/assets/stylesheets/account.scss */
.form-group {
  background: rgba(26, 31, 58, 0.6);
  border-radius: 10px;
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 0.75rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 331, app/assets/stylesheets/account.scss */
.form-group:hover {
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 337, app/assets/stylesheets/account.scss */
.preferences-form .summary-card {
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
}

/* line 347, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 1rem !important;
  margin-bottom: 0.5rem !important;
}

/* line 354, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* line 361, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content h3 {
  font-size: 1.1rem !important;
  margin-bottom: 0.75rem !important;
}

/* line 366, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content .row {
  margin-bottom: 0 !important;
}

/* line 370, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content .form-group {
  padding: 0.5rem 0.75rem !important;
  margin-bottom: 0.5rem !important;
}

/* line 374, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content .form-group .form-label {
  font-size: 0.8rem !important;
  margin-bottom: 0.25rem !important;
}

/* line 379, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content .form-group .form-control {
  padding: 0.4rem 0.6rem !important;
  font-size: 0.9rem !important;
  min-height: 38px !important;
}

/* line 385, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content .form-group .form-text {
  font-size: 0.75rem !important;
  margin-top: 0.25rem !important;
}

/* line 393, app/assets/stylesheets/account.scss */
.form-label {
  color: #ffffff;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 399, app/assets/stylesheets/account.scss */
.form-control, .form-select {
  background: rgba(45, 55, 72, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 406, app/assets/stylesheets/account.scss */
.form-control:focus, .form-select:focus {
  background: rgba(45, 55, 72, 0.9);
  border-color: #00d4aa;
  box-shadow: 0 0 0 0.2rem rgba(0, 212, 170, 0.25);
  color: #ffffff;
}

/* line 413, app/assets/stylesheets/account.scss */
.form-control::placeholder, .form-select::placeholder {
  color: #64748b;
}

/* line 418, app/assets/stylesheets/account.scss */
.form-check-input {
  background-color: rgba(45, 55, 72, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 423, app/assets/stylesheets/account.scss */
.form-check-input:checked {
  background-color: #00d4aa;
  border-color: #00d4aa;
}

/* line 429, app/assets/stylesheets/account.scss */
.form-check-label {
  color: #ffffff;
  font-weight: 500;
}

/* line 435, app/assets/stylesheets/account.scss */
.btn-primary {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border: none;
  border-radius: 8px;
  padding: 0.75rem 2rem;
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 443, app/assets/stylesheets/account.scss */
.btn-primary:hover {
  background: linear-gradient(135deg, #00a8ff 0%, #00d4aa 100%);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 212, 170, 0.3);
}

/* line 450, app/assets/stylesheets/account.scss */
.btn-outline-primary {
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 454, app/assets/stylesheets/account.scss */
.btn-outline-primary:hover {
  background: #00d4aa;
  border-color: #00d4aa;
  color: #ffffff;
}

/* line 462, app/assets/stylesheets/account.scss */
.text-muted {
  color: #64748b !important;
}

/* line 466, app/assets/stylesheets/account.scss */
.form-text {
  color: #64748b;
  font-size: 0.875rem;
}

/* line 472, app/assets/stylesheets/account.scss */
.stocks-management {
  background: transparent;
  border: none;
  padding: 0;
}

/* line 479, app/assets/stylesheets/account.scss */
.account-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: flex-start;
}

/* line 485, app/assets/stylesheets/account.scss */
.account-section-header h5 {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  text-align: left;
}

/* line 492, app/assets/stylesheets/account.scss */
.account-section-header small {
  font-size: 0.78rem;
}

/* line 497, app/assets/stylesheets/account.scss */
.account-section-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex-shrink: 0;
}

/* line 507, app/assets/stylesheets/account.scss */
.account-section-icon.notif-icon {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
}

/* line 511, app/assets/stylesheets/account.scss */
.account-section-icon.billing-icon {
  background: rgba(168, 85, 247, 0.12);
  color: #a855f7;
}

/* line 515, app/assets/stylesheets/account.scss */
.account-section-icon.data-icon {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}

/* line 519, app/assets/stylesheets/account.scss */
.account-section-icon.actions-icon {
  background: rgba(100, 116, 139, 0.12);
  color: #94a3b8;
}

/* line 526, app/assets/stylesheets/account.scss */
.notif-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 532, app/assets/stylesheets/account.scss */
.notif-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.04);
  transition: all 0.2s ease;
}

/* line 542, app/assets/stylesheets/account.scss */
.notif-item:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

/* line 548, app/assets/stylesheets/account.scss */
.notif-item-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  flex-shrink: 0;
  background: rgba(var(--notif-color-rgb, 255, 255, 255), 0.1);
  color: var(--notif-color, #94a3b8);
  background: color-mix(in srgb, var(--notif-color) 12%, transparent);
}

/* line 564, app/assets/stylesheets/account.scss */
.notif-item-content {
  flex: 1;
  min-width: 0;
}

/* line 569, app/assets/stylesheets/account.scss */
.notif-item-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}

/* line 576, app/assets/stylesheets/account.scss */
.notif-item-desc {
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.3;
}

/* line 583, app/assets/stylesheets/account.scss */
.billing-plan-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 1rem;
  margin-bottom: 1rem;
}

/* line 591, app/assets/stylesheets/account.scss */
.billing-plan-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

/* line 598, app/assets/stylesheets/account.scss */
.billing-plan-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}

/* line 604, app/assets/stylesheets/account.scss */
.billing-status-badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.25rem 0.6rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* line 613, app/assets/stylesheets/account.scss */
.billing-status-badge i {
  font-size: 0.4rem;
}

/* line 615, app/assets/stylesheets/account.scss */
.billing-status-badge.active, .billing-status-badge.billing-status-active {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
}

/* line 619, app/assets/stylesheets/account.scss */
.billing-status-badge.trialing, .billing-status-badge.billing-status-trialing {
  background: rgba(255, 167, 38, 0.12);
  color: #ffa726;
}

/* line 623, app/assets/stylesheets/account.scss */
.billing-status-badge.past_due, .billing-status-badge.cancelled, .billing-status-badge.expired, .billing-status-badge.billing-status-past_due, .billing-status-badge.billing-status-canceled {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* line 629, app/assets/stylesheets/account.scss */
.billing-detail {
  font-size: 0.8rem;
  color: #64748b;
  margin: 0;
}

/* line 634, app/assets/stylesheets/account.scss */
.billing-detail.warning {
  color: #ffa726;
}

/* line 637, app/assets/stylesheets/account.scss */
.billing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 643, app/assets/stylesheets/account.scss */
.billing-empty-state {
  text-align: left;
  padding: 1.5rem 0;
}

/* line 648, app/assets/stylesheets/account.scss */
.billing-empty-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 237, 78, 0.08));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 658, app/assets/stylesheets/account.scss */
.billing-empty-icon i {
  font-size: 1.1rem;
  color: #ffd700;
}

/* line 664, app/assets/stylesheets/account.scss */
.billing-empty-text {
  font-size: 0.95rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.25rem;
}

/* line 671, app/assets/stylesheets/account.scss */
.billing-empty-sub {
  font-size: 0.8rem;
  color: #64748b;
  margin-bottom: 1rem;
}

/* line 678, app/assets/stylesheets/account.scss */
.billing-plan-card-inline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 686, app/assets/stylesheets/account.scss */
.account-inline-section {
  padding: 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  height: 100%;
}

/* line 693, app/assets/stylesheets/account.scss */
.account-inline-section .account-section-header {
  gap: 0.6rem;
}

/* line 697, app/assets/stylesheets/account.scss */
.account-inline-section .account-section-icon {
  width: 30px;
  height: 30px;
  font-size: 0.75rem;
}

/* line 703, app/assets/stylesheets/account.scss */
.account-inline-section h6 {
  font-size: 0.85rem;
  font-weight: 600;
}

/* line 710, app/assets/stylesheets/account.scss */
.data-includes-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 716, app/assets/stylesheets/account.scss */
.data-includes-item {
  font-size: 0.8rem;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.6rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
}

/* line 726, app/assets/stylesheets/account.scss */
.data-includes-item i {
  font-size: 0.7rem;
  color: #00d4aa;
  opacity: 0.7;
}

/* line 730, app/assets/stylesheets/account.scss */
.account-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 0.7rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  color: #94a3b8;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 746, app/assets/stylesheets/account.scss */
.account-action-btn i {
  font-size: 0.8rem;
  opacity: 0.7;
}

/* line 748, app/assets/stylesheets/account.scss */
.account-action-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 752, app/assets/stylesheets/account.scss */
.account-action-btn:hover i {
  opacity: 1;
}

/* line 755, app/assets/stylesheets/account.scss */
.account-action-btn.warning {
  border-color: rgba(255, 167, 38, 0.2);
  color: #ffa726;
}

/* line 758, app/assets/stylesheets/account.scss */
.account-action-btn.warning:hover {
  background: rgba(255, 167, 38, 0.08);
  border-color: rgba(255, 167, 38, 0.4);
}

/* line 761, app/assets/stylesheets/account.scss */
.account-action-btn.danger {
  border-color: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 764, app/assets/stylesheets/account.scss */
.account-action-btn.danger:hover {
  background: rgba(255, 107, 107, 0.08);
  border-color: rgba(255, 107, 107, 0.4);
}

/* line 769, app/assets/stylesheets/account.scss */
.d-flex.flex-column form:has(.account-action-btn),
.d-flex.flex-column .dropdown:has(.account-action-btn) {
  width: 100%;
}

/* line 772, app/assets/stylesheets/account.scss */
.d-flex.flex-column form:has(.account-action-btn) .account-action-btn,
.d-flex.flex-column .dropdown:has(.account-action-btn) .account-action-btn {
  width: 100%;
}

/* line 776, app/assets/stylesheets/account.scss */
.dropdown > .account-action-btn[data-bs-toggle="dropdown"] {
  position: relative;
}

/* line 779, app/assets/stylesheets/account.scss */
.dropdown > .account-action-btn[data-bs-toggle="dropdown"] .fa-chevron-down {
  position: absolute;
  right: 1rem;
  margin-left: 0 !important;
}

/* line 786, app/assets/stylesheets/account.scss */
.stocks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}

/* line 793, app/assets/stylesheets/account.scss */
.stock-card {
  background: rgba(15, 20, 40, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1.5rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 802, app/assets/stylesheets/account.scss */
.stock-card:hover {
  border-color: rgba(0, 212, 170, 0.25);
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(0, 212, 170, 0.15);
}

/* line 809, app/assets/stylesheets/account.scss */
.stock-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 816, app/assets/stylesheets/account.scss */
.stock-info h6 {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 0.25rem;
  margin-right: 1rem;
}

/* line 823, app/assets/stylesheets/account.scss */
.stock-name {
  color: #94a3b8;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

/* line 829, app/assets/stylesheets/account.scss */
.stock-symbol {
  color: #00d4aa;
  font-weight: 700;
}

/* line 834, app/assets/stylesheets/account.scss */
.stock-actions .btn {
  padding: 0.375rem 0.75rem;
}

/* line 838, app/assets/stylesheets/account.scss */
.shares-input-group {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

/* line 844, app/assets/stylesheets/account.scss */
.shares-input {
  flex: 1;
}

/* line 849, app/assets/stylesheets/account.scss */
.stock-inputs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
}

/* line 857, app/assets/stylesheets/account.scss */
.position-value-display {
  margin-top: 0.5rem;
  padding: 0.4rem 0.6rem;
  background: rgba(0, 212, 170, 0.08);
  border-radius: 6px;
  border-left: 2px solid rgba(0, 212, 170, 0.4);
}

/* line 864, app/assets/stylesheets/account.scss */
.position-value-display small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 871, app/assets/stylesheets/account.scss */
.position-value-display small i {
  color: #00d4aa;
  font-size: 0.75rem;
}

/* line 876, app/assets/stylesheets/account.scss */
.position-value-display small strong {
  color: #00d4aa;
  font-weight: 600;
}

/* line 884, app/assets/stylesheets/account.scss */
.stock-symbol-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 892, app/assets/stylesheets/account.scss */
.crypto-card {
  border-left: none !important;
  position: relative;
  overflow: hidden;
}

/* line 897, app/assets/stylesheets/account.scss */
.crypto-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #f59e0b, #eab308) !important;
  border-radius: 12px 12px 0 0;
}

/* line 908, app/assets/stylesheets/account.scss */
.crypto-card:hover {
  border-color: rgba(245, 158, 11, 0.4) !important;
  box-shadow: 0 20px 50px rgba(245, 158, 11, 0.15) !important;
}

/* line 915, app/assets/stylesheets/account.scss */
.asset-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 926, app/assets/stylesheets/account.scss */
.asset-type-badge i {
  font-size: 0.6rem;
}

/* line 930, app/assets/stylesheets/account.scss */
.asset-type-badge.asset-type-crypto {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25), rgba(234, 179, 8, 0.15));
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

/* line 936, app/assets/stylesheets/account.scss */
.asset-type-badge.asset-type-etf {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.25), rgba(139, 92, 246, 0.15));
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.3);
}

/* line 944, app/assets/stylesheets/account.scss */
.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  color: #94a3b8;
}

/* line 950, app/assets/stylesheets/account.scss */
.empty-icon {
  font-size: 3rem;
  color: #64748b;
  margin-bottom: 1rem;
}

/* line 956, app/assets/stylesheets/account.scss */
.empty-state h3 {
  color: #ffffff;
  margin-bottom: 0.5rem;
}

/* line 962, app/assets/stylesheets/account.scss */
.alert-info {
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.2);
  color: #94a3b8;
  border-radius: 12px;
}

/* line 968, app/assets/stylesheets/account.scss */
.alert-info h6 {
  color: #ffffff;
  margin-bottom: 0.75rem;
}

/* line 973, app/assets/stylesheets/account.scss */
.alert-info ul {
  margin-bottom: 0;
}

/* line 977, app/assets/stylesheets/account.scss */
.alert-info li {
  margin-bottom: 0.5rem;
}

/* line 983, app/assets/stylesheets/account.scss */
.stock-limit-warning {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.08) 0%, rgba(0, 168, 255, 0.08) 100%);
  border: 1px solid rgba(168, 85, 247, 0.25);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  color: #ffffff;
}

/* line 990, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-icon {
  color: #a855f7;
  font-size: 1.25rem;
  opacity: 0.9;
}

/* line 997, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-content strong {
  color: #ffffff;
  font-size: 0.95rem;
  display: block;
}

/* line 1003, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-content p {
  color: #94a3b8;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* line 1010, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-link {
  color: #00d4aa;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1016, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-link:hover {
  color: #00b894;
  text-decoration: underline;
}

@media (min-width: 768px) and (max-width: 1279px) {
  /* line 1027, app/assets/stylesheets/account.scss */
  .account-header, .dashboard-header {
    padding: 0.75rem 0 !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1033, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1038, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .row {
    margin: 0 !important;
  }
  /* line 1042, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .form-label {
    font-size: 0.7rem !important;
    margin-bottom: 0.15rem !important;
    display: block !important;
  }
  /* line 1048, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .form-control {
    padding: 0.3rem 0.4rem !important;
    font-size: 0.8rem !important;
    min-height: 32px !important;
  }
  /* line 1057, app/assets/stylesheets/account.scss */
  #account-preferences h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1063, app/assets/stylesheets/account.scss */
  .form-group {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1068, app/assets/stylesheets/account.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
  }
}

@media (max-width: 767px) {
  /* line 1078, app/assets/stylesheets/account.scss */
  .account-header, .dashboard-header {
    padding: 0.5rem 0 !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1084, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
    padding: 0.5rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1096, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content {
    width: 100% !important;
  }
  /* line 1099, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .row.g-2 {
    margin: 0 !important;
    width: 100% !important;
    gap: 0.5rem !important;
    /* Allow Bootstrap responsive columns to work naturally */
  }
  /* line 1105, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .row.g-2 > [class*="col-"] {
    padding: 0 0.25rem !important;
  }
  /* line 1110, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .form-label {
    font-size: 0.7rem !important;
    margin-bottom: 0.25rem !important;
    display: block !important;
    text-align: left !important;
  }
  /* line 1117, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .form-control {
    padding: 0.4rem 0.5rem !important;
    font-size: 16px !important;
    /* Prevent iOS zoom - must be at least 16px */
    min-height: 38px !important;
    text-align: left !important;
    width: 100% !important;
  }
  /* line 1128, app/assets/stylesheets/account.scss */
  #account-preferences h3 {
    font-size: 0.85rem !important;
    margin-bottom: 0.3rem !important;
  }
  /* line 1134, app/assets/stylesheets/account.scss */
  .preferences-form ~ .row .text-muted,
.row.mb-5 .text-muted {
    font-size: 0.65rem !important;
  }
  /* line 1139, app/assets/stylesheets/account.scss */
  .row.mb-5 {
    margin-bottom: 0.75rem !important;
  }
  /* line 1144, app/assets/stylesheets/account.scss */
  .form-group {
    padding: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1149, app/assets/stylesheets/account.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 1156, app/assets/stylesheets/account.scss */
  #stock-search-form .d-flex {
    flex-direction: column !important;
    gap: 0.5rem !important;
    align-items: stretch !important;
  }
  /* line 1162, app/assets/stylesheets/account.scss */
  #stock-search-form input.form-control {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
  }
  /* line 1168, app/assets/stylesheets/account.scss */
  #stock-search-form button[data-search-target="button"] {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 0.9rem !important;
    padding: 0 !important;
  }
  /* line 1179, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .stock-symbol {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
  }
  /* line 1185, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .stock-name {
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }
  /* line 1192, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card small.text-muted {
    font-size: 0.68rem !important;
    line-height: 1.2 !important;
  }
  /* line 1198, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .form-label {
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    margin-bottom: 0.2rem !important;
  }
  /* line 1205, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card input.form-control {
    font-size: 16px !important;
    min-height: 40px !important;
    padding: 0.4rem 0.5rem !important;
  }
  /* line 1212, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .position-value-display small {
    font-size: 0.75rem !important;
  }
  /* line 1217, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .stock-actions .btn {
    min-height: unset !important;
    padding: 0.3rem 0.5rem !important;
    font-size: 0.75rem !important;
  }
  /* line 1225, app/assets/stylesheets/account.scss */
  .account-tabs {
    padding: 0.2rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1229, app/assets/stylesheets/account.scss */
  .account-tabs .nav-link {
    padding: 6px 10px !important;
    font-size: 0.75rem !important;
    min-height: 34px !important;
    margin: 0 0.05rem !important;
  }
  /* line 1235, app/assets/stylesheets/account.scss */
  .account-tabs .nav-link i {
    font-size: 0.8rem !important;
    margin-right: 3px !important;
  }
  /* line 1243, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link {
    flex-direction: column !important;
    height: auto !important;
    min-height: 52px !important;
    white-space: normal !important;
    gap: 0.3rem !important;
    padding: 10px 4px 9px !important;
  }
  /* line 1251, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 1256, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link .tab-label {
    display: block !important;
    visibility: visible !important;
    font-size: 0.46rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    opacity: 0.75;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: inherit !important;
  }
  /* line 1269, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link.active .tab-label {
    opacity: 1 !important;
    font-weight: 600 !important;
  }
  /* line 1276, app/assets/stylesheets/account.scss */
  .form-control, .form-select {
    min-height: 32px !important;
    font-size: 16px !important;
  }
  /* line 1281, app/assets/stylesheets/account.scss */
  .btn {
    min-height: 34px !important;
    font-size: 0.75rem !important;
    padding: 6px 10px !important;
  }
  /* line 1288, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1292, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) .card-icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 0.85rem !important;
  }
  /* line 1299, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) .card-content h3 {
    font-size: 0.9rem !important;
  }
  /* line 1303, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) .card-content p {
    font-size: 0.75rem !important;
  }
  /* line 1310, app/assets/stylesheets/account.scss */
  .risk-option {
    padding: 8px 6px !important;
    margin-bottom: 4px !important;
  }
  /* line 1314, app/assets/stylesheets/account.scss */
  .risk-option .risk-title {
    font-size: 0.8rem !important;
    margin-bottom: 3px !important;
  }
  /* line 1318, app/assets/stylesheets/account.scss */
  .risk-option .risk-title i {
    font-size: 0.85rem !important;
  }
  /* line 1323, app/assets/stylesheets/account.scss */
  .risk-option .risk-description {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
  }
  /* line 1330, app/assets/stylesheets/account.scss */
  .checkbox-group {
    gap: 3px !important;
  }
  /* line 1333, app/assets/stylesheets/account.scss */
  .checkbox-group .form-check {
    padding: 8px 6px !important;
    min-height: 34px !important;
  }
  /* line 1337, app/assets/stylesheets/account.scss */
  .checkbox-group .form-check .form-check-label {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
  }
  /* line 1345, app/assets/stylesheets/account.scss */
  h3.mb-3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1350, app/assets/stylesheets/account.scss */
  h5 {
    font-size: 0.85rem !important;
  }
  /* line 1355, app/assets/stylesheets/account.scss */
  #portfolio-management h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
}

/* line 1365, app/assets/stylesheets/account.scss */
.investor-profile-summary .risk-score-mini {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.6rem;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15) 0%, rgba(0, 212, 170, 0.25) 100%);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #00d4aa;
}

/* line 1377, app/assets/stylesheets/account.scss */
.investor-profile-summary .risk-score-mini i {
  font-size: 0.65rem;
}

/* line 1383, app/assets/stylesheets/account.scss */
.profile-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 1390, app/assets/stylesheets/account.scss */
.profile-preview-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.5rem 0.65rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}

/* line 1399, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-label {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1405, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-label i {
  margin-right: 0.3rem;
  opacity: 0.7;
}

/* line 1411, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: #e2e8f0;
}

/* line 1416, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.conservative {
  color: #10b981;
}

/* line 1419, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.dynamic {
  color: #f59e0b;
}

/* line 1422, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.aggressive {
  color: #ef4444;
}

/* line 1429, app/assets/stylesheets/account.scss */
.profile-incomplete-notice .alert {
  font-size: 0.8rem;
  padding: 0.6rem 0.8rem;
  border-radius: 8px;
}

/* line 1434, app/assets/stylesheets/account.scss */
.profile-incomplete-notice .alert i {
  margin-right: 0.4rem;
}

@media (max-width: 767px) {
  /* line 1442, app/assets/stylesheets/account.scss */
  .profile-preview-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  /* line 1447, app/assets/stylesheets/account.scss */
  .profile-preview-item {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0.5rem;
  }
  /* line 1453, app/assets/stylesheets/account.scss */
  .profile-preview-item .preview-label {
    font-size: 0.6rem;
  }
  /* line 1457, app/assets/stylesheets/account.scss */
  .profile-preview-item .preview-value {
    font-size: 0.75rem;
  }
}

/* line 1468, app/assets/stylesheets/account.scss */
.account-settings-page h5 {
  color: #ffffff;
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

/* line 1476, app/assets/stylesheets/account.scss */
.account-settings-page .form-label {
  text-align: left;
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  color: #94a3b8;
  margin-bottom: 0.35rem;
}

/* line 1486, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card {
  background: rgba(20, 25, 45, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 1.25rem !important;
  text-align: left !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  max-height: none !important;
  min-height: auto !important;
  height: auto !important;
}

/* line 1499, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card::before {
  display: none !important;
}

/* line 1503, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card:hover {
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 1509, app/assets/stylesheets/account.scss */
.account-settings-page .form-control {
  background: rgba(30, 35, 55, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  font-size: 0.9rem;
  color: #ffffff;
}

/* line 1517, app/assets/stylesheets/account.scss */
.account-settings-page .form-control:focus {
  border-color: #00d4aa;
  box-shadow: 0 0 0 2px rgba(0, 212, 170, 0.15);
}

/* line 1522, app/assets/stylesheets/account.scss */
.account-settings-page .form-control::placeholder {
  color: #64748b;
  font-size: 0.85rem;
}

/* line 1530, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card .border-bottom {
  border-color: rgba(255, 255, 255, 0.06) !important;
}

/* line 1534, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card .card-content {
  text-align: left !important;
}

/* line 1538, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card .fw-semibold {
  font-size: 0.9rem;
  color: #ffffff;
}

/* line 1543, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card small.text-muted {
  font-size: 0.75rem;
}

/* line 1549, app/assets/stylesheets/account.scss */
.account-settings-page .card-icon {
  width: 48px;
  height: 48px;
  background: rgba(0, 212, 170, 0.15);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

/* line 1559, app/assets/stylesheets/account.scss */
.account-settings-page .card-icon i {
  color: #00d4aa;
  font-size: 1.25rem;
}

/* line 1566, app/assets/stylesheets/account.scss */
.account-settings-page .card-content h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.75rem;
}

/* line 1573, app/assets/stylesheets/account.scss */
.account-settings-page .card-content p {
  font-size: 0.85rem;
  color: #94a3b8;
  margin-bottom: 0.5rem;
}

/* line 1578, app/assets/stylesheets/account.scss */
.account-settings-page .card-content p strong {
  color: #ffffff;
}

/* line 1585, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info,
.account-settings-page .btn-outline-warning,
.account-settings-page .btn-outline-danger {
  background: transparent;
  border-width: 1px;
  font-size: 0.85rem;
  padding: 0.6rem 1rem;
  border-radius: 8px;
}

/* line 1594, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info:hover,
.account-settings-page .btn-outline-warning:hover,
.account-settings-page .btn-outline-danger:hover {
  transform: none;
}

/* line 1599, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info {
  border-color: rgba(0, 168, 255, 0.4);
  color: #00a8ff;
}

/* line 1603, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info:hover {
  background: rgba(0, 168, 255, 0.1);
  border-color: #00a8ff;
}

/* line 1609, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-warning {
  border-color: rgba(234, 179, 8, 0.4);
  color: #eab308;
}

/* line 1613, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-warning:hover {
  background: rgba(234, 179, 8, 0.1);
  border-color: #eab308;
}

/* line 1619, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-danger {
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* line 1623, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-danger:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
}

/* line 1629, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-primary {
  border-color: rgba(0, 212, 170, 0.4);
  color: #00d4aa;
}

/* line 1633, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-primary:hover {
  background: rgba(0, 212, 170, 0.1);
  border-color: #00d4aa;
}

/* line 1640, app/assets/stylesheets/account.scss */
.account-settings-page .theme-preference-toggle {
  display: inline-flex;
  background: rgba(30, 35, 55, 0.8);
  border-radius: 8px;
  padding: 4px;
  gap: 4px;
}

/* line 1647, app/assets/stylesheets/account.scss */
.account-settings-page .theme-preference-toggle .theme-option {
  padding: 0.5rem 1rem;
  border: none;
  background: transparent;
  color: #94a3b8;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.85rem;
}

/* line 1657, app/assets/stylesheets/account.scss */
.account-settings-page .theme-preference-toggle .theme-option.active, .account-settings-page .theme-preference-toggle .theme-option:hover {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

/* line 1663, app/assets/stylesheets/account.scss */
.account-settings-page .theme-preference-toggle .theme-option i {
  margin-right: 0.35rem;
}

/* line 1670, app/assets/stylesheets/account.scss */
.account-settings-page .d-flex.align-items-center.justify-content-center {
  justify-content: flex-start !important;
}

/* line 1682, app/assets/stylesheets/account.scss */
#my-data .dropdown .btn-outline-info.dropdown-toggle::after {
  margin-left: 0.5rem;
}

/* line 1688, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu {
  background: #1a1f3a !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(0, 212, 170, 0.2) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
  padding: 0.5rem !important;
  margin-top: 0.5rem !important;
  --bs-dropdown-bg: #1a1f3a;
  --bs-dropdown-border-color: rgba(0, 212, 170, 0.2);
  --bs-dropdown-link-color: #f1f5f9;
  --bs-dropdown-link-hover-bg: transparent;
  --bs-dropdown-link-hover-color: #ffffff;
}

/* line 1705, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu li {
  background: transparent !important;
}

/* line 1709, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item {
  color: #ffffff !important;
  background: transparent !important;
  padding: 0.75rem 1rem !important;
  border-radius: 8px !important;
  margin-bottom: 0.25rem;
  transition: all 0.2s ease;
}

/* line 1717, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:last-child {
  margin-bottom: 0;
}

/* line 1721, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:hover, #my-data .dropdown .dropdown-menu .dropdown-item:focus {
  background: rgba(0, 212, 170, 0.15) !important;
  color: #ffffff !important;
}

/* line 1725, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:hover i.text-primary, #my-data .dropdown .dropdown-menu .dropdown-item:focus i.text-primary {
  color: #08ffce !important;
}

/* line 1728, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:hover i.text-success, #my-data .dropdown .dropdown-menu .dropdown-item:focus i.text-success {
  color: #08ffce !important;
}

/* line 1733, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item i {
  width: 20px;
}

/* line 1737, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item small {
  color: #64748b !important;
  font-size: 0.75rem;
}

/* line 1749, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu {
  background: #ffffff !important;
  border: 1px solid #d0ccc5 !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
  --bs-dropdown-bg: #ffffff;
  --bs-dropdown-border-color: #d0ccc5;
  --bs-dropdown-link-color: #111111;
  --bs-dropdown-link-hover-bg: transparent;
  --bs-dropdown-link-hover-color: #000000;
}

/* line 1760, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item {
  color: #111111 !important;
}

/* line 1763, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item:hover, [data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item:focus {
  background: rgba(0, 160, 128, 0.1) !important;
  color: #111111 !important;
}

/* line 1768, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item small {
  color: #666666 !important;
}

/* line 1776, app/assets/stylesheets/account.scss */
.password-input-wrapper {
  position: relative;
}

/* line 1779, app/assets/stylesheets/account.scss */
.password-input-wrapper .form-control {
  padding-right: 2.75rem;
}

/* line 1784, app/assets/stylesheets/account.scss */
.password-toggle-btn {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted, #64748b);
  cursor: pointer;
  padding: 0.25rem;
  font-size: 0.85rem;
  z-index: 2;
  line-height: 1;
  transition: color 0.2s ease;
  outline: none;
}

/* line 1800, app/assets/stylesheets/account.scss */
.password-toggle-btn:hover, .password-toggle-btn:focus-visible {
  color: var(--text-primary, #ffffff);
}
/* line 4, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
  animation: pulse-ai 2s infinite;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

/* line 20, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge i {
  font-size: 0.6rem;
}

@media (max-width: 767px) {
  /* line 28, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: none !important;
  }
  /* line 34, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-original {
    display: none !important;
  }
  /* line 38, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    font-size: 0.35rem !important;
    line-height: 1.1 !important;
    margin-bottom: 0.05rem !important;
  }
  /* line 46, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line1 i {
    margin-bottom: 0.1rem !important;
    margin-right: 0 !important;
    font-size: 0.5rem !important;
  }
  /* line 53, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge .badge-text-line2 {
    display: block !important;
    font-size: 0.30rem !important;
    line-height: 1.1 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 64, app/assets/stylesheets/shared/_ai_badge.scss */
  .stock-info .ai-analysis-badge {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
}

@keyframes pulse-ai {
  0%, 100% {
    box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
  }
  50% {
    box-shadow: 0 4px 16px rgba(0, 212, 170, 0.5);
  }
}

/* line 18, app/assets/stylesheets/stocks_preferences.scss */
.stocks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* line 25, app/assets/stylesheets/stocks_preferences.scss */
.stock-card {
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 1.5rem;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* line 35, app/assets/stylesheets/stocks_preferences.scss */
.stock-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 212, 170, 0.2);
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 41, app/assets/stylesheets/stocks_preferences.scss */
.stock-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #00d4aa, #00b4d8);
  border-radius: 16px 16px 0 0;
}

/* line 53, app/assets/stylesheets/stocks_preferences.scss */
.stock-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.25rem;
}

/* line 60, app/assets/stylesheets/stocks_preferences.scss */
.stock-info {
  flex: 1;
}

/* line 64, app/assets/stylesheets/stocks_preferences.scss */
.stock-symbol {
  font-size: 1.4rem;
  font-weight: 700;
  color: #00d4aa;
  margin: 0 0 0.25rem 0;
  line-height: 1.2;
}

/* line 72, app/assets/stylesheets/stocks_preferences.scss */
.stock-name {
  font-size: 0.9rem;
  color: #ffffff;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
  font-weight: 500;
}

/* line 81, app/assets/stylesheets/stocks_preferences.scss */
.stock-card .watchlist-badge {
  width: auto;
  padding: 0.1rem 0.5rem;
  gap: 0.25rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* line 92, app/assets/stylesheets/stocks_preferences.scss */
.stock-card.watchlist-card {
  border-color: rgba(139, 92, 246, 0.3);
  background: linear-gradient(145deg, #1a1535 0%, #2a1f3d 100%);
}

/* line 96, app/assets/stylesheets/stocks_preferences.scss */
.stock-card.watchlist-card::before {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.08) 0%, transparent 60%);
}

/* line 100, app/assets/stylesheets/stocks_preferences.scss */
.stock-card.watchlist-card:hover {
  border-color: rgba(139, 92, 246, 0.5);
  box-shadow: 0 12px 30px rgba(139, 92, 246, 0.2);
}

/* line 106, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-card-body {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(139, 92, 246, 0.15);
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 115, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-card-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

/* line 121, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-since-label {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
}

/* line 124, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-since-label i {
  color: #a78bfa;
  margin-right: 0.3rem;
}

/* line 127, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-card-pnl {
  font-size: 0.9rem;
  font-weight: 700;
}

/* line 130, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-card-pnl.positive {
  color: #00d4aa;
}

/* line 131, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-card-pnl.negative {
  color: #f87171;
}

/* line 134, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-ref-price-label {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.3);
}

/* line 139, app/assets/stylesheets/stocks_preferences.scss */
.stock-card small {
  color: #a0aec0;
  font-size: 0.75rem;
  font-weight: 400;
  opacity: 0.8;
}

/* line 146, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

/* line 153, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .btn-outline-primary {
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.3);
  color: #00d4aa;
  font-size: 0.875rem;
  padding: 0.5rem;
  border-radius: 8px;
  transition: all 0.2s ease;
}

/* line 162, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .btn-outline-primary:hover {
  background: rgba(0, 212, 170, 0.2);
  color: #08ffce;
  transform: translateY(-1px);
}

/* line 169, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu {
  background: #1a1f3a !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  border-radius: 8px !important;
  padding: 0.5rem 0 !important;
  min-width: 140px;
}

/* line 177, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  color: #f1f5f9 !important;
  background: transparent !important;
  transition: all 0.2s ease;
}

/* line 183, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu .dropdown-item.text-success {
  color: #48bb78 !important;
}

/* line 185, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu .dropdown-item.text-success:hover, .stock-actions .dropdown .dropdown-menu .dropdown-item.text-success:focus {
  background: rgba(72, 187, 120, 0.15) !important;
  color: #6dc993 !important;
}

/* line 191, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu .dropdown-item.text-danger {
  color: #f56565 !important;
}

/* line 193, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu .dropdown-item.text-danger:hover, .stock-actions .dropdown .dropdown-menu .dropdown-item.text-danger:focus {
  background: rgba(245, 101, 101, 0.15) !important;
  color: #f89595 !important;
}

/* line 199, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu .dropdown-item:disabled, .stock-actions .dropdown .dropdown-menu .dropdown-item.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 207, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu .dropdown-divider {
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 215, app/assets/stylesheets/stocks_preferences.scss */
.stock-card .dropdown-menu,
.stock-actions .dropdown-menu,
.transaction-dropdown-component .dropdown-menu {
  --bs-dropdown-bg: #1a1f3a;
  --bs-dropdown-border-color: rgba(255, 255, 255, 0.1);
  --bs-dropdown-link-color: #f1f5f9;
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.1);
  --bs-dropdown-link-hover-color: #ffffff;
  background: #1a1f3a !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* line 228, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component {
  margin-right: 0.25rem;
}

/* line 231, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .btn-outline-primary {
  background: rgba(0, 212, 170, 0.1) !important;
  border: 1px solid rgba(0, 212, 170, 0.3) !important;
  color: #00d4aa !important;
  font-size: 0.875rem;
  padding: 0.5rem;
  border-radius: 8px;
  transition: all 0.2s ease;
}

/* line 240, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .btn-outline-primary:hover {
  background: rgba(0, 212, 170, 0.2) !important;
  color: #08ffce !important;
  transform: translateY(-1px);
}

/* line 246, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .btn-outline-primary::after {
  display: none;
}

/* line 252, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu,
.transaction-dropdown-component ul.dropdown-menu,
.transaction-dropdown-component .dropdown-menu.show {
  --bs-dropdown-bg: #1a1f3a !important;
  --bs-dropdown-border-color: rgba(255, 255, 255, 0.15) !important;
  --bs-dropdown-link-color: #f1f5f9 !important;
  --bs-dropdown-link-hover-bg: transparent !important;
  --bs-dropdown-link-hover-color: #ffffff !important;
  background: #1a1f3a !important;
  background-color: #1a1f3a !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
  border-radius: 10px !important;
  padding: 0.5rem !important;
  min-width: 160px;
}

/* line 268, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu li,
.transaction-dropdown-component ul.dropdown-menu li,
.transaction-dropdown-component .dropdown-menu.show li {
  background: transparent !important;
}

/* line 272, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .dropdown-item,
.transaction-dropdown-component .dropdown-menu button.dropdown-item,
.transaction-dropdown-component ul.dropdown-menu .dropdown-item,
.transaction-dropdown-component ul.dropdown-menu button.dropdown-item,
.transaction-dropdown-component .dropdown-menu.show .dropdown-item,
.transaction-dropdown-component .dropdown-menu.show button.dropdown-item {
  padding: 0.6rem 1rem !important;
  border-radius: 6px !important;
  margin-bottom: 0.25rem;
  font-weight: 500;
  transition: all 0.2s ease;
  background: transparent !important;
  background-color: transparent !important;
}

/* line 282, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .dropdown-item:last-child,
.transaction-dropdown-component .dropdown-menu button.dropdown-item:last-child,
.transaction-dropdown-component ul.dropdown-menu .dropdown-item:last-child,
.transaction-dropdown-component ul.dropdown-menu button.dropdown-item:last-child,
.transaction-dropdown-component .dropdown-menu.show .dropdown-item:last-child,
.transaction-dropdown-component .dropdown-menu.show button.dropdown-item:last-child {
  margin-bottom: 0;
}

/* line 286, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .dropdown-item i,
.transaction-dropdown-component .dropdown-menu button.dropdown-item i,
.transaction-dropdown-component ul.dropdown-menu .dropdown-item i,
.transaction-dropdown-component ul.dropdown-menu button.dropdown-item i,
.transaction-dropdown-component .dropdown-menu.show .dropdown-item i,
.transaction-dropdown-component .dropdown-menu.show button.dropdown-item i {
  font-size: 0.85rem;
}

/* line 292, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .transaction-item-buy,
.transaction-dropdown-component .dropdown-menu button.transaction-item-buy,
.transaction-dropdown-component ul.dropdown-menu .transaction-item-buy,
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-buy,
.transaction-dropdown-component .dropdown-menu.show .transaction-item-buy,
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-buy {
  color: #48bb78 !important;
  border: 1px solid transparent !important;
  background: transparent !important;
}

/* line 298, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .transaction-item-buy:hover, .transaction-dropdown-component .dropdown-menu .transaction-item-buy:focus,
.transaction-dropdown-component .dropdown-menu button.transaction-item-buy:hover,
.transaction-dropdown-component .dropdown-menu button.transaction-item-buy:focus,
.transaction-dropdown-component ul.dropdown-menu .transaction-item-buy:hover,
.transaction-dropdown-component ul.dropdown-menu .transaction-item-buy:focus,
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-buy:hover,
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-buy:focus,
.transaction-dropdown-component .dropdown-menu.show .transaction-item-buy:hover,
.transaction-dropdown-component .dropdown-menu.show .transaction-item-buy:focus,
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-buy:hover,
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-buy:focus {
  background: rgba(72, 187, 120, 0.15) !important;
  border-color: rgba(72, 187, 120, 0.3) !important;
  color: #48bb78 !important;
}

/* line 306, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .transaction-item-sell,
.transaction-dropdown-component .dropdown-menu button.transaction-item-sell,
.transaction-dropdown-component ul.dropdown-menu .transaction-item-sell,
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-sell,
.transaction-dropdown-component .dropdown-menu.show .transaction-item-sell,
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-sell {
  color: #f56565 !important;
  border: 1px solid transparent !important;
  background: transparent !important;
}

/* line 312, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .transaction-item-sell:hover, .transaction-dropdown-component .dropdown-menu .transaction-item-sell:focus,
.transaction-dropdown-component .dropdown-menu button.transaction-item-sell:hover,
.transaction-dropdown-component .dropdown-menu button.transaction-item-sell:focus,
.transaction-dropdown-component ul.dropdown-menu .transaction-item-sell:hover,
.transaction-dropdown-component ul.dropdown-menu .transaction-item-sell:focus,
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-sell:hover,
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-sell:focus,
.transaction-dropdown-component .dropdown-menu.show .transaction-item-sell:hover,
.transaction-dropdown-component .dropdown-menu.show .transaction-item-sell:focus,
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-sell:hover,
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-sell:focus {
  background: rgba(245, 101, 101, 0.15) !important;
  border-color: rgba(245, 101, 101, 0.3) !important;
  color: #f56565 !important;
}

/* line 318, app/assets/stylesheets/stocks_preferences.scss */
.transaction-dropdown-component .dropdown-menu .transaction-item-sell:disabled, .transaction-dropdown-component .dropdown-menu .transaction-item-sell[disabled],
.transaction-dropdown-component .dropdown-menu button.transaction-item-sell:disabled,
.transaction-dropdown-component .dropdown-menu button.transaction-item-sell[disabled],
.transaction-dropdown-component ul.dropdown-menu .transaction-item-sell:disabled,
.transaction-dropdown-component ul.dropdown-menu .transaction-item-sell[disabled],
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-sell:disabled,
.transaction-dropdown-component ul.dropdown-menu button.transaction-item-sell[disabled],
.transaction-dropdown-component .dropdown-menu.show .transaction-item-sell:disabled,
.transaction-dropdown-component .dropdown-menu.show .transaction-item-sell[disabled],
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-sell:disabled,
.transaction-dropdown-component .dropdown-menu.show button.transaction-item-sell[disabled] {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 327, app/assets/stylesheets/stocks_preferences.scss */
.remove-stock-btn {
  background: rgba(245, 101, 101, 0.1);
  border: 1px solid rgba(245, 101, 101, 0.3);
  color: #f56565;
  font-size: 0.875rem;
  padding: 0.5rem;
  border-radius: 8px;
  transition: all 0.2s ease;
  cursor: pointer;
}

/* line 337, app/assets/stylesheets/stocks_preferences.scss */
.remove-stock-btn:hover {
  background: rgba(245, 101, 101, 0.2);
  color: #f89595;
  transform: translateY(-1px);
}

/* line 345, app/assets/stylesheets/stocks_preferences.scss */
.stock-inputs-container {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 352, app/assets/stylesheets/stocks_preferences.scss */
.stock-inputs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
}

/* line 359, app/assets/stylesheets/stocks_preferences.scss */
.stock-shares {
  flex: 1;
  min-width: 120px;
}

/* line 364, app/assets/stylesheets/stocks_preferences.scss */
.stock-purchase-price {
  flex: 1;
  min-width: 140px;
}

/* line 369, app/assets/stylesheets/stocks_preferences.scss */
.stock-save-actions {
  display: flex;
  align-items: flex-end;
}

/* line 373, app/assets/stylesheets/stocks_preferences.scss */
.stock-save-actions .save-stock-btn {
  white-space: nowrap;
  padding: 0.5rem 0.75rem;
  font-size: 0.8rem;
}

/* line 381, app/assets/stylesheets/stocks_preferences.scss */
.position-value-display {
  margin-top: 0.5rem;
  padding: 0.4rem 0.6rem;
  background: rgba(0, 212, 170, 0.08);
  border-radius: 6px;
  border-left: 2px solid rgba(0, 212, 170, 0.4);
}

/* line 388, app/assets/stylesheets/stocks_preferences.scss */
.position-value-display small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 395, app/assets/stylesheets/stocks_preferences.scss */
.position-value-display small i {
  color: #00d4aa;
  font-size: 0.75rem;
}

/* line 400, app/assets/stylesheets/stocks_preferences.scss */
.position-value-display small strong {
  color: #00d4aa;
  font-weight: 600;
}

/* line 407, app/assets/stylesheets/stocks_preferences.scss */
.form-label {
  font-size: 0.875rem;
  color: #ffffff;
  margin-bottom: 0.5rem;
  display: block;
  font-weight: 600;
  opacity: 0.9;
}

/* line 415, app/assets/stylesheets/stocks_preferences.scss */
.form-label i {
  margin-right: 0.5rem;
  color: #00d4aa;
}

/* line 420, app/assets/stylesheets/stocks_preferences.scss */
.form-label .currency-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.4rem;
  font-weight: 700;
  color: #00d4aa;
  font-style: normal;
}

/* line 433, app/assets/stylesheets/stocks_preferences.scss */
.shares-input-group,
.purchase-price-input-group {
  display: flex;
  align-items: center;
}

/* line 439, app/assets/stylesheets/stocks_preferences.scss */
.shares-input,
.purchase-price-input {
  flex: 1;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  color: #ffffff;
  font-size: 0.875rem;
  transition: all 0.2s ease;
  width: 100%;
}

/* line 451, app/assets/stylesheets/stocks_preferences.scss */
.shares-input:focus,
.purchase-price-input:focus {
  outline: none;
  border-color: #00d4aa;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 2px rgba(0, 212, 170, 0.2);
}

/* line 458, app/assets/stylesheets/stocks_preferences.scss */
.shares-input::placeholder,
.purchase-price-input::placeholder {
  color: #a0aec0;
}

/* line 462, app/assets/stylesheets/stocks_preferences.scss */
.shares-input.is-invalid,
.purchase-price-input.is-invalid {
  border-color: #f56565;
}

/* line 465, app/assets/stylesheets/stocks_preferences.scss */
.shares-input.is-invalid:focus,
.purchase-price-input.is-invalid:focus {
  box-shadow: 0 0 0 2px rgba(245, 101, 101, 0.2);
}

/* line 473, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .form-text.text-warning-subtle {
  background: rgba(237, 137, 54, 0.1);
  border: 1px solid rgba(237, 137, 54, 0.2);
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  margin-top: 0.5rem;
  color: #ed8936 !important;
}

/* line 481, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .form-text.text-warning-subtle i {
  color: #ed8936;
  margin-right: 0.25rem;
}

/* line 486, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .form-text.text-warning-subtle strong {
  color: #ed8936;
}

/* line 491, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .currency-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #00d4aa;
  font-style: normal;
}

/* line 500, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .input-group-text {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #00d4aa;
  font-weight: 600;
  min-width: 40px;
  justify-content: center;
}

/* line 510, app/assets/stylesheets/stocks_preferences.scss */
.save-btn, .save-all-btn {
  background: #00d4aa;
  border: none;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: none;
}

/* line 522, app/assets/stylesheets/stocks_preferences.scss */
.save-btn:hover, .save-all-btn:hover {
  background: #00a181;
  transform: translateY(-1px);
}

/* line 527, app/assets/stylesheets/stocks_preferences.scss */
.save-btn:active, .save-all-btn:active {
  transform: translateY(0);
}

/* line 531, app/assets/stylesheets/stocks_preferences.scss */
.save-btn.show, .show.save-all-btn {
  display: inline-block;
}

/* line 536, app/assets/stylesheets/stocks_preferences.scss */
.save-single-btn {
  background: #48bb78;
  border: 1px solid #48bb78;
  color: white;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: none;
}

/* line 548, app/assets/stylesheets/stocks_preferences.scss */
.save-single-btn:hover {
  background: #389860;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(72, 187, 120, 0.3);
}

/* line 554, app/assets/stylesheets/stocks_preferences.scss */
.save-single-btn:active {
  transform: translateY(0);
}

/* line 558, app/assets/stylesheets/stocks_preferences.scss */
.save-single-btn.show {
  display: inline-block;
}

/* line 563, app/assets/stylesheets/stocks_preferences.scss */
.save-all-btn {
  background: #ed8936;
  margin-top: 1rem;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
}

/* line 571, app/assets/stylesheets/stocks_preferences.scss */
.save-all-btn:hover {
  background: #dc6f14;
}

/* line 577, app/assets/stylesheets/stocks_preferences.scss */
.search-results {
  background: #1a1f3a;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  max-height: 400px;
  overflow-y: auto;
  margin-top: 0.5rem;
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 100002;
}

/* line 592, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form [data-search-target="button"] {
  display: none !important;
}

/* line 596, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form .flex-grow-1.position-relative {
  flex: 1 1 100%;
}

/* line 600, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form [data-search-target="results"] {
  position: relative !important;
  width: 100%;
  margin-top: 0.5rem;
}

/* line 608, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

/* line 615, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateX(4px);
}

/* line 620, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item:last-child {
  border-bottom: none;
}

/* line 625, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-internal {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.05) 0%, rgba(0, 212, 170, 0.02) 100%);
  border-left: 3px solid rgba(0, 212, 170, 0.3);
}

/* line 629, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-internal:hover {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1) 0%, rgba(0, 212, 170, 0.05) 100%);
  border-left-color: rgba(0, 212, 170, 0.5);
}

/* line 636, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-external {
  background: rgba(255, 255, 255, 0.02);
}

/* line 639, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-external:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 645, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(234, 179, 8, 0.08) 100%);
  border-left: 3px solid #f59e0b;
}

/* line 649, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto:hover {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.22) 0%, rgba(234, 179, 8, 0.12) 100%);
  border-left-color: #fbbf24;
}

/* line 655, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto .asset-type-badge.asset-type-crypto {
  background: linear-gradient(135deg, #f59e0b, #eab308);
  color: #1a1a2e;
  border: none;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  font-size: 0.7rem;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

/* line 664, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto .asset-type-badge.asset-type-crypto i {
  color: #1a1a2e;
}

/* line 672, app/assets/stylesheets/stocks_preferences.scss */
.crypto-symbol {
  color: #fbbf24 !important;
  background: rgba(245, 158, 11, 0.25) !important;
  font-weight: 700 !important;
}

/* line 679, app/assets/stylesheets/stocks_preferences.scss */
.btn-crypto {
  background: linear-gradient(135deg, #f59e0b, #eab308) !important;
  color: #1a1a2e !important;
  border: none !important;
  font-weight: 700;
}

/* line 685, app/assets/stylesheets/stocks_preferences.scss */
.btn-crypto:hover {
  background: linear-gradient(135deg, #fbbf24, #f59e0b) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
  color: #1a1a2e !important;
}

/* line 694, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item .asset-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-left: 0.5rem;
}

/* line 706, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item .asset-type-badge i {
  font-size: 0.6rem;
}

/* line 711, app/assets/stylesheets/stocks_preferences.scss */
.stock-info-container {
  flex: 1;
  min-width: 0;
}

/* line 716, app/assets/stylesheets/stocks_preferences.scss */
.stock-name-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 723, app/assets/stylesheets/stocks_preferences.scss */
.stock-name {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  margin: 0;
  margin-top: 0.5rem;
}

/* line 732, app/assets/stylesheets/stocks_preferences.scss */
.super-stock-indicator {
  font-size: 0.9rem;
  opacity: 0.8;
  transition: all 0.2s ease;
}

/* line 737, app/assets/stylesheets/stocks_preferences.scss */
.super-stock-indicator:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* line 743, app/assets/stylesheets/stocks_preferences.scss */
.stock-details {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 750, app/assets/stylesheets/stocks_preferences.scss */
.stock-symbol {
  font-size: 0.875rem;
  font-weight: 600;
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px solid rgba(0, 212, 170, 0.2);
  margin-top: 0.5rem;
}

/* line 761, app/assets/stylesheets/stocks_preferences.scss */
.stock-separator {
  color: #a0aec0;
  font-weight: 300;
  opacity: 0.6;
}

/* line 767, app/assets/stylesheets/stocks_preferences.scss */
.stock-exchange {
  font-size: 0.875rem;
  color: #a0aec0;
  font-weight: 400;
}

/* line 774, app/assets/stylesheets/stocks_preferences.scss */
.search-result-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
  align-items: center;
}

/* line 780, app/assets/stylesheets/stocks_preferences.scss */
.search-result-actions .btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px !important;
  flex-shrink: 0;
}

/* line 792, app/assets/stylesheets/stocks_preferences.scss */
.btn-watchlist-add {
  background: rgba(139, 92, 246, 0.15) !important;
  border: 1px solid rgba(139, 92, 246, 0.35) !important;
  color: #a78bfa !important;
  border-radius: 8px !important;
}

/* line 798, app/assets/stylesheets/stocks_preferences.scss */
.btn-watchlist-add:hover {
  background: rgba(139, 92, 246, 0.28) !important;
  color: #c4b5fd !important;
}

/* line 804, app/assets/stylesheets/stocks_preferences.scss */
.btn-add-owned {
  background: rgba(25, 205, 165, 0.15) !important;
  border: 1px solid rgba(25, 205, 165, 0.35) !important;
  color: #19cda5 !important;
  border-radius: 8px !important;
}

/* line 810, app/assets/stylesheets/stocks_preferences.scss */
.btn-add-owned:hover {
  background: rgba(25, 205, 165, 0.28) !important;
}

/* line 815, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn {
  background: rgba(0, 212, 170, 0.1);
  border: 1px solid rgba(0, 212, 170, 0.3);
  color: #00d4aa;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 826, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn i {
  margin-right: 0.25rem;
  font-size: 0.75rem;
}

/* line 831, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn:hover {
  background: rgba(0, 212, 170, 0.2);
  border-color: rgba(0, 212, 170, 0.5);
  color: #08ffce;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 212, 170, 0.2);
}

/* line 839, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn:active {
  transform: translateY(0);
}

/* line 845, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal {
  margin-top: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(0, 212, 170, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(0, 212, 170, 0.2);
}

/* line 852, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal i {
  color: #00d4aa;
  margin-right: 0.25rem;
}

/* line 857, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal strong {
  color: #00d4aa;
  font-size: 1rem;
  margin-left: 0.25rem;
}

/* line 866, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .asset-type-badge {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  vertical-align: middle;
}

/* line 871, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .asset-type-badge.asset-type-crypto {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25), rgba(234, 179, 8, 0.15));
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

/* line 880, app/assets/stylesheets/stocks_preferences.scss */
.search-result-item {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

/* line 886, app/assets/stylesheets/stocks_preferences.scss */
.search-result-item:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 890, app/assets/stylesheets/stocks_preferences.scss */
.search-result-item:last-child {
  border-bottom: none;
}

/* line 895, app/assets/stylesheets/stocks_preferences.scss */
.search-result-symbol {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.25rem;
}

/* line 901, app/assets/stylesheets/stocks_preferences.scss */
.search-result-name {
  font-size: 0.875rem;
  color: #a0aec0;
}

/* line 907, app/assets/stylesheets/stocks_preferences.scss */
.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  background: linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 915, app/assets/stylesheets/stocks_preferences.scss */
.empty-icon {
  width: 60px;
  height: 60px;
  background: rgba(0, 212, 170, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  font-size: 1.5rem;
  color: #00d4aa;
}

/* line 928, app/assets/stylesheets/stocks_preferences.scss */
.empty-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

/* line 935, app/assets/stylesheets/stocks_preferences.scss */
.empty-description {
  color: #a0aec0;
  margin-bottom: 1.5rem;
}

/* line 941, app/assets/stylesheets/stocks_preferences.scss */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

/* line 946, app/assets/stylesheets/stocks_preferences.scss */
.loading-spinner {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  border-top-color: #00d4aa;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* line 963, app/assets/stylesheets/stocks_preferences.scss */
.notification {
  position: fixed;
  top: 80px;
  right: 20px;
  z-index: 1050;
  min-width: 300px;
  max-width: 500px;
}

@media (max-width: 1024px) and (min-width: 481px) {
  /* line 974, app/assets/stylesheets/stocks_preferences.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem;
  }
  /* line 979, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    padding: 0.75rem;
    position: relative;
  }
  /* line 983, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 988, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info {
    padding-right: 35px;
  }
  /* line 991, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .stock-symbol {
    font-size: 0.75rem;
    padding: 0.15rem 0.4rem;
  }
  /* line 996, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .stock-name {
    font-size: 0.8rem;
    margin: 0.25rem 0;
  }
  /* line 1001, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .text-muted {
    font-size: 0.65rem;
  }
  /* line 1006, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  /* line 1015, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions .remove-stock-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
  }
  /* line 1028, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions .remove-stock-btn i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }
  /* line 1036, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions .transaction-dropdown-component .btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
  }
  /* line 1047, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions .transaction-dropdown-component .btn i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }
  /* line 1052, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions .transaction-dropdown-component .btn::after {
    display: none !important;
  }
  /* line 1061, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .form-label {
    font-size: 0.75rem;
  }
  /* line 1065, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .shares-input {
    font-size: 0.85rem;
    padding: 0.4rem 0.6rem;
  }
  /* line 1072, app/assets/stylesheets/stocks_preferences.scss */
  .search-results {
    max-height: 350px;
  }
}

@media (max-width: 480px) {
  /* line 1080, app/assets/stylesheets/stocks_preferences.scss */
  .stocks-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
    padding: 0 0.25rem;
  }
  /* line 1087, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    padding: 0.875rem 0.875rem 0.75rem;
  }
  /* line 1091, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 0.5rem;
    margin-bottom: 0.875rem;
  }
  /* line 1100, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info {
    flex: 1;
    min-width: 0;
  }
  /* line 1104, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .stock-symbol-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.2rem;
  }
  /* line 1112, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .stock-symbol {
    font-size: 0.78rem;
    padding: 0.18rem 0.42rem;
    letter-spacing: 0.01em;
  }
  /* line 1118, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .watchlist-badge {
    font-size: 0.62rem;
    padding: 0.12rem 0.4rem;
  }
  /* line 1123, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .asset-type-badge {
    font-size: 0.6rem;
    padding: 0.1rem 0.35rem;
  }
  /* line 1128, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .stock-name {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 0.15rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* line 1138, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info small.text-muted {
    font-size: 0.7rem;
    opacity: 0.75;
  }
  /* line 1143, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .ai-analysis-badge {
    font-size: 0.55rem;
    padding: 0.1rem 0.28rem;
    margin-top: 0.2rem;
  }
  /* line 1151, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    flex-shrink: 0 !important;
    width: auto !important;
  }
  /* line 1159, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .remove-stock-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
  }
  /* line 1171, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .remove-stock-btn i {
    font-size: 0.68rem !important;
    margin: 0 !important;
  }
  /* line 1174, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component {
    margin: 0 !important;
  }
  /* line 1176, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component .btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
  }
  /* line 1189, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component .btn i {
    font-size: 0.68rem !important;
    margin: 0 !important;
  }
  /* line 1190, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component .btn::after {
    display: none !important;
  }
  /* line 1196, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-card-body {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 1201, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-since-label {
    font-size: 0.72rem;
  }
  /* line 1202, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-card-pnl {
    font-size: 0.88rem;
  }
  /* line 1203, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-ref-price-label {
    font-size: 0.68rem;
  }
  /* line 1206, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-inputs-container {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 1211, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-inputs-row {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.5rem;
    align-items: flex-end;
  }
  /* line 1218, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares,
.stock-card .stock-purchase-price {
    flex: 1;
    min-width: 0;
  }
  /* line 1223, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .form-label,
.stock-card .stock-purchase-price .form-label {
    font-size: 0.72rem;
    margin-bottom: 0.25rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* line 1232, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .form-label i, .stock-card .stock-shares .form-label .currency-icon,
.stock-card .stock-purchase-price .form-label i,
.stock-card .stock-purchase-price .form-label .currency-icon {
    font-size: 0.68rem;
    flex-shrink: 0;
  }
  /* line 1235, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .form-control,
.stock-card .stock-purchase-price .form-control {
    font-size: 0.88rem;
    padding: 0.45rem 0.55rem;
    height: 40px;
  }
  /* line 1242, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-save-actions {
    flex-shrink: 0;
    align-self: flex-end;
  }
  /* line 1246, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-save-actions .save-stock-btn {
    white-space: nowrap;
    font-size: 0.78rem;
    padding: 0.42rem 0.65rem;
    height: 40px;
  }
  /* line 1254, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .position-value-display {
    margin-top: 0.5rem;
    padding: 0.35rem 0.55rem;
  }
  /* line 1258, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .position-value-display small {
    font-size: 0.78rem;
  }
  /* line 1265, app/assets/stylesheets/stocks_preferences.scss */
  .search-results {
    max-height: 300px;
  }
  /* line 1269, app/assets/stylesheets/stocks_preferences.scss */
  .stock-result-item {
    padding: 0.45rem 0.55rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    min-height: 44px !important;
  }
  /* line 1277, app/assets/stylesheets/stocks_preferences.scss */
  .stock-info-container {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.05rem !important;
  }
  /* line 1285, app/assets/stylesheets/stocks_preferences.scss */
  .stock-name-container {
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
  }
  /* line 1292, app/assets/stylesheets/stocks_preferences.scss */
  .stock-name {
    font-size: 0.78rem !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }
  /* line 1298, app/assets/stylesheets/stocks_preferences.scss */
  .stock-details {
    display: flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 1305, app/assets/stylesheets/stocks_preferences.scss */
  .stock-symbol {
    font-size: 0.62rem !important;
    padding: 0.06rem 0.22rem !important;
    margin: 0 !important;
  }
  /* line 1311, app/assets/stylesheets/stocks_preferences.scss */
  .stock-exchange {
    font-size: 0.58rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 70px !important;
  }
  /* line 1319, app/assets/stylesheets/stocks_preferences.scss */
  .stock-separator {
    display: none !important;
  }
  /* line 1321, app/assets/stylesheets/stocks_preferences.scss */
  .add-stock-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    position: relative !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
  }
  /* line 1334, app/assets/stylesheets/stocks_preferences.scss */
  .add-stock-btn i {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 0.95rem !important;
    margin: 0 !important;
    text-indent: 0 !important;
  }
  /* line 1345, app/assets/stylesheets/stocks_preferences.scss */
  .ai-analysis-badge {
    display: none !important;
  }
  /* line 1347, app/assets/stylesheets/stocks_preferences.scss */
  .save-single-btn {
    width: 100%;
    margin-top: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 1355, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card,
.save-btn,
.save-all-btn,
.search-result-item {
    transition: none;
  }
  /* line 1361, app/assets/stylesheets/stocks_preferences.scss */
  .loading-spinner {
    animation: none;
  }
}

/* line 1367, app/assets/stylesheets/stocks_preferences.scss */
.stock-card:focus-within {
  outline: 2px solid #00d4aa;
  outline-offset: 2px;
}

/* line 1372, app/assets/stylesheets/stocks_preferences.scss */
.shares-input:focus,
.save-btn:focus,
.save-all-btn:focus,
.remove-btn:focus {
  outline: 2px solid #00d4aa;
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  /* line 1383, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    border-width: 2px;
  }
  /* line 1387, app/assets/stylesheets/stocks_preferences.scss */
  .shares-input {
    border-width: 2px;
  }
}

/* line 1397, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.06);
}

/* line 1402, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-card:hover {
  box-shadow: 0 12px 30px rgba(0, 160, 128, 0.15);
  border-color: rgba(0, 160, 128, 0.4);
}

/* line 1409, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-name {
  color: var(--text-primary);
}

/* line 1414, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-card small {
  color: var(--text-muted);
}

/* line 1419, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .shares-input,
[data-theme="light"] .purchase-price-input {
  background: var(--bg-input);
  border-color: var(--border-color);
  color: var(--text-primary);
}

/* line 1425, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .shares-input:focus,
[data-theme="light"] .purchase-price-input:focus {
  background: var(--bg-input);
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px rgba(0, 160, 128, 0.2);
}

/* line 1431, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .shares-input::placeholder,
[data-theme="light"] .purchase-price-input::placeholder {
  color: var(--text-muted);
}

/* line 1437, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-inputs-container {
  border-top-color: var(--border-color);
}

/* line 1442, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .form-label {
  color: var(--text-primary);
}

/* line 1447, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-card .dropdown-menu,
[data-theme="light"] .stock-actions .dropdown-menu,
[data-theme="light"] .transaction-dropdown-component .dropdown-menu {
  --bs-dropdown-bg: var(--bg-card-solid);
  --bs-dropdown-border-color: var(--border-color);
  --bs-dropdown-link-color: var(--text-primary);
  --bs-dropdown-link-hover-bg: var(--bg-secondary);
  --bs-dropdown-link-hover-color: var(--text-primary);
  background: var(--bg-card-solid) !important;
  background-color: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* line 1462, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .transaction-dropdown-component .dropdown-menu,
[data-theme="light"] .transaction-dropdown-component ul.dropdown-menu,
[data-theme="light"] .transaction-dropdown-component .dropdown-menu.show {
  --bs-dropdown-bg: var(--bg-card-solid) !important;
  --bs-dropdown-border-color: var(--border-color) !important;
  --bs-dropdown-link-color: var(--text-primary) !important;
  --bs-dropdown-link-hover-bg: var(--bg-secondary) !important;
  --bs-dropdown-link-hover-color: var(--text-primary) !important;
  background: var(--bg-card-solid) !important;
  background-color: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* line 1475, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .transaction-dropdown-component .dropdown-menu .dropdown-item,
[data-theme="light"] .transaction-dropdown-component .dropdown-menu button.dropdown-item,
[data-theme="light"] .transaction-dropdown-component ul.dropdown-menu .dropdown-item,
[data-theme="light"] .transaction-dropdown-component ul.dropdown-menu button.dropdown-item,
[data-theme="light"] .transaction-dropdown-component .dropdown-menu.show .dropdown-item,
[data-theme="light"] .transaction-dropdown-component .dropdown-menu.show button.dropdown-item {
  color: var(--text-primary) !important;
}

/* line 1483, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .dropdown-divider {
  border-color: var(--border-color);
}

/* line 1488, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-results {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

/* line 1494, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item {
  border-bottom-color: var(--border-color);
}

/* line 1497, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item:hover {
  background: var(--bg-secondary);
}

/* line 1501, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item.stock-result-external {
  background: transparent;
}

/* line 1504, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item.stock-result-external:hover {
  background: var(--bg-secondary);
}

/* line 1511, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-state {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 1516, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-title {
  color: var(--text-primary);
}

/* line 1520, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-description {
  color: var(--text-muted);
}

/* line 1525, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .loading-spinner {
  border-color: var(--border-color);
  border-top-color: var(--accent-primary);
}

/* line 1531, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .position-value-display small {
  color: var(--text-secondary);
}

/* line 1536, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-item {
  border-bottom-color: var(--border-color);
}

/* line 1539, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-item:hover {
  background: var(--bg-secondary);
}

/* line 1544, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-symbol {
  color: var(--text-primary);
}

/* line 1548, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-name {
  color: var(--text-muted);
}

/* line 1554, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] #shareQuantityModal .input-group-text {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1561, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-separator {
  color: var(--text-muted);
}

/* line 1565, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-exchange {
  color: var(--text-muted);
}

/* line 1574, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal {
  z-index: 1070 !important;
}

/* line 1577, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal.modal {
  z-index: 1070 !important;
}

/* line 1581, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal.show {
  z-index: 1070 !important;
}

/* line 1585, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal .modal-dialog {
  z-index: 1071 !important;
}

/* line 1589, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal .modal-content {
  z-index: 1072 !important;
  position: relative;
}
/* line 4, app/assets/stylesheets/blog.scss */
.blog-hero-section {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 80px 0;
  margin-bottom: 0;
}

/* line 11, app/assets/stylesheets/blog.scss */
.blog-hero-title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* line 17, app/assets/stylesheets/blog.scss */
.blog-hero-subtitle {
  font-size: 1.2rem;
  opacity: 0.9;
  margin-bottom: 0;
}

/* line 24, app/assets/stylesheets/blog.scss */
.blog-search-section {
  background: #f8f9fa;
  padding: 2rem;
  border-radius: 10px;
  margin-bottom: 2rem;
}

/* line 31, app/assets/stylesheets/blog.scss */
.blog-search-form .input-group {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

/* line 38, app/assets/stylesheets/blog.scss */
.featured-article-card {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

/* line 47, app/assets/stylesheets/blog.scss */
.featured-article-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
}

/* line 52, app/assets/stylesheets/blog.scss */
.featured-image {
  height: 200px;
  overflow: hidden;
}

/* line 57, app/assets/stylesheets/blog.scss */
.featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 63, app/assets/stylesheets/blog.scss */
.article-content {
  padding: 1.5rem;
}

/* line 67, app/assets/stylesheets/blog.scss */
.article-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

/* line 75, app/assets/stylesheets/blog.scss */
.category {
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-weight: 500;
}

/* line 83, app/assets/stylesheets/blog.scss */
.date {
  color: #666;
}

/* line 87, app/assets/stylesheets/blog.scss */
.article-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  line-height: 1.4;
}

/* line 94, app/assets/stylesheets/blog.scss */
.article-title a {
  color: #333;
  transition: color 0.3s ease;
}

/* line 99, app/assets/stylesheets/blog.scss */
.article-title a:hover {
  color: #1976d2;
}

/* line 103, app/assets/stylesheets/blog.scss */
.article-excerpt {
  color: #666;
  margin-bottom: 1rem;
  line-height: 1.6;
}

/* line 109, app/assets/stylesheets/blog.scss */
.article-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
}

/* line 116, app/assets/stylesheets/blog.scss */
.author {
  color: #666;
  font-weight: 500;
}

/* line 121, app/assets/stylesheets/blog.scss */
.reading-time {
  color: #999;
}

/* line 126, app/assets/stylesheets/blog.scss */
.article-card {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

/* line 134, app/assets/stylesheets/blog.scss */
.article-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* line 139, app/assets/stylesheets/blog.scss */
.article-card-body {
  padding: 1.5rem;
}

/* line 143, app/assets/stylesheets/blog.scss */
.article-stats {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 149, app/assets/stylesheets/blog.scss */
.views {
  color: #666;
  font-size: 0.9rem;
}

/* line 155, app/assets/stylesheets/blog.scss */
.blog-sidebar {
  position: sticky;
  top: 2rem;
}

/* line 160, app/assets/stylesheets/blog.scss */
.sidebar-widget {
  background: white;
  border-radius: 10px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 167, app/assets/stylesheets/blog.scss */
.widget-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #333;
}

/* line 174, app/assets/stylesheets/blog.scss */
.category-list, .author-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 180, app/assets/stylesheets/blog.scss */
.category-list li, .author-list li {
  margin-bottom: 0.75rem;
}

/* line 184, app/assets/stylesheets/blog.scss */
.category-link, .author-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #666;
  text-decoration: none;
  transition: color 0.3s ease;
  padding: 0.5rem 0;
}

/* line 194, app/assets/stylesheets/blog.scss */
.category-link:hover, .author-link:hover {
  color: #1976d2;
}

/* line 198, app/assets/stylesheets/blog.scss */
.category-count, .author-count {
  color: #999;
  font-size: 0.9rem;
}

/* line 204, app/assets/stylesheets/blog.scss */
.popular-article-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #eee;
}

/* line 212, app/assets/stylesheets/blog.scss */
.popular-article-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* line 218, app/assets/stylesheets/blog.scss */
.article-number {
  background: #1976d2;
  color: white;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 600;
  margin-right: 1rem;
  flex-shrink: 0;
}

/* line 233, app/assets/stylesheets/blog.scss */
.article-info {
  flex: 1;
}

/* line 237, app/assets/stylesheets/blog.scss */
.article-info .article-title {
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

/* line 244, app/assets/stylesheets/blog.scss */
.article-info .article-meta {
  font-size: 0.8rem;
  color: #666;
}

/* line 250, app/assets/stylesheets/blog.scss */
.newsletter-widget {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

/* line 255, app/assets/stylesheets/blog.scss */
.newsletter-widget .widget-title {
  color: white;
}

/* line 259, app/assets/stylesheets/blog.scss */
.newsletter-form .input-group {
  margin-top: 1rem;
}

/* line 263, app/assets/stylesheets/blog.scss */
.newsletter-form .form-control {
  border: none;
  border-radius: 6px 0 0 6px;
}

/* line 268, app/assets/stylesheets/blog.scss */
.newsletter-form .btn {
  border-radius: 0 6px 6px 0;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}

/* line 275, app/assets/stylesheets/blog.scss */
.newsletter-form .btn:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* line 280, app/assets/stylesheets/blog.scss */
.blog-article-header {
  background: #f8f9fa;
  padding: 2rem 0;
  border-bottom: 1px solid #e9ecef;
}

/* line 286, app/assets/stylesheets/blog.scss */
.blog-breadcrumb {
  margin-bottom: 1rem;
}

/* line 290, app/assets/stylesheets/blog.scss */
.blog-breadcrumb .breadcrumb {
  background: none;
  padding: 0;
  margin: 0;
}

/* line 296, app/assets/stylesheets/blog.scss */
.blog-breadcrumb .breadcrumb-item a {
  color: #666;
  text-decoration: none;
}

/* line 301, app/assets/stylesheets/blog.scss */
.blog-breadcrumb .breadcrumb-item a:hover {
  color: #1976d2;
}

/* line 305, app/assets/stylesheets/blog.scss */
.article-meta-info {
  margin-bottom: 1.5rem;
}

/* line 309, app/assets/stylesheets/blog.scss */
.article-category {
  margin-bottom: 0.5rem;
}

/* line 313, app/assets/stylesheets/blog.scss */
.category-badge {
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: 500;
  font-size: 0.9rem;
}

/* line 322, app/assets/stylesheets/blog.scss */
.article-details {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.9rem;
  color: #666;
}

/* line 330, app/assets/stylesheets/blog.scss */
.article-details span {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 336, app/assets/stylesheets/blog.scss */
.article-title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
  color: #333;
}

/* line 344, app/assets/stylesheets/blog.scss */
.article-excerpt {
  font-size: 1.2rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 2rem;
}

/* line 351, app/assets/stylesheets/blog.scss */
.featured-image {
  margin-bottom: 2rem;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* line 358, app/assets/stylesheets/blog.scss */
.featured-image img {
  width: 100%;
  height: auto;
}

/* line 364, app/assets/stylesheets/blog.scss */
.blog-article {
  background: white;
  border-radius: 10px;
  padding: 2rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
}

/* line 372, app/assets/stylesheets/blog.scss */
.article-content {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #333;
}

/* line 378, app/assets/stylesheets/blog.scss */
.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #333;
}

/* line 390, app/assets/stylesheets/blog.scss */
.article-content h2 {
  font-size: 1.8rem;
  border-bottom: 2px solid #e9ecef;
  padding-bottom: 0.5rem;
}

/* line 396, app/assets/stylesheets/blog.scss */
.article-content h3 {
  font-size: 1.5rem;
}

/* line 400, app/assets/stylesheets/blog.scss */
.article-content p {
  margin-bottom: 1.5rem;
}

/* line 404, app/assets/stylesheets/blog.scss */
.article-content ul,
.article-content ol {
  margin-bottom: 1.5rem;
  padding-left: 2rem;
}

/* line 410, app/assets/stylesheets/blog.scss */
.article-content li {
  margin-bottom: 0.5rem;
}

/* line 414, app/assets/stylesheets/blog.scss */
.article-content blockquote {
  border-left: 4px solid #1976d2;
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: #666;
}

/* line 422, app/assets/stylesheets/blog.scss */
.article-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1rem 0;
}

/* line 429, app/assets/stylesheets/blog.scss */
.article-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}

/* line 435, app/assets/stylesheets/blog.scss */
.article-content table th,
.article-content table td {
  border: 1px solid #e9ecef;
  padding: 0.75rem;
  text-align: left;
}

/* line 442, app/assets/stylesheets/blog.scss */
.article-content table th {
  background: #f8f9fa;
  font-weight: 600;
}

/* line 448, app/assets/stylesheets/blog.scss */
.article-tags {
  margin: 2rem 0;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 8px;
}

/* line 455, app/assets/stylesheets/blog.scss */
.article-tags h4 {
  margin-bottom: 1rem;
  color: #333;
}

/* line 460, app/assets/stylesheets/blog.scss */
.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 466, app/assets/stylesheets/blog.scss */
.tag {
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 500;
}

/* line 476, app/assets/stylesheets/blog.scss */
.article-footer {
  border-top: 1px solid #e9ecef;
  padding-top: 2rem;
  margin-top: 2rem;
}

/* line 482, app/assets/stylesheets/blog.scss */
.article-actions {
  margin-bottom: 2rem;
}

/* line 486, app/assets/stylesheets/blog.scss */
.article-actions .btn {
  margin-right: 1rem;
}

/* line 490, app/assets/stylesheets/blog.scss */
.article-author-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 8px;
}

/* line 499, app/assets/stylesheets/blog.scss */
.author-avatar {
  font-size: 3rem;
  color: #666;
}

/* line 504, app/assets/stylesheets/blog.scss */
.author-details h5 {
  margin-bottom: 0.25rem;
  color: #333;
}

/* line 509, app/assets/stylesheets/blog.scss */
.author-details p {
  margin: 0;
  color: #666;
  font-size: 0.9rem;
}

/* line 516, app/assets/stylesheets/blog.scss */
.related-articles {
  margin-top: 3rem;
}

/* line 520, app/assets/stylesheets/blog.scss */
.related-articles h3 {
  margin-bottom: 2rem;
  color: #333;
}

/* line 525, app/assets/stylesheets/blog.scss */
.related-article-card {
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

/* line 534, app/assets/stylesheets/blog.scss */
.related-article-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* line 539, app/assets/stylesheets/blog.scss */
.related-image {
  height: 150px;
  overflow: hidden;
}

/* line 544, app/assets/stylesheets/blog.scss */
.related-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 550, app/assets/stylesheets/blog.scss */
.related-content {
  padding: 1.5rem;
}

/* line 554, app/assets/stylesheets/blog.scss */
.related-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

/* line 562, app/assets/stylesheets/blog.scss */
.related-meta .category {
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-weight: 500;
}

/* line 570, app/assets/stylesheets/blog.scss */
.related-meta .date {
  color: #666;
}

/* line 574, app/assets/stylesheets/blog.scss */
.related-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  line-height: 1.4;
}

/* line 581, app/assets/stylesheets/blog.scss */
.related-title a {
  color: #333;
  transition: color 0.3s ease;
}

/* line 586, app/assets/stylesheets/blog.scss */
.related-title a:hover {
  color: #1976d2;
}

/* line 590, app/assets/stylesheets/blog.scss */
.related-excerpt {
  color: #666;
  margin-bottom: 1rem;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 597, app/assets/stylesheets/blog.scss */
.related-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
}

/* line 604, app/assets/stylesheets/blog.scss */
.related-footer .author {
  color: #666;
  font-weight: 500;
}

/* line 609, app/assets/stylesheets/blog.scss */
.related-footer .reading-time {
  color: #999;
}

/* line 614, app/assets/stylesheets/blog.scss */
.recent-article-item {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #eee;
}

/* line 620, app/assets/stylesheets/blog.scss */
.recent-article-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* line 626, app/assets/stylesheets/blog.scss */
.recent-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.8rem;
}

/* line 634, app/assets/stylesheets/blog.scss */
.recent-meta .category {
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.2rem 0.6rem;
  border-radius: 15px;
  font-weight: 500;
}

/* line 642, app/assets/stylesheets/blog.scss */
.recent-meta .date {
  color: #666;
}

/* line 646, app/assets/stylesheets/blog.scss */
.recent-title {
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

/* line 653, app/assets/stylesheets/blog.scss */
.recent-title a {
  color: #333;
  transition: color 0.3s ease;
}

/* line 658, app/assets/stylesheets/blog.scss */
.recent-title a:hover {
  color: #1976d2;
}

/* line 662, app/assets/stylesheets/blog.scss */
.recent-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: #666;
}

/* line 671, app/assets/stylesheets/blog.scss */
.article-disclaimer {
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 8px;
  padding: 1.5rem;
  margin: 2rem 0;
}

/* line 679, app/assets/stylesheets/blog.scss */
.article-disclaimer h4 {
  color: #856404;
  margin-bottom: 1rem;
}

/* line 684, app/assets/stylesheets/blog.scss */
.article-disclaimer p {
  color: #856404;
  margin: 0;
}

@media (max-width: 768px) {
  /* line 691, app/assets/stylesheets/blog.scss */
  .blog-hero-title {
    font-size: 2rem;
  }
  /* line 695, app/assets/stylesheets/blog.scss */
  .blog-hero-subtitle {
    font-size: 1rem;
  }
  /* line 699, app/assets/stylesheets/blog.scss */
  .featured-article-card {
    margin-bottom: 1rem;
  }
  /* line 703, app/assets/stylesheets/blog.scss */
  .article-title {
    font-size: 2rem;
  }
  /* line 707, app/assets/stylesheets/blog.scss */
  .article-details {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 712, app/assets/stylesheets/blog.scss */
  .article-author-info {
    flex-direction: column;
    text-align: center;
  }
  /* line 717, app/assets/stylesheets/blog.scss */
  .related-article-card {
    margin-bottom: 1rem;
  }
  /* line 721, app/assets/stylesheets/blog.scss */
  .article-content {
    font-size: 1rem;
  }
  /* line 725, app/assets/stylesheets/blog.scss */
  .article-content h2 {
    font-size: 1.5rem;
  }
  /* line 729, app/assets/stylesheets/blog.scss */
  .article-content h3 {
    font-size: 1.25rem;
  }
}

@media (max-width: 576px) {
  /* line 735, app/assets/stylesheets/blog.scss */
  .blog-hero-section {
    padding: 60px 0;
  }
  /* line 739, app/assets/stylesheets/blog.scss */
  .blog-hero-title {
    font-size: 1.75rem;
  }
  /* line 743, app/assets/stylesheets/blog.scss */
  .article-title {
    font-size: 1.75rem;
  }
  /* line 747, app/assets/stylesheets/blog.scss */
  .article-content {
    font-size: 0.95rem;
  }
  /* line 751, app/assets/stylesheets/blog.scss */
  .sidebar-widget {
    padding: 1rem;
  }
  /* line 755, app/assets/stylesheets/blog.scss */
  .article-card-body {
    padding: 1rem;
  }
}

@media (max-width: 768px) {
  /* line 764, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-hero-section {
    padding: 1.5rem 0 !important;
    margin-bottom: 0 !important;
  }
  /* line 769, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-hero-title {
    font-size: 1.25rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.3 !important;
  }
  /* line 775, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-hero-subtitle {
    font-size: 0.85rem !important;
    opacity: 0.85 !important;
    margin-bottom: 0 !important;
  }
  /* line 782, app/assets/stylesheets/blog.scss */
  .webview-mode .container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  /* line 787, app/assets/stylesheets/blog.scss */
  .webview-mode .container.py-5 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  /* line 793, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-search-section {
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    border-radius: 8px !important;
  }
  /* line 799, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-search-form .form-control-lg {
    font-size: 0.9rem !important;
    padding: 0.5rem 0.75rem !important;
    min-height: 40px !important;
  }
  /* line 805, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-search-form .btn-lg {
    font-size: 0.85rem !important;
    padding: 0.5rem 1rem !important;
    min-height: 40px !important;
  }
  /* line 812, app/assets/stylesheets/blog.scss */
  .webview-mode .section-title {
    font-size: 1.1rem !important;
    margin-bottom: 0.75rem !important;
    font-weight: 600 !important;
  }
  /* line 819, app/assets/stylesheets/blog.scss */
  .webview-mode .article-card-body {
    padding: 0.75rem !important;
  }
  /* line 823, app/assets/stylesheets/blog.scss */
  .webview-mode .article-meta {
    font-size: 0.75rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 828, app/assets/stylesheets/blog.scss */
  .webview-mode .category {
    padding: 0.15rem 0.5rem !important;
    font-size: 0.7rem !important;
    border-radius: 12px !important;
  }
  /* line 834, app/assets/stylesheets/blog.scss */
  .webview-mode .date {
    font-size: 0.7rem !important;
  }
  /* line 838, app/assets/stylesheets/blog.scss */
  .webview-mode .article-title {
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
  }
  /* line 845, app/assets/stylesheets/blog.scss */
  .webview-mode .article-excerpt {
    font-size: 0.85rem !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.5 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  /* line 855, app/assets/stylesheets/blog.scss */
  .webview-mode .article-footer {
    font-size: 0.75rem !important;
    flex-wrap: wrap;
    gap: 0.25rem;
  }
  /* line 861, app/assets/stylesheets/blog.scss */
  .webview-mode .author-info {
    font-size: 0.7rem !important;
  }
  /* line 865, app/assets/stylesheets/blog.scss */
  .webview-mode .reading-time {
    font-size: 0.7rem !important;
  }
  /* line 869, app/assets/stylesheets/blog.scss */
  .webview-mode .views {
    font-size: 0.7rem !important;
  }
  /* line 873, app/assets/stylesheets/blog.scss */
  .webview-mode .views i {
    font-size: 0.7rem !important;
  }
  /* line 878, app/assets/stylesheets/blog.scss */
  .webview-mode .featured-article-card {
    margin-bottom: 0.75rem !important;
  }
  /* line 882, app/assets/stylesheets/blog.scss */
  .webview-mode .featured-image {
    height: 120px !important;
  }
  /* line 886, app/assets/stylesheets/blog.scss */
  .webview-mode .article-content {
    padding: 0.75rem !important;
  }
  /* line 891, app/assets/stylesheets/blog.scss */
  .webview-mode .article-count {
    font-size: 0.75rem !important;
  }
  /* line 896, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-sidebar {
    position: static !important;
    margin-top: 1rem !important;
  }
  /* line 901, app/assets/stylesheets/blog.scss */
  .webview-mode .sidebar-widget {
    padding: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 906, app/assets/stylesheets/blog.scss */
  .webview-mode .widget-title {
    font-size: 0.95rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 911, app/assets/stylesheets/blog.scss */
  .webview-mode .category-list li,
.webview-mode .author-list li {
    margin-bottom: 0.5rem !important;
  }
  /* line 916, app/assets/stylesheets/blog.scss */
  .webview-mode .category-link,
.webview-mode .author-link {
    font-size: 0.8rem !important;
    padding: 0.35rem 0 !important;
  }
  /* line 922, app/assets/stylesheets/blog.scss */
  .webview-mode .category-count,
.webview-mode .author-count {
    font-size: 0.75rem !important;
  }
  /* line 928, app/assets/stylesheets/blog.scss */
  .webview-mode .popular-article-item {
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  /* line 933, app/assets/stylesheets/blog.scss */
  .webview-mode .article-number {
    width: 20px !important;
    height: 20px !important;
    font-size: 0.7rem !important;
    margin-right: 0.75rem !important;
  }
  /* line 940, app/assets/stylesheets/blog.scss */
  .webview-mode .article-info .article-title {
    font-size: 0.85rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 945, app/assets/stylesheets/blog.scss */
  .webview-mode .article-info .article-meta {
    font-size: 0.7rem !important;
  }
  /* line 950, app/assets/stylesheets/blog.scss */
  .webview-mode .newsletter-widget {
    padding: 1rem !important;
  }
  /* line 954, app/assets/stylesheets/blog.scss */
  .webview-mode .newsletter-widget .widget-title {
    font-size: 0.95rem !important;
  }
  /* line 958, app/assets/stylesheets/blog.scss */
  .webview-mode .newsletter-widget p {
    font-size: 0.8rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 963, app/assets/stylesheets/blog.scss */
  .webview-mode .newsletter-form .form-control {
    font-size: 0.85rem !important;
    padding: 0.5rem !important;
    min-height: 40px !important;
  }
  /* line 969, app/assets/stylesheets/blog.scss */
  .webview-mode .newsletter-form .btn {
    font-size: 0.8rem !important;
    padding: 0.5rem 0.75rem !important;
    min-height: 40px !important;
  }
  /* line 976, app/assets/stylesheets/blog.scss */
  .webview-mode .no-articles {
    padding: 2rem 0.5rem !important;
  }
  /* line 980, app/assets/stylesheets/blog.scss */
  .webview-mode .no-articles i {
    font-size: 2rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 985, app/assets/stylesheets/blog.scss */
  .webview-mode .no-articles h3 {
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 990, app/assets/stylesheets/blog.scss */
  .webview-mode .no-articles p {
    font-size: 0.85rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 995, app/assets/stylesheets/blog.scss */
  .webview-mode .no-articles .btn {
    font-size: 0.85rem !important;
    padding: 0.5rem 1rem !important;
  }
  /* line 1001, app/assets/stylesheets/blog.scss */
  .webview-mode .pagination-wrapper {
    margin-top: 1rem !important;
  }
  /* line 1005, app/assets/stylesheets/blog.scss */
  .webview-mode .pagination {
    font-size: 0.8rem !important;
  }
  /* line 1009, app/assets/stylesheets/blog.scss */
  .webview-mode .pagination .page-link {
    padding: 0.35rem 0.5rem !important;
    font-size: 0.8rem !important;
  }
  /* line 1015, app/assets/stylesheets/blog.scss */
  .webview-mode .row {
    margin-left: -0.25rem !important;
    margin-right: -0.25rem !important;
  }
  /* line 1020, app/assets/stylesheets/blog.scss */
  .webview-mode .row > * {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  /* line 1025, app/assets/stylesheets/blog.scss */
  .webview-mode .mb-4 {
    margin-bottom: 0.75rem !important;
  }
  /* line 1029, app/assets/stylesheets/blog.scss */
  .webview-mode .mb-5 {
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 400px) {
  /* line 1036, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-hero-title {
    font-size: 1.1rem !important;
  }
  /* line 1040, app/assets/stylesheets/blog.scss */
  .webview-mode .blog-hero-subtitle {
    font-size: 0.8rem !important;
  }
  /* line 1044, app/assets/stylesheets/blog.scss */
  .webview-mode .article-title {
    font-size: 0.95rem !important;
  }
  /* line 1048, app/assets/stylesheets/blog.scss */
  .webview-mode .article-excerpt {
    font-size: 0.8rem !important;
  }
}

/* line 1059, app/assets/stylesheets/blog.scss */
[data-theme="light"] .blog-search-section {
  background: var(--bg-secondary);
}

/* line 1063, app/assets/stylesheets/blog.scss */
[data-theme="light"] .featured-article-card,
[data-theme="light"] .article-card,
[data-theme="light"] .sidebar-widget,
[data-theme="light"] .blog-article,
[data-theme="light"] .related-article-card {
  background: var(--bg-card-solid);
  box-shadow: var(--shadow-card);
}

/* line 1072, app/assets/stylesheets/blog.scss */
[data-theme="light"] .featured-article-card:hover,
[data-theme="light"] .article-card:hover {
  box-shadow: var(--shadow-soft);
}

/* line 1077, app/assets/stylesheets/blog.scss */
[data-theme="light"] .widget-title,
[data-theme="light"] .article-title,
[data-theme="light"] .article-content,
[data-theme="light"] .article-content h1,
[data-theme="light"] .article-content h2,
[data-theme="light"] .article-content h3,
[data-theme="light"] .article-content h4,
[data-theme="light"] .article-content h5,
[data-theme="light"] .article-content h6,
[data-theme="light"] .author-details h5,
[data-theme="light"] .related-articles h3,
[data-theme="light"] .article-tags h4 {
  color: var(--text-primary);
}

/* line 1092, app/assets/stylesheets/blog.scss */
[data-theme="light"] .article-title a,
[data-theme="light"] .related-title a,
[data-theme="light"] .recent-title a {
  color: var(--text-primary);
}

/* line 1098, app/assets/stylesheets/blog.scss */
[data-theme="light"] .date,
[data-theme="light"] .article-excerpt,
[data-theme="light"] .author,
[data-theme="light"] .views,
[data-theme="light"] .category-link,
[data-theme="light"] .author-link,
[data-theme="light"] .article-details,
[data-theme="light"] .article-content blockquote,
[data-theme="light"] .author-details p,
[data-theme="light"] .blog-breadcrumb .breadcrumb-item a,
[data-theme="light"] .related-excerpt,
[data-theme="light"] .related-footer .author,
[data-theme="light"] .recent-footer,
[data-theme="light"] .article-info .article-meta {
  color: var(--text-secondary);
}

/* line 1115, app/assets/stylesheets/blog.scss */
[data-theme="light"] .reading-time,
[data-theme="light"] .category-count,
[data-theme="light"] .author-count,
[data-theme="light"] .related-footer .reading-time {
  color: var(--text-muted);
}

/* line 1122, app/assets/stylesheets/blog.scss */
[data-theme="light"] .popular-article-item {
  border-bottom-color: var(--border-color);
}

/* line 1126, app/assets/stylesheets/blog.scss */
[data-theme="light"] .recent-article-item {
  border-bottom-color: var(--border-color);
}

/* line 1130, app/assets/stylesheets/blog.scss */
[data-theme="light"] .article-footer {
  border-top-color: var(--border-color);
}

/* line 1134, app/assets/stylesheets/blog.scss */
[data-theme="light"] .article-tags,
[data-theme="light"] .article-author-info,
[data-theme="light"] .blog-article-header {
  background: var(--bg-secondary);
}

/* line 1140, app/assets/stylesheets/blog.scss */
[data-theme="light"] .blog-article-header {
  border-bottom-color: var(--border-color);
}

/* line 1144, app/assets/stylesheets/blog.scss */
[data-theme="light"] .article-content h2 {
  border-bottom-color: var(--border-color);
}

/* line 1148, app/assets/stylesheets/blog.scss */
[data-theme="light"] .article-content table th,
[data-theme="light"] .article-content table td {
  border-color: var(--border-color);
}

/* line 1153, app/assets/stylesheets/blog.scss */
[data-theme="light"] .article-content table th {
  background: var(--bg-secondary);
}
/* Blog V2 Styles - Dark Theme */

/* Blog Hero */
.blog-hero-v2 {
  padding: 100px 0 60px !important;
}

.blog-hero-v2 .blog-hero-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.blog-hero-v2 .blog-hero-title {
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 16px !important;
  line-height: 1.2 !important;
}

.blog-hero-v2 .blog-hero-subtitle {
  font-size: 1.25rem !important;
  color: rgba(255, 255, 255, 0.7) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Blog Page Container */
.blog-page-v2 {
  background: linear-gradient(180deg, #0a0a0f 0%, #0f0f1a 100%);
  min-height: 100vh;
  padding-bottom: 80px;
}

.blog-content-v2 {
  padding-top: 40px;
}

/* Search Bar */
.blog-search-v2 {
  margin-bottom: 40px;
}

.blog-search-v2 .search-input-group {
  display: flex;
  gap: 12px;
  max-width: 600px;
}

.blog-search-v2 .search-input {
  flex: 1;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 12px !important;
  padding: 14px 20px !important;
  color: #fff !important;
  font-size: 1rem;
  transition: all 0.3s;
}

.blog-search-v2 .search-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.blog-search-v2 .search-input:focus {
  outline: none;
  border-color: rgba(99, 102, 241, 0.5) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.blog-search-v2 .search-btn {
  background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 28px !important;
  color: #fff !important;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}

.blog-search-v2 .search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(99, 102, 241, 0.3);
}

/* Section Headers */
.section-header-v2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.section-header-v2 h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}

.section-header-v2 .article-count {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
}

/* Article Card */
.article-card-v2 {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s;
  height: 100%;
}

.article-card-v2:hover {
  transform: translateY(-4px);
  border-color: rgba(99, 102, 241, 0.3);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}

.article-card-v2 .article-image {
  height: 160px;
  overflow: hidden;
}

.article-card-v2 .article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-card-v2 .article-body {
  padding: 20px;
}

.article-card-v2 .article-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 0.85rem;
}

.article-card-v2 .article-category {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(139, 92, 246, 0.2));
  border: 1px solid rgba(99, 102, 241, 0.3);
  color: #a5b4fc;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: capitalize;
}


.article-card-v2 .article-date {
  color: rgba(255, 255, 255, 0.5);
}

.article-card-v2 .article-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1.4;
}

.article-card-v2 .article-title a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}

.article-card-v2 .article-title a:hover {
  color: #a5b4fc;
}

.article-card-v2 .article-excerpt {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.article-card-v2 .article-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

.article-card-v2 .article-author {
  display: flex;
  align-items: center;
  gap: 6px;
}

.article-card-v2 .article-author i {
  color: rgba(99, 102, 241, 0.7);
}

.article-card-v2 .article-stats {
  display: flex;
  gap: 12px;
}

.article-card-v2 .article-stats span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.article-card-v2 .article-stats i {
  color: rgba(99, 102, 241, 0.7);
}

/* Sidebar */
.blog-sidebar-v2 {
  position: sticky;
  top: 100px;
}

.sidebar-widget-v2 {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}

.sidebar-widget-v2 .widget-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Category List */
.category-list-v2 {
  list-style: none;
  padding: 0;
  margin: 0;
}

.category-list-v2 li {
  margin-bottom: 8px;
}

.category-list-v2 .category-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: all 0.2s;
}

.category-list-v2 .category-link:hover {
  background: rgba(99, 102, 241, 0.1);
  border-color: rgba(99, 102, 241, 0.3);
  color: #fff;
}

.category-list-v2 .category-count {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.85rem;
}

/* Popular Articles */
.popular-articles-v2 .popular-article-v2 {
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.popular-articles-v2 .popular-article-v2:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.popular-articles-v2 .popular-article-v2:first-child {
  padding-top: 0;
}

.popular-articles-v2 .article-number {
  width: 28px;
  height: 28px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  margin-right: 14px;
  flex-shrink: 0;
}


.popular-articles-v2 .article-info {
  flex: 1;
}

.popular-articles-v2 .article-info .article-title {
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 6px;
  line-height: 1.4;
}

.popular-articles-v2 .article-info .article-title a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  transition: color 0.2s;
}

.popular-articles-v2 .article-info .article-title a:hover {
  color: #a5b4fc;
}

.popular-articles-v2 .article-info .article-meta {
  display: flex;
  gap: 12px;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.4);
}

.popular-articles-v2 .article-info .article-meta i {
  color: rgba(99, 102, 241, 0.6);
  margin-right: 4px;
}

/* Newsletter Widget */
.newsletter-widget-v2 {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(139, 92, 246, 0.15)) !important;
  border-color: rgba(99, 102, 241, 0.3) !important;
}

.newsletter-widget-v2 .newsletter-desc {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  margin-bottom: 16px;
  line-height: 1.5;
}

.newsletter-widget-v2 .newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.newsletter-widget-v2 .newsletter-form input[type="email"] {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 12px 16px;
  color: #fff;
  font-size: 0.95rem;
}

.newsletter-widget-v2 .newsletter-form input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.newsletter-widget-v2 .newsletter-form input[type="email"]:focus {
  outline: none;
  border-color: rgba(99, 102, 241, 0.5);
}

.newsletter-widget-v2 .newsletter-form input[type="submit"] {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border: none;
  border-radius: 10px;
  padding: 12px 20px;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}

.newsletter-widget-v2 .newsletter-form input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(99, 102, 241, 0.3);
}

.newsletter-widget-v2 .newsletter-success {
  text-align: center;
  padding: 16px;
}

.newsletter-widget-v2 .newsletter-success .success-icon {
  font-size: 2rem;
  margin-bottom: 8px;
}

.newsletter-widget-v2 .newsletter-success h4 {
  color: #10b981;
  margin-bottom: 8px;
  font-size: 1rem;
}

.newsletter-widget-v2 .newsletter-success p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.85rem;
  margin: 0;
}

/* No Articles */
.no-articles-v2 {
  text-align: center;
  padding: 60px 20px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
}

.no-articles-v2 i {
  font-size: 3rem;
  color: rgba(255, 255, 255, 0.2);
  margin-bottom: 20px;
}

.no-articles-v2 h3 {
  color: #fff;
  margin-bottom: 12px;
}

.no-articles-v2 p {
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 24px;
}

.no-articles-v2 .btn-v2 {
  display: inline-block;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border: none;
  border-radius: 12px;
  padding: 14px 28px;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
}

.no-articles-v2 .btn-v2:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(99, 102, 241, 0.3);
}

/* Responsive */
@media (max-width: 991px) {
  .blog-sidebar-v2 {
    position: static;
    margin-top: 40px;
  }
}

@media (max-width: 768px) {
  .blog-hero-v2 {
    padding: 80px 0 40px !important;
  }

  .blog-hero-v2 .blog-hero-title {
    font-size: 2rem !important;
  }

  .blog-hero-v2 .blog-hero-subtitle {
    font-size: 1rem !important;
  }

  .blog-search-v2 .search-input-group {
    flex-direction: column;
  }

  .blog-search-v2 .search-btn {
    width: 100%;
  }
}

/* Light Mode Overrides */
[data-theme="light"] .blog-page-v2 {
  background: var(--bg-primary);
}

[data-theme="light"] .blog-hero-v2 .blog-hero-title {
  color: var(--text-primary) !important;
}

[data-theme="light"] .blog-hero-v2 .blog-hero-subtitle {
  color: var(--text-secondary) !important;
}

[data-theme="light"] .blog-search-v2 .search-input {
  background: var(--bg-input) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="light"] .blog-search-v2 .search-input::placeholder {
  color: var(--text-muted);
}

[data-theme="light"] .blog-search-v2 .search-input:focus {
  background: var(--bg-card-solid) !important;
  border-color: var(--accent-primary) !important;
}

[data-theme="light"] .section-header-v2 h2 {
  color: var(--text-primary);
}

[data-theme="light"] .section-header-v2 .article-count {
  color: var(--text-muted);
}

[data-theme="light"] .article-card-v2 {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .article-card-v2:hover {
  border-color: var(--accent-primary);
  box-shadow: var(--shadow-soft);
}

[data-theme="light"] .article-card-v2 .article-category {
  background: rgba(0, 160, 128, 0.1);
  border-color: rgba(0, 160, 128, 0.3);
  color: var(--accent-primary);
}

[data-theme="light"] .article-card-v2 .article-date {
  color: var(--text-muted);
}

[data-theme="light"] .article-card-v2 .article-title a {
  color: var(--text-primary);
}

[data-theme="light"] .article-card-v2 .article-title a:hover {
  color: var(--accent-primary);
}

[data-theme="light"] .article-card-v2 .article-excerpt {
  color: var(--text-secondary);
}

[data-theme="light"] .article-card-v2 .article-footer {
  color: var(--text-muted);
}

[data-theme="light"] .article-card-v2 .article-author i,
[data-theme="light"] .article-card-v2 .article-stats i {
  color: var(--accent-primary);
}

[data-theme="light"] .sidebar-widget-v2 {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .sidebar-widget-v2 .widget-title {
  color: var(--text-primary);
  border-bottom-color: var(--border-color);
}

[data-theme="light"] .category-list-v2 .category-link {
  background: var(--bg-secondary);
  border-color: var(--border-color);
  color: var(--text-secondary);
}

[data-theme="light"] .category-list-v2 .category-link:hover {
  background: rgba(0, 160, 128, 0.08);
  border-color: rgba(0, 160, 128, 0.3);
  color: var(--text-primary);
}

[data-theme="light"] .category-list-v2 .category-count {
  color: var(--text-muted);
}

[data-theme="light"] .popular-articles-v2 .popular-article-v2 {
  border-bottom-color: var(--border-color);
}

[data-theme="light"] .popular-articles-v2 .article-info .article-title a {
  color: var(--text-primary);
}

[data-theme="light"] .popular-articles-v2 .article-info .article-title a:hover {
  color: var(--accent-primary);
}

[data-theme="light"] .popular-articles-v2 .article-info .article-meta {
  color: var(--text-muted);
}

[data-theme="light"] .popular-articles-v2 .article-info .article-meta i {
  color: var(--accent-primary);
}

[data-theme="light"] .newsletter-widget-v2 {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

[data-theme="light"] .newsletter-widget-v2 .newsletter-desc {
  color: var(--text-secondary);
}

[data-theme="light"] .newsletter-widget-v2 .newsletter-form input[type="email"] {
  background: var(--bg-input);
  border-color: var(--border-color);
  color: var(--text-primary);
}

[data-theme="light"] .newsletter-widget-v2 .newsletter-form input[type="email"]::placeholder {
  color: var(--text-muted);
}

[data-theme="light"] .newsletter-widget-v2 .newsletter-success p {
  color: var(--text-secondary);
}

[data-theme="light"] .no-articles-v2 {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

[data-theme="light"] .no-articles-v2 i {
  color: var(--text-muted);
}

[data-theme="light"] .no-articles-v2 h3 {
  color: var(--text-primary);
}

[data-theme="light"] .no-articles-v2 p {
  color: var(--text-secondary);
}

/* Author avatars */
.author-link-content {
  display: flex;
  align-items: center;
  gap: 8px;
}

.article-author-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.author-avatar-img {
  border-radius: 50%;
  object-fit: cover;
  vertical-align: middle;
}

.author-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  vertical-align: middle;
}
/* Chatbot Widget Styles - V2 Design System */
:root {
  --chatbot-primary: var(--accent-primary, #00d4aa);
  --chatbot-primary-dark: var(--accent-primary-hover, #00b894);
  --chatbot-secondary: var(--accent-secondary, #00a8ff);
  --chatbot-accent: #a855f7;
  --chatbot-dark-bg: var(--bg-primary, #0a0e1a);
  --chatbot-darker-bg: #050810;
  --chatbot-card-bg: var(--bg-card, rgba(15, 20, 40, 0.85));
  --chatbot-text-primary: var(--text-primary, #ffffff);
  --chatbot-text-secondary: var(--text-secondary, #94a3b8);
  --chatbot-text-muted: var(--text-muted, #64748b);
  --chatbot-border: var(--border-color, rgba(255, 255, 255, 0.08));
  --chatbot-gradient-primary: linear-gradient(135deg, var(--accent-primary, #00d4aa) 0%, var(--accent-secondary, #00a8ff) 100%);
  --chatbot-gradient-card: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(45, 55, 72, 0.8) 100%);
  --chatbot-shadow-soft: var(--shadow-soft, 0 10px 40px rgba(0, 0, 0, 0.4));
  --chatbot-shadow-hover: var(--shadow-hover, 0 20px 50px rgba(0, 212, 170, 0.15));
  --chatbot-shadow-glow: var(--shadow-glow, 0 0 30px rgba(0, 212, 170, 0.25));
  --chatbot-error-color: var(--color-warning, #ffa726);
}

/* Light mode overrides */
[data-theme="light"] {
  --chatbot-darker-bg: var(--bg-secondary, #eceae5);
  --chatbot-gradient-card: linear-gradient(145deg, var(--bg-card, #ffffff) 0%, var(--bg-card-hover, #f8f8f5) 100%);
}

.chatbot-widget-container {
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 10003 !important; /* Always above back button (9999) */
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Toggle Button */
.chatbot-toggle-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--chatbot-gradient-primary);
  border: none;
  color: white;
  font-size: 24px;
  cursor: pointer;
  box-shadow: var(--chatbot-shadow-soft), var(--chatbot-shadow-glow);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  padding: 0;
  line-height: 1;
}

.chatbot-toggle-btn:hover {
  transform: scale(1.1) translateY(-2px);
  box-shadow: var(--chatbot-shadow-hover), var(--chatbot-shadow-glow);
}

.chatbot-toggle-btn.active {
  background: var(--chatbot-gradient-primary);
  box-shadow: var(--chatbot-shadow-hover), var(--chatbot-shadow-glow);
}

.chatbot-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background: var(--color-danger, #ff6b6b);
  color: white;
  border-radius: 12px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: bold;
  min-width: 20px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(var(--color-danger, 239, 68, 68), 0.4);
}

.chatbot-badge.badge-locked {
  background: var(--color-warning, #ffa726);
  color: var(--text-inverse, #0a0e27);
  padding: 4px 6px;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4);
}

.chatbot-badge.hidden,
.requests-badge.hidden {
  display: none !important;
}

/* Chat Window */
.chatbot-window {
  position: fixed;
  bottom: 90px;
  right: 20px;
  width: 480px;
  height: 700px;
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  border-radius: 16px;
  box-shadow: var(--chatbot-shadow-soft), 0 0 0 1px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10003 !important; /* Always above back button (9999) */
}

.chatbot-window.hidden {
  opacity: 0;
  transform: translateY(20px) scale(0.95);
  pointer-events: none;
  visibility: hidden;
}

.chatbot-window.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
  visibility: visible;
}

/* Window Header */
.chatbot-window-header {
  background: var(--chatbot-gradient-primary);
  color: white;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.chatbot-window-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, transparent 100%);
  pointer-events: none;
}

.chatbot-window-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 16px;
  position: relative;
  z-index: 1;
}

.chatbot-window-title .badge {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  font-weight: 600;
}

.chatbot-close-btn {
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: white;
  font-size: 20px;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: var(--radius-md, 8px);
  transition: all 0.2s ease;
  position: relative;
  z-index: 1;
}

.chatbot-close-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}

/* Messages Container */
.chatbot-messages {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  background: var(--chatbot-darker-bg);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chatbot-messages::-webkit-scrollbar {
  width: 6px;
}

.chatbot-messages::-webkit-scrollbar-track {
  background: rgba(128, 128, 128, 0.1);
  border-radius: 3px;
}

.chatbot-messages::-webkit-scrollbar-thumb {
  background: var(--chatbot-primary);
  border-radius: 3px;
}

.chatbot-messages::-webkit-scrollbar-thumb:hover {
  background: var(--chatbot-secondary);
}

.welcome-message {
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  padding: 20px;
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--chatbot-shadow-soft);
  margin-bottom: 8px;
  color: var(--chatbot-text-primary);
  font-size: 13px;
  line-height: 1.6;
}

.welcome-message p {
  color: var(--chatbot-text-primary);
  margin-bottom: 12px;
  font-size: 13px;
}

.welcome-message ul {
  margin: 10px 0;
  padding-left: 20px;
  color: var(--chatbot-text-secondary);
}

.welcome-message li {
  margin: 6px 0;
  line-height: 1.6;
  font-size: 13px;
}

.subscription-required-message {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.upgrade-notice {
  text-align: center;
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  padding: 24px 20px;
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--chatbot-shadow-soft);
  max-width: 100%;
}

.upgrade-notice i {
  font-size: 24px;
  color: var(--chatbot-primary);
  margin-bottom: 12px;
  display: block;
}

.upgrade-notice p {
  font-size: 14px;
  color: var(--chatbot-text-secondary);
  margin-bottom: 16px;
  line-height: 1.6;
}

.upgrade-notice .upgrade-btn {
  padding: 10px 20px;
  font-weight: 600;
  font-size: 14px;
  border-radius: var(--radius-md, 8px);
  background: var(--chatbot-gradient-primary);
  border: none;
  color: white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.3);
  text-decoration: none;
  display: inline-block;
}

.upgrade-notice .upgrade-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.4);
  color: white;
  text-decoration: none;
}

.chatbot-input-wrapper.disabled {
  pointer-events: auto;
}

.upgrade-prompt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 20px;
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  border-radius: var(--radius-lg, 12px);
  color: var(--chatbot-text-secondary);
  font-size: 14px;
  flex-wrap: wrap;
}

.upgrade-prompt i {
  color: var(--chatbot-primary);
  font-size: 18px;
}

.upgrade-prompt span {
  flex: 1;
  min-width: 200px;
}

.upgrade-prompt .upgrade-link {
  padding: 8px 16px;
  font-weight: 600;
  border-radius: var(--radius-md, 8px);
  background: var(--chatbot-gradient-primary);
  border: none;
  color: white;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.3);
  white-space: nowrap;
}

.upgrade-prompt .upgrade-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.4);
  color: white;
  text-decoration: none;
}

.message {
  animation: fadeIn 0.3s ease-in;
  max-width: 80%;
}

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

.message.user {
  align-self: flex-end;
}

.message.assistant {
  align-self: flex-start;
}

.message-content {
  padding: 12px 16px;
  border-radius: 18px;
  word-wrap: break-word;
  line-height: 1.6;
  font-size: 13px;
  max-width: 100%;
  overflow: hidden;
}

.message-content p {
  margin: 0 0 8px 0;
}

.message-content p:last-child {
  margin-bottom: 0;
}

.message-content ul,
.message-content ol {
  margin: 8px 0;
  padding-left: 20px;
}

.message-content li {
  margin: 4px 0;
}

.message-content strong {
  font-weight: 600;
}

.message-content code {
  background: rgba(128, 128, 128, 0.15);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  font-size: 12px;
}

.message.user .message-content {
  background: var(--chatbot-gradient-primary);
  color: white;
  border-bottom-right-radius: 4px;
  box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.3);
}

.message.assistant .message-content {
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  color: var(--chatbot-text-primary);
  border-bottom-left-radius: 4px;
  box-shadow: var(--chatbot-shadow-soft);
}

.message.error .message-content {
  background: rgba(var(--color-warning, 245, 158, 11), 0.2);
  border: 1px solid rgba(var(--color-warning, 245, 158, 11), 0.4);
  color: var(--chatbot-error-color);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Retry button for errors */
.retry-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin-left: auto;
  margin-top: 8px;
  background: rgba(255, 167, 38, 0.3);
  border: 1px solid rgba(255, 167, 38, 0.5);
  border-radius: 50% !important;
  color: var(--chatbot-error-color);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
}

.retry-btn:hover {
  background: rgba(255, 167, 38, 0.5);
  border-color: var(--chatbot-error-color);
  transform: scale(1.1);
}

.retry-btn:active {
  transform: scale(0.95);
}

.retry-btn i {
  font-size: 12px;
}

.message-time {
  font-size: 0.75rem;
  color: var(--chatbot-text-muted);
  margin-top: 4px;
  padding: 0 4px;
}

.message.user .message-time {
  text-align: right;
}

/* Loading Indicator */
.loading-indicator {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  border-radius: 18px;
  border-bottom-left-radius: 4px;
  box-shadow: var(--chatbot-shadow-soft);
  align-self: flex-start;
  max-width: 85%;
  animation: fadeIn 0.3s ease-in;
}

.loading-animation {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.loading-spinner {
  width: 20px;
  height: 20px;
  border: 3px solid rgba(var(--accent-primary-rgb, 0, 212, 170), 0.2);
  border-top-color: var(--chatbot-primary);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.loading-dots {
  display: flex;
  gap: 4px;
}

.loading-dots span {
  width: 6px;
  height: 6px;
  background: var(--chatbot-primary);
  border-radius: 50%;
  animation: loadingDots 1.4s infinite;
}

.loading-dots span:nth-child(2) {
  animation-delay: 0.2s;
}

.loading-dots span:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes loadingDots {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: 0.7;
  }
  30% {
    transform: translateY(-8px);
    opacity: 1;
  }
}

.loading-text {
  color: var(--chatbot-text-primary);
  font-size: 14px;
  font-weight: 500;
  transition: opacity 0.3s ease;
  flex: 1;
}

/* Legacy Typing Indicator (for backward compatibility) */
.typing-indicator {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  border-radius: 18px;
  border-bottom-left-radius: 4px;
  box-shadow: var(--chatbot-shadow-soft);
  align-self: flex-start;
  max-width: 80px;
}

.typing-dots {
  display: flex;
  gap: 4px;
}

.typing-dots span {
  width: 8px;
  height: 8px;
  background: var(--chatbot-primary);
  border-radius: 50%;
  animation: typing 1.4s infinite;
}

.typing-dots span:nth-child(2) {
  animation-delay: 0.2s;
}

.typing-dots span:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes typing {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: 0.7;
  }
  30% {
    transform: translateY(-10px);
    opacity: 1;
  }
}

.typing-text {
  color: var(--chatbot-text-secondary);
  font-size: 0.85rem;
}

/* Input Wrapper */
.chatbot-input-wrapper {
  padding: 16px 20px;
  background: var(--chatbot-dark-bg);
  border-top: 1px solid var(--chatbot-border);
  flex-shrink: 0;
}

.chatbot-form .input-group {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

.chatbot-input {
  flex: 1;
  border-radius: var(--radius-2xl, 24px);
  padding: 10px 16px;
  background: var(--chatbot-card-bg);
  border: 1px solid var(--chatbot-border);
  color: var(--chatbot-text-primary);
  font-size: 16px; /* Prevent iOS zoom - must be at least 16px */
  transition: all 0.3s ease;
  resize: none;
  overflow-y: auto;
  min-height: 40px;
  max-height: 150px;
  line-height: 1.5;
  font-family: inherit;
}

.chatbot-input::placeholder {
  color: var(--chatbot-text-muted);
}

.chatbot-input:focus {
  border-color: var(--chatbot-primary);
  box-shadow: 0 0 0 3px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.2), var(--chatbot-shadow-glow);
  outline: none;
  background: var(--chatbot-dark-bg);
}

.chatbot-send-btn {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  max-width: 40px;
  max-height: 40px;
  padding: 0;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  background: var(--chatbot-gradient-primary);
  border: none;
  color: white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.3);
}

.chatbot-send-btn:hover:not(:disabled) {
  transform: scale(1.1) translateY(-2px);
  box-shadow: var(--chatbot-shadow-hover);
}

.chatbot-send-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

/* Resize Handle */
.chatbot-resize-handle {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--chatbot-border);
  cursor: ns-resize;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.chatbot-resize-handle:hover {
  background: var(--chatbot-primary);
}

.chatbot-resize-handle i {
  color: var(--chatbot-text-muted);
  font-size: 12px;
}

.chatbot-resize-handle:hover i {
  color: var(--chatbot-primary);
}

/* ============================================
   RESPONSIVE - MOBILE & TABLET (< 768px) - FULLSCREEN CHAT
   ============================================ */
@media (max-width: 767px) {
  .chatbot-widget-container {
    bottom: 16px;
    bottom: env(safe-area-inset-bottom, 16px);
    right: 16px;
    left: auto;
  }

  /* Fullscreen chat window on mobile/tablet */
  .chatbot-window {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important; /* Dynamic viewport height for mobile browsers */
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 10003 !important; /* Always above back button (9999) */
  }

  /* Hide toggle button when chat is open */
  .chatbot-toggle-btn.active {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .chatbot-toggle-btn {
    width: 52px;
    height: 52px;
    font-size: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    z-index: 10003 !important; /* Always above back button (9999) */
  }

  .chatbot-window-header {
    padding: 14px 16px;
    padding-top: env(safe-area-inset-top, 14px);
    border-radius: 0 !important;
  }

  .chatbot-messages {
    padding: 14px 10px;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .chatbot-input-wrapper {
    padding: 10px 14px;
    padding-bottom: 14px;
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }

  .chatbot-form .input-group {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .chatbot-input {
    flex: 1;
    font-size: 16px !important; /* Prevent iOS zoom - must be at least 16px */
    min-height: 44px;
    padding: 10px 14px;
    width: auto !important;
  }

  /* Ensure chatbot input scrolls into view when keyboard appears */
  .chatbot-input:focus {
    /* Scroll will be handled by JavaScript, but ensure it's visible */
    outline: none;
  }

  .chatbot-send-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
  }

  .message-content {
    font-size: 13px;
    padding: 10px 12px;
    max-width: 90%;
  }

  .welcome-message {
    padding: 14px;
    font-size: 12px;
    margin: 10px;
  }

  /* Disable resize on mobile */
  .chatbot-resize-handle {
    display: none;
  }
}

/* TABLET PORTRAIT (576px - 767px) - Now included in fullscreen mode above */

/* ============================================
   RESPONSIVE - TABLET LANDSCAPE / MOBILE LARGE (768px - 1023px)
   ============================================ */
@media (min-width: 768px) and (max-width: 1279px) {
  .chatbot-widget-container {
    bottom: 24px;
    right: 24px;
  }

  .chatbot-window {
    width: 480px;
    height: 650px;
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 120px);
    bottom: 100px;
    right: 24px;
    left: auto;
    border-radius: 16px;
  }

  .chatbot-toggle-btn {
    width: 60px;
    height: 60px;
    font-size: 24px;
  }

  .chatbot-window-header {
    padding: 18px 20px;
  }

  .chatbot-messages {
    padding: 20px 16px;
  }

  .chatbot-input-wrapper {
    padding: 16px 20px;
  }

  .chatbot-input {
    font-size: 15px;
    min-height: 44px;
    padding: 12px 16px;
  }

  .chatbot-send-btn {
    width: 44px;
    height: 44px;
  }

  .message-content {
    font-size: 14px;
    padding: 12px 16px;
    max-width: 80%;
  }

  .welcome-message {
    padding: 20px;
    font-size: 13px;
  }

  .chatbot-resize-handle {
    display: block;
    height: 10px;
  }
}

/* ============================================
   RESPONSIVE - DESKTOP (>= 1024px)
   ============================================ */
@media (min-width: 1280px) {
  .chatbot-widget-container {
    bottom: 50px;
    right: 50px;
  }

  .chatbot-window {
    width: 480px;
    height: 700px;
    bottom: 90px;
    right: 20px;
    border-radius: 16px;
  }

  .chatbot-toggle-btn {
    width: 60px;
    height: 60px;
    font-size: 24px;
  }

  .chatbot-resize-handle {
    display: block;
    height: 10px;
  }
}


/* ============================================
   SYSTEM ACTION MESSAGES
   ============================================ */
.message.system-action {
  margin-bottom: 16px;
  align-self: flex-start;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

/* Center system action button on tablet and desktop */
@media (min-width: 768px) {
  .message.system-action {
    align-self: center;
  }

  .message.system-action .message-content {
    margin: 0 auto;
  }
}

.message.system-action .message-content {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.message.system-action .message-time {
  text-align: left;
  margin-top: 4px;
}

.system-action-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  overflow: hidden;
}

/* On mobile, align to start */
@media (max-width: 767px) {
  .system-action-content {
    align-items: flex-start;
  }
}

.system-action-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 24px;
  min-width: 200px;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--radius-md, 8px);
  font-weight: 600;
  transition: all 0.2s ease;
  cursor: pointer;
  border: none;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.system-action-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
}

.system-action-btn:active:not(:disabled) {
  transform: translateY(0);
}

.system-action-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Tutorial variant — teal/emerald gradient, distinct from the default purple */
.system-action-btn--tutorial {
  background: linear-gradient(135deg, #0f9d8c 0%, #16c79a 100%);
  box-shadow: 0 4px 12px rgba(15, 157, 140, 0.35);
}

.system-action-btn--tutorial:hover:not(:disabled) {
  background: linear-gradient(135deg, #16c79a 0%, #0f9d8c 100%);
  box-shadow: 0 6px 16px rgba(15, 157, 140, 0.5);
}

.system-action-btn.loading {
  position: relative;
  pointer-events: none;
}

.system-action-btn.loading .action-title,
.system-action-btn.loading .action-subtitle,
.system-action-btn.loading i {
  opacity: 0.3;
}

.system-action-btn.loading::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  top: 50%;
  left: 50%;
  margin-left: -12px;
  margin-top: -12px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  z-index: 10;
}

.system-action-btn .action-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

.system-action-btn .action-subtitle {
  font-size: 12px;
  font-weight: 400;
  opacity: 0.9;
  margin-top: 2px;
  text-align: center;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

.system-action-btn i {
  font-size: 18px;
  margin-bottom: 2px;
}

/* Mobile adjustments for system actions */
@media (max-width: 767px) {
  .system-action-btn {
    min-width: auto;
    width: 100%;
    max-width: 100%;
    padding: 12px 16px;
    box-sizing: border-box;
  }

  .system-action-btn .action-title {
    font-size: 14px;
    max-width: 100%;
  }

  .system-action-btn .action-subtitle {
    font-size: 11px;
    max-width: 100%;
  }

  .message.system-action {
    max-width: 90%;
  }
}

/* System action started/completed state */
.system-action-started {
  color: var(--chatbot-text-primary);
  font-size: 14px;
  padding: 12px 16px;
  background: var(--chatbot-gradient-card);
  border: 1px solid var(--chatbot-border);
  border-radius: 18px;
  border-bottom-left-radius: 4px;
  box-shadow: var(--chatbot-shadow-soft);
  text-align: center;
}

.system-action-error {
  color: var(--chatbot-error-color);
  font-size: 14px;
  padding: 12px 16px;
  background: rgba(255, 167, 38, 0.2);
  border: 1px solid rgba(255, 167, 38, 0.4);
  border-radius: 18px;
  border-bottom-left-radius: 4px;
  box-shadow: var(--chatbot-shadow-soft);
  text-align: center;
}

.system-action-error .btn {
  margin-top: 8px;
  background: var(--chatbot-gradient-primary);
  border: none;
  color: white;
  padding: 8px 16px;
  border-radius: var(--radius-md, 8px);
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

.system-action-error .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb, 0, 212, 170), 0.4);
  color: white;
  text-decoration: none;
}

.message.system-action-completed {
  align-self: flex-start;
}

@media (min-width: 768px) {
  .message.system-action-completed {
    align-self: center;
  }
}

/* ===== New Page Discovery Dot (Chatbot) ===== */
.new-page-dot-chatbot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  margin-left: 0;
  z-index: 10004;
}

.chatbot-toggle-btn {
  position: relative;
}
/* Mobile Optimizations for Native App Wrapper (WebView) */

/* ============================================
   iOS Safe Area Support (Notch / Dynamic Island)
   ============================================ */

/* Apply safe area padding when in webview/app mode */
html {
  /* Extend background color behind the notch */
  background-color: #0a0e27;
}

body {
  /* Extend background behind notch but don't add padding here */
  background-color: #0a0e27;
}

/* Safe area support for webview mode */
body.webview-mode {
  /* Remove padding-bottom that could cause menu to lift */
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Navbar safe area - push content below notch */
body.webview-mode .navbar,
.webview-mode .navbar {
  /* Add safe area padding to top */
  padding-top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
  /* Extend background into the safe area */
  margin-top: calc(-1 * env(safe-area-inset-top, 0px));
  padding-left: calc(env(safe-area-inset-left, 0px) + 0.5rem);
  padding-right: calc(env(safe-area-inset-right, 0px) + 0.5rem);
}

/* For pages without navbar, add margin to main content to account for notch */
/* This is now handled in webview_hide_elements.css with margin-top */
/* Keeping this for backward compatibility but it will be overridden */
body.webview-mode #main-content:first-child,
.webview-mode .dashboard-container {
  padding-top: 0;
}

/* Ensure the status bar area has the correct background */
/* DISABLED: This ::before pseudo-element was causing visibility issues
body.webview-mode::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: env(safe-area-inset-top, 0);
  background-color: #0a0e27;
  z-index: 9999;
}
*/

/* Alternative: If navbar is not sticky, ensure top spacing */
@supports (padding-top: env(safe-area-inset-top)) {
  body.webview-mode {
    /* Safe area aware viewport - use dvh for better mobile support */
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    /* Prevent initial scroll to bottom */
    overflow-anchor: none;
  }
}

/* ============================================
   Hide Footer in Webview Mode Only
   ============================================ */
/* Footer is hidden via Rails `unless webview_mode?` in layouts */
/* This CSS is just a fallback for webview mode */
.webview-mode footer.footer {
  display: none !important;
}

/* ============================================
   Touch Targets & Interactions
   ============================================ */

/* Minimum touch target size (44x44px recommended by Apple/Google) */
button,
.btn,
a.btn,
input[type="button"],
input[type="submit"],
.nav-link,
.tab-link,
.clickable {
  min-height: 44px;
  min-width: 44px;
  padding: 12px 16px;
  touch-action: manipulation; /* Prevents double-tap zoom */
  -webkit-tap-highlight-color: rgba(0, 212, 170, 0.2);
}

/* Remove tap highlight on iOS */
* {
  -webkit-tap-highlight-color: transparent;
}

button:active,
.btn:active,
a:active {
  -webkit-tap-highlight-color: rgba(0, 212, 170, 0.3);
}

/* ============================================
   Form Elements Mobile Optimization
   ============================================ */

/* Prevent zoom on input focus (iOS) */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
textarea,
select {
  font-size: 16px !important; /* Prevents iOS zoom on focus */
  min-height: 44px;
  padding: 12px 16px;
  touch-action: manipulation;
}

/* ============================================
   Scroll Behavior
   ============================================ */

html {
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden; /* Prevent horizontal scroll */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   Tables Mobile Optimization - SMART CARD LAYOUT
   ============================================ */

/* Mobile: Smart Card layout for DASHBOARD STOCKS TABLE */
@media (max-width: 767px) {

  /* ============================================================
     STOCK CARDS — CONCEPT B+ "GLOW CARD PREMIUM"
     Ticker + Name | Glow line | Signal + Confidence | Price + Sparkline
     Events + Vous | Actions (Analyse IA / Historique / Action)
     ============================================================ */

  .dashboard-container table.stocks-table {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
  }

  .dashboard-container table.stocks-table thead {
    display: none !important;
  }

  .dashboard-container table.stocks-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  /* ====== CARD CONTAINER ====== */
  .dashboard-container table.stocks-table tr.stock-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto auto auto auto auto !important;
    grid-template-areas:
      "stock    price"
      "glow     glow"
      "signal   position"
      "perso    position"
      "events   position"
      "details  details" !important;
    gap: 0 !important;
    row-gap: 8px !important;
    position: relative !important;
    margin-bottom: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 18px !important;
    padding: 14px 14px 13px 14px !important;
    background: linear-gradient(160deg,
      rgba(18, 22, 46, 0.99) 0%,
      rgba(10, 13, 28, 1) 100%) !important;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.5) !important;
    overflow: visible !important;
    transition: box-shadow 0.2s ease !important;
  }

  /* Signal-colored tint on card background */
  .dashboard-container table.stocks-table tr.stock-row.signal-buy {
    background: linear-gradient(160deg,
      rgba(14, 22, 40, 0.99) 0%,
      rgba(0, 24, 16, 0.98) 100%) !important;
    border-color: rgba(0, 212, 170, 0.18) !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-sell {
    background: linear-gradient(160deg,
      rgba(28, 14, 18, 0.99) 0%,
      rgba(30, 6, 10, 0.98) 100%) !important;
    border-color: rgba(220, 53, 69, 0.2) !important;
  }

  /* Only stock-row gets card styling; other rows (chart dropdowns, etc.) are plain */
  .dashboard-container table.stocks-table tr:not(.stock-row) {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
  }

  .dashboard-container table.stocks-table tr.section-separator-row {
    display: none !important;
  }

  /* Hide all td by default */
  .dashboard-container table.stocks-table td {
    display: none !important;
    border: none !important;
    padding: 0 !important;
  }

  /* ====== ROW 1: TICKER + NAME (left) | PRICE (right) ====== */
  .dashboard-container table.stocks-table td.stock-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    grid-area: stock !important;
    gap: 7px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .dashboard-container table.stocks-table .stock-info-compact {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 7px !important;
  }

  .dashboard-container table.stocks-table .stock-info-compact .stock-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  /* Ticker badge — bigger, bolder */
  .dashboard-container table.stocks-table .stock-info-compact .symbol-tag {
    font-size: 13px !important;
    font-weight: 800 !important;
    padding: 4px 9px !important;
    background: linear-gradient(135deg, rgba(0, 212, 170, 0.13) 0%, rgba(0, 168, 255, 0.07) 100%) !important;
    border: 1px solid rgba(0, 212, 170, 0.28) !important;
    border-radius: 7px !important;
    color: #00d4aa !important;
    letter-spacing: 0.5px !important;
  }

  /* Stock name */
  .dashboard-container table.stocks-table .stock-info-compact .stock-name-inline {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.45) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 115px !important;
    font-weight: 400 !important;
  }

  .dashboard-container table.stocks-table .stock-info-compact .stock-actions-row {
    display: none !important;
  }

  /* Asset type badge (CRYPTO etc) — icon only */
  .dashboard-container table.stocks-table td.stock-cell .asset-type-badge {
    font-size: 0 !important;
    padding: 3px !important;
    min-width: 18px !important;
    min-height: 18px !important;
  }

  .dashboard-container table.stocks-table td.stock-cell .asset-type-badge i,
  .dashboard-container table.stocks-table td.stock-cell .asset-type-badge svg {
    font-size: 10px !important;
    width: 10px !important;
    height: 10px !important;
  }

  /* Exchange status dot */
  .dashboard-container table.stocks-table .stock-info-compact .exchange-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    border-radius: 50% !important;
    font-size: 7px !important;
  }

  /* ====== PRICE CELL (top right) ====== */
  .dashboard-container table.stocks-table td.price-cell {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    grid-area: price !important;
    padding: 0 !important;
    background: transparent !important;
    gap: 3px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  .dashboard-container table.stocks-table td.price-cell::before {
    display: none !important;
  }

  .dashboard-container table.stocks-table td.price-cell .price-display-compact {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #fff !important;
    text-align: right !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.3px !important;
  }

  .dashboard-container table.stocks-table td.price-cell .price-main {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
  }

  .dashboard-container table.stocks-table td.price-cell .price-live-dot {
    width: 5px !important;
    height: 5px !important;
    background: #00d4aa !important;
    border-radius: 50% !important;
    animation: pulse-live 2s infinite !important;
    flex-shrink: 0 !important;
    box-shadow: 0 0 4px rgba(0, 212, 170, 0.7) !important;
  }

  .dashboard-container table.stocks-table td.price-cell .price-display-compact .usd-conversion {
    font-size: 9px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    display: block !important;
    text-align: right !important;
  }

  /* Sparkline — more prominent */
  .dashboard-container table.stocks-table td.price-cell .micro-sparkline-container {
    display: block !important;
    margin-top: 4px !important;
  }

  .dashboard-container table.stocks-table td.price-cell .micro-sparkline-container canvas {
    width: 68px !important;
    height: 22px !important;
  }

  /* ====== GLOW LINE ====== */
  .dashboard-container table.stocks-table tr.stock-row::before {
    content: "" !important;
    grid-area: glow !important;
    display: block !important;
    height: 1px !important;
    border-radius: 2px !important;
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(0, 212, 170, 0.55) 25%,
      rgba(0, 168, 255, 0.45) 75%,
      transparent 100%) !important;
    margin: 2px 0 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    animation: glow-pulse 3s ease-in-out infinite !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-buy::before {
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(0, 212, 170, 1) 35%,
      rgba(34, 197, 94, 0.7) 65%,
      transparent 100%) !important;
    box-shadow: 0 0 1px rgba(0, 212, 170, 0.6) !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-sell::before {
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(239, 68, 68, 1) 35%,
      rgba(220, 53, 69, 0.7) 65%,
      transparent 100%) !important;
    box-shadow: 0 0 1px rgba(220, 53, 69, 0.6) !important;
  }

  @keyframes glow-pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
  }

  /* ====== SIGNAL CELL ====== */
  .dashboard-container table.stocks-table td.signal-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    grid-area: signal !important;
    padding: 0 2px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    gap: 8px !important;
    min-height: 0 !important;
  }

  .dashboard-container table.stocks-table td.signal-cell::before {
    content: "SIGNAL" !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.3) !important;
    letter-spacing: 0.8px !important;
    flex-shrink: 0 !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .signal-display {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
  }

  /* Main signal badge — prominent */
  .dashboard-container table.stocks-table td.signal-cell .action-badge.main-signal {
    font-size: 11px !important;
    padding: 5px 13px !important;
    font-weight: 800 !important;
    border-radius: 7px !important;
    letter-spacing: 0.4px !important;
  }

  /* Buy signal: green glow */
  .dashboard-container table.stocks-table td.signal-cell .action-badge.main-signal.buy {
    box-shadow: 0 0 14px rgba(0, 212, 170, 0.35) !important;
  }

  /* Sell signal: red glow */
  .dashboard-container table.stocks-table td.signal-cell .action-badge.main-signal.sell {
    box-shadow: 0 0 14px rgba(220, 53, 69, 0.35) !important;
  }

  /* Hold/Wait signal */
  .dashboard-container table.stocks-table td.signal-cell .action-badge.main-signal.hold,
  .dashboard-container table.stocks-table td.signal-cell .action-badge.main-signal.wait {
    box-shadow: 0 0 10px rgba(255, 167, 38, 0.2) !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .action-badge.mini {
    font-size: 9px !important;
    padding: 3px 7px !important;
    opacity: 0.9 !important;
    border-radius: 4px !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .ai-disagreement-warning {
    font-size: 11px !important;
  }

  /* Sub-row (today signal + disagreement) */
  .dashboard-container table.stocks-table td.signal-cell .signal-sub-row {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  /* ---- Today signal icon — ROUND ---- */
  .dashboard-container table.stocks-table td.signal-cell .today-signal-icon,
  .dashboard-container table.stocks-table td.signal-cell a.today-signal-icon,
  .dashboard-container table.stocks-table td.signal-cell .premium-locked-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .today-signal-icon i,
  .dashboard-container table.stocks-table td.signal-cell a.today-signal-icon i,
  .dashboard-container table.stocks-table td.signal-cell .premium-locked-icon i {
    font-size: 8px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* ---- AI confidence badge (mobile, inline with signal) ---- */
  .dashboard-container table.stocks-table td.signal-cell .mobile-conf-badge {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    border-radius: 5px !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .mobile-conf-badge.conf-high {
    background: rgba(0, 212, 170, 0.12) !important;
    color: #00d4aa !important;
    border: 1px solid rgba(0, 212, 170, 0.25) !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .mobile-conf-badge.conf-medium {
    background: rgba(245, 158, 11, 0.12) !important;
    color: #f59e0b !important;
    border: 1px solid rgba(245, 158, 11, 0.25) !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .mobile-conf-badge.conf-low {
    background: rgba(255, 77, 106, 0.12) !important;
    color: #ff4d6a !important;
    border: 1px solid rgba(255, 77, 106, 0.25) !important;
  }

  /* ====== PERSO CELL (mobile only, between signal and events) ====== */
  .dashboard-container table.stocks-table td.mobile-perso-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    grid-area: perso !important;
    padding: 0 2px !important;
    background: transparent !important;
    border: none !important;
    gap: 8px !important;
    min-height: 0 !important;
  }

  .dashboard-container table.stocks-table td.mobile-perso-cell::before {
    display: none !important;
  }

  .mobile-perso-label {
    font-size: 8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.3) !important;
    letter-spacing: 0.8px !important;
    flex-shrink: 0 !important;
  }

  .mobile-perso-badge {
    font-size: 10px !important;
    padding: 4px 10px !important;
    font-weight: 800 !important;
    border-radius: 6px !important;
  }

  .mobile-perso-locked {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    color: rgba(255, 255, 255, 0.3) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 5px !important;
    padding: 3px 8px !important;
    text-decoration: none !important;
  }

  .mobile-perso-locked i {
    font-size: 8px !important;
  }

  .mobile-perso-locked:hover {
    color: #00d4aa !important;
    border-color: rgba(0, 212, 170, 0.3) !important;
  }

  .mobile-perso-pending {
    font-size: 9px !important;
    color: rgba(255, 255, 255, 0.3) !important;
  }

  /* ====== ADAPTIVE GRID: no perso cell (portfolio flag off) ====== */
  .dashboard-container table.stocks-table tr.stock-row.no-perso {
    grid-template-rows: auto auto auto auto auto !important;
    grid-template-areas:
      "stock    price"
      "glow     glow"
      "signal   position"
      "events   position"
      "details  details" !important;
  }

  /* When no perso AND no events, compact layout */
  .dashboard-container table.stocks-table tr.stock-row.no-perso.no-events {
    grid-template-rows: auto auto auto auto !important;
    grid-template-areas:
      "stock    price"
      "glow     glow"
      "signal   position"
      "details  details" !important;
  }

  /* Hide empty events cell when no events and no perso */
  .dashboard-container table.stocks-table tr.stock-row.no-perso.no-events td.events-cell {
    display: none !important;
  }

  /* Position cell adapts span */
  .dashboard-container table.stocks-table tr.stock-row.no-perso td.position-cell {
    grid-row: 3 / 5 !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.no-perso.no-events td.position-cell {
    grid-row: 3 / 4 !important;
  }

  /* ====== POSITION CELL (right, spans rows 3-5) — shows J+1 on mobile ====== */
  .dashboard-container table.stocks-table td.position-cell {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    grid-area: position !important;
    grid-row: 3 / 6 !important;
    padding: 10px 12px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius: 12px !important;
    gap: 5px !important;
    min-width: 78px !important;
    margin-left: 6px !important;
    overflow: hidden !important;
  }

  /* Tint J+1 cell border by signal */
  .dashboard-container table.stocks-table tr.stock-row.signal-buy td.position-cell {
    background: rgba(0, 212, 170, 0.06) !important;
    border-color: rgba(0, 212, 170, 0.18) !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-sell td.position-cell {
    background: rgba(220, 53, 69, 0.06) !important;
    border-color: rgba(220, 53, 69, 0.18) !important;
  }

  /* Watchlist PnL block - HIDDEN on mobile card mode (info moved to custom tooltip on PnL badge) */
  .dashboard-container table.stocks-table td.position-cell .watchlist-pnl-block {
    display: none !important;
  }

  /* Card J+1 display — shown on mobile for watchlist stocks */
  .dashboard-container table.stocks-table td.position-cell .card-j1-display {
    display: flex !important;
    overflow: hidden !important;
    max-width: 100% !important;
  }

  .dashboard-container table.stocks-table td.position-cell .card-j1-display .mobile-j1-display {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Hide desktop P&L content on mobile */
  .dashboard-container table.stocks-table td.position-cell .position-two-cols {
    display: none !important;
  }

  /* J+1 display block (mobile only) */
  .dashboard-container table.stocks-table td.position-cell .mobile-j1-display {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-label {
    font-size: 8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.35) !important;
    letter-spacing: 1.2px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-value {
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    line-height: 1 !important;
    text-shadow: 0 0 12px currentColor !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-value.positive {
    color: #00d4aa !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-value.negative {
    color: #ff4d6a !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-baseline {
    font-size: 7px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.3) !important;
    letter-spacing: 0.5px !important;
    margin-top: -2px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-locked {
    opacity: 0.4 !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-lock-icon {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.35) !important;
  }

  /* Confidence label text under bar */
  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-text {
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    opacity: 0.6 !important;
    margin-top: 1px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-text.conf-high {
    color: #00d4aa !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-text.conf-medium {
    color: #f59e0b !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-text.conf-low {
    color: #ff4d6a !important;
  }

  /* Confidence bar under Est. Close value */
  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-bar {
    width: 100% !important;
    height: 3px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    margin-top: 2px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-fill {
    height: 100% !important;
    border-radius: 2px !important;
    transition: width 0.4s ease !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-fill.conf-high {
    background: #00d4aa !important;
    box-shadow: 0 0 4px rgba(0, 212, 170, 0.6) !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-fill.conf-medium {
    background: #f59e0b !important;
    box-shadow: 0 0 4px rgba(245, 158, 11, 0.5) !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-fill.conf-low {
    background: #ff4d6a !important;
    box-shadow: 0 0 4px rgba(255, 77, 106, 0.5) !important;
  }

  .dashboard-container table.stocks-table td.position-cell .pos-shares-inline {
    display: none !important;
  }

  /* ====== EVENTS CELL ====== */
  .dashboard-container table.stocks-table td.events-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    grid-area: events !important;
    padding: 0 2px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    gap: 6px !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    justify-self: stretch !important;
  }

  .dashboard-container table.stocks-table td.events-cell::before {
    content: "EVENTS" !important;
    display: block !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.25) !important;
    letter-spacing: 0.8px !important;
    flex-shrink: 0 !important;
  }

  /* Hide "EVENTS" label when no events (only dash shown) */
  .dashboard-container table.stocks-table td.events-cell:not(:has(.event-icon))::before {
    display: none !important;
  }

  .dashboard-container table.stocks-table td.events-cell .events-icons {
    display: flex !important;
    flex-direction: row !important;
    gap: 5px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  .dashboard-container table.stocks-table td.events-cell .event-icon {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 9px !important;
  }

  /* Hide dash when no events */
  .dashboard-container table.stocks-table td.events-cell .text-muted {
    display: none !important;
  }

  /* ====== PERSONALIZED SIGNAL (VOUS) — hidden, merged into events row ====== */
  .dashboard-container table.stocks-table td.personalized-signal-cell,
  .dashboard-container table.stocks-table tr.stock-row td.personalized-signal-cell {
    display: none !important;
  }

  /* ====== DETAILS CELL — Action buttons ====== */
  .dashboard-container table.stocks-table td.details-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 6px !important;
    grid-area: details !important;
    width: 100% !important;
    padding: 8px 0 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    margin-top: 2px !important;
    height: auto !important;
    min-height: 44px !important;
  }

  .dashboard-container table.stocks-table td.details-cell::before {
    display: none !important;
  }

  /* ---- Historique button (chart, left icon) ---- */
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart,
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart.mobile-only {
    display: inline-flex !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(99, 102, 241, 0.1) !important;
    border: 1px solid rgba(99, 102, 241, 0.2) !important;
    border-radius: 10px !important;
    color: #a5b4fc !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-chart .fa-chart-line {
    font-size: 13px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-chart .chevron-icon,
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart .btn-details-text {
    display: none !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-chart[aria-expanded="true"] {
    background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(99, 102, 241, 0.4) !important;
  }

  /* ---- P&L badge (compact, between chart btn and AI btn) ---- */
  .dashboard-container table.stocks-table td.details-cell .mobile-pnl-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 36px !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
    white-space: nowrap !important;
    transition: all 0.2s ease !important;
  }

  .dashboard-container table.stocks-table td.details-cell .mobile-pnl-badge.positive {
    background: rgba(0, 212, 170, 0.09) !important;
    border: 1px solid rgba(0, 212, 170, 0.22) !important;
    color: #00d4aa !important;
  }

  .dashboard-container table.stocks-table td.details-cell .mobile-pnl-badge.negative {
    background: rgba(255, 77, 106, 0.09) !important;
    border: 1px solid rgba(255, 77, 106, 0.22) !important;
    color: #ff4d6a !important;
  }

  /* ---- Analyse IA button (main CTA, flex: 1) ---- */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai {
    flex: 1 1 auto !important;
    height: 36px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg,
      rgba(0, 168, 255, 0.12) 0%,
      rgba(0, 212, 170, 0.08) 100%) !important;
    border: 1px solid rgba(0, 168, 255, 0.22) !important;
    border-radius: 10px !important;
    color: #00a8ff !important;
    letter-spacing: 0.2px !important;
    transition: all 0.2s ease !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai i {
    font-size: 12px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .btn-details-text {
    display: inline !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai[aria-expanded="true"] {
    background: linear-gradient(135deg, #00a8ff, #00d4aa) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 2px 14px rgba(0, 168, 255, 0.4) !important;
  }

  /* ---- Transaction (Action) button — wrapper + button must both stretch ---- */
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    display: flex !important;
    align-items: stretch !important;
    flex: 0 0 36px !important;
    width: 36px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .transaction-dropdown-component,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .dropdown {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 100% !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    display: flex !important;
    width: 36px !important;
    height: 100% !important;
    min-height: 36px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 167, 38, 0.1) !important;
    border: 1px solid rgba(255, 167, 38, 0.22) !important;
    border-radius: 10px !important;
    color: #ffb347 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-bottom: 0 !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
    font-size: 14px !important;
    margin: 0 !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* ====== HIDE desktop-only cells ====== */
  .dashboard-container table.stocks-table td.chart-cell,
  .dashboard-container table.stocks-table td.prediction-cell {
    display: none !important;
  }

  /* ====== LIVE DOT ANIMATION ====== */
  .dashboard-container table.stocks-table td.price-cell .price-live-dot {
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #00d4aa !important;
    margin-left: 0.15rem !important;
    vertical-align: middle !important;
    animation: pulse-live 2s infinite !important;
    box-shadow: 0 0 5px rgba(0, 212, 170, 0.6) !important;
  }

  /* ====== YOUR STOCK EVENTS - 2x2 Grid on Mobile ====== */
  .dashboard-container .stock-events-section .stock-events-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .dashboard-container .stock-events-section .stock-event-card {
    padding: 8px 10px !important;
    border-radius: 10px !important;
    border-left-width: 3px !important;
  }

  .dashboard-container .stock-events-section .stock-event-header {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    align-items: center !important;
    margin-bottom: 4px !important;
  }

  .dashboard-container .stock-events-section .stock-event-header .event-emoji {
    font-size: 14px !important;
  }

  .dashboard-container .stock-events-section .stock-event-header .event-symbol {
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .dashboard-container .stock-events-section .stock-event-header .event-type-badge {
    font-size: 8px !important;
    padding: 2px 5px !important;
    border-radius: 4px !important;
  }

  .dashboard-container .stock-events-section .stock-event-body .stock-name {
    font-size: 10px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .dashboard-container .stock-events-section .stock-event-body .event-date,
  .dashboard-container .stock-events-section .stock-event-body .event-details {
    font-size: 9px !important;
    color: rgba(255, 255, 255, 0.5) !important;
  }

  .dashboard-container .stock-events-section .section-header-mini h5 {
    font-size: 13px !important;
  }

  /* ====== CHART DROPDOWN expanded row ====== */
  .dashboard-container table.stocks-table tr.chart-dropdown-row,
  .dashboard-container table.stocks-table tr.ai-analysis-row {
    border: none !important;
  }

  .dashboard-container table.stocks-table tr.chart-dropdown-row {
    display: block !important;
    margin-top: -0.35rem !important;
    border-top: none !important;
    border-radius: 0 0 10px 10px !important;
    background: linear-gradient(180deg, rgba(20, 25, 45, 0.98) 0%, rgba(26, 31, 58, 0.95) 100%) !important;
    padding: 0 !important;
    border: none !important;
  }

  .dashboard-container table.stocks-table tr.chart-dropdown-row td {
    display: block !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .dashboard-container table.stocks-table tr.chart-dropdown-row td.chart-dropdown-cell {
    padding: 0 !important;
  }

  .dashboard-container table.stocks-table tr.chart-dropdown-row .collapse {
    padding: 0.5rem !important;
  }

  .dashboard-container table.stocks-table tr.chart-dropdown-row .chart-dropdown-card {
    padding: 0.4rem !important;
  }

  /* Period selector in chart dropdown - fit all buttons */
  .dashboard-container table.stocks-table tr.chart-dropdown-row .period-selector,
  .chart-dropdown-card .period-selector,
  .historical-chart-section .period-selector {
    gap: 0.15rem !important;
    padding: 0.15rem !important;
    flex-wrap: nowrap !important;
  }

  .dashboard-container table.stocks-table tr.chart-dropdown-row .period-selector .period-btn,
  .chart-dropdown-card .period-selector .period-btn,
  .historical-chart-section .period-selector .period-btn {
    font-size: 0.6rem !important;
    padding: 0.25rem 0.35rem !important;
    min-width: auto !important;
  }

  /* ====== AI Analysis expanded row ====== */
  .dashboard-container table.stocks-table tr.ai-analysis-row {
    display: block !important;
    margin-top: -0.35rem !important;
    border-top: none !important;
    border-radius: 0 0 10px 10px !important;
    background: linear-gradient(180deg, rgba(15, 20, 38, 0.98) 0%, rgba(20, 28, 50, 0.95) 100%) !important;
    padding: 0 !important;
    border: none !important;

  }

  .dashboard-container table.stocks-table tr.ai-analysis-row td {
    display: block !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .dashboard-container table.stocks-table tr.ai-analysis-row td.ai-analysis-cell {
    padding: 0 !important;
  }

  .dashboard-container table.stocks-table tr.ai-analysis-row .collapse {
    padding: 0.5rem !important;
  }

  /* ====== FIX: AI Enhanced Badge - hide on mobile ====== */
  .dashboard-container table.stocks-table .stock-info-compact .stock-actions-row {
    display: none !important;
  }

  .dashboard-container table.stocks-table .stock-info-compact .ai-analysis-badge.mini {
    display: none !important;
  }

  /* Show asset type badge inline with symbol */
  .dashboard-container table.stocks-table .stock-info-compact .asset-type-badge {
    font-size: 0.4rem !important;
    padding: 0.12rem 0.3rem !important;
    border-radius: 4px !important;
  }

  /* ====== FIX: Stop Loss overflow - prevent text overflow ====== */
  .dashboard-container .ai-analysis-card .signal-trading-block {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .dashboard-container .ai-analysis-card .primary-trading-row {
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
    max-width: 100% !important;
  }

  .dashboard-container .ai-analysis-card .key-levels-group {
    flex-wrap: wrap !important;
    gap: 0.3rem !important;
    max-width: 100% !important;
  }

  .dashboard-container .ai-analysis-card .level-chip {
    padding: 0.25rem 0.4rem !important;
    gap: 0.2rem !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .dashboard-container .ai-analysis-card .level-chip .level-label {
    font-size: 0.45rem !important;
    white-space: nowrap !important;
  }

  .dashboard-container .ai-analysis-card .level-chip .level-value {
    font-size: 0.55rem !important;
    white-space: nowrap !important;
  }

  .dashboard-container .ai-analysis-card .level-chip .level-pct {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.2rem !important;
    white-space: nowrap !important;
  }

  .dashboard-container .ai-analysis-card .secondary-trading-row {
    flex-wrap: wrap !important;
    gap: 0.3rem !important;
    max-width: 100% !important;
  }

  /* ====== FIX: Complementary Information title - smaller font ====== */
  .dashboard-container .ai-analysis-card .complementary-info-section {
    margin-top: 0.5rem !important;
    padding-top: 0.5rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .section-title {
    font-size: 0.55rem !important;
    gap: 0.3rem !important;
    margin-bottom: 0.5rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .section-title i {
    font-size: 0.5rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-blocks-grid {
    gap: 0.4rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block {
    padding: 0.4rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-icon {
    font-size: 0.7rem !important;
    margin-right: 0.25rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-title {
    font-size: 0.5rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-content {
    font-size: 0.6rem !important;
    line-height: 1.4 !important;
    margin-top: 0.3rem !important;
  }

  /* ====== FIX: Exchange Status & Event Icons - force round (not oval) ====== */
  .dashboard-container table.stocks-table .stock-info-compact .exchange-status {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    font-size: 0.5rem !important;
    flex-shrink: 0 !important;
  }

  .dashboard-container table.stocks-table .stock-info-compact .exchange-status i {
    font-size: 0.5rem !important;
  }

  .dashboard-container table.stocks-table td.events-cell .event-icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  .dashboard-container table.stocks-table td.events-cell .event-icon i {
    font-size: 0.5rem !important;
  }

  .dashboard-container table.stocks-table .ai-analysis-card {
    padding: 0.5rem !important;
    margin: 0;
    border-radius: 0 0 10px 10px;
    border-top: none;
  }
  
  .dashboard-container table.stocks-table .growth-estimates-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.3rem !important;
  }
  
  .dashboard-container table.stocks-table .growth-estimates-container .metric-item {
    padding: 0.35rem !important;
  }
  
  .dashboard-container table.stocks-table .growth-estimates-container .metric-label {
    font-size: 0.5rem !important;
  }
  
  .dashboard-container table.stocks-table .growth-estimates-container .metric-value {
    font-size: 0.7rem !important;
  }
  
  /* Events in AI analysis */
  .dashboard-container table.stocks-table .events-analysis-container {
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
    padding: 0.5rem !important;
    border-radius: 8px !important;
  }
  
  .dashboard-container table.stocks-table .events-analysis-header {
    margin-bottom: 0.5rem !important;
  }
  
  .dashboard-container table.stocks-table .events-analysis-header h5 {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
  }
  
  .dashboard-container table.stocks-table .events-analysis-header h5 i {
    font-size: 0.65rem !important;
    margin-right: 0.3rem !important;
  }
  
  .dashboard-container table.stocks-table .events-analysis-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem !important;
  }
  
  .dashboard-container table.stocks-table .event-analysis-item {
    padding: 0.5rem 0.4rem !important;
    gap: 0.35rem !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    font-size: 0.6rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  
  .dashboard-container table.stocks-table .event-analysis-item i {
    font-size: 0.7rem !important;
    min-width: 14px !important;
    flex-shrink: 0 !important;
    margin-top: 0.05rem !important;
  }
  
  .dashboard-container table.stocks-table .event-analysis-item .event-analysis-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 0.2rem !important;
    overflow: visible !important;
    width: auto !important;
  }
  
  .dashboard-container table.stocks-table .event-analysis-item .event-analysis-text strong {
    font-size: 0.6rem !important;
    display: block !important;
    margin-bottom: 0.1rem !important;
  }
  
  .dashboard-container table.stocks-table .event-analysis-item .event-analysis-text span {
    font-size: 0.55rem !important;
    line-height: 1.4 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    max-width: 100% !important;
    display: block !important;
    white-space: normal !important;
  }
  
  /* ====== AI Analysis Content - FORCE ALL TEXT WRAPPING ====== */
  .dashboard-container .ai-analysis-card {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  
  .dashboard-container .ai-analysis-card .ai-analysis-content {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  
  /* AI Reasoning text - exact class from HTML */
  .dashboard-container .ai-analysis-card .reasoning-text,
  .dashboard-container .ai-analysis-card .metric-value.reasoning-text {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    display: block !important;
    font-size: 0.65rem !important;
    line-height: 1.5 !important;
  }
  
  /* Card rationale - ANALYSIS text section */
  .dashboard-container .ai-analysis-card .card-rationale {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  
  .dashboard-container .ai-analysis-card .card-rationale p {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    font-size: 0.7rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
  
  .dashboard-container .ai-analysis-card .rationale-header {
    font-size: 0.65rem !important;
    margin-bottom: 0.3rem !important;
  }
  
  .dashboard-container .ai-analysis-card .rationale-header span {
    font-size: 0.6rem !important;
  }
  
  /* Analysis grid - stack on mobile */
  .dashboard-container .ai-analysis-card .analysis-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
  }
  
  /* Forecast cards in AI analysis */
  .dashboard-container .ai-analysis-card .forecast-card,
  .dashboard-container .ai-analysis-card .daily-forecast-card,
  .dashboard-container .ai-analysis-card .weekly-forecast-card {
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 0.5rem !important;
  }
  
  /* Forecast card headers */
  .dashboard-container .ai-analysis-card .forecast-header,
  .dashboard-container .ai-analysis-card .card-header {
    font-size: 0.75rem !important;
    padding: 0.4rem !important;
    flex-wrap: wrap;
    gap: 0.3rem;
  }
  
  .dashboard-container .ai-analysis-card .forecast-header h4,
  .dashboard-container .ai-analysis-card .card-header h4 {
    font-size: 0.7rem !important;
  }
  
  /* Forecast metrics grid */
  .dashboard-container .ai-analysis-card .forecast-metrics,
  .dashboard-container .ai-analysis-card .metrics-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.3rem !important;
  }
  
  .dashboard-container .ai-analysis-card .metric-item {
    padding: 0.3rem !important;
  }
  
  .dashboard-container .ai-analysis-card .metric-label {
    font-size: 0.5rem !important;
  }
  
  .dashboard-container .ai-analysis-card .metric-value {
    font-size: 0.65rem !important;
  }
  
  /* AI Reasoning box - FORCE TEXT WRAPPING */
  .dashboard-container .ai-analysis-card .reasoning-box,
  .dashboard-container .ai-analysis-card .ai-reasoning,
  .dashboard-container .ai-analysis-card [class*="reasoning"] {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    padding: 0.5rem !important;
    box-sizing: border-box !important;
  }
  
  .dashboard-container .ai-analysis-card .reasoning-box p,
  .dashboard-container .ai-analysis-card .ai-reasoning p,
  .dashboard-container .ai-analysis-card [class*="reasoning"] p {
    font-size: 0.7rem !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
  }
  
  /* Analysis text sections - FORCE TEXT WRAPPING */
  .dashboard-container .ai-analysis-card .analysis-section,
  .dashboard-container .ai-analysis-card .analysis-text,
  .dashboard-container .ai-analysis-card .ai-analysis-text,
  .dashboard-container .ai-analysis-card .forecast-analysis-text,
  .dashboard-container .ai-analysis-card .analysis-content {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
  
  .dashboard-container .ai-analysis-card .analysis-section p,
  .dashboard-container .ai-analysis-card .analysis-text p,
  .dashboard-container .ai-analysis-card .ai-analysis-text p,
  .dashboard-container .ai-analysis-card .forecast-analysis-text p,
  .dashboard-container .ai-analysis-card .analysis-content p {
    font-size: 0.7rem !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
  }
  
  /* Full recommendation - FORCE TEXT WRAPPING */
  .dashboard-container .ai-analysis-card .full-recommendation,
  .dashboard-container .ai-analysis-card [class*="recommendation"] {
    font-size: 0.75rem !important;
    padding: 0.4rem !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
  }
  
  /* Complementary section - FORCE TEXT WRAPPING */
  .dashboard-container .ai-analysis-card .complementary-section {
    margin-top: 0.5rem !important;
    padding-top: 0.5rem !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .dashboard-container .ai-analysis-card .complementary-header {
    font-size: 0.75rem !important;
    word-break: break-word !important;
    white-space: normal !important;
  }

  .dashboard-container .ai-analysis-card .complementary-header span {
    font-size: 0.7rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-content {
    padding: 0.5rem !important;
    font-size: 0.7rem !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  .dashboard-container .ai-analysis-card .complementary-content p {
    font-size: 0.7rem !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    margin-bottom: 0.4rem !important;
    max-width: 100% !important;
  }
  
  /* Complementary info box - dark background text container */
  .dashboard-container .ai-analysis-card .complementary-info-box,
  .dashboard-container .ai-analysis-card .info-box,
  .dashboard-container .ai-analysis-card .info-content,
  .dashboard-container .ai-analysis-card .markdown-content,
  .dashboard-container .ai-analysis-card pre,
  .dashboard-container .ai-analysis-card code {
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: pre-wrap !important;
    box-sizing: border-box !important;
    font-size: 0.65rem !important;
    line-height: 1.4 !important;
  }
  
  /* Action badges in AI analysis */
  .dashboard-container .ai-analysis-card .action-badge {
    font-size: 0.55rem !important;
    padding: 0.2rem 0.4rem !important;
  }
  
  /* Confidence display */
  .dashboard-container .ai-analysis-card .confidence-display,
  .dashboard-container .ai-analysis-card .confidence-bar {
    height: 18px !important;
  }
  
  .dashboard-container .ai-analysis-card .confidence-text {
    font-size: 0.5rem !important;
  }
  
  /* ====== Today's Watch List - Compact on mobile ====== */
  .dashboard-container .watch-lists-container {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  
  .dashboard-container .watch-list-section {
    margin-bottom: 0.5rem !important;
  }
  
  .dashboard-container .watch-list-card {
    padding: 0.5rem !important;
    border-radius: 8px !important;
  }
  
  .dashboard-container .watch-list-header {
    margin-bottom: 0.4rem !important;
  }
  
  .dashboard-container .watch-list-header .watch-title {
    font-size: 0.7rem !important;
    gap: 0.3rem !important;
    font-weight: 600 !important;
  }
  
  .dashboard-container .watch-list-header .watch-title i {
    font-size: 0.6rem !important;
  }
  
  .dashboard-container .watch-list-content {
    gap: 0.25rem !important;
  }
  
  .dashboard-container .watch-list-content .watch-item,
  .dashboard-container .watch-list-content .stock-watch-item {
    padding: 0.35rem 0 !important;
    border-radius: 6px !important;
  }
  
  .dashboard-container .watch-list-content .watch-icon {
    font-size: 0.65rem !important;
  }
  
  .dashboard-container .watch-list-content .watch-text {
    font-size: 0.5rem !important;
    line-height: 1.3 !important;
  }
  
  .dashboard-container .watch-list-content .watch-text strong {
    font-size: 0.45rem !important;
    margin-bottom: 0.1rem !important;
    letter-spacing: 0.3px !important;
  }
  
  .dashboard-container .watch-list-content .watch-text span {
    font-size: 0.45rem !important;
    line-height: 1.3 !important;
  }
  
  .dashboard-container .watch-list-content .watch-item {
    gap: 0.4rem !important;
  }
  
  .dashboard-container .watch-list-content .stock-symbol,
  .dashboard-container .watch-list-content .watch-symbol {
    font-size: 0.65rem !important;
  }
  
  .dashboard-container .watch-list-content .stock-name,
  .dashboard-container .watch-list-content .watch-name {
    font-size: 0.5rem !important;
  }
  
  .dashboard-container .watch-list-content .stock-price,
  .dashboard-container .watch-list-content .watch-price {
    font-size: 0.6rem !important;
  }
  
  .dashboard-container .watch-list-content .stock-change,
  .dashboard-container .watch-list-content .watch-change {
    font-size: 0.5rem !important;
  }
  
  .dashboard-container .watch-list-content .action-badge {
    font-size: 0.45rem !important;
    padding: 0.12rem 0.25rem !important;
  }

  /* ====================================================
     OPPORTUNITIES PAGE — Mobile optimizations
     ==================================================== */

  /* 1. Warning disclaimer — compact */
  .opportunities-section .disclaimer-box {
    padding: 8px 10px !important;
    margin-bottom: 10px !important;
    font-size: 0 !important;
    border-radius: 10px !important;
  }

  .opportunities-section .disclaimer-box .d-flex {
    gap: 8px !important;
    align-items: flex-start !important;
  }

  .opportunities-section .disclaimer-box > .d-flex > i {
    font-size: 13px !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
  }

  .opportunities-section .disclaimer-box strong {
    font-size: 10px !important;
    display: block !important;
    margin-bottom: 3px !important;
  }

  .opportunities-section .disclaimer-box p,
  .opportunities-section .disclaimer-box small {
    font-size: 9px !important;
    line-height: 1.35 !important;
    margin-bottom: 2px !important;
    display: block !important;
  }

  .opportunities-section .disclaimer-box .text-danger {
    font-size: 9px !important;
  }

  /* 2. Section header — same as dashboard (80%/20%, icon-only square buttons) */
  .opportunities-section .section-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 4px !important;
  }

  .opportunities-section .section-header .section-title {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 0.5rem !important;
    margin-top: 0 !important;
  }

  .opportunities-section .section-header .section-title h2 {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .opportunities-section .section-header .section-title h2 i {
    font-size: 13px !important;
    margin-right: 5px !important;
  }

  .opportunities-section .section-header .section-title p {
    display: none !important;
  }

  /* section-actions: flex row, right-aligned */
  .opportunities-section .section-header .section-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .opportunities-section .section-header .section-actions .mobile-section-btns {
    display: flex !important;
    flex-direction: row !important;
    gap: 6px !important;
    align-items: center !important;
    margin-bottom: 0 !important;
  }

  .opportunities-section .section-header .section-actions .manage-portfolio-btn {
    margin-bottom: 8px !important;
  }


  /* 3. Opportunity cards — new design, mobile tweaks */
  .opportunities-section .opportunities-grid {
    gap: 10px !important;
  }

  .opportunities-section .opp-card-top {
    padding: 11px 13px 9px !important;
  }

  .opportunities-section .opp-return-hero {
    font-size: 1.2rem !important;
  }

  .opportunities-section .opp-card-identity {
    padding: 9px 13px !important;
    gap: 6px !important;
  }

  .opportunities-section .opp-tags {
    justify-content: flex-start !important;
  }

  .opportunities-section .opp-metrics-row {
    padding: 9px 13px !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  .opportunities-section .opp-metric-divider {
    display: none !important;
  }

  .opportunities-section .opp-metric-confidence {
    margin-left: auto !important;
  }

  .opportunities-section .opp-metric-label {
    font-size: 0.65rem !important;
  }

  .opportunities-section .opp-metric-value {
    font-size: 0.88rem !important;
  }

  .opportunities-section .opp-rationale {
    padding: 9px 13px 13px !important;
  }

  .opportunities-section .opp-rationale-text {
    font-size: 0.8rem !important;
    line-height: 1.45 !important;
  }

  .opportunities-section .opp-symbol {
    font-size: 1.1rem !important;
  }

  .opportunities-section .opp-name {
    max-width: 160px !important;
  }

  /* Card top — prevent overflow on narrow screens */
  .opportunities-section .opp-card-top {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  /* Return hero takes full second line if needed */
  .opportunities-section .opp-return-hero {
    order: 3 !important;
    flex: 1 1 auto !important;
  }

  /* Index number hidden on mobile (saves space) */
  .opportunities-section .opp-card-index {
    display: none !important;
  }

  /* Actions always on right of top bar */
  .opportunities-section .opp-card-actions {
    order: 4 !important;
    margin-left: auto !important;
  }

  /* Metrics row: hide arrow on mobile, wrap nicely */
  .opportunities-section .opp-metric-arrow {
    display: none !important;
  }

  .opportunities-section .opp-metrics-row {
    gap: 8px 0 !important;
  }

  .opportunities-section .opp-metric {
    min-width: 70px !important;
  }

  /* Header actions full width on mobile */
  .opportunities-section .opp-header-actions {
    flex-direction: column !important;
    width: 100% !important;
  }

  .opportunities-section .btn-opp-generate,
  .opportunities-section .btn-opp-configure {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Track record: wrap items */
  .opportunities-section .opp-track-record {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px 20px !important;
  }

  .opportunities-section .opp-tr-badge {
    margin-left: 0 !important;
    width: 100% !important;
    justify-content: center !important;
  }

  .opportunities-section .opp-tr-divider {
    display: none !important;
  }

  /* ====================================================
     END OPPORTUNITIES — Mobile optimizations
     ==================================================== */

  /* Hide hero on mobile for pricing/static pages — NOT blog articles */
  .page-hero-v2:not(.blog-article-hero-v2) {
    display: none !important;
  }

  /* Blog article hero — compact for mobile */
  .blog-article-hero-v2 {
    padding: 60px 0 24px !important;
  }

  .blog-article-hero-v2 .article-title-v2 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }

  .blog-article-hero-v2 .breadcrumb-v2 {
    display: none !important;
  }

  .blog-article-hero-v2 .article-meta-v2 span:has(.fa-clock),
  .blog-article-hero-v2 .article-meta-v2 span:has(.fa-eye) {
    display: none !important;
  }

  .blog-article-hero-v2 .article-meta-v2 {
    font-size: 0.8rem !important;
    gap: 10px !important;
  }

  .blog-article-hero-v2 .article-excerpt-v2 {
    display: none !important;
  }

  .blog-article-hero-v2 .featured-image-v2 {
    margin-top: 16px !important;
    border-radius: 8px !important;
  }

  /* ====== DASHBOARD TABS — Segment Control (mobile only) ====== */

  .dashboard-tabs {
    margin-bottom: 16px !important;
  }

  /* ── Unified tab container: both pages identical ── */
  .dashboard-tabs .nav-tabs,
  .dashboard-tabs .nav-tabs:has(.nav-item:nth-child(4)),
  #dashboardTabs,
  #accountTabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    position: relative !important;
    width: 100% !important;
    height: 52px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border-radius: 10px !important;
    padding: 0 !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* Each tab item — equal width, full height */
  .dashboard-tabs .nav-tabs .nav-item,
  #dashboardTabs .nav-item,
  #accountTabs .nav-item {
    flex: 1 1 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
  }

  /* Thin separator between tabs */
  .dashboard-tabs .nav-tabs .nav-item + .nav-item,
  #dashboardTabs .nav-item + .nav-item,
  #accountTabs .nav-item + .nav-item {
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  /* Hide separator next to active tab */
  .dashboard-tabs .nav-tabs .nav-item:has(.nav-link.active),
  .dashboard-tabs .nav-tabs .nav-item:has(.nav-link.active) + .nav-item,
  #dashboardTabs .nav-item:has(.nav-link.active),
  #dashboardTabs .nav-item:has(.nav-link.active) + .nav-item,
  #accountTabs .nav-item:has(.nav-link.active),
  #accountTabs .nav-item:has(.nav-link.active) + .nav-item {
    border-left-color: transparent !important;
  }

  /* The nav-link button — icon + label stacked, identical on both pages */
  .dashboard-tabs .nav-tabs .nav-link,
  .dashboard-tabs .nav-tabs .nav-link:focus,
  .dashboard-tabs .nav-tabs .nav-link:hover,
  #dashboardTabs .nav-link,
  #dashboardTabs .nav-link:focus,
  #dashboardTabs .nav-link:hover,
  #accountTabs .nav-link,
  #accountTabs .nav-link:focus,
  #accountTabs .nav-link:hover {
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: 100% !important;
    height: 100% !important;
    padding: 8px 4px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.38) !important;
    font-size: 0 !important;
    transition: color 0.18s ease !important;
    position: relative !important;
    z-index: 1 !important;
    outline: none !important;
    box-shadow: none !important;
  }

  /* Icon size — identical on both pages */
  .dashboard-tabs .nav-tabs .nav-link i,
  #dashboardTabs .nav-link i,
  #accountTabs .nav-link i {
    font-size: 15px !important;
    line-height: 1 !important;
    pointer-events: none !important;
    transition: color 0.18s ease !important;
    flex-shrink: 0 !important;
  }

  /* Hide legacy text spans */
  .dashboard-tabs .nav-tabs .nav-link span.tab-text-full,
  .dashboard-tabs .nav-tabs .nav-link span.tab-text-mobile,
  #dashboardTabs .nav-link span.tab-text-full,
  #dashboardTabs .nav-link span.tab-text-mobile,
  #accountTabs .nav-link span.tab-text-full,
  #accountTabs .nav-link span.tab-text-mobile {
    display: none !important;
  }

  /* Tab label — identical on both pages */
  .dashboard-tabs .nav-tabs .nav-link span.tab-label,
  #dashboardTabs .nav-link span.tab-label,
  #accountTabs .nav-link span.tab-label {
    display: block !important;
    visibility: visible !important;
    font-size: 0.46rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    opacity: 0.75;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: inherit !important;
  }

  /* Active state — both pages */
  #dashboardTabs .nav-link.active,
  #dashboardTabs .nav-item.show .nav-link,
  #dashboardTabs .nav-link.active:focus,
  #dashboardTabs .nav-link.active:hover,
  #accountTabs .nav-link.active,
  #accountTabs .nav-item.show .nav-link,
  #accountTabs .nav-link.active:focus,
  #accountTabs .nav-link.active:hover {
    background: transparent !important;
    background-image: none !important;
    color: #00d4aa !important;
    border: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
  }

  #dashboardTabs .nav-link.active i,
  #dashboardTabs .nav-link.active:hover i,
  #accountTabs .nav-link.active i,
  #accountTabs .nav-link.active:hover i {
    color: #00d4aa !important;
    filter: none !important;
  }

  #dashboardTabs .nav-link.active span.tab-label,
  #accountTabs .nav-link.active span.tab-label {
    opacity: 1 !important;
    font-weight: 600 !important;
  }

  /* Notification dot */
  .dashboard-tabs .nav-tabs .nav-link .notification-badge,
  .dashboard-tabs .nav-tabs .nav-link .defcon-badge {
    position: absolute !important;
    top: 5px !important;
    right: calc(50% - 12px) !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    font-size: 0 !important;
    padding: 0 !important;
    background: #ff4d6a !important;
    border: none !important;
    z-index: 2 !important;
  }
}

/* ============================================
   Hide mobile-only elements on tablet/desktop
   ============================================ */

@media (min-width: 768px) {
  .dashboard-container table.stocks-table td.position-cell .mobile-j1-display {
    display: none !important;
  }
  .dashboard-container table.stocks-table td.details-cell .mobile-pnl-badge {
    display: none !important;
  }
  .dashboard-container table.stocks-table td.mobile-perso-cell {
    display: none !important;
  }
}


/* ============================================
   iPad Tablet Optimizations (768px - 1024px)
   Slightly larger fonts than phone
   ============================================ */

@media (min-width: 768px) and (max-width: 1024px) {
  /* Full-width container on iPad — override Bootstrap's 720px max-width */
  .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  /* Global table font size increase for iPad - LARGER */
  .dashboard-container table.stocks-table {
    font-size: 1rem !important;
  }

  /* Stock symbol and name - LARGER on iPad */
  .dashboard-container table.stocks-table .stock-symbol {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
  }

  .dashboard-container table.stocks-table .stock-name {
    font-size: 0.85rem !important;
  }

  /* Signal badge - LARGER on iPad */
  .dashboard-container table.stocks-table .action-badge {
    font-size: 0.75rem !important;
    padding: 0.4rem 0.7rem !important;
  }

  /* Price - MUCH LARGER on iPad (+15%) */
  .dashboard-container table.stocks-table .stock-price {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
  }

  .dashboard-container table.stocks-table .price-change {
    font-size: 1.05rem !important;
    font-weight: 500 !important;
  }

  /* J+1 and J+7 predictions - iPad specific sizes */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.65rem !important;
    font-weight: 500 !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change.positive {
    font-size: 0.65rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change.negative {
    font-size: 0.65rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.55rem !important;
  }

  /* Price container - iPad specific */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.7rem !important;
  }

  /* Price main wrapper - keep price and live dot on same line on iPad */
  .stocks-table .price-display-compact .price-main {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    white-space: nowrap !important;
    gap: 0.2rem !important;
  }

  /* Live dot indicator for crypto prices on iPad */
  .stocks-table .price-display-compact .price-live-dot {
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #00d4aa !important;
    margin-left: 0.2rem !important;
    vertical-align: middle !important;
    animation: pulse-live 2s infinite !important;
    box-shadow: 0 0 4px rgba(0, 212, 170, 0.5) !important;
  }

  /* Position values - iPad specific sizes */
  .stocks-table .position-cell .position-two-cols .pos-shares-inline {
    font-size: 0.65rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .value-main {
    font-size: 0.60rem !important;
    font-weight: 700 !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct {
    font-size: 0.60rem !important;
    font-weight: 600 !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct.positive {
    font-size: 0.60rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct.negative {
    font-size: 0.60rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .usd-sub {
    font-size: 0.50rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val {
    font-size: 0.50rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val.positive {
    font-size: 0.50rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val.negative {
    font-size: 0.50rem !important;
  }

  /* USD conversions - iPad */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.5rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.50rem !important;
  }

  /* Detail button - MUCH SMALLER on iPad */
  .dashboard-container table.stocks-table .btn-details-ai {
    font-size: 0.7rem !important;
    padding: 0.1rem !important;
    width: 0.8rem;
    height: auto;
  }

  .dashboard-container table.stocks-table .btn-details-ai i {
    font-size: 0.6rem !important;
  }

  .dashboard-container table.stocks-table .btn-details-ai .btn-details-text {
    font-size: 0.6rem !important;
  }

  /* AI Enhanced badge - COMPACT like mobile, just with "enhanced" text */
  .dashboard-container table.stocks-table .stock-actions-row .ai-analysis-badge.mini,
  .dashboard-container .ai-analysis-badge.mini {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.35rem !important;
    gap: 0.15rem !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .dashboard-container table.stocks-table .stock-actions-row .ai-analysis-badge.mini i,
  .dashboard-container .ai-analysis-badge.mini i {
    font-size: 0.5rem !important;
    margin-right: 0.1rem !important;
  }

  /* Show "enhanced" text on iPad - compact */
  .dashboard-container table.stocks-table .stock-actions-row .ai-analysis-badge.mini .badge-text-original,
  .dashboard-container .ai-analysis-badge.mini .badge-text-original {
    display: inline !important;
    font-size: 0.45rem !important;
  }

  /* Exchange status icon - force round */
  .dashboard-container table.stocks-table .exchange-status {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    border-radius: 50% !important;
    padding: 0 !important;
  }

  /* Event icons - force round */
  .dashboard-container table.stocks-table .event-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    border-radius: 50% !important;
    padding: 0 !important;
  }

  /* AI Analysis Card content - larger fonts */
  .dashboard-container .ai-analysis-card .level-chip .level-label {
    font-size: 0.6rem !important;
  }

  .dashboard-container .ai-analysis-card .level-chip .level-value {
    font-size: 0.75rem !important;
  }

  .dashboard-container .ai-analysis-card .level-chip .level-pct {
    font-size: 0.6rem !important;
  }

  /* Complementary Information - smaller title for iPad */
  .dashboard-container .ai-analysis-card .complementary-info-section .section-title {
    font-size: 0.6rem !important;
    gap: 0.35rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .section-title i {
    font-size: 0.55rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-icon {
    font-size: 0.85rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-title {
    font-size: 0.6rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-content {
    font-size: 0.75rem !important;
    line-height: 1.5 !important;
  }

  /* Growth estimates - larger on iPad */
  .dashboard-container .ai-analysis-card .growth-estimates-container .metric-label {
    font-size: 0.6rem !important;
  }

  .dashboard-container .ai-analysis-card .growth-estimates-container .metric-value {
    font-size: 0.85rem !important;
  }

  /* AI reasoning - larger on iPad */
  .dashboard-container .ai-analysis-card .reasoning-block .reasoning-label {
    font-size: 0.65rem !important;
  }

  .dashboard-container .ai-analysis-card .reasoning-block .reasoning-text {
    font-size: 0.75rem !important;
  }

  /* Events analysis - larger on iPad */
  .dashboard-container .ai-analysis-card .events-analysis-header h5 {
    font-size: 0.8rem !important;
  }

  .dashboard-container .ai-analysis-card .event-analysis-item .event-text {
    font-size: 0.75rem !important;
  }

  /* Details button - larger on iPad */
  .dashboard-container table.stocks-table .btn-details-ai {
    font-size: 0.7rem !important;
    padding: 0.5rem 0.8rem !important;
  }
}

/* ============================================
   iPad Mini Optimizations (768px width)
   Reduce column widths for prediction columns
   ============================================ */

@media (min-width: 768px) and (max-width: 820px) {
  /* Reduce prediction columns width (EST close and J+7) */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 55px !important;
    min-width: 45px !important;
    padding: 0.2rem 0.15rem !important;
  }

  .dashboard-container table.stocks-table th:nth-child(5),
  .dashboard-container table.stocks-table th:nth-child(6) {
    max-width: 55px !important;
    min-width: 45px !important;
    padding: 0.3rem 0.15rem !important;
  }

  /* Smaller prediction content */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.55rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }

  /* Details cell - fit AI and Trade buttons */
  .dashboard-container table.stocks-table .details-cell {
    padding: 0.15rem !important;
    min-width: 65px !important;
    max-width: 75px !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai {
    padding: 0.2rem 0.25rem !important;
    font-size: 0.55rem !important;
    min-width: unset !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai i {
    font-size: 0.5rem !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }

  /* Transaction dropdown button - smaller on iPad Mini */
  .dashboard-container table.stocks-table .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn {
    width: 28px !important;
    height: 26px !important;
    min-width: 28px !important;
    padding: 0 !important;
  }

  .dashboard-container table.stocks-table .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn i {
    font-size: 0.55rem !important;
  }

  /* Chart cell - reduce */
  .dashboard-container table.stocks-table .chart-cell {
    max-width: 28px !important;
    min-width: 24px !important;
    padding: 0.1rem !important;
  }

  /* Position cell - compact */
  .stocks-table .position-cell {
    max-width: 70px !important;
    padding: 0.2rem 0.15rem !important;
  }

  /* Events cell - compact */
  .stocks-table .events-cell {
    max-width: 45px !important;
    padding: 0.15rem !important;
  }
}

/* ============================================
   iPad ALL (768px - 1024px)
   Fix overlapping columns - DRASTICALLY reduce EST and J+7
   Force horizontal button layout WITHOUT breaking table
   ============================================ */

@media (min-width: 768px) and (max-width: 1024px) {
  /* HEADER for prediction columns - Hide text, show only ? icon */
  .dashboard-container table.stocks-table thead th:nth-child(5),
  .dashboard-container table.stocks-table thead th:nth-child(6),
  .dashboard-container table.stocks-table thead th:nth-child(7) {
    width: 45px !important;
    max-width: 45px !important;
    min-width: 40px !important;
    padding: 0.1rem !important;
    font-size: 0 !important; /* Hide main text */
    text-align: center !important;
  }

  /* Keep the ? tooltip visible */
  .dashboard-container table.stocks-table thead th .price-header-info {
    font-size: 0.6rem !important;
    display: inline-block !important;
  }

  /* PERSONALIZED SIGNAL BADGE - 30% smaller on iPad */
  .dashboard-container table.stocks-table .personalized-signal-badge {
    padding: 0.14rem 0.28rem !important;
    font-size: 0.42rem !important;
    gap: 0.15rem !important;
    border-radius: 4px !important;
  }

  .dashboard-container table.stocks-table .personalized-signal-badge i {
    font-size: 0.38rem !important;
  }

  /* Prediction columns - FORCE TINY WIDTH - NO MIN-WIDTH */
  .dashboard-container table.stocks-table td.prediction-cell,
  .dashboard-container table.stocks-table .prediction-cell {
    width: 35px !important;
    max-width: 35px !important;
    min-width: 0 !important;
    padding: 0.05rem !important;
  }

  /* Prediction content - increased */
  .dashboard-container table.stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.63rem !important;
  }

  .dashboard-container table.stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }

  .dashboard-container table.stocks-table .prediction-cell .ml-prediction .usd-conversion {
    display: none !important;
  }

  /* CHART COLUMN - 50% smaller */
  .dashboard-container table.stocks-table .chart-col,
  .dashboard-container table.stocks-table .chart-cell,
  .dashboard-container table.stocks-table td.chart-cell {
    width: 16px !important;
    max-width: 20px !important;
    min-width: 0 !important;
    padding: 0.05rem !important;
  }

  .dashboard-container table.stocks-table .chart-cell .btn-stock-chart {
    padding: 0.15rem !important;
    min-width: 0 !important;
  }

  .dashboard-container table.stocks-table .chart-cell .btn-stock-chart i {
    font-size: 0.5rem !important;
  }

  /* PRICE */
  .dashboard-container table.stocks-table .price-display-compact .price-container {
    font-size: 0.55rem !important;
  }

  .dashboard-container table.stocks-table .price-display-compact .usd-conversion {
    font-size: 0.42rem !important;
  }

  /* DETAILS CELL - Keep table-cell display, use text-align and whitespace */
  .dashboard-container table.stocks-table td.details-cell {
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.15rem !important;
    min-width: 60px !important;
    max-width: 70px !important;
  }

  /* Hide the mobile-only chart button on iPad */
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart.mobile-only {
    display: none !important;
  }

  /* AI Analysis button - inline-flex, icon only, square */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai i:first-child {
    font-size: 0.6rem !important;
    margin: 0 !important;
  }

  /* Hide text and chevron on AI button */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .btn-details-text,
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  /* Transaction dropdown wrapper - inline */
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .transaction-dropdown-component {
    display: inline-block !important;
  }

  /* Transaction dropdown button - square, same size */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
    font-size: 0.6rem !important;
    margin: 0 !important;
  }

  /* Hide dropdown chevron/arrow */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* EVENTS CELL - Force perfect circle icons */
  .dashboard-container table.stocks-table td.events-cell,
  .dashboard-container table.stocks-table .events-cell {
    max-width: 40px !important;
    padding: 0.1rem !important;
    text-align: center !important;
  }

  .dashboard-container table.stocks-table .events-cell .event-icon,
  .dashboard-container table.stocks-table td.events-cell .event-icon {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .dashboard-container table.stocks-table .events-cell .event-icon i {
    font-size: 0.5rem !important;
  }

  /* Position cell - compact */
  .dashboard-container table.stocks-table .position-cell {
    max-width: 75px !important;
    padding: 0.1rem !important;
  }
}

/* ============================================
   11-13 inch Laptop Optimizations (1024px - 1280px)
   Fix stacked buttons - make them side by side
   ============================================ */

@media (min-width: 1024px) and (max-width: 1280px) {
  /* DETAILS CELL - Keep table-cell display */
  .dashboard-container table.stocks-table td.details-cell {
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.2rem !important;
    min-width: 65px !important;
  }

  /* Hide the mobile-only chart button */
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart.mobile-only {
    display: none !important;
  }

  /* AI button - inline-flex, square icon only */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai i:first-child {
    font-size: 0.65rem !important;
    margin: 0 !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .btn-details-text,
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  /* Transaction dropdown wrapper - inline */
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .transaction-dropdown-component {
    display: inline-block !important;
  }

  /* Transaction dropdown button - compact, square */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
    font-size: 0.65rem !important;
    margin: 0 !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* Prediction columns - reduced */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 65px !important;
    padding: 0.25rem 0.15rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.6rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
}

/* ============================================
   13-inch Laptop Optimizations (1280px - 1440px)
   Fit AI Analysis and Trade buttons - hide chevron
   HORIZONTAL LAYOUT with inline-flex
   ============================================ */

@media (min-width: 1280px) and (max-width: 1440px) {
  /* DETAILS CELL - Keep table-cell display */
  .dashboard-container table.stocks-table td.details-cell {
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.2rem !important;
    min-width: 70px !important;
  }

  /* Hide the mobile-only chart button */
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart.mobile-only {
    display: none !important;
  }

  /* AI button - inline-flex, square icon only */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai i:first-child {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }

  /* Hide text and chevron */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .chevron-icon,
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }

  /* Transaction dropdown wrapper - inline */
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .transaction-dropdown-component {
    display: inline-block !important;
  }

  /* Transaction dropdown button - compact on 13" */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }

  /* Hide dropdown caret */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* Prediction columns - slightly reduced */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 70px !important;
    padding: 0.25rem 0.2rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.65rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.55rem !important;
  }
}

/* ============================================
   14-15 inch Laptop Optimizations (1440px - 1600px)
   Slightly reduced buttons proportionally
   ============================================ */

@media (min-width: 1441px) and (max-width: 1600px) {
  /* Details cell - slightly reduced */
  .dashboard-container table.stocks-table .details-cell {
    padding: 0.3rem !important;
    min-width: 85px !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai {
    padding: 0.25rem 0.45rem !important;
    font-size: 0.65rem !important;
    min-width: unset !important;
  }

  /* Hide chevron on smaller 15" */
  .dashboard-container table.stocks-table .details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.6rem !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai i.fas:not(.chevron-icon) {
    font-size: 0.6rem !important;
  }

  /* Transaction dropdown button - slightly reduced */
  .dashboard-container table.stocks-table .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn {
    width: 32px !important;
    height: 30px !important;
    min-width: 32px !important;
    padding: 0 !important;
    
  }

  .dashboard-container table.stocks-table .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn i {
    font-size: 0.7rem !important;
  }

  /* Hide dropdown caret */
  .dashboard-container table.stocks-table .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* Prediction columns */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 80px !important;
    padding: 0.3rem 0.25rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.7rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.6rem !important;
  }
}

/* ============================================
   Cards & Containers
   ============================================ */

@media (max-width: 768px) {
  .card,
  .summary-card,
  .feature-card {
    margin-bottom: 1rem;
    padding: 1rem;
  }
  
  /* Better spacing on mobile */
  .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* ============================================
   Navigation & Tabs
   ============================================ */

@media (max-width: 768px) {
  .nav-tabs .nav-link {
    padding: 12px 16px;
    font-size: 0.9rem;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
  }

  /* Override above for dashboard segment control */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 0 !important;
    font-size: 0 !important;
    min-height: 0 !important;
      border: none !important;

  }

  .nav-pills .nav-link {
    min-height: 44px;
    padding: 12px 20px;
  }
}

/* ============================================
   Modals & Overlays
   ============================================ */

@media (max-width: 768px) {
  .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  
  .modal-content {
    border-radius: 12px;
  }
  
  .modal-header,
  .modal-body,
  .modal-footer {
    padding: 1rem;
  }
}

/* ============================================
   Safe Area Insets (for notched devices)
   ============================================ */

@supports (padding: env(safe-area-inset-left)) {
  body {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }
  
  .fixed-bottom,
  .chatbot-widget-container {
    padding-bottom: 20px;
    padding-bottom: env(safe-area-inset-bottom, 20px);
  }
  
  .fixed-top {
    padding-top: env(safe-area-inset-top, 0px);
  }
}

/* ============================================
   Performance Optimizations
   ============================================ */

/* Disable hover effects on touch devices */
@media (max-width: 768px) {
  @media (hover: none) {
    .btn:hover,
    a:hover,
    .card:hover {
      transform: none;
      box-shadow: inherit;
    }
  }
}

/* ============================================
   Text Selection
   ============================================ */

/* Allow text selection for better UX */
p,
span,
div,
li {
  -webkit-user-select: text;
  user-select: text;
}

/* But prevent selection on buttons and interactive elements */
button,
.btn,
a,
.nav-link {
  -webkit-user-select: none;
  user-select: none;
}

/* ============================================
   Loading States
   ============================================ */

/* Optimize loading indicators for mobile */
.loading,
.spinner {
  will-change: transform;
  transform: translateZ(0); /* Force GPU acceleration */
}

/* Ensure animations work in webview mode - NO RESTRICTIONS */
/* All animations work normally in webview mode */

/* Force spinner animations in webview mode */
body.webview-mode .refresh-status-component .spinner,
body.webview-mode .refresh-status-component .loading-spinner .spinner,
body.webview-mode .refresh-status-component .loading-content .loading-spinner .spinner,
body.webview-mode .spinner,
body.webview-mode .loading-spinner .spinner,
body.webview-mode .loading .spinner,
.webview-mode .refresh-status-component .spinner,
.webview-mode .refresh-status-component .loading-spinner .spinner,
.webview-mode .refresh-status-component .loading-content .loading-spinner .spinner,
.webview-mode .spinner,
.webview-mode .loading-spinner .spinner,
.webview-mode .loading .spinner {
  animation: spin 1s linear infinite !important;
  -webkit-animation: spin 1s linear infinite !important;
  animation-duration: 1s !important;
  -webkit-animation-duration: 1s !important;
  animation-iteration-count: infinite !important;
  -webkit-animation-iteration-count: infinite !important;
  animation-timing-function: linear !important;
  -webkit-animation-timing-function: linear !important;
  will-change: transform !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* Also ensure animation works on mobile - but exclude webview mode */
@media (max-width: 768px) {
  body:not(.webview-mode) .refresh-status-component .loading-content .loading-spinner .spinner {
    animation: spin 1s linear infinite !important;
    -webkit-animation: spin 1s linear infinite !important;
    will-change: transform !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
  }
  
  /* Ensure keyframes are available */
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  
  @-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
  }
}

/* ============================================
   Images & Media
   ============================================ */

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Lazy loading fade-in.
   The opacity:0 / .loaded pair was dead code: nothing in the app ever added the
   .loaded class, so EVERY img[loading="lazy"] stayed permanently invisible.
   That is why .stock-logo-mini had to force opacity:1 !important, and why stock
   logos were missing on the stock-analysis pages. Fading in on decode instead
   keeps the intent without hiding anything. */
img[loading="lazy"] {
  animation: lazy-img-fade-in 0.3s ease-out;
}

@keyframes lazy-img-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ============================================
   Chatbot Widget Mobile Specific
   ============================================ */

@media (max-width: 768px) {
  .chatbot-widget-container {
    bottom: 20px;
    bottom: env(safe-area-inset-bottom, 20px);
    right: 20px;
    left: auto;
  }
  
  .chatbot-window {
    width: calc(100vw - 40px);
    max-width: 100%;
    height: calc(100vh - 140px);
    max-height: 80vh;
    bottom: 100px;
    left: 20px;
    right: 20px;
    margin: 0;
  }
  
  .chatbot-toggle-btn {
    width: 56px;
    height: 56px;
    font-size: 22px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  }
  
  .chatbot-input {
    font-size: 16px !important; /* Prevent zoom on focus */
    min-height: 44px;
    padding: 12px 16px;
  }
  
  .chatbot-send-btn {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
  }
  
  .message-content {
    font-size: 14px;
    padding: 10px 14px;
    line-height: 1.5;
  }
}

/* ============================================
   Dashboard Mobile Optimizations
   ============================================ */

@media (max-width: 768px) {
  .dashboard-container {
    padding: 0.5rem;
  }
  
  .dashboard-header {
    padding: 1rem 0;
  }
  
  .summary-card {
    padding: 1rem;
    margin-bottom: 1rem;
  }
  
  .section-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .opportunities-section .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .section-actions .btn {
    width: 100%;
    min-height: 44px;
  }

  .opportunities-section .section-actions .btn {
    width: auto !important;
    min-height: auto !important;
  }
}

/* ============================================
   Swipe Gestures Support
   ============================================ */

.swipeable {
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

/* ============================================
   Prevent Text Size Adjustment
   ============================================ */

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ============================================
   Macro Events Section - Mobile Fix
   ============================================ */

@media (max-width: 768px) {
  .macro-events-section .macro-events-list {
    padding: 12px !important;
  }

  .macro-events-section .macro-event-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .macro-events-section .macro-event-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .macro-events-section .macro-emoji {
    flex-shrink: 0 !important;
    font-size: 1.1rem !important;
  }

  .macro-events-section .macro-content {
    flex: 1 !important;
    min-width: 0 !important;
    /* Remove the line-clamp on mobile to prevent overlap */
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
  }

  .macro-events-section .macro-category {
    display: inline !important;
    color: #60a5fa !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    margin-right: 4px !important;
  }

  .macro-events-section .macro-text {
    display: inline !important;
    color: #d1d5db !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
  }
}

/* ============================================
   Webview Mode - Bottom Spacing
   ============================================ */

/* Add bottom padding for webview mode to ensure content doesn't get hidden behind nav */
body.webview-mode .dashboard-container,
body.webview-mode .stocks-container,
body.webview-mode .events-container,
body.webview-mode .account-container,
body.webview-mode main {
  padding-bottom: 80px !important;
}

/* iPad also needs extra bottom spacing */
@media (min-width: 768px) and (max-width: 1366px) {
  body.webview-mode .dashboard-container,
  body.webview-mode .stocks-container,
  body.webview-mode .events-container,
  body.webview-mode .account-container,
  body.webview-mode main {
    padding-bottom: 70px !important;
  }
}

/* ============================================
   PORTFOLIO / ACCOUNT PAGE — STOCK SEARCH INPUT FIX
   Ensure the search row stays horizontal on mobile/iPad
   ============================================ */
@media (max-width: 1024px) {
  #stock-search-form .d-flex {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }

  #stock-search-form .d-flex .flex-grow-1 {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  #stock-search-form .d-flex .flex-shrink-0 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  #stock-search-form .form-control {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ============================================
   Webview Mode - Live Dot for Crypto Prices
   ============================================ */

/* Webview mode - Price main wrapper */
body.webview-mode .price-main,
body.webview-mode .price-display-compact .price-main,
body.webview-mode .dashboard-container .price-main {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  white-space: nowrap !important;
  gap: 0.2rem !important;
}

/* Webview mode - Live dot indicator for crypto */
/* Use ::before pseudo-element to ensure visibility on iOS webview */
body.webview-mode .price-live-dot,
body.webview-mode .price-display-compact .price-live-dot,
body.webview-mode .dashboard-container .price-live-dot,
body.webview-mode table.stocks-table .price-live-dot {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  flex-shrink: 0 !important;
  width: 6px !important;
  min-width: 6px !important;
  height: 6px !important;
  min-height: 6px !important;
  margin-left: 0.25rem !important;
  vertical-align: middle !important;
  /* Force GPU layer on iOS */
  -webkit-transform: translateZ(0) !important;
  transform: translateZ(0) !important;
}

body.webview-mode .price-live-dot::before,
body.webview-mode .price-display-compact .price-live-dot::before,
body.webview-mode .dashboard-container .price-live-dot::before,
body.webview-mode table.stocks-table .price-live-dot::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background-color: #00d4aa !important;
  box-shadow: 0 0 4px rgba(0, 212, 170, 0.5) !important;
  animation: pulse-live 2s infinite !important;
  -webkit-animation: pulse-live 2s infinite !important;
}

/* Ensure pulse-live animation works in webview */
@keyframes pulse-live {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.2);
  }
}

@-webkit-keyframes pulse-live {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.2);
  }
}

/* ============================================
   WATCHLIST CUSTOM TOOLTIP (on PnL badge)
   ============================================ */
.mobile-pnl-badge.has-watchlist-tooltip {
  position: relative;
  cursor: pointer;
}

.watchlist-custom-tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(160deg, rgba(20, 26, 50, 0.98) 0%, rgba(12, 16, 36, 0.99) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 10px 14px;
  min-width: 180px;
  white-space: nowrap;
  z-index: 1000;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
  flex-direction: column;
  gap: 6px;
}

.watchlist-custom-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(255, 255, 255, 0.12);
}

.mobile-pnl-badge.has-watchlist-tooltip:hover .watchlist-custom-tooltip,
.mobile-pnl-badge.has-watchlist-tooltip:active .watchlist-custom-tooltip,
.mobile-pnl-badge.has-watchlist-tooltip:focus .watchlist-custom-tooltip {
  display: flex;
}

.wct-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
}

.wct-row i {
  font-size: 0.6rem;
  width: 12px;
  text-align: center;
  color: rgba(255, 255, 255, 0.4);
}

.wct-row.wct-pnl.positive {
  color: #00d4aa;
  font-weight: 700;
}

.wct-row.wct-pnl.positive i {
  color: #00d4aa;
}

.wct-row.wct-pnl.negative {
  color: #ef4444;
  font-weight: 700;
}

.wct-row.wct-pnl.negative i {
  color: #ef4444;
}

.wct-divider {
  display: block;
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 2px 0;
}

.wct-row.wct-alert-row {
  cursor: pointer;
  padding: 3px 0;
}

.wct-row.wct-alert-row .watchlist-alert-toggle {
  width: 20px;
  height: 20px;
  min-width: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 170, 0, 0.1);
  border: 1px solid rgba(255, 170, 0, 0.25);
  color: #ffaa00;
  font-size: 0.55rem;
  cursor: pointer;
}

.wct-row.wct-alert-row span:last-child {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.65rem;
}
/* ============================================
   RESPONSIVE BREAKPOINTS SYSTEM
   ============================================
   
   Mobile: < 576px (phones)
   Tablet Portrait: 576px - 768px (small tablets)
   Tablet Landscape: 768px - 1024px (iPad, tablets)
   Desktop: 1024px - 1440px (laptops, desktops)
   Large Desktop: > 1440px (large screens)
   
   ============================================ */

/* ============================================
   GLOBAL RESPONSIVE UTILITIES
   ============================================ */

/* Container max-widths for different screens */
.container {
  width: 100%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile First - Base styles for mobile */
@media (min-width: 576px) {
  .container {
    max-width: 540px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* Tablet Portrait - iPad Air / iPad Mini (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

/* Tablet Landscape - iPad Pro and larger (1024px+) */
@media (min-width: 1025px) and (max-width: 1279px) {
  .container {
    max-width: 100%;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

/* Small Desktop */
@media (min-width: 1280px) {
  .container {
    max-width: 1200px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* Desktop */
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

/* Large Desktop */
@media (min-width: 1440px) {
  .container {
    max-width: 1320px;
  }
}

/* ============================================
   GRID SYSTEM RESPONSIVE
   ============================================ */

/* Base row styles */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.row > * {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* Mobile ONLY: Stack all columns (< 576px) */
@media (max-width: 575px) {
  [class*="col-"] {
    width: 100%;
    margin-bottom: 1rem;
  }
}

/* Tablet Portrait: 2 columns */
@media (min-width: 576px) {
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Tablet Landscape: 3-4 columns */
@media (min-width: 768px) {
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  
  .col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Desktop: Full grid */
@media (min-width: 992px) {
  .col-lg-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  
  .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ============================================
   SUMMARY CARDS RESPONSIVE
   ============================================ */

/* Mobile: Stack cards */
.summary-card {
  width: 100%;
  margin-bottom: 1rem;
}

/* Tablet Portrait: 2 columns */
@media (min-width: 576px) {
  .summary-card {
    margin-bottom: 1.5rem;
  }
}

/* Tablet Landscape: 4 columns */
@media (min-width: 768px) {
  .summary-card {
    margin-bottom: 1.5rem;
  }
}

/* Desktop: Optimized spacing */
@media (min-width: 992px) {
  .summary-card {
    margin-bottom: 2rem;
  }
}

/* ============================================
   TABLES RESPONSIVE STRATEGY
   ============================================

   Mobile (< 768px): Card layout
   Tablet (768px - 1024px): Hybrid (scrollable table with larger cells)
   Desktop (> 1024px): Full table
   
   ============================================ */

/* Tablet: Hybrid table display */
@media (min-width: 768px) and (max-width: 1279px) {
  table {
    display: table;
    width: 100%;
    font-size: 0.9rem;
  }
  
  table thead {
    display: table-header-group;
  }
  
  table tbody {
    display: table-row-group;
  }
  
  table tr {
    display: table-row;
    margin-bottom: 0;
    border: none;
    padding: 0;
    background: transparent;
  }
  
  table td {
    display: table-cell;
    padding: 0.75rem 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-align: left;
  }
  
  table td::before {
    display: none; /* Hide labels on tablet */
  }
}


/* Desktop: Full table display */
@media (min-width: 1280px) {
  table {
    display: table;
    width: 100%;
    font-size: 1rem;
  }
  
  table thead {
    display: table-header-group;
  }
  
  table tbody {
    display: table-row-group;
  }
  
  table tr {
    display: table-row;
    margin-bottom: 0;
    border: none;
    padding: 0;
    background: transparent;
  }
  
  table td {
    display: table-cell;
    padding: 1rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-align: left;
  }
  
  table td::before {
    display: none;
  }
  
  .table-responsive {
    overflow-x: visible !important;
    overflow: visible !important;
  }
  
  /* Prevent horizontal scroll on desktop */
  .dashboard-container {
    overflow-x: hidden;
  }
}

/* ============================================
   DASHBOARD HEADER RESPONSIVE
   ============================================ */

.dashboard-header {
  padding: 2rem 0;
}

/* Dashboard title sizes are defined in dashboard.scss which uses a compact header.
   These fallback values apply only to non-dashboard pages using .dashboard-header/.dashboard-title */
@media (max-width: 575px) {
  .dashboard-header {
    padding: 1rem 0;
  }

  .dashboard-subtitle {
    font-size: 0.85rem;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .dashboard-header {
    padding: 1.25rem 0;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .dashboard-header {
    padding: 1.5rem 0;
  }
}

@media (min-width: 1280px) {
  .dashboard-header {
    padding: 2rem 0;
  }
}

/* ============================================
   SECTION HEADERS RESPONSIVE
   ============================================ */

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}

@media (max-width: 767px) {
  .section-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  
  .section-header .btn {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .section-header {
    flex-direction: row;
    gap: 1rem;
  }
  
  .section-header .btn {
    min-width: auto;
    flex: 0 0 auto;
  }
}

@media (min-width: 1280px) {
  .section-header {
    gap: 1.5rem;
  }
}

/* ============================================
   NAVIGATION TABS RESPONSIVE
   ============================================ */

.dashboard-tabs .nav-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-bottom: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0;
  padding: 0.75rem 1rem 0 1rem;
  box-shadow: none !important;
  border: none !important;
  position: relative;
  overflow: visible;
}

.dashboard-tabs .nav-tabs::before {
  display: none;
}

.dashboard-tabs .nav-link {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-bottom: none !important;
  border-radius: 0.875rem 0.875rem 0 0;
  background: rgba(35, 35, 55, 0.5) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.dashboard-tabs .nav-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.08) 0%, rgba(0, 168, 255, 0.06) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.dashboard-tabs .nav-link:hover {
  background: rgba(50, 50, 70, 0.7) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dashboard-tabs .nav-link:hover::before {
  opacity: 1;
}

.dashboard-tabs .nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.18) 0%, rgba(0, 168, 255, 0.14) 100%) !important;
  border-color: rgba(0, 212, 170, 0.35) !important;
  font-weight: 600;
  box-shadow: 
    0 6px 20px rgba(0, 212, 170, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 0 rgba(0, 212, 170, 0.2);
  transform: translateY(-2px);
}

.dashboard-tabs .nav-link.active::before {
  opacity: 1;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.12) 0%, rgba(0, 168, 255, 0.1) 100%);
}

.dashboard-tabs .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 3px 3px 0 0;
  box-shadow: 
    0 0 16px rgba(0, 212, 170, 0.8),
    0 0 32px rgba(0, 212, 170, 0.4);
  animation: tab-glow 2s ease-in-out infinite;
}

.dashboard-tabs .nav-link i {
  color: inherit !important;
  flex-shrink: 0;
}

.dashboard-tabs .nav-link.active i {
  filter: drop-shadow(0 0 6px rgba(0, 212, 170, 0.6));
}

@keyframes tab-glow {
  0%, 100% {
    opacity: 1;
    box-shadow: 
      0 0 16px rgba(0, 212, 170, 0.8),
      0 0 32px rgba(0, 212, 170, 0.4);
  }
  50% {
    opacity: 0.85;
    box-shadow: 
      0 0 20px rgba(0, 212, 170, 0.9),
      0 0 40px rgba(0, 212, 170, 0.5);
  }
}

@media (max-width: 575px) {
  .dashboard-tabs .nav-link {
    padding: 10px 12px;
    font-size: 0.8rem;
    min-height: 44px;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .dashboard-tabs .nav-link {
    padding: 12px 16px;
    font-size: 0.85rem;
    min-height: 44px;
  }
}

@media (min-width: 768px) {
  .dashboard-tabs .nav-link {
    padding: 12px 20px;
    font-size: 0.9rem;
    min-height: 48px;
  }
}

/* ============================================
   BUTTONS RESPONSIVE
   ============================================ */

.btn {
  padding: 12px 20px;
  font-size: 0.9rem;
  min-height: 44px;
  white-space: nowrap;
}

@media (max-width: 575px) {
  .btn {
    padding: 10px 16px;
    font-size: 0.85rem;
    width: 100%;
    margin-bottom: 0.5rem;
  }
  
  .btn:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .btn {
    padding: 12px 18px;
    font-size: 0.875rem;
  }
}

@media (min-width: 768px) {
  .btn {
    width: auto;
    margin-bottom: 0;
  }
}

/* Button groups responsive */
.btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (max-width: 575px) {
  .btn-group {
    flex-direction: column;
    width: 100%;
  }
  
  .btn-group .btn {
    width: 100%;
  }
}

/* ============================================
   FORMS RESPONSIVE
   ============================================ */

.form-control,
.form-select {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px; /* Prevent iOS zoom */
  min-height: 44px;
}

@media (min-width: 768px) {
  .form-control,
  .form-select {
    font-size: 1rem;
  }
}

/* Form groups */
.form-group {
  margin-bottom: 1.5rem;
}

@media (max-width: 575px) {
  .form-group {
    margin-bottom: 1.25rem;
  }
}

/* ============================================
   MODALS RESPONSIVE
   ============================================ */

.modal-dialog {
  margin: 1rem;
  max-width: 500px;
}

@media (min-width: 576px) {
  .modal-dialog {
    margin: 1.75rem auto;
    max-width: 500px;
  }
}

@media (min-width: 768px) {
  .modal-dialog {
    max-width: 600px;
  }
}

@media (min-width: 992px) {
  .modal-dialog {
    max-width: 700px;
  }
}

/* ============================================
   CARDS RESPONSIVE
   ============================================ */

.card,
.summary-card,
.feature-card {
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 575px) {
  .card,
  .summary-card,
  .feature-card {
    padding: 1rem;
    margin-bottom: 1rem;
  }
}

@media (min-width: 768px) {
  .card,
  .summary-card,
  .feature-card {
    padding: 2rem;
  }
}

/* ============================================
   OPPORTUNITIES GRID RESPONSIVE
   ============================================ */

.opportunities-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 576px) {
  .opportunities-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

@media (min-width: 768px) {
  .opportunities-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media (min-width: 992px) {
  .opportunities-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

/* ============================================
   UTILITY CLASSES
   ============================================ */

/* Hide on mobile */
@media (max-width: 575px) {
  .hide-mobile {
    display: none !important;
  }
}

/* Hide on mobile and tablet */
@media (max-width: 1279px) {
  .hide-mobile-tablet {
    display: none !important;
  }
}

/* Hide on tablet */
@media (min-width: 576px) and (max-width: 1279px) {
  .hide-tablet {
    display: none !important;
  }
}

/* Hide on desktop */
@media (min-width: 1280px) {
  .hide-desktop {
    display: none !important;
  }
}

/* Show only on mobile */
.show-mobile {
  display: none;
}

@media (max-width: 575px) {
  .show-mobile {
    display: block;
  }
}

/* Show only on tablet */
.show-tablet {
  display: none;
}

@media (min-width: 576px) and (max-width: 1279px) {
  .show-tablet {
    display: block;
  }
}

/* Show only on desktop */
.show-desktop {
  display: none;
}

@media (min-width: 1280px) {
  .show-desktop {
    display: block;
  }
}

/* ============================================
   SPACING RESPONSIVE
   ============================================ */

/* Responsive margins */
@media (max-width: 575px) {
  .mb-mobile {
    margin-bottom: 1rem;
  }
  
  .mt-mobile {
    margin-top: 1rem;
  }
}

@media (min-width: 768px) {
  .mb-tablet {
    margin-bottom: 1.5rem;
  }
  
  .mt-tablet {
    margin-top: 1.5rem;
  }
}

@media (min-width: 1280px) {
  .mb-desktop {
    margin-bottom: 2rem;
  }

  .mt-desktop {
    margin-top: 2rem;
  }
}

/* === LIGHT MODE === */
[data-theme="light"] .dashboard-tabs .nav-link.active {
  color: var(--text-primary) !important;
  background: rgba(0, 160, 128, 0.12) !important;
  border-color: rgba(0, 160, 128, 0.3) !important;
  box-shadow:
    0 4px 12px rgba(0, 160, 128, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

[data-theme="light"] .dashboard-tabs .nav-link.active::after {
  background: linear-gradient(90deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
  box-shadow:
    0 0 8px rgba(0, 160, 128, 0.4),
    0 0 16px rgba(0, 160, 128, 0.2);
}

[data-theme="light"] .dashboard-tabs .nav-link.active i {
  filter: none;
}

/* ============================================
   NAVIGATION RESPONSIVE OPTIMIZATIONS
   ============================================ */

.navbar {
  padding: 0.75rem 1rem;
  min-height: 60px;
  position: relative;
  background-color: var(--navbar-bg, #0a0e27);
  border-bottom: 1px solid var(--navbar-border, transparent);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Light mode navbar adjustments */
[data-theme="light"] .navbar {
  background-color: var(--navbar-bg) !important;
}

[data-theme="light"] .navbar .nav-link {
  color: var(--text-primary, #1e293b) !important;
}

[data-theme="light"] .navbar .nav-link:hover {
  color: var(--accent-primary) !important;
}

[data-theme="light"] .navbar-brand {
  color: var(--text-primary, #1e293b) !important;
}

/* ============================================
   iOS Safe Area Support for Navigation
   ============================================ */
@supports (padding-top: env(safe-area-inset-top)) {
  .webview-mode .navbar {
    /* Extend navbar background into safe area */
    padding-top: calc(env(safe-area-inset-top, 0px) + 0.75rem);
    /* Ensure proper left/right padding on devices with rounded corners */
    padding-left: calc(env(safe-area-inset-left, 0px) + 1rem);
    padding-right: calc(env(safe-area-inset-right, 0px) + 1rem);
  }
  
  /* Sticky navbar should account for safe area */
  .webview-mode .navbar.sticky-top,
  .webview-mode .navbar[style*="sticky"] {
    top: 0;
  }
}

/* ============================================
   Webview Back Button
   ============================================ */
.webview-back-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 0;
  margin-right: 0.5rem;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  position: relative;
  z-index: 10000;
}

/* Fixed back button in webview mode (top left, small, sticky) */
/* Positioned below the notch using safe-area-inset-top */
/* z-index lower than chatbot widget so chatbot is always on top */
.webview-back-btn-fixed {
  position: fixed !important;
  top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
  left: calc(env(safe-area-inset-left, 0px) + 0.5rem) !important;
  margin: 0 !important;
  z-index: 9999 !important;
  background: rgba(10, 14, 39, 0.95) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  font-size: 0.7rem !important;
}

/* Mobile adjustments for fixed back button - iPhone with notch */
@media (max-width: 575px) {
  .webview-back-btn-fixed {
    /* Position below notch: safe-area-inset-top (44-47px on iPhone) + small margin */
    top: calc(env(safe-area-inset-top, 0px) + 0.4rem) !important;
    left: calc(env(safe-area-inset-left, 0px) + 0.4rem) !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    font-size: 0.65rem !important;
  }
  
  /* Ensure button is visible on devices with notch */
  @supports (padding-top: env(safe-area-inset-top)) {
    .webview-back-btn-fixed {
      top: calc(env(safe-area-inset-top, 0px) + 0.4rem) !important;
    }
  }
}

/* Tablet adjustments - iPad with notch */
@media (min-width: 576px) and (max-width: 1024px) {
  .webview-back-btn-fixed {
    /* On iPad Pro with notch, safe-area-inset-top is typically 20-24px */
    top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
    left: calc(env(safe-area-inset-left, 0px) + 0.5rem) !important;
  }
  
  @supports (padding-top: env(safe-area-inset-top)) {
    .webview-back-btn-fixed {
      top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
    }
  }
}

/* Hide navbar completely in webview mode */
.webview-mode .navbar {
  display: none !important;
}

.webview-back-btn:hover,
.webview-back-btn:focus {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  outline: none;
}

.webview-back-btn:active {
  background: rgba(0, 212, 170, 0.3);
  transform: scale(0.95);
}

.webview-back-btn i {
  line-height: 1;
}

/* Mobile adjustments for back button */
@media (max-width: 575px) {
  .webview-back-btn {
    width: 26px;
    height: 26px;
    min-width: 26px;
    min-height: 26px;
    font-size: 0.65rem;
    margin-right: 0.2rem;
    margin-left: -0.35rem; /* Réduire encore plus la marge left */
  }
  
  /* Réduire le padding du container en mode webview sur mobile */
  .webview-mode .navbar .container {
    padding-left: 0.25rem !important;
  }
}

/* Sticky navbar for mobile and tablet */
@media (max-width: 1279px) {
  .navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }
}

/* Hide elements on mobile/tablet */
.hide-mobile-tablet {
  display: block;
}

@media (max-width: 1279px) {
  .hide-mobile-tablet {
    display: none !important;
  }
}

.navbar-brand {
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
}

.navbar-logo {
  height: 38px;
  width: auto;
  transform: scale(1.8);
  transform-origin: left center;
  margin-right: 12px!important; /* Compense l'augmentation pour ne pas prendre plus de place */
}

.navbar-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

.nav-link {
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  touch-action: manipulation;
}

.nav-link.btn-link {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  border: none;
  background: transparent;
  padding: 0.5rem 1rem;
}

.nav-link.btn-link:hover {
  color: rgba(255, 255, 255, 1);
}

.notification-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  background: #ff6b6b;
  color: white;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 0.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

/* ============================================
   MOBILE (< 576px)
   ============================================ */
@media (max-width: 575px) {
  .navbar {
    padding: 0.5rem 0.5rem;
    min-height: 48px;
  }
  
  .navbar-brand {
    font-size: 0.75rem;
    gap: 0.25rem;
    max-width: 60%;
    flex-shrink: 1;
  }
  
  .navbar-logo {
    height: 24px;
    transform: scale(1.2);
    margin-right: 6px !important;
  }
  
  .navbar-nav {
    flex-wrap: nowrap;
    gap: 0.25rem;
    justify-content: flex-end;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }
  
  .navbar-nav::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }
  
  .nav-link {
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
    min-height: 36px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  
  .notification-badge {
    width: 14px;
    height: 14px;
    font-size: 0.6rem;
    top: -1px;
    right: -1px;
  }
}

/* ============================================
   VERY SMALL SCREENS (< 460px)
   ============================================ */
@media (max-width: 460px) {
  .navbar-brand {
    display: none !important;
  }
}

/* ============================================
   TABLET PORTRAIT (576px - 767px)
   ============================================ */
@media (min-width: 576px) and (max-width: 767px) {
  .navbar {
    padding: 0.5rem 0.75rem;
    min-height: 52px;
  }
  
  .navbar-nav {
    flex-wrap: nowrap;
    gap: 0.5rem;
    justify-content: flex-end;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .nav-link {
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    min-height: 40px;
    white-space: nowrap;
    flex-shrink: 0;
  }
}

/* ============================================
   TABLET LANDSCAPE (768px - 1023px)
   ============================================ */
@media (min-width: 768px) and (max-width: 1279px) {
  .navbar {
    padding: 0.5rem 1rem;
    min-height: 52px;
  }
  
  .navbar-nav {
    flex-wrap: nowrap;
    gap: 0.75rem;
    justify-content: flex-end;
  }
  
  .nav-link {
    padding: 0.45rem 0.875rem;
    font-size: 0.875rem;
    min-height: 40px;
    white-space: nowrap;
  }
}

/* ============================================
   DESKTOP (>= 1024px)
   ============================================ */
@media (min-width: 1280px) {
  .navbar {
    padding: 1rem 1.5rem;
    min-height: 70px;
  }
  
  .navbar-brand {
    font-size: 1.5rem;
  }
  
  .navbar-logo {
    height: 36px;
  }
  
  .navbar-nav {
    gap: 1rem;
  }
  
  .nav-link {
    padding: 0.5rem 1.25rem;
    font-size: 0.95rem;
    min-height: 44px;
  }
}

/* ============================================
   NAVBAR TOGGLE (Mobile Menu)
   ============================================ */

/* If using Bootstrap collapse for mobile menu */
.navbar-toggler {
  border: none;
  padding: 0.5rem;
  min-height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.navbar-toggler:focus {
  box-shadow: none;
  outline: 2px solid rgba(0, 212, 170, 0.5);
  outline-offset: 2px;
}

.navbar-collapse {
  margin-top: 1rem;
}

@media (min-width: 992px) {
  .navbar-collapse {
    margin-top: 0;
  }
}

/* ============================================
   LANGUAGE SWITCHER RESPONSIVE
   ============================================ */

.language-switcher {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 575px) {
  .language-switcher {
    gap: 0.25rem;
  }
  
  .language-switcher .dropdown-toggle {
    padding: 0.4rem 0.5rem;
    font-size: 0.8rem;
    min-height: 40px;
  }
}

/* ============================================
   FOOTER RESPONSIVE
   ============================================ */

.footer {
  padding: 2rem 1rem;
  text-align: center;
}

@media (max-width: 575px) {
  .footer {
    padding: 1.5rem 0.75rem;
    font-size: 0.85rem;
  }
}

@media (min-width: 768px) {
  .footer {
    padding: 2.5rem 1.5rem;
  }
}

@media (min-width: 1280px) {
  .footer {
    padding: 3rem 2rem;
  }
}

/* ============================================
   NEW GLOBAL HEADER — nv-header (replaces .navbar)
   ============================================ */
.nv-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 16px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-primary, #0a0e27);
  border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, 0.06));
}

.nv-header-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.nv-header-logo img {
  width: 28px;
  height: 28px;
}

.nv-header-logo span {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--text-primary, #fff);
  text-transform: uppercase;
}

.nv-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Language dropdown */
.nv-lang-dropdown {
  position: relative;
}

.nv-lang-dropdown.is-open .nv-lang-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nv-lang-dropdown.is-open .nv-lang-btn i {
  transform: rotate(180deg);
}

.nv-lang-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 5px;
}

.nv-lang-btn i {
  font-size: 0.55rem;
  transition: transform 0.2s;
}

.nv-lang-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.nv-lang-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--bg-secondary, rgba(10, 14, 39, 0.95));
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px);
  transition: all 0.2s;
  min-width: 50px;
  z-index: 200;
}

.nv-lang-menu form {
  margin: 0;
}

.nv-lang-option {
  display: block;
  width: 100%;
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s;
}

.nv-lang-option:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.nv-lang-option.active {
  color: var(--accent-primary, #00a8ff);
}

/* Hamburger */
.nv-hamburger {
  width: 36px;
  height: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  border: none;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 8px;
  transition: background 0.2s;
}

.nv-hamburger:hover {
  background: rgba(255, 255, 255, 0.15);
}

.nv-hamburger-line {
  width: 18px;
  height: 1.5px;
  background: var(--text-primary, #fff);
  border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}

.nv-hamburger.is-open .nv-hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}

.nv-hamburger.is-open .nv-hamburger-line:nth-child(2) {
  opacity: 0;
}

.nv-hamburger.is-open .nv-hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -4px);
}

/* Nav overlay */
.nv-nav-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 280px;
  height: 100vh;
  background: var(--bg-secondary, rgba(10, 14, 39, 0.97));
  backdrop-filter: blur(20px);
  padding: 80px 32px 40px;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 99;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
}

.nv-nav-overlay.is-open {
  transform: translateX(0);
}

.nv-nav-overlay a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: color 0.2s;
}

.nv-nav-overlay a:hover {
  color: #fff;
}

.nv-nav-overlay a.nv-nav-cta {
  color: var(--accent-primary, #00a8ff);
  font-weight: 600;
}

.nv-nav-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 12px 0;
}

/* When sidebar is active (logged in), only show header on mobile */
.nv-header.nv-header-mobile-only {
  display: none;
}

@media (max-width: 991px) {
  .nv-header.nv-header-mobile-only {
    display: flex;
  }
}

/* Hide old Bootstrap navbar when new header is present */
.nv-header ~ .navbar,
body:has(.nv-header) .navbar {
  display: none !important;
}

/* Light mode adjustments */
[data-theme="light"] .nv-header {
  background: var(--bg-primary, #ffffff);
  border-bottom-color: var(--border-color, rgba(0, 0, 0, 0.08));
}

[data-theme="light"] .nv-header-logo span {
  color: var(--text-primary, #1e293b);
}

[data-theme="light"] .nv-lang-btn {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.1);
  color: var(--text-secondary, #64748b);
}

[data-theme="light"] .nv-lang-btn:hover {
  background: rgba(0, 0, 0, 0.08);
  color: var(--text-primary, #1e293b);
}

[data-theme="light"] .nv-hamburger {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .nv-hamburger:hover {
  background: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .nv-hamburger-line {
  background: var(--text-primary, #1e293b);
}

[data-theme="light"] .nv-nav-overlay {
  background: var(--bg-secondary, rgba(255, 255, 255, 0.98));
  border-left-color: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .nv-nav-overlay a {
  color: var(--text-secondary, #475569);
  border-bottom-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .nv-nav-overlay a:hover {
  color: var(--text-primary, #1e293b);
}

[data-theme="light"] .nv-lang-menu {
  background: var(--bg-primary, #fff);
  border-color: rgba(0, 0, 0, 0.1);
}

[data-theme="light"] .nv-lang-option {
  color: var(--text-secondary, #64748b);
}

[data-theme="light"] .nv-lang-option:hover {
  background: rgba(0, 0, 0, 0.04);
  color: var(--text-primary, #1e293b);
}

/* line 19, app/assets/stylesheets/sidebar.scss */
.app-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 260px;
  background: #0f1419;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  z-index: 1000;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

/* line 35, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed {
  width: 72px;
}

/* line 38, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-brand-text,
.app-sidebar.collapsed .sidebar-text,
.app-sidebar.collapsed .sidebar-arrow,
.app-sidebar.collapsed .sidebar-user-info,
.app-sidebar.collapsed .sidebar-category-title {
  opacity: 0;
  visibility: hidden;
  width: 0;
}

/* line 49, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-category-header {
  display: none;
}

/* line 54, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-category {
  margin-bottom: 0.25rem;
  padding-top: 0.25rem;
}

/* line 58, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-category:not(:first-child) {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 0.25rem;
}

/* line 65, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-brand-logo {
  display: none;
}

/* line 69, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-header {
  justify-content: center;
  padding: 1rem 0.5rem;
}

/* line 74, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-brand {
  display: none;
}

/* line 78, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-toggle {
  transform: rotate(180deg);
  margin: 0 auto;
}

/* line 83, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-menu-link {
  justify-content: center;
  padding: 0.75rem;
  border-radius: 8px;
  margin: 0 0.5rem;
  width: auto;
}

/* line 91, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-menu-link-wrapper {
  justify-content: center;
}

/* line 94, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-menu-link-wrapper .sidebar-menu-link {
  padding: 0.75rem;
  margin: 0 0.5rem;
}

/* line 100, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-arrow-btn {
  display: none;
}

/* line 104, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-submenu {
  display: none !important;
}

/* line 109, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-badge-soon {
  display: none;
}

/* line 113, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-badge {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  min-width: 16px;
  height: 16px;
  font-size: 0.6rem;
  padding: 0.1rem 0.3rem;
}

/* line 125, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link-wrapper,
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link-wrapper > .sidebar-menu-link,
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link {
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}

/* line 137, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link-wrapper::before,
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link-wrapper > .sidebar-menu-link::before,
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link::before {
  display: none;
}

/* line 141, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-icon,
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link-wrapper > .sidebar-menu-link .sidebar-icon,
.app-sidebar.collapsed .sidebar-menu-item.active > .sidebar-menu-link .sidebar-icon {
  margin: 0;
}

/* line 147, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-footer {
  padding: 1rem 0.5rem;
}

/* line 151, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-user {
  justify-content: center;
}

/* line 155, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-logout {
  justify-content: center;
  padding: 0.75rem;
}

/* line 160, app/assets/stylesheets/sidebar.scss */
.app-sidebar.collapsed .sidebar-theme-toggle .theme-btn {
  justify-content: center;
  padding: 0.75rem;
}

/* line 170, app/assets/stylesheets/sidebar.scss */
.sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 1.1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  min-height: 58px;
  height: 58px;
  flex-shrink: 0;
}

/* line 181, app/assets/stylesheets/sidebar.scss */
.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  transition: opacity 0.2s;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* line 193, app/assets/stylesheets/sidebar.scss */
.sidebar-brand:hover {
  opacity: 0.85;
}

/* line 198, app/assets/stylesheets/sidebar.scss */
.sidebar-logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}

/* line 205, app/assets/stylesheets/sidebar.scss */
.sidebar-brand-text {
  transition: opacity 0.3s, visibility 0.3s, width 0.3s;
  white-space: nowrap;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}

/* line 213, app/assets/stylesheets/sidebar.scss */
.sidebar-toggle {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}

/* line 227, app/assets/stylesheets/sidebar.scss */
.sidebar-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* line 232, app/assets/stylesheets/sidebar.scss */
.sidebar-toggle i {
  font-size: 0.75rem;
  transition: transform 0.3s;
}

/* line 241, app/assets/stylesheets/sidebar.scss */
.sidebar-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.35rem 0;
}

/* line 249, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar {
  width: 4px;
}

/* line 252, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}

/* line 255, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}

/* line 262, app/assets/stylesheets/sidebar.scss */
.sidebar-category {
  margin-bottom: 0.2rem;
}

/* line 265, app/assets/stylesheets/sidebar.scss */
.sidebar-category:not(:first-child) {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 0.55rem;
  margin-top: 0.2rem;
}

/* line 272, app/assets/stylesheets/sidebar.scss */
.sidebar-category-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 1.1rem;
  margin-bottom: 0.175rem;
}

/* line 279, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-header {
  justify-content: center;
  padding: 0.35rem;
}

/* line 285, app/assets/stylesheets/sidebar.scss */
.sidebar-category-icon {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}

/* line 293, app/assets/stylesheets/sidebar.scss */
.sidebar-category-title {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.35);
  white-space: nowrap;
  transition: opacity 0.3s, visibility 0.3s;
}

/* line 302, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-title {
  opacity: 0;
  visibility: hidden;
  width: 0;
}

/* line 309, app/assets/stylesheets/sidebar.scss */
.sidebar-category-logos {
  display: flex;
  gap: 0.25rem;
}

/* line 313, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-logos {
  flex-direction: column;
  gap: 0.125rem;
}

/* line 319, app/assets/stylesheets/sidebar.scss */
.sidebar-platform-logo {
  width: 14px;
  height: 14px;
  object-fit: contain;
  opacity: 0.5;
  border-radius: 3px;
}

/* line 327, app/assets/stylesheets/sidebar.scss */
.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0 0.675rem;
}

/* line 333, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item {
  margin-bottom: 0.1rem;
  position: relative;
}

/* line 340, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.05));
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.2);
  position: relative;
}

/* line 345, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #3b82f6;
  border-radius: 0 3px 3px 0;
}

/* line 357, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link {
  color: #3b82f6;
  background: transparent;
}

/* line 361, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link .sidebar-icon {
  color: #3b82f6;
}

/* line 367, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-arrow-btn .sidebar-arrow {
  color: #3b82f6;
}

/* line 374, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.05));
  color: #3b82f6;
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.2);
}

/* line 379, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link .sidebar-icon {
  color: #3b82f6;
}

/* line 383, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #3b82f6;
  border-radius: 0 3px 3px 0;
}

/* line 398, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.has-submenu > .sidebar-menu-link .sidebar-arrow,
.sidebar-menu-item.has-submenu > .sidebar-menu-link-wrapper .sidebar-arrow {
  margin-left: auto;
  font-size: 0.65rem;
  transition: transform 0.2s;
}

/* line 405, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.has-submenu.open > .sidebar-menu-link .sidebar-arrow, .sidebar-menu-item.has-submenu.open > .sidebar-menu-link-wrapper .sidebar-arrow {
  transform: rotate(180deg);
}

/* line 413, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper {
  display: flex;
  align-items: center;
  border-radius: 10px;
  transition: all 0.2s;
}

/* line 419, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 423, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper .sidebar-menu-link {
  flex: 1;
  border-radius: 10px 0 0 10px;
  padding-right: 0.5rem;
}

/* line 428, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper .sidebar-menu-link:hover {
  background: transparent;
}

/* line 435, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.8rem 0.55rem 0.35rem;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 0 8px 8px 0;
  transition: all 0.2s;
}

/* line 446, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* line 449, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover .sidebar-arrow {
  color: rgba(255, 255, 255, 0.8);
}

/* line 455, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  position: relative;
  cursor: pointer;
}

/* line 467, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

/* line 472, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.05));
  color: #3b82f6;
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.2);
}

/* line 477, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active .sidebar-icon {
  color: #3b82f6;
}

/* line 481, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #3b82f6;
  border-radius: 0 3px 3px 0;
}

/* line 495, app/assets/stylesheets/sidebar.scss */
.sidebar-icon {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex-shrink: 0;
  transition: color 0.2s;
}

/* line 506, app/assets/stylesheets/sidebar.scss */
.sidebar-text {
  flex: 1;
  white-space: nowrap;
  transition: opacity 0.3s, visibility 0.3s, width 0.3s;
  font-size: 0.85rem;
  font-weight: 500;
}

/* line 514, app/assets/stylesheets/sidebar.scss */
.sidebar-badge {
  background: #3b82f6;
  color: white;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 10px;
  min-width: 20px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}

/* line 527, app/assets/stylesheets/sidebar.scss */
.sidebar-badge-soon {
  background: rgba(255, 193, 7, 0.15);
  color: #ffc107;
  font-size: 0.6rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-left: auto;
  border: 1px solid rgba(255, 193, 7, 0.25);
}

/* line 539, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-soon {
  display: none;
}

/* line 545, app/assets/stylesheets/sidebar.scss */
.sidebar-badge-beta {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.2) 0%, rgba(139, 92, 246, 0.2) 100%);
  color: #a855f7;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-left: auto;
  border: 1px solid rgba(168, 85, 247, 0.35);
  flex-shrink: 0;
}

/* line 558, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-beta {
  display: none;
}

/* line 564, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* line 568, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled:hover {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.7);
}

/* line 575, app/assets/stylesheets/sidebar.scss */
.sidebar-icon-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 4px;
}

/* line 583, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.65rem;
}

/* line 591, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s;
  opacity: 0;
}

/* line 601, app/assets/stylesheets/sidebar.scss */
.open > .sidebar-submenu {
  max-height: 500px;
  opacity: 1;
  padding: 0.2rem 0;
}

/* line 608, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.8rem 0.45rem 2.15rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  border-radius: 6px;
  font-size: 0.8rem;
  transition: all 0.2s;
}

/* line 619, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link i {
  font-size: 0.7rem;
  width: 14px;
  opacity: 0.7;
}

/* line 625, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

/* line 630, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active {
  color: #3b82f6;
  background: rgba(59, 130, 246, 0.08);
}

/* line 634, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active i {
  opacity: 1;
}

/* line 640, app/assets/stylesheets/sidebar.scss */
.sidebar-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 0.675rem 0.675rem;
}

/* line 649, app/assets/stylesheets/sidebar.scss */
.sidebar-footer {
  padding: 0.675rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: auto;
  flex-shrink: 0;
}

/* line 656, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle {
  margin-bottom: 0.55rem;
}

/* line 659, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.5rem 0.8rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.8rem;
}

/* line 673, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* line 678, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn .theme-icon {
  font-size: 0.8rem;
}

/* line 684, app/assets/stylesheets/sidebar.scss */
.sidebar-user {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.55rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  margin-bottom: 0.55rem;
}

/* line 694, app/assets/stylesheets/sidebar.scss */
.sidebar-user-main {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 702, app/assets/stylesheets/sidebar.scss */
.sidebar-footer-menu {
  padding: 0 0.5rem;
  margin: 0;
  list-style: none;
}

/* line 708, app/assets/stylesheets/sidebar.scss */
.sidebar-category-blog {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 714, app/assets/stylesheets/sidebar.scss */
.sidebar-user-avatar {
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, #3b82f6, #0a59da);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.8rem;
  flex-shrink: 0;
}

/* line 727, app/assets/stylesheets/sidebar.scss */
.sidebar-user-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: opacity 0.3s, visibility 0.3s, width 0.3s;
  line-height: 1.25;
}

/* line 735, app/assets/stylesheets/sidebar.scss */
.sidebar-user-name {
  font-size: 0.8rem;
  font-weight: 500;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 744, app/assets/stylesheets/sidebar.scss */
.sidebar-user-plan {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: capitalize;
}

/* line 751, app/assets/stylesheets/sidebar.scss */
.sidebar-logout-form {
  width: 100%;
  margin: 0;
}

/* line 756, app/assets/stylesheets/sidebar.scss */
.sidebar-logout {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.5rem 0.8rem;
  color: rgba(234, 179, 8, 0.9);
  text-decoration: none;
  border-radius: 6px;
  font-size: 0.8rem;
  transition: all 0.2s;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}

/* line 772, app/assets/stylesheets/sidebar.scss */
.sidebar-logout:hover {
  background: rgba(234, 179, 8, 0.1);
  color: #eab308;
}

/* line 777, app/assets/stylesheets/sidebar.scss */
.sidebar-logout i {
  font-size: 0.8rem;
}

/* line 785, app/assets/stylesheets/sidebar.scss */
.sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}

/* line 795, app/assets/stylesheets/sidebar.scss */
.sidebar-mobile-open .sidebar-overlay {
  opacity: 1;
  visibility: visible;
}

/* line 805, app/assets/stylesheets/sidebar.scss */
.has-sidebar .navbar {
  display: none !important;
}

/* line 809, app/assets/stylesheets/sidebar.scss */
.has-sidebar #main-content {
  margin-left: 260px;
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 100vh;
}

/* line 815, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed #main-content {
  margin-left: 72px;
}

/* line 820, app/assets/stylesheets/sidebar.scss */
.has-sidebar .dashboard-tabs {
  display: none !important;
}

/* line 825, app/assets/stylesheets/sidebar.scss */
.has-sidebar .footer,
.has-sidebar footer.footer {
  margin-left: 260px;
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0 !important;
}

/* line 833, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed .footer,
.has-sidebar.sidebar-collapsed footer.footer {
  margin-left: 72px;
}

@media (max-width: 1023px) {
  /* line 844, app/assets/stylesheets/sidebar.scss */
  .app-sidebar {
    transform: translateX(-100%);
  }
  /* line 848, app/assets/stylesheets/sidebar.scss */
  .sidebar-mobile-open .app-sidebar {
    transform: translateX(0);
  }
  /* line 853, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .navbar {
    display: flex !important;
  }
  /* line 857, app/assets/stylesheets/sidebar.scss */
  .has-sidebar #main-content {
    margin-left: 0;
  }
  /* line 862, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .dashboard-tabs {
    display: block !important;
  }
  /* line 866, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .footer,
.has-sidebar footer.footer {
    margin-left: 0;
    padding: 0 !important;
  }
}

@media (max-height: 800px) {
  /* line 878, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    padding: 0.35rem 0.7rem;
    min-height: 58px;
    height: 58px;
  }
  /* line 884, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 54px;
    height: 54px;
  }
  /* line 889, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 1.05rem;
  }
  /* line 893, app/assets/stylesheets/sidebar.scss */
  .sidebar-nav {
    padding: 0.2rem 0;
  }
  /* line 897, app/assets/stylesheets/sidebar.scss */
  .sidebar-category {
    margin-bottom: 0.1rem;
  }
  /* line 900, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.35rem;
    margin-top: 0.1rem;
  }
  /* line 906, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.2rem 0.7rem;
    margin-bottom: 0.1rem;
  }
  /* line 911, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.6rem;
    width: 14px;
  }
  /* line 916, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.6rem;
  }
  /* line 920, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu {
    padding: 0 0.55rem;
  }
  /* line 924, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-item {
    margin-bottom: 0.065rem;
  }
  /* line 928, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.45rem 0.7rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 934, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link-wrapper .sidebar-menu-link {
    padding-right: 0.2rem;
  }
  /* line 938, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.45rem 0.7rem 0.45rem 0.2rem;
  }
  /* line 942, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 16px;
    height: 16px;
    font-size: 0.8rem;
  }
  /* line 948, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.8rem;
  }
  /* line 954, app/assets/stylesheets/sidebar.scss */
  .open > .sidebar-submenu {
    padding: 0.1rem 0;
  }
  /* line 959, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link {
    padding: 0.3rem 0.7rem 0.3rem 1.9rem;
    font-size: 0.75rem;
    gap: 0.45rem;
    border-radius: 5px;
  }
  /* line 965, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.675rem;
    width: 12px;
  }
  /* line 972, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.55rem 0.7rem;
  }
  /* line 976, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle {
    margin-bottom: 0.35rem;
  }
  /* line 979, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle .theme-btn {
    padding: 0.35rem 0.7rem;
    font-size: 0.75rem;
    gap: 0.55rem;
    border-radius: 5px;
  }
  /* line 987, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.45rem;
    margin-bottom: 0.35rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 994, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 30px;
    height: 30px;
    font-size: 0.7rem;
    border-radius: 7px;
  }
  /* line 1001, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.75rem;
  }
  /* line 1005, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.675rem;
  }
  /* line 1009, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.35rem 0.7rem;
    font-size: 0.75rem;
    gap: 0.55rem;
  }
  /* line 1014, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.75rem;
  }
}

@media (max-height: 700px) {
  /* line 1024, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    padding: 0.2rem 0.55rem;
    min-height: 58px;
    height: 58px;
  }
  /* line 1030, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 45px;
    height: 45px;
  }
  /* line 1035, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 0.9rem;
  }
  /* line 1040, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.2rem;
  }
  /* line 1045, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.1rem 0.55rem;
  }
  /* line 1049, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.55rem;
  }
  /* line 1053, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.55rem;
  }
  /* line 1057, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.3rem 0.55rem;
    gap: 0.45rem;
  }
  /* line 1062, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.3rem 0.55rem 0.3rem 0.1rem;
  }
  /* line 1066, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 14px;
    height: 14px;
    font-size: 0.7rem;
  }
  /* line 1072, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.7rem;
  }
  /* line 1076, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link {
    padding: 0.2rem 0.55rem 0.2rem 1.6rem;
    font-size: 0.675rem;
  }
  /* line 1080, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.55rem;
    width: 10px;
  }
  /* line 1086, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.35rem 0.55rem;
  }
  /* line 1090, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle {
    margin-bottom: 0.2rem;
  }
  /* line 1093, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle .theme-btn {
    padding: 0.25rem 0.55rem;
    font-size: 0.675rem;
  }
  /* line 1099, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.3rem;
    margin-bottom: 0.2rem;
    gap: 0.45rem;
  }
  /* line 1105, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 25px;
    height: 25px;
    font-size: 0.6rem;
  }
  /* line 1111, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.675rem;
  }
  /* line 1115, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.55rem;
  }
  /* line 1119, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.25rem 0.55rem;
    font-size: 0.675rem;
  }
  /* line 1123, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.675rem;
  }
}

/* line 1133, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .app-sidebar {
  background: var(--bg-primary, #f4f2ed);
  border-right-color: var(--border-color, #d0ccc5);
}

/* line 1138, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-header {
  border-bottom-color: var(--border-color, #d0ccc5);
}

/* line 1142, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-brand {
  color: var(--text-primary, #111111);
}

/* line 1146, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-toggle {
  background: var(--bg-input, #efede7);
  border-color: var(--border-color, #d0ccc5);
  color: var(--text-muted, #666666);
}

/* line 1151, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-toggle:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1157, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link {
  color: var(--text-secondary, #333333);
}

/* line 1160, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1165, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link.active {
  color: var(--accent-primary, #00a080);
}

/* line 1171, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link-wrapper:hover {
  background: var(--bg-secondary, #eae7e1);
}

/* line 1177, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow-btn:hover {
  background: var(--bg-input, #efede7);
}

/* line 1180, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow-btn:hover .sidebar-arrow {
  color: var(--text-secondary, #333333);
}

/* line 1186, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow {
  color: var(--text-muted, #666666);
}

/* line 1190, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link {
  color: var(--text-secondary, #333333);
}

/* line 1193, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1198, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link.active {
  color: var(--accent-primary, #00a080);
  background: rgba(0, 160, 128, 0.08);
}

/* line 1204, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-divider {
  background: var(--border-color, #d0ccc5);
}

/* line 1209, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-category:not(:first-child) {
  border-top-color: var(--border-color, #d0ccc5);
}

/* line 1214, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-category-icon,
[data-theme="light"] .sidebar-category-title {
  color: var(--text-muted, #666666);
}

/* line 1219, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-footer {
  border-top-color: var(--border-color, #d0ccc5);
}

/* line 1223, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user {
  background: var(--bg-card-solid, #faf9f6);
}

/* line 1227, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user-name {
  color: var(--text-primary, #111111);
}

/* line 1231, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user-plan {
  color: var(--text-muted, #666666);
}

/* line 1235, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-theme-toggle .theme-btn {
  background: var(--bg-input, #efede7);
  border-color: var(--border-color, #d0ccc5);
  color: var(--text-secondary, #333333);
}

/* line 1240, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-theme-toggle .theme-btn:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* ===== Undiscovered Page Icon Glow ===== */
@keyframes icon-glow-pulse {
  0%, 100% {
    filter: drop-shadow(0 0 6px rgba(59, 130, 246, 0.8)) drop-shadow(0 0 12px rgba(59, 130, 246, 0.5)) drop-shadow(0 0 20px rgba(59, 130, 246, 0.25));
    opacity: 1;
  }
  50% {
    filter: drop-shadow(0 0 10px #3b82f6) drop-shadow(0 0 20px rgba(59, 130, 246, 0.7)) drop-shadow(0 0 35px rgba(59, 130, 246, 0.35));
    opacity: 0.9;
  }
}

/* line 1259, app/assets/stylesheets/sidebar.scss */
.undiscovered-glow {
  color: #3b82f6 !important;
  animation: icon-glow-pulse 2.5s ease-in-out infinite;
}

/* line 1264, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .undiscovered-glow {
  color: #2563eb !important;
  animation-name: icon-glow-pulse;
}
/* ============================================
   WEBVIEW BOTTOM NAVIGATION MENU
   Modern tab bar — inspired by Slack/GitHub mobile
   ============================================ */

/* Hide bottom nav on desktop unless in webview mode or on mobile/iPad */
.webview-bottom-nav {
  display: none !important;
}

body.webview-mode:not(:has(.landing-v3)) .webview-bottom-nav {
  display: block !important;
}

@media (max-width: 1024px) {
  body:not(:has(.landing-v3)) .webview-bottom-nav {
    display: block !important;
  }
}

.webview-bottom-nav {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  padding: 0 10px 4px 10px !important;
  background: transparent !important;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
  margin: 0 !important;
  pointer-events: none;
  overflow: visible;
}

.webview-nav-container {
  pointer-events: auto;
  background: rgba(30, 34, 50, 0.88);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border: 0.5px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), 0 0 0 0.5px rgba(255, 255, 255, 0.04) inset;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 8px 6px;
  max-width: 100%;
  position: relative;
  overflow: visible;
}


.webview-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 12px;
  min-width: 56px;
  flex: 1;
  background: transparent;
  border: none;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  transition: color 0.2s ease, background 0.15s ease;
  position: relative;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.webview-nav-item i {
  font-size: 1.25rem;
  line-height: 1;
  transition: color 0.2s ease;
}

.webview-nav-label {
  display: block !important;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  letter-spacing: 0.01em;
  margin-top: 1px;
}

/* Active state — blue accent on icon, white label, no background */
.webview-nav-item.active {
  color: #fff;
  background: transparent !important;
}

.webview-nav-item.active i {
  color: #00a8ff;
}

.webview-nav-item.active .webview-nav-label {
  color: #fff;
  font-weight: 600;
}

/* Kill any hover/focus background on nav items */
.webview-nav-item:hover,
.webview-nav-item:focus {
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Tap feedback */
.webview-nav-item:active {
  opacity: 0.7;
  transform: scale(0.96);
  transition: transform 0.1s ease, opacity 0.1s ease;
}

/* AI Agent item — same style as other nav items, no special circle */
.webview-nav-item-ai {
  background: transparent;
  border-radius: 10px;
  border: none;
  width: auto !important;
  height: auto !important;
  min-width: 56px;
  max-width: none !important;
  min-height: auto !important;
  max-height: none !important;
  padding: 6px 12px !important;
  margin: 0 !important;
  position: relative;
  overflow: visible;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px;
}

.webview-nav-item-ai i {
  color: rgba(255, 255, 255, 0.45);
  font-size: 1.25rem;
}

.webview-nav-item-ai .webview-nav-label {
  display: block !important;
  font-size: 0.625rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 1px;
}

.webview-nav-item-ai.active {
  background: transparent;
}

.webview-nav-item-ai.active i {
  color: #00a8ff;
}

.webview-nav-item-ai.active .webview-nav-label {
  color: #fff;
}

/* Badges */
.webview-nav-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  background: #ef4444;
  color: white;
  border-radius: 10px;
  min-width: 16px;
  height: 16px;
  font-size: 0.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
  z-index: 10;
}

/* Badge positioning for AI button */
.webview-nav-item-ai .webview-nav-badge {
  top: 2px;
  right: 2px;
}

.webview-nav-badge-requests {
  background: #ef4444;
}

.webview-nav-badge-locked {
  background: #f59e0b;
  color: #1a1a2e;
  width: 16px;
  height: 16px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.webview-nav-badge-locked i {
  font-size: 0.55rem;
  color: #1a1a2e;
}

/* Beta badge — hidden on mobile, too noisy */
.webview-nav-badge-beta {
  display: none;
}

/* Add padding to main content to prevent overlap with bottom nav */
body.webview-mode #main-content {
  padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 1024px) {
  #main-content {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  }
}

/* ============================================
   TABLET / IPAD ADJUSTMENTS
   ============================================ */

/* iPad Portrait (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .webview-bottom-nav {
    padding: 0 40px calc(env(safe-area-inset-bottom, 0px) + 8px) 40px !important;
  }

  .webview-nav-container {
    padding: 10px 16px;
    max-width: 480px;
    margin: 0 auto;
    border-radius: 26px;
  }

  .webview-nav-item {
    min-width: 72px;
    padding: 8px 16px;
    gap: 3px;
  }

  .webview-nav-item i {
    font-size: 1.4rem;
  }

  .webview-nav-label {
    font-size: 0.7rem;
  }

  body.webview-mode #main-content {
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  }
}

/* iPad Landscape (1024px - 1366px) */
@media (min-width: 1024px) and (max-width: 1366px) {
  .webview-bottom-nav {
    padding: 0 60px calc(env(safe-area-inset-bottom, 0px) + 10px) 60px !important;
  }

  .webview-nav-container {
    padding: 10px 20px;
    max-width: 540px;
    margin: 0 auto;
    border-radius: 28px;
  }

  .webview-nav-item {
    min-width: 80px;
    padding: 8px 20px;
    gap: 3px;
  }

  .webview-nav-item i {
    font-size: 1.5rem;
  }

  .webview-nav-label {
    font-size: 0.75rem;
  }

  body.webview-mode #main-content {
    padding-bottom: calc(85px + env(safe-area-inset-bottom, 0px));
  }
}

/* ============================================
   MOBILE SMALL (< 576px)
   ============================================ */

@media (max-width: 575px) {
  .webview-bottom-nav {
    padding: 0 8px calc(env(safe-area-inset-bottom, 0px) + 12px) 8px !important;
  }

  .webview-nav-container {
    padding: 7px 4px;
    border-radius: 20px;
  }

  .webview-nav-item {
    min-width: 48px;
    padding: 5px 8px;
    gap: 1px;
    border-radius: 8px;
  }

  .webview-nav-item i {
    font-size: 1.1rem;
  }

  .webview-nav-label {
    font-size: 0.575rem;
  }

  .webview-nav-item-ai {
    min-width: 48px;
    padding: 5px 8px !important;
  }

  .webview-nav-item-ai i {
    font-size: 1.1rem;
  }

  .webview-nav-item-ai .webview-nav-label {
    font-size: 0.575rem;
  }

  .webview-nav-badge {
    min-width: 14px;
    height: 14px;
    font-size: 0.55rem;
    top: 1px;
    right: 1px;
  }

  .webview-nav-badge-locked {
    width: 14px;
    height: 14px;
  }

  .webview-nav-badge-locked i {
    font-size: 0.5rem;
  }

  body.webview-mode #main-content {
    padding-bottom: 0 !important;
  }
}

/* ============================================
   DROP-UP MENU (Stock Market sub-menu)
   ============================================ */

.webview-nav-dropup {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  overflow: visible;
}

.webview-nav-dropup-trigger {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 12px;
  min-width: 56px;
  width: 100%;
  background: transparent;
  border: none;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  transition: color 0.2s ease, background 0.15s ease;
  position: relative;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.webview-nav-dropup-trigger i {
  font-size: 1.25rem;
  line-height: 1;
  transition: color 0.2s ease;
}

.webview-nav-dropup-trigger .webview-nav-label {
  display: block !important;
  font-size: 0.625rem;
  font-weight: 500;
  margin-top: 1px;
}

.webview-nav-dropup-trigger .webview-nav-badge {
  position: absolute;
  top: 2px;
  right: 2px;
}

/* Active state for dropup trigger */
.webview-nav-dropup.active .webview-nav-dropup-trigger {
  color: #fff;
}

.webview-nav-dropup.active .webview-nav-dropup-trigger i {
  color: #00a8ff;
}

.webview-nav-dropup.active .webview-nav-dropup-trigger .webview-nav-label {
  color: #fff;
  font-weight: 600;
}

/* Drop-up menu panel */
.webview-dropup-menu {
  position: absolute;
  bottom: calc(100% + 4px);
  left: 0;
  right: auto;
  transform: translateY(4px);
  background: rgba(22, 27, 45, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 14px;
  padding: 6px;
  min-width: 170px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), 0 0 0 0.5px rgba(255, 255, 255, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 10000;
}

.webview-dropup-menu.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* Drop-up menu items */
.webview-dropup-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  border-radius: 10px;
  transition: background 0.15s ease, color 0.15s ease;
  position: relative;
}

.webview-dropup-item:hover,
.webview-dropup-item:active {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.webview-dropup-item.active {
  background: rgba(0, 212, 170, 0.08);
  color: #00d4aa;
}

.webview-dropup-item i {
  font-size: 1rem;
  width: 20px;
  text-align: center;
  opacity: 0.8;
}

.webview-dropup-item.active i {
  opacity: 1;
}

.webview-dropup-item span {
  font-size: 0.85rem;
  font-weight: 500;
  white-space: nowrap;
}

/* Badge in drop-up menu */
.webview-dropup-badge {
  background: #ef4444;
  color: white;
  border-radius: 10px;
  min-width: 16px;
  height: 16px;
  font-size: 0.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  margin-left: auto;
}

/* No arrow needed — menu is fixed positioned */
.webview-dropup-menu::after {
  display: none;
}

/* Right-aligned dropup (for Profile/Settings which is on the right side) */
.webview-nav-dropup-right .webview-dropup-menu {
  left: auto;
  right: 0;
}

/* Mobile adjustments for dropup */
@media (max-width: 575px) {
  .webview-nav-dropup-trigger {
    min-width: 48px;
    padding: 5px 8px;
    border-radius: 8px;
  }

  .webview-nav-dropup-trigger i {
    font-size: 1.1rem;
  }

  .webview-nav-dropup-trigger .webview-nav-label {
    font-size: 0.575rem;
  }

  .webview-dropup-menu {
    min-width: 150px;
    padding: 5px;
    border-radius: 12px;
  }

  .webview-dropup-item {
    padding: 9px 12px;
    gap: 8px;
  }

  .webview-dropup-item i {
    font-size: 0.9rem;
  }

  .webview-dropup-item span {
    font-size: 0.8rem;
  }
}

/* ============================================
   HIDE CHATBOT TOGGLE BUTTON IN WEBVIEW MODE
   ============================================ */

.webview-mode .chatbot-widget-container .chatbot-toggle-btn {
  display: none !important;
}

/* Show chatbot window when opened from bottom nav */
.webview-mode .chatbot-window {
  z-index: 10001;
}

/* ===== New Page Discovery Dot (Mobile) ===== */
.new-page-dot-mobile {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 6px;
  height: 6px;
  margin-left: 0;
}

.webview-nav-item {
  position: relative;
}

.webview-nav-dropup-trigger {
  position: relative;
}

.new-page-dot-dropup {
  width: 6px;
  height: 6px;
  margin-left: auto;
  flex-shrink: 0;
}

.webview-dropup-item {
  position: relative;
}
/* ============================================
   HIDE ELEMENTS IN WEBVIEW MODE
   ============================================ */

/* Fix html and body to prevent double scroll - ONLY body should scroll */
html.webview-mode {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: none !important;
  width: 100% !important;
  transform: none !important;
  -webkit-transform: none !important;
  scroll-behavior: auto !important;
}

body.webview-mode {
  /* ONLY body should scroll - not html, not containers */
  position: relative !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  height: 100vh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  /* Prevent any transform that could cause movement */
  transform: none !important;
  -webkit-transform: none !important;
  /* Remove any margins/padding that could cause shifting */
  margin: 0 !important;
  padding: 0 !important;
  /* No margin-top on body - safe-area is handled on #main-content */
  margin-top: 0 !important;
  /* Ensure scroll starts at 0 */
  scroll-behavior: auto !important;
}

/* Hide all scrollbars in webview mode */
.webview-mode ::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

.webview-mode * {
  scrollbar-width: none !important; /* Firefox */
  -ms-overflow-style: none !important; /* IE/Edge */
}

.webview-mode *::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* Prevent any container from scrolling - only body should scroll */
.webview-mode #main-content,
.webview-mode .container,
.webview-mode .dashboard-container,
.webview-mode .devise-container {
  overflow-y: visible !important;
  overflow-x: hidden !important;
  /* Containers should NOT have fixed height - causes double scroll */
  max-height: none !important;
  height: auto !important;
  /* Remove any overflow that could create a scroll container */
  overflow: visible !important;
  /* Prevent horizontal scroll */
  max-width: 100vw !important;
  width: 100% !important;
}

/* Prevent horizontal scroll on preferences/account page */
.webview-mode .dashboard-container,
.webview-mode .preferences-form,
.webview-mode .stocks-section {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  overflow: visible !important;
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
}

/* Prevent double scroll on preferences form containers */
.webview-mode .preferences-form,
.webview-mode .preferences-form .row,
.webview-mode .preferences-form .row.mb-12,
.webview-mode .preferences-form .col-12,
.webview-mode .preferences-form .summary-card,
.webview-mode .preferences-form .summary-card .card-content,
.webview-mode .preferences-form .summary-card .card-content .row,
.webview-mode .preferences-form .summary-card .card-content .row.g-2 {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
  position: relative !important;
}

/* Force no scrollbar on preferences form containers */
.webview-mode .preferences-form * {
  overflow-y: visible !important;
}

.webview-mode .preferences-form .summary-card,
.webview-mode .preferences-form .summary-card * {
  overflow-y: visible !important;
  max-height: none !important;
}

/* Prevent double scroll on stocks-section and portfolio management - WEBVIEW ONLY */
.webview-mode .stocks-section {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
  position: relative !important;
}

/* Force all children of stocks-section to not scroll in webview */
/* EXCLUDE elements that need overflow:hidden for text truncation (line-clamp) */
/* EXCLUDE form-check elements that need overflow for proper styling */
.webview-mode .stocks-section *:not(.event-text):not(.event-text-wrapper):not(.stock-name-inline):not(.reasoning-text):not(.form-check-input):not(.form-switch):not(.form-check):not(.mobile-j1-conf-bar):not(.conf-medium):not(.conf-high):not(.conf-low):not(.conf-fill):not(.ag-fullscreen-modal):not(.ag-fullscreen-body):not(.ag-fullscreen-header) {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  max-height: none !important;

}

/* Restore overflow:hidden for text truncation elements */
.webview-mode .stocks-section .event-text,
.webview-mode .stocks-section .event-text-wrapper .event-text {
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  height: auto !important;
  max-height: none !important;
}

.webview-mode .stocks-section .stock-name-inline {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  height: auto !important;
}

/* Specific containers within stocks-section */
.webview-mode .stocks-section .row,
.webview-mode .stocks-section #portfolio-management,
.webview-mode .stocks-section .tab-content,
.webview-mode .stocks-section .tab-pane,
.webview-mode .stocks-section .dashboard-tabs,
.webview-mode .stocks-section .summary-card,
.webview-mode .stocks-section .summary-card .card-content,
.webview-mode .stocks-section .stocks-grid,
.webview-mode .stocks-section .stock-card {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
}

/* Ensure bottom nav menu stays fixed - override any conflicting rules */
.webview-mode .webview-bottom-nav {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  /* Ensure it's not affected by any parent container */
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
}

/* Prevent iOS zoom on input focus - all inputs must be at least 16px */
.webview-mode input[type="text"],
.webview-mode input[type="email"],
.webview-mode input[type="password"],
.webview-mode input[type="tel"],
.webview-mode input[type="number"],
.webview-mode input[type="search"],
.webview-mode textarea,
.webview-mode select,
.webview-mode .form-control {
  font-size: 16px !important; /* Prevent iOS zoom - must be at least 16px */
}

/* Ensure dashboard-container doesn't affect fixed positioning */
.webview-mode .dashboard-container {
  /* Don't create a new stacking context that could affect fixed elements */
  transform: none !important;
  -webkit-transform: none !important;
  /* Ensure overflow doesn't clip fixed elements */
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  /* Prevent horizontal scroll on preferences page */
  overflow-x: hidden !important;
}

/* Prevent horizontal scroll on account/preferences page */
.webview-mode .dashboard-container,
.webview-mode .container,
.webview-mode #main-content,
.webview-mode body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* Hide navbar completely in webview mode */
.webview-mode .navbar {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide dashboard/page headers in webview mode */
.webview-mode .dashboard-header {
  display: none !important;
}

/* Hide blog hero section in webview mode (old class) */
.webview-mode .blog-hero-section {
  display: none !important;
}

/* Hide blog article header in webview mode (old class) */
.webview-mode .blog-article-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  visibility: hidden !important;
}

/* Blog in webview: show hero but compact, fix double scroll */
.webview-mode .blog-article-hero-v2 {
  padding: 16px 0 20px !important;
}

.webview-mode .blog-page-v2 {
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

.webview-mode .blog-content-v2 {
  padding-top: 16px !important;
  overflow: visible !important;
  height: auto !important;
}

.webview-mode .blog-article-content-v2 {
  overflow: visible !important;
  height: auto !important;
}

/* Hide devise header (logo/title) in webview mode */
.webview-mode .devise-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  visibility: hidden !important;
}

/* Hide any other headers/top bars */
.webview-mode .account-header,
.webview-mode .page-header,
.webview-mode .content-header,
.webview-mode header:not(.webview-back-btn-fixed):not(.nv-header) {
  display: none !important;
}

/* Hide page titles and subtitles */
.webview-mode .dashboard-title,
.webview-mode .dashboard-subtitle,
.webview-mode h1.dashboard-title,
.webview-mode h2.dashboard-title,
.webview-mode h3.dashboard-title {
  display: none !important;
}

/* Adjust container padding when header is hidden */
.webview-mode .dashboard-container {
  padding-top: 0 !important;
}

.webview-mode .container {
  padding-top: 0.5rem !important;
}

/* Ensure content respects safe-area for notch in webview mode */
.webview-mode #main-content {
  margin-top: 0 !important;
  padding-top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
}

/* Mobile adjustments */
@media (max-width: 575px) {
  .webview-mode #main-content {
    margin-top: 0 !important;
    padding-top: calc(env(safe-area-inset-top, 0px) + 0.4rem) !important;
  }
}

/* Tablet adjustments */
@media (min-width: 576px) and (max-width: 1024px) {
  .webview-mode #main-content {
    margin-top: 0 !important;
    padding-top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
  }
}

/* Large tablets and iPad Pro landscape */
@media (min-width: 1024px) and (max-width: 1366px) {
  .webview-mode #main-content {
    margin-top: 0 !important;
    padding-top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
  }
}

/* Ensure containers also respect safe areas */
.webview-mode .container {
  padding-left: calc(env(safe-area-inset-left, 0px) + 0.75rem) !important;
  padding-right: calc(env(safe-area-inset-right, 0px) + 0.75rem) !important;
}

/* Dashboard container specific - no margin for notch */
.webview-mode .dashboard-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Prevent unnecessary scroll on devise pages in webview mode */
.webview-mode body.min-vh-100 {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  /* Prevent scroll to bottom on load */
  scroll-behavior: auto !important;
}

/* Devise container - add normal top padding for visual spacing */
.webview-mode .devise-container {
  min-height: auto !important;
  height: auto !important;
  padding-top: 2rem !important;
}

@media (max-width: 575px) {
  .webview-mode .devise-container {
    padding-top: 1.5rem !important;
  }
}

/* Devise card - remove top margin/padding when header is hidden */
.webview-mode .devise-card {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Devise body content - adjust padding when header is hidden */
.webview-mode .devise-body-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

@media (max-width: 575px) {
  .webview-mode body.min-vh-100 {
    /* On mobile, allow scroll only if content exceeds viewport */
    overflow-y: auto !important;
    /* Remove flex-grow behavior that can create extra space */
    display: flex !important;
    flex-direction: column !important;
  }
  
  .webview-mode #main-content.flex-grow-1 {
    /* Don't grow to fill space, just fit content */
    flex-grow: 0 !important;
    min-height: auto !important;
  }
  
  .webview-mode .devise-container {
    /* Ensure container doesn't force min-height */
    min-height: auto !important;
    height: fit-content !important;
    /* Add padding-bottom to prevent content from being hidden by bottom menu */
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-y: visible !important;
  }
}

/* Hide reCAPTCHA in webview mode */
.webview-mode .recaptcha-container,
.webview-mode .g-recaptcha {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide back button on devise pages */
.webview-mode .devise-container ~ .webview-back-btn-fixed,
body.webview-mode.devise .webview-back-btn-fixed {
  display: none !important;
}

/* ============================================
   MODAL Z-INDEX FIX FOR WEBVIEW MODE
   Ensure modals appear above all other elements
   Bootstrap backdrop = 1040, modal = 1050 by default
   The issue is that nested modals create stacking contexts
   ============================================ */

/* CRITICAL: Prevent parent elements from creating new stacking contexts */
body.webview-mode .stocks-section,
body.webview-mode .stock-events-section,
body.webview-mode .stock-events-grid,
body.webview-mode .stock-event-card {
  transform: none !important;
  -webkit-transform: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  perspective: none !important;
  isolation: auto !important;
  contain: none !important;
  will-change: auto !important;
}

/* Backdrop - append to body, should be below modal */
body.webview-mode .modal-backdrop,
body.webview-mode .modal-backdrop.fade,
body.webview-mode .modal-backdrop.show,
.webview-mode .modal-backdrop,
.webview-mode .modal-backdrop.fade,
.webview-mode .modal-backdrop.show {
  z-index: 1040 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
}

/* Modal container - MUST be above backdrop */
body.webview-mode .modal,
body.webview-mode .modal.fade,
body.webview-mode .modal.show,
.webview-mode .modal,
.webview-mode .modal.fade,
.webview-mode .modal.show {
  z-index: 1055 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  /* Remove any transform that could create stacking context issues */
  transform: none !important;
  -webkit-transform: none !important;
}

/* Dialog inside modal */
body.webview-mode .modal .modal-dialog,
.webview-mode .modal .modal-dialog {
  z-index: 1056 !important;
  position: relative !important;
  margin: 1.75rem auto !important;
}

/* Content inside dialog */
body.webview-mode .modal .modal-content,
.webview-mode .modal .modal-content {
  z-index: 1057 !important;
  position: relative !important;
}

/* ============================================
   FORM SWITCH FIXES FOR WEBVIEW MODE
   Ensure Bootstrap switches render correctly
   ============================================ */
.webview-mode .form-check.form-switch,
.webview-mode .form-switch {
  padding-left: 2.5em !important;
  min-height: 1.5rem !important;
}

.webview-mode .form-switch .form-check-input,
.webview-mode .form-check-input[role="switch"] {
  width: 2em !important;
  height: 1em !important;
  margin-left: -2.5em !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255,255,255,0.25%29'/%3e%3c/svg%3e") !important;
  background-position: left center !important;
  border-radius: 2em !important;
  transition: background-position .15s ease-in-out !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: rgba(45, 55, 72, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  overflow: hidden !important;
}

.webview-mode .form-switch .form-check-input:checked,
.webview-mode .form-check-input[role="switch"]:checked {
  background-color: #00d4aa !important;
  border-color: #00d4aa !important;
  background-position: right center !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}

/* ============================================
   MOBILE / IPAD: SAME LAYOUT AS WEBVIEW MODE
   Applied via media query so they take effect
   before JS adds the webview-mode class.
   ============================================ */

@media (max-width: 1024px) {
  /* Hide navbar — NOT on landing */
  body:not(:has(.landing-v3)) .navbar {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Hide footer (replaced by bottom nav) — NOT on landing, NOT driver.js popover footer */
  body:not(:has(.landing-v3)) footer:not(.driver-popover-footer),
  body:not(:has(.landing-v3)) .site-footer,
  body:not(:has(.landing-v3)) .footer {
    display: none !important;
  }

  /* Hide dashboard/page headers — NOT on landing */
  body:not(:has(.landing-v3)) .dashboard-header {
    display: none !important;
  }

  /* Hide page title/subtitle — NOT on landing */
  body:not(:has(.landing-v3)) .dashboard-title,
  body:not(:has(.landing-v3)) .dashboard-subtitle,
  body:not(:has(.landing-v3)) h1.dashboard-title,
  body:not(:has(.landing-v3)) h2.dashboard-title,
  body:not(:has(.landing-v3)) h3.dashboard-title {
    display: none !important;
  }

  /* Container padding adjustments — NOT on landing */
  body:not(:has(.landing-v3)) .dashboard-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body:not(:has(.landing-v3)) .container {
    padding-top: 0.5rem !important;
  }

  body:not(:has(.landing-v3)) #main-content {
    margin-top: 0 !important;
    padding-top: calc(env(safe-area-inset-top, 0px) + 0.5rem) !important;
  }

  /* Prevent iOS zoom on inputs — NOT on landing */
  body:not(:has(.landing-v3)) input[type="text"],
  body:not(:has(.landing-v3)) input[type="email"],
  body:not(:has(.landing-v3)) input[type="password"],
  body:not(:has(.landing-v3)) input[type="tel"],
  body:not(:has(.landing-v3)) input[type="number"],
  body:not(:has(.landing-v3)) input[type="search"],
  body:not(:has(.landing-v3)) textarea,
  body:not(:has(.landing-v3)) select,
  body:not(:has(.landing-v3)) .form-control {
    font-size: 16px !important;
  }

  /* Hide scrollbars — NOT on landing */
  body:not(:has(.landing-v3)) ::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  body:not(:has(.landing-v3)) * {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
}

/* Onboarding Tour Styles */

/* "Later / Plus tard" dismiss link — matches the Back button style */
.onboarding-dismiss-link {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  color: #94a3b8;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.6rem 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  user-select: none;
}

.onboarding-dismiss-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #f8fafc;
  transform: translateY(-1px);
}

/* Help button in dashboard header */
.onboarding-help-btn {
  background: transparent;
  border: none;
  color: var(--text-secondary, #6b7280);
  font-size: 1.2rem;
  padding: 0.25rem 0.5rem;
  margin-left: 0.5rem;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
  vertical-align: middle;
}

.onboarding-help-btn:hover {
  color: var(--primary-color, #3b82f6);
  transform: scale(1.1);
}

.onboarding-help-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);
  border-radius: 50%;
}

/* Floating restart button (shown when onboarding not completed) */
.onboarding-floating-btn {
  position: fixed;
  bottom: 100px;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6);
  border: none;
  color: white;
  font-size: 1.2rem;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.onboarding-floating-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.5);
}

.onboarding-floating-btn.pulse {
  animation: onboarding-pulse 2s infinite;
}

@keyframes onboarding-pulse {
  0%, 100% {
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
  }
  50% {
    box-shadow: 0 4px 25px rgba(59, 130, 246, 0.7);
  }
}

/* Driver.js custom popover styles - Pro Theme */
.onboarding-popover {
  --driver-theme-primary: #00d4aa !important;
  --driver-theme-secondary: #00b894 !important;
}

.driver-popover {
  background: linear-gradient(145deg, #1a1f35 0%, #0f1424 100%) !important;
  border: 1px solid rgba(0, 212, 170, 0.2) !important;
  border-radius: 16px !important;
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  min-width: 300px !important;
  max-width: min(420px, 92vw) !important;
  box-sizing: border-box !important;
}

.driver-popover-title {
  color: #f8fafc !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 0.5rem !important;
}

.driver-popover-description {
  color: #94a3b8 !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

/* Footer layout */
.driver-popover-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 0.5rem 0.75rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  margin-top: 1rem !important;
}

/* Step counter */
.driver-popover-progress-text {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
  min-width: 36px !important;
  text-align: left !important;
  flex-shrink: 0 !important;
}

/* Navigation buttons container */
.driver-popover-navigation-btns {
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  flex-shrink: 1 !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}

/* Base button styles - clean, no text glow */
.driver-popover-prev-btn,
.driver-popover-next-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  color: #f8fafc !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  padding: 0.55rem 0.9rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-shadow: none !important;
  box-shadow: none !important;
  outline: none !important;
  white-space: nowrap !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.driver-popover-prev-btn:hover,
.driver-popover-next-btn:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  transform: translateY(-1px) !important;
  text-shadow: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.driver-popover-prev-btn:focus,
.driver-popover-next-btn:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(0, 212, 170, 0.3) !important;
}

/* Previous button - subtle style */
.driver-popover-prev-btn {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #94a3b8 !important;
}

.driver-popover-prev-btn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f8fafc !important;
}

/* Next/Done button - primary accent */
.driver-popover-next-btn {
  background: linear-gradient(135deg, #00d4aa 0%, #00b894 100%) !important;
  border: none !important;
  color: #0a0e1a !important;
  font-weight: 700 !important;
}

.driver-popover-next-btn:hover {
  background: linear-gradient(135deg, #00e4b8 0%, #00c9a0 100%) !important;
  color: #0a0e1a !important;
  box-shadow: 0 6px 20px rgba(0, 212, 170, 0.35) !important;
}

/* Close button */
.driver-popover-close-btn {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 1.1rem !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
}

.driver-popover-close-btn:hover {
  color: #f8fafc !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Highlighted element border */
.driver-active-element {
  border-radius: 12px !important;
  box-shadow: 0 0 0 4px rgba(0, 212, 170, 0.3) !important;
  overflow: visible !important;
}

/* Search dropdown must sit above the Driver.js overlay (z-index ~10000) */
.driver-active-element [data-search-target="results"] {
  z-index: 100000 !important;
}

/* Arrow styling */
.driver-popover-arrow {
  border-color: transparent !important;
}

.driver-popover-arrow-side-left {
  border-right-color: #1a1f35 !important;
}

.driver-popover-arrow-side-right {
  border-left-color: #1a1f35 !important;
}

.driver-popover-arrow-side-top {
  border-bottom-color: #1a1f35 !important;
}

.driver-popover-arrow-side-bottom {
  border-top-color: #1a1f35 !important;
}

/* Tablet adjustments */
@media (max-width: 900px) {
  .driver-popover {
    max-width: min(400px, 90vw) !important;
  }

  .driver-popover-prev-btn,
  .driver-popover-next-btn {
    font-size: 0.82rem !important;
    padding: 0.5rem 0.8rem !important;
  }

  .onboarding-dismiss-link {
    font-size: 0.82rem !important;
    padding: 0.5rem 0.8rem !important;
  }
}

/* Mobile adjustments */
@media (max-width: 600px) {
  .onboarding-floating-btn {
    bottom: 80px;
    right: 15px;
    width: 45px;
    height: 45px;
    font-size: 1rem;
  }

  .driver-popover {
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    margin: 0 12px !important;
  }

  /* Keep everything on one line, smaller sizing */
  .driver-popover-footer {
    flex-wrap: nowrap !important;
    gap: 0.35rem !important;
  }

  .driver-popover-progress-text {
    flex: 0 0 auto !important;
    min-width: 30px !important;
  }

  /* "Plus tard" — compact, never grows */
  .onboarding-dismiss-link {
    flex: 0 0 auto !important;
    font-size: 0.75rem !important;
    padding: 0.45rem 0.55rem !important;
    white-space: nowrap !important;
  }

  .driver-popover-navigation-btns {
    flex: 0 0 auto !important;
    gap: 0.3rem !important;
    margin-left: auto !important;
  }

  .driver-popover-prev-btn,
  .driver-popover-next-btn {
    font-size: 0.78rem !important;
    padding: 0.45rem 0.6rem !important;
    white-space: nowrap !important;
  }
}

/* Webview mode - adjust for bottom nav */
.webview-mode .onboarding-floating-btn {
  bottom: 120px;
}

/* Light mode overrides */
[data-theme="light"] .driver-popover {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.12),
    0 0 0 1px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .driver-popover-title {
  color: var(--text-primary) !important;
}

[data-theme="light"] .driver-popover-description {
  color: var(--text-muted) !important;
}

[data-theme="light"] .driver-popover-footer {
  border-top: 1px solid var(--border-color) !important;
}

[data-theme="light"] .driver-popover-progress-text {
  color: var(--text-muted) !important;
}

[data-theme="light"] .driver-popover-prev-btn,
[data-theme="light"] .driver-popover-next-btn {
  background: var(--bg-input) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="light"] .driver-popover-prev-btn:hover,
[data-theme="light"] .driver-popover-next-btn:hover {
  background: var(--border-color) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .driver-popover-prev-btn {
  background: var(--bg-primary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-secondary) !important;
}

[data-theme="light"] .driver-popover-prev-btn:hover {
  color: var(--text-primary) !important;
}

[data-theme="light"] .driver-popover-close-btn {
  color: var(--text-muted) !important;
}

[data-theme="light"] .driver-popover-close-btn:hover {
  color: var(--text-primary) !important;
  background: var(--bg-input) !important;
}

[data-theme="light"] .driver-popover-arrow-side-left {
  border-right-color: var(--bg-card-solid) !important;
}

[data-theme="light"] .driver-popover-arrow-side-right {
  border-left-color: var(--bg-card-solid) !important;
}

[data-theme="light"] .driver-popover-arrow-side-top {
  border-bottom-color: var(--bg-card-solid) !important;
}

[data-theme="light"] .driver-popover-arrow-side-bottom {
  border-top-color: var(--bg-card-solid) !important;
}

/* line 15, app/assets/stylesheets/api_docs.scss */
.api-docs-hero {
  padding: 120px 0 80px;
  background: linear-gradient(180deg, rgba(99, 102, 241, 0.05) 0%, #0a0a0f 100%);
  text-align: center;
}

/* line 21, app/assets/stylesheets/api_docs.scss */
.api-docs-hero-content {
  max-width: 700px;
  margin: 0 auto;
}

/* line 25, app/assets/stylesheets/api_docs.scss */
.api-docs-hero-content h1 {
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

/* line 33, app/assets/stylesheets/api_docs.scss */
.api-docs-hero-content p {
  font-size: 18px;
  color: #a1a1aa;
  line-height: 1.7;
  margin-bottom: 30px;
}

/* line 41, app/assets/stylesheets/api_docs.scss */
.api-version-badge {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(99, 102, 241, 0.15);
  color: #818cf8;
  font-size: 12px;
  font-weight: 600;
  border-radius: 100px;
  margin-bottom: 20px;
  border: 1px solid rgba(99, 102, 241, 0.3);
}

/* line 53, app/assets/stylesheets/api_docs.scss */
.btn-api-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* line 66, app/assets/stylesheets/api_docs.scss */
.btn-api-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(99, 102, 241, 0.4);
  color: #fff;
}

/* line 74, app/assets/stylesheets/api_docs.scss */
.api-docs-container {
  padding: 60px 0 100px;
  background: #0a0a0f;
}

/* line 79, app/assets/stylesheets/api_docs.scss */
.api-docs-layout {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 60px;
}

@media (max-width: 992px) {
  /* line 79, app/assets/stylesheets/api_docs.scss */
  .api-docs-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* line 91, app/assets/stylesheets/api_docs.scss */
.api-docs-sidebar {
  position: sticky;
  top: 100px;
  height: fit-content;
}

@media (max-width: 992px) {
  /* line 91, app/assets/stylesheets/api_docs.scss */
  .api-docs-sidebar {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
}

/* line 104, app/assets/stylesheets/api_docs.scss */
.api-nav-section {
  margin-bottom: 30px;
}

/* line 107, app/assets/stylesheets/api_docs.scss */
.api-nav-section h4 {
  font-size: 11px;
  font-weight: 600;
  color: #71717a;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

/* line 116, app/assets/stylesheets/api_docs.scss */
.api-nav-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 122, app/assets/stylesheets/api_docs.scss */
.api-nav-section li a {
  display: block;
  padding: 8px 0;
  color: #a1a1aa;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.2s ease;
}

/* line 130, app/assets/stylesheets/api_docs.scss */
.api-nav-section li a:hover {
  color: #ffffff;
}

/* line 137, app/assets/stylesheets/api_docs.scss */
.api-docs-content {
  max-width: 100%;
}

/* line 141, app/assets/stylesheets/api_docs.scss */
.api-section {
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 146, app/assets/stylesheets/api_docs.scss */
.api-section:last-of-type {
  border-bottom: none;
}

/* line 150, app/assets/stylesheets/api_docs.scss */
.api-section h2 {
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 20px;
}

/* line 157, app/assets/stylesheets/api_docs.scss */
.api-section h3 {
  font-size: 20px;
  font-weight: 600;
  color: #ffffff;
  margin: 30px 0 15px;
}

/* line 164, app/assets/stylesheets/api_docs.scss */
.api-section h4 {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin: 25px 0 12px;
}

/* line 171, app/assets/stylesheets/api_docs.scss */
.api-section p {
  font-size: 15px;
  color: #a1a1aa;
  line-height: 1.7;
  margin-bottom: 16px;
}

/* line 178, app/assets/stylesheets/api_docs.scss */
.api-section code {
  background: rgba(99, 102, 241, 0.1);
  color: #818cf8;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Fira Code', 'Monaco', monospace;
  font-size: 13px;
}

/* line 189, app/assets/stylesheets/api_docs.scss */
.api-info-box, .api-warning-box {
  padding: 20px 24px;
  border-radius: 12px;
  margin: 20px 0;
}

/* line 194, app/assets/stylesheets/api_docs.scss */
.api-info-box h4, .api-warning-box h4 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  font-size: 14px;
}

/* line 202, app/assets/stylesheets/api_docs.scss */
.api-info-box code.api-base-url, .api-warning-box code.api-base-url {
  display: block;
  padding: 12px 16px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  font-size: 14px;
  color: #00d4aa;
}

/* line 212, app/assets/stylesheets/api_docs.scss */
.api-info-box {
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.2);
}

/* line 216, app/assets/stylesheets/api_docs.scss */
.api-info-box h4 {
  color: #818cf8;
}

/* line 221, app/assets/stylesheets/api_docs.scss */
.api-warning-box {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.2);
  display: flex;
  gap: 15px;
}

/* line 227, app/assets/stylesheets/api_docs.scss */
.api-warning-box i {
  color: #f59e0b;
  font-size: 18px;
  margin-top: 2px;
}

/* line 233, app/assets/stylesheets/api_docs.scss */
.api-warning-box p {
  margin: 0;
  color: #fbbf24;
}

/* line 240, app/assets/stylesheets/api_docs.scss */
.api-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

/* line 247, app/assets/stylesheets/api_docs.scss */
.api-feature {
  padding: 24px;
  background: #12121a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  text-align: center;
}

/* line 254, app/assets/stylesheets/api_docs.scss */
.api-feature i {
  font-size: 24px;
  color: #6366f1;
  margin-bottom: 12px;
}

/* line 260, app/assets/stylesheets/api_docs.scss */
.api-feature h5 {
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 8px;
}

/* line 267, app/assets/stylesheets/api_docs.scss */
.api-feature p {
  font-size: 13px;
  color: #71717a;
  margin: 0;
}

/* line 275, app/assets/stylesheets/api_docs.scss */
.api-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}

/* line 280, app/assets/stylesheets/api_docs.scss */
.api-table th, .api-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 286, app/assets/stylesheets/api_docs.scss */
.api-table th {
  font-size: 12px;
  font-weight: 600;
  color: #71717a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(255, 255, 255, 0.02);
}

/* line 295, app/assets/stylesheets/api_docs.scss */
.api-table td {
  font-size: 14px;
  color: #a1a1aa;
}

/* line 299, app/assets/stylesheets/api_docs.scss */
.api-table td code {
  font-size: 13px;
}

/* line 306, app/assets/stylesheets/api_docs.scss */
.code-block {
  margin: 20px 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 313, app/assets/stylesheets/api_docs.scss */
.code-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 13px;
  color: #71717a;
}

/* line 324, app/assets/stylesheets/api_docs.scss */
.code-method, .method-badge {
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

/* line 331, app/assets/stylesheets/api_docs.scss */
.code-method.post, .method-badge.post {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}

/* line 336, app/assets/stylesheets/api_docs.scss */
.code-method.get, .method-badge.get {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
}

/* line 341, app/assets/stylesheets/api_docs.scss */
.code-method.delete, .method-badge.delete {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

/* line 347, app/assets/stylesheets/api_docs.scss */
.code-path {
  font-family: 'Fira Code', monospace;
  color: #ffffff;
}

/* line 352, app/assets/stylesheets/api_docs.scss */
.code-block pre {
  margin: 0;
  padding: 20px;
  background: #0d0d12;
  overflow-x: auto;
}

/* line 358, app/assets/stylesheets/api_docs.scss */
.code-block pre code {
  background: none;
  padding: 0;
  color: #a1a1aa;
  font-size: 13px;
  line-height: 1.6;
}

/* line 368, app/assets/stylesheets/api_docs.scss */
.api-docs-cta-section {
  text-align: center;
  padding: 60px 40px;
  background: rgba(99, 102, 241, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(99, 102, 241, 0.1);
}

/* line 375, app/assets/stylesheets/api_docs.scss */
.api-docs-cta-section h2 {
  margin-bottom: 12px;
}

/* line 379, app/assets/stylesheets/api_docs.scss */
.api-docs-cta-section p {
  margin-bottom: 30px;
}
/* line 18, app/assets/stylesheets/company_settings.scss */
.company-settings-page {
  background: #0a0e1a;
  min-height: 100vh;
  color: #ffffff;
  font-size: 0.85rem;
}

/* line 25, app/assets/stylesheets/company_settings.scss */
.company-settings-page::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}

/* line 42, app/assets/stylesheets/company_settings.scss */
.company-settings-page .summary-card {
  overflow: visible !important;
  min-height: auto !important;
  max-height: none !important;
  height: auto !important;
  display: block !important;
  text-align: left !important;
  padding: 1.25rem !important;
}

/* line 54, app/assets/stylesheets/company_settings.scss */
.company-card {
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(45, 55, 72, 0.8) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 1.25rem;
  position: relative;
  height: 100%;
}

/* line 62, app/assets/stylesheets/company_settings.scss */
.company-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: 10px 10px 0 0;
}

/* line 73, app/assets/stylesheets/company_settings.scss */
.company-card:hover {
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 78, app/assets/stylesheets/company_settings.scss */
.card-header-custom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 84, app/assets/stylesheets/company_settings.scss */
.card-header-custom h5 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #ffffff;
}

/* line 90, app/assets/stylesheets/company_settings.scss */
.card-header-custom h5 i {
  color: #00d4aa;
  margin-right: 0.4rem;
}

/* line 97, app/assets/stylesheets/company_settings.scss */
.card-description {
  color: #94a3b8;
  font-size: 0.8rem;
  margin-bottom: 0.85rem;
}

/* line 102, app/assets/stylesheets/company_settings.scss */
.card-description code {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  padding: 2px 5px;
  border-radius: 4px;
  font-size: 0.75rem;
}

/* line 112, app/assets/stylesheets/company_settings.scss */
.credential-field {
  margin-bottom: 0.85rem;
}

/* line 115, app/assets/stylesheets/company_settings.scss */
.credential-field label {
  display: block;
  font-size: 0.7rem;
  font-weight: 500;
  color: #94a3b8;
  margin-bottom: 0.4rem;
}

/* line 124, app/assets/stylesheets/company_settings.scss */
.credential-input-group {
  display: flex;
  gap: 0.4rem;
}

/* line 129, app/assets/stylesheets/company_settings.scss */
.credential-input {
  flex: 1;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 0.6rem 0.85rem;
  color: #ffffff;
  font-family: 'Fira Code', 'Monaco', monospace;
  font-size: 0.75rem;
}

/* line 139, app/assets/stylesheets/company_settings.scss */
.credential-input:focus {
  outline: none;
  border-color: rgba(0, 212, 170, 0.5);
}

/* line 145, app/assets/stylesheets/company_settings.scss */
.credential-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 0.6rem;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 154, app/assets/stylesheets/company_settings.scss */
.credential-btn:hover {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 162, app/assets/stylesheets/company_settings.scss */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.6rem;
  border-radius: 20px;
  font-size: 0.65rem;
  font-weight: 500;
}

/* line 171, app/assets/stylesheets/company_settings.scss */
.status-badge.status-enabled {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 176, app/assets/stylesheets/company_settings.scss */
.status-badge.status-disabled {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
}

/* line 181, app/assets/stylesheets/company_settings.scss */
.status-badge.status-success {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

/* line 186, app/assets/stylesheets/company_settings.scss */
.status-badge.status-error {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 193, app/assets/stylesheets/company_settings.scss */
.btn-docs {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.6rem;
  background: rgba(0, 168, 255, 0.15);
  color: #00a8ff;
  border: 1px solid rgba(0, 168, 255, 0.3);
  border-radius: 5px;
  font-size: 0.65rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 206, app/assets/stylesheets/company_settings.scss */
.btn-docs:hover {
  background: rgba(0, 168, 255, 0.25);
  color: #00a8ff;
  text-decoration: none;
}

/* line 213, app/assets/stylesheets/company_settings.scss */
.btn-danger-outline {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.85rem;
  background: transparent;
  color: #ffa726;
  border: 1px solid rgba(255, 167, 38, 0.4);
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 100%;
  justify-content: center;
}

/* line 228, app/assets/stylesheets/company_settings.scss */
.btn-danger-outline:hover {
  background: rgba(255, 167, 38, 0.15);
  border-color: #ffa726;
}

/* line 234, app/assets/stylesheets/company_settings.scss */
.btn-generate-token {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.25rem;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #000;
  border: none;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 100%;
}

/* line 249, app/assets/stylesheets/company_settings.scss */
.btn-generate-token:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.3);
}

/* line 254, app/assets/stylesheets/company_settings.scss */
.btn-generate-token:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 260, app/assets/stylesheets/company_settings.scss */
.btn-copy-token {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.85rem;
  background: rgba(255, 255, 255, 0.05);
  color: #94a3b8;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  font-size: 0.7rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 272, app/assets/stylesheets/company_settings.scss */
.btn-copy-token:hover {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 279, app/assets/stylesheets/company_settings.scss */
.token-textarea {
  width: 100%;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 6px;
  padding: 0.85rem;
  color: #00d4aa;
  font-family: 'Fira Code', 'Monaco', monospace;
  font-size: 0.7rem;
  resize: none;
}

/* line 290, app/assets/stylesheets/company_settings.scss */
.token-textarea:focus {
  outline: none;
  border-color: #00d4aa;
}

/* line 297, app/assets/stylesheets/company_settings.scss */
.alert-warning-custom {
  background: rgba(255, 167, 38, 0.1);
  border: 1px solid rgba(255, 167, 38, 0.3);
  border-radius: 6px;
  padding: 0.6rem 0.85rem;
  color: #ffa726;
  font-size: 0.75rem;
}

/* line 307, app/assets/stylesheets/company_settings.scss */
.usage-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 992px) {
  /* line 307, app/assets/stylesheets/company_settings.scss */
  .usage-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 307, app/assets/stylesheets/company_settings.scss */
  .usage-stats-grid {
    grid-template-columns: 1fr;
  }
}

/* line 322, app/assets/stylesheets/company_settings.scss */
.usage-stat {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 0.85rem;
  text-align: center;
}

/* line 329, app/assets/stylesheets/company_settings.scss */
.usage-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.2rem;
}

/* line 336, app/assets/stylesheets/company_settings.scss */
.usage-stat-label {
  font-size: 0.7rem;
  color: #64748b;
  margin-bottom: 0.4rem;
}

/* line 342, app/assets/stylesheets/company_settings.scss */
.usage-stat-remaining {
  font-size: 0.6rem;
  color: #64748b;
  margin-top: 0.4rem;
}

/* line 348, app/assets/stylesheets/company_settings.scss */
.usage-progress {
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

/* line 355, app/assets/stylesheets/company_settings.scss */
.usage-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #00d4aa, #00a8ff);
  border-radius: 2px;
  transition: width 0.3s ease;
}

/* line 363, app/assets/stylesheets/company_settings.scss */
.recent-calls-title {
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.85rem;
}

/* line 369, app/assets/stylesheets/company_settings.scss */
.recent-calls-title i {
  color: #00d4aa;
}

/* line 374, app/assets/stylesheets/company_settings.scss */
.api-calls-table {
  overflow-x: auto;
}

/* line 377, app/assets/stylesheets/company_settings.scss */
.api-calls-table table {
  width: 100%;
  border-collapse: collapse;
}

/* line 381, app/assets/stylesheets/company_settings.scss */
.api-calls-table table th, .api-calls-table table td {
  padding: 0.6rem;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 387, app/assets/stylesheets/company_settings.scss */
.api-calls-table table th {
  font-size: 0.65rem;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 395, app/assets/stylesheets/company_settings.scss */
.api-calls-table table td {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* line 399, app/assets/stylesheets/company_settings.scss */
.api-calls-table table td code {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  padding: 2px 5px;
  border-radius: 4px;
  font-size: 0.7rem;
}

/* line 408, app/assets/stylesheets/company_settings.scss */
.api-calls-table table .empty-state {
  text-align: center;
  color: #64748b;
  padding: 1.5rem;
}

/* line 417, app/assets/stylesheets/company_settings.scss */
.team-list {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* line 423, app/assets/stylesheets/company_settings.scss */
.team-member {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  transition: all 0.2s ease;
}

/* line 432, app/assets/stylesheets/company_settings.scss */
.team-member:hover {
  background: rgba(0, 212, 170, 0.05);
}

/* line 437, app/assets/stylesheets/company_settings.scss */
.team-member-avatar {
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 0.85rem;
}

/* line 449, app/assets/stylesheets/company_settings.scss */
.team-member-info {
  flex: 1;
}

/* line 453, app/assets/stylesheets/company_settings.scss */
.team-member-name {
  font-weight: 500;
  color: #ffffff;
  font-size: 0.8rem;
}

/* line 459, app/assets/stylesheets/company_settings.scss */
.team-member-email {
  font-size: 0.7rem;
  color: #64748b;
}

/* line 464, app/assets/stylesheets/company_settings.scss */
.you-badge {
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  color: #000;
  padding: 0.2rem 0.5rem;
  border-radius: 20px;
  font-size: 0.6rem;
  font-weight: 600;
}

/* line 473, app/assets/stylesheets/company_settings.scss */
.team-member-more {
  opacity: 0.7;
}

/* line 476, app/assets/stylesheets/company_settings.scss */
.team-member-more .team-member-avatar-more {
  background: rgba(255, 255, 255, 0.1);
  border: 1px dashed rgba(255, 255, 255, 0.3);
}

/* line 480, app/assets/stylesheets/company_settings.scss */
.team-member-more .team-member-avatar-more span {
  font-size: 0.65rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 490, app/assets/stylesheets/company_settings.scss */
.api-docs-content h6 {
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 600;
  margin-top: 1.25rem;
  margin-bottom: 0.6rem;
}

/* line 497, app/assets/stylesheets/company_settings.scss */
.api-docs-content h6:first-child {
  margin-top: 0;
}

/* line 501, app/assets/stylesheets/company_settings.scss */
.api-docs-content h6 i {
  color: #00d4aa;
}

/* line 506, app/assets/stylesheets/company_settings.scss */
.api-docs-content pre {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 0.85rem;
  margin: 0;
  overflow-x: auto;
  max-width: 100%;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* line 517, app/assets/stylesheets/company_settings.scss */
.api-docs-content pre code {
  color: #94a3b8;
  font-family: 'Fira Code', 'Monaco', monospace;
  font-size: 0.7rem;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-all;
}

/* line 529, app/assets/stylesheets/company_settings.scss */
.copy-toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  color: #000;
  padding: 0.6rem 1rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 500;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s ease;
  z-index: 9999;
}

/* line 544, app/assets/stylesheets/company_settings.scss */
.copy-toast.show {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 992px) {
  /* line 557, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .dashboard-header {
    padding: 0.85rem 0;
  }
  /* line 560, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .dashboard-header .dashboard-title {
    font-size: 1.1rem;
  }
  /* line 564, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .dashboard-header .dashboard-subtitle {
    font-size: 0.75rem;
  }
  /* line 569, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .company-card {
    padding: 1rem !important;
  }
  /* line 573, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .usage-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 577, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .card-header-custom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
  }
  /* line 582, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .card-header-custom h5 {
    font-size: 0.85rem;
  }
}

@media (max-width: 576px) {
  /* line 591, app/assets/stylesheets/company_settings.scss */
  .company-settings-page {
    padding-bottom: 80px;
  }
  /* line 594, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .dashboard-header {
    padding: 0.6rem 0;
  }
  /* line 597, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .dashboard-header .dashboard-title {
    font-size: 0.95rem;
  }
  /* line 601, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .dashboard-header .dashboard-subtitle {
    font-size: 0.7rem;
  }
  /* line 606, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .container {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
  /* line 611, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .company-card {
    padding: 0.85rem !important;
    margin-bottom: 0.85rem;
  }
  /* line 617, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .credential-field label {
    font-size: 0.65rem;
  }
  /* line 622, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .credential-input {
    font-size: 0.65rem;
    padding: 0.5rem 0.6rem;
  }
  /* line 627, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .credential-btn {
    padding: 0.5rem;
  }
  /* line 631, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .usage-stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
  }
  /* line 636, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .usage-stat {
    padding: 0.6rem 0.4rem;
  }
  /* line 640, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .usage-stat-value {
    font-size: 1.1rem;
  }
  /* line 644, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .usage-stat-label {
    font-size: 0.6rem;
  }
  /* line 648, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .usage-stat-remaining {
    font-size: 0.55rem;
  }
  /* line 653, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .api-calls-table table {
    font-size: 0.65rem;
  }
  /* line 656, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .api-calls-table table th, .company-settings-page .api-calls-table table td {
    padding: 0.4rem 0.3rem;
  }
  /* line 660, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .api-calls-table table th {
    font-size: 0.55rem;
  }
  /* line 664, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .api-calls-table table td code {
    font-size: 0.6rem;
    padding: 1px 3px;
  }
  /* line 671, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .team-member {
    padding: 0.5rem;
  }
  /* line 675, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .team-member-avatar {
    width: 28px;
    height: 28px;
    font-size: 0.75rem;
  }
  /* line 681, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .team-member-name {
    font-size: 0.7rem;
  }
  /* line 685, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .team-member-email {
    font-size: 0.6rem;
  }
  /* line 690, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .api-docs-content pre {
    padding: 0.6rem;
  }
  /* line 693, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .api-docs-content pre code {
    font-size: 0.6rem;
  }
  /* line 698, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .api-docs-content h6 {
    font-size: 0.7rem;
  }
  /* line 703, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .btn-danger-outline {
    font-size: 0.7rem;
    padding: 0.4rem 0.6rem;
  }
  /* line 708, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .status-badge {
    font-size: 0.55rem;
    padding: 0.2rem 0.4rem;
  }
  /* line 713, app/assets/stylesheets/company_settings.scss */
  .company-settings-page .btn-docs {
    font-size: 0.55rem;
    padding: 0.25rem 0.4rem;
  }
}
/* line 1, app/assets/stylesheets/subscription_gate.scss */
.subscription-gate {
  position: relative;
  min-height: 200px;
  overflow: hidden;
}

/* line 7, app/assets/stylesheets/subscription_gate.scss */
.subscription-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--overlay-bg);
  backdrop-filter: blur(2px);
  z-index: 100;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 60px;
  border-radius: var(--radius-md);
}

/* line 23, app/assets/stylesheets/subscription_gate.scss */
.subscription-message {
  background: var(--bg-card-solid);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--border-color-light);
  max-width: 400px;
  width: 80%;
  margin: 20px;
  padding: 1.5rem;
}

/* line 35, app/assets/stylesheets/subscription_gate.scss */
.subscription-content h3 {
  color: var(--text-primary);
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}

/* line 42, app/assets/stylesheets/subscription_gate.scss */
.subscription-content p {
  color: var(--text-secondary);
  font-size: 1rem;
  margin-bottom: 1rem;
  line-height: 1.5;
}

/* line 49, app/assets/stylesheets/subscription_gate.scss */
.subscription-content .btn {
  font-weight: 600;
  padding: 12px 30px;
  border-radius: var(--radius-md);
  font-size: 1rem;
}

/* line 56, app/assets/stylesheets/subscription_gate.scss */
.subscription-content .premium-icon {
  font-size: 2rem;
  color: var(--color-warning);
}

/* line 62, app/assets/stylesheets/subscription_gate.scss */
.subscription-gated-content {
  transition: all 0.3s ease;
  filter: blur(8px) !important;
  -webkit-filter: blur(8px) !important;
  opacity: 0.7 !important;
  pointer-events: none !important;
  user-select: none !important;
  transform: scale(0.99);
}

/* line 72, app/assets/stylesheets/subscription_gate.scss */
.subscription-gated-content * {
  filter: blur(0) !important;
}

/* line 76, app/assets/stylesheets/subscription_gate.scss */
.subscription-gated-content.simulations-grid {
  min-height: 400px;
}

/* line 83, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-rich .premium-gate-icon {
  font-size: 2.5rem;
  color: var(--color-warning);
  background: rgba(var(--color-warning-rgb, 255, 193, 7), 0.1);
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

/* line 96, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-rich h3 {
  font-size: 1.4rem !important;
}

/* line 101, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-features {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 340px;
}

/* line 107, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-features li {
  padding: 6px 0;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

/* line 115, app/assets/stylesheets/subscription_gate.scss */
.subscription-message:has(.premium-gate-rich) {
  max-width: 480px;
  width: 90%;
}

/* line 124, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page {
  padding: 2rem 1rem;
  position: relative;
  overflow: hidden;
}

/* line 129, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .gradient-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.12;
  z-index: 0;
  pointer-events: none;
  animation: gate-float-orb 20s ease-in-out infinite;
}

/* line 139, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .gradient-orb-1 {
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(0, 212, 170, 0.4) 0%, transparent 70%);
  top: -80px;
  left: -80px;
}

/* line 147, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .gradient-orb-2 {
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(0, 212, 170, 0.3) 0%, transparent 70%);
  bottom: -50px;
  right: -50px;
  animation-delay: 7s;
}

/* line 156, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .gradient-orb-3 {
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(0, 212, 170, 0.2) 0%, transparent 70%);
  top: 50%;
  left: 50%;
  animation-delay: 12s;
}

/* line 166, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .geo-orb.gradient-orb-1 {
  background: radial-gradient(circle, rgba(220, 53, 69, 0.3) 0%, transparent 70%);
}

/* line 169, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .geo-orb.gradient-orb-2 {
  background: radial-gradient(circle, rgba(255, 193, 7, 0.3) 0%, transparent 70%);
}

/* line 174, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .sim-orb.gradient-orb-1 {
  background: radial-gradient(circle, rgba(99, 102, 241, 0.3) 0%, transparent 70%);
}

/* line 177, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .sim-orb.gradient-orb-2 {
  background: radial-gradient(circle, rgba(0, 212, 170, 0.3) 0%, transparent 70%);
}

/* line 180, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .sim-orb.gradient-orb-3 {
  background: radial-gradient(circle, rgba(168, 85, 247, 0.2) 0%, transparent 70%);
}

@keyframes gate-float-orb {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  25% {
    transform: translate(15px, -15px) scale(1.05);
  }
  50% {
    transform: translate(-15px, 15px) scale(0.95);
  }
  75% {
    transform: translate(10px, 5px) scale(1.02);
  }
}

/* line 192, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-hero {
  position: relative;
  z-index: 1;
}

/* line 198, app/assets/stylesheets/subscription_gate.scss */
.gate-icon {
  width: 72px;
  height: 72px;
  background: linear-gradient(135deg, #1a9e82 0%, #15826b 100%);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: white;
  box-shadow: 0 6px 20px rgba(0, 160, 130, 0.2);
  margin: 0 auto 0.75rem;
}

/* line 211, app/assets/stylesheets/subscription_gate.scss */
.gate-icon.geo-icon {
  background: linear-gradient(135deg, #b33a42 0%, #8b2d34 100%);
  box-shadow: 0 6px 20px rgba(180, 58, 66, 0.2);
}

/* line 216, app/assets/stylesheets/subscription_gate.scss */
.gate-icon.sim-icon {
  background: linear-gradient(135deg, #5558d4 0%, #4345b8 100%);
  box-shadow: 0 6px 20px rgba(85, 88, 212, 0.2);
}

/* line 222, app/assets/stylesheets/subscription_gate.scss */
.gate-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}

/* line 229, app/assets/stylesheets/subscription_gate.scss */
.gate-title-large {
  font-size: 2.2rem;
  font-weight: 700;
  background: linear-gradient(135deg, #ffffff 0%, #00d4aa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}

/* line 239, app/assets/stylesheets/subscription_gate.scss */
.gate-subtitle {
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* line 246, app/assets/stylesheets/subscription_gate.scss */
.gate-subtitle-large {
  color: var(--text-secondary);
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto 2rem;
}

/* line 254, app/assets/stylesheets/subscription_gate.scss */
.gate-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 259, app/assets/stylesheets/subscription_gate.scss */
.gate-features li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.5rem 0;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

/* line 268, app/assets/stylesheets/subscription_gate.scss */
.gate-features li i {
  flex-shrink: 0;
  margin-top: 2px;
}

/* line 275, app/assets/stylesheets/subscription_gate.scss */
.gate-features-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1rem;
}

/* line 283, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-cta-card {
  background: var(--bg-card-solid, var(--card-bg));
  border-radius: 16px;
  padding: 2rem;
  border: 1px solid var(--border-color-light);
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
}

/* line 292, app/assets/stylesheets/subscription_gate.scss */
.trust-badges-mini {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 298, app/assets/stylesheets/subscription_gate.scss */
.trust-badges-mini span {
  font-size: 0.8rem;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 308, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-wrapper {
  background: var(--bg-card-solid, var(--card-bg));
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  border: 1px solid var(--border-color-light);
  transition: transform 0.3s ease;
}

/* line 316, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-wrapper:hover {
  transform: translateY(-3px);
}

/* line 321, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-header {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.08) 0%, rgba(0, 212, 170, 0.03) 100%);
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-color-light);
}

/* line 327, app/assets/stylesheets/subscription_gate.scss */
.demo-badge {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
  padding: 0.35rem 0.8rem;
  border-radius: 16px;
  font-weight: 600;
  font-size: 0.8rem;
}

/* line 335, app/assets/stylesheets/subscription_gate.scss */
.demo-badge.geo-badge {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* line 340, app/assets/stylesheets/subscription_gate.scss */
.demo-badge.sim-badge {
  background: rgba(99, 102, 241, 0.1);
  color: #6366f1;
}

/* line 346, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-content {
  position: relative;
  padding: 1.5rem;
  min-height: 300px;
}

/* line 352, app/assets/stylesheets/subscription_gate.scss */
.demo-blur-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to bottom, transparent 0%, var(--bg-card-solid, #1a1d23) 90%);
  pointer-events: none;
  z-index: 2;
}

/* line 364, app/assets/stylesheets/subscription_gate.scss */
.fake-sentiment-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* line 370, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo {
  text-align: center;
}

/* line 373, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-label {
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 381, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-bar {
  height: 12px;
  background: linear-gradient(90deg, #dc3545 0%, #ffc107 50%, #28a745 100%);
  border-radius: 6px;
  position: relative;
  overflow: hidden;
  opacity: 0.8;
}

/* line 390, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-fill {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 0 6px 6px 0;
}

/* line 399, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  margin-top: 0.3rem;
  font-weight: 600;
}

/* line 407, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-score {
  font-size: 2rem;
  font-weight: 700;
  color: #28a745;
  margin-top: 0.3rem;
}

/* line 413, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-score small {
  font-size: 1rem;
  color: var(--text-muted);
}

/* line 421, app/assets/stylesheets/subscription_gate.scss */
.trending-topics-demo .topic-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
}

/* line 428, app/assets/stylesheets/subscription_gate.scss */
.trending-topics-demo .topic-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 434, app/assets/stylesheets/subscription_gate.scss */
.trending-topics-demo .topic-tag {
  background: rgba(0, 212, 170, 0.08);
  color: var(--text-secondary);
  padding: 0.3rem 0.7rem;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 500;
  border: 1px solid var(--border-color-light);
}

/* line 443, app/assets/stylesheets/subscription_gate.scss */
.trending-topics-demo .topic-tag.hot {
  background: rgba(255, 193, 7, 0.1);
  border-color: rgba(255, 193, 7, 0.3);
  color: #ffc107;
}

/* line 451, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* line 456, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.8rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
}

/* line 464, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row i {
  font-size: 1.1rem;
  width: 20px;
  text-align: center;
}

/* line 465, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-name {
  flex: 1;
  font-size: 0.85rem;
  color: var(--text-secondary);
}

/* line 466, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-mood {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.5rem;
  border-radius: 8px;
}

/* line 472, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-mood.bullish {
  color: #28a745;
  background: rgba(40, 167, 69, 0.1);
}

/* line 473, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-mood.neutral {
  color: #ffc107;
  background: rgba(255, 193, 7, 0.1);
}

/* line 474, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-mood.bearish {
  color: #dc3545;
  background: rgba(220, 53, 69, 0.1);
}

/* line 480, app/assets/stylesheets/subscription_gate.scss */
.fake-geo-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* line 486, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 491, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-level {
  text-align: center;
}

/* line 494, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-level .defcon-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: #ffc107;
  line-height: 1;
}

/* line 500, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-level .defcon-label {
  font-size: 0.7rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 508, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar {
  display: flex;
  gap: 4px;
  flex: 1;
}

/* line 513, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment {
  flex: 1;
  height: 24px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
}

/* line 519, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(1) {
  background: #28a745;
}

/* line 520, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(2) {
  background: #ffc107;
}

/* line 521, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(3) {
  background: #fd7e14;
}

/* line 522, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(4) {
  background: #dc3545;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(5) {
  background: #8b0000;
}

/* line 528, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem;
  background: rgba(255, 193, 7, 0.05);
  border-radius: 10px;
  border: 1px solid rgba(255, 193, 7, 0.15);
}

/* line 537, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-icon {
  font-size: 2rem;
}

/* line 538, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info {
  display: flex;
  flex-direction: column;
}

/* line 542, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-label {
  font-size: 0.7rem;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* line 543, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-value {
  font-weight: 700;
  color: #fd7e14;
  font-size: 1rem;
}

/* line 543, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-value.elevated {
  color: #ffc107;
}

/* line 544, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-detail {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* line 548, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 553, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 558, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-flags {
  font-size: 0.9rem;
  min-width: 70px;
}

/* line 559, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar {
  flex: 1;
  height: 8px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
}

/* line 566, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 1s ease;
}

/* line 571, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill.high {
  background: linear-gradient(90deg, #fd7e14, #dc3545);
}

/* line 572, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill.critical {
  background: linear-gradient(90deg, #dc3545, #8b0000);
}

/* line 573, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill.moderate {
  background: linear-gradient(90deg, #ffc107, #fd7e14);
}

/* line 576, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-score {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-secondary);
  min-width: 28px;
  text-align: right;
}

/* line 587, app/assets/stylesheets/subscription_gate.scss */
.fake-sim-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* line 593, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo {
  padding: 1rem;
  background: rgba(99, 102, 241, 0.05);
  border-radius: 10px;
  border: 1px solid rgba(99, 102, 241, 0.15);
}

/* line 599, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo .scenario-label {
  font-size: 0.7rem;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}

/* line 605, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo .scenario-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

/* line 611, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo .scenario-tags {
  display: flex;
  gap: 0.4rem;
}

/* line 615, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo .scenario-tags .tag {
  background: rgba(99, 102, 241, 0.1);
  color: #6366f1;
  padding: 0.2rem 0.6rem;
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 500;
}

/* line 626, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 631, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 636, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .stock-ticker {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-primary);
  min-width: 45px;
  font-family: monospace;
}

/* line 644, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar {
  flex: 1;
  height: 8px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
}

/* line 651, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill {
  height: 100%;
  border-radius: 4px;
}

/* line 655, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill.negative {
  background: linear-gradient(90deg, #dc3545, #ff6b6b);
}

/* line 656, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill.positive {
  background: linear-gradient(90deg, #28a745, #51cf66);
}

/* line 660, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-value {
  font-size: 0.8rem;
  font-weight: 700;
  min-width: 50px;
  text-align: right;
}

/* line 666, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-value.negative {
  color: #dc3545;
}

/* line 667, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-value.positive {
  color: #28a745;
}

/* line 672, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo {
  text-align: center;
  padding: 1rem;
  background: rgba(220, 53, 69, 0.05);
  border-radius: 10px;
  border: 1px solid rgba(220, 53, 69, 0.15);
}

/* line 679, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-label {
  font-size: 0.75rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 685, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.2;
}

/* line 689, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value.negative {
  color: #dc3545;
}

/* line 690, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value.positive {
  color: #28a745;
}

/* line 692, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-detail {
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* line 699, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium {
  background: linear-gradient(135deg, #1a9e82 0%, #15826b 100%);
  border: none;
  color: white;
  font-weight: 600;
  font-size: 1rem;
  padding: 14px 28px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(26, 158, 130, 0.2);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* line 712, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
  transition: left 0.5s ease;
}

/* line 723, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(26, 158, 130, 0.3);
  color: white;
}

/* line 728, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium:hover::before {
  left: 100%;
}

/* line 731, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium.geo-btn {
  background: linear-gradient(135deg, #b33a42 0%, #8b2d34 100%);
  box-shadow: 0 4px 15px rgba(180, 58, 66, 0.2);
}

/* line 735, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium.geo-btn:hover {
  box-shadow: 0 8px 25px rgba(180, 58, 66, 0.3);
}

/* line 742, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .animate-float {
  animation: gate-animate-float 3s ease-in-out infinite;
}

@keyframes gate-animate-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

@media (max-width: 991px) {
  /* line 753, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-page {
    padding: 1.5rem 0.5rem;
  }
  /* line 757, app/assets/stylesheets/subscription_gate.scss */
  .gate-title-large {
    font-size: 1.6rem;
  }
  /* line 761, app/assets/stylesheets/subscription_gate.scss */
  .gate-subtitle-large {
    font-size: 0.95rem;
  }
  /* line 765, app/assets/stylesheets/subscription_gate.scss */
  .gate-icon {
    width: 64px;
    height: 64px;
    font-size: 1.8rem;
    border-radius: 18px;
  }
  /* line 772, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-cta-card {
    padding: 1.5rem;
    margin-top: 1.5rem;
  }
  /* line 777, app/assets/stylesheets/subscription_gate.scss */
  .demo-preview-content {
    min-height: 240px;
    padding: 1rem;
  }
}

@media (max-width: 575px) {
  /* line 784, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-page {
    padding: 1rem 0.25rem;
  }
  /* line 788, app/assets/stylesheets/subscription_gate.scss */
  .gate-title {
    font-size: 1.3rem;
  }
  /* line 792, app/assets/stylesheets/subscription_gate.scss */
  .gate-title-large {
    font-size: 1.4rem;
  }
  /* line 796, app/assets/stylesheets/subscription_gate.scss */
  .gate-subtitle,
.gate-subtitle-large {
    font-size: 0.85rem;
  }
  /* line 801, app/assets/stylesheets/subscription_gate.scss */
  .gate-icon {
    width: 56px;
    height: 56px;
    font-size: 1.5rem;
    border-radius: 14px;
  }
  /* line 808, app/assets/stylesheets/subscription_gate.scss */
  .gate-features li {
    font-size: 0.82rem;
  }
  /* line 812, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-cta-card {
    padding: 1.25rem;
  }
  /* line 816, app/assets/stylesheets/subscription_gate.scss */
  .demo-preview-wrapper {
    border-radius: 12px;
  }
  /* line 820, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-mini {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 826, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-gate {
    gap: 0.6rem;
  }
  /* line 829, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-gate .trust-badge-item {
    padding: 0.4rem 0.8rem;
    font-size: 0.75rem;
  }
  /* line 836, app/assets/stylesheets/subscription_gate.scss */
  .gate-features-detailed li strong {
    font-size: 0.85rem;
  }
  /* line 837, app/assets/stylesheets/subscription_gate.scss */
  .gate-features-detailed li p {
    font-size: 0.78rem;
  }
  /* line 840, app/assets/stylesheets/subscription_gate.scss */
  .geo-map-demo {
    min-height: 180px;
  }
  /* line 841, app/assets/stylesheets/subscription_gate.scss */
  .geo-map-svg {
    height: 180px;
  }
  /* line 842, app/assets/stylesheets/subscription_gate.scss */
  .geo-gate-map-container {
    height: 180px;
  }
  /* line 844, app/assets/stylesheets/subscription_gate.scss */
  .geo-event-callout {
    font-size: 0.65rem;
    padding: 3px 7px;
  }
  /* line 849, app/assets/stylesheets/subscription_gate.scss */
  .geo-impact-bar .impact-items {
    gap: 0.5rem;
  }
  /* line 853, app/assets/stylesheets/subscription_gate.scss */
  .sim-result-row .stock-ticker {
    min-width: 38px;
    font-size: 0.75rem;
  }
}

/* line 860, app/assets/stylesheets/subscription_gate.scss */
.gate-title-large.geo-title {
  background: linear-gradient(135deg, #ffffff 0%, #e8a0a5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 867, app/assets/stylesheets/subscription_gate.scss */
.gate-title-large.sim-title {
  background: linear-gradient(135deg, #ffffff 0%, #a8aaef 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 875, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium.sim-btn {
  background: linear-gradient(135deg, #5558d4 0%, #4345b8 100%);
  box-shadow: 0 4px 15px rgba(85, 88, 212, 0.2);
}

/* line 879, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium.sim-btn:hover {
  box-shadow: 0 8px 25px rgba(85, 88, 212, 0.3);
  background: linear-gradient(135deg, #6366e0 0%, #5558d4 100%);
}

/* line 886, app/assets/stylesheets/subscription_gate.scss */
.trust-badges-gate {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* line 893, app/assets/stylesheets/subscription_gate.scss */
.trust-badge-item {
  background: var(--bg-card-solid, var(--card-bg));
  padding: 0.6rem 1.2rem;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--text-primary);
  border: 1px solid var(--border-color-light);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: transform 0.2s ease;
}

/* line 907, app/assets/stylesheets/subscription_gate.scss */
.trust-badge-item:hover {
  transform: translateY(-2px);
}

/* line 911, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 916, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.2rem;
}

/* line 922, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li > i {
  font-size: 1.2rem;
  flex-shrink: 0;
  margin-top: 3px;
}

/* line 928, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li strong {
  color: var(--text-primary);
  font-size: 0.95rem;
  display: block;
  margin-bottom: 2px;
}

/* line 935, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

/* line 945, app/assets/stylesheets/subscription_gate.scss */
.gauge-pointer {
  position: absolute;
  top: -4px;
  width: 4px;
  height: 20px;
  background: white;
  border-radius: 2px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  transform: translateX(-50%);
}

/* line 956, app/assets/stylesheets/subscription_gate.scss */
.gauge-label-text {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 963, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-bar {
  position: relative;
}

/* line 968, app/assets/stylesheets/subscription_gate.scss */
.geo-map-demo {
  position: relative;
  min-height: 250px;
}

/* line 973, app/assets/stylesheets/subscription_gate.scss */
.geo-map-svg {
  width: 100%;
  height: 250px;
}

/* line 978, app/assets/stylesheets/subscription_gate.scss */
.geo-gate-map-container {
  width: 100%;
  height: 250px;
  border-radius: 10px;
  overflow: hidden;
}

/* line 985, app/assets/stylesheets/subscription_gate.scss */
.geo-pulse {
  animation: geo-pulse-anim 2.5s ease-in-out infinite;
}

/* line 989, app/assets/stylesheets/subscription_gate.scss */
.geo-pulse-ring {
  animation: geo-pulse-ring-anim 2.5s ease-in-out infinite;
}

/* line 993, app/assets/stylesheets/subscription_gate.scss */
.geo-pulse-ring-outer {
  animation: geo-pulse-ring-outer-anim 2.5s ease-in-out infinite;
}

@keyframes geo-pulse-anim {
  0%, 100% {
    opacity: 0.9;
  }
  50% {
    opacity: 0.5;
  }
}

@keyframes geo-pulse-ring-anim {
  0% {
    opacity: 0.6;
    transform-origin: center;
  }
  100% {
    opacity: 0;
  }
}

@keyframes geo-pulse-ring-outer-anim {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.1;
  }
  100% {
    opacity: 0;
  }
}

/* line 1013, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--text-primary);
  backdrop-filter: blur(4px);
  white-space: nowrap;
}

/* line 1027, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* line 1032, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity.critical {
  background: #dc3545;
  box-shadow: 0 0 6px #dc3545;
}

/* line 1033, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity.high {
  background: #fd7e14;
  box-shadow: 0 0 6px #fd7e14;
}

/* line 1034, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity.moderate {
  background: #ffc107;
}

/* line 1037, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout.callout-1 {
  top: 12%;
  left: 52%;
}

/* line 1038, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout.callout-2 {
  top: 22%;
  right: 18%;
}

/* line 1039, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout.callout-3 {
  top: 38%;
  left: 48%;
}

/* line 1042, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar {
  background: rgba(255, 193, 7, 0.05);
  border: 1px solid rgba(255, 193, 7, 0.15);
  border-radius: 10px;
  padding: 0.8rem 1rem;
  margin-top: 0.5rem;
}

/* line 1049, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-header {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 1059, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-items {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 1065, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 1070, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-sector {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* line 1075, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-change {
  font-size: 0.8rem;
  font-weight: 700;
}

/* line 1079, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-change.positive {
  color: #28a745;
}

/* line 1080, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-change.negative {
  color: #dc3545;
}

/* line 1088, app/assets/stylesheets/subscription_gate.scss */
.chatbot-gate .chatbot-orb.gradient-orb-1 {
  background: radial-gradient(circle, rgba(59, 130, 246, 0.3) 0%, transparent 70%);
}

/* line 1089, app/assets/stylesheets/subscription_gate.scss */
.chatbot-gate .chatbot-orb.gradient-orb-2 {
  background: radial-gradient(circle, rgba(99, 102, 241, 0.2) 0%, transparent 70%);
}

/* line 1093, app/assets/stylesheets/subscription_gate.scss */
.chatbot-icon {
  background: linear-gradient(135deg, #2d6bc4 0%, #4a52b8 100%) !important;
  box-shadow: 0 6px 20px rgba(45, 107, 196, 0.2) !important;
}

/* line 1098, app/assets/stylesheets/subscription_gate.scss */
.chatbot-title {
  background: linear-gradient(135deg, #ffffff 0%, #9ab8e8 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* line 1105, app/assets/stylesheets/subscription_gate.scss */
.chatbot-btn {
  background: linear-gradient(135deg, #2d6bc4 0%, #4a52b8 100%) !important;
  box-shadow: 0 4px 15px rgba(45, 107, 196, 0.2) !important;
}

/* line 1109, app/assets/stylesheets/subscription_gate.scss */
.chatbot-btn:hover {
  box-shadow: 0 8px 25px rgba(45, 107, 196, 0.3) !important;
  background: linear-gradient(135deg, #3878d4 0%, #5a5cc8 100%) !important;
}

/* line 1115, app/assets/stylesheets/subscription_gate.scss */
.chatbot-badge {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #3b82f6 !important;
}

/* line 1120, app/assets/stylesheets/subscription_gate.scss */
.fake-chatbot-dashboard {
  padding: 1.5rem;
  min-height: 250px;
}

/* line 1125, app/assets/stylesheets/subscription_gate.scss */
.chat-demo-messages {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 1131, app/assets/stylesheets/subscription_gate.scss */
.chat-msg {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 1136, app/assets/stylesheets/subscription_gate.scss */
.chat-msg.user-msg {
  justify-content: flex-end;
}

/* line 1137, app/assets/stylesheets/subscription_gate.scss */
.chat-msg.ai-msg {
  justify-content: flex-start;
}

/* line 1140, app/assets/stylesheets/subscription_gate.scss */
.chat-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1150, app/assets/stylesheets/subscription_gate.scss */
.chat-avatar i {
  font-size: 0.7rem;
  color: white;
}

/* line 1153, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble {
  padding: 0.6rem 1rem;
  border-radius: 12px;
  font-size: 0.8rem;
  max-width: 80%;
  line-height: 1.5;
}

/* line 1160, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble.user-bubble {
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  color: white;
  border-bottom-right-radius: 4px;
}

/* line 1166, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble.ai-bubble {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--text-primary);
  border-bottom-left-radius: 4px;
}

/* line 1173, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble.typing-demo {
  display: flex;
  gap: 4px;
  padding: 0.8rem 1.2rem;
}

/* line 1180, app/assets/stylesheets/subscription_gate.scss */
.typing-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--text-muted);
  animation: typing-bounce 1.4s ease-in-out infinite;
}

/* line 1187, app/assets/stylesheets/subscription_gate.scss */
.typing-dot:nth-child(2) {
  animation-delay: 0.2s;
}

/* line 1188, app/assets/stylesheets/subscription_gate.scss */
.typing-dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes typing-bounce {
  0%, 60%, 100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-4px);
  }
}

/* line 1197, app/assets/stylesheets/subscription_gate.scss */
.bg-gradient-premium {
  display: inline-block;
  background: linear-gradient(135deg, #d4a520 0%, #c9952a 100%);
  color: #fff !important;
  font-weight: 600;
  padding: 0.35rem 0.9rem;
  border-radius: 20px;
  font-size: 0.78rem;
  box-shadow: 0 2px 8px rgba(200, 160, 30, 0.15);
}

/* line 1211, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .gradient-orb {
  opacity: 0.08;
}

/* line 1213, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .demo-blur-overlay {
  background: linear-gradient(to bottom, transparent 0%, var(--bg-card-solid, #ffffff) 90%);
}

/* line 1217, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .gate-title-large {
  background: linear-gradient(135deg, #1a1d23 0%, #00a88a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 1223, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .gate-title-large.geo-title {
  background: linear-gradient(135deg, #1a1d23 0%, #dc3545 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 1230, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .gate-title-large.sim-title {
  background: linear-gradient(135deg, #1a1d23 0%, #6366f1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 1237, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .gate-title-large.chatbot-title {
  background: linear-gradient(135deg, #1a1d23 0%, #3b82f6 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* line 1245, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .geo-event-callout {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--border-color-light);
  color: #1a1d23;
}

/* line 1252, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .trust-badge-item {
  border-color: var(--border-color);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* line 1259, app/assets/stylesheets/subscription_gate.scss */
.prediction-column.locked {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1265, app/assets/stylesheets/subscription_gate.scss */
.prediction-locked-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: linear-gradient(135deg, var(--text-muted) 0%, var(--bg-tertiary) 100%);
  border-radius: var(--radius-xs);
  color: var(--text-primary);
  font-size: 0.7rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 1278, app/assets/stylesheets/subscription_gate.scss */
.prediction-locked-badge i {
  font-size: 0.65rem;
}

/* line 1282, app/assets/stylesheets/subscription_gate.scss */
.prediction-locked-badge:hover {
  background: linear-gradient(135deg, var(--color-warning) 0%, #e0a800 100%);
  color: var(--text-inverse);
  transform: scale(1.05);
  text-decoration: none;
}

/* line 1292, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-level .level-value-locked {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: var(--radius-sm);
  font-size: 0.7rem;
  font-weight: 600;
  background: rgba(var(--accent-primary-rgb), 0.05);
  border: 1px dashed var(--border-color-light);
  color: var(--text-muted);
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 1306, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-level .level-value-locked i {
  font-size: 0.6rem;
}

/* line 1310, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-level .level-value-locked:hover {
  background: rgba(99, 102, 241, 0.15);
  border-color: rgba(99, 102, 241, 0.4);
  color: #6366f1;
  text-decoration: none;
}

/* line 1320, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-section {
  opacity: 0.8;
}

/* line 1326, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .subscription-overlay {
  background: rgba(0, 0, 0, 0.4);
}

/* line 1330, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .subscription-message {
  border: 2px solid var(--border-color);
}

/* line 1334, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .prediction-locked-badge {
  background: linear-gradient(135deg, #9ca3af 0%, #6b7280 100%);
  color: #ffffff;
}

/* line 1338, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .prediction-locked-badge:hover {
  background: linear-gradient(135deg, var(--color-warning) 0%, #d97706 100%);
  color: #ffffff;
}
/* line 36, app/assets/stylesheets/pricing.scss */
.pricing-plans .row {
  justify-content: center;
  overflow: visible !important;
  position: relative;
}

/* line 42, app/assets/stylesheets/pricing.scss */
.pricing-plans-container {
  overflow: visible !important;
  position: relative;
  padding-top: 20px;
  margin-top: 10px;
}

/* line 50, app/assets/stylesheets/pricing.scss */
.pricing-plans-section {
  overflow: visible !important;
  position: relative;
  padding-top: 20px;
}

/* line 56, app/assets/stylesheets/pricing.scss */
.pricing-plans .col-xl-3,
.pricing-plans .col-lg-4,
.pricing-plans .col-md-6 {
  padding: 0 15px;
  margin-bottom: 2rem;
}

@media (min-width: 1200px) {
  /* line 65, app/assets/stylesheets/pricing.scss */
  .pricing-plans-container {
    max-width: 1400px;
    margin: 0 auto;
  }
  /* line 70, app/assets/stylesheets/pricing.scss */
  .pricing-plans .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0 12px;
  }
  /* line 76, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  /* line 80, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-card:hover {
    transform: translateY(-12px) scale(1.02);
  }
  /* line 84, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-card.popular-plan:hover {
    transform: scale(1.05) translateY(-12px) !important;
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
  /* line 90, app/assets/stylesheets/pricing.scss */
  .pricing-plans .col-lg-4 {
    flex: 0 0 31.5%;
    max-width: 31.5%;
    margin: 0 1%;
    padding: 0 8px;
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  /* line 100, app/assets/stylesheets/pricing.scss */
  .pricing-plans .col-md-6 {
    flex: 0 0 48%;
    max-width: 48%;
    margin: 0 1%;
    padding: 0 8px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 110, app/assets/stylesheets/pricing.scss */
  .pricing-plans .row.pricing-plans-container,
.row.pricing-plans-container,
.pricing-plans-container {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  /* line 117, app/assets/stylesheets/pricing.scss */
  .pricing-plans .col-md-6,
.pricing-plans-container .col-md-6,
.pricing-plans-container .pricing-plan-col,
.pricing-plans-container [class*="col-"] {
    flex: 0 0 calc(50% - 0.625rem) !important;
    max-width: calc(50% - 0.625rem) !important;
    width: calc(50% - 0.625rem) !important;
    margin: 0 0 1.25rem 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* line 131, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-plan-col {
  padding: 0 10px;
  overflow: visible !important;
  position: relative;
  z-index: 1;
}

/* line 139, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-header {
  padding: 1.5rem 1.5rem 1rem;
}

/* line 143, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-plans {
  padding: 1rem 1.5rem 1.5rem;
}

/* line 148, app/assets/stylesheets/pricing.scss */
.pricing-plans .feature-list li {
  font-size: 0.85rem;
  padding: 0.2rem 0;
}

/* line 154, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card {
  background: #1a1f3a;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  overflow: visible;
  height: 100%;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 2;
  border: 1px solid rgba(0, 212, 170, 0.2);
  display: flex;
  flex-direction: column;
  color: #ffffff;
}

/* line 169, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.2);
  background: #2d3748;
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 177, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan {
  border: 2px solid #00d4aa !important;
  transform: scale(1.05) !important;
  position: relative !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15) 0%, rgba(0, 168, 255, 0.15) 100%) !important;
  border-color: #00d4aa !important;
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.25), 0 0 0 1px rgba(0, 212, 170, 0.3) !important;
}

/* line 186, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan:hover {
  transform: scale(1.05) translateY(-8px) !important;
  box-shadow: 0 25px 50px rgba(0, 212, 170, 0.3), 0 0 0 1px rgba(0, 212, 170, 0.4) !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.2) 100%) !important;
}

/* line 192, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .pricing-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(0, 212, 170, 0.3) !important;
}

/* line 197, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .pricing-title,
.pricing-plans .pricing-card.popular-plan .pricing-description,
.pricing-plans .pricing-card.popular-plan .price-amount,
.pricing-plans .pricing-card.popular-plan .price-interval,
.pricing-plans .pricing-card.popular-plan .feature-list li {
  color: #ffffff !important;
}

/* line 205, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .feature-list li i {
  color: #00d4aa !important;
}

/* line 209, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .plan-option {
  background: rgba(0, 212, 170, 0.1) !important;
  border: 1px solid rgba(0, 212, 170, 0.3) !important;
}

/* line 214, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .plan-option:hover {
  background: rgba(0, 212, 170, 0.15) !important;
  border-color: rgba(0, 212, 170, 0.4) !important;
}

/* line 220, app/assets/stylesheets/pricing.scss */
.pricing-plans .popular-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: white;
  padding: 0.4rem 1.25rem;
  border-radius: 25px;
  font-size: 0.75rem;
  font-weight: 700;
  z-index: 100;
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.4);
  white-space: nowrap;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border: 2px solid rgba(0, 212, 170, 0.5);
  pointer-events: none;
}

/* line 241, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-header {
  padding: 2rem 1.75rem 1.25rem;
  text-align: center;
  border-bottom: 1px solid rgba(0, 212, 170, 0.2);
  background: transparent;
}

/* line 248, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.5rem;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

/* line 257, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-description {
  color: #a0aec0;
  font-size: 0.9rem;
  margin: 0;
  font-weight: 400;
  line-height: 1.5;
}

/* line 265, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-plans {
  padding: 1.5rem 2rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* line 273, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-option {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  border: 1px solid rgba(0, 212, 170, 0.2);
  border-radius: 12px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: rgba(255, 255, 255, 0.03);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* line 286, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-option::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 298, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-option:hover {
  border-color: #00d4aa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* line 304, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-option:hover::before {
  opacity: 1;
}

/* line 309, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  order: 1;
}

/* line 317, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 323, app/assets/stylesheets/pricing.scss */
.pricing-plans .price-amount {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
  letter-spacing: -0.02em;
}

/* line 331, app/assets/stylesheets/pricing.scss */
.pricing-plans .price-interval {
  color: #a0aec0;
  font-size: 0.9rem;
  font-weight: 400;
}

/* line 337, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-savings .badge {
  font-size: 0.75rem;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  font-weight: 600;
  background: #00d4aa;
  color: #0a0e27;
  box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
}

/* line 348, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-features {
  order: 2;
  flex: 1;
}

/* line 354, app/assets/stylesheets/pricing.scss */
.pricing-plans .feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  flex: 1;
}

/* line 361, app/assets/stylesheets/pricing.scss */
.pricing-plans .feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.6rem 0;
  color: #a0aec0;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.5;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.2s ease;
}

/* line 374, app/assets/stylesheets/pricing.scss */
.pricing-plans .feature-list li:last-child {
  border-bottom: none;
}

/* line 378, app/assets/stylesheets/pricing.scss */
.pricing-plans .feature-list li:hover {
  color: #ffffff;
  transform: translateX(4px);
}

/* line 383, app/assets/stylesheets/pricing.scss */
.pricing-plans .feature-list li i {
  color: #00d4aa;
  font-size: 0.9rem;
  margin-top: 0.15rem;
  flex-shrink: 0;
}

/* line 390, app/assets/stylesheets/pricing.scss */
.pricing-plans .auth-required {
  text-align: center;
}

/* line 395, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn {
  position: relative;
  z-index: 3;
  pointer-events: auto;
  cursor: pointer;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.95rem;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  text-transform: none;
  letter-spacing: 0.02em;
}

/* line 410, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-primary {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: white;
  box-shadow: 0 4px 14px rgba(0, 212, 170, 0.3);
}

/* line 416, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.4);
  background: linear-gradient(135deg, #00b894 0%, #0099cc 100%);
}

/* line 422, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-outline-primary {
  background: transparent;
  color: #00d4aa;
  border: 2px solid #00d4aa;
}

/* line 428, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-outline-primary:hover {
  background: #00d4aa;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 212, 170, 0.3);
}

/* line 435, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-outline-secondary {
  background: transparent;
  color: #a0aec0;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* line 441, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-outline-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* line 449, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-secondary {
  background: #718096;
  color: white;
  border: none;
}

/* line 455, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-secondary:hover {
  background: #a0aec0;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* line 461, app/assets/stylesheets/pricing.scss */
.pricing-plans .plan-actions {
  position: relative;
  z-index: 2;
  order: 3;
  margin-top: auto;
}

/* line 468, app/assets/stylesheets/pricing.scss */
.pricing-plans .current-subscription-info {
  position: relative;
  z-index: 2;
}

/* line 475, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card {
  background: #1a1f3a !important;
  color: #ffffff !important;
  border: 1px solid rgba(0, 212, 170, 0.2) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
}

/* line 482, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card:hover {
  background: #2d3748 !important;
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.2) !important;
}

/* line 487, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card .pricing-title,
.pricing-plans-section .pricing-card .pricing-description,
.pricing-plans-section .pricing-card .price-amount,
.pricing-plans-section .pricing-card .price-interval,
.pricing-plans-section .pricing-card .feature-list li {
  color: #ffffff !important;
}

/* line 495, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card .feature-list li i {
  color: #00d4aa !important;
}

/* line 500, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card.popular-plan {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15) 0%, rgba(0, 168, 255, 0.15) 100%) !important;
  border-color: #00d4aa !important;
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.25) !important;
}

/* line 506, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card.popular-plan:hover {
  box-shadow: 0 25px 50px -12px rgba(79, 70, 229, 0.4), 0 0 0 1px rgba(79, 70, 229, 0.1) !important;
}

/* line 510, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card.popular-plan .pricing-title,
.pricing-plans-section .pricing-card.popular-plan .pricing-description,
.pricing-plans-section .pricing-card.popular-plan .price-amount,
.pricing-plans-section .pricing-card.popular-plan .price-interval,
.pricing-plans-section .pricing-card.popular-plan .feature-list li {
  color: white !important;
}

/* line 518, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card.popular-plan .feature-list li i {
  color: #00d4aa !important;
}

/* line 523, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card {
  position: relative;
  overflow: visible;
}

/* line 528, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.05) 0%, rgba(0, 168, 255, 0.05) 100%);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

/* line 541, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card:hover::after {
  opacity: 1;
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 547, app/assets/stylesheets/pricing.scss */
  .pricing-plans-container.row,
.pricing-plans .row.pricing-plans-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 1.25rem !important;
    padding: 0 0.75rem !important;
    margin: 0 !important;
    justify-content: center !important;
  }
  /* line 558, app/assets/stylesheets/pricing.scss */
  .pricing-plans-container .pricing-plan-col,
.pricing-plans-container .col-12,
.pricing-plans-container .col-md-6,
.pricing-plans-container [class*="col-"] {
    width: calc(50% - 0.625rem) !important;
    max-width: calc(50% - 0.625rem) !important;
    flex: 0 0 calc(50% - 0.625rem) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 1.25rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* line 573, app/assets/stylesheets/pricing.scss */
  .pricing-plans-container .col-md-6 {
    flex: 0 0 calc(50% - 0.625rem) !important;
    max-width: calc(50% - 0.625rem) !important;
  }
  /* line 578, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-card {
    width: 100%;
    margin: 0;
    max-width: 100%;
    transform: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border-radius: 12px;
    overflow: visible !important;
  }
  /* line 588, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-card.popular-plan {
    transform: none !important;
    border: 2px solid #00d4aa !important;
    box-shadow: 0 8px 24px rgba(0, 212, 170, 0.25) !important;
    margin-top: 20px !important;
    overflow: visible !important;
  }
  /* line 596, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-header {
    padding: 1.5rem 1.25rem 1rem !important;
  }
  /* line 600, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-title {
    font-size: 1.35rem !important;
    margin-bottom: 0.4rem !important;
    font-weight: 700 !important;
  }
  /* line 606, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-description {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    color: #a0aec0 !important;
  }
  /* line 612, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-plans {
    padding: 1rem 1.25rem 1.5rem !important;
  }
  /* line 616, app/assets/stylesheets/pricing.scss */
  .pricing-plans .plan-option {
    padding: 1.25rem !important;
    margin-bottom: 1rem !important;
    border-radius: 10px;
  }
  /* line 622, app/assets/stylesheets/pricing.scss */
  .pricing-plans .plan-header {
    margin-bottom: 1rem !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 629, app/assets/stylesheets/pricing.scss */
  .pricing-plans .plan-price {
    width: 100%;
    justify-content: space-between;
    align-items: baseline;
  }
  /* line 635, app/assets/stylesheets/pricing.scss */
  .pricing-plans .price-amount {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
  }
  /* line 640, app/assets/stylesheets/pricing.scss */
  .pricing-plans .price-interval {
    font-size: 0.85rem !important;
    color: #a0aec0 !important;
  }
  /* line 645, app/assets/stylesheets/pricing.scss */
  .pricing-plans .plan-savings {
    align-self: flex-end;
  }
  /* line 649, app/assets/stylesheets/pricing.scss */
  .pricing-plans .plan-savings .badge {
    font-size: 0.75rem !important;
    padding: 0.35rem 0.7rem !important;
  }
  /* line 654, app/assets/stylesheets/pricing.scss */
  .pricing-plans .feature-list {
    margin: 0 0 1.25rem !important;
    max-height: 200px;
    overflow-y: auto;
  }
  /* line 660, app/assets/stylesheets/pricing.scss */
  .pricing-plans .feature-list li {
    font-size: 0.85rem !important;
    padding: 0.5rem 0 !important;
    line-height: 1.4 !important;
  }
  /* line 666, app/assets/stylesheets/pricing.scss */
  .pricing-plans .feature-list li i {
    font-size: 0.9rem !important;
  }
  /* line 670, app/assets/stylesheets/pricing.scss */
  .pricing-plans .btn {
    font-size: 0.95rem !important;
    padding: 0.875rem 1.5rem !important;
    font-weight: 600 !important;
    min-height: 48px;
    width: 100%;
    border-radius: 10px;
  }
  /* line 679, app/assets/stylesheets/pricing.scss */
  .pricing-plans .btn-primary {
    box-shadow: 0 6px 20px rgba(0, 212, 170, 0.35) !important;
  }
  /* line 683, app/assets/stylesheets/pricing.scss */
  .pricing-plans .btn-primary:hover,
.pricing-plans .btn-primary:active {
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 25px rgba(0, 212, 170, 0.45) !important;
  }
  /* line 689, app/assets/stylesheets/pricing.scss */
  .pricing-plans .popular-badge {
    top: -10px !important;
    font-size: 0.75rem !important;
    padding: 0.4rem 1.25rem !important;
  }
}

@media (max-width: 767px) {
  /* line 698, app/assets/stylesheets/pricing.scss */
  .pricing-plans-container {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 0 0.25rem;
  }
  /* line 705, app/assets/stylesheets/pricing.scss */
  .pricing-plan-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
  }
  /* line 713, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-card {
    width: 100%;
    margin: 0 auto;
    max-width: 100%;
    transform: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border-radius: 12px;
    overflow: visible !important;
  }
  /* line 723, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-card.popular-plan {
    transform: none !important;
    border: 2px solid #00d4aa !important;
    box-shadow: 0 8px 24px rgba(0, 212, 170, 0.25) !important;
    order: -1;
    /* Popular plan first on mobile */
    margin-top: 20px !important;
    overflow: visible !important;
  }
  /* line 732, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-header {
    padding: 1.25rem 1rem 0.75rem !important;
  }
  /* line 736, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
  }
  /* line 741, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-description {
    font-size: 0.8rem !important;
    color: #a0aec0 !important;
  }
  /* line 746, app/assets/stylesheets/pricing.scss */
  .pricing-plans .pricing-plans {
    padding: 0.75rem 1rem 1.25rem !important;
  }
  /* line 750, app/assets/stylesheets/pricing.scss */
  .pricing-plans .plan-option {
    padding: 1rem !important;
    margin-bottom: 0.875rem !important;
  }
  /* line 755, app/assets/stylesheets/pricing.scss */
  .pricing-plans .price-amount {
    font-size: 1.6rem !important;
    font-weight: 700 !important;
  }
  /* line 760, app/assets/stylesheets/pricing.scss */
  .pricing-plans .feature-list {
    max-height: 180px;
  }
  /* line 764, app/assets/stylesheets/pricing.scss */
  .pricing-plans .feature-list li {
    font-size: 0.8rem !important;
    padding: 0.4rem 0 !important;
  }
  /* line 769, app/assets/stylesheets/pricing.scss */
  .pricing-plans .btn {
    font-size: 0.95rem !important;
    padding: 0.875rem 1.25rem !important;
    min-height: 44px;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* line 788, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card {
  animation: fadeInUp 0.6s ease-out;
}

/* line 792, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card:nth-child(1) {
  animation-delay: 0.1s;
}

/* line 793, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card:nth-child(2) {
  animation-delay: 0.2s;
}

/* line 794, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card:nth-child(3) {
  animation-delay: 0.3s;
}

/* line 795, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card:nth-child(4) {
  animation-delay: 0.4s;
}

/* line 799, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-card {
  background: #1a1f3a !important;
  color: #ffffff !important;
  border: 1px solid rgba(0, 212, 170, 0.2) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
}

/* line 806, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-card:hover {
  background: #2d3748 !important;
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.2) !important;
}

/* line 811, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-title,
.account-page .pricing-plans-section .pricing-description,
.account-page .pricing-plans-section .price-amount,
.account-page .pricing-plans-section .price-interval,
.account-page .pricing-plans-section .feature-list li {
  color: #ffffff !important;
}

/* line 819, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .feature-list li i {
  color: #00d4aa !important;
}

/* line 824, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-card.popular-plan {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15) 0%, rgba(0, 168, 255, 0.15) 100%) !important;
  border-color: #00d4aa !important;
  transform: scale(1.05) !important;
  box-shadow: 0 20px 40px rgba(0, 212, 170, 0.25) !important;
}

/* line 831, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-card.popular-plan .pricing-title,
.account-page .pricing-plans-section .pricing-card.popular-plan .pricing-description,
.account-page .pricing-plans-section .pricing-card.popular-plan .price-amount,
.account-page .pricing-plans-section .pricing-card.popular-plan .price-interval,
.account-page .pricing-plans-section .pricing-card.popular-plan .feature-list li {
  color: #ffffff !important;
}

/* line 839, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-card.popular-plan .feature-list li i {
  color: #00d4aa !important;
}

/* line 846, app/assets/stylesheets/pricing.scss */
.pricing-toggle-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

/* line 854, app/assets/stylesheets/pricing.scss */
.pricing-toggle-label {
  font-size: 0.9rem;
  color: #94a3b8;
  font-weight: 500;
  transition: color 0.2s;
}

/* line 859, app/assets/stylesheets/pricing.scss */
.pricing-toggle-label.active {
  color: #f1f5f9;
  font-weight: 600;
}

/* line 862, app/assets/stylesheets/pricing.scss */
.pricing-save-badge {
  display: inline-block;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.45rem;
  border-radius: 20px;
  margin-left: 0.3rem;
  vertical-align: middle;
  letter-spacing: 0.02em;
}

/* line 875, app/assets/stylesheets/pricing.scss */
.pricing-toggle-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
}

/* line 881, app/assets/stylesheets/pricing.scss */
.pricing-toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 883, app/assets/stylesheets/pricing.scss */
.pricing-toggle-switch .pricing-toggle-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background: rgba(99, 102, 241, 0.3);
  border-radius: 24px;
  transition: 0.25s;
}

/* line 891, app/assets/stylesheets/pricing.scss */
.pricing-toggle-switch .pricing-toggle-slider::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  bottom: 3px;
  background: #fff;
  border-radius: 50%;
  transition: 0.25s;
}

/* line 904, app/assets/stylesheets/pricing.scss */
.pricing-toggle-switch input:checked + .pricing-toggle-slider {
  background: #6366f1;
}

/* line 906, app/assets/stylesheets/pricing.scss */
.pricing-toggle-switch input:checked + .pricing-toggle-slider::before {
  transform: translateX(20px);
}

/* line 911, app/assets/stylesheets/pricing.scss */
.pricing-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 900px) {
  /* line 911, app/assets/stylesheets/pricing.scss */
  .pricing-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  /* line 911, app/assets/stylesheets/pricing.scss */
  .pricing-cards-grid {
    grid-template-columns: 1fr;
  }
}

/* line 921, app/assets/stylesheets/pricing.scss */
.pricing-card-new {
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(99, 102, 241, 0.15);
  border-radius: 16px;
  padding: 1.75rem 1.5rem;
  position: relative;
  transition: border-color 0.2s, transform 0.2s;
}

/* line 929, app/assets/stylesheets/pricing.scss */
.pricing-card-new:hover {
  border-color: rgba(99, 102, 241, 0.35);
  transform: translateY(-2px);
}

/* line 931, app/assets/stylesheets/pricing.scss */
.pricing-card-new.pricing-card-popular {
  border-color: #6366f1;
  background: rgba(99, 102, 241, 0.08);
  box-shadow: 0 0 40px rgba(99, 102, 241, 0.15);
}

/* line 937, app/assets/stylesheets/pricing.scss */
.pricing-card-new.pricing-card-current {
  border-color: rgba(16, 185, 129, 0.5);
  background: rgba(16, 185, 129, 0.05);
}

/* line 942, app/assets/stylesheets/pricing.scss */
.pricing-card-new.pricing-card-enterprise {
  border-color: rgba(201, 168, 76, 0.3);
  background: rgba(201, 168, 76, 0.04);
}

/* line 948, app/assets/stylesheets/pricing.scss */
.pricing-popular-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.25rem 0.9rem;
  border-radius: 20px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-transform: uppercase;
}

/* line 964, app/assets/stylesheets/pricing.scss */
.pricing-card-header {
  margin-bottom: 1.25rem;
}

/* line 968, app/assets/stylesheets/pricing.scss */
.pricing-plan-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #f1f5f9;
  letter-spacing: 0.02em;
}

/* line 975, app/assets/stylesheets/pricing.scss */
.pricing-plan-tagline {
  font-size: 0.78rem;
  color: #64748b;
  margin-top: 0.2rem;
}

/* line 981, app/assets/stylesheets/pricing.scss */
.pricing-price-block {
  margin-bottom: 1.25rem;
}

/* line 985, app/assets/stylesheets/pricing.scss */
.pricing-price-main {
  display: flex;
  align-items: baseline;
  gap: 0.2rem;
}

/* line 991, app/assets/stylesheets/pricing.scss */
.pricing-amount {
  font-size: 2rem;
  font-weight: 800;
  color: #f1f5f9;
  line-height: 1;
}

/* line 998, app/assets/stylesheets/pricing.scss */
.pricing-period {
  font-size: 0.85rem;
  color: #64748b;
  font-weight: 500;
}

/* line 1004, app/assets/stylesheets/pricing.scss */
.pricing-price-sub {
  font-size: 0.75rem;
  color: #64748b;
  margin-top: 0.3rem;
  min-height: 1.1em;
}

/* line 1011, app/assets/stylesheets/pricing.scss */
.pricing-save-inline {
  color: #10b981;
  font-weight: 600;
}

/* line 1017, app/assets/stylesheets/pricing.scss */
.pricing-cta-wrap {
  margin-bottom: 1.25rem;
}

/* line 1020, app/assets/stylesheets/pricing.scss */
.pricing-cta-wrap form, .pricing-cta-wrap a {
  display: block;
  width: 100%;
}

/* line 1023, app/assets/stylesheets/pricing.scss */
.pricing-btn {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.6rem 1rem;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}

/* line 1036, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-primary {
  background: rgba(99, 102, 241, 0.15);
  color: #818cf8;
  border: 1px solid rgba(99, 102, 241, 0.3);
}

/* line 1040, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-primary:hover {
  background: rgba(99, 102, 241, 0.25);
  color: #a5b4fc;
  text-decoration: none;
}

/* line 1043, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-popular {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
}

/* line 1046, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-popular:hover {
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  transform: translateY(-1px);
  text-decoration: none;
}

/* line 1049, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-outline {
  background: transparent;
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

/* line 1053, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-outline:hover {
  border-color: rgba(148, 163, 184, 0.5);
  color: #f1f5f9;
  text-decoration: none;
}

/* line 1057, app/assets/stylesheets/pricing.scss */
.pricing-btn-current {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.6rem 1rem;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 600;
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.25);
}

/* line 1071, app/assets/stylesheets/pricing.scss */
.pricing-features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

/* line 1079, app/assets/stylesheets/pricing.scss */
.pricing-features-list li {
  font-size: 0.8rem;
  color: #94a3b8;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  line-height: 1.4;
}

/* line 1089, app/assets/stylesheets/pricing.scss */
.pricing-check {
  color: #10b981;
  font-size: 0.7rem;
  margin-top: 0.15rem;
  flex-shrink: 0;
}

/* line 1096, app/assets/stylesheets/pricing.scss */
.pricing-feature-highlight {
  color: #e2e8f0 !important;
}

/* line 1100, app/assets/stylesheets/pricing.scss */
.pricing-feature-includes {
  color: #00d4aa !important;
  font-size: 0.85rem;
  border-bottom: 1px solid rgba(0, 212, 170, 0.2);
  padding-bottom: 6px !important;
  margin-bottom: 4px;
  list-style: none;
}

/* line 1108, app/assets/stylesheets/pricing.scss */
.pricing-feature-includes .fa-layer-group {
  color: #00d4aa;
}

/* line 1114, app/assets/stylesheets/pricing.scss */
.pricing-amount-original {
  font-size: 1.1rem;
  color: #64748b;
  font-weight: 500;
  margin-right: 0.3rem;
}

/* line 1121, app/assets/stylesheets/pricing.scss */
.pricing-amount-promo {
  color: #10b981 !important;
}

/* line 1125, app/assets/stylesheets/pricing.scss */
.pricing-promo-badge {
  position: absolute;
  top: -10px;
  left: 16px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.2rem 0.75rem;
  border-radius: 20px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  z-index: 2;
}

/* line 1140, app/assets/stylesheets/pricing.scss */
.pricing-promo-note {
  color: #10b981;
  font-size: 0.8rem;
  font-weight: 600;
}
/* Track Record Page Styles */

/* Hero Stats - Flex container for multiple cards */
.track-record-hero-stats {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.25rem;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.hero-stat-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 0.75rem 1.5rem;
  text-align: center;
  backdrop-filter: blur(10px);
}

.hero-stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  background: linear-gradient(135deg, #00d4aa, #00b894);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}

.hero-stat-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Best Period Highlight */
.hero-stat-card.best-period {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.15), rgba(0, 184, 148, 0.1));
  border: 2px solid rgba(0, 212, 170, 0.5);
  position: relative;
  padding: 0.875rem 2rem;
}

.hero-stat-card.best-period .hero-stat-value {
  font-size: 2rem;
}

.best-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  background: linear-gradient(135deg, #00d4aa, #00b894);
  color: #000;
  font-size: 0.55rem;
  font-weight: 800;
  padding: 0.2rem 0.5rem;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.hero-stat-period {
  font-size: 0.7rem;
  color: rgba(0, 212, 170, 0.9);
  margin-top: 0.25rem;
  font-weight: 500;
}

/* ROI Card Variant */
.hero-stat-card.hero-stat-roi {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.15), rgba(139, 92, 246, 0.1));
  border: 2px solid rgba(168, 85, 247, 0.5);
  padding: 0.875rem 2rem;
}

.hero-stat-roi-value {
  background: linear-gradient(135deg, #a855f7, #8b5cf6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 2rem;
}

.hero-stat-roi-note {
  color: rgba(168, 85, 247, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}

.hero-stat-roi-note i {
  color: rgba(168, 85, 247, 0.7);
}

/* Track Record Section */
.track-record-section {
  padding: 4rem 0;
  background: var(--bg-primary, #0f0f23);
}

/* Table Wrapper */
.track-record-table-wrapper {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  margin-top: 2rem;
}

/* Table Styles */
.track-record-table {
  width: 100%;
  border-collapse: collapse;
  color: #fff;
}

.track-record-table thead {
  background: rgba(255, 255, 255, 0.05);
}

.track-record-table th {
  padding: 1rem 1.25rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.track-record-table td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  vertical-align: middle;
}

.track-record-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

.track-record-table tbody tr:last-child td {
  border-bottom: none;
}

/* Row States */
.prediction-hit {
  background: rgba(0, 212, 170, 0.03);
}

.prediction-miss {
  background: rgba(255, 107, 107, 0.03);
}

/* Cell Styles */
.date-cell {
  white-space: nowrap;
}

.date-value {
  font-weight: 500;
  display: block;
}

.market-badge {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 0.25rem;
}

.market-badge.us {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}

.market-badge.europe {
  background: rgba(168, 85, 247, 0.2);
  color: #c084fc;
}

.stock-cell {
  min-width: 150px;
}

.stock-symbol {
  font-weight: 700;
  font-size: 1rem;
  display: block;
  color: #fff;
}

.stock-name {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
  display: block;
  margin-top: 0.15rem;
}

/* Direction Arrows */
.direction-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-right: 0.5rem;
  font-size: 0.75rem;
}

.direction-arrow.up {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

.direction-arrow.down {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

.price-value {
  font-weight: 500;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace;
}

/* Accuracy Badge */
.accuracy-badge {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
}

.accuracy-badge.excellent {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

.accuracy-badge.good {
  background: rgba(250, 204, 21, 0.2);
  color: #fbbf24;
}

.accuracy-badge.fair {
  background: rgba(251, 146, 60, 0.2);
  color: #fb923c;
}

.accuracy-badge.miss-diff {
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.4);
}

/* Status Badge */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.85rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-badge.hit {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

.status-badge.miss {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
  border: 1px solid rgba(255, 107, 107, 0.3);
}

/* Meta */
.track-record-meta {
  margin-top: 1.5rem;
  text-align: center;
}

.last-updated {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

.last-updated i {
  margin-right: 0.5rem;
}

/* Methodology Section */
.methodology-section {
  padding: 4rem 0;
  background: rgba(255, 255, 255, 0.02);
}

.methodology-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}

.methodology-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 2rem;
  text-align: center;
}

.methodology-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.2), rgba(0, 184, 148, 0.2));
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  font-size: 1.5rem;
  color: #00d4aa;
}

.methodology-card h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0.75rem;
}

.methodology-card p {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
}

/* Disclaimer Section */
.disclaimer-section {
  padding: 3rem 0;
}

.disclaimer-box {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  background: rgba(250, 204, 21, 0.05);
  border: 1px solid rgba(250, 204, 21, 0.2);
  border-radius: 12px;
  padding: 1.5rem 2rem;
}

.disclaimer-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: rgba(250, 204, 21, 0.1);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fbbf24;
  font-size: 1.1rem;
}

.disclaimer-content h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #fbbf24;
  margin-bottom: 0.5rem;
}

.disclaimer-content p {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
  margin: 0;
}

/* ================================================
   TRACK RECORD PREVIEW (Landing Page Section)
   ================================================ */

.track-record-preview-section {
  padding: 5rem 0;
  background: linear-gradient(180deg, rgba(0, 212, 170, 0.02) 0%, transparent 100%);
}

.track-record-preview-header {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
  gap: 2rem;
  text-align: center;
}

.track-record-preview-header:has(.stats-highlights-wrapper) {
  justify-content: space-between;
  text-align: left;
}

.track-record-preview-header .section-header {
  flex: 1;
  min-width: 300px;
}

/* Stats Highlights Wrapper - Flex container for Accuracy + ROI */
.stats-highlights-wrapper {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

/* Accuracy Highlight */
.accuracy-highlight {
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.1), rgba(0, 184, 148, 0.05));
  border: 1px solid rgba(0, 212, 170, 0.3);
  border-radius: 16px;
  padding: 1.5rem 2.5rem;
  text-align: center;
  flex-shrink: 0;
  min-width: 200px;
}

.accuracy-number {
  font-size: 3rem;
  font-weight: 800;
  background: linear-gradient(135deg, #00d4aa, #00b894);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}

.accuracy-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #00d4aa;
  margin-top: 0.25rem;
}

.accuracy-period {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.25rem;
}

/* ROI Highlight - Similar to Accuracy but with different accent color */
.roi-highlight {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.1), rgba(139, 92, 246, 0.05));
  border: 1px solid rgba(168, 85, 247, 0.3);
  border-radius: 16px;
  padding: 1.5rem 2.5rem;
  text-align: center;
  flex-shrink: 0;
  min-width: 200px;
}

.roi-number {
  font-size: 3rem;
  font-weight: 800;
  background: linear-gradient(135deg, #a855f7, #8b5cf6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}

.roi-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #a855f7;
  margin-top: 0.25rem;
}

.roi-note {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}

.roi-note i {
  color: rgba(168, 85, 247, 0.6);
}

/* Preview Table */
.track-record-preview-table {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
}

.preview-table-header {
  display: grid;
  grid-template-columns: 80px minmax(140px, 1.2fr) 1fr 1fr 100px;
  padding: 1rem 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.preview-table-row {
  display: grid;
  grid-template-columns: 80px minmax(140px, 1.2fr) 1fr 1fr 100px;
  padding: 1rem 1.5rem;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: background 0.2s ease;
}

.preview-table-row:last-child {
  border-bottom: none;
}

.preview-table-row:hover {
  background: rgba(255, 255, 255, 0.03);
}

.preview-table-row.row-hit {
  background: rgba(0, 212, 170, 0.02);
}

.preview-table-row.row-miss {
  background: rgba(255, 107, 107, 0.02);
}

.date-text {
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
}

.col-stock {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.col-stock .stock-symbol {
  font-weight: 700;
  font-size: 0.9rem;
  color: #fff;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
}

.col-stock .stock-name {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.direction-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  margin-right: 0.5rem;
  font-size: 0.7rem;
}

.direction-indicator.up {
  background: rgba(0, 212, 170, 0.2);
  color: #00d4aa;
}

.direction-indicator.down {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-pill.hit {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  border: 1px solid rgba(0, 212, 170, 0.3);
}

.status-pill.miss {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
  border: 1px solid rgba(255, 107, 107, 0.3);
}

/* Preview Footer */
.track-record-preview-footer {
  margin-top: 2rem;
  text-align: center;
}

.btn-track-record {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 2rem;
  background: transparent;
  border: 2px solid rgba(0, 212, 170, 0.5);
  border-radius: 12px;
  color: #00d4aa;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-track-record:hover {
  background: rgba(0, 212, 170, 0.1);
  border-color: #00d4aa;
  transform: translateY(-2px);
}

.track-record-note {
  margin-top: 1rem;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

.track-record-note i {
  margin-right: 0.5rem;
  color: #00d4aa;
}

/* Tablet Responsive */
@media (max-width: 1024px) {
  .hero-stat-card {
    padding: 0.75rem 1.5rem;
  }

  .hero-stat-value {
    font-size: 1.5rem;
  }

  .hero-stat-card.best-period .hero-stat-value {
    font-size: 1.75rem;
  }

  .hero-stat-label {
    font-size: 0.65rem;
  }

  .hero-stat-period {
    font-size: 0.65rem;
  }
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .hero-stat-card {
    padding: 0.625rem 1.25rem;
  }

  .hero-stat-value {
    font-size: 1.35rem;
  }

  .hero-stat-card.best-period {
    padding: 0.625rem 1.5rem;
  }

  .hero-stat-card.best-period .hero-stat-value {
    font-size: 1.5rem;
  }

  .hero-stat-label {
    font-size: 0.6rem;
  }

  .hero-stat-period {
    font-size: 0.6rem;
  }

  .track-record-table-wrapper {
    overflow-x: auto;
  }

  .track-record-table {
    min-width: 700px;
  }

  .methodology-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .disclaimer-box {
    flex-direction: column;
    text-align: center;
  }

  .disclaimer-icon {
    margin: 0 auto;
  }

  /* Preview section mobile */
  .track-record-preview-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .track-record-preview-header .section-header {
    text-align: center;
  }

  .preview-table-header,
  .preview-table-row {
    grid-template-columns: 60px minmax(100px, 1.5fr) 1fr 1fr 70px;
    padding: 0.75rem 0.75rem;
    font-size: 0.8rem;
    gap: 0.5rem;
  }

  .preview-table-header {
    font-size: 0.6rem;
  }

  .col-stock .stock-symbol {
    font-size: 0.8rem;
  }

  .col-stock .stock-name {
    font-size: 0.6rem;
  }

  .direction-indicator {
    width: 18px;
    height: 18px;
    font-size: 0.6rem;
    margin-right: 0.25rem;
  }

  .status-pill {
    padding: 0.25rem 0.5rem;
    font-size: 0.6rem;
  }
}

@media (max-width: 480px) {
  .preview-table-header,
  .preview-table-row {
    grid-template-columns: 50px minmax(80px, 1.5fr) 1fr 1fr 60px;
    padding: 0.6rem 0.5rem;
    font-size: 0.7rem;
    gap: 0.25rem;
  }

  .preview-table-header {
    font-size: 0.55rem;
  }

  .col-stock .stock-symbol {
    font-size: 0.7rem;
  }

  .col-stock .stock-name {
    display: none;
  }

  .direction-indicator {
    width: 16px;
    height: 16px;
    font-size: 0.55rem;
    margin-right: 0.15rem;
  }

  .status-pill {
    padding: 0.2rem 0.4rem;
    font-size: 0.55rem;
  }
}

/* Day Pagination Styles */
.day-pagination-header,
.day-pagination-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  margin-bottom: 1.5rem;
}

.day-pagination-footer {
  margin-top: 1.5rem;
  margin-bottom: 0;
}

.current-day-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.day-label {
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
}

.page-indicator {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

.pagination-summary {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.day-navigation {
  display: flex;
  gap: 0.75rem;
}

.day-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.2rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.day-nav-btn:hover {
  background: rgba(0, 212, 170, 0.15);
  border-color: rgba(0, 212, 170, 0.4);
  color: #00d4aa;
}

.day-nav-btn.disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

.market-cell {
  text-align: center;
}

.no-data-cell {
  text-align: center;
  padding: 3rem 1rem;
  color: rgba(255, 255, 255, 0.5);
  font-style: italic;
}

/* Mobile Day Pagination */
@media (max-width: 768px) {
  .day-pagination-header,
  .day-pagination-footer {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  .current-day-info {
    align-items: center;
  }

  .day-label {
    font-size: 1.1rem;
  }

  .day-nav-btn {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
  }
}

/* ================================================
   LIGHT MODE OVERRIDES
   ================================================ */

[data-theme="light"] {
  /* Hero stat card */
  .hero-stat-card {
    background: var(--bg-card-solid);
    border-color: var(--border-color);
  }

  .hero-stat-label {
    color: var(--text-muted);
  }

  /* Best period card */
  .hero-stat-card.best-period {
    background: linear-gradient(135deg, rgba(0, 160, 128, 0.08), rgba(0, 160, 128, 0.04));
    border-color: rgba(0, 160, 128, 0.4);
  }

  .hero-stat-period {
    color: var(--accent-primary);
  }

  /* Table wrapper */
  .track-record-table-wrapper {
    background: var(--bg-card-solid);
    border-color: var(--border-color);
  }

  /* Table */
  .track-record-table {
    color: var(--text-primary);
  }

  .track-record-table thead {
    background: var(--bg-input);
  }

  .track-record-table th {
    color: var(--text-muted);
    border-bottom-color: var(--border-color);
  }

  .track-record-table td {
    border-bottom-color: var(--border-color);
  }

  .track-record-table tbody tr:hover {
    background: var(--bg-input);
  }

  /* Stock cell text */
  .stock-symbol {
    color: var(--text-primary);
  }

  .stock-name {
    color: var(--text-muted);
  }

  .col-stock .stock-symbol {
    color: var(--text-primary);
  }

  .col-stock .stock-name {
    color: var(--text-muted);
  }

  /* Accuracy badge — "miss" state needs a visible contrast on light bg */
  .accuracy-badge.miss-diff {
    background: var(--bg-input);
    color: var(--text-muted);
  }

  /* Meta */
  .last-updated {
    color: var(--text-muted);
  }

  /* Methodology section */
  .methodology-section {
    background: var(--bg-input);
  }

  .methodology-card {
    background: var(--bg-card-solid);
    border-color: var(--border-color);
  }

  .methodology-card h3 {
    color: var(--text-primary);
  }

  .methodology-card p {
    color: var(--text-secondary);
  }

  /* Disclaimer */
  .disclaimer-content p {
    color: var(--text-secondary);
  }

  /* Preview table */
  .track-record-preview-table {
    background: var(--bg-card-solid);
    border-color: var(--border-color);
  }

  .preview-table-header {
    background: var(--bg-input);
    color: var(--text-muted);
    border-bottom-color: var(--border-color);
  }

  .preview-table-row {
    border-bottom-color: var(--border-color);
  }

  .preview-table-row:hover {
    background: var(--bg-input);
  }

  .date-text {
    color: var(--text-secondary);
  }

  /* Track record note */
  .track-record-note {
    color: var(--text-muted);
  }

  /* Day pagination */
  .day-pagination-header,
  .day-pagination-footer {
    background: var(--bg-card-solid);
    border-color: var(--border-color);
  }

  .day-label {
    color: var(--text-primary);
  }

  .page-indicator {
    color: var(--text-muted);
  }

  .pagination-summary {
    color: var(--text-secondary);
  }

  .day-nav-btn {
    background: var(--bg-input);
    border-color: var(--border-color);
    color: var(--text-primary);
  }

  .day-nav-btn:hover {
    background: rgba(0, 160, 128, 0.1);
    border-color: rgba(0, 160, 128, 0.4);
    color: var(--accent-primary);
  }

  /* No data cell */
  .no-data-cell {
    color: var(--text-muted);
  }

  /* Accuracy period label */
  .accuracy-period {
    color: var(--text-muted);
  }
}

/* line 16, app/assets/stylesheets/devise.scss */
.devise-body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg-primary, #0a0e1a) !important;
  background-color: var(--bg-primary, #0a0e1a) !important;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* line 27, app/assets/stylesheets/devise.scss */
.devise-container {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

/* line 37, app/assets/stylesheets/devise.scss */
.webview-mode .devise-container {
  min-height: auto !important;
}

/* line 42, app/assets/stylesheets/devise.scss */
.devise-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bg-primary, #0a0e1a);
  z-index: 1;
  overflow: hidden;
}

/* line 54, app/assets/stylesheets/devise.scss */
.devise-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 80% at 50% 0%, black 40%, transparent 100%);
}

/* line 65, app/assets/stylesheets/devise.scss */
.devise-glow {
  position: absolute;
  top: -150px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 500px;
  background: radial-gradient(ellipse, rgba(0, 212, 170, 0.2) 0%, rgba(0, 168, 255, 0.1) 40%, transparent 70%);
  filter: blur(80px);
  pointer-events: none;
}

/* line 78, app/assets/stylesheets/devise.scss */
.devise-orbs {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

/* line 84, app/assets/stylesheets/devise.scss */
.devise-orbs .orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.3;
  animation: deviseFloat 25s ease-in-out infinite;
}

/* line 92, app/assets/stylesheets/devise.scss */
.devise-orbs .orb-1 {
  top: 10%;
  left: 5%;
  width: 250px;
  height: 250px;
  background: #00d4aa;
}

/* line 100, app/assets/stylesheets/devise.scss */
.devise-orbs .orb-2 {
  bottom: 10%;
  right: 5%;
  width: 300px;
  height: 300px;
  background: #00a8ff;
  animation-delay: -8s;
}

/* line 109, app/assets/stylesheets/devise.scss */
.devise-orbs .orb-3 {
  top: 50%;
  left: 50%;
  width: 180px;
  height: 180px;
  background: #a855f7;
  animation-delay: -16s;
}

@keyframes deviseFloat {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(20px, -25px) scale(1.05);
  }
  66% {
    transform: translate(-15px, 15px) scale(0.95);
  }
}

/* line 126, app/assets/stylesheets/devise.scss */
.devise-pattern {
  display: none;
}

/* line 131, app/assets/stylesheets/devise.scss */
.devise-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 460px;
}

/* line 139, app/assets/stylesheets/devise.scss */
.devise-card {
  background: rgba(15, 20, 40, 0.85);
  border-radius: 16px;
  box-shadow: var(--shadow-soft, 0 10px 40px rgba(0, 0, 0, 0.4));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* line 151, app/assets/stylesheets/devise.scss */
.devise-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
}

/* line 161, app/assets/stylesheets/devise.scss */
.devise-card:hover {
  box-shadow: var(--shadow-hover, 0 20px 50px rgba(0, 212, 170, 0.15));
  border-color: rgba(0, 212, 170, 0.2);
}

/* line 168, app/assets/stylesheets/devise.scss */
.devise-header {
  padding: 2rem 2rem 1.25rem;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 173, app/assets/stylesheets/devise.scss */
.devise-header .devise-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: var(--text-primary, #ffffff);
  font-size: 1.5rem;
  font-weight: 700;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 183, app/assets/stylesheets/devise.scss */
.devise-header .devise-logo i {
  font-size: 1.75rem;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 191, app/assets/stylesheets/devise.scss */
.devise-header .devise-logo span {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 198, app/assets/stylesheets/devise.scss */
.devise-header .devise-logo:hover {
  text-decoration: none;
  transform: scale(1.02);
}

/* line 206, app/assets/stylesheets/devise.scss */
.devise-body-content {
  padding: 1.75rem 2rem 2rem;
}

/* line 212, app/assets/stylesheets/devise.scss */
.devise-form .form-group {
  margin-bottom: 1.25rem;
}

/* line 216, app/assets/stylesheets/devise.scss */
.devise-form .form-label {
  color: var(--text-secondary, #94a3b8);
  font-weight: 500;
  margin-bottom: 0.4rem;
  font-size: 0.85rem;
  display: block;
}

/* line 224, app/assets/stylesheets/devise.scss */
.devise-form .form-control {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  color: var(--text-primary, #ffffff);
  padding: 0.85rem 1rem;
  font-size: 1rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
}

/* line 234, app/assets/stylesheets/devise.scss */
.devise-form .form-control:focus {
  background: rgba(0, 212, 170, 0.05);
  border-color: #00d4aa;
  box-shadow: 0 0 0 3px rgba(0, 212, 170, 0.1);
  color: var(--text-primary, #ffffff);
  outline: none;
}

/* line 242, app/assets/stylesheets/devise.scss */
.devise-form .form-control::placeholder {
  color: var(--text-muted, #64748b);
}

/* line 246, app/assets/stylesheets/devise.scss */
.devise-form .form-control:invalid:not(:placeholder-shown) {
  border-color: #ff6b6b;
}

/* line 251, app/assets/stylesheets/devise.scss */
.devise-form .password-input-wrapper {
  position: relative;
}

/* line 254, app/assets/stylesheets/devise.scss */
.devise-form .password-input-wrapper .form-control {
  padding-right: 2.75rem;
}

/* line 259, app/assets/stylesheets/devise.scss */
.devise-form .password-toggle-btn {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted, #64748b);
  cursor: pointer;
  padding: 0.25rem;
  font-size: 0.95rem;
  z-index: 2;
  line-height: 1;
  transition: color 0.2s ease;
  outline: none;
}

/* line 275, app/assets/stylesheets/devise.scss */
.devise-form .password-toggle-btn:hover, .devise-form .password-toggle-btn:focus-visible {
  color: var(--text-primary, #ffffff);
}

/* line 280, app/assets/stylesheets/devise.scss */
.devise-form .form-check {
  margin-bottom: 1rem;
}

/* line 283, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-input {
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  width: 18px;
  height: 18px;
}

/* line 290, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-input:checked {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-color: transparent;
}

/* line 295, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-input:focus {
  box-shadow: 0 0 0 3px rgba(0, 212, 170, 0.15);
}

/* line 300, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-label {
  color: var(--text-secondary, #94a3b8);
  font-size: 0.9rem;
}

/* line 306, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 0.25rem;
}

/* line 312, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  cursor: pointer;
  transition: background 0.15s;
}

/* line 320, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 322, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 326, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-check {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 2px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.15s;
}

/* line 339, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-check:checked {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3L4.5 8.5 2 6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 10px;
  background-position: center;
  background-repeat: no-repeat;
}

/* line 349, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-text {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.78rem;
  line-height: 1.45;
}

/* line 355, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-link {
  color: var(--primary, #00d4aa);
  text-decoration: none;
}

/* line 358, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-link:hover {
  text-decoration: underline;
}

/* line 365, app/assets/stylesheets/devise.scss */
.devise-btn {
  width: 100%;
  padding: 0.875rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 12px;
  border: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  position: relative;
}

/* line 378, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: #0a0e1a;
  box-shadow: 0 4px 15px rgba(0, 212, 170, 0.25);
}

/* line 383, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0, 212, 170, 0.4);
}

/* line 388, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 4px 15px rgba(0, 212, 170, 0.25);
}

/* line 393, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* line 400, app/assets/stylesheets/devise.scss */
.devise-btn.btn-secondary {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary, #ffffff);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 405, app/assets/stylesheets/devise.scss */
.devise-btn.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(0, 212, 170, 0.3);
  color: var(--text-primary, #ffffff);
}

/* line 412, app/assets/stylesheets/devise.scss */
.devise-btn.btn-link {
  color: #00d4aa;
  text-decoration: none;
  padding: 0.5rem 0;
}

/* line 417, app/assets/stylesheets/devise.scss */
.devise-btn.btn-link:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 425, app/assets/stylesheets/devise.scss */
.devise-links {
  text-align: center;
  margin-top: 1.5rem;
}

/* line 429, app/assets/stylesheets/devise.scss */
.devise-links a {
  color: var(--text-secondary, #94a3b8);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 435, app/assets/stylesheets/devise.scss */
.devise-links a:hover {
  color: var(--accent-primary, #00d4aa);
  text-decoration: underline;
}

/* line 441, app/assets/stylesheets/devise.scss */
.devise-links .divider {
  color: var(--text-muted, #64748b);
  margin: 0 0.5rem;
}

/* line 448, app/assets/stylesheets/devise.scss */
.alert {
  border-radius: 8px;
  border: none;
  margin-bottom: 1.5rem;
  padding: 1rem;
}

/* line 454, app/assets/stylesheets/devise.scss */
.alert.alert-success {
  background: rgba(0, 212, 170, 0.1);
  color: var(--color-success, #00d4aa);
  border-left: 4px solid var(--color-success, #00d4aa);
}

/* line 460, app/assets/stylesheets/devise.scss */
.alert.alert-danger {
  background: rgba(255, 107, 107, 0.1);
  color: var(--color-danger, #ff6b6b);
  border-left: 4px solid var(--color-danger, #ff6b6b);
}

/* line 466, app/assets/stylesheets/devise.scss */
.alert.alert-info {
  background: rgba(0, 168, 255, 0.1);
  color: var(--color-info, #00a8ff);
  border-left: 4px solid var(--color-info, #00a8ff);
}

/* line 474, app/assets/stylesheets/devise.scss */
.devise-footer {
  padding: 1rem 2rem 2rem;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 479, app/assets/stylesheets/devise.scss */
.devise-footer p {
  color: var(--text-muted, #64748b);
  font-size: 0.8rem;
  margin: 0;
}

/* line 487, app/assets/stylesheets/devise.scss */
.devise-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  text-align: center;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 498, app/assets/stylesheets/devise.scss */
.devise-subtitle {
  color: var(--text-secondary, #94a3b8);
  font-size: 0.95rem;
  margin-bottom: 1.75rem;
  text-align: center;
  line-height: 1.5;
}

@media (max-width: 768px) {
  /* line 508, app/assets/stylesheets/devise.scss */
  .devise-container {
    padding: 1rem 0.5rem;
  }
  /* line 512, app/assets/stylesheets/devise.scss */
  .devise-card {
    margin: 0;
  }
  /* line 516, app/assets/stylesheets/devise.scss */
  .devise-header,
.devise-body-content {
    padding: 1.5rem;
  }
  /* line 521, app/assets/stylesheets/devise.scss */
  .devise-footer {
    padding: 1rem 1.5rem 1.5rem;
  }
}

@media (max-width: 575px) {
  /* line 530, app/assets/stylesheets/devise.scss */
  .webview-mode body.d-flex.flex-column {
    min-height: auto !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* line 538, app/assets/stylesheets/devise.scss */
  .webview-mode #main-content {
    flex-grow: 0 !important;
    min-height: auto !important;
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
  }
  /* line 544, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-container {
    padding: 0.5rem 0.5rem !important;
    align-items: flex-start !important;
    padding-top: 1.5rem !important;
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }
  /* line 554, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-content {
    flex: 0 0 auto !important;
  }
  /* line 558, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-content {
    max-width: 100% !important;
  }
  /* line 562, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-card {
    margin: 0 !important;
    border-radius: 12px !important;
  }
  /* line 567, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header {
    padding: 1rem 1rem 0.75rem !important;
  }
  /* line 570, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header .devise-logo {
    font-size: 1.25rem !important;
  }
  /* line 573, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header .devise-logo i {
    font-size: 1.4rem !important;
  }
  /* line 579, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-body-content {
    padding: 1rem !important;
  }
  /* line 583, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-title {
    font-size: 1.25rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 588, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-subtitle {
    font-size: 0.85rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 594, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-group {
    margin-bottom: 1rem !important;
  }
  /* line 598, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-label {
    font-size: 0.8rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 603, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-control {
    padding: 0.6rem 0.75rem !important;
    font-size: 16px !important;
    /* Prevent iOS zoom - must be at least 16px */
    min-height: 44px !important;
  }
  /* line 609, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-check {
    margin-bottom: 0.75rem !important;
  }
  /* line 612, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-check .form-check-label {
    font-size: 0.8rem !important;
  }
  /* line 618, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-btn {
    padding: 0.7rem 1rem !important;
    font-size: 0.9rem !important;
    min-height: 44px !important;
  }
  /* line 624, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-links {
    margin-top: 1rem !important;
  }
  /* line 627, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-links a {
    font-size: 0.8rem !important;
  }
  /* line 632, app/assets/stylesheets/devise.scss */
  .webview-mode .alert {
    padding: 0.75rem !important;
    margin-bottom: 1rem !important;
    font-size: 0.85rem !important;
  }
}

/* line 644, app/assets/stylesheets/devise.scss */
.password-strength-checker {
  margin-top: 0.75rem;
  padding: 1rem;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  animation: slideDown 0.3s ease-out;
}

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

/* line 665, app/assets/stylesheets/devise.scss */
.password-requirements {
  margin-bottom: 1rem;
}

/* line 669, app/assets/stylesheets/devise.scss */
.requirement {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  transition: all 0.3s ease;
}

/* line 676, app/assets/stylesheets/devise.scss */
.requirement:last-child {
  margin-bottom: 0;
}

/* line 681, app/assets/stylesheets/devise.scss */
.requirement.valid .requirement-icon {
  color: #10b981;
  transform: scale(1.1);
}

/* line 686, app/assets/stylesheets/devise.scss */
.requirement.valid .requirement-text {
  color: #059669;
  font-weight: 500;
}

/* line 693, app/assets/stylesheets/devise.scss */
.requirement.invalid .requirement-icon {
  color: #ef4444;
}

/* line 697, app/assets/stylesheets/devise.scss */
.requirement.invalid .requirement-text {
  color: #dc2626;
}

/* line 703, app/assets/stylesheets/devise.scss */
.requirement-icon {
  width: 16px;
  height: 16px;
  margin-right: 0.5rem;
  font-size: 0.75rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 714, app/assets/stylesheets/devise.scss */
.requirement-text {
  color: #6b7280;
  transition: all 0.3s ease;
}

/* line 719, app/assets/stylesheets/devise.scss */
.password-strength-meter {
  margin-top: 1rem;
}

/* line 723, app/assets/stylesheets/devise.scss */
.strength-bar {
  width: 100%;
  height: 6px;
  background-color: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

/* line 732, app/assets/stylesheets/devise.scss */
.strength-fill {
  height: 100%;
  width: 0%;
  transition: all 0.5s ease;
  border-radius: 3px;
}

/* line 738, app/assets/stylesheets/devise.scss */
.strength-fill.very-weak {
  width: 20%;
  background: linear-gradient(90deg, #ef4444, #f87171);
}

/* line 743, app/assets/stylesheets/devise.scss */
.strength-fill.weak {
  width: 40%;
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

/* line 748, app/assets/stylesheets/devise.scss */
.strength-fill.fair {
  width: 60%;
  background: linear-gradient(90deg, #eab308, #facc15);
}

/* line 753, app/assets/stylesheets/devise.scss */
.strength-fill.good {
  width: 80%;
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

/* line 758, app/assets/stylesheets/devise.scss */
.strength-fill.strong {
  width: 100%;
  background: linear-gradient(90deg, #10b981, #34d399);
}

/* line 764, app/assets/stylesheets/devise.scss */
.strength-text {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
}

/* line 770, app/assets/stylesheets/devise.scss */
.strength-text.very-weak {
  color: #dc2626;
}

/* line 774, app/assets/stylesheets/devise.scss */
.strength-text.weak {
  color: #d97706;
}

/* line 778, app/assets/stylesheets/devise.scss */
.strength-text.fair {
  color: #ca8a04;
}

/* line 782, app/assets/stylesheets/devise.scss */
.strength-text.good {
  color: #16a34a;
}

/* line 786, app/assets/stylesheets/devise.scss */
.strength-text.strong {
  color: #059669;
}

/* line 791, app/assets/stylesheets/devise.scss */
.password-hint {
  margin-top: 0.5rem;
}

/* line 794, app/assets/stylesheets/devise.scss */
.password-hint small {
  font-size: 0.75rem;
  color: #6b7280;
}

/* line 801, app/assets/stylesheets/devise.scss */
.password-input, .password-confirmation-input {
  transition: all 0.3s ease;
}

/* line 804, app/assets/stylesheets/devise.scss */
.password-input:focus, .password-confirmation-input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* line 809, app/assets/stylesheets/devise.scss */
.password-input.password-valid, .password-confirmation-input.password-valid {
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/* line 814, app/assets/stylesheets/devise.scss */
.password-input.password-invalid, .password-confirmation-input.password-invalid {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* line 821, app/assets/stylesheets/devise.scss */
.password-match-indicator,
.password-mismatch-indicator {
  display: flex;
  align-items: center;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  animation: fadeIn 0.3s ease-in-out;
}

/* line 830, app/assets/stylesheets/devise.scss */
.password-match-indicator i,
.password-mismatch-indicator i {
  margin-right: 0.5rem;
  font-size: 0.75rem;
}

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

@media (max-width: 768px) {
  /* line 849, app/assets/stylesheets/devise.scss */
  .password-strength-checker {
    padding: 0.75rem;
  }
  /* line 853, app/assets/stylesheets/devise.scss */
  .requirement {
    font-size: 0.8rem;
  }
  /* line 857, app/assets/stylesheets/devise.scss */
  .requirement-icon {
    width: 14px;
    height: 14px;
    font-size: 0.7rem;
  }
}

@keyframes backgroundShift {
  0%, 100% {
    transform: translateX(0) translateY(0);
  }
  25% {
    transform: translateX(20px) translateY(-20px);
  }
  50% {
    transform: translateX(-20px) translateY(20px);
  }
  75% {
    transform: translateX(20px) translateY(20px);
  }
}

@keyframes lineMove {
  0% {
    transform: translateX(0) translateY(0);
  }
  100% {
    transform: translateX(300px) translateY(300px);
  }
}

/* line 890, app/assets/stylesheets/devise.scss */
.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: var(--color-success, #00d4aa);
  background-image: none;
}

/* line 896, app/assets/stylesheets/devise.scss */
.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: var(--color-danger, #ff6b6b);
  background-image: none;
}

/* line 902, app/assets/stylesheets/devise.scss */
.valid-feedback {
  color: var(--color-success, #00d4aa);
  font-size: 0.8rem;
}

/* line 907, app/assets/stylesheets/devise.scss */
.invalid-feedback {
  color: var(--color-danger, #ff6b6b);
  font-size: 0.8rem;
}

/* line 913, app/assets/stylesheets/devise.scss */
.recaptcha-container {
  display: flex;
  justify-content: center;
  margin: 1.5rem 0;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 923, app/assets/stylesheets/devise.scss */
.recaptcha-container iframe {
  border-radius: 8px;
}

/* Dark theme adjustments for reCAPTCHA */
/* line 928, app/assets/stylesheets/devise.scss */
.g-recaptcha {
  transform: scale(0.9);
  transform-origin: center;
}

@media (max-width: 768px) {
  /* line 934, app/assets/stylesheets/devise.scss */
  .recaptcha-container {
    padding: 0.5rem;
  }
  /* line 938, app/assets/stylesheets/devise.scss */
  .g-recaptcha {
    transform: scale(0.8);
  }
}

/* line 947, app/assets/stylesheets/devise.scss */
.oauth-section {
  margin-bottom: 1.5rem;
}

/* line 951, app/assets/stylesheets/devise.scss */
.oauth-divider {
  display: flex;
  align-items: center;
  margin: 1.5rem 0;
}

/* line 956, app/assets/stylesheets/devise.scss */
.oauth-divider::before, .oauth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.2), transparent);
}

/* line 964, app/assets/stylesheets/devise.scss */
.oauth-divider span {
  padding: 0 1rem;
  color: var(--text-secondary, #94a3b8);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 973, app/assets/stylesheets/devise.scss */
.oauth-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 979, app/assets/stylesheets/devise.scss */
.oauth-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.875rem 1.25rem;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/* line 993, app/assets/stylesheets/devise.scss */
.oauth-btn .oauth-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* line 999, app/assets/stylesheets/devise.scss */
.oauth-btn span {
  flex-shrink: 0;
}

/* line 1003, app/assets/stylesheets/devise.scss */
.oauth-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* line 1008, app/assets/stylesheets/devise.scss */
.oauth-btn:active {
  transform: translateY(0);
}

/* line 1014, app/assets/stylesheets/devise.scss */
.oauth-google {
  background: #ffffff;
  color: #3c4043;
  border-color: #dadce0;
}

/* line 1019, app/assets/stylesheets/devise.scss */
.oauth-google:hover {
  background: #f8f9fa;
  border-color: #c6c6c6;
}

/* line 1030, app/assets/stylesheets/devise.scss */
.oauth-apple {
  background: #000000;
  color: #ffffff;
  border-color: #333;
}

/* line 1035, app/assets/stylesheets/devise.scss */
.oauth-apple:hover:not(:disabled) {
  background: #1a1a1a;
  border-color: #555;
}

/* line 1040, app/assets/stylesheets/devise.scss */
.oauth-apple .oauth-icon {
  font-size: 1.25rem;
}

/* line 1046, app/assets/stylesheets/devise.scss */
.oauth-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  position: relative;
}

/* line 1051, app/assets/stylesheets/devise.scss */
.oauth-disabled:hover {
  transform: none;
  box-shadow: none;
}

/* line 1056, app/assets/stylesheets/devise.scss */
.oauth-disabled .oauth-badge {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 1072, app/assets/stylesheets/devise.scss */
.oauth-microsoft {
  background: var(--bg-card, rgba(255, 255, 255, 0.03));
  color: var(--text-primary, #ffffff);
  border-color: rgba(255, 255, 255, 0.2);
}

/* line 1077, app/assets/stylesheets/devise.scss */
.oauth-microsoft:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.3);
}

/* line 1088, app/assets/stylesheets/devise.scss */
.oauth-terms {
  margin-top: 1rem;
  font-size: 0.75rem;
  color: var(--text-muted, #64748b);
  text-align: center;
  line-height: 1.5;
}

/* line 1095, app/assets/stylesheets/devise.scss */
.oauth-terms a {
  color: var(--accent-primary, #00d4aa);
  text-decoration: none;
}

/* line 1099, app/assets/stylesheets/devise.scss */
.oauth-terms a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 1107, app/assets/stylesheets/devise.scss */
  .oauth-btn {
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    border-radius: 10px;
  }
  /* line 1112, app/assets/stylesheets/devise.scss */
  .oauth-btn .oauth-icon {
    width: 18px;
    height: 18px;
  }
  /* line 1118, app/assets/stylesheets/devise.scss */
  .oauth-divider span {
    font-size: 0.75rem;
    padding: 0 0.75rem;
  }
}

@media (min-width: 577px) and (max-width: 768px) {
  /* line 1126, app/assets/stylesheets/devise.scss */
  .oauth-buttons {
    flex-direction: row;
    flex-wrap: wrap;
  }
  /* line 1130, app/assets/stylesheets/devise.scss */
  .oauth-buttons .oauth-btn {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 0;
  }
  /* line 1134, app/assets/stylesheets/devise.scss */
  .oauth-buttons .oauth-btn span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* line 1145, app/assets/stylesheets/devise.scss */
.webview-mode .oauth-btn {
  min-height: 48px;
  padding: 0.875rem 1rem;
}

/* line 1151, app/assets/stylesheets/devise.scss */
.webview-mode .oauth-section {
  margin-bottom: 1rem;
}

/* line 1158, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-body {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
}

/* line 1163, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-background {
  background: var(--bg-primary);
}

/* line 1167, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-grid {
  background-image: linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
}

/* line 1173, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-glow {
  opacity: 0.5;
}

/* line 1177, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-orbs .orb {
  opacity: 0.15;
}

/* line 1181, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
  box-shadow: var(--shadow-card);
}

/* line 1187, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-header {
  border-bottom-color: var(--border-color);
}

/* line 1192, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-control {
  background: var(--bg-input);
  border-color: var(--border-color);
  color: var(--text-primary);
}

/* line 1197, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-control::placeholder {
  color: var(--text-muted);
}

/* line 1201, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-control:focus {
  background: var(--bg-card-solid);
  border-color: var(--accent-primary);
}

/* line 1207, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-check-input {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1213, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-btn.btn-secondary {
  background: var(--bg-input);
  border-color: var(--border-color);
  color: var(--text-primary);
}

/* line 1218, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-btn.btn-secondary:hover {
  background: var(--bg-card-hover);
}

/* line 1223, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-footer {
  border-top-color: var(--border-color);
}

/* line 1227, app/assets/stylesheets/devise.scss */
[data-theme="light"] .recaptcha-container {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1232, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-divider::before,
[data-theme="light"] .oauth-divider::after {
  background: linear-gradient(to right, transparent, var(--border-color), transparent);
}

/* line 1237, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-btn {
  border-color: var(--border-color);
}

/* line 1241, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-microsoft {
  background: var(--bg-input);
}

/* line 1244, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-microsoft:hover {
  background: var(--bg-card-hover);
}
/* ============================================
   APP LOADER - Professional Loading States
   ============================================ */

/* CRITICAL: If loader was already shown this session, hide it INSTANTLY (no flash).
   This class is set by an inline script BEFORE the loader element renders. */
html.loader-already-shown #initial-loader {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Base loader styles */
.app-loader {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-body-bg, #ffffff);
  z-index: 9999;
  opacity: 1;
  transition: opacity 0.3s ease-out;
  pointer-events: all;
}

/* Initial loader - full screen */
.app-loader-initial {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
}

/* Navigation loader - content area only (right side) */
.app-loader-navigation {
  top: 0;
  left: 280px; /* Sidebar width */
  right: 0;
  bottom: 0;
}

/* Navigation loader starts hidden */
.app-loader-navigation.hidden {
  opacity: 0;
  pointer-events: none;
}

/* When sidebar is collapsed */
body.sidebar-collapsed .app-loader-navigation {
  left: 80px;
}

/* Mobile - no sidebar offset */
@media (max-width: 991px) {
  .app-loader-navigation {
    left: 0;
  }
}

/* Webview mode - no sidebar */
body.webview-mode .app-loader-navigation {
  left: 0;
}

/* Hidden state */
.app-loader.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Loader content container */
.app-loader-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  max-width: 400px;
  padding: 2rem;
}

/* Logo */
.app-loader-logo {
  width: 80px;
  height: 80px;
  filter: drop-shadow(0 4px 12px rgba(0, 212, 170, 0.4));
  animation: pulse-logo 2s ease-in-out infinite;
}

@keyframes pulse-logo {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 4px 12px rgba(0, 212, 170, 0.4));
  }
  50% {
    transform: scale(1.05);
    filter: drop-shadow(0 6px 16px rgba(0, 212, 170, 0.6));
  }
}

/* App brand name */
.app-loader-brand {
  font-size: 1.75rem;
  font-weight: 700;
  text-transform: capitalize;
  color: var(--text-primary, #ffffff);
  letter-spacing: 0.1em;
  margin-top: 0.5rem;
}

[data-theme="dark"] .app-loader-brand {
  color: var(--text-primary, #ffffff);
}

[data-theme="light"] .app-loader-brand {
  color: var(--text-primary, #1e293b);
}

/* Progress bar container */
.app-loader-progress-container {
  width: 100%;
  max-width: 300px;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 1rem;
}

[data-theme="light"] .app-loader-progress-container {
  background: rgba(0, 0, 0, 0.1);
}

/* Progress bar */
.app-loader-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--accent-primary, #00d4aa) 0%, var(--accent-secondary, #00a8ff) 100%);
  border-radius: 2px;
  width: 0%;
  transition: width 0.3s ease;
  box-shadow: 0 0 10px rgba(0, 212, 170, 0.5);
}

/* Status text */
.app-loader-status {
  font-size: 0.875rem;
  color: var(--text-secondary, #94a3b8);
  margin-top: 0.5rem;
  text-align: center;
}

[data-theme="light"] .app-loader-status {
  color: var(--text-muted, #64748b);
}

/* Spinner container */
.app-loader-spinner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

/* Spinner size */
.app-loader .spinner-border {
  width: 3rem;
  height: 3rem;
  border-width: 0.3rem;
}

/* Dark mode support */
[data-theme="dark"] .app-loader {
  background: var(--bs-dark, #1a1a1a);
}

/* Smooth fade-in for content */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.app-content-fade-in {
  animation: fadeIn 0.3s ease-in;
}

/* Hide scrollbar and prevent scrolling while initial loader is visible */
#initial-loader.app-loader-initial {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
}

/* When loader is visible, HIDE main scrollbar but ALLOW SCROLLING */
html:has(body[data-initial-load="true"]),
body[data-initial-load="true"] {
  scrollbar-width: none !important; /* Firefox - hide main scrollbar */
  -ms-overflow-style: none !important; /* IE/Edge - hide main scrollbar */
}

html:has(body[data-initial-load="true"])::-webkit-scrollbar,
body[data-initial-load="true"]::-webkit-scrollbar {
  display: none !important; /* Chrome/Safari - hide main scrollbar */
}

/* Hide elements while initial loader exists in DOM */
#initial-loader ~ .chatbot-widget-container {
  display: none !important;
}

/* ============================================
   DASHBOARD COMPACT HEADER (Desktop)
   ============================================ */

@media (min-width: 992px) {
  /* Dashboard header - reduce height */
  .dashboard-container .dashboard-header {
    height: 58px;
    min-height: 58px;
    margin-bottom: 0.5rem !important;
  }

  /* Portfolio section header - single line compact */
  .section-header.section-header-compact {
    margin-bottom: 0.5rem;
    align-items: center;
    padding: 0;
  }

  .section-header-compact .section-title h2 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    letter-spacing: -0.01em;
  }

  .section-header-compact .section-actions-compact {
    margin-top: 0;
  }

  .section-header-compact .section-actions-compact .btn {
    font-size: 0.78rem;
    border-radius: 6px;
    box-shadow: none;
  }

  .section-header-compact .section-actions-compact .btn:hover {
    transform: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  }

  .refresh-status-inline {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.45);
    align-items: center;
    gap: 0.25rem;
  }

  /* Summary bar compact */
  .dashboard-container .portfolio-summary-bar {
    padding: 0.25rem 0.4rem;
    margin-bottom: 0.6rem !important;
    border-radius: 8px;
  }

  .dashboard-container .portfolio-summary-bar .summary-item {
    padding: 0.3rem 0.6rem;
    gap: 0.5rem;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-icon {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 6px;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.7rem;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.9rem;
    line-height: 1.3;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.65rem;
  }

  .dashboard-container .portfolio-summary-bar .summary-divider {
    margin: 0.3rem 0;
  }

  /* Toggle inside summary bar */
  .portfolio-summary-bar .summary-item-toggle {
    justify-content: center;
    padding: 0.2rem 0.5rem;
  }

  .portfolio-summary-bar .summary-item-toggle .expert-mode-toggle-wrapper {
    padding: 4px 10px;
    background: rgba(30, 34, 50, 0.4);
    border-color: rgba(255, 255, 255, 0.06);
  }

  /* Alerts banner compact */
  .dashboard-container .combined-alerts-banner {
    margin-bottom: 0.6rem;
  }

  .dashboard-container .alert-section-card {
    padding: 0.4rem 0.5rem;
    border-radius: 8px;
  }

  .dashboard-container .alert-section-card .alert-section-header {
    margin-bottom: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .dashboard-container .alert-section-card .alert-section-header h5 {
    font-size: 0.72rem;
  }

  .dashboard-container .market-alert-accordion .alert-accordion-header {
    padding: 0.4rem 0.6rem;
  }

  /* Mini widgets compact */
  .dashboard-container .mini-widgets-row {
    margin-bottom: 0.6rem;
    gap: 0.6rem;
  }

  .dashboard-container .market-sentiment-mini,
  .dashboard-container .geopolitical-mini {
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
  }

  /* Tabs spacing */
  .dashboard-container .dashboard-tabs {
    margin-bottom: 0.5rem;
  }

  .dashboard-container .nav-tabs.account-nav-tabs .nav-link {
    padding: 0.5rem 1rem;
    font-size: 0.82rem;
  }

  /* Today actions compact */
  .dashboard-container .today-actions-section {
    margin-bottom: 0.5rem;
  }
}

/* ============================================
   INSIGHTS GRID - 4 Cards
   ============================================ */

.insights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6rem;
  margin-bottom: 0.75rem;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .insights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
    margin-bottom: 0.5rem;
  }

  .insight-card {
    padding: 0.5rem 0.6rem;
    min-height: 58px;
    gap: 0.5rem;
  }

  .insight-card-icon {
    width: 26px;
    height: 26px;
    font-size: 0.7rem;
    border-radius: 6px;
  }

  .insight-fgi-gauge {
    width: 28px;
    height: 28px;
  }

  .insight-fgi-value {
    font-size: 0.6rem;
  }

  .insight-emoji {
    font-size: 0.9rem;
  }

  .insight-card-label {
    font-size: 0.58rem;
  }

  .insight-card-value {
    font-size: 0.7rem;
  }

  .insight-badge {
    font-size: 0.52rem;
    padding: 0.05rem 0.3rem;
  }

  .insight-sentiment-tag {
    font-size: 0.6rem;
  }

  .insight-pizza-pct {
    font-size: 0.58rem;
  }

  /* Summary bar tablet */
  .dashboard-container .portfolio-summary-bar {
    padding: 0.2rem 0.3rem;
    margin-bottom: 0.5rem !important;
  }

  .dashboard-container .portfolio-summary-bar .summary-item {
    padding: 0.25rem 0.4rem;
    gap: 0.4rem;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 5px;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.6rem;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.78rem;
  }

  .dashboard-container .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.58rem;
  }

  /* Tabs compact tablet */
  .dashboard-container .nav-tabs.account-nav-tabs .nav-link {
    padding: 0.4rem 0.6rem;
    font-size: 0.72rem;
  }

  .dashboard-container .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 0.8rem;
  }

  /* Section header tablet */
  .section-header.section-header-compact .section-title h2 {
    font-size: 0.95rem;
  }

  .section-header-compact .section-actions-compact .btn {
    padding: 0.3rem 0.6rem;
    font-size: 0.7rem;
  }

  /* Dashboard header tablet */
  .dashboard-container .dashboard-header {
    height: 42px;
    min-height: 42px;
  }
}

.insight-card {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.7rem 0.8rem;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, background 0.2s;
  position: relative;
  overflow: hidden;
  min-height: 72px;
}

.insight-card:hover {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  text-decoration: none;
  color: inherit;
}

.insight-card-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  font-size: 0.8rem;
}

.insight-card-alert .insight-card-icon {
  background: rgba(255, 167, 38, 0.12);
  color: #ffa726;
}

.insight-card-alert.insight-direction-bullish {
  border-color: rgba(0, 212, 170, 0.15);
}

.insight-card-alert.insight-direction-bullish .insight-card-icon {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
}

.insight-card-alert.insight-direction-bearish {
  border-color: rgba(239, 68, 68, 0.15);
}

.insight-card-alert.insight-direction-bearish .insight-card-icon {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

.insight-card-geo .insight-card-icon {
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}

.insight-card-sentiment .insight-card-icon {
  background: transparent;
}

.insight-card-pizzacon .insight-card-icon {
  background: rgba(255, 255, 255, 0.05);
}

.insight-emoji {
  font-size: 1.1rem;
  line-height: 1;
}

.insight-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  flex: 1;
}

.insight-card-label {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.2;
}

.insight-card-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.insight-alert-title {
  white-space: normal;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Badges */
.insight-badge {
  display: inline-block;
  font-size: 0.6rem;
  font-weight: 600;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  width: fit-content;
}

.insight-badge-critical {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}

.insight-badge-warning {
  background: rgba(234, 179, 8, 0.2);
  color: #fbbf24;
}

.insight-badge-info {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}

.insight-badge-severity-5 {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}

.insight-badge-severity-4 {
  background: rgba(234, 179, 8, 0.2);
  color: #fbbf24;
}

.insight-badge-severity-3,
.insight-badge-severity-2,
.insight-badge-severity-1 {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
}

/* Fear & Greed gauge mini - conic gradient proportional */
.insight-fgi-gauge {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: conic-gradient(
    var(--fgi-color, #eab308) 0deg,
    var(--fgi-color, #eab308) calc(var(--fgi-pct) * 3.6deg),
    rgba(255, 255, 255, 0.08) calc(var(--fgi-pct) * 3.6deg),
    rgba(255, 255, 255, 0.08) 360deg
  );
  position: relative;
}

.insight-fgi-gauge::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: rgba(15, 20, 35, 0.95);
}

.insight-fgi-value {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--fgi-color, #eab308);
  position: relative;
  z-index: 1;
}

.insight-sentiment-tag {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.6);
}

/* Pizza bar */
.insight-pizza-bar {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.2rem;
}

.insight-pizza-track {
  flex: 1;
  height: 5px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.insight-pizza-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.3s ease;
}

.insight-pizza-fill.pizza-normal { background: #22c55e; }
.insight-pizza-fill.pizza-moderate { background: #eab308; }
.insight-pizza-fill.pizza-elevated { background: #f97316; }
.insight-pizza-fill.pizza-critical { background: #ef4444; }

.insight-pizza-pct {
  font-size: 0.65rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  white-space: nowrap;
}

/* Premium lock overlay */
.insight-premium-lock {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.4);
  background: rgba(0, 0, 0, 0.4);
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
}

/* Empty state */
.insight-card-empty {
  opacity: 0.5;
  cursor: default;
}

/* Force hidden to override Bootstrap display utilities */
[data-expert-only][hidden],
[data-basic-only][hidden] {
  display: none !important;
}

/* Desktop bubbles (basic mode) - inline next to title */
.dashboard-bubbles-desktop {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  margin-left: 5rem;
}

.dashboard-bubbles-desktop .db-bubble {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.dashboard-bubbles-desktop .db-bubble-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
}

.dashboard-bubbles-desktop .db-bubble-label {
  font-size: 0.58rem;
}

.dashboard-bubbles-desktop .bubbles-action-btns {
  display: none;
}

/* Section title with inline bubbles */
.section-header-compact .section-title {
  display: flex;
  align-items: center;
}

/* Ring indicator around bubble icons (mobile + desktop) */
.db-bubble-ring {
  position: relative;
  border-radius: 50%;
}

.db-bubble-ring::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: conic-gradient(
    var(--ring-color, rgba(255,255,255,0.2)) 0deg,
    var(--ring-color, rgba(255,255,255,0.2)) calc(var(--ring-pct) * 3.6deg - 0.5deg),
    rgba(255, 255, 255, 0.1) calc(var(--ring-pct) * 3.6deg + 0.5deg),
    rgba(255, 255, 255, 0.1) 360deg
  );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #fff calc(100% - 3px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #fff calc(100% - 3px));
  pointer-events: none;
}

.db-bubble-ring .db-bubble-emoji {
  position: relative;
  z-index: 1;
}

/* ============================================
   EXPERT MODE TOGGLE
   ============================================ */

.expert-mode-section {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.expert-mode-toggle-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  background: rgba(30, 34, 50, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.2s ease, background 0.2s ease;
  backdrop-filter: blur(8px);
}

.expert-mode-toggle-wrapper:hover {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(30, 34, 50, 0.8);
}

.expert-mode-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  transition: color 0.2s ease;
}

.expert-mode-label[data-side="basic"] {
  color: #00d4aa;
}

.expert-mode-label[data-side="expert"] {
  color: rgba(255, 255, 255, 0.4);
}

.expert-mode-track {
  position: relative;
  width: 36px;
  height: 20px;
  background: rgba(0, 212, 170, 0.2);
  border-radius: 10px;
  transition: background 0.25s ease;
}

.expert-mode-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background: #00d4aa;
  border-radius: 50%;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), background 0.25s ease;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

/* Expert active state */
.expert-mode-toggle-wrapper.expert-active .expert-mode-label[data-side="basic"] {
  color: rgba(255, 255, 255, 0.4);
}

.expert-mode-toggle-wrapper.expert-active .expert-mode-label[data-side="expert"] {
  color: #00a8ff;
}

.expert-mode-toggle-wrapper.expert-active .expert-mode-track {
  background: rgba(0, 168, 255, 0.2);
}

.expert-mode-toggle-wrapper.expert-active .expert-mode-thumb {
  transform: translateX(16px);
  background: #00a8ff;
}

/* Card J+1 display — hidden by default (only shown in card mode via mobile or basic-mode-cards) */
.card-j1-display {
  display: none;
}

/* ============================================
   BASIC MODE CARDS — Desktop ONLY (min-width: 768px)
   Reuses the SAME table HTML but applies mobile-style
   card layout via CSS when .dashboard-container .basic-mode-cards is present.
   Uses same patterns as mobile_optimizations.css
   ============================================ */

@media (min-width: 768px) {

.dashboard-container .basic-mode-cards .table-responsive {
  overflow: visible !important;
}

.dashboard-container .basic-mode-cards table.stocks-table {
  display: block !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  font-size: 0.85rem !important;
}

.dashboard-container .basic-mode-cards table.stocks-table thead {
  display: none !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tbody {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-auto-flow: dense !important;
  gap: 16px !important;
}

/* Card container */
.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row {
  display: grid !important;
  grid-template-columns: 1fr minmax(140px, 50%) !important;
  grid-template-rows: auto auto auto auto auto auto !important;
  grid-template-areas:
    "stock    price"
    "glow     glow"
    "signal   position"
    "perso    position"
    "events   position"
    "details  details" !important;
  gap: 0 !important;
  row-gap: 8px !important;
  position: relative !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 18px !important;
  padding: 14px !important;
  background: linear-gradient(160deg, rgba(18, 22, 46, 0.99) 0%, rgba(10, 13, 28, 1) 100%) !important;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.5) !important;
  overflow: hidden !important;
}

/* Signal tinting */
.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.signal-buy {
  background: linear-gradient(160deg, rgba(14, 22, 40, 0.99) 0%, rgba(0, 24, 16, 0.98) 100%) !important;
  border-color: rgba(0, 212, 170, 0.18) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.signal-sell {
  background: linear-gradient(160deg, rgba(28, 14, 18, 0.99) 0%, rgba(30, 6, 10, 0.98) 100%) !important;
  border-color: rgba(220, 53, 69, 0.2) !important;
}

/* Non-stock rows (chart/AI dropdowns) — hidden but take full row when open */
.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row) {
  display: none !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapse.show),
.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapsing) {
  display: block !important;
  grid-column: 1 / -1 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(15, 20, 38, 0.98) 0%, rgba(20, 28, 50, 0.95) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapse.show) td,
.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapsing) td {
  display: block !important;
  padding: 16px !important;
  border: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapse.show) .ai-analysis-two-column,
.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapsing) .ai-analysis-two-column {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapse.show) .content-column,
.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapsing) .content-column {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapse.show) .reasoning-block,
.dashboard-container .basic-mode-cards table.stocks-table tr:not(.stock-row):not(.add-stock-placeholder-row):has(.collapsing) .reasoning-block {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  min-width: 0 !important;
}


/* Hide all td by default, then show specific ones */
.dashboard-container .basic-mode-cards table.stocks-table td {
  display: none !important;
  border: none !important;
  padding: 0 !important;
}

/* ROW 1: TICKER + NAME (left) */
.dashboard-container .basic-mode-cards table.stocks-table td.stock-cell {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  grid-area: stock !important;
  gap: 7px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table .stock-info-compact {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 7px !important;
  padding-left: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table .stock-info-compact .stock-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table .stock-info-compact .symbol-tag {
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 4px 9px !important;
  background: linear-gradient(135deg, rgba(0, 212, 170, 0.13) 0%, rgba(0, 168, 255, 0.07) 100%) !important;
  border: 1px solid rgba(0, 212, 170, 0.28) !important;
  border-radius: 7px !important;
  color: #00d4aa !important;
  letter-spacing: 0.5px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table .stock-info-compact .stock-name-inline {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.5) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 160px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table .stock-info-compact .stock-name-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table .stock-info-compact .stock-actions-row {
  display: none !important;
}

/* PRICE CELL (top right) */
.dashboard-container .basic-mode-cards table.stocks-table td.price-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-self: end !important;
  grid-area: price !important;
  gap: 3px !important;
  text-align: right !important;
  max-width: none !important;
  min-width: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.price-cell .price-display-compact {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #fff !important;
  text-align: right !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.price-cell .price-display-compact .usd-conversion {
  font-size: 0.65rem !important;
  color: rgba(255, 255, 255, 0.45) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.price-cell .micro-sparkline-container {
  display: block !important;
  margin-left: -100px;
}

.dashboard-container .basic-mode-cards table.stocks-table td.price-cell .micro-sparkline-container canvas {
  max-width: 100% !important;
  display: block !important;
  margin-left: auto !important;
}

/* GLOW LINE */
.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row::before {
  content: "" !important;
  grid-area: glow !important;
  display: block !important;
  height: 1px !important;
  border-radius: 2px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(0, 212, 170, 0.55) 25%, rgba(0, 168, 255, 0.45) 75%, transparent 100%) !important;
  margin: 2px 0 !important;
  position: static !important;
  animation: glow-pulse-basic 3s ease-in-out infinite !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.signal-buy::before {
  background: linear-gradient(90deg, transparent 0%, rgba(0, 212, 170, 1) 35%, rgba(34, 197, 94, 0.7) 65%, transparent 100%) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.signal-sell::before {
  background: linear-gradient(90deg, transparent 0%, rgba(239, 68, 68, 1) 35%, rgba(220, 53, 69, 0.7) 65%, transparent 100%) !important;
}

@keyframes glow-pulse-basic {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

/* SIGNAL CELL */
.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  grid-area: signal !important;
  gap: 8px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell::before {
  content: "SIGNAL" !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.3) !important;
  letter-spacing: 0.8px !important;
  flex-shrink: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell .signal-display {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell .action-badge.main-signal {
  font-size: 11px !important;
  padding: 5px 13px !important;
  font-weight: 800 !important;
  border-radius: 7px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell .action-badge.main-signal.buy {
  box-shadow: 0 0 14px rgba(0, 212, 170, 0.35) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell .action-badge.main-signal.sell {
  box-shadow: 0 0 14px rgba(220, 53, 69, 0.35) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell .signal-sub-row {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* ADAPTIVE GRID: no perso cell (portfolio flag off) */
.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso {
  grid-template-rows: auto auto auto auto auto !important;
  grid-template-areas:
    "stock    price"
    "glow     glow"
    "signal   position"
    "events   position"
    "details  details" !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso.no-events {
  grid-template-rows: auto auto auto auto !important;
  grid-template-areas:
    "stock    price"
    "glow     glow"
    "signal   position"
    "details  details" !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso.no-events td.events-cell {
  display: none !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso td.position-cell {
  grid-row: 3 / 5 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso.no-events td.position-cell {
  grid-row: 3 / 4 !important;
}

/* PERSO CELL */
.dashboard-container .basic-mode-cards table.stocks-table td.mobile-perso-cell {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  grid-area: perso !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.personalized-signal-cell {
  display: none !important;
}

/* In card mode: show J+1 prediction (like mobile), hide position-two-cols */
.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-label {
  font-size: 0.6rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-value {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-baseline {
  font-size: 0.5rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.3) !important;
  letter-spacing: 0.5px !important;
  margin-top: -2px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-bar {
  width: 100% !important;
  height: 3px !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  overflow: hidden !important;
  display: block !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-fill {
  height: 100% !important;
  border-radius: 2px !important;
  transition: width 0.3s ease !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-fill.conf-high {
  background: #00d4aa !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-fill.conf-medium {
  background: #ffa726 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-fill.conf-low {
  background: #ef4444 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-text {
  font-size: 0.6rem !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .position-two-cols {
  display: none !important;
}

/* POSITION CELL (right, spans rows 3-5) */
.dashboard-container .basic-mode-cards table.stocks-table td.position-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: end !important;
  grid-area: position !important;
  grid-row: 3 / 6 !important;
  padding: 12px 16px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 12px !important;
  gap: 5px !important;
  min-width: 120px !important;
  max-width: none !important;
  margin-left: auto !important;
  font-size: 0.75rem !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.signal-buy td.position-cell {
  background: rgba(0, 212, 170, 0.06) !important;
  border-color: rgba(0, 212, 170, 0.18) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.signal-sell td.position-cell {
  background: rgba(220, 53, 69, 0.06) !important;
  border-color: rgba(220, 53, 69, 0.18) !important;
}

/* EVENTS CELL */
.dashboard-container .basic-mode-cards table.stocks-table td.events-cell {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  grid-area: events !important;
  gap: 6px !important;
  max-width: none !important;
  width: auto !important;
}

/* DETAILS CELL */
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  grid-area: details !important;
  gap: 6px !important;
  padding: 10px 0 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  margin-top: 4px !important;
  min-height: 44px !important;
  height: auto !important;
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  text-align: left !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart,
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-ai {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border: 1px solid rgba(0, 168, 255, 0.2) !important;
  background: rgba(0, 168, 255, 0.06) !important;
  color: #00a8ff !important;
  cursor: pointer !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown {
  flex-shrink: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 8px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge.positive {
  background: rgba(0, 212, 170, 0.1) !important;
  color: #00d4aa !important;
  border: 1px solid rgba(0, 212, 170, 0.25) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge.negative {
  background: rgba(239, 68, 68, 0.1) !important;
  color: #ef4444 !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
}

/* Hide desktop-only columns */
.dashboard-container .basic-mode-cards table.stocks-table td.chart-cell,
.dashboard-container .basic-mode-cards table.stocks-table td.prediction-cell {
  display: none !important;
}


/* Add stock row — entire card is clickable */
.dashboard-container .basic-mode-cards table.stocks-table tr.add-stock-placeholder-row {
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  border: 2px dashed rgba(255, 255, 255, 0.1) !important;
  border-radius: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 80px !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.add-stock-placeholder-row td {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.add-stock-placeholder-row .add-stock-table-btn {
  width: 100% !important;
  height: 100% !important;
  min-height: 80px !important;
  border-radius: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.add-stock-placeholder-row:hover {
  border-color: rgba(0, 212, 170, 0.3) !important;
  background: rgba(0, 212, 170, 0.02) !important;
}

/* Watchlist position cell — HIDE suivi block in card mode, show J+1 prediction */
.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .watchlist-pnl-block {
  display: none !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .card-j1-display {
  display: flex !important;
  overflow: hidden !important;
  max-width: 100% !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .card-j1-display .mobile-j1-display {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  max-width: 100% !important;
  overflow: hidden !important;
}


} /* end @media (min-width: 768px) — basic-mode-cards table layout */

/* ============================================
   ACCOUNT SETTINGS TOGGLE (all screen sizes)
   ============================================ */

.expert-mode-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.expert-mode-setting-label {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.expert-mode-setting-label strong {
  font-size: 0.9rem;
  color: #e2e8f0;
}

.expert-mode-setting-label small {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
}

/* Hide Fondamentaux + collapse left-stack in Basic mode (all screen sizes) */
.dashboard-container .basic-mode-cards .fundamentals-column {
  display: none !important;
}

.dashboard-container .basic-mode-cards .ai-analysis-two-column .left-stack {
  display: none !important;
}

.dashboard-container .basic-mode-cards .ai-analysis-two-column .content-column {
  flex: 1 !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  .dashboard-container .basic-mode-cards .ai-analysis-two-column .content-column {
    display: grid !important;
    grid-template-columns: 1fr 2fr 2fr !important;
    grid-template-rows: auto auto !important;
    gap: 16px !important;
    align-items: start !important;
  }

  .dashboard-container .basic-mode-cards .ai-analysis-two-column .content-column .personalized-signal-section {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  .dashboard-container .basic-mode-cards .ai-analysis-two-column .content-column .ai-reasoning-section {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 16px !important;
  }

  .dashboard-container .basic-mode-cards .ai-analysis-two-column .content-column .ai-reasoning-section .reasoning-block {
    flex: 1 !important;
    min-width: 0 !important;
  }

  .dashboard-container .basic-mode-cards .ai-analysis-two-column .content-column .complementary-info-section {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .dashboard-container .basic-mode-cards .ai-analysis-two-column .content-column .events-detail-section {
    grid-column: 1 / -1 !important;
  }
}

/* ============================================
   DESKTOP CARD REFINEMENTS (min-width: 768px)
   ============================================ */
@media (min-width: 768px) {

/* ============================================
   DESKTOP CARD REFINEMENTS
   Fixes for desktop basic-mode-cards vs mobile
   ============================================ */

/* Signal Profil label — match mobile typography */
.dashboard-container .basic-mode-cards table.stocks-table td.mobile-perso-cell::before {
  display: none !important;
}

.dashboard-container .basic-mode-cards .mobile-perso-label {
  font-size: 8px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.3) !important;
  letter-spacing: 0.8px !important;
  white-space: nowrap !important;
}

.dashboard-container .basic-mode-cards .mobile-perso-badge {
  font-size: 10px !important;
  padding: 4px 10px !important;
  font-weight: 800 !important;
  border-radius: 6px !important;
}

/* Stock cell — align left properly */
.dashboard-container .basic-mode-cards table.stocks-table td.stock-cell {
  justify-content: flex-start !important;
}

.dashboard-container .basic-mode-cards table.stocks-table .stock-info-compact .stock-name-row {
  margin-top: 2px !important;
}

/* Details row — fix Historique des Prix button sizing */
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart,
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart.mobile-only {
  display: flex !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(99, 102, 241, 0.1) !important;
  border: 1px solid rgba(99, 102, 241, 0.2) !important;
  border-radius: 10px !important;
  color: #a5b4fc !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart .chevron-icon,
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart .btn-details-text {
  display: none !important;
}

/* P&L badge — same height as icon buttons */
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  height: 44px !important;
  max-height: 44px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge.positive {
  background: rgba(0, 212, 170, 0.09) !important;
  border: 1px solid rgba(0, 212, 170, 0.22) !important;
  color: #00d4aa !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge.negative {
  background: rgba(255, 77, 106, 0.09) !important;
  border: 1px solid rgba(255, 77, 106, 0.22) !important;
  color: #ff4d6a !important;
}

/* Analyse IA button */
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-ai {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: auto !important;
  height: 36px !important;
  max-height: 36px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 10px !important;
  margin-right: 0 !important;
  vertical-align: initial !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, rgba(0, 168, 255, 0.12) 0%, rgba(0, 212, 170, 0.08) 100%) !important;
  border: 1px solid rgba(0, 168, 255, 0.22) !important;
  border-radius: 10px !important;
  color: #00a8ff !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-ai .chevron-icon {
  display: none !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-ai .btn-details-text {
  display: inline !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-ai i:first-child {
  font-size: 14px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart.mobile-only {
  display: inline-flex !important;
}

/* Transaction button — square */
.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  vertical-align: initial !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
  display: flex !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 167, 38, 0.1) !important;
  border: 1px solid rgba(255, 167, 38, 0.22) !important;
  border-radius: 10px !important;
  color: #ffb347 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
  font-size: 14px !important;
  margin: 0 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
  display: none !important;
}

} /* end @media (min-width: 768px) — desktop card refinements */

/* ============================================
   RESPONSIVE — Grid columns
   ============================================ */

@media (max-width: 1600px) {
  .dashboard-container .basic-mode-cards table.stocks-table tbody {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .dashboard-container .basic-mode-cards table.stocks-table tbody {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Override mobile_optimizations tablet rules that break cards */
  .dashboard-container .basic-mode-cards table.stocks-table {
    font-size: inherit !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table .action-badge {
    font-size: 11px !important;
    padding: 5px 13px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.price-cell .price-display-compact {
    font-size: 14px !important;
  }

  /* Override tablet font/sizing from mobile_optimizations */
  .dashboard-container .basic-mode-cards table.stocks-table {
    font-size: 0.8rem !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table .action-badge {
    font-size: 10px !important;
    padding: 4px 10px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.signal-cell::before {
    font-size: 7px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table .mobile-perso-label {
    font-size: 7px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table .mobile-perso-badge {
    font-size: 9px !important;
    padding: 3px 8px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.position-cell {
    padding: 8px 10px !important;
    font-size: 0.7rem !important;
    min-width: 120px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 0 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    min-height: 44px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(99, 102, 241, 0.1) !important;
    border: 1px solid rgba(99, 102, 241, 0.2) !important;
    border-radius: 10px !important;
    color: #a5b4fc !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart .chevron-icon,
  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-chart .btn-details-text {
    display: none !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-ai {
    flex: 1 1 auto !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, rgba(0, 168, 255, 0.12) 0%, rgba(0, 212, 170, 0.08) 100%) !important;
    border: 1px solid rgba(0, 168, 255, 0.22) !important;
    border-radius: 10px !important;
    color: #00a8ff !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge {
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
  }

  .dashboard-container .basic-mode-cards table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }
}

/* line 9, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page {
  overflow-x: clip;
}

/* line 13, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-beta-notice {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: rgba(168, 85, 247, 0.08);
  border: 1px solid rgba(168, 85, 247, 0.25);
  border-radius: 8px;
  padding: 0.6rem 1rem;
  margin-left: 2rem !important;
  margin-right: 2rem !important;
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.75);
}

/* line 26, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-beta-notice i {
  color: #a855f7;
  font-size: 0.85rem;
}

/* line 27, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-beta-notice strong {
  color: #a855f7;
}

/* line 30, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-header-logo {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  object-fit: contain;
  margin-right: 0.4rem;
}

/* line 38, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-badge-beta-inline {
  background: rgba(168, 85, 247, 0.15);
  color: #a855f7;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 1px solid rgba(168, 85, 247, 0.3);
  margin-left: 0.4rem;
}

/* line 51, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-search-section {
  margin-top: 1.25rem;
}

/* line 54, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-layout-with-toc {
  display: flex;
  gap: 0;
  position: relative;
  align-items: flex-start;
}

/* line 61, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-toc {
  position: sticky;
  top: 5rem;
  align-self: flex-start;
  width: 160px;
  flex-shrink: 0;
  padding: 0.75rem 0;
  margin-left: 0.5rem;
  display: none;
}

@media (min-width: 1200px) {
  /* line 61, app/assets/stylesheets/stock_analysis.scss */
  .stock-analysis-page .sa-toc {
    display: block;
  }
}

/* line 75, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-toc ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--border-color);
}

/* line 82, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-toc li {
  margin: 0;
}

/* line 84, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-toc a {
  display: block;
  padding: 0.4rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--text-muted);
  text-decoration: none;
  border-left: 2px solid transparent;
  margin-left: -2px;
  transition: all 0.2s;
}

/* line 95, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-toc a:hover {
  color: var(--text-secondary);
  border-left-color: var(--text-muted);
}

/* line 100, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-toc a.active {
  color: var(--accent-primary);
  border-left-color: var(--accent-primary);
  font-weight: 700;
}

/* line 109, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-overview-compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 117, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-overview-kpis {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 123, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-kpi-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.4rem 0.75rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  min-width: 60px;
}

/* line 133, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-kpi-pill .sa-kpi-pill-label {
  font-size: 0.6rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 140, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-kpi-pill .sa-kpi-pill-value {
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 148, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-analyst-inline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding: 0.6rem 1rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  flex-wrap: wrap;
}

/* line 160, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-analyst-inline-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* line 165, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-analyst-inline-label i {
  margin-right: 0.3rem;
  color: var(--accent-primary);
}

/* line 168, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-analyst-inline-value {
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--text-primary);
}

/* line 174, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-analyst-range-mini {
  flex: 1;
  min-width: 120px;
  max-width: 200px;
  margin-top: 1em;
}

/* line 181, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-range-track-mini {
  height: 4px;
  background: linear-gradient(90deg, #10b981, #f59e0b, #ef4444);
  border-radius: 2px;
  position: relative;
}

/* line 188, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-range-current-mini {
  position: absolute;
  top: -3px;
  width: 10px;
  height: 10px;
  background: white;
  border: 2px solid var(--accent-primary);
  border-radius: 50%;
  transform: translateX(-50%);
}

/* line 199, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-range-labels-mini {
  display: flex;
  justify-content: space-between;
  font-size: 0.6rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
}

/* line 207, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-range-fill-mini {
  display: none;
}

/* line 210, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-scores-compact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
}

/* line 216, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-card-compact {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  text-align: center;
}

/* line 227, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact {
  width: 56px;
  height: 56px;
  position: relative;
  margin-bottom: 0.5rem;
}

/* line 233, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 239, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 3;
}

/* line 245, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .ring-fill {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  transition: stroke-dasharray 0.8s;
}

/* line 250, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .ring-fill.ring-good {
  stroke: #10b981;
}

/* line 251, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .ring-fill.ring-neutral {
  stroke: #f59e0b;
}

/* line 252, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .ring-fill.ring-bad {
  stroke: #ef4444;
}

/* line 255, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .sa-score-inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 263, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .sa-score-number {
  font-size: 0.95rem;
  font-weight: 900;
  color: var(--text-primary);
}

/* line 269, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .sa-score-max {
  font-size: 0.55rem;
  color: var(--text-muted);
}

/* line 275, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-card-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.4rem;
}

/* line 284, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-checks {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.65rem;
}

/* line 290, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-checks span {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 294, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-checks span.pass {
  color: #10b981;
}

/* line 295, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-checks span.fail {
  color: #ef4444;
}

/* line 296, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-checks span i {
  font-size: 0.55rem;
}

/* line 300, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-desc {
  font-size: 0.65rem;
  color: var(--text-muted);
}

/* line 305, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .dashboard-header {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  padding: 0.75rem 1.5rem !important;
  margin-bottom: 0.5rem !important;
  position: relative !important;
  z-index: 100;
  overflow: visible !important;
}

/* line 315, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .dashboard-header .header-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  min-width: 0;
  flex: 1;
}

/* line 323, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .dashboard-header .header-left h5 {
  margin: 0;
  white-space: nowrap;
}

/* line 326, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .dashboard-header .header-right {
  flex: 0 0 auto;
  flex-shrink: 0;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

/* line 336, app/assets/stylesheets/stock_analysis.scss */
.sa-content-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* line 343, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

/* line 350, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-card {
  position: relative;
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(15, 20, 40, 0.95) 100%);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 1rem;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 359, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-card:hover {
  border-color: rgba(var(--accent-primary-rgb), 0.2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* line 365, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 4px;
}

/* line 372, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-value {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

/* line 380, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: var(--radius-full);
  font-size: 0.7rem;
  font-weight: 700;
}

/* line 389, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-badge.positive {
  background: rgba(16, 185, 129, 0.15);
  color: var(--color-success);
}

/* line 390, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-badge.negative {
  background: rgba(239, 68, 68, 0.15);
  color: var(--color-danger);
}

/* line 391, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-badge i {
  font-size: 0.55rem;
}

/* line 394, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-label {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
}

/* line 403, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-sparkline {
  height: 60px;
  width: 100%;
}

/* line 406, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-sparkline canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 410, app/assets/stylesheets/stock_analysis.scss */
.sa-header {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border-color);
}

/* line 416, app/assets/stylesheets/stock_analysis.scss */
.sa-title {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 424, app/assets/stylesheets/stock_analysis.scss */
.sa-title i {
  color: var(--accent-primary);
}

/* line 427, app/assets/stylesheets/stock_analysis.scss */
.sa-subtitle {
  color: var(--text-secondary);
  font-size: var(--font-sm);
  margin-top: 0.25rem;
}

/* line 434, app/assets/stylesheets/stock_analysis.scss */
.sa-search-section {
  margin-bottom: 2rem;
  position: relative;
  z-index: 100;
}

/* line 436, app/assets/stylesheets/stock_analysis.scss */
.sa-search-wrapper {
  position: relative;
  max-width: 560px;
  margin: 0 auto;
  z-index: 100;
}

/* line 443, app/assets/stylesheets/stock_analysis.scss */
.sa-search-icon {
  position: absolute;
  left: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  pointer-events: none;
}

/* line 452, app/assets/stylesheets/stock_analysis.scss */
.sa-search-input {
  width: 100%;
  padding: 0.9rem 1rem 0.9rem 2.8rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  color: var(--text-primary);
  font-size: var(--font-base);
  backdrop-filter: blur(12px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 463, app/assets/stylesheets/stock_analysis.scss */
.sa-search-input:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(var(--accent-primary-rgb), 0.15), 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* line 468, app/assets/stylesheets/stock_analysis.scss */
.sa-search-input::placeholder {
  color: var(--text-muted);
}

/* line 471, app/assets/stylesheets/stock_analysis.scss */
.sa-search-results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: var(--bg-card-solid);
  border: 1px solid var(--border-color-light);
  border-radius: var(--radius-lg);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  z-index: 200;
  max-height: 340px;
  overflow-y: auto;
  backdrop-filter: blur(20px);
}

/* line 485, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 1rem;
  cursor: pointer;
  transition: background 0.15s;
}

/* line 492, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-item:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}

/* line 493, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-item:hover {
  background: rgba(var(--accent-primary-rgb), 0.06);
}

/* line 494, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-item.sa-search-result-active {
  background: rgba(var(--accent-primary-rgb), 0.08);
}

/* line 495, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-item.sa-search-loading {
  opacity: 0.7;
  pointer-events: none;
}

/* line 498, app/assets/stylesheets/stock_analysis.scss */
.sa-search-external {
  opacity: 0.85;
}

/* line 502, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-main {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex: 1;
  min-width: 0;
}

/* line 510, app/assets/stylesheets/stock_analysis.scss */
.sa-search-icon-placeholder {
  width: 18px;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.7rem;
  flex-shrink: 0;
}

/* line 518, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 525, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-exchange {
  font-size: 0.65rem;
  color: var(--text-muted);
}

/* line 530, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-symbol {
  font-weight: 700;
  color: var(--accent-primary);
  font-size: var(--font-sm);
  min-width: 45px;
}

/* line 537, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-name {
  color: var(--text-primary);
  font-size: var(--font-sm);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 546, app/assets/stylesheets/stock_analysis.scss */
.sa-search-result-badge {
  font-size: 0.6rem;
  padding: 2px 7px;
  border-radius: var(--radius-full);
  font-weight: 600;
  white-space: nowrap;
}

/* line 553, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-analyzed {
  background: rgba(16, 185, 129, 0.12);
  color: #10b981;
}

/* line 557, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-db {
  background: rgba(var(--accent-primary-rgb), 0.1);
  color: var(--accent-primary);
}

/* line 561, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-new {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
}

/* line 566, app/assets/stylesheets/stock_analysis.scss */
.sa-search-empty {
  padding: 1.5rem;
  text-align: center;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* line 574, app/assets/stylesheets/stock_analysis.scss */
.sa-search-empty i {
  font-size: 0.8rem;
}

/* line 578, app/assets/stylesheets/stock_analysis.scss */
.sa-section {
  margin-bottom: 2rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding: 2rem;
}

/* line 579, app/assets/stylesheets/stock_analysis.scss */
.sa-section-compact {
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

/* line 581, app/assets/stylesheets/stock_analysis.scss */
.sa-section-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(var(--accent-primary-rgb), 0.12);
  color: var(--accent-primary);
  font-size: 0.65rem;
  font-weight: 800;
  margin-bottom: 0.35rem;
}

/* line 595, app/assets/stylesheets/stock_analysis.scss */
.sa-section-title {
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--text-primary);
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 605, app/assets/stylesheets/stock_analysis.scss */
.sa-section-title i {
  color: var(--accent-primary);
  font-size: 0.85rem;
}

/* line 609, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-hero {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
}

/* line 621, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-text {
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: 1rem;
}

/* line 627, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-val {
  color: var(--text-primary);
}

/* line 628, app/assets/stylesheets/stock_analysis.scss */
.sa-overvalued {
  color: var(--color-danger);
  font-weight: 700;
}

/* line 629, app/assets/stylesheets/stock_analysis.scss */
.sa-undervalued {
  color: var(--color-success);
  font-weight: 700;
}

/* line 631, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-methods {
  margin-top: 0.75rem;
}

/* line 634, app/assets/stylesheets/stock_analysis.scss */
.sa-methods-label {
  display: block;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-weight: 600;
}

/* line 643, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badges {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

/* line 648, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.9rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  font-size: 0.8rem;
  color: var(--text-secondary);
  transition: border-color 0.2s;
}

/* line 659, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badge i {
  color: var(--text-muted);
  font-size: 0.75rem;
}

/* line 660, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badge strong {
  color: var(--text-primary);
  margin-left: 0.2rem;
}

/* line 661, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badge:hover {
  border-color: var(--text-muted);
}

/* line 663, app/assets/stylesheets/stock_analysis.scss */
.sa-method-dcf {
  border-left: 3px solid #3b82f6;
}

/* line 664, app/assets/stylesheets/stock_analysis.scss */
.sa-method-multiples {
  border-left: 3px solid #8b5cf6;
}

/* line 665, app/assets/stylesheets/stock_analysis.scss */
.sa-method-analyst {
  border-left: 3px solid #f59e0b;
}

/* line 668, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-card {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
}

/* line 674, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-card-header {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}

/* line 682, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-card-price {
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}

/* line 687, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-card-price small {
  font-size: 0.9rem;
  color: var(--text-muted);
  font-weight: 500;
}

/* line 689, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-bar {
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin-bottom: 1rem;
}

/* line 694, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-overvalued {
  background: linear-gradient(90deg, #ef4444, #f87171);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 698, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-overvalued span {
  font-size: 0.7rem;
  font-weight: 800;
  color: white;
  letter-spacing: 0.5px;
}

/* line 700, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-undervalued {
  background: linear-gradient(90deg, #10b981, #34d399);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 704, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-undervalued span {
  font-size: 0.7rem;
  font-weight: 800;
  color: white;
  letter-spacing: 0.5px;
}

/* line 706, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-danger {
  background: linear-gradient(90deg, #dc2626, #ef4444);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 710, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-danger span {
  font-size: 0.7rem;
  font-weight: 800;
  color: white;
  letter-spacing: 0.5px;
}

/* line 712, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-strong-undervalued {
  background: linear-gradient(90deg, #059669, #10b981);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 716, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-strong-undervalued span {
  font-size: 0.7rem;
  font-weight: 800;
  color: white;
  letter-spacing: 0.5px;
}

/* line 719, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-row {
  display: flex;
  justify-content: space-between;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 724, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-row:last-child {
  border-bottom: none;
}

/* line 726, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-separator {
  height: 1px;
  background: var(--border-color);
  margin: 0.3rem 0;
}

/* line 732, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-detail .sa-ip-label {
  font-size: 0.72rem;
  opacity: 0.7;
}

/* line 733, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-detail .sa-ip-value {
  font-size: 0.78rem;
  font-weight: 600;
}

/* line 735, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-label {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* line 736, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-value {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 737, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-intrinsic {
  color: #3b82f6;
}

/* line 740, app/assets/stylesheets/stock_analysis.scss */
.sa-scenarios-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

/* line 747, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-card {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 1.2rem;
  transition: all 0.2s;
}

/* line 755, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-primary {
  background: var(--bg-card);
  border: 2px solid rgba(59, 130, 246, 0.4);
  box-shadow: 0 4px 20px rgba(59, 130, 246, 0.1);
  transform: scale(1.02);
}

/* line 762, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 768, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-header i {
  font-size: 0.85rem;
}

/* line 769, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-header .sa-scenario-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 775, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-header .sa-scenario-tag {
  margin-left: auto;
  font-size: 0.6rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 789, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bull .sa-scenario-header i {
  color: #10b981;
}

/* line 790, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bull .sa-scenario-header .sa-scenario-label {
  color: #10b981;
}

/* line 794, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-base .sa-scenario-header i {
  color: #3b82f6;
}

/* line 795, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-base .sa-scenario-header .sa-scenario-label {
  color: #3b82f6;
}

/* line 799, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bear .sa-scenario-header i {
  color: #f59e0b;
}

/* line 800, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bear .sa-scenario-header .sa-scenario-label {
  color: #f59e0b;
}

/* line 803, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-price {
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--text-primary);
  margin-bottom: 0.6rem;
}

/* line 808, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-price small {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 500;
}

/* line 810, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-primary .sa-scenario-price {
  font-size: 2rem;
}

/* line 815, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bar {
  border-radius: var(--radius-sm);
  overflow: hidden;
}

/* line 820, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-current-price {
  margin-top: 0.6rem;
  font-size: 0.75rem;
  color: var(--text-muted);
  text-align: center;
}

/* line 828, app/assets/stylesheets/stock_analysis.scss */
.sa-scores-duo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 835, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  padding: 1.25rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 841, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-card:hover {
  border-color: rgba(var(--accent-primary-rgb), 0.2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* line 844, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-header {
  margin-bottom: 0.75rem;
}

/* line 846, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-header h3 {
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--text-primary);
  margin: 0;
}

/* line 847, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-header .sa-score-hero-sub {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 850, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 857, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
}

/* line 862, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0;
  font-size: 0.82rem;
  color: var(--text-secondary);
}

/* line 869, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist li i {
  font-size: 0.7rem;
}

/* line 870, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist li.pass i {
  color: var(--color-success);
}

/* line 871, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist li.fail i {
  color: var(--color-danger);
}

/* line 875, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-number {
  text-align: center;
  flex-shrink: 0;
}

/* line 879, app/assets/stylesheets/stock_analysis.scss */
.sa-score-big {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
}

/* line 885, app/assets/stylesheets/stock_analysis.scss */
.sa-score-of {
  font-size: 0.85rem;
  color: var(--text-muted);
  font-weight: 400;
}

/* line 890, app/assets/stylesheets/stock_analysis.scss */
.sa-score-label-below {
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 0.25rem;
  line-height: 1.3;
}

/* line 901, app/assets/stylesheets/stock_analysis.scss */
.sa-scores-row {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}

/* line 907, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  flex: 1;
  min-width: 200px;
}

/* line 918, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring {
  position: relative;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}

/* line 923, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 924, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 4;
}

/* line 925, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-fill {
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  transition: stroke-dasharray 1s ease;
}

/* line 926, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-good {
  stroke: var(--color-success);
}

/* line 927, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-neutral {
  stroke: var(--color-warning);
}

/* line 928, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-bad {
  stroke: var(--color-danger);
}

/* line 929, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .sa-score-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* line 930, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .sa-score-number {
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1;
}

/* line 931, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .sa-score-max {
  font-size: 0.5rem;
  color: var(--text-muted);
}

/* line 933, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 934, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 935, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-desc {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 938, app/assets/stylesheets/stock_analysis.scss */
.sa-company-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 946, app/assets/stylesheets/stock_analysis.scss */
.sa-company-identity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 950, app/assets/stylesheets/stock_analysis.scss */
.sa-company-identity h3 {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text-primary);
  margin: 0;
}

/* line 952, app/assets/stylesheets/stock_analysis.scss */
.sa-company-logo {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  object-fit: contain;
  background: #1a1f2e;
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 953, app/assets/stylesheets/stock_analysis.scss */
.sa-company-exchange {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* line 954, app/assets/stylesheets/stock_analysis.scss */
.sa-company-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 955, app/assets/stylesheets/stock_analysis.scss */
.sa-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-full);
  font-size: 0.72rem;
  color: var(--text-secondary);
  font-weight: 500;
}

/* line 966, app/assets/stylesheets/stock_analysis.scss */
.sa-badge i {
  font-size: 0.6rem;
  color: var(--text-muted);
}

/* line 969, app/assets/stylesheets/stock_analysis.scss */
.sa-price-kpi-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

/* line 975, app/assets/stylesheets/stock_analysis.scss */
.sa-price-kpi {
  padding: 0.75rem 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  min-width: 100px;
  flex: 1;
}

/* line 983, app/assets/stylesheets/stock_analysis.scss */
.sa-price-kpi-label {
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 0.15rem;
}

/* line 984, app/assets/stylesheets/stock_analysis.scss */
.sa-price-kpi-value {
  font-size: 1.3rem;
  font-weight: 900;
  color: var(--text-primary);
}

/* line 987, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-card {
  padding: 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
}

/* line 992, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-card h4 {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 1rem;
}

/* line 992, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-card h4 i {
  color: var(--accent-primary);
  margin-right: 0.4rem;
}

/* line 994, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-grid {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

/* line 995, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-item {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 996, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-label {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* line 997, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-value {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 998, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-change {
  font-size: 0.82rem;
  font-weight: 700;
}

/* line 1000, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-change.positive {
  color: var(--color-success);
}

/* line 1001, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-change.negative {
  color: var(--color-danger);
}

/* line 1003, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-range {
  flex: 1;
  min-width: 200px;
}

/* line 1004, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-range-bar {
  position: relative;
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: visible;
  margin-bottom: 0.4rem;
}

/* line 1012, app/assets/stylesheets/stock_analysis.scss */
.sa-range-fill {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-full);
  background: linear-gradient(90deg, #ef4444 0%, #f59e0b 40%, #10b981 100%);
}

/* line 1013, app/assets/stylesheets/stock_analysis.scss */
.sa-range-current {
  position: absolute;
  top: -4px;
  width: 16px;
  height: 16px;
  background: var(--text-primary);
  border: 3px solid var(--bg-card);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* line 1023, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-range-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 1026, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai {
  background: linear-gradient(135deg, rgba(var(--accent-primary-rgb), 0.04) 0%, rgba(99, 102, 241, 0.02) 100%);
  border: 1px solid rgba(var(--accent-primary-rgb), 0.1);
  border-radius: var(--radius-xl);
  padding: 1.5rem;
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

/* line 1034, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .card-ai-signal-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

/* line 1042, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .card-ai-reasoning {
  margin-bottom: 0.5rem;
}

/* line 1046, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block {
  background: rgba(15, 23, 42, 0.8);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 1053, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block .reasoning-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--accent-primary);
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1065, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block .reasoning-text {
  font-size: 0.85rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

/* line 1072, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.daily {
  background: rgba(0, 180, 216, 0.1);
  border-left: 3px solid #00b4d8;
}

/* line 1075, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.daily .reasoning-label {
  color: #00b4d8;
}

/* line 1078, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement {
  background: linear-gradient(135deg, rgba(255, 152, 0, 0.08) 0%, rgba(255, 87, 34, 0.08) 100%);
  border: 1px solid rgba(255, 152, 0, 0.25);
  margin-top: 0.5rem;
}

/* line 1083, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

/* line 1088, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-header .disagreement-icon {
  font-size: 1rem;
}

/* line 1089, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-header .disagreement-title {
  color: #ff9800;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1098, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* line 1106, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-badges {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* line 1113, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* line 1117, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-label {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

/* line 1118, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value {
  font-weight: 600;
  font-size: 0.8rem;
  padding: 2px 8px;
  border-radius: 4px;
}

/* line 1123, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.up, .sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.bullish {
  color: #10b981;
  background: rgba(16, 185, 129, 0.15);
}

/* line 1124, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.down, .sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.bearish {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.15);
}

/* line 1125, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value .conf {
  font-weight: 400;
  font-size: 0.7rem;
  margin-left: 2px;
  color: var(--text-muted);
}

/* line 1129, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-reasoning .reasoning-text {
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}

/* line 1137, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 1142, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
}

/* line 1152, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .section-title i {
  color: var(--accent-primary);
}

/* line 1155, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-blocks-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

@media (max-width: 768px) {
  /* line 1155, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-ai .complementary-info-section .info-blocks-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1162, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  padding: 0.75rem;
  border-left: 3px solid rgba(255, 255, 255, 0.2);
}

/* line 1168, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block .block-icon {
  font-size: 1rem;
  margin-right: 0.4rem;
}

/* line 1169, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block .block-title {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.7);
}

/* line 1176, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block .block-content {
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
  margin: 0.5rem 0 0 0;
}

/* line 1183, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.macro {
  border-left-color: #00b4d8;
}

/* line 1183, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.macro .block-title {
  color: #00b4d8;
}

/* line 1184, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.company {
  border-left-color: #818cf8;
}

/* line 1184, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.company .block-title {
  color: #818cf8;
}

/* line 1185, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.technical {
  border-left-color: #fbbf24;
}

/* line 1185, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.technical .block-title {
  color: #fbbf24;
}

/* line 1186, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.catalysts {
  border-left-color: #10b981;
}

/* line 1186, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.catalysts .block-title {
  color: #10b981;
}

/* line 1191, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  background: rgba(255, 171, 0, 0.08);
  border: 1px solid rgba(255, 171, 0, 0.3);
  border-radius: var(--radius-lg);
}

/* line 1200, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner > i {
  font-size: 1.3rem;
  color: #ffab00;
  flex-shrink: 0;
}

/* line 1201, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner div {
  flex: 1;
}

/* line 1202, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner strong {
  font-size: 0.85rem;
  color: var(--text-primary);
  display: block;
  margin-bottom: 2px;
}

/* line 1203, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner p {
  font-size: 0.78rem;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.5;
}

/* line 1204, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner .btn {
  flex-shrink: 0;
}

/* line 1207, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated {
  margin-top: 1rem;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 1207, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated i {
  margin-right: 0.3rem;
}

/* line 1210, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-row {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}

/* line 1216, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-item {
  padding: 0.75rem 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 150px;
}

/* line 1226, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-label {
  font-size: 0.65rem;
  color: var(--text-muted);
  text-transform: uppercase;
  font-weight: 600;
}

/* line 1227, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-value {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1228, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
}

/* line 1231, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-panel {
  margin-top: 1.25rem;
  padding: 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
}

/* line 1237, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-panel h4 {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 0.75rem;
}

/* line 1242, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-panel h4 i {
  color: var(--accent-primary);
  margin-right: 0.4rem;
}

/* line 1246, app/assets/stylesheets/stock_analysis.scss */
.sa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1rem;
}

/* line 1252, app/assets/stylesheets/stock_analysis.scss */
.sa-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(15, 20, 40, 0.95) 100%);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  text-decoration: none !important;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1264, app/assets/stylesheets/stock_analysis.scss */
.sa-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  opacity: 0;
  transition: opacity 0.3s;
}

/* line 1274, app/assets/stylesheets/stock_analysis.scss */
.sa-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(var(--accent-primary-rgb), 0.04) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

/* line 1284, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0, 212, 170, 0.12);
  border-color: rgba(var(--accent-primary-rgb), 0.3);
}

/* line 1288, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::before {
  opacity: 1;
}

/* line 1289, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::after {
  opacity: 1;
}

/* line 1293, app/assets/stylesheets/stock_analysis.scss */
.sa-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

/* line 1301, app/assets/stylesheets/stock_analysis.scss */
.sa-card-ident {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 1308, app/assets/stylesheets/stock_analysis.scss */
.sa-card-symbol {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1314, app/assets/stylesheets/stock_analysis.scss */
.sa-badge {
  font-size: 0.6rem;
  padding: 3px 8px;
  border-radius: var(--radius-full);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1322, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-complete {
  background: rgba(var(--accent-primary-rgb), 0.15);
  color: var(--accent-primary);
}

/* line 1323, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-warning {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

/* line 1324, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-error {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* line 1325, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-pending {
  background: rgba(148, 163, 184, 0.12);
  color: #94a3b8;
}

/* line 1328, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-section {
  position: relative;
}

/* line 1329, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

/* line 1332, app/assets/stylesheets/stock_analysis.scss */
.sa-vh-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0.4rem 0.75rem;
  border-radius: var(--radius-full);
}

/* line 1337, app/assets/stylesheets/stock_analysis.scss */
.sa-vh-badge strong {
  color: var(--text-primary);
  margin-left: 0.2rem;
}

/* line 1339, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-chart-container {
  position: relative;
  height: 280px;
  width: 100%;
  background: rgba(255, 255, 255, 0.02);
  border-radius: var(--radius-lg);
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 1344, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-legend {
  display: flex;
  gap: 1.5rem;
  margin-top: 0.75rem;
  justify-content: center;
}

/* line 1347, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.7rem;
  color: var(--text-secondary);
}

/* line 1351, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-dot {
  width: 10px;
  height: 3px;
  border-radius: 2px;
}

/* line 1354, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-price {
  background: rgba(16, 185, 129, 0.9);
}

/* line 1355, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-fair {
  background: rgba(148, 163, 184, 0.8);
  border-top: 1px dashed rgba(148, 163, 184, 0.8);
}

/* line 1358, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.35rem;
  cursor: help;
}

/* line 1365, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger > i {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.3);
  transition: color 0.2s;
}

/* line 1371, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover > i {
  color: var(--accent-primary);
}

/* line 1373, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger .sa-tooltip-content {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
  padding: 0.6rem 0.75rem;
  background: rgba(15, 20, 40, 0.97);
  border: 1px solid rgba(0, 212, 170, 0.25);
  border-radius: 8px;
  font-size: 0.68rem;
  font-weight: 400;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.85);
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

/* line 1395, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger .sa-tooltip-content::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(0, 212, 170, 0.25);
}

/* line 1406, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover .sa-tooltip-content {
  display: block;
}

/* line 1420, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-card:has(.sa-tooltip-trigger:hover),
.sa-card:has(.sa-tooltip-trigger:hover),
.sa-score-card-compact:has(.sa-tooltip-trigger:hover),
.sa-scenario-card:has(.sa-tooltip-trigger:hover),
.sa-scenario-bar:has(.sa-tooltip-trigger:hover),
.sa-intrinsic-bar:has(.sa-tooltip-trigger:hover),
.sa-ai-text:has(.sa-tooltip-trigger:hover),
.sa-peer-card:has(.sa-tooltip-trigger:hover),
.sa-loading-card:has(.sa-tooltip-trigger:hover),
.sa-loading-progress-track:has(.sa-tooltip-trigger:hover) {
  overflow: visible !important;
}

/* line 1425, app/assets/stylesheets/stock_analysis.scss */
.sa-section-title .sa-tooltip-trigger {
  vertical-align: middle;
}

/* line 1426, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-pill .sa-tooltip-trigger .sa-tooltip-content,
.sa-method-badge .sa-tooltip-trigger .sa-tooltip-content {
  left: 0;
  transform: translateX(0);
}

/* line 1430, app/assets/stylesheets/stock_analysis.scss */
.sa-kpi-pill .sa-tooltip-trigger .sa-tooltip-content::after,
.sa-method-badge .sa-tooltip-trigger .sa-tooltip-content::after {
  left: 12px;
}

/* line 1432, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-card .sa-tooltip-trigger .sa-tooltip-content {
  width: 220px;
}

@media (max-width: 768px) {
  /* line 1437, app/assets/stylesheets/stock_analysis.scss */
  .sa-tooltip-trigger .sa-tooltip-content {
    width: 200px;
    font-size: 0.63rem;
  }
}

/* line 1443, app/assets/stylesheets/stock_analysis.scss */
.sa-toc-help {
  margin-top: 1rem;
  padding: 0.5rem 0.6rem;
  background: rgba(0, 212, 170, 0.06);
  border: 1px solid rgba(0, 212, 170, 0.15);
  border-radius: 6px;
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
}

/* line 1452, app/assets/stylesheets/stock_analysis.scss */
.sa-toc-help i {
  color: var(--accent-primary);
  margin-right: 0.3rem;
}

/* line 1455, app/assets/stylesheets/stock_analysis.scss */
.sa-card-name {
  color: var(--text-secondary);
  font-size: 0.8rem;
  margin-bottom: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1464, app/assets/stylesheets/stock_analysis.scss */
.sa-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 1471, app/assets/stylesheets/stock_analysis.scss */
.sa-card-sector {
  font-size: 0.65rem;
  color: var(--text-muted);
  background: var(--bg-tertiary);
  padding: 2px 6px;
  border-radius: var(--radius-xs);
}

/* line 1479, app/assets/stylesheets/stock_analysis.scss */
.sa-card-price {
  font-weight: 700;
  color: var(--text-primary);
  font-size: var(--font-sm);
}

/* line 1485, app/assets/stylesheets/stock_analysis.scss */
.sa-card-scores {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 1491, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 1496, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-label {
  font-size: 0.6rem;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* line 1497, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value {
  font-size: var(--font-sm);
  font-weight: 700;
}

/* line 1499, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-good {
  color: var(--color-success);
}

/* line 1500, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-neutral {
  color: var(--color-warning);
}

/* line 1501, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-bad {
  color: var(--color-danger);
}

/* line 1504, app/assets/stylesheets/stock_analysis.scss */
.sa-card-footer {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-color);
}

/* line 1510, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated {
  font-size: 0.65rem;
  color: var(--text-muted);
}

/* line 1510, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated i {
  margin-right: 3px;
}

/* line 1513, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section {
  margin-bottom: 1.5rem;
}

/* line 1515, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section .sa-section-title i {
  color: #f59e0b;
}

/* line 1518, app/assets/stylesheets/stock_analysis.scss */
.sa-section-subtitle {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--text-muted);
  margin-left: 0.5rem;
}

/* line 1525, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.75rem;
}

/* line 1531, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 0.9rem 1rem;
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(15, 20, 40, 0.95) 100%);
  border: 1px solid rgba(245, 158, 11, 0.15);
  border-radius: var(--radius-lg);
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1542, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-card:hover {
  transform: translateY(-2px);
  border-color: rgba(245, 158, 11, 0.35);
  box-shadow: 0 8px 24px rgba(245, 158, 11, 0.08);
}

/* line 1549, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1555, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-logo {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: contain;
}

/* line 1562, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-identity {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

/* line 1569, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-symbol {
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1575, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-name {
  font-size: 0.65rem;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1583, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-price {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-secondary);
  margin-left: auto;
}

/* line 1590, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 1596, app/assets/stylesheets/stock_analysis.scss */
.sa-metric {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
  border: 1px solid transparent;
}

/* line 1606, app/assets/stylesheets/stock_analysis.scss */
.sa-metric.sa-metric-good {
  background: rgba(16, 185, 129, 0.1);
  color: #34d399;
  border-color: rgba(16, 185, 129, 0.2);
}

/* line 1612, app/assets/stylesheets/stock_analysis.scss */
.sa-metric.sa-metric-ok {
  background: rgba(245, 158, 11, 0.08);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.15);
}

/* line 1618, app/assets/stylesheets/stock_analysis.scss */
.sa-metric.sa-metric-bad {
  background: rgba(239, 68, 68, 0.08);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.15);
}

/* line 1625, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-label {
  opacity: 0.7;
}

/* line 1629, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-value {
  font-weight: 800;
}

/* line 1634, app/assets/stylesheets/stock_analysis.scss */
.sa-empty {
  text-align: center;
  padding: 4rem 2rem;
  color: var(--text-muted);
}

/* line 1638, app/assets/stylesheets/stock_analysis.scss */
.sa-empty i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.2;
}

/* line 1639, app/assets/stylesheets/stock_analysis.scss */
.sa-empty h3 {
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
}

/* line 1643, app/assets/stylesheets/stock_analysis.scss */
.sa-show-symbol {
  font-weight: 800;
  color: var(--text-primary);
  margin: 0;
}

/* line 1644, app/assets/stylesheets/stock_analysis.scss */
.sa-show-name {
  color: var(--text-secondary);
  font-size: var(--font-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}

/* line 1645, app/assets/stylesheets/stock_analysis.scss */
.sa-show-exchange {
  font-size: 0.6rem;
  color: var(--text-muted);
  background: var(--bg-tertiary);
  padding: 2px 7px;
  border-radius: var(--radius-xs);
}

/* line 1646, app/assets/stylesheets/stock_analysis.scss */
.sa-price-value {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1648, app/assets/stylesheets/stock_analysis.scss */
.sa-refresh-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1.1rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  font-size: var(--font-sm);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1662, app/assets/stylesheets/stock_analysis.scss */
.sa-refresh-btn:hover {
  background: var(--accent-primary);
  color: var(--text-inverse);
  border-color: var(--accent-primary);
}

/* line 1663, app/assets/stylesheets/stock_analysis.scss */
.sa-refresh-btn.sa-refresh-stale {
  border-color: var(--color-warning);
  color: var(--color-warning);
  animation: pulse-glow 2s infinite;
}

/* line 1664, app/assets/stylesheets/stock_analysis.scss */
.sa-refresh-btn.sa-refresh-stale:hover {
  background: var(--color-warning);
  color: var(--text-inverse);
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.3);
  }
  50% {
    box-shadow: 0 0 12px 3px rgba(245, 158, 11, 0.15);
  }
}

/* line 1674, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-overlay {
  margin-bottom: 2rem;
}

/* line 1676, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-card {
  text-align: center;
  padding: 3.5rem 2rem;
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(15, 20, 40, 0.95) 100%);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
}

/* line 1686, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
}

/* line 1695, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon {
  margin-bottom: 1rem;
}

/* line 1697, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
}

/* line 1700, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-error .sa-loading-icon i {
  color: var(--color-danger);
}

/* line 1701, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-title {
  font-size: var(--font-xl);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

/* line 1702, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-message {
  color: var(--text-secondary);
  font-size: var(--font-sm);
  margin-bottom: 1.5rem;
}

/* line 1704, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-progress-track {
  max-width: 340px;
  margin: 0 auto 0.75rem;
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 1713, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-progress-bar {
  height: 100%;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  border-radius: var(--radius-full);
  transition: width 0.5s ease;
  box-shadow: 0 0 8px rgba(0, 212, 170, 0.4);
}

/* line 1721, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-pct {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--accent-primary);
}

/* line 1724, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis {
  text-align: center;
  padding: 3.5rem 2rem;
  margin-bottom: 2rem;
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(15, 20, 40, 0.95) 100%);
  border: 1px dashed rgba(var(--accent-primary-rgb), 0.3);
  border-radius: var(--radius-xl);
}

/* line 1733, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon {
  margin-bottom: 1rem;
}

/* line 1733, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
  opacity: 0.5;
}

/* line 1734, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis h2 {
  font-size: var(--font-xl);
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

/* line 1735, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis p {
  color: var(--text-secondary);
  font-size: var(--font-sm);
}

/* line 1736, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-note {
  margin-top: 1rem;
  font-size: 0.7rem !important;
  color: var(--text-muted) !important;
}

/* line 1738, app/assets/stylesheets/stock_analysis.scss */
.sa-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  color: var(--text-inverse);
  border: none;
  border-radius: var(--radius-md);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  margin-top: 1rem;
  box-shadow: 0 4px 16px rgba(0, 212, 170, 0.3);
}

/* line 1753, app/assets/stylesheets/stock_analysis.scss */
.sa-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 212, 170, 0.4);
}

/* line 1755, app/assets/stylesheets/stock_analysis.scss */
.sa-btn-lg {
  padding: 0.9rem 2rem;
  font-size: var(--font-lg);
}

/* line 1758, app/assets/stylesheets/stock_analysis.scss */
.sa-nav-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 2rem;
  border-bottom: 2px solid var(--border-color);
  overflow-x: auto;
  scrollbar-width: none;
}

/* line 1765, app/assets/stylesheets/stock_analysis.scss */
.sa-nav-tabs::-webkit-scrollbar {
  display: none;
}

/* line 1768, app/assets/stylesheets/stock_analysis.scss */
.sa-tab {
  padding: 0.8rem 1.3rem;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  color: var(--text-muted);
  font-size: var(--font-sm);
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1781, app/assets/stylesheets/stock_analysis.scss */
.sa-tab:hover {
  color: var(--text-primary);
}

/* line 1782, app/assets/stylesheets/stock_analysis.scss */
.sa-tab.active {
  color: var(--accent-primary);
  border-bottom-color: var(--accent-primary);
  font-weight: 700;
  text-shadow: 0 0 12px rgba(var(--accent-primary-rgb), 0.3);
}

/* line 1790, app/assets/stylesheets/stock_analysis.scss */
.sa-tab-content {
  display: none;
}

/* line 1790, app/assets/stylesheets/stock_analysis.scss */
.sa-tab-content.active {
  display: block;
  animation: sa-fadeIn 0.3s ease;
}

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

/* line 1794, app/assets/stylesheets/stock_analysis.scss */
.sa-section-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.25rem;
}

/* line 1800, app/assets/stylesheets/stock_analysis.scss */
.sa-panel {
  position: relative;
  background: linear-gradient(145deg, rgba(26, 31, 58, 0.9) 0%, rgba(15, 20, 40, 0.95) 100%);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  overflow: hidden;
  backdrop-filter: blur(8px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1809, app/assets/stylesheets/stock_analysis.scss */
.sa-panel:hover {
  border-color: rgba(var(--accent-primary-rgb), 0.2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}

/* line 1815, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-wide {
  grid-column: 1 / -1;
}

/* line 1817, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border-color);
  background: rgba(255, 255, 255, 0.02);
}

/* line 1822, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-header h3 {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1830, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-header h3 i {
  color: var(--accent-primary);
  font-size: 0.85rem;
}

/* line 1834, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-body {
  padding: 1.5rem;
}

/* line 1837, app/assets/stylesheets/stock_analysis.scss */
.sa-scores-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 1.5rem;
  text-align: center;
}

/* line 1844, app/assets/stylesheets/stock_analysis.scss */
.sa-score-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

/* line 1851, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring {
  position: relative;
  width: 80px;
  height: 80px;
}

/* line 1856, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 1862, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 4;
}

/* line 1867, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-fill {
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  transition: stroke-dasharray 1s ease;
}

/* line 1873, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-good {
  stroke: var(--color-success);
  filter: drop-shadow(0 0 4px rgba(16, 185, 129, 0.4));
}

/* line 1874, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-neutral {
  stroke: var(--color-warning);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.4));
}

/* line 1875, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-bad {
  stroke: var(--color-danger);
  filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.4));
}

/* line 1878, app/assets/stylesheets/stock_analysis.scss */
.sa-score-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* line 1887, app/assets/stylesheets/stock_analysis.scss */
.sa-score-number {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1;
}

/* line 1888, app/assets/stylesheets/stock_analysis.scss */
.sa-score-max {
  font-size: 0.6rem;
  color: var(--text-muted);
  margin-top: 2px;
}

/* line 1889, app/assets/stylesheets/stock_analysis.scss */
.sa-score-label {
  font-size: 0.7rem;
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 1890, app/assets/stylesheets/stock_analysis.scss */
.sa-score-desc {
  font-size: 0.6rem;
  color: var(--text-muted);
}

/* line 1893, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1.25rem;
}

/* line 1899, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1907, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-label {
  font-size: 0.65rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 500;
}

/* line 1908, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 1911, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 1917, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 1924, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-label {
  font-size: var(--font-sm);
  color: var(--text-muted);
}

/* line 1925, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-value {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1928, app/assets/stylesheets/stock_analysis.scss */
.sa-target-visual {
  text-align: center;
}

/* line 1930, app/assets/stylesheets/stock_analysis.scss */
.sa-target-main {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

/* line 1938, app/assets/stylesheets/stock_analysis.scss */
.sa-target-consensus {
  font-size: 2rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1939, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside {
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 1941, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.positive {
  color: var(--color-success);
}

/* line 1942, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.negative {
  color: var(--color-danger);
}

/* line 1945, app/assets/stylesheets/stock_analysis.scss */
.sa-target-range {
  max-width: 280px;
  margin: 0 auto;
}

/* line 1946, app/assets/stylesheets/stock_analysis.scss */
.sa-target-bar {
  position: relative;
  height: 10px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  margin-bottom: 0.5rem;
  overflow: hidden;
}

/* line 1955, app/assets/stylesheets/stock_analysis.scss */
.sa-target-bar-fill {
  height: 100%;
  border-radius: var(--radius-full);
  background: linear-gradient(90deg, #ef4444 0%, #f59e0b 35%, #00d4aa 100%);
}

/* line 1961, app/assets/stylesheets/stock_analysis.scss */
.sa-target-bar-current {
  position: absolute;
  top: -3px;
  width: 16px;
  height: 16px;
  background: var(--text-primary);
  border-radius: 50%;
  transform: translateX(-50%);
  border: 3px solid var(--bg-card-solid);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* line 1971, app/assets/stylesheets/stock_analysis.scss */
.sa-target-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 1974, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
  text-align: center;
}

/* line 1981, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 1982, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-label {
  font-size: 0.65rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 1983, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1985, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.positive {
  color: var(--color-success);
}

/* line 1986, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.negative {
  color: var(--color-danger);
}

/* line 1989, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-verdict {
  text-align: center;
  margin-top: 1rem;
}

/* line 1990, app/assets/stylesheets/stock_analysis.scss */
.sa-verdict {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1.25rem;
  border-radius: var(--radius-full);
  font-size: var(--font-sm);
  font-weight: 700;
}

/* line 1999, app/assets/stylesheets/stock_analysis.scss */
.sa-verdict-buy {
  background: rgba(16, 185, 129, 0.12);
  color: var(--color-success);
  border: 1px solid rgba(16, 185, 129, 0.3);
}

/* line 2000, app/assets/stylesheets/stock_analysis.scss */
.sa-verdict-fair {
  background: rgba(245, 158, 11, 0.12);
  color: var(--color-warning);
  border: 1px solid rgba(245, 158, 11, 0.3);
}

/* line 2001, app/assets/stylesheets/stock_analysis.scss */
.sa-verdict-sell {
  background: rgba(239, 68, 68, 0.12);
  color: var(--color-danger);
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* line 2004, app/assets/stylesheets/stock_analysis.scss */
.sa-table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-color);
  max-width: 100%;
}

/* line 2012, app/assets/stylesheets/stock_analysis.scss */
.sa-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

/* line 2017, app/assets/stylesheets/stock_analysis.scss */
.sa-table th, .sa-table td {
  padding: 0.7rem 0.9rem;
  text-align: right;
}

/* line 2020, app/assets/stylesheets/stock_analysis.scss */
.sa-table th:first-child, .sa-table td:first-child {
  text-align: left;
  position: sticky;
  left: 0;
  background: var(--bg-card-solid);
  z-index: 1;
  padding-left: 1rem;
}

/* line 2030, app/assets/stylesheets/stock_analysis.scss */
.sa-table thead th {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid var(--border-color);
  white-space: nowrap;
}

/* line 2041, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
  transition: background 0.15s;
}

/* line 2045, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:last-child {
  border-bottom: none;
}

/* line 2046, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:hover {
  background: rgba(var(--accent-primary-rgb), 0.03);
}

/* line 2050, app/assets/stylesheets/stock_analysis.scss */
.sa-td-label {
  font-weight: 500;
  color: var(--text-secondary);
  white-space: nowrap;
}

/* line 2051, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value {
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 2053, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.positive {
  color: var(--color-success);
}

/* line 2054, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.negative {
  color: var(--color-danger);
}

/* line 2056, app/assets/stylesheets/stock_analysis.scss */
.sa-td-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
  max-width: 140px;
}

/* line 2059, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-bars {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

/* line 2060, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-divider {
  height: 1px;
  background: var(--border-color);
  margin: 0.5rem 0;
}

/* line 2062, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 2063, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 2064, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 500;
}

/* line 2065, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value {
  font-size: var(--font-sm);
  font-weight: 800;
}

/* line 2067, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.positive {
  color: var(--color-success);
}

/* line 2068, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.negative {
  color: var(--color-danger);
}

/* line 2071, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-track {
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
  position: relative;
}

/* line 2079, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-fill {
  height: 100%;
  border-radius: var(--radius-full);
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2083, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-fill.positive {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  box-shadow: 0 0 6px rgba(0, 212, 170, 0.3);
}

/* line 2084, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-fill.negative {
  background: linear-gradient(90deg, #ef4444, #f97316);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.3);
}

/* line 2088, app/assets/stylesheets/stock_analysis.scss */
.sa-peers-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 2089, app/assets/stylesheets/stock_analysis.scss */
.sa-peer-chip {
  display: inline-block;
  padding: 0.4rem 0.9rem;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-full);
  color: var(--text-primary) !important;
  font-size: var(--font-sm);
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2100, app/assets/stylesheets/stock_analysis.scss */
.sa-peer-chip:hover {
  background: var(--accent-primary);
  color: var(--text-inverse) !important;
  border-color: var(--accent-primary);
  transform: translateY(-1px);
}

/* line 2104, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper {
  position: relative;
  height: 260px;
  width: 100%;
}

/* line 2108, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 2112, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
}

/* line 2118, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item {
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2123, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
}

/* line 2124, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 500;
}

/* line 2125, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-value {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 2126, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-bottom: 6px;
}

/* line 2127, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-bar {
  margin-top: 6px;
}

/* line 2129, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-track {
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2136, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill {
  height: 100%;
  border-radius: var(--radius-full);
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2140, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-cheap {
  background: linear-gradient(90deg, #10b981, #34d399);
}

/* line 2141, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-fair {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

/* line 2142, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-expensive {
  background: linear-gradient(90deg, #ef4444, #f87171);
}

/* line 2145, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.6rem;
  color: var(--text-muted);
  margin-top: 3px;
}

/* line 2154, app/assets/stylesheets/stock_analysis.scss */
.sa-health-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 2rem;
}

/* line 2160, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric {
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2161, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

/* line 2162, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 500;
}

/* line 2163, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-value {
  font-size: var(--font-sm);
  font-weight: 800;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 2165, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-track {
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2172, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-fill {
  height: 100%;
  border-radius: var(--radius-full);
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2176, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-fill.gauge-good {
  background: linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);
  box-shadow: 0 0 6px rgba(0, 212, 170, 0.3);
}

/* line 2177, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-fill.gauge-neutral {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.3);
}

/* line 2178, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-fill.gauge-bad {
  background: linear-gradient(90deg, #ef4444, #f87171);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.3);
}

/* line 2182, app/assets/stylesheets/stock_analysis.scss */
.sa-footer-info {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
  font-size: 0.7rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 2194, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6rem 1rem;
  margin-bottom: 0.75rem;
  background: rgba(var(--accent-primary-rgb), 0.06);
  border: 1px solid rgba(var(--accent-primary-rgb), 0.2);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--accent-primary);
}

/* line 2206, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-scores {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

/* line 2207, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-pill {
  font-size: 0.75rem;
  color: var(--text-secondary);
  padding: 0.3rem 0.6rem;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 2214, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-pill strong {
  color: var(--text-primary);
  margin-left: 0.25rem;
  font-size: 0.8rem;
}

/* line 2220, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--accent-primary) !important;
  text-decoration: none !important;
  white-space: nowrap;
  padding: 0.3rem 0.7rem;
  border-radius: var(--radius-sm);
  transition: background 0.2s;
}

/* line 2229, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link i {
  margin-right: 0.3rem;
  font-size: 0.65rem;
}

/* line 2230, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link:hover {
  text-decoration: none !important;
  background: rgba(var(--accent-primary-rgb), 0.1);
}

/* line 2236, app/assets/stylesheets/stock_analysis.scss */
.fund-col-analysis-link {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-color);
}

/* line 2242, app/assets/stylesheets/stock_analysis.scss */
.sa-full-analysis-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  background: rgba(var(--accent-primary-rgb), 0.08);
  border: 1px solid rgba(var(--accent-primary-rgb), 0.25);
  border-radius: var(--radius-sm);
  color: var(--accent-primary) !important;
  font-size: 0.7rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2255, app/assets/stylesheets/stock_analysis.scss */
.sa-full-analysis-btn:hover {
  background: var(--accent-primary);
  color: var(--text-inverse) !important;
  border-color: var(--accent-primary);
}

/* line 2256, app/assets/stylesheets/stock_analysis.scss */
.sa-full-analysis-btn i {
  font-size: 0.6rem;
}

/* line 2259, app/assets/stylesheets/stock_analysis.scss */
.opp-tag-analysis {
  background: rgba(var(--accent-primary-rgb), 0.08) !important;
  border: 1px solid rgba(var(--accent-primary-rgb), 0.25) !important;
  color: var(--accent-primary) !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2266, app/assets/stylesheets/stock_analysis.scss */
.opp-tag-analysis:hover {
  background: var(--accent-primary) !important;
  color: var(--text-inverse) !important;
}

@media (max-width: 768px) {
  /* line 2271, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-compact {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2272, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-kpis {
    width: 100%;
  }
  /* line 2273, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2274, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range-mini {
    max-width: 100%;
  }
  /* line 2275, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-compact {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2276, app/assets/stylesheets/stock_analysis.scss */
  .stock-analysis-page {
    padding: 0 0.5rem;
  }
  /* line 2278, app/assets/stylesheets/stock_analysis.scss */
  .stock-analysis-page .dashboard-header .header-left .btn-ghost {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 50%;
    font-size: 0.85rem;
    color: var(--text-secondary);
    flex-shrink: 0;
  }
  /* line 2292, app/assets/stylesheets/stock_analysis.scss */
  .sa-layout-with-toc {
    display: block;
  }
  /* line 2293, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.25rem;
    width: 100%;
  }
  /* line 2294, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-hero {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  /* line 2295, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenarios-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2296, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenario-primary {
    transform: none;
  }
  /* line 2297, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-duo {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2298, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-card {
    padding: 1rem;
  }
  /* line 2299, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-body {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
  }
  /* line 2300, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-row {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2301, app/assets/stylesheets/stock_analysis.scss */
  .sa-mini-score-card {
    min-width: auto;
    padding: 0.75rem 1rem;
  }
  /* line 2302, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: 1fr;
  }
  /* line 2303, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: 1fr;
  }
  /* line 2304, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 2305, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-card {
    padding: 0.75rem;
  }
  /* line 2306, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2307, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  /* line 2308, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 64px;
    height: 64px;
  }
  /* line 2309, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-number {
    font-size: 1rem;
  }
  /* line 2310, app/assets/stylesheets/stock_analysis.scss */
  .sa-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2311, app/assets/stylesheets/stock_analysis.scss */
  .sa-show-name {
    max-width: 100px;
  }
  /* line 2312, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 180px;
  }
  /* line 2313, app/assets/stylesheets/stock_analysis.scss */
  .sa-valuation-grid {
    grid-template-columns: 1fr;
  }
  /* line 2314, app/assets/stylesheets/stock_analysis.scss */
  .sa-health-grid {
    grid-template-columns: 1fr;
  }
  /* line 2315, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    gap: 0.5rem;
  }
  /* line 2316, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi {
    min-width: auto;
    padding: 0.6rem 0.75rem;
  }
  /* line 2317, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2318, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-ai {
    margin-left: 0;
    margin-right: 0;
    padding: 1rem;
  }
  /* line 2319, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-title {
    font-size: 1rem;
  }
  /* line 2320, app/assets/stylesheets/stock_analysis.scss */
  .sa-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
  }
  /* line 2321, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-hero {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2322, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-badges {
    gap: 0.35rem;
  }
  /* line 2323, app/assets/stylesheets/stock_analysis.scss */
  .sa-badge {
    font-size: 0.65rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 2324, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-grid {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2325, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range {
    min-width: auto;
    width: 100%;
  }
  /* line 2326, app/assets/stylesheets/stock_analysis.scss */
  .sa-yield-row {
    flex-direction: column;
    gap: 0.75rem;
  }
}

@media (max-width: 480px) {
  /* line 2330, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2331, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 56px;
    height: 56px;
  }
  /* line 2332, app/assets/stylesheets/stock_analysis.scss */
  .sa-table {
    font-size: 0.75rem;
  }
  /* line 2332, app/assets/stylesheets/stock_analysis.scss */
  .sa-table th, .sa-table td {
    padding: 0.5rem;
  }
  /* line 2333, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 160px;
  }
  /* line 2334, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: 1fr;
  }
  /* line 2335, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-card-price {
    font-size: 1.4rem;
  }
  /* line 2336, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-big {
    font-size: 2rem;
  }
  /* line 2337, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    flex-wrap: wrap;
  }
  /* line 2338, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi {
    flex: 0 0 calc(50% - 0.25rem);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  /* line 2342, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.75rem;
  }
  /* line 2343, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
  /* line 2344, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2345, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* line 2, app/assets/stylesheets/reviews.scss */
.review-page-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 40px 16px;
}

/* line 9, app/assets/stylesheets/reviews.scss */
.review-card {
  width: 100%;
  max-width: 520px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 40px 32px;
}

/* line 18, app/assets/stylesheets/reviews.scss */
.review-card-header {
  text-align: center;
  margin-bottom: 32px;
}

/* line 22, app/assets/stylesheets/reviews.scss */
.review-card-header .review-emoji {
  font-size: 48px;
  margin-bottom: 16px;
}

/* line 27, app/assets/stylesheets/reviews.scss */
.review-card-header h3 {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
}

/* line 34, app/assets/stylesheets/reviews.scss */
.review-card-header p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
  line-height: 1.5;
}

/* line 42, app/assets/stylesheets/reviews.scss */
.review-error {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 24px;
}

/* line 49, app/assets/stylesheets/reviews.scss */
.review-error p {
  margin: 0;
  color: #ef4444;
  font-size: 13px;
}

/* line 57, app/assets/stylesheets/reviews.scss */
.review-stars-section {
  display: flex;
  justify-content: center;
  gap: 16px;
  padding: 20px 0 32px;
}

/* line 64, app/assets/stylesheets/reviews.scss */
.review-star-label {
  cursor: pointer;
  display: inline-flex;
  position: relative;
}

/* line 70, app/assets/stylesheets/reviews.scss */
.review-star-radio {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* line 78, app/assets/stylesheets/reviews.scss */
.review-star-icon {
  font-size: 40px;
  color: rgba(255, 255, 255, 0.15);
  transition: color 0.2s ease, transform 0.2s ease;
}

/* line 83, app/assets/stylesheets/reviews.scss */
.review-star-icon:hover {
  transform: scale(1.2);
  color: rgba(245, 166, 35, 0.5);
}

/* line 89, app/assets/stylesheets/reviews.scss */
.review-star-icon.active {
  color: #f5a623 !important;
  transform: scale(1.1);
}

/* line 95, app/assets/stylesheets/reviews.scss */
.review-body-section {
  margin-bottom: 28px;
  position: relative;
}

/* line 100, app/assets/stylesheets/reviews.scss */
.review-body-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 10px;
}

/* line 108, app/assets/stylesheets/reviews.scss */
.review-textarea {
  width: 100%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 14px 16px;
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  resize: vertical;
  min-height: 100px;
  transition: border-color 0.2s ease;
}

/* line 121, app/assets/stylesheets/reviews.scss */
.review-textarea::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

/* line 125, app/assets/stylesheets/reviews.scss */
.review-textarea:focus {
  outline: none;
  border-color: rgba(245, 166, 35, 0.4);
}

/* line 131, app/assets/stylesheets/reviews.scss */
.review-char-count {
  position: absolute;
  bottom: 10px;
  right: 14px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
}

/* line 140, app/assets/stylesheets/reviews.scss */
.review-submit-section {
  text-align: center;
}

/* line 144, app/assets/stylesheets/reviews.scss */
.review-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 14px 32px;
  background: linear-gradient(135deg, #f5a623 0%, #e8850c 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* line 159, app/assets/stylesheets/reviews.scss */
.review-submit-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* line 164, app/assets/stylesheets/reviews.scss */
.review-submit-btn:active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  /* line 170, app/assets/stylesheets/reviews.scss */
  .review-page-wrapper {
    padding: 24px 12px;
  }
  /* line 174, app/assets/stylesheets/reviews.scss */
  .review-card {
    padding: 28px 20px;
  }
  /* line 178, app/assets/stylesheets/reviews.scss */
  .review-star-icon {
    font-size: 36px;
  }
  /* line 182, app/assets/stylesheets/reviews.scss */
  .review-stars-section {
    gap: 12px;
  }
}
.launch-promo-banner {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: #fff;
  padding: 0.65rem 1rem;
  position: relative;
  z-index: 1040;
  font-size: 0.9rem;
  line-height: 1.4;
}

.launch-promo-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  max-width: 960px;
  margin: 0 auto;
  padding-right: 2rem;
  flex-wrap: wrap;
}

.launch-promo-icon {
  font-size: 1.1rem;
  flex-shrink: 0;
}

.launch-promo-text {
  text-align: center;
}

.launch-promo-code {
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 6px;
  padding: 0.15rem 0.6rem;
  font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.2s ease;
  user-select: all;
}

.launch-promo-code:hover {
  background: rgba(255, 255, 255, 0.35);
}

.launch-promo-cta {
  display: inline-block;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  color: #fff !important;
  font-weight: 600;
  font-size: 0.82rem;
  padding: 0.35rem 0.9rem;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s ease, transform 0.15s ease;
  flex-shrink: 0;
}

.launch-promo-cta:hover {
  background: rgba(255, 255, 255, 0.28);
  transform: translateY(-1px);
}

.launch-promo-close {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.3rem;
  cursor: pointer;
  padding: 0.2rem 0.5rem;
  line-height: 1;
  transition: color 0.2s ease;
}

.launch-promo-close:hover {
  color: #fff;
}

/* Light mode */
[data-theme="light"] .launch-promo-banner {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

/* Tablet */
@media (max-width: 768px) {
  .launch-promo-banner {
    padding: 0.6rem 0.75rem;
    font-size: 0.82rem;
  }

  .launch-promo-content {
    gap: 0.4rem;
  }

  .launch-promo-code {
    font-size: 0.78rem;
    padding: 0.1rem 0.45rem;
  }
}

/* Webview: account for notch */
.webview-mode .launch-promo-banner {
  padding-top: calc(env(safe-area-inset-top, 0px) + 0.65rem);
}

/* Mobile */
@media (max-width: 480px) {
  .launch-promo-banner {
    padding: 0.5rem 0.6rem;
    font-size: 0.75rem;
  }

  .launch-promo-content {
    flex-direction: column;
    gap: 0.35rem;
    padding-right: 1.5rem;
  }

  .launch-promo-icon {
    display: none;
  }

  .launch-promo-cta {
    font-size: 0.75rem;
    padding: 0.3rem 0.7rem;
  }
}
/*
 * Master stylesheet bundle — loads all CSS in one request to prevent FOUC.
 *
































 */
