/* 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 35, 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 44, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-header:hover {
  background: rgba(0, 212, 170, 0.03);
}

/* line 47, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-title-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 52, 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 64, 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 71, 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 84, 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 88, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-chevron.rotated {
  transform: rotate(-90deg);
}

/* line 92, 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 100, 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 108, app/assets/stylesheets/shared/_action_graph.scss */
.ag-chain::-webkit-scrollbar {
  height: 3px;
}

/* line 109, app/assets/stylesheets/shared/_action_graph.scss */
.ag-chain::-webkit-scrollbar-thumb {
  background: rgba(0, 212, 170, 0.25);
  border-radius: 3px;
}

/* line 113, app/assets/stylesheets/shared/_action_graph.scss */
.ag-step {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

/* line 120, 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 132, 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 141, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.ag-buy {
  border-left: 3px solid #00d4aa;
}

/* line 142, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.ag-sell {
  border-left: 3px solid #ef4444;
}

/* line 144, 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 148, 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 151, 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 157, 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 163, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-cancelled {
  opacity: 0.2;
  border-color: rgba(239, 68, 68, 0.15);
}

/* line 166, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-cancelled .ag-node-content {
  text-decoration: line-through;
}

/* line 169, 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 173, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-ticker {
  text-decoration: line-through;
  opacity: 0.6;
}

/* line 174, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-reason {
  font-style: italic;
  opacity: 0.6;
}

/* line 175, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-badge {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

/* line 178, 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 183, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.completing {
  transform: scale(0.96);
  opacity: 0.4;
}

/* line 185, 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 192, 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 201, 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 208, 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 214, 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 217, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner.is-met .ag-cond-text {
  color: rgba(0, 212, 170, 0.7);
}

/* line 218, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner.is-met i {
  color: #00d4aa;
}

/* line 222, 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 229, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  flex-shrink: 0;
}

/* line 238, 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 246, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox input[type="checkbox"] {
  display: none;
}

/* line 248, 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 259, 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 271, 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 274, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox input[type="checkbox"]:checked + .ag-checkmark::after {
  display: block;
}

/* line 277, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox:hover .ag-checkmark {
  border-color: #00d4aa;
  background: rgba(0, 212, 170, 0.06);
}

/* line 283, 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 292, 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 306, app/assets/stylesheets/shared/_action_graph.scss */
.ag-skip-btn:hover {
  color: #f59e0b;
}

/* line 312, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-content {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

/* line 319, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-row1 {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 325, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-row2 {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* line 331, 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 340, app/assets/stylesheets/shared/_action_graph.scss */
.ag-badge.ag-badge-buy {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
}

/* line 341, app/assets/stylesheets/shared/_action_graph.scss */
.ag-badge.ag-badge-sell {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* line 344, 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 351, 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 359, 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 368, 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 374, 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 385, 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 391, 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 395, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-target i {
  margin-right: 0.1rem;
}

/* line 398, 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 402, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-reached i {
  margin-right: 0.1rem;
}

/* line 405, 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 410, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-warning i {
  margin-right: 0.1rem;
}

/* line 414, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conviction {
  display: inline-flex;
  gap: 0.08rem;
  font-size: 0.38rem;
}

/* line 418, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conviction .fas {
  color: #f59e0b;
}

/* line 419, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conviction .far {
  color: rgba(255, 255, 255, 0.1);
}

/* line 422, 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 430, 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 437, app/assets/stylesheets/shared/_action_graph.scss */
.ag-updated-tag i {
  font-size: 0.38rem;
}

/* line 440, 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 452, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conflict-tag i {
  font-size: 0.45rem;
}

/* line 456, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-empty {
  padding: 0.75rem 1rem;
  text-align: center;
}

/* line 459, 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 469, app/assets/stylesheets/shared/_action_graph.scss */
.ag-fullscreen-modal {
  display: none;
}

@media (max-width: 767px) {
  /* line 475, app/assets/stylesheets/shared/_action_graph.scss */
  .action-graph-section .action-graph-body {
    display: none;
  }
  /* line 480, app/assets/stylesheets/shared/_action_graph.scss */
  .action-graph-section .action-graph-header {
    border-bottom: none;
  }
  /* line 485, 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;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 500, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-modal.is-open {
    display: block !important;
  }
  /* line 505, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(10, 14, 39, 0.98);
    z-index: 1;
  }
  /* line 519, 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 527, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-title i {
    color: #00d4aa;
    font-size: 0.7rem;
  }
  /* line 530, 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 540, 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 544, app/assets/stylesheets/shared/_action_graph.scss */
  body.fullscreen-modal-open {
    overflow: hidden !important;
  }
  /* line 548, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body {
    padding: 1rem;
  }
  /* line 551, 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 558, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-action-node {
    min-width: 180px;
  }
  /* line 559, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-ticker {
    font-size: 0.75rem;
  }
  /* line 560, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-price {
    font-size: 0.65rem;
  }
  /* line 561, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-company {
    font-size: 0.55rem;
    max-width: 160px;
  }
  /* line 562, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-reason {
    font-size: 0.55rem;
    max-width: 180px;
  }
  /* line 563, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-badge {
    font-size: 0.5rem;
  }
  /* line 564, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-timing-badge {
    font-size: 0.45rem;
    padding: 0.05rem 0.25rem;
  }
  /* line 565, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-connector {
    padding: 0 0.4rem;
    font-size: 0.6rem;
  }
  /* line 566, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-condition-banner .ag-cond-text {
    font-size: 0.5rem;
  }
}

/* line 574, 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 579, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .action-graph-title {
  color: rgba(0, 0, 0, 0.85);
}

/* line 580, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-ticker {
  color: rgba(0, 0, 0, 0.85);
}

/* line 581, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-price {
  color: rgba(0, 0, 0, 0.65);
}

/* line 582, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-company {
  color: rgba(0, 0, 0, 0.45);
}

/* line 583, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-reason {
  color: rgba(0, 0, 0, 0.45);
}

/* line 584, 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 587, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-action-node.ag-buy {
  border-left-color: #059669;
}

/* line 588, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-action-node.ag-sell {
  border-left-color: #dc2626;
}

/* line 590, 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 594, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-connector {
  color: rgba(0, 160, 128, 0.4);
}

/* line 595, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-checkbox .ag-checkmark {
  border-color: rgba(5, 150, 105, 0.4);
}

/* line 596, 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 597, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-checkbox .ag-checkmark::after {
  border-color: #059669;
}

/* line 599, 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 600, 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 601, 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 602, 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 604, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-fullscreen-modal {
  background: var(--bg-card-solid, #faf9f6);
}

/* line 605, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-fullscreen-header {
  border-bottom-color: rgba(0, 0, 0, 0.08);
}

/* line 606, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-fullscreen-header .ag-fullscreen-title {
  color: rgba(0, 0, 0, 0.85);
}

/* line 607, 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 608, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .plan-chat-input::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

/* line 609, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .plan-chat-submit {
  color: rgba(0, 0, 0, 0.5);
}

/* line 609, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .plan-chat-submit:hover:not(:disabled) {
  color: #059669;
}

/* line 610, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-skip-btn {
  color: rgba(0, 0, 0, 0.25);
}

/* line 610, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-skip-btn:hover {
  color: #b45309;
}

/* line 618, app/assets/stylesheets/shared/_action_graph.scss */
#action-graph-wrapper.hide-done .ag-action-node.is-done {
  display: none;
}

/* line 622, app/assets/stylesheets/shared/_action_graph.scss */
#action-graph-wrapper.hide-done .ag-step-action:has(.ag-action-node.is-done) {
  display: none;
}

/* line 626, 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 631, 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 644, 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 650, app/assets/stylesheets/shared/_action_graph.scss */
.ag-toggle-done .ag-done-count {
  font-weight: 600;
  font-size: 0.65rem;
}

/* line 656, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 666, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat {
  padding: 10px 14px 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 671, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 677, 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 688, 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 693, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input:focus {
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 697, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* line 703, 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 717, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-submit:hover:not(:disabled) {
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.08);
}

/* line 722, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-submit:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* line 728, 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 736, 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 740, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-remaining i {
  margin-right: 3px;
}

/* line 743, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback {
  font-size: 0.7rem;
  font-weight: 500;
  transition: opacity 0.3s ease;
}

/* line 748, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback--success {
  color: #00d4aa;
}

/* line 749, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback--error {
  color: #ef4444;
}

/* line 750, 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 */
.purchase-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.7rem;
  color: #64748b;
  margin-top: 0.15rem;
}

/* line 1759, app/assets/stylesheets/dashboard.scss */
.purchase-info .purchase-label {
  font-size: 0.55rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.7;
}

/* line 1766, app/assets/stylesheets/dashboard.scss */
.purchase-info .purchase-price {
  font-weight: 500;
}

/* line 1772, app/assets/stylesheets/dashboard.scss */
.change-cell {
  font-weight: 700;
  font-size: 1rem;
  text-align: center;
}

/* line 1777, app/assets/stylesheets/dashboard.scss */
.change-cell.positive {
  color: #00d4aa;
}

/* line 1781, app/assets/stylesheets/dashboard.scss */
.change-cell.negative {
  color: #ff6b6b;
}

/* line 1787, 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 1795, app/assets/stylesheets/dashboard.scss */
.remove-stock-btn:hover {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 1802, 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 1810, 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 1822, app/assets/stylesheets/dashboard.scss */
.empty-state .empty-icon i {
  font-size: 1.5rem;
  color: #00d4aa;
}

/* line 1828, app/assets/stylesheets/dashboard.scss */
.empty-state h3 {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

/* line 1835, app/assets/stylesheets/dashboard.scss */
.empty-state p {
  color: #94a3b8;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

/* line 1841, 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 1850, app/assets/stylesheets/dashboard.scss */
.empty-state .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(0, 212, 170, 0.15);
}

/* line 1855, app/assets/stylesheets/dashboard.scss */
.empty-state .btn i {
  margin-right: 0.5rem;
}

@media (max-width: 575px) {
  /* line 1867, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.4rem;
    padding-top: 0.4rem;
  }
  /* line 1875, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    padding: 0.5rem;
    font-size: 0.8rem;
  }
  /* line 1882, 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 1896, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-3::-webkit-scrollbar {
    display: none;
  }
  /* line 1900, 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 1911, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0;
    height: auto;
    min-height: 65px;
    max-height: 70px;
    overflow: hidden;
  }
  /* line 1919, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.85rem !important;
    line-height: 1.1 !important;
  }
  /* line 1924, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 1928, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 1934, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 1940, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    display: none !important;
  }
  /* line 1944, app/assets/stylesheets/dashboard.scss */
  .refresh-status-component .refresh-status-text {
    display: none !important;
  }
  /* line 1948, 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 1955, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 60px;
    gap: 0.15rem;
  }
  /* line 1959, 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 1967, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.1rem !important;
  }
  /* line 1968, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.5rem !important;
    max-width: 52px !important;
  }
  /* line 1969, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 7px !important;
    height: 7px !important;
    transform: translateX(21px) !important;
  }
  /* line 1973, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn-form {
    display: block !important;
    width: 34px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
  }
  /* line 1980, 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 1987, 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 1999, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn i {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 2004, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn .btn-text-hide {
    display: none !important;
  }
  /* line 2010, app/assets/stylesheets/dashboard.scss */
  .summary-item.stock-count,
.summary-item.last-updated,
.summary-divider.d-none-mobile {
    display: none !important;
  }
  /* line 2022, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 2026, 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 2032, 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 2037, 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 2045, 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 2046, 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 2052, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 2055, 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 2059, 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 2066, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 2069, 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 2071, 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 2072, 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 2076, 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 2077, 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 2080, 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 2085, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 2088, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.55rem !important;
  }
  /* line 2088, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.55rem !important;
  }
  /* line 2089, 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 2090, 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 2090, 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 2094, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 2097, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.55rem !important;
  }
  /* line 2097, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.6rem !important;
  }
  /* line 2098, 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 2099, 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 2104, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 2116, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.4rem !important;
    width: 100% !important;
  }
  /* line 2121, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2125, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2129, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link i {
    margin-right: 4px !important;
  }
  /* line 2134, 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 2147, 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 2154, 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 2174, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    margin-right: 0 !important;
  }
  /* line 2178, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2182, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2186, 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 2191, 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 2199, 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 2207, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs:has(.nav-item:nth-child(4)) {
    flex-wrap: wrap !important;
  }
  /* line 2210, 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 2217, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs {
    flex-wrap: nowrap !important;
  }
  /* line 2220, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-item {
    flex: 1 !important;
    max-width: none !important;
  }
  /* line 2225, 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 2233, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 2238, 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 2251, 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 2262, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 2265, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header .section-actions {
    width: auto !important;
    flex: 0 0 auto !important;
  }
  /* line 2275, 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 2279, 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 2288, 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 2297, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }
  /* line 2304, app/assets/stylesheets/dashboard.scss */
  .event-field .row {
    flex-direction: column !important;
  }
  /* line 2307, app/assets/stylesheets/dashboard.scss */
  .event-field .row > [class*="col-"] {
    max-width: 100% !important;
    margin-bottom: 0.75rem;
  }
  /* line 2316, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row {
    flex-direction: column !important;
  }
  /* line 2319, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row > [class*="col-"] {
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 0.5rem;
  }
  /* line 2326, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 250px !important;
    overflow-y: auto !important;
  }
  /* line 2330, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item {
    padding: 0.75rem !important;
    font-size: 0.85rem !important;
  }
  /* line 2334, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-symbol {
    font-size: 0.9rem !important;
  }
  /* line 2338, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-name {
    font-size: 0.8rem !important;
  }
  /* line 2342, 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 2353, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 1rem;
    padding-top: 0.75rem;
  }
  /* line 2358, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    width: auto;
  }
  /* line 2364, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.75rem;
  }
  /* line 2368, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1rem !important;
  }
  /* line 2372, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2376, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2382, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 2388, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }
  /* line 2394, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.15rem !important;
    margin-bottom: 0.1rem !important;
  }
  /* line 2399, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
  }
  /* line 2405, 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 2411, 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 2418, 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 2430, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.75rem;
  }
  /* line 2433, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.5rem 0.25rem !important;
    font-size: 0.65rem !important;
    white-space: nowrap;
  }
  /* line 2439, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.25rem !important;
    vertical-align: middle;
  }
  /* line 2446, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.3rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 2450, 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 2455, 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 2460, 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 2469, 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 2478, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 2486, 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 2491, 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 2495, 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 2500, 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 2507, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.5rem 0.25rem !important;
  }
  /* line 2514, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 2517, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.65rem !important;
  }
  /* line 2525, 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 2529, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: none;
  }
  /* line 2533, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    margin: 0 !important;
    font-size: 0.6rem !important;
  }
  /* line 2542, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.7rem !important;
  }
  /* line 2546, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.5rem !important;
  }
  /* line 2551, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.7rem !important;
  }
  /* line 2554, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell .currency-symbol, .stocks-table .value-cell .currency-symbol {
    font-size: 0.55rem !important;
  }
  /* line 2562, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
  }
  /* line 2566, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 2571, 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 2581, 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 2590, 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 2600, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.3rem !important;
  }
  /* line 2603, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.3rem !important;
  }
  /* line 2606, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 2610, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.65rem !important;
  }
  /* line 2618, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 60px;
  }
  /* line 2628, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1rem !important;
    width: 100% !important;
  }
  /* line 2632, 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 2645, 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 2652, 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 2671, 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 2676, 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 2684, 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 2697, 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 2705, 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 2713, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 2718, 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 2731, 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 2741, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 2745, 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 2757, 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 2761, 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 2770, 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 2779, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 2788, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 300px !important;
    overflow-y: auto !important;
  }
  /* line 2792, 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 2804, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 2810, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 2815, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.6rem !important;
  }
  /* line 2819, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 2823, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.75rem !important;
    gap: 0.4rem !important;
  }
  /* line 2828, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.65rem !important;
  }
  /* line 2832, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.4rem 0 !important;
    gap: 0.5rem !important;
  }
  /* line 2837, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.7rem !important;
  }
  /* line 2841, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 2846, 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 2852, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 2858, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.5rem;
    padding: 0.5rem !important;
  }
  /* line 2863, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.95rem !important;
  }
  /* line 2867, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2871, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2877, 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 2884, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.1rem !important;
  }
  /* line 2888, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
    display: none !important;
  }
  /* line 2895, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.3rem !important;
  }
  /* line 2899, 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 2907, 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 2913, 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 2920, 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 2926, 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 2940, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  /* line 2945, 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 2953, 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 2958, 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 2959, 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 2960, 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 2961, 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 2962, 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 2963, 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 2964, 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 2965, 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 2966, 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 2967, 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 2970, 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 2977, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 2982, 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 2999, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3004, 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 3021, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.4rem 0.2rem !important;
    vertical-align: middle;
  }
  /* line 3027, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell {
    padding: 0.2rem !important;
    text-align: center !important;
  }
  /* line 3031, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.3rem 0.4rem !important;
    min-width: unset !important;
  }
  /* line 3035, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai i {
    font-size: 0.6rem !important;
  }
  /* line 3036, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3037, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }
  /* line 3042, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.15rem !important;
  }
  /* line 3045, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.2rem !important;
  }
  /* line 3048, 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 3054, 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 3069, 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 3079, 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 3087, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem !important;
  }
  /* line 3092, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-name-row {
    display: flex !important;
  }
  /* line 3095, 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 3105, 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 3109, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.08rem !important;
  }
  /* line 3110, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none !important;
  }
  /* line 3118, 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 3123, 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 3129, 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 3138, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.35rem !important;
    padding: 0.08rem 0.15rem !important;
  }
  /* line 3145, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.1rem !important;
  }
  /* line 3148, 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 3153, 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 3160, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.08rem !important;
  }
  /* line 3163, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.5rem !important;
  }
  /* line 3164, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.45rem !important;
  }
  /* line 3165, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.4rem !important;
  }
  /* line 3166, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.35rem !important;
  }
  /* line 3171, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.55rem !important;
  }
  /* line 3172, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 3176, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols {
    gap: 0.1rem !important;
  }
  /* line 3179, 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 3183, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols {
    gap: 0.15rem !important;
  }
  /* line 3187, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.15rem !important;
  }
  /* line 3189, 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 3190, 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 3192, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.15rem !important;
  }
  /* line 3194, 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 3195, 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 3203, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.15rem !important;
  }
  /* line 3207, 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 3214, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.4rem !important;
  }
  /* line 3219, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.15rem 0.25rem !important;
    font-size: 0.5rem !important;
  }
  /* line 3225, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.45rem !important;
  }
  /* line 3229, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3234, 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 3239, 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 3242, 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 3246, 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 3253, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.4rem 0.2rem !important;
  }
  /* line 3260, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 3263, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.55rem !important;
  }
  /* line 3271, 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 3275, 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 3280, 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 3289, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.6rem !important;
  }
  /* line 3293, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.45rem !important;
  }
  /* line 3298, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.6rem !important;
  }
  /* line 3302, 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 3310, 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 3319, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 3323, 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 3333, 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 3342, 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 3354, 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 3370, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.25rem !important;
  }
  /* line 3373, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.25rem !important;
  }
  /* line 3376, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 3380, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 3388, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 55px;
  }
  /* line 3398, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.75rem !important;
    width: 100% !important;
  }
  /* line 3402, 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 3415, 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 3422, 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 3441, 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 3446, 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 3454, 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 3467, 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 3481, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 3487, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
  }
  /* line 3492, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.85rem !important;
  }
  /* line 3496, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.75rem !important;
  }
  /* line 3500, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.9rem !important;
    gap: 0.5rem !important;
  }
  /* line 3505, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.8rem !important;
  }
  /* line 3509, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.6rem 0 !important;
    gap: 0.6rem !important;
  }
  /* line 3514, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.75rem !important;
  }
  /* line 3518, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 3523, 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 3529, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 3535, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
  }
  /* line 3539, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1.1rem !important;
  }
  /* line 3543, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 3547, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 3553, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 3559, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
  }
  /* line 3565, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.25rem !important;
  }
  /* line 3569, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.8rem !important;
  }
  /* line 3575, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 3579, 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 3587, 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 3593, 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 3600, 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 3606, 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 3618, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.8rem;
  }
  /* line 3621, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.6rem 0.35rem !important;
    font-size: 0.7rem !important;
    white-space: nowrap;
  }
  /* line 3627, 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 3634, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3639, 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 3656, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3661, 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 3678, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.3rem !important;
    vertical-align: middle;
  }
  /* line 3684, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.2rem !important;
  }
  /* line 3687, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.25rem !important;
  }
  /* line 3690, 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 3695, 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 3700, 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 3708, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem !important;
  }
  /* line 3713, 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 3717, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem !important;
  }
  /* line 3718, 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 3725, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.35rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 3729, 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 3734, 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 3743, 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 3752, 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 3761, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 3768, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.15rem !important;
  }
  /* line 3771, 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 3776, 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 3783, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.1rem !important;
  }
  /* line 3786, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.6rem !important;
  }
  /* line 3787, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 3788, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 3789, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 3794, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.65rem !important;
  }
  /* line 3795, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 3800, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-shares-inline {
    font-size: 0.6rem !important;
  }
  /* line 3804, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.3rem !important;
  }
  /* line 3806, 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 3807, 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 3809, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.3rem !important;
  }
  /* line 3811, 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 3812, 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 3819, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.2rem !important;
  }
  /* line 3823, 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 3830, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.45rem !important;
  }
  /* line 3835, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.2rem 0.3rem !important;
    font-size: 0.55rem !important;
  }
  /* line 3841, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.5rem !important;
  }
  /* line 3845, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.45rem !important;
  }
  /* line 3849, 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 3853, 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 3858, 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 3861, 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 3865, 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 3876, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.2rem !important;
  }
  /* line 3879, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.7rem !important;
  }
  /* line 3887, 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 3891, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: inline;
    font-size: 0.55rem !important;
  }
  /* line 3896, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    font-size: 0.6rem !important;
  }
  /* line 3904, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.75rem !important;
  }
  /* line 3908, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.55rem !important;
  }
  /* line 3913, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.75rem !important;
  }
  /* line 3920, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 3925, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
    max-height: none !important;
  }
  /* line 3931, 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 3941, 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 3950, 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 3960, 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 3965, 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 3969, 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 3975, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 3983, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 3993, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1.25rem !important;
    width: 100% !important;
  }
  /* line 3997, 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 4004, 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 4010, 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 4021, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    font-size: 0.9rem !important;
    margin-right: 8px !important;
  }
  /* line 4030, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 4038, 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 4042, 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 4051, 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 4060, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.8rem !important;
    margin: 0 !important;
  }
  /* line 4069, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 350px !important;
    overflow-y: auto !important;
  }
  /* line 4073, 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 4088, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
    padding: 0.7rem 0.5rem;
    min-height: 115px;
    max-height: 135px;
  }
  /* line 4095, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    gap: 2rem;
  }
  /* line 4099, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 1rem;
  }
  /* line 4102, app/assets/stylesheets/dashboard.scss */
  .stocks-table th, .stocks-table td {
    padding: 1rem 0.75rem;
  }
  /* line 4107, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 100px;
  }
  /* line 4113, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 12px 20px !important;
    font-size: 0.9rem !important;
    min-height: 48px;
  }
}

/* line 4123, 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 4141, app/assets/stylesheets/dashboard.scss */
.summary-card,
.stocks-table,
.empty-state {
  animation: fadeIn 0.6s ease-out;
}

/* line 4148, app/assets/stylesheets/dashboard.scss */
.alert {
  border-radius: 8px;
  border: none;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}

/* line 4153, app/assets/stylesheets/dashboard.scss */
.alert.alert-success {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border-left: 4px solid #00d4aa;
}

/* line 4159, app/assets/stylesheets/dashboard.scss */
.alert.alert-danger {
  background: rgba(255, 107, 107, 0.1);
  color: #ff6b6b;
  border-left: 4px solid #ff6b6b;
}

/* line 4167, 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 4200, app/assets/stylesheets/dashboard.scss */
.shares-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* line 4207, 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 4216, 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 4226, app/assets/stylesheets/dashboard.scss */
.refresh-btn {
  position: relative;
  transition: all 0.3s ease;
}

/* line 4230, app/assets/stylesheets/dashboard.scss */
.refresh-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 4235, 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 4243, 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 4254, 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 4260, 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 4266, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator i {
  font-size: 0.75rem;
}

/* line 4273, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs {
  margin-bottom: 2rem;
}

/* line 4276, 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 4289, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs::before {
  display: none;
}

/* line 4293, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item {
  margin: 0 0.5rem 0 0;
}

/* line 4296, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item:last-child {
  margin-right: 0;
}

/* line 4300, 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 4322, 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 4334, 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 4341, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link:hover::before {
  opacity: 1;
}

/* line 4346, 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 4357, 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 4362, 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 4378, 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 4386, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link .tab-text-mobile {
  display: none;
}

/* line 4390, 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 4414, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs.nav-tabs {
  display: flex !important;
  width: 100%;
}

/* line 4418, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs.nav-tabs > .nav-item {
  flex: 1 !important;
  margin: 0 !important;
}

/* line 4422, 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 4434, 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 4444, 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 4458, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs .nav-link.active .tab-label {
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* line 4464, app/assets/stylesheets/dashboard.scss */
#dashboardTabContent .tab-pane.fade:not(.show) {
  display: none !important;
}

/* line 4468, app/assets/stylesheets/dashboard.scss */
#dashboardTabContent .tab-pane.fade.show {
  display: block !important;
}

/* line 4473, 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 4491, app/assets/stylesheets/dashboard.scss */
.modal-backdrop {
  z-index: 1040 !important;
  background-color: rgba(0, 0, 0, 0.8) !important;
}

/* line 4496, app/assets/stylesheets/dashboard.scss */
.modal {
  z-index: 1060 !important;
}

/* line 4499, app/assets/stylesheets/dashboard.scss */
.modal.show {
  z-index: 1060 !important;
}

/* line 4505, app/assets/stylesheets/dashboard.scss */
#stockTransactionModal {
  z-index: 1070 !important;
}

/* line 4508, app/assets/stylesheets/dashboard.scss */
#stockTransactionModal .modal-dialog {
  z-index: 1071 !important;
}

/* line 4512, app/assets/stylesheets/dashboard.scss */
#stockTransactionModal .modal-content {
  z-index: 1072 !important;
}

/* line 4519, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog {
  z-index: 1056 !important;
}

/* line 4522, 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 4529, 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 4534, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header .modal-title {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* line 4538, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header .modal-title i {
  color: #ffa726 !important;
  margin-right: 0.5rem;
}

/* line 4544, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header .btn-close {
  filter: invert(1) !important;
}

/* line 4549, 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 4554, 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 4562, 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 4568, 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 4574, 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 4579, 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 4586, 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 4591, 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 4603, app/assets/stylesheets/dashboard.scss */
.tldr-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 4607, 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 4617, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.buy {
  background: rgba(0, 212, 170, 0.1);
  color: #00d4aa;
  border-color: #00d4aa;
}

/* line 4623, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.sell {
  background: rgba(255, 107, 107, 0.1);
  color: #ff6b6b;
  border-color: #ff6b6b;
}

/* line 4629, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.hold {
  background: rgba(255, 167, 38, 0.1);
  color: #ffa726;
  border-color: #ffa726;
}

/* line 4635, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.wait {
  background: rgba(108, 117, 125, 0.1);
  color: #6c757d;
  border-color: #6c757d;
}

/* line 4646, 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 4653, 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 4661, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn:hover {
  border-color: #00d4aa;
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.1);
}

/* line 4667, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn i {
  margin-right: 0.5rem;
}

/* line 4676, 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 4685, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-title i {
  color: #00d4aa;
  font-size: 1.2rem;
}

/* line 4691, 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 4700, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table thead {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

/* line 4703, 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 4716, 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 4720, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 4724, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody tr:last-child {
  border-bottom: none;
}

/* line 4729, 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 4736, 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 4740, 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 4744, 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 4749, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.reason-cell {
  text-align: left;
  max-width: 200px;
}

/* line 4753, 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 4759, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.reason-cell .reason-text:hover {
  color: #ffffff;
}

/* line 4769, 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 4784, app/assets/stylesheets/dashboard.scss */
.watch-lists-container {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

/* line 4788, app/assets/stylesheets/dashboard.scss */
.watch-lists-container .row {
  margin: 0 !important;
}

/* line 4792, app/assets/stylesheets/dashboard.scss */
.watch-lists-container .col-lg-6 {
  padding: 0 0.75rem !important;
}

/* line 4798, app/assets/stylesheets/dashboard.scss */
.watch-list-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* line 4802, 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 4811, 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 4822, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-header {
  margin-bottom: 1.5rem !important;
}

/* line 4825, 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 4834, 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 4842, 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 4850, 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 4855, 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 4862, 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 4868, 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 4874, 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 4884, 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 4898, 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 4905, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert i {
  color: #00d4aa;
  margin-right: 0.5rem;
}

/* line 4910, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert strong {
  color: #ffffff;
  font-weight: 600;
}

/* line 4915, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert p {
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  line-height: 1.5;
}

/* line 4924, app/assets/stylesheets/dashboard.scss */
.portfolio-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 4931, 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 4938, app/assets/stylesheets/dashboard.scss */
.portfolio-card:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 4943, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  margin-bottom: 1.5rem;
}

/* line 4949, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-stock-info {
  flex-shrink: 0;
  min-width: 200px;
}

/* line 4954, 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 4964, 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 4977, 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 4983, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 4988, 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 4996, 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 5001, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value.positive {
  color: #00d4aa;
}

/* line 5005, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value.negative {
  color: #ff6b6b;
}

/* line 5009, 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 5016, 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 5021, 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 5030, 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 5035, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-ai-section .ai-analysis-toggle {
  margin-bottom: 1rem;
}

/* line 5047, 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 5056, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-title-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.4rem;
}

/* line 5063, 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 5076, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-ai-badge i {
  font-size: 9px;
}

/* line 5079, 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 5087, 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 5097, 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 5105, 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 5119, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 5126, 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 5141, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate i {
  font-size: 13px;
}

/* line 5142, 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 5146, 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 5151, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate.btn-opp-disabled:hover {
  transform: none;
}

/* line 5155, 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 5169, 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 5177, 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 5186, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-disclaimer i {
  color: rgba(255, 193, 7, 0.7);
  font-size: 11px;
  flex-shrink: 0;
}

/* line 5187, 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 5191, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filters {
  margin-bottom: 1rem;
  position: relative;
}

/* line 5196, 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 5209, 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 5214, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-filter-toggle .opp-filter-arrow {
  font-size: 0.6rem;
  transition: transform 0.2s;
}

/* line 5220, 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 5229, 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 5244, 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 5251, 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 5261, 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 5272, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-checkbox:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* line 5276, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-checkbox input[type="checkbox"] {
  accent-color: var(--accent, #6366f1);
  width: 14px;
  height: 14px;
}

/* line 5284, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunities-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

/* line 5291, 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 5299, 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 5306, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-buy {
  border-left: 3px solid #00d4aa;
}

/* line 5307, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-sell {
  border-left: 3px solid #ff6b6b;
}

/* line 5308, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-hold {
  border-left: 3px solid #ffc107;
}

/* line 5312, 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 5320, 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 5332, 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 5338, 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 5344, 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 5351, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero {
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  flex: 1;
}

/* line 5356, 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 5357, 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 5360, 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 5368, 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 5378, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-symbol-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 5384, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-symbol {
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.5px;
}

/* line 5391, 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 5401, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* line 5408, 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 5418, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag i {
  font-size: 9px;
  opacity: 0.7;
}

/* line 5420, 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 5425, 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 5433, 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 5442, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 60px;
}

/* line 5450, 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 5458, 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 5462, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-value.opp-target {
  color: #00d4aa;
}

/* line 5465, 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 5475, 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 5483, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-confidence {
  flex: 0 0 auto;
}

/* line 5488, 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 5497, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 46px;
  height: 46px;
  transform: rotate(-90deg);
}

/* line 5503, 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 5509, 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 5516, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-low {
  stroke: #ff6b6b;
}

/* line 5517, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-medium {
  stroke: #ffc107;
}

/* line 5518, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-high {
  stroke: #00d4aa;
}

/* line 5519, 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 5523, 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 5530, 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 5534, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale {
  padding: 12px 16px 14px;
}

/* line 5538, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

/* line 5543, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale-header i {
  color: #00d4aa;
  font-size: 11px;
}

/* line 5544, 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 5553, 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 5561, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 5566, 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 5576, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state .opp-empty-icon i {
  font-size: 1.8rem;
  color: #00d4aa;
}

/* line 5579, 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 5580, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state p {
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

/* line 5584, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  flex-shrink: 0;
}

/* line 5592, 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 5605, 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 5609, 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 5616, 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 5620, 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 5628, 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 5632, 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 5639, 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 5654, 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 5667, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 60px;
}

/* line 5675, 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 5678, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value.positive {
  color: #00d4aa;
}

/* line 5679, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value.negative {
  color: #ff6b6b;
}

/* line 5683, 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 5691, 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 5698, 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 5711, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-badge i {
  font-size: 10px;
}

/* line 5715, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section {
  margin-top: 1.5rem;
}

/* line 5718, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section[open] .opp-chevron {
  transform: rotate(180deg);
}

/* line 5720, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section summary {
  list-style: none;
}

/* line 5720, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-section summary::-webkit-details-marker {
  display: none;
}

/* line 5723, 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 5737, 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 5738, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-toggle i:first-child {
  font-size: 11px;
}

/* line 5741, 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 5750, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-chevron {
  margin-left: auto;
  transition: transform 0.2s ease;
  font-size: 10px;
}

/* line 5756, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-dismissed-grid {
  margin-top: 0.75rem;
}

/* line 5760, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-dismissed {
  opacity: 0.5;
  filter: grayscale(40%);
}

/* line 5763, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-card-dismissed:hover {
  opacity: 0.75;
  filter: none;
}

@media (max-width: 1200px) {
  /* line 5770, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.3rem;
  }
  /* line 5771, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-symbol {
    font-size: 1.1rem;
  }
}

@media (max-width: 1024px) {
  /* line 5776, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunities-grid {
    grid-template-columns: 1fr;
  }
  /* line 5777, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-title {
    font-size: 1.3rem;
  }
  /* line 5778, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.35rem;
  }
  /* line 5779, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-name {
    max-width: 220px;
  }
}

@media (max-width: 640px) {
  /* line 5784, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 5785, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header-actions {
    justify-content: stretch;
  }
  /* line 5786, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-generate {
    flex: 1;
    justify-content: center;
  }
  /* line 5787, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-configure {
    justify-content: center;
  }
  /* line 5788, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-top {
    padding: 11px 13px 9px;
  }
  /* line 5789, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.25rem;
  }
  /* line 5790, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-identity {
    padding: 10px 13px;
  }
  /* line 5791, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-tags {
    justify-content: flex-start;
  }
  /* line 5792, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metrics-row {
    padding: 10px 13px;
  }
  /* line 5793, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-rationale {
    padding: 10px 13px 13px;
  }
  /* line 5794, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-divider {
    margin: 0 10px;
  }
  /* line 5795, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-name {
    max-width: 140px;
  }
}

@media (max-width: 400px) {
  /* line 5800, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-value {
    font-size: 0.85rem;
  }
  /* line 5801, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-symbol {
    font-size: 1rem;
  }
  /* line 5802, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.1rem;
  }
  /* line 5803, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring-wrap {
    width: 40px;
    height: 40px;
  }
  /* line 5804, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring {
    width: 40px;
    height: 40px;
  }
  /* line 5805, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-score {
    font-size: 0.72rem;
  }
}

/* line 5811, 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 5825, app/assets/stylesheets/dashboard.scss */
.custom-tooltip .tooltip-arrow::before {
  border-top-color: #2d3748;
}

/* line 5832, 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 5839, 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 5846, 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 5850, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn:active {
  background: #ffb300 !important;
  color: #000 !important;
}

/* line 5857, 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 5863, 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 5880, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn:hover {
  color: #19cda5;
  background: rgba(25, 205, 165, 0.06);
}

/* line 5885, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn[aria-expanded="true"] {
  color: #19cda5;
  background: rgba(25, 205, 165, 0.06);
}

/* line 5890, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn i {
  font-size: 0.95rem;
}

/* line 5896, 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 5902, 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 5910, app/assets/stylesheets/dashboard.scss */
.empty-state-add-stock {
  width: 100%;
  max-width: 560px;
  margin: 1.25rem auto 0;
  text-align: left;
}

/* line 5916, 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 5923, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-collapse {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

/* line 5928, 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 5936, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form .fw-semibold {
  color: #19cda5;
}

/* line 5940, 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 5945, 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 5953, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="button"] {
  display: none !important;
}

/* line 5957, 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 5962, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] {
  position: absolute !important;
  z-index: 9999;
  left: 0;
  right: 0;
  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 5976, 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 5983, 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 5987, 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 5991, 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 5996, 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 6000, 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 6005, 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 6010, 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 6016, 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 6029, 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 6034, 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 6041, 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 6046, 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 6057, app/assets/stylesheets/dashboard.scss */
.section-actions .d-flex {
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (max-width: 768px) {
  /* line 6057, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex {
    flex-direction: column;
    align-items: flex-end !important;
  }
  /* line 6065, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex .btn {
    width: auto;
    min-width: 150px;
  }
}

/* line 6075, 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 6082, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header {
  text-align: center;
  margin-bottom: 2rem;
}

/* line 6086, 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 6096, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header h4 i {
  color: #00d4aa;
}

/* line 6101, 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 6109, 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 6116, 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 6125, 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 6131, 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 6136, 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 6147, 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 6152, 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 6159, 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 6167, 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 6171, 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 6181, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-actions {
  text-align: center;
}

/* line 6184, 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 6194, 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 6205, 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 6211, 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 6219, 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 6227, app/assets/stylesheets/dashboard.scss */
.ai-advice-full-width {
  margin-top: 20px;
  width: 100%;
}

/* line 6231, app/assets/stylesheets/dashboard.scss */
.ai-advice-full-width .analysis-card {
  width: 100%;
}

/* Complementary Information Section (Integrated) */
/* line 6237, app/assets/stylesheets/dashboard.scss */
.complementary-section {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 2px solid rgba(34, 197, 94, 0.2);
}

/* line 6242, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

/* line 6247, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-header .complementary-emoji {
  margin-right: 10px;
  font-size: 1.1em;
  display: inline-block;
}

/* line 6253, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-header span:not(.complementary-emoji) {
  color: #22c55e;
  font-size: 1em;
  font-weight: 600;
}

/* line 6260, 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 6269, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-content p {
  margin-bottom: 10px;
}

/* line 6272, app/assets/stylesheets/dashboard.scss */
.complementary-section .complementary-content p:last-child {
  margin-bottom: 0;
}

/* Stock Events Section (Dividends, Earnings) */
/* line 6281, app/assets/stylesheets/dashboard.scss */
.stock-events-section .section-header-mini {
  margin-bottom: 10px;
}

/* line 6284, app/assets/stylesheets/dashboard.scss */
.stock-events-section .section-header-mini h5 {
  color: #22c55e;
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
}

/* line 6290, app/assets/stylesheets/dashboard.scss */
.stock-events-section .section-header-mini h5 i {
  margin-right: 6px;
}

/* line 6296, 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 6302, 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 6308, 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 6313, 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 6318, 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 6323, 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 6329, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header .event-emoji {
  font-size: 1rem;
}

/* line 6333, 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 6339, 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 6350, 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 6357, 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 6369, 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 6376, 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 6387, app/assets/stylesheets/dashboard.scss */
.stock-name-modal {
  font-size: 0.9rem;
}

/* line 6391, app/assets/stylesheets/dashboard.scss */
.event-text-full {
  color: #e5e7eb;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* Macro Events Section (Market Context) */
/* line 6399, app/assets/stylesheets/dashboard.scss */
.macro-events-section .section-header-mini {
  margin-bottom: 15px;
}

/* line 6402, app/assets/stylesheets/dashboard.scss */
.macro-events-section .section-header-mini h5 {
  color: #60a5fa;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}

/* line 6408, app/assets/stylesheets/dashboard.scss */
.macro-events-section .section-header-mini h5 i {
  margin-right: 8px;
}

/* line 6414, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-events-list {
  background: rgba(59, 130, 246, 0.08);
  border-radius: 10px;
  padding: 15px;
}

/* line 6420, 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 6427, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 6432, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item:first-child {
  padding-top: 0;
}

/* line 6436, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-emoji {
  font-size: 1.2rem;
  flex-shrink: 0;
}

/* line 6441, 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 6448, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-content {
  flex: 1;
  min-width: 0;
}

/* line 6453, app/assets/stylesheets/dashboard.scss */
.macro-events-section .macro-event-item .macro-category {
  display: inline;
  margin-right: 6px;
}

/* line 6458, 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 6466, 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 6479, app/assets/stylesheets/dashboard.scss */
.events-context-section {
  margin-bottom: 2rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* line 6486, 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 6486, 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 6486, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
}

@media (max-width: 767px) {
  /* line 6486, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 6512, 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 6520, 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 6526, app/assets/stylesheets/dashboard.scss */
.calendar-column .section-header-mini h5 i {
  margin-right: 6px;
}

/* line 6532, 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 6540, 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 6546, app/assets/stylesheets/dashboard.scss */
.context-column .section-header-mini h5 i {
  margin-right: 6px;
}

/* Calendar Styles */
/* line 6553, app/assets/stylesheets/dashboard.scss */
.events-calendar-wrapper {
  position: relative;
}

/* line 6558, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-header {
  text-align: center;
  margin-bottom: 0.75rem;
}

/* line 6562, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-header .calendar-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: #ffffff;
  text-transform: capitalize;
}

/* line 6570, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}

/* line 6576, 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 6585, 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 6598, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.empty {
  background: transparent;
}

/* line 6602, 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 6606, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.today .day-number {
  color: #00d4aa;
  font-weight: 700;
}

/* line 6612, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.past {
  opacity: 0.5;
}

/* line 6616, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.weekend {
  background: rgba(255, 255, 255, 0.01);
}

/* line 6620, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.has-events {
  background: rgba(255, 255, 255, 0.06);
}

/* line 6623, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.has-events:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* line 6628, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .day-number {
  font-size: 0.7rem;
  font-weight: 500;
  color: #94a3b8;
  line-height: 1;
}

/* line 6635, 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 6643, 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 6661, 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 6666, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot i {
  font-size: 0.55rem;
  line-height: 1;
}

/* line 6671, 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 6677, 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 6683, 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 6689, 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 6695, 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 6702, 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 6713, 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 6729, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip.visible {
  opacity: 1;
  visibility: visible;
}

/* line 6734, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

/* line 6741, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-emoji {
  font-size: 1.1rem;
}

/* line 6745, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-symbol {
  font-weight: 700;
  color: #00d4aa;
  font-size: 0.9rem;
}

/* line 6751, 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 6758, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-dividend {
  background: rgba(255, 215, 0, 0.2);
  color: #ffd700;
}

/* line 6763, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-earnings {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 6768, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-crisis {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 6773, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-type.type-other {
  background: rgba(96, 165, 250, 0.2);
  color: #60a5fa;
}

/* line 6779, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-name {
  font-size: 0.75rem;
  color: #64748b;
  margin-bottom: 6px;
}

/* line 6785, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip .tooltip-text {
  font-size: 0.8rem;
  color: #94a3b8;
  line-height: 1.4;
}

/* Calendar Legend */
/* line 6793, 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 6801, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 6807, 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 6821, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon i {
  font-size: 0.5rem;
  line-height: 1;
}

/* line 6826, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.dividend {
  background: rgba(255, 215, 0, 0.25);
  border: 2px solid #ffd700;
  color: #ffd700;
}

/* line 6832, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.earnings {
  background: rgba(0, 180, 216, 0.25);
  border: 2px solid #00b4d8;
  color: #00b4d8;
}

/* line 6838, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.crisis {
  background: rgba(239, 68, 68, 0.25);
  border: 2px solid #ef4444;
  color: #ef4444;
}

/* line 6844, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-icon.other {
  background: rgba(96, 165, 250, 0.25);
  border: 2px solid #60a5fa;
  color: #60a5fa;
}

/* line 6851, app/assets/stylesheets/dashboard.scss */
.calendar-legend .legend-label {
  font-size: 0.7rem;
  color: #64748b;
}

/* Market Context List */
/* line 6858, app/assets/stylesheets/dashboard.scss */
.market-context-list {
  width: 100%;
}

/* line 6861, 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 6869, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-item:last-child {
  border-bottom: none;
}

/* line 6874, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-emoji {
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* line 6879, app/assets/stylesheets/dashboard.scss */
.market-context-list .context-content {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* line 6885, 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 6893, 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 6904, 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 6912, app/assets/stylesheets/dashboard.scss */
.no-context-message i {
  color: #00d4aa;
}

/* Upcoming Events List (for events without dates) */
/* line 6918, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  padding: 10px;
}

/* line 6923, 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 6932, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-header i {
  color: #ffa726;
}

/* line 6937, 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 6945, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-item:last-child {
  border-bottom: none;
}

/* line 6950, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-emoji {
  font-size: 0.9rem;
}

/* line 6954, app/assets/stylesheets/dashboard.scss */
.upcoming-events-list .upcoming-symbol {
  font-weight: 600;
  color: #00d4aa;
  min-width: 50px;
}

/* line 6960, 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 6972, app/assets/stylesheets/dashboard.scss */
  .calendar-column {
    padding: 0.75rem;
  }
  /* line 6975, app/assets/stylesheets/dashboard.scss */
  .calendar-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 6980, app/assets/stylesheets/dashboard.scss */
  .context-column {
    padding: 0.75rem;
  }
  /* line 6983, app/assets/stylesheets/dashboard.scss */
  .context-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 6989, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 38px;
  }
  /* line 6992, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.6rem;
  }
  /* line 6996, 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 7004, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.45rem;
  }
  /* line 7012, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.75rem;
  }
  /* line 7016, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-text {
    font-size: 0.75rem;
    line-height: 1.4;
  }
  /* line 7022, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 8px;
  }
  /* line 7025, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.6rem;
  }
  /* line 7029, 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 7037, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.4rem;
  }
}

/* Responsive for Calendar Section */
@media (max-width: 767px) {
  /* line 7046, app/assets/stylesheets/dashboard.scss */
  .events-context-section {
    margin-bottom: 1rem;
    width: 100%;
    padding: 0;
  }
  /* line 7052, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    gap: 0.75rem;
    width: 100%;
  }
  /* line 7057, app/assets/stylesheets/dashboard.scss */
  .calendar-column,
.context-column {
    padding: 0.75rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  /* line 7066, app/assets/stylesheets/dashboard.scss */
  .calendar-container {
    width: 100%;
  }
  /* line 7070, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-header .calendar-title {
    font-size: 0.8rem;
  }
  /* line 7075, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    width: 100%;
  }
  /* line 7082, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.55rem;
    padding: 3px 0;
    text-align: center;
  }
  /* line 7088, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 32px;
    padding: 2px 1px;
    aspect-ratio: unset;
  }
  /* line 7093, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.5rem;
  }
  /* line 7097, 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 7105, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.35rem;
  }
  /* line 7110, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-indicators {
    gap: 1px;
    margin-top: 1px;
  }
  /* line 7117, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 8px;
    margin-top: 8px;
  }
  /* line 7124, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-item {
    gap: 3px;
  }
  /* line 7128, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.5rem;
  }
  /* line 7132, 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 7140, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.3rem;
  }
  /* Market context mobile fixes */
  /* line 7148, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-item {
    padding: 6px 0;
    gap: 6px;
    flex-wrap: nowrap;
  }
  /* line 7154, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-emoji {
    font-size: 0.9rem;
    flex-shrink: 0;
  }
  /* line 7159, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-content {
    min-width: 0;
    flex: 1;
  }
  /* line 7164, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.7rem;
    display: block;
    margin-bottom: 2px;
  }
  /* line 7170, 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 7180, app/assets/stylesheets/dashboard.scss */
  .no-context-message {
    font-size: 0.75rem;
    padding: 8px;
  }
  /* line 7185, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list {
    padding: 6px;
  }
  /* line 7188, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-header {
    font-size: 0.7rem;
    margin-bottom: 6px;
  }
  /* line 7193, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-item {
    font-size: 0.7rem;
    gap: 4px;
    flex-wrap: nowrap;
  }
  /* line 7199, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-emoji {
    flex-shrink: 0;
  }
  /* line 7203, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-symbol {
    min-width: 35px;
    font-size: 0.65rem;
    flex-shrink: 0;
  }
  /* line 7209, 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 7221, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.45rem;
  }
  /* line 7225, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 28px;
  }
  /* line 7228, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.45rem;
  }
  /* line 7232, 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 7240, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.3rem;
  }
  /* line 7248, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.45rem;
  }
  /* line 7252, 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 7263, 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 7269, 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 7277, app/assets/stylesheets/dashboard.scss */
.ai-advice-name {
  font-size: 0.875rem;
  color: #64748b;
  font-weight: 500;
}

/* line 7283, app/assets/stylesheets/dashboard.scss */
.ai-advice-content {
  color: #ffffff;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 7288, app/assets/stylesheets/dashboard.scss */
.ai-advice-content p {
  margin-bottom: 0.75rem;
}

/* line 7291, app/assets/stylesheets/dashboard.scss */
.ai-advice-content p:last-child {
  margin-bottom: 0;
}

/* line 7296, app/assets/stylesheets/dashboard.scss */
.ai-advice-content strong {
  color: #00d4aa;
  font-weight: 600;
}

/* line 7301, app/assets/stylesheets/dashboard.scss */
.ai-advice-content em {
  color: #64748b;
  font-style: italic;
}

/* line 7308, 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 7321, app/assets/stylesheets/dashboard.scss */
.refresh-needed i {
  font-size: 0.8rem;
}

/* line 7327, app/assets/stylesheets/dashboard.scss */
.estimated-value {
  font-size: 0.75rem;
  margin-top: 0.25rem;
  font-weight: 500;
}

/* line 7332, app/assets/stylesheets/dashboard.scss */
.estimated-value.positive {
  color: #28a745;
}

/* line 7336, app/assets/stylesheets/dashboard.scss */
.estimated-value.negative {
  color: #dc3545;
}

/* line 7342, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-cell {
  text-align: center;
  vertical-align: middle;
  padding: 0.5rem;
}

/* line 7348, 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 7363, 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 7370, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn i {
  transition: transform 0.3s ease;
}

/* line 7374, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn.expanded i {
  transform: rotate(180deg);
}

/* line 7379, app/assets/stylesheets/dashboard.scss */
.ai-advice-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 7386, 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 7390, app/assets/stylesheets/dashboard.scss */
.ai-advice-row td {
  padding: 0;
  border: none;
}

/* line 7396, app/assets/stylesheets/dashboard.scss */
.ai-advice-cell {
  padding: 1.5rem;
  background: transparent;
}

/* line 7402, 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 7413, 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 7424, 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 7431, 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 7440, 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 7450, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-icon i {
  font-size: 1.25rem;
  color: #00d4aa;
}

/* line 7456, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-title {
  flex: 1;
}

/* line 7459, 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 7467, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-title p {
  color: #64748b;
  font-size: 0.875rem;
  margin: 0;
  font-weight: 500;
}

/* line 7475, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content {
  color: #ffffff;
  line-height: 1.7;
  font-size: 0.9rem;
}

/* line 7480, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text {
  white-space: pre-line;
}

/* line 7483, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text p {
  margin-bottom: 0.75rem;
}

/* line 7486, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text p:last-child {
  margin-bottom: 0;
}

/* line 7491, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text strong {
  color: #00d4aa;
  font-weight: 700;
}

/* line 7496, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-content .ai-analysis-text em {
  color: #64748b;
  font-style: italic;
}

/* line 7505, 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 7510, 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 7519, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-header h5 i {
  font-size: 1.1rem;
}

/* line 7526, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section {
  margin-bottom: 1.5rem;
}

/* line 7529, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .action-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 7535, 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 7541, 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 7546, 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 7556, 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 7565, 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 7574, 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 7579, 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 7589, 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 7598, 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 7602, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-value.positive {
  color: #00d4aa;
}

/* line 7606, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-value.negative {
  color: #ff6b6b;
}

/* line 7616, 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 7620, 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 7624, 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 7634, 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 7643, 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 7653, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .ai-analysis-text strong {
  color: #00a8cc;
}

/* line 7656, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .ai-analysis-text strong::before {
  background: linear-gradient(135deg, #00a8cc, #0077b6);
}

/* line 7665, 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 7678, 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 7684, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-header {
  margin-bottom: 0.75rem;
}

/* line 7687, 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 7696, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-header h5 i {
  font-size: 0.9rem;
}

/* line 7702, 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 7707, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-text p {
  margin-bottom: 0.75rem;
}

/* line 7710, app/assets/stylesheets/dashboard.scss */
.ai-analysis .ai-analysis-text p:last-child {
  margin-bottom: 0;
}

/* line 7718, app/assets/stylesheets/dashboard.scss */
.ai-advice-row {
  transition: all 0.3s ease;
  overflow: hidden;
}

/* line 7722, app/assets/stylesheets/dashboard.scss */
.ai-advice-row.collapsing {
  opacity: 0;
  max-height: 0;
}

/* line 7727, app/assets/stylesheets/dashboard.scss */
.ai-advice-row.expanded {
  opacity: 1;
  max-height: 500px;
}

/* line 7734, 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 7740, app/assets/stylesheets/dashboard.scss */
.watch-out-cards {
  margin-top: 1.5rem;
}

/* line 7744, 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 7754, 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 7764, 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 7771, app/assets/stylesheets/dashboard.scss */
.watch-out-card.events-card::before {
  background: linear-gradient(90deg, #ffa726, #ff9800);
}

/* line 7775, app/assets/stylesheets/dashboard.scss */
.watch-out-card.invest-card::before {
  background: linear-gradient(90deg, #4caf50, #8bc34a);
}

/* line 7779, app/assets/stylesheets/dashboard.scss */
.watch-out-card.avoid-card::before {
  background: linear-gradient(90deg, #f44336, #ff5722);
}

/* line 7783, app/assets/stylesheets/dashboard.scss */
.watch-out-card.timing-card::before {
  background: linear-gradient(90deg, #2196f3, #03a9f4);
}

/* line 7788, 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 7798, app/assets/stylesheets/dashboard.scss */
.watch-out-icon i {
  font-size: 1.25rem;
}

/* line 7802, app/assets/stylesheets/dashboard.scss */
.events-card .watch-out-icon {
  background: rgba(255, 167, 38, 0.2);
  color: #ffa726;
}

/* line 7807, app/assets/stylesheets/dashboard.scss */
.invest-card .watch-out-icon {
  background: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}

/* line 7812, app/assets/stylesheets/dashboard.scss */
.avoid-card .watch-out-icon {
  background: rgba(244, 67, 54, 0.2);
  color: #f44336;
}

/* line 7817, app/assets/stylesheets/dashboard.scss */
.timing-card .watch-out-icon {
  background: rgba(33, 150, 243, 0.2);
  color: #2196f3;
}

/* line 7824, 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 7832, app/assets/stylesheets/dashboard.scss */
.watch-out-content p {
  color: #94a3b8;
  line-height: 1.6;
  font-size: 0.9rem;
  margin: 0;
}

/* line 7841, 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 7851, 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 7860, 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 7867, 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 7874, 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 7874, 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 7874, 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 7898, 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 7898, 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 7898, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.2rem 0.15rem !important;
    min-height: 30px !important;
  }
}

/* line 7924, 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 7930, 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 7930, 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 7930, 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 7953, 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 7953, 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 7953, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.55rem !important;
  }
}

/* line 7968, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item .metric-value.positive {
  color: #28a745 !important;
}

/* line 7972, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item .metric-value.negative {
  color: #dc3545 !important;
}

@media (max-width: 768px) {
  /* line 7874, 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 7874, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }
}

/* line 7991, 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 8011, 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 8020, 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;
  object-fit: contain !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 8040, 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 8049, 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 8057, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover {
  background: rgba(var(--accent-primary-rgb), 0.08);
  padding-right: 0.35rem;
}

/* line 8060, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover .stock-analysis-hint {
  color: var(--accent-primary);
  width: 0.6rem;
  margin-left: 0.15rem;
}

/* line 8065, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover .symbol-tag {
  color: var(--accent-primary);
}

/* line 8072, app/assets/stylesheets/dashboard.scss */
.analysis-toggle-cell {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 1rem 0.75rem !important;
}

/* line 8079, 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 8079, app/assets/stylesheets/dashboard.scss */
  .forecast-cell {
    max-width: 100px !important;
    padding: 0.5rem 0.3rem !important;
  }
}

/* line 8095, 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 8108, 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 8113, 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 8119, 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 8125, 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 8131, 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 8137, 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 8151, app/assets/stylesheets/dashboard.scss */
.medium-term-cell {
  text-align: center;
  vertical-align: middle;
  padding: 1rem 0.75rem !important;
  max-width: 150px !important;
}

/* line 8161, 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 8179, app/assets/stylesheets/dashboard.scss */
.medium-term-btn .btn-action-text {
  font-weight: 700 !important;
}

/* line 8183, 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 8189, 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 8193, app/assets/stylesheets/dashboard.scss */
.medium-term-btn:hover .btn-info-icon {
  opacity: 1;
}

/* line 8198, app/assets/stylesheets/dashboard.scss */
.medium-term-btn:focus {
  outline: none !important;
}

/* line 8202, app/assets/stylesheets/dashboard.scss */
.medium-term-btn:active {
  transform: translateY(0) !important;
}

@media (min-width: 1024px) and (max-width: 1279px) {
  /* line 8161, 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 8213, 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 8161, 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 8226, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn .btn-info-icon {
    font-size: 0.35rem !important;
  }
}

@media (max-width: 767px) {
  /* line 8161, 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 8239, app/assets/stylesheets/dashboard.scss */
  .medium-term-btn .btn-info-icon {
    font-size: 0.45rem !important;
  }
}

/* line 8245, 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 8251, 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 8257, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy:focus {
  box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.25) !important;
}

/* line 8263, 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 8269, 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 8275, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell:focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25) !important;
}

/* line 8281, 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 8287, 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 8293, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold:focus {
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.25) !important;
}

/* line 8299, 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 8305, 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 8311, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait:focus {
  box-shadow: 0 0 0 3px rgba(0, 168, 255, 0.25) !important;
}

/* line 8319, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .modal-content {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
}

/* line 8324, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .modal-header {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

/* line 8328, app/assets/stylesheets/dashboard.scss */
#medium-term-modal .modal-title {
  font-size: 1rem;
  font-weight: 600;
}

/* line 8333, 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 8338, 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 8363, 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 8381, 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 8388, 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 8393, 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 8398, 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 8405, 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 8411, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn[aria-expanded="true"] i {
  transform: rotate(90deg) !important;
}

/* line 8415, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn[aria-expanded="false"] i {
  transform: rotate(0deg) !important;
}

/* line 8422, 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 8444, 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 8450, 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 8457, 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 8463, 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 8468, 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 8475, 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 8483, 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 8493, 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 8497, 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 8502, 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 8511, 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 8518, 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 8522, 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 8527, 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 8539, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-cell {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* line 8545, 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 8560, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card.chart-dropdown-card-pro {
  max-width: 800px;
  padding: 1.25rem;
}

/* line 8566, 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 8575, 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 8580, 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 8588, 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 8591, 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 8598, 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 8609, 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 8614, 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 8623, 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 8630, 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 8636, 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 8644, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-stats {
  display: flex;
  gap: 1rem;
}

/* line 8648, 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 8653, 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 8659, 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 8667, 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 8675, 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 8681, 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 8685, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary .summary-value.positive {
  color: #22c55e;
}

/* line 8686, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary .summary-value.negative {
  color: #ef4444;
}

/* line 8692, 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 8701, 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 8708, 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 8714, 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 8728, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions .btn-see-more i {
  font-size: 0.65rem;
}

/* line 8730, 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 8740, 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 8744, 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 8751, 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 8756, 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 8763, 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 8769, 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 8778, 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 8784, 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 8786, 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 8791, 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 8796, 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 8797, 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 8799, 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 8802, 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 8803, 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 8808, 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 8814, 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 8831, 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 8833, 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 8845, 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 8851, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section {
    padding: 0.75rem;
    gap: 0.5rem;
  }
  /* line 8855, 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 8860, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .chart-title {
    font-size: 0.75rem;
  }
  /* line 8864, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .period-selector {
    width: 100%;
    justify-content: space-between;
  }
  /* line 8868, 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 8876, 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 8881, 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 8887, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats {
    gap: 0.6rem;
  }
  /* line 8891, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-label {
    font-size: 0.6rem;
  }
  /* line 8892, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-value {
    font-size: 0.65rem;
  }
  /* line 8896, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary {
    padding: 0.25rem 0.5rem;
  }
  /* line 8899, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-label {
    font-size: 0.6rem;
  }
  /* line 8900, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-value {
    font-size: 0.75rem;
  }
  /* line 8904, 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 8911, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 8915, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 140px;
  }
  /* line 8919, 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 8925, 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 8930, 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 8931, 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 8932, 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 8935, 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 8945, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card {
    max-width: 400px;
    padding: 0.9rem;
  }
  /* line 8949, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card.chart-dropdown-card-pro {
    max-width: 650px;
  }
  /* line 8954, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-container {
    height: 110px;
  }
  /* line 8959, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    gap: 1rem;
  }
  /* line 8962, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 160px;
  }
  /* line 8966, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel {
    width: 160px;
  }
  /* line 8969, 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 8971, 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 8972, 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 8975, 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 8985, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row {
  background: rgba(15, 23, 42, 0.95) !important;
}

/* line 8989, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-cell {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* line 8995, 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 8995, 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 8995, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .ai-analysis-row .ai-analysis-card {
    overflow: visible !important;
    max-height: none !important;
  }
}

/* line 9020, 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 9025, 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 9036, 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 9047, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-icon {
  margin-right: 1rem !important;
}

/* line 9050, 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 9056, 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 9062, 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 9069, 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 9075, 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 9091, 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 9095, 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 9100, 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 9107, 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 9112, 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 9118, 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 9127, 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 9135, 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 9141, 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 9151, 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 9160, 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 9169, 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 9174, 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 9178, 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 9182, 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 9199, 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 9205, 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 9210, 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 9216, 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 9220, 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 9224, 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 9228, 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 9241, 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 9249, 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 9254, 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 9263, 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 9277, 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 9287, 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 9294, 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 9301, app/assets/stylesheets/dashboard.scss */
[data-bs-toggle="tooltip"] {
  cursor: help;
}

/* line 9306, 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 9320, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 9326, 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 9336, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 9341, 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 9348, 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 9355, 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 9395, app/assets/stylesheets/dashboard.scss */
.last-updated-text {
  color: #64748b;
  font-size: 0.875rem;
  transition: all 0.3s ease;
}

/* line 9402, app/assets/stylesheets/dashboard.scss */
#last-updated-container {
  transition: all 0.3s ease;
}

/* line 9405, app/assets/stylesheets/dashboard.scss */
#last-updated-container.hidden {
  opacity: 0;
  transform: translateY(-10px);
}

/* line 9411, app/assets/stylesheets/dashboard.scss */
#inline-loading-component {
  transition: all 0.3s ease;
}

/* line 9414, app/assets/stylesheets/dashboard.scss */
#inline-loading-component.show {
  display: flex !important;
  animation: slideInFromRight 0.3s ease-out;
}

/* line 9421, app/assets/stylesheets/dashboard.scss */
.btn.disabled,
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 9427, app/assets/stylesheets/dashboard.scss */
.btn.disabled:hover,
.btn:disabled:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* line 9434, app/assets/stylesheets/dashboard.scss */
.refresh-btn-wrapper {
  display: inline-block;
  cursor: not-allowed;
}

/* line 9440, 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 9449, 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 9456, 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 9464, 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 9472, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning .fas.fa-exclamation-triangle {
  color: #ffa726;
  font-size: 1.2rem;
}

/* line 9477, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning strong {
  color: #ffa726;
  font-weight: 600;
}

/* line 9482, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning p {
  color: #94a3b8;
  font-size: 0.9rem;
  margin-top: 0.5rem;
}

/* line 9489, 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 9498, 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 9498, 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 9531, 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 9553, app/assets/stylesheets/dashboard.scss */
.price-header-info:hover {
  color: #fff !important;
  background: rgba(0, 212, 170, 0.4) !important;
}

/* line 9560, 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 9570, 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 9581, 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 9589, 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 9601, 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 9609, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-8 {
    flex: 1;
    min-width: 0;
  }
  /* line 9614, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4 {
    flex: 0 0 auto;
    width: auto !important;
  }
  /* line 9619, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4.text-end {
    text-align: right !important;
  }
  /* line 9622, 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 9601, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center {
    gap: 0.35rem;
  }
  /* line 9633, 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 9637, 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 9644, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .dashboard-subtitle {
    display: none !important;
  }
}

/* line 9653, 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 9653, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulations-grid {
    grid-template-columns: 1fr;
  }
}

/* line 9663, 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 9669, 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 9675, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card .card-body {
  padding: 1.5rem;
}

/* line 9679, 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 9688, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 1rem;
  }
  /* line 9692, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 1rem;
  }
  /* line 9696, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.8rem !important;
  }
  /* line 9699, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.75rem !important;
  }
  /* line 9705, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    gap: 0.5rem;
  }
  /* line 9709, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    min-width: 0;
  }
  /* line 9716, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.7rem !important;
  }
  /* line 9720, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 1rem !important;
  }
  /* line 9725, 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 9732, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 0.75rem;
  }
  /* line 9736, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-start {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 9741, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 0.9rem;
    padding-right: 0;
  }
  /* line 9746, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.7rem !important;
    margin-bottom: 0.25rem !important;
  }
  /* line 9750, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.65rem !important;
  }
  /* line 9755, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .position-relative .badge-status {
    font-size: 0.6rem;
    padding: 0.3rem 0.6rem;
  }
  /* line 9760, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics {
    margin-bottom: 0.75rem !important;
  }
  /* line 9763, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.25rem;
  }
  /* line 9769, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    padding: 0 0.25rem;
  }
  /* line 9775, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item {
    text-align: center;
  }
  /* line 9778, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.6rem !important;
    white-space: nowrap;
  }
  /* line 9783, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 0.85rem !important;
    word-break: break-word;
  }
  /* line 9789, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-center {
    gap: 0.5rem;
  }
  /* line 9792, 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 9801, 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 9809, 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 9815, 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 9822, 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 9828, 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 9836, app/assets/stylesheets/dashboard.scss */
.simulations-section .metric-item .metric-label {
  display: block;
  font-size: 0.875rem;
  color: #64748b;
  margin-bottom: 0.25rem;
}

/* line 9843, 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 9855, 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 9863, 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 9870, 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 9880, 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 9887, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.7rem !important;
  }
  /* line 9891, 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 9896, 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 9905, 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 9914, 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 9922, app/assets/stylesheets/dashboard.scss */
  .predictions-column .row {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }
  /* line 9929, 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 9937, app/assets/stylesheets/dashboard.scss */
  .predictions-column .best-case-card,
.predictions-column .worst-case-card {
    display: none !important;
  }
  /* line 9943, 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 9959, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 9965, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon i {
    font-size: 1rem !important;
  }
  /* line 9969, 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 9976, 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 9982, 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 9990, app/assets/stylesheets/dashboard.scss */
  .events-column {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
  }
  /* line 9997, app/assets/stylesheets/dashboard.scss */
  .events-column .card {
    height: 100% !important;
  }
}

@media (max-width: 1024px) {
  /* line 10003, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.75rem !important;
  }
  /* line 10006, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 10009, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 10014, 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 10021, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.75rem !important;
  }
  /* line 10027, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* line 10031, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    min-width: 100% !important;
    font-size: 0.7rem !important;
  }
  /* line 10035, 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 10042, 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 10052, 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 10058, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 {
    padding: 0.08rem !important;
  }
  /* line 10062, 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 10067, 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 10074, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.55rem !important;
  }
  /* line 10078, 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 10085, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.5rem !important;
  }
  /* line 10088, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 10091, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 10095, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header p {
    font-size: 0.55rem !important;
    display: none !important;
  }
  /* line 10101, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.5rem !important;
  }
  /* line 10108, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    font-size: 0.6rem !important;
  }
  /* line 10111, 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 10117, 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 10127, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-group {
  margin-bottom: 1.5rem;
}

/* line 10131, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-label {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

/* line 10137, 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 10145, 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 10153, 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 10159, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* line 10163, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check .form-check-input {
  margin-top: 0.25rem;
}

/* line 10166, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check .form-check-input:checked {
  background-color: #00d4aa;
  border-color: #00d4aa;
}

/* line 10172, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-check .form-check-label {
  color: #ffffff;
  cursor: pointer;
  padding-left: 0.5rem;
}

/* line 10179, 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 10185, 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 10190, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card .card-header h5 {
  margin: 0;
  color: #ffffff;
  font-weight: 600;
}

/* line 10196, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card .card-header .text-muted {
  font-size: 0.875rem;
  color: #64748b;
}

/* line 10202, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card .card-body {
  padding: 1.5rem;
}

/* line 10211, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .section-header {
  margin-bottom: 2rem;
}

/* line 10214, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .section-header h1 {
  color: #ffffff;
  margin-bottom: 1rem;
}

/* line 10218, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .section-header h1 i {
  color: #00d4aa;
  margin-right: 0.5rem;
}

/* line 10225, 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 10231, 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 10237, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card .card-body {
  padding: 1.5rem;
}

/* line 10241, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card h3 {
  color: #ffffff;
  font-weight: 700;
  font-size: 2rem;
}

/* line 10247, 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 10255, 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 10262, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card:hover {
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 10266, 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 10271, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 {
  margin: 0;
  color: #ffffff;
  font-weight: 600;
}

/* line 10276, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 i {
  color: #00d4aa;
  margin-right: 0.5rem;
}

/* line 10283, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body {
  padding: 1.5rem;
}

/* line 10288, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .narrative-content {
  color: #94a3b8;
  line-height: 1.8;
  font-size: 1rem;
}

/* line 10293, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .narrative-content p {
  margin-bottom: 1rem;
}

/* line 10298, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table {
  color: #ffffff;
}

/* line 10301, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table thead {
  background: rgba(255, 255, 255, 0.05);
}

/* line 10304, 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 10315, 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 10319, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 10324, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody td {
  color: #94a3b8;
  padding: 1rem;
}

/* line 10328, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table tbody td strong {
  color: #ffffff;
}

/* line 10332, 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 10342, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section ul {
  list-style: none;
  padding-left: 0;
}

/* line 10346, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section ul li {
  padding: 0.5rem 0;
  color: #94a3b8;
  position: relative;
  padding-left: 1.5rem;
}

/* line 10352, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section ul li:before {
  content: "•";
  color: #00d4aa;
  font-weight: bold;
  position: absolute;
  left: 0;
}

/* line 10363, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section canvas {
  max-height: 400px;
}

/* line 10368, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card {
  background: #1a1f3a;
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 10372, 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 10376, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 {
  color: #ffffff;
}

/* line 10379, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header h5 i {
  color: #00d4aa;
}

/* line 10384, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-header .text-muted {
  color: #718096 !important;
}

/* line 10389, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body {
  background: #1a1f3a;
  color: #a0aec0;
}

/* line 10393, 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 10397, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body h6 {
  color: #ffffff;
}

/* line 10401, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card .card-body strong {
  color: #ffffff;
}

/* line 10411, 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 10423, 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 10432, 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 10443, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-icon .emoji, .social-sentiment-section .mood-icon .emoji {
  font-size: 2rem;
  line-height: 1;
}

/* line 10448, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .updated-icon {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
  font-size: 1.5rem;
}

/* line 10455, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-content, .social-sentiment-section .mood-content, .social-sentiment-section .updated-content {
  flex: 1;
}

/* line 10459, 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 10468, 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 10477, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .updated-time {
  font-size: 0.85rem;
  color: #64748b;
  margin-top: 0.25rem;
}

/* line 10483, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .trend-icon, .social-sentiment-section .mood-indicator {
  font-size: 1.25rem;
}

/* line 10489, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-icon {
  background: rgba(0, 212, 170, 0.2);
}

/* line 10493, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-value {
  color: #00d4aa;
}

/* line 10500, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bearish .sentiment-icon {
  background: rgba(255, 107, 107, 0.2);
}

/* line 10504, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bearish .sentiment-value {
  color: #ff6b6b;
}

/* line 10511, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-neutral .sentiment-icon {
  background: rgba(160, 174, 192, 0.2);
}

/* line 10515, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-neutral .sentiment-value {
  color: #94a3b8;
}

/* line 10522, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-icon {
  background: rgba(0, 212, 170, 0.2);
}

/* line 10526, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-value {
  color: #00d4aa;
}

/* line 10533, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-cautious .mood-icon {
  background: rgba(255, 167, 38, 0.2);
}

/* line 10537, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-cautious .mood-value {
  color: #ffa726;
}

/* line 10544, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-fearful .mood-icon {
  background: rgba(255, 107, 107, 0.2);
}

/* line 10548, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-fearful .mood-value {
  color: #ff6b6b;
}

/* line 10555, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-mixed .mood-icon {
  background: rgba(160, 174, 192, 0.2);
}

/* line 10559, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-mixed .mood-value {
  color: #94a3b8;
}

/* line 10565, 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 10572, 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 10582, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-summary p {
  color: #94a3b8;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

/* line 10591, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section {
  margin-bottom: 1.5rem;
}

/* line 10594, 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 10603, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section h4 i {
  color: #ffa726;
}

/* line 10608, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .alerts-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 10614, 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 10620, 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 10624, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-danger i {
  color: #ff6b6b;
}

/* line 10629, 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 10633, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-warning i {
  color: #ffa726;
}

/* line 10638, 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 10642, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-info i {
  color: #00a8ff;
}

/* line 10647, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card strong {
  font-size: 1rem;
  color: #ffffff;
}

/* line 10652, 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 10659, 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 10665, 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 10672, 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 10679, 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 10689, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 10693, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link:hover i {
  transform: translateX(3px);
}

/* line 10698, 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 10707, 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 10715, 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 10720, 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 10726, 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 10735, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header h5 i {
  color: #00d4aa;
}

/* line 10738, 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 10747, 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 10753, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-meter {
  width: 180px;
  text-align: center;
}

/* line 10758, 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 10764, 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 10778, 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 10791, 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 10803, 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 10817, 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 10825, 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 10833, 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 10842, 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 10847, 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 10853, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale .scale-fear {
  color: #dc2626;
}

/* line 10854, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale .scale-greed {
  color: #22c55e;
}

/* line 10857, 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 10863, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-history .fgi-history-item {
  text-align: center;
}

/* line 10866, 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 10873, 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 10882, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-fear {
  border-left: 4px solid #dc2626;
}

/* line 10884, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-fear .fgi-center .fgi-label {
  color: #dc2626;
}

/* line 10886, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-fear {
  border-left: 4px solid #f97316;
}

/* line 10888, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-fear .fgi-center .fgi-label {
  color: #f97316;
}

/* line 10890, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-neutral {
  border-left: 4px solid #eab308;
}

/* line 10892, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-neutral .fgi-center .fgi-label {
  color: #eab308;
}

/* line 10894, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-greed {
  border-left: 4px solid #84cc16;
}

/* line 10896, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-greed .fgi-center .fgi-label {
  color: #84cc16;
}

/* line 10898, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-greed {
  border-left: 4px solid #22c55e;
}

/* line 10900, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card.fgi-extreme-greed .fgi-center .fgi-label {
  color: #22c55e;
}

/* line 10904, 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 10912, 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 10917, 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 10923, 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 10932, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header h5 i {
  color: #00a8ff;
}

/* line 10935, 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 10944, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-value-container {
  text-align: center;
  margin-bottom: 1.5rem;
}

/* line 10948, 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 10955, 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 10965, 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 10970, 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 10977, 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 10983, 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 10993, 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 11002, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-low {
  border-left: 4px solid #22c55e;
}

/* line 11004, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-low .vix-value-big {
  color: #22c55e;
}

/* line 11005, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-low .vix-status {
  color: #22c55e;
}

/* line 11007, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-normal {
  border-left: 4px solid #eab308;
}

/* line 11009, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-normal .vix-value-big {
  color: #eab308;
}

/* line 11010, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-normal .vix-status {
  color: #eab308;
}

/* line 11012, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-elevated {
  border-left: 4px solid #f97316;
}

/* line 11014, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-elevated .vix-value-big {
  color: #f97316;
}

/* line 11015, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-elevated .vix-status {
  color: #f97316;
}

/* line 11017, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-high {
  border-left: 4px solid #dc2626;
}

/* line 11019, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-high .vix-value-big {
  color: #dc2626;
}

/* line 11020, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-high .vix-status {
  color: #dc2626;
}

/* line 11026, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .alerts-fgi-row {
  align-items: start;
}

/* line 11030, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .alerts-fgi-row .alerts-column .market-alerts-section {
  margin-bottom: 0 !important;
}

/* line 11035, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .alerts-fgi-row .fgi-vix-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 11043, 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 11049, 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 11055, 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 11063, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-section-header h4 i {
  color: #00d4aa;
}

/* line 11066, 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 11073, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-section-header .fgi-source-link:hover {
  opacity: 1;
  color: #00d4aa;
}

/* line 11081, 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 11089, 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 11098, 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 11109, 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 11122, 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 11128, 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 11137, 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 11142, 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 11149, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-list {
  display: flex;
  flex-direction: column;
}

/* line 11154, 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 11161, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 11166, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row.fgi-history-first {
  padding-top: 0;
}

/* line 11170, 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 11175, 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 11182, 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 11188, 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 11204, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .fear-greed-section-compact .fgi-history-row {
    padding: 0.5rem 0;
  }
  /* line 11207, 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 11211, 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 11221, 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 11229, 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 11234, 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 11240, 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 11249, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact h6 i {
  color: #00a8ff;
}

/* line 11252, 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 11258, 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 11264, 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 11269, 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 11273, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact.change-up {
  color: #dc2626;
}

/* line 11276, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact.change-down {
  color: #22c55e;
}

/* line 11280, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact i {
  margin-right: 0.2rem;
}

/* line 11284, 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 11288, 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 11297, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-low {
  border-left: 4px solid #22c55e;
}

/* line 11299, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-low .vix-value-compact {
  color: #22c55e;
}

/* line 11300, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-low .vix-status-compact {
  color: #22c55e;
}

/* line 11302, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-normal {
  border-left: 4px solid #eab308;
}

/* line 11304, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-normal .vix-value-compact {
  color: #eab308;
}

/* line 11305, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-normal .vix-status-compact {
  color: #eab308;
}

/* line 11307, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-elevated {
  border-left: 4px solid #f97316;
}

/* line 11309, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-elevated .vix-value-compact {
  color: #f97316;
}

/* line 11310, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-elevated .vix-status-compact {
  color: #f97316;
}

/* line 11312, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-high {
  border-left: 4px solid #dc2626;
}

/* line 11314, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-high .vix-value-compact {
  color: #dc2626;
}

/* line 11315, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact.vix-high .vix-status-compact {
  color: #dc2626;
}

/* line 11320, 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 11331, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 11337, 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 11345, 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 11353, 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 11360, 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 11369, 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 11377, 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 11383, 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 11390, 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 11398, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-symbol {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 11404, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-symbol strong {
  font-size: 1.3rem;
  color: #ffffff;
  font-weight: 800;
}

/* line 11411, 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 11423, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-mentions i {
  color: #ffa726;
}

/* line 11428, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-reason p {
  color: #94a3b8;
  margin: 0;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* line 11436, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1rem;
}

/* line 11442, 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 11449, 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 11454, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-up {
  border-left: 4px solid #00d4aa;
}

/* line 11458, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-down {
  border-left: 4px solid #ff6b6b;
}

/* line 11462, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-stable {
  border-left: 4px solid #94a3b8;
}

/* line 11467, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 11473, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-header .commodity-name {
  font-weight: 700;
  font-size: 1rem;
  color: #ffffff;
}

/* line 11479, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-header .commodity-symbol {
  font-size: 0.85rem;
}

/* line 11484, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 11490, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price .price {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
}

/* line 11496, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price .change {
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 11500, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-price .change i {
  margin-right: 0.25rem;
}

/* line 11506, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-insight p {
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
  font-size: 0.85rem;
}

/* line 11513, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-warning {
  margin: 0.5rem 0;
  font-size: 0.75rem;
}

/* line 11517, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-warning i {
  margin-right: 0.25rem;
}

/* line 11522, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .change-type {
  font-size: 0.7rem;
  color: #94a3b8;
  margin-left: 0.25rem;
}

/* line 11529, 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 11535, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-value-display {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 11541, 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 11550, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-label {
  font-weight: 600;
  color: #94a3b8;
  font-size: 0.9rem;
}

/* line 11556, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number {
  font-size: 1.75rem;
  font-weight: 700;
}

/* line 11560, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number.vix-normal {
  color: #22c55e;
}

/* line 11564, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number.vix-elevated {
  color: #f59e0b;
}

/* line 11568, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number.vix-high {
  color: #ef4444;
}

/* line 11573, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-change {
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 11578, 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 11587, 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 11593, 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 11599, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column.outperforming {
  border-left: 4px solid #00d4aa;
}

/* line 11603, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column.underperforming {
  border-left: 4px solid #ff6b6b;
}

/* line 11608, 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 11616, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column-title i {
  font-size: 0.9rem;
}

/* line 11621, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sectors-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 11627, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-item {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  padding: 0.75rem;
}

/* line 11632, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-item.sector-up {
  border-left: 3px solid #00d4aa;
}

/* line 11636, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-item.sector-down {
  border-left: 3px solid #ff6b6b;
}

/* line 11641, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-name {
  font-weight: 700;
  color: #ffffff;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

/* line 11648, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-change {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

/* line 11654, 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 11661, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-stocks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.5rem;
}

/* line 11667, 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 11675, 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 11683, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal i {
  margin-right: 0.5rem;
  color: #8b5cf6;
}

/* line 11688, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal strong {
  color: #8b5cf6;
}

/* line 11694, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .events-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 11700, 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 11708, 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 11715, 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 11722, 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 11731, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-context {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 11735, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-context p {
  color: #94a3b8;
  line-height: 1.6;
  margin: 0;
  font-size: 0.9rem;
}

/* line 11743, 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 11750, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-sectors strong {
  color: #94a3b8;
  font-size: 0.85rem;
}

/* line 11756, 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 11767, 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 11776, 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 11785, 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 11794, 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 11803, 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 11812, 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 11821, 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 11830, 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 11840, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state {
  text-align: center;
  padding: 3rem 2rem;
}

/* line 11844, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state .empty-icon {
  font-size: 4rem;
  color: #64748b;
  margin-bottom: 1.5rem;
}

/* line 11849, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state .empty-icon i {
  opacity: 0.5;
}

/* line 11854, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state h3 {
  color: #ffffff;
  margin-bottom: 0.75rem;
  font-size: 1.5rem;
}

/* line 11860, 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 11901, 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 11913, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

/* line 11917, 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 11925, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .market-emoji {
  font-size: 1.25rem;
}

/* line 11929, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .analysis-text {
  color: #00d4aa;
  font-size: 0.9rem;
  font-weight: 500;
}

/* line 11935, 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 11946, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .next-day-badge i {
  font-size: 0.65rem;
}

@media (max-width: 768px) {
  /* line 11901, app/assets/stylesheets/dashboard.scss */
  .market-analysis-banner {
    flex-direction: column;
    padding: 0.5rem 0.75rem;
  }
  /* line 11957, app/assets/stylesheets/dashboard.scss */
  .market-analysis-banner .analysis-market-item {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
  /* line 11962, 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 11981, app/assets/stylesheets/dashboard.scss */
.simulation-card,
.metric-card {
  animation: slideIn 0.5s ease-out;
}

/* line 11987, app/assets/stylesheets/dashboard.scss */
.processing-steps {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
}

/* line 11993, 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 12004, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
  z-index: 1;
}

/* line 12011, 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 12023, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step .step-icon i {
  font-size: 1rem;
  color: #718096;
  transition: all 0.3s ease;
}

/* line 12031, 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 12035, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.active .step-icon i {
  color: #00d4aa;
}

/* line 12041, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.active .step-content h6 {
  color: #ffffff;
}

/* line 12048, 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 12052, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.completed .step-icon i {
  color: #28a745;
}

/* line 12059, 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 12063, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.pending .step-icon i {
  color: #718096;
}

/* line 12069, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.pending .step-content h6 {
  color: #718096;
}

/* line 12073, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.pending .step-content p {
  color: #718096;
}

/* line 12079, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step .step-content {
  flex: 1;
}

/* line 12082, 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 12090, 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 12101, 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 12112, app/assets/stylesheets/dashboard.scss */
.badge-status i {
  font-size: 0.75rem;
}

/* line 12116, 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 12122, 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 12127, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-processing i.fa-spin {
  animation: fa-spin 2s infinite linear;
}

/* line 12132, 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 12138, 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 12148, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card-body .refresh-status-component .refresh-status-text {
  display: none;
}

@media (max-width: 1024px) {
  /* line 12162, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card {
    padding: 0.75rem !important;
  }
  /* line 12165, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header {
    margin-bottom: 0.4rem !important;
  }
  /* line 12168, 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 12174, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-name {
    font-size: 0.6rem !important;
    padding: 0.15rem 0.35rem !important;
  }
  /* line 12179, 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 12184, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item {
    padding: 0.35rem !important;
  }
  /* line 12187, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-label {
    font-size: 0.55rem !important;
  }
  /* line 12191, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-value {
    font-size: 0.75rem !important;
  }
  /* line 12197, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .confidence-badge {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 12202, 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 12209, 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 12214, 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 12220, 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 12231, 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 12238, 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 12242, 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 12246, 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 12252, 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 12260, 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 12265, 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 12272, 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 12279, 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 12284, 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 12288, 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 12293, 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 12297, 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 12302, 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 12307, 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 12311, 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 12316, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.8rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 12321, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.65rem !important;
  }
  /* line 12324, 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 12328, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card p, .social-sentiment-section .sentiment-summary p {
    font-size: 0.7rem !important;
  }
  /* line 12334, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.55rem !important;
  }
  /* line 12337, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 12341, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.65rem !important;
  }
  /* line 12345, 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 12352, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.4rem !important;
  }
  /* line 12356, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.55rem !important;
  }
  /* line 12359, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 12363, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 12367, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.65rem !important;
  }
  /* line 12371, 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 12380, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.65rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 12385, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 12389, 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 12395, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 12399, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 12402, 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 12417, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header h2 {
    font-size: 0.95rem !important;
  }
  /* line 12422, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card {
    padding: 0.4rem !important;
    margin-bottom: 0.3rem !important;
  }
  /* line 12426, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header {
    margin-bottom: 0.3rem !important;
  }
  /* line 12429, 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 12435, 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 12441, 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 12446, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item {
    padding: 0.25rem !important;
  }
  /* line 12449, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 12453, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-value {
    font-size: 0.65rem !important;
  }
  /* line 12459, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .confidence-badge {
    font-size: 0.5rem !important;
    padding: 0.1rem 0.2rem !important;
  }
  /* line 12464, 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 12472, 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 12477, 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 12483, 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 12491, 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 12499, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section h3, .social-sentiment-section .section-title {
    font-size: 0.95rem !important;
  }
  /* line 12504, 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 12511, 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 12515, 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 12519, 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 12525, 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 12533, 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 12538, 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 12545, 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 12552, 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 12557, 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 12561, 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 12566, 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 12570, 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 12575, 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 12579, 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 12584, 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 12588, 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 12594, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.85rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 12600, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.7rem !important;
  }
  /* line 12603, 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 12607, 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 12614, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.6rem !important;
  }
  /* line 12617, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 12621, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 12625, 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 12632, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 12636, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.5rem !important;
  }
  /* line 12639, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 12643, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 12647, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.7rem !important;
  }
  /* line 12651, 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 12660, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item {
    padding: 0.5rem !important;
  }
  /* line 12663, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 12667, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 12671, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-meta {
    font-size: 0.6rem !important;
  }
  /* line 12679, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.6rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 12684, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 12688, 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 12694, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 12698, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 12701, 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 12716, app/assets/stylesheets/dashboard.scss */
.truncated-text {
  position: relative;
}

/* line 12719, 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 12729, 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 12741, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 12746, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn i {
  margin-left: 0.2rem;
  font-size: 0.55rem;
}

/* line 12755, 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 12769, 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 12777, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .read-more-trigger:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 12785, 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 12789, 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 12795, app/assets/stylesheets/dashboard.scss */
.read-more-block-enabled:active {
  transform: translateY(0);
}

/* line 12802, 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 12812, 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 12820, app/assets/stylesheets/dashboard.scss */
.opportunities-section .read-more-trigger:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 12828, 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 12845, app/assets/stylesheets/dashboard.scss */
.read-more-modal.active {
  opacity: 1;
  visibility: visible;
}

/* line 12850, 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 12861, app/assets/stylesheets/dashboard.scss */
.active .read-more-modal .modal-content {
  transform: translateY(0);
}

/* line 12866, 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 12873, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-header h5 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
}

/* line 12879, 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 12888, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-header .close-modal:hover {
  color: #00d4aa;
}

/* line 12894, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-body {
  padding: 1rem;
  overflow-y: auto;
  max-height: calc(80vh - 60px);
}

/* line 12899, 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 12905, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-body p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  /* line 12914, 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 12928, app/assets/stylesheets/dashboard.scss */
  .read-more-modal {
    padding: 0.5rem;
  }
  /* line 12931, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-content {
    max-height: 90vh;
    border-radius: 8px;
  }
  /* line 12936, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header {
    padding: 0.75rem;
  }
  /* line 12939, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header h5 {
    font-size: 0.85rem;
  }
  /* line 12944, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body {
    padding: 0.75rem;
  }
  /* line 12947, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body p {
    font-size: 0.8rem;
  }
  /* line 12953, 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 12968, 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 12978, 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 12992, app/assets/stylesheets/dashboard.scss */
.db-bubble:hover {
  transform: translateY(-2px);
}

/* line 12994, app/assets/stylesheets/dashboard.scss */
.db-bubble:hover .db-bubble-icon {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

/* line 12997, app/assets/stylesheets/dashboard.scss */
.db-bubble:active {
  transform: translateY(0);
}

/* line 12999, 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 13013, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-emoji {
  font-size: 1.4rem;
  line-height: 1;
}

/* line 13018, 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 13029, 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 13039, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-dot.dot-critical {
  background: #ff6b6b;
  animation: pulse-dot 1.5s ease-in-out infinite;
}

/* line 13047, 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 13051, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bullish .db-bubble-icon i {
  color: #22c55e;
}

/* line 13053, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bullish .db-bubble-label {
  color: #22c55e;
}

/* line 13057, 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 13061, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bearish .db-bubble-icon i {
  color: #ff6b6b;
}

/* line 13063, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-bearish .db-bubble-label {
  color: #ff6b6b;
}

/* line 13067, 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 13071, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-warning .db-bubble-icon i {
  color: #ffa726;
}

/* line 13073, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-warning .db-bubble-label {
  color: #ffa726;
}

/* line 13077, 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 13081, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-neutral .db-bubble-icon i {
  color: #94a3b8;
}

/* line 13085, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-locked {
  opacity: 0.8;
}

/* line 13086, 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 13090, 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 13102, app/assets/stylesheets/dashboard.scss */
.db-modal {
  z-index: 1070 !important;
}

/* line 13105, app/assets/stylesheets/dashboard.scss */
.db-modal.show {
  z-index: 1070 !important;
}

/* line 13107, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-dialog {
  z-index: 1071 !important;
  max-height: none !important;
}

/* line 13112, 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 13120, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1rem 1.25rem;
}

/* line 13123, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-header h5 {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
}

/* line 13126, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-body {
  padding: 1.25rem;
  overflow-y: visible !important;
  max-height: none !important;
}

/* line 13132, 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 13137, app/assets/stylesheets/dashboard.scss */
.db-modal .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.2);
  color: #94a3b8;
}

/* line 13140, app/assets/stylesheets/dashboard.scss */
.db-modal .btn-outline-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

/* line 13144, 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 13150, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-bullish {
  background: rgba(34, 197, 94, 0.1);
  border-left-color: #22c55e;
}

/* line 13151, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-bearish {
  background: rgba(239, 68, 68, 0.1);
  border-left-color: #ff6b6b;
}

/* line 13152, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-warning {
  background: rgba(255, 167, 38, 0.1);
  border-left-color: #ffa726;
}

/* line 13153, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-neutral {
  background: rgba(148, 163, 184, 0.08);
  border-left-color: #64748b;
}

/* line 13155, app/assets/stylesheets/dashboard.scss */
.db-modal-alert p, .db-modal-alert .small, .db-modal-alert small {
  font-size: 0.78rem !important;
}

/* line 13157, 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 13167, app/assets/stylesheets/dashboard.scss */
.db-modal-sentiment .db-fgi-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 70px;
}

/* line 13173, app/assets/stylesheets/dashboard.scss */
.db-modal-sentiment .db-fgi-display .db-fgi-value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

/* line 13178, 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 13187, app/assets/stylesheets/dashboard.scss */
.db-modal-pizzacon .db-pizzacon-emoji {
  font-size: 2.2rem;
  line-height: 1;
}

/* line 13189, 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 13195, 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 13206, 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 13207, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 65px;
    gap: 0.2rem;
  }
  /* line 13210, 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 13217, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.15rem;
  }
  /* line 13218, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.55rem;
    max-width: 55px;
  }
  /* line 13219, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 8px;
    height: 8px;
    transform: translateX(21px);
  }
  /* line 13221, 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 13231, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
  }
  /* line 13237, 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 13257, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  /* line 13262, 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 13267, 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 13273, 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 13278, 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 13294, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner {
  margin-bottom: 1rem;
}

/* line 13298, app/assets/stylesheets/dashboard.scss */
.combined-alerts-grid {
  display: grid;
  gap: 0.75rem;
}

/* line 13303, app/assets/stylesheets/dashboard.scss */
.combined-alerts-grid.alerts-count-1 {
  grid-template-columns: 1fr;
}

/* line 13308, app/assets/stylesheets/dashboard.scss */
.combined-alerts-grid.alerts-count-2 {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 991px) {
  /* line 13308, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
}

/* line 13317, 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 13323, 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 13331, 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 13340, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header h5 i {
  font-size: 0.75rem;
  color: #ffa726;
}

/* line 13346, 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 13353, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header .section-link:hover {
  color: #00d4aa;
  background: rgba(255, 255, 255, 0.05);
}

/* line 13360, app/assets/stylesheets/dashboard.scss */
.alert-section-card.geo-crisis-section .alert-section-header h5 i {
  color: #ff6b6b;
}

/* line 13366, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini {
  position: relative;
}

/* line 13369, 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 13384, 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 13392, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .premium-lock i {
  margin-right: 0.3rem;
}

/* line 13397, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .subscription-gated-content-mini {
  filter: blur(2px);
  pointer-events: none;
}

/* line 13404, app/assets/stylesheets/dashboard.scss */
.alert-emoji {
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

/* line 13413, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion {
  border-radius: 6px;
  border: none;
  border-left: 3px solid;
  overflow: hidden;
}

/* line 13419, 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 13422, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-danger .alert-icon {
  color: #ff6b6b;
}

/* line 13425, 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 13428, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-warning .alert-icon {
  color: #ffa726;
}

/* line 13431, 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 13434, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-info .alert-icon {
  color: #00a8ff;
}

/* line 13437, 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 13440, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-bullish .alert-icon {
  color: #00d4aa;
}

/* line 13443, 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 13451, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-accordion-header:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 13456, 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 13464, 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 13470, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-header-info {
  flex: 1;
  min-width: 0;
}

/* line 13475, 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 13482, 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 13488, 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 13495, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-sectors-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}

/* line 13500, 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 13507, 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 13523, 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 13528, 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 13535, 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 13543, 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 13551, 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 13559, 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 13566, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-trigger {
  margin-bottom: 0.4rem;
  font-size: 0.77rem;
}

/* line 13570, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-trigger small {
  color: #94a3b8;
  line-height: 1.35;
}

/* line 13576, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action {
  font-size: 0.77rem;
  margin-bottom: 0.4rem;
}

/* line 13580, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action small {
  line-height: 1.4;
}

/* line 13585, 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 13592, 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 13603, app/assets/stylesheets/dashboard.scss */
.market-alerts-section {
  margin-bottom: 1.5rem;
}

/* line 13606, 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 13615, app/assets/stylesheets/dashboard.scss */
.market-alerts-section h4 i {
  color: #ffa726;
  font-size: 0.9rem;
}

/* line 13621, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 13627, 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 13634, 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 13639, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-danger i {
  color: #ff6b6b;
}

/* line 13644, 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 13649, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-warning i {
  color: #ffa726;
}

/* line 13654, 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 13659, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-info i {
  color: #00a8ff;
}

/* line 13664, 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 13669, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-bullish i {
  color: #00d4aa;
}

/* line 13674, 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 13680, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card strong {
  font-size: 0.85rem;
  color: #ffffff;
}

/* line 13685, 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 13692, 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 13698, 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 13705, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card .alert-sectors .badge {
  font-size: 0.7rem;
  font-weight: 500;
}

/* line 13712, 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 13722, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 13726, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link:hover i {
  transform: translateX(3px);
}

/* line 13731, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link i {
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

/* line 13740, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-grid {
  display: grid;
  gap: 0.75rem;
}

/* line 13745, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-grid.alerts-count-1 {
  grid-template-columns: 1fr;
}

/* line 13750, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .alerts-grid.alerts-count-2 {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 991px) {
  /* line 13750, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
}

/* line 13762, 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 13769, 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 13773, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-danger .alert-icon {
  color: #ff6b6b;
}

/* line 13776, 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 13780, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-warning .alert-icon {
  color: #ffa726;
}

/* line 13783, 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 13787, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-info .alert-icon {
  color: #00a8ff;
}

/* line 13790, 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 13794, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-bullish .alert-icon {
  color: #00d4aa;
}

/* line 13798, 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 13806, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-accordion-header:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 13811, 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 13819, 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 13825, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-header-info {
  flex: 1;
  min-width: 0;
}

/* line 13830, 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 13837, 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 13843, 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 13850, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-sectors-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* line 13855, 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 13862, 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 13871, 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 13876, 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 13883, 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 13889, 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 13897, 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 13904, 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 13911, 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 13918, 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 13922, 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 13928, 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 13940, app/assets/stylesheets/dashboard.scss */
.mini-widgets-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 1rem;
}

@media (max-width: 991px) {
  /* line 13940, app/assets/stylesheets/dashboard.scss */
  .mini-widgets-row {
    gap: 0.5rem;
  }
}

@media (max-width: 767px) {
  /* line 13940, app/assets/stylesheets/dashboard.scss */
  .mini-widgets-row {
    gap: 0.4rem;
    margin-bottom: 0.5rem;
  }
}

/* line 13957, app/assets/stylesheets/dashboard.scss */
.mini-widgets-row > a {
  flex: 1;
  min-width: 0;
}

/* line 13966, 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 13974, 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 13983, app/assets/stylesheets/dashboard.scss */
.mini-block-header .read-more-link-mini {
  display: none;
}

/* line 13989, 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 14002, app/assets/stylesheets/dashboard.scss */
.read-more-arrow-absolute i {
  font-size: 0.55rem;
  transition: transform 0.2s ease;
}

/* line 14011, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link {
  display: block;
  text-decoration: none;
  color: inherit;
  flex: 1;
}

/* line 14017, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover {
  text-decoration: none;
}

/* line 14020, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .market-sentiment-mini {
  border-color: #00d4aa;
  background: rgba(0, 212, 170, 0.05);
}

/* line 14025, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .read-more-arrow-absolute {
  color: #00d4aa;
}

/* line 14028, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .read-more-arrow-absolute i {
  transform: translate(1px, -1px);
}

/* line 14035, 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 14047, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-bullish {
  border-left: 4px solid #00d4aa;
  background: rgba(0, 212, 170, 0.03);
}

/* line 14052, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-bearish {
  border-left: 4px solid #ff6b6b;
  background: rgba(255, 107, 107, 0.05);
}

/* line 14057, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-neutral {
  border-left: 4px solid #94a3b8;
  background: rgba(148, 163, 184, 0.03);
}

/* line 14062, 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 14069, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-emoji {
  font-size: 1.1rem;
}

/* line 14073, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-label {
  font-size: 0.8rem;
  color: #94a3b8;
  font-weight: 500;
}

/* line 14079, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: #ffffff;
}

/* line 14086, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-bullish .mini-value {
  color: #00d4aa;
}

/* line 14090, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-bearish .mini-value {
  color: #ff6b6b;
}

/* line 14094, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-neutral .mini-value {
  color: #94a3b8;
}

/* line 14099, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-optimistic .mini-value {
  color: #00d4aa;
}

/* line 14103, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-cautious .mini-value {
  color: #ffa726;
}

/* line 14107, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-fearful .mini-value {
  color: #ff6b6b;
}

/* line 14111, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-mixed .mini-value {
  color: #94a3b8;
}

/* line 14115, 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 14124, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .read-more-link-mini i {
  font-size: 0.65rem;
  transition: transform 0.2s ease;
}

/* line 14132, 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 14138, 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 14146, 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 14158, 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 14170, 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 14184, 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 14196, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-info-mini {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 14201, 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 14208, 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 14216, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-extreme-fear .fgi-status-mini {
  color: #dc2626;
}

/* line 14217, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-fear .fgi-status-mini {
  color: #f97316;
}

/* line 14218, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-neutral .fgi-status-mini {
  color: #eab308;
}

/* line 14219, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-greed .fgi-status-mini {
  color: #84cc16;
}

/* line 14220, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter.fgi-extreme-greed .fgi-status-mini {
  color: #22c55e;
}

/* line 14224, 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 14232, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item .vix-icon-mini {
  font-size: 0.9rem;
}

/* line 14236, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item .vix-change {
  font-size: 0.7rem;
  font-weight: 500;
}

/* line 14242, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-low {
  border-left: 2px solid #22c55e;
}

/* line 14244, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-low .mini-value {
  color: #22c55e;
}

/* line 14246, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-normal {
  border-left: 2px solid #eab308;
}

/* line 14248, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-normal .mini-value {
  color: #eab308;
}

/* line 14250, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-elevated {
  border-left: 2px solid #f97316;
}

/* line 14252, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-elevated .mini-value {
  color: #f97316;
}

/* line 14254, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-vix-item.vix-high {
  border-left: 2px solid #dc2626;
}

/* line 14256, 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 14263, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.4rem 0.6rem;
  }
  /* line 14267, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
  }
  /* line 14272, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 14278, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 14282, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.6rem;
  }
  /* line 14286, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.7rem;
  }
  /* line 14290, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
  /* line 14293, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini i {
    font-size: 0.5rem;
  }
  /* line 14299, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.4rem;
    gap: 0.3rem;
  }
  /* line 14303, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 36px;
    height: 20px;
  }
  /* line 14309, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.5rem;
  }
  /* line 14310, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-status-mini {
    font-size: 0.6rem;
  }
  /* line 14315, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.3rem;
    gap: 0.2rem;
  }
  /* line 14319, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 14320, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-change {
    font-size: 0.6rem;
  }
}

@media (max-width: 767px) {
  /* line 14327, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.5rem 0.6rem;
    border-left-width: 3px !important;
  }
  /* line 14332, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
  }
  /* line 14337, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 14343, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.9rem;
  }
  /* line 14347, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.65rem;
  }
  /* line 14351, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.75rem;
    font-weight: 700;
  }
  /* line 14356, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.6rem;
  }
  /* line 14361, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.35rem;
    gap: 0.3rem;
  }
  /* line 14365, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 34px;
    height: 18px;
  }
  /* line 14369, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini::before {
    width: 26px;
    height: 14px;
  }
  /* line 14374, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-needle {
    height: 12px;
  }
  /* line 14378, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-value-mini {
    font-size: 0.55rem;
  }
  /* line 14384, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.58rem;
  }
  /* line 14385, 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 14390, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.25rem;
    gap: 0.2rem;
  }
  /* line 14394, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 14395, 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 14406, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.5rem;
  }
  /* line 14409, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
    gap: 0.3rem;
  }
  /* line 14414, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.7rem;
  }
  /* line 14419, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.5rem;
  }
  /* line 14422, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr 1fr;
  }
  /* line 14427, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 14431, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.4rem 0.5rem;
  }
  /* line 14435, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.75rem;
  }
  /* line 14439, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.7rem;
  }
  /* line 14443, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 14448, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-sectors-preview .badge {
    font-size: 0.55rem;
  }
  /* line 14452, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.5rem;
  }
  /* line 14455, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body .alert-message {
    font-size: 0.65rem;
  }
  /* line 14461, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.3rem;
  }
  /* line 14465, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.35rem 0.5rem;
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 14470, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.65rem !important;
    margin-right: 0.3rem !important;
  }
  /* line 14475, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.7rem;
  }
  /* line 14479, 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 14485, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 14490, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.15rem;
  }
  /* line 14493, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.5rem;
    padding: 0.1rem 0.25rem;
  }
  /* line 14500, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.65rem;
  }
  /* line 14506, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 14510, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 14514, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.4rem;
    border-radius: 8px;
  }
  /* line 14518, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.35rem;
    padding-bottom: 0.25rem;
  }
  /* line 14522, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.7rem;
  }
  /* line 14525, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.65rem;
  }
  /* line 14530, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.6rem;
  }
  /* line 14537, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 1.1rem !important;
  }
  /* line 14541, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.75rem !important;
  }
  /* line 14544, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.9rem !important;
  }
  /* line 14548, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.8rem !important;
  }
  /* line 14553, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 1rem !important;
  }
  /* line 14557, 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 14560, 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 14564, 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 14573, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.35rem;
  }
  /* line 14576, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.7rem;
    gap: 0.2rem;
    margin-bottom: 0.15rem;
  }
  /* line 14581, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.6rem;
  }
  /* line 14586, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.35rem;
  }
  /* line 14590, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 14595, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 3px;
    border-radius: 6px;
  }
  /* line 14599, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.5rem 0.6rem;
  }
  /* line 14603, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.85rem;
  }
  /* line 14607, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row {
    gap: 0.4rem;
  }
  /* line 14610, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.8rem;
    line-height: 1.3;
  }
  /* line 14616, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.6rem;
    padding: 0.1rem 0.3rem;
  }
  /* line 14621, 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 14626, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn {
    padding: 0.25rem 0.4rem;
  }
  /* line 14629, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn i {
    font-size: 0.7rem;
  }
  /* line 14634, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.4rem;
  }
  /* line 14637, 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 14642, 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 14650, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.25rem;
  }
  /* line 14654, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.3rem 0.45rem;
    border-left-width: 2px;
    border-radius: 4px;
  }
  /* line 14659, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.55rem !important;
    margin-right: 0.25rem !important;
  }
  /* line 14664, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.65rem;
  }
  /* line 14668, 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 14674, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.45rem;
    padding: 0.05rem 0.15rem;
  }
  /* line 14679, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.1rem;
  }
  /* line 14682, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.45rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 14689, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.6rem;
  }
  /* line 14695, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 14699, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 14702, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 14707, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
  }
  /* line 14711, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.3rem;
    padding-bottom: 0.25rem;
  }
  /* line 14715, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.8rem;
  }
  /* line 14718, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.75rem;
  }
  /* line 14723, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.7rem;
    padding: 0.15rem 0.3rem;
  }
  /* line 14730, app/assets/stylesheets/dashboard.scss */
  .alert-emoji {
    font-size: 1rem;
  }
  /* line 14736, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 0.95rem !important;
  }
  /* line 14740, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header p {
    font-size: 0.75rem !important;
  }
  /* line 14745, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.6rem !important;
    border-radius: 8px !important;
  }
  /* line 14749, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.85rem !important;
  }
  /* line 14753, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 14759, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section {
    margin-bottom: 1rem !important;
  }
  /* line 14762, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.9rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 14768, 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 14772, 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 14775, 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 14779, 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 14784, 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 14789, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 14792, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-title {
    font-size: 0.85rem !important;
  }
  /* line 14796, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-context {
    font-size: 0.75rem !important;
  }
}

/* line 14808, app/assets/stylesheets/dashboard.scss */
.stock-cell {
  max-width: 180px;
  min-width: 130px;
}

/* line 14814, 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 14823, 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 14835, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart i {
  font-size: 0.85rem;
}

/* line 14839, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart:hover {
  background: rgba(99, 102, 241, 0.2);
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 14848, app/assets/stylesheets/dashboard.scss */
.details-col {
  width: auto;
  min-width: 60px;
  white-space: nowrap;
}

/* line 14854, app/assets/stylesheets/dashboard.scss */
.details-cell {
  text-align: center;
  padding: 0.25rem !important;
}

/* line 14862, app/assets/stylesheets/dashboard.scss */
.stock-info-compact {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-left: 2rem !important;
}

/* line 14869, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  overflow: hidden;
}

/* line 14875, 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 14886, 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 14898, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .asset-type-badge i {
  font-size: 0.5rem;
}

/* line 14902, 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 14908, 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 14916, 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 14928, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .btn-stock-chart.mobile-only i {
  font-size: 0.55rem;
}

/* line 14932, 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 14916, 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 14948, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-name-row {
  display: flex;
  align-items: center;
}

/* line 14952, 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 14962, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-actions-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 14967, 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 14977, 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 14986, 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 14999, 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 15005, 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 15012, 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 15017, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-analyzing.pulse-animation {
  animation: pulse-analyzing 1.5s ease-in-out infinite;
}

/* line 15022, 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 15029, 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 15038, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.crypto-24h i {
  font-size: 0.45rem;
}

/* line 15042, 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 15049, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status i {
  font-size: 0.55rem;
}

/* line 15053, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 15059, 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 15068, 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 15076, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row .btn-stock-chart:hover {
  color: #00d4aa;
}

/* line 15082, 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 15098, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 15102, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.2rem;
    padding-left: 0 !important;
  }
  /* line 15106, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.25rem;
  }
  /* line 15109, 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 15114, 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 15117, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.4rem !important;
  }
  /* line 15120, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 14px;
    height: 14px;
    font-size: 0.45rem;
  }
  /* line 15124, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem;
  }
  /* line 15129, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.55rem !important;
    max-width: 80px;
  }
  /* line 15136, 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 15140, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.15rem;
  }
  /* line 15141, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    font-size: 0.4rem;
  }
  /* line 15146, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.2rem;
  }
  /* line 15149, 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 15154, 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 15160, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.15rem;
  }
  /* line 15163, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.65rem !important;
  }
  /* line 15164, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.55rem !important;
  }
  /* line 15165, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.5rem !important;
  }
  /* line 15167, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15171, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.7rem !important;
  }
  /* line 15172, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.5rem !important;
  }
  /* line 15176, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.55rem !important;
  }
  /* line 15177, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.65rem !important;
  }
  /* line 15178, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.55rem !important;
  }
  /* line 15179, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15182, 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 15189, 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 15195, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 15201, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.55rem !important;
  }
  /* line 15205, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.5rem;
  }
  /* line 15209, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.6rem !important;
  }
  /* line 15212, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.6rem !important;
  }
  /* line 15216, 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 15220, 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 15226, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.4rem !important;
  }
  /* line 15229, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.4rem 0.6rem !important;
  }
  /* line 15232, 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 15233, 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 15234, 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 15239, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15243, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.5rem !important;
  }
  /* line 15244, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.65rem !important;
  }
  /* line 15245, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.5rem !important;
  }
  /* line 15248, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15252, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.5rem !important;
  }
  /* line 15253, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.7rem !important;
  }
  /* line 15254, 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 15257, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.4rem !important;
  }
  /* line 15260, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.5rem !important;
  }
  /* line 15263, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 15264, 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 15268, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.5rem !important;
  }
  /* line 15271, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.4rem;
  }
  /* line 15273, 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 15274, 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 15278, 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 15279, 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 15282, 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 15287, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.5rem !important;
  }
  /* line 15290, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 15290, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 15291, 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 15292, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 15292, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 15296, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 15299, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 15299, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 15300, 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 15301, 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 15308, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.4rem !important;
  }
  /* line 15312, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.15rem;
    padding-left: 0 !important;
  }
  /* line 15316, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.2rem;
  }
  /* line 15319, 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 15324, 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 15327, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.35rem !important;
  }
  /* line 15330, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 12px;
    height: 12px;
    font-size: 0.4rem;
  }
  /* line 15334, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem;
  }
  /* line 15339, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.5rem !important;
    max-width: 70px;
  }
  /* line 15346, 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 15350, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem;
  }
  /* line 15351, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none;
  }
  /* line 15356, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.15rem;
  }
  /* line 15359, 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 15364, 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 15370, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.1rem;
  }
  /* line 15373, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.55rem !important;
  }
  /* line 15374, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 15375, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 15377, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 15381, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.6rem !important;
  }
  /* line 15382, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15386, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.5rem !important;
  }
  /* line 15387, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.55rem !important;
  }
  /* line 15388, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.5rem !important;
  }
  /* line 15389, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 15392, 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 15399, 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 15405, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 15411, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.5rem !important;
  }
  /* line 15415, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none;
  }
  /* line 15419, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 15422, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.5rem !important;
  }
  /* line 15426, 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 15430, 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 15436, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.3rem !important;
  }
  /* line 15439, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.3rem 0.5rem !important;
  }
  /* line 15442, 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 15443, 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 15444, 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 15449, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 15453, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.45rem !important;
  }
  /* line 15454, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.55rem !important;
  }
  /* line 15455, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.45rem !important;
  }
  /* line 15458, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 15462, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.45rem !important;
  }
  /* line 15463, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.6rem !important;
  }
  /* line 15464, 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 15467, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.35rem !important;
  }
  /* line 15470, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 15473, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 15474, 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 15478, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 15481, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.35rem;
  }
  /* line 15483, 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 15484, 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 15488, 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 15489, 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 15492, 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 15497, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 15500, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 15500, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 15501, 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 15502, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 15502, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 15506, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 15509, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 15509, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 15510, 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 15511, 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 15518, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

/* line 15524, 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 15532, 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 15541, 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 15548, 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 15563, 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 15570, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .refresh-needed {
  color: #ffa500;
  font-size: 0.7rem;
  animation: pulse 2s infinite;
}

/* line 15577, 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 15586, 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 15594, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .ai-disagreement-warning:hover {
  transform: scale(1.2);
}

/* line 15602, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  text-align: left;
}

/* line 15609, 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 15619, 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 15624, 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 15629, 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 15634, 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 15641, 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 15649, 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 15664, 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 15671, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

/* line 15677, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header .disagreement-icon {
  font-size: 1rem;
}

/* line 15681, 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 15690, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* line 15698, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-badges {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* line 15706, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* line 15711, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-label {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

/* line 15716, 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 15722, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value.up {
  background: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}

/* line 15727, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value.down {
  background: rgba(244, 67, 54, 0.2);
  color: #f44336;
}

/* line 15732, 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 15737, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value .conf {
  font-size: 0.7rem;
  opacity: 0.8;
  margin-left: 2px;
}

/* line 15745, 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 15751, 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 15762, app/assets/stylesheets/dashboard.scss */
  .reasoning-block.disagreement .disagreement-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  /* line 15768, 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 15780, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

/* line 15786, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-price {
  font-weight: 600;
  font-size: 0.85rem;
  color: #ffffff;
}

/* line 15792, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-change {
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 15796, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-change.positive {
  color: #00d4aa;
}

/* line 15797, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-change.negative {
  color: #ff6b6b;
}

/* line 15800, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 15804, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf i {
  margin-right: 0.2rem;
}

/* line 15807, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge {
  color: rgba(139, 92, 246, 0.7);
}

/* line 15809, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge i {
  color: rgba(139, 92, 246, 0.7);
}

/* line 15815, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction.ai-fallback .pred-price {
  color: rgba(255, 255, 255, 0.85);
}

/* line 15824, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

/* line 15829, 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 15836, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-cols {
  display: flex;
  gap: 0;
  align-items: stretch;
}

/* line 15842, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* line 15847, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.value-col {
  align-items: flex-end;
  padding-right: 0.5rem;
}

/* line 15851, 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 15857, 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 15864, 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 15870, 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 15875, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-pct {
  font-weight: 700;
  font-size: 0.8rem;
}

/* line 15879, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-pct.positive {
  color: #00d4aa;
}

/* line 15880, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-pct.negative {
  color: #ff6b6b;
}

/* line 15883, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-val {
  font-size: 0.6rem;
  opacity: 0.8;
}

/* line 15887, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-val.positive {
  color: #00d4aa;
}

/* line 15888, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-val.negative {
  color: #ff6b6b;
}

/* line 15896, app/assets/stylesheets/dashboard.scss */
.details-cell {
  text-align: center;
  vertical-align: middle !important;
  white-space: nowrap;
}

/* line 15902, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown {
  display: inline-block;
  vertical-align: middle;
}

/* line 15909, 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 15922, 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 15927, 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 15931, 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 15936, 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 15943, 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 15953, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai .fa-robot {
  color: #00d4aa;
  font-size: 0.75rem;
}

/* line 15958, 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 15964, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai .chevron-icon {
  font-size: 0.55rem;
  color: rgba(255, 255, 255, 0.6);
}

/* line 15969, 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 15974, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai[aria-expanded="true"] {
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  border-color: transparent;
}

/* line 15978, 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 15943, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.3rem 0.4rem;
  }
  /* line 15987, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none;
  }
}

/* line 15994, 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 16010, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart .fa-chart-line {
  color: #a5b4fc;
  font-size: 0.75rem;
}

/* line 16015, 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 16021, 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 16027, 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 16032, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border-color: transparent;
}

/* line 16036, 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 16040, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] .chevron-icon {
  transform: rotate(180deg);
}

/* line 16046, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart.mobile-only {
  display: none;
}

/* line 16052, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown {
  display: inline-flex;
}

/* line 16056, 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 16064, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu li {
  background: transparent !important;
  background-color: transparent !important;
}

/* line 16069, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item {
  background-color: transparent !important;
  background: transparent !important;
}

/* line 16074, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-buy {
  color: #00ffc8 !important;
}

/* line 16077, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-buy i {
  color: #00ffc8 !important;
}

/* line 16081, 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 16087, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-sell {
  color: #ff6b6b !important;
}

/* line 16090, app/assets/stylesheets/dashboard.scss */
.details-cell .dashboard-transaction-dropdown .dropdown-menu .dropdown-item.transaction-item-sell i {
  color: #ff6b6b !important;
}

/* line 16094, 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 16105, app/assets/stylesheets/dashboard.scss */
  .details-cell {
    min-width: 90px !important;
    max-width: 100px !important;
    overflow: visible !important;
  }
  /* line 16110, 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 16116, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
}

/* line 16124, app/assets/stylesheets/dashboard.scss */
.stock-row {
  position: relative;
  min-height: 72px;
}

/* line 16128, app/assets/stylesheets/dashboard.scss */
.stock-row td {
  vertical-align: middle;
}

/* line 16132, app/assets/stylesheets/dashboard.scss */
.stock-row.market-open .stock-cell {
  border-left: 4px solid #00d4aa;
}

/* line 16136, app/assets/stylesheets/dashboard.scss */
.stock-row.market-closed .stock-cell {
  border-left: 4px solid rgba(100, 116, 139, 0.5);
}

/* line 16140, app/assets/stylesheets/dashboard.scss */
.stock-row:first-child .stock-cell {
  border-top-left-radius: calc($border-radius - 1px);
}

/* line 16144, app/assets/stylesheets/dashboard.scss */
.stock-row:last-child .stock-cell {
  border-bottom-left-radius: calc($border-radius - 1px);
}

/* line 16149, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row {
  background: rgba(139, 92, 246, 0.03);
}

/* line 16152, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row.market-open .stock-cell {
  border-left: 4px solid rgba(139, 92, 246, 0.6);
}

/* line 16156, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row.market-closed .stock-cell {
  border-left: 4px solid rgba(139, 92, 246, 0.3);
}

/* line 16164, app/assets/stylesheets/dashboard.scss */
.section-separator-row td {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* line 16171, app/assets/stylesheets/dashboard.scss */
.section-separator {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  gap: 12px;
}

/* line 16177, 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 16185, app/assets/stylesheets/dashboard.scss */
.section-separator::before {
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.3));
}

/* line 16189, app/assets/stylesheets/dashboard.scss */
.section-separator::after {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.3), transparent);
}

/* line 16194, 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 16205, app/assets/stylesheets/dashboard.scss */
.section-separator-label svg {
  opacity: 0.7;
}

/* line 16211, app/assets/stylesheets/dashboard.scss */
.basic-mode-cards .section-separator-row {
  display: none;
}

/* line 16216, 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 16232, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 16237, 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 16244, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-since i {
  color: #a78bfa;
}

/* line 16247, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-weight: 700;
}

/* line 16253, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl.positive {
  color: #00d4aa;
}

/* line 16254, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl.negative {
  color: #f87171;
}

/* line 16256, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl .wl-pnl-amount {
  font-size: 0.9rem;
}

/* line 16257, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl .wl-pnl-pct {
  font-size: 0.75rem;
  opacity: 0.85;
}

/* line 16263, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-ref-price {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.35);
}

/* line 16270, 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 16286, 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 16294, app/assets/stylesheets/dashboard.scss */
.search-result-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
  align-items: center;
}

/* line 16300, 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 16312, 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 16318, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-add:hover {
  background: rgba(139, 92, 246, 0.28) !important;
  color: #c4b5fd !important;
}

/* line 16324, 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 16330, app/assets/stylesheets/dashboard.scss */
.btn-add-owned:hover {
  background: rgba(25, 205, 165, 0.28) !important;
}

/* line 16337, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-row {
  background: rgba(139, 92, 246, 0.04);
}

/* line 16341, 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 16347, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-since {
  color: rgba(0, 0, 0, 0.45) !important;
}

/* line 16351, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-ref-price {
  color: rgba(0, 0, 0, 0.35) !important;
}

/* line 16357, 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 16365, app/assets/stylesheets/dashboard.scss */
.ai-analysis-badge.mini i {
  font-size: 0.5rem;
}

/* line 16369, app/assets/stylesheets/dashboard.scss */
.ai-analysis-badge.mini .badge-text-original {
  display: inline;
}

@media (max-width: 768px) {
  /* line 16375, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-badge.mini .badge-text-original {
    display: none;
  }
}

/* line 16382, app/assets/stylesheets/dashboard.scss */
.events-cell {
  min-width: 50px;
  text-align: center;
}

/* line 16386, app/assets/stylesheets/dashboard.scss */
.events-cell .events-icons {
  display: flex;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

/* line 16393, 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 16403, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon i {
  font-size: 0.7rem;
}

/* line 16407, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.dividend {
  background: rgba(255, 215, 0, 0.2);
  color: #ffd700;
}

/* line 16410, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.dividend:hover {
  background: rgba(255, 215, 0, 0.35);
  transform: scale(1.1);
}

/* line 16413, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.earnings {
  background: rgba(0, 180, 216, 0.2);
  color: #00b4d8;
}

/* line 16416, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.earnings:hover {
  background: rgba(0, 180, 216, 0.35);
  transform: scale(1.1);
}

/* line 16419, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.crisis {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 16422, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.crisis:hover {
  background: rgba(255, 107, 107, 0.35);
  transform: scale(1.1);
}

/* line 16425, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
}

/* line 16428, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning:hover {
  background: rgba(251, 191, 36, 0.35);
  transform: scale(1.1);
}

/* line 16431, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others {
  background: rgba(99, 102, 241, 0.2);
  color: #818cf8;
}

/* line 16434, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others:hover {
  background: rgba(99, 102, 241, 0.35);
  transform: scale(1.1);
}

/* line 16439, app/assets/stylesheets/dashboard.scss */
.events-cell .events-display {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 16445, 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 16456, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip i {
  font-size: 0.6rem;
}

/* line 16460, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip .event-label {
  white-space: nowrap;
}

/* line 16464, 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 16469, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.dividend:hover {
  background: rgba(255, 215, 0, 0.25);
}

/* line 16474, 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 16479, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.earnings:hover {
  background: rgba(0, 180, 216, 0.25);
}

/* line 16484, 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 16489, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.crisis:hover {
  background: rgba(255, 107, 107, 0.25);
}

@media (max-width: 1024px) {
  /* line 16496, app/assets/stylesheets/dashboard.scss */
  .events-cell .event-chip .event-label {
    display: none;
  }
}

/* line 16504, 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 16513, 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 16520, 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 16529, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack .fundamentals-column {
  flex: none;
  max-height: 250px;
}

/* line 16534, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack.has-disagreement .fundamentals-column {
  max-height: 352px;
}

/* line 16540, 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 16547, 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 16557, 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 16566, 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 16576, 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 16578, 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 16583, 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 16588, 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 16595, 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 16602, 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 16608, 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 16614, 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 16619, 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 16620, 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 16625, 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 16630, 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 16641, 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 16650, 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 16657, 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 16665, 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 16669, 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 16675, 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 16679, 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 16680, 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 16681, 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 16684, 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 16688, 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 16689, 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 16690, 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 16693, 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 16696, 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 16699, 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 16702, 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 16709, 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 16724, 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 16735, 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 16746, 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 16750, 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 16762, 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 16769, 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 16778, 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 16787, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics::-webkit-scrollbar {
  display: none;
}

/* line 16791, 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 16802, 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 16814, 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 16816, 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 16823, 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 16832, 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 16846, 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 16849, 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 16852, 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 16855, 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 16858, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
  padding-top: 0.2rem;
}

/* line 16860, 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 16870, 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 16876, 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 16884, 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 16890, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-positive {
  color: #00d4aa !important;
}

/* line 16891, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-negative {
  color: #ff6b6b !important;
}

/* line 16894, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo {
  align-items: flex-start !important;
}

/* line 16897, 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 16899, 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 16905, 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 16906, 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 16911, 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 16921, 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 16926, 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 16936, 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 16941, 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 16949, 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 16952, 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 16956, 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 16967, 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 16972, 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 16981, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
  height: 80px;
  position: relative;
}

/* line 16985, 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 16991, 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 16998, 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 17004, 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 17008, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.positive {
  color: #22c55e;
}

/* line 17009, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.negative {
  color: #ef4444;
}

/* line 17015, 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 17022, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .content-column .events-detail-section {
  margin-bottom: 0;
}

/* line 17026, 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 17034, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    gap: 0.6rem;
  }
  /* line 17037, 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 17043, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 17047, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: 0 0 190px;
  }
  /* line 17050, 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 17057, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17060, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
    height: 90px;
  }
  /* line 17064, 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 17073, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 17077, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column {
    flex: none;
    width: 100%;
  }
  /* line 17081, 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 17088, 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 17094, 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 17102, 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 17108, 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 17110, 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 17111, 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 17112, 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 17117, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: none;
    width: 100%;
  }
  /* line 17123, 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 17128, 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 17134, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-divider {
    display: none;
  }
  /* line 17136, 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 17142, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-label {
    font-size: 0.62rem;
  }
  /* line 17143, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-value {
    font-size: 0.74rem;
  }
  /* line 17145, 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 17152, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
    grid-column: 1 / -1;
  }
  /* line 17153, 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 17159, 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 17165, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17168, 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 17176, 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 17183, 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 17191, 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 17200, 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 17207, 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 17213, 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 17216, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip.warning .stat-value {
  color: #ff6b6b;
}

/* line 17224, 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 17233, 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 17244, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-title i {
  font-size: 0.7rem;
}

/* line 17247, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 17253, 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 17261, 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 17270, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
  font-size: 0.65rem;
}

/* line 17273, 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 17280, 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 17284, 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 17288, 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 17292, 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 17296, 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 17302, 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 17310, 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 17321, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .section-label i {
  font-size: 0.85rem;
}

/* line 17326, 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 17332, 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 17347, 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 17353, 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 17359, 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 17365, 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 17371, 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 17378, 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 17390, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section {
  margin-bottom: 1rem;
}

/* line 17393, 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 17400, 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 17412, 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 17419, 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 17423, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block.daily .reasoning-label {
  color: #00b4d8;
}

/* line 17431, 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 17438, 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 17449, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 17454, 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 17461, 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 17470, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip i {
  font-size: 0.65rem;
}

/* line 17472, 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 17477, 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 17482, 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 17490, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .key-levels-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 17496, 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 17504, 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 17515, 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 17523, 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 17529, 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 17535, 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 17539, 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 17548, 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 17557, 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 17563, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-value {
  font-weight: 700;
  font-size: 0.9rem;
  color: white;
}

/* line 17569, 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 17575, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.positive {
  color: #00d4aa;
  background: rgba(0, 212, 170, 0.15);
}

/* line 17579, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.negative {
  color: #ff6b6b;
  background: rgba(255, 107, 107, 0.15);
}

/* line 17585, 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 17588, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.target .level-value {
  color: #00d4aa;
}

/* line 17591, 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 17594, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.stop .level-value {
  color: #ff6b6b;
}

/* line 17597, 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 17600, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.bought .level-value {
  color: #818cf8;
}

/* line 17603, 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 17606, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.growth .level-value {
  color: #fbbf24;
}

/* line 17610, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent {
  padding: 0.4rem 0.75rem;
}

/* line 17612, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-value {
  font-size: 0.85rem;
}

/* line 17613, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-pct {
  font-size: 0.7rem;
}

/* line 17617, 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 17621, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-label {
  font-size: 0.65rem;
}

/* line 17622, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-value {
  font-size: 0.8rem;
  opacity: 0.85;
}

/* line 17623, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-pct {
  font-size: 0.7rem;
}

/* line 17629, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .trading-levels .levels-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 17637, 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 17647, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 17652, 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 17659, 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 17668, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip i {
  font-size: 0.7rem;
}

/* line 17672, 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 17678, 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 17684, 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 17692, 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 17702, 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 17710, 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 17717, 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 17723, 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 17728, 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 17738, 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 17743, 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 17754, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .section-title i {
  color: #00d4aa;
}

/* line 17759, 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 17759, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .complementary-info-section .info-blocks-grid {
    grid-template-columns: 1fr;
  }
}

/* line 17769, 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 17775, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block .block-icon {
  font-size: 1rem;
  margin-right: 0.4rem;
}

/* line 17780, 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 17788, 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 17795, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro {
  border-left-color: #00b4d8;
}

/* line 17797, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro .block-title {
  color: #00b4d8;
}

/* line 17800, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company {
  border-left-color: #818cf8;
}

/* line 17802, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company .block-title {
  color: #818cf8;
}

/* line 17805, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical {
  border-left-color: #fbbf24;
}

/* line 17807, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical .block-title {
  color: #fbbf24;
}

/* line 17810, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.catalysts {
  border-left-color: #00d4aa;
}

/* line 17812, 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 16504, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 17822, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.65rem;
    margin-bottom: 0.5rem;
  }
  /* line 17827, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.5rem;
  }
  /* line 17831, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.5rem;
  }
  /* line 17834, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.8rem;
  }
  /* line 17835, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.55rem;
  }
  /* line 17836, 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 16504, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 17845, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.6rem;
    margin-bottom: 0.4rem;
  }
  /* line 17850, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.4rem;
  }
  /* line 17854, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.4rem;
  }
  /* line 17857, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.7rem;
  }
  /* line 17858, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 17859, 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 16504, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 17868, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.55rem;
    margin-bottom: 0.35rem;
  }
  /* line 17873, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  /* line 17878, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.35rem;
  }
  /* line 17881, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.65rem;
    margin-right: 0.25rem;
  }
  /* line 17882, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 17883, 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 17889, app/assets/stylesheets/dashboard.scss */
.price-display-compact {
  text-align: center;
}

/* line 17892, 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 17901, 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 17909, 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 17922, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .symbol-row .symbol-tag {
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 17928, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    max-width: 100px;
    font-size: 0.65rem;
  }
  /* line 17935, 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 17940, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.mini, .signal-cell .signal-display .mini.forecast-badge {
    display: none;
  }
  /* line 17946, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.75rem;
  }
  /* line 17950, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.65rem;
  }
  /* line 17954, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    display: none;
  }
  /* line 17959, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.75rem;
  }
  /* line 17962, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row {
    gap: 0.5rem;
  }
  /* line 17965, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip {
    padding: 0.3rem 0.6rem;
  }
  /* line 17968, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-label {
    font-size: 0.6rem;
  }
  /* line 17972, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-value {
    font-size: 0.75rem;
  }
  /* line 17978, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .trading-levels .levels-row {
    flex-direction: column;
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  /* line 17988, 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 17996, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    display: none;
  }
  /* line 18001, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.6rem;
  }
  /* line 18005, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value .value-main {
    font-size: 0.75rem;
  }
  /* line 18010, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-pct {
    font-size: 0.65rem;
  }
  /* line 18011, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-val {
    font-size: 0.55rem;
  }
}

/* line 18021, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-header {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 18026, 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 18035, 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 18042, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .risk-score-badge .score {
  font-size: 1.25rem;
  font-weight: 700;
  color: #00d4aa;
}

/* line 18049, 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 18049, app/assets/stylesheets/dashboard.scss */
  .investor-profile-form .profile-fields {
    grid-template-columns: 1fr;
  }
}

/* line 18060, 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 18067, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field label i {
  margin-right: 0.5rem;
  color: #00d4aa;
  width: 16px;
  text-align: center;
}

/* line 18074, 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 18082, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field.optional label i {
  color: rgba(255, 255, 255, 0.4);
}

/* line 18087, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 18093, 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 18105, 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 18110, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.selected {
  background: rgba(0, 212, 170, 0.15);
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 18123, app/assets/stylesheets/dashboard.scss */
.personalized-col {
  min-width: 100px;
  text-align: center;
}

/* line 18129, app/assets/stylesheets/dashboard.scss */
.personalized-signal-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 18135, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

/* line 18141, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column.empty {
  opacity: 0.6;
}

/* line 18145, 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 18153, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column .signal-placeholder i {
  margin-right: 0.25rem;
}

/* line 18160, 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 18176, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge:hover {
  transform: scale(1.02);
}

/* line 18180, 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 18186, 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 18192, 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 18198, 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 18204, 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 18213, app/assets/stylesheets/dashboard.scss */
.personalized-reason {
  display: none;
}

/* line 18218, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* line 18232, 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 18258, 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 18270, app/assets/stylesheets/dashboard.scss */
.has-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

/* line 18276, 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 18285, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper:hover .custom-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-4px);
}

/* line 18292, app/assets/stylesheets/dashboard.scss */
.personalized-tooltip {
  border-color: rgba(0, 212, 170, 0.4);
}

/* line 18300, app/assets/stylesheets/dashboard.scss */
.tooltip {
  z-index: 9999 !important;
}

/* line 18303, 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 18318, 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 18323, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18327, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18331, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18335, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 18341, app/assets/stylesheets/dashboard.scss */
.personalized-signal-container {
  margin-top: 0.35rem;
}

/* line 18345, 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 18358, 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 18364, 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 18370, 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 18376, 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 18382, 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 18388, 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 18394, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.positive {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}

/* line 18399, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.negative {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 18407, 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 18422, 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 18429, app/assets/stylesheets/dashboard.scss */
.signal-locked-badge i {
  font-size: 0.7rem;
}

/* line 18435, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon {
  text-decoration: none;
  color: inherit;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

/* line 18441, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon:hover {
  opacity: 0.8;
  text-decoration: none;
}

/* line 18448, 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 18460, 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 18474, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-column .personalized-reason {
    display: none;
  }
  /* line 18479, 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 18489, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell::before {
    display: none !important;
  }
  /* line 18494, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.2rem 0.4rem;
    font-size: 0.6rem;
  }
  /* line 18499, app/assets/stylesheets/dashboard.scss */
  .personalized-reason {
    font-size: 0.55rem;
  }
}

@media (max-width: 767px) {
  /* line 18507, 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 18517, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.25rem 0.45rem;
    font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  /* line 18525, app/assets/stylesheets/dashboard.scss */
  .personalized-col {
    display: none;
  }
  /* line 18530, 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 18539, 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 18550, 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 18557, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-signal-badge {
    padding: 0.3rem 0.5rem;
    font-size: 0.7rem;
  }
  /* line 18562, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-reason {
    font-size: 0.65rem;
    max-width: 200px;
  }
  /* line 18569, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-container {
    display: none;
  }
}

/* line 18581, 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 18585, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header .mode-indicator {
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.75rem;
}

/* line 18591, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header h5 {
  font-size: 1.1rem;
  font-weight: 600;
}

/* line 18599, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
}

/* line 18604, 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 18611, 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 18616, 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 18622, 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 18630, 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 18637, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card .metric-label .small {
  font-size: 0.6rem;
  opacity: 0.8;
}

/* line 18647, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .card {
  border-radius: 10px;
}

/* line 18651, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .events-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 18657, 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 18666, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini:hover {
  transform: scale(1.02);
}

/* line 18670, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini i {
  font-size: 0.65rem;
}

@media (max-width: 1200px) {
  /* line 18680, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.75rem;
  }
  /* line 18683, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1.2rem;
  }
  /* line 18687, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.65rem;
  }
}

@media (max-width: 768px) {
  /* line 18696, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header {
    padding: 0.5rem 1rem !important;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 18701, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header h5 {
    font-size: 0.95rem;
  }
  /* line 18705, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header .mode-indicator {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.65rem;
  }
  /* line 18712, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.6rem;
  }
  /* line 18715, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 1rem;
  }
  /* line 18719, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1rem;
  }
  /* line 18723, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.6rem;
  }
  /* line 18730, 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 18741, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .col-6 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  /* line 18746, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.5rem;
  }
  /* line 18749, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
  }
  /* line 18754, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 0.9rem;
  }
  /* line 18758, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.55rem;
  }
}

/* line 18768, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .card {
  border-radius: 10px;
}

/* line 18772, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* line 18775, 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 18780, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item .h5 {
  font-weight: 700;
  font-size: 1.25rem;
}

@media (max-width: 768px) {
  /* line 18788, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 18795, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item {
    padding: 0.5rem !important;
  }
  /* line 18798, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 0.9rem;
  }
  /* line 18802, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .small {
    font-size: 0.6rem;
  }
}

/* line 18815, 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 18825, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn i {
  font-size: 1rem;
}

/* line 18829, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn.btn-primary {
  background: linear-gradient(135deg, #00d4aa, #00a8ff);
  border: none;
}

/* line 18833, 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 18839, 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 18850, 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 18863, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header > .d-flex {
  width: 100%;
  height: 100%;
  align-items: center;
}

/* line 18870, 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 18878, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .header-left i {
  flex-shrink: 0;
  font-size: 1rem;
}

/* line 18885, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .header-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 18892, 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 18902, 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 18911, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn {
  flex-shrink: 0;
}

/* line 18916, 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 18927, 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 18933, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost i {
  font-size: 0.85rem;
}

/* line 18938, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-sm {
  font-size: 0.8rem;
  padding: 0.4rem 0.75rem;
  white-space: nowrap;
}

/* line 18944, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge {
  font-size: 0.65rem !important;
  flex-shrink: 0;
}

/* line 18949, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge-status {
  padding: 0.25rem 0.5rem;
}

/* line 18954, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .date-info {
  font-size: 0.7rem;
  flex-shrink: 0;
}

/* line 18960, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown {
  position: relative;
  z-index: 1000;
}

/* line 18965, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu {
  min-width: 120px;
  z-index: 1050 !important;
  position: absolute !important;
}

/* line 18970, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu.show {
  z-index: 1050 !important;
}

/* line 18974, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu .dropdown-item {
  cursor: pointer;
  padding: 0.5rem 1rem;
}

/* line 18978, 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 18987, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 1rem !important;
  }
  /* line 18990, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.9rem;
  }
  /* line 18994, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .date-info {
    display: none !important;
  }
  /* line 18998, 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 19006, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.75rem !important;
  }
  /* line 19009, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.85rem;
  }
  /* line 19013, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    padding: 0.2rem 0.4rem !important;
    font-size: 0.6rem;
  }
  /* line 19017, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator span {
    display: none;
  }
  /* line 19022, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.7rem;
    padding: 0.3rem 0.5rem;
  }
  /* line 19027, 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 19035, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.5rem !important;
  }
  /* line 19038, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-left {
    gap: 0.5rem;
  }
  /* line 19042, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-right {
    gap: 0.35rem;
  }
  /* line 19046, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.8rem;
  }
  /* line 19050, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.65rem;
    padding: 0.25rem 0.4rem;
  }
  /* line 19054, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm .btn-text {
    display: none !important;
  }
  /* line 19059, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    display: none !important;
  }
}

/* line 19071, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulations-content {
  max-width: 1400px;
  margin: 0 auto;
}

/* line 19077, 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 19084, 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 19090, 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 19095, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .card-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}

/* line 19102, 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 19113, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .mode-badge i {
  flex-shrink: 0;
}

/* line 19117, 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 19126, 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 19137, 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 19143, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-completed {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
}

/* line 19147, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-processing {
  background: rgba(0, 123, 255, 0.2);
  color: #007bff;
}

/* line 19151, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-pending {
  background: rgba(108, 117, 125, 0.2);
  color: #adb5bd;
}

/* line 19155, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-failed {
  background: rgba(220, 53, 69, 0.2);
  color: #dc3545;
}

/* line 19161, 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 19168, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .date-range i {
  font-size: 0.7rem;
}

/* line 19170, 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 19178, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 19183, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

/* line 19188, 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 19193, 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 19200, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.positive .metric-value {
  color: #28a745;
}

/* line 19201, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.negative .metric-value {
  color: #dc3545;
}

/* line 19204, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-risk .metric-value {
  color: #ffc107;
}

/* line 19210, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

/* line 19216, 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 19226, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row .event-mini-chip i {
  font-size: 0.55rem;
}

/* line 19229, 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 19238, 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 19245, 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 19249, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time {
  font-size: 0.7rem;
}

/* line 19251, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time i {
  margin-right: 0.25rem;
}

/* line 19254, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .action-buttons {
  display: flex;
  gap: 0.5rem;
}

/* line 19259, 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 19273, 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 19278, 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 19284, 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 19290, 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 19301, 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 19311, app/assets/stylesheets/dashboard.scss */
.simulations-index .empty-state .empty-icon i {
  font-size: 2rem;
  color: #00d4aa;
}

@media (max-width: 768px) {
  /* line 19320, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro {
    padding: 0.85rem 1rem;
  }
  /* line 19323, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .card-title {
    font-size: 0.85rem;
  }
  /* line 19327, 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 19333, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .mode-badge .mode-name {
    display: none;
  }
  /* line 19338, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    gap: 0.5rem;
  }
  /* line 19342, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-value {
    font-size: 0.75rem;
  }
  /* line 19343, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-label {
    font-size: 0.55rem;
  }
  /* line 19348, 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 19358, 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 19364, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
  /* line 19370, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row {
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch !important;
  }
  /* line 19375, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row .action-buttons {
    justify-content: flex-end;
  }
}

/* line 19389, 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 19396, 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 19401, 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 19409, 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 19418, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header h5 i {
  color: #00d4aa;
}

/* line 19423, 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 19433, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-body {
  padding: 1.25rem;
}

/* line 19439, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stocks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1rem;
}

/* line 19445, 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 19454, 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 19464, 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 19470, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-positive {
  --stock-color: #28a745;
}

/* line 19474, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-negative {
  --stock-color: #dc3545;
}

/* line 19478, 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 19484, 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 19491, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-name {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 2px;
}

/* line 19497, 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 19503, 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 19508, 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 19515, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
}

/* line 19521, 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 19529, 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 19534, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices .price-item .price-value.predicted {
  color: #00d4aa;
}

/* line 19541, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-risks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* line 19546, 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 19558, 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 19564, 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 19572, 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 19581, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header h5 i {
  color: #6f42c1;
}

/* line 19586, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header .chart-controls {
  display: flex;
  gap: 0.5rem;
}

/* line 19590, 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 19599, 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 19608, 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 19612, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-body canvas {
  max-height: 350px;
}

/* line 19617, 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 19625, 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 19632, 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 19643, 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 19647, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 19652, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:first-child {
  padding-top: 0;
}

/* line 19656, 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 19665, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section .section-title i {
  font-size: 0.9rem;
}

/* line 19670, 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 19676, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 19681, 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 19688, 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 19701, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.risks-section ul li::before {
  background: #dc3545;
}

/* line 19705, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.opportunities-section ul li::before {
  background: #28a745;
}

/* line 19709, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.recommendations-section ul li::before {
  background: #6f42c1;
}

/* line 19716, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 19722, 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 19729, 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 19734, 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 19740, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggestion-header .event-date {
  font-size: 0.8rem;
  font-weight: 600;
  color: #00d4aa;
}

/* line 19746, 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 19756, 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 19763, 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 19769, 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 19775, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .stock-info .name {
  font-size: 0.75rem;
  color: #718096;
}

/* line 19781, 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 19793, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
  /* line 19797, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .suggestions-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  /* line 19805, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: 1fr;
  }
  /* line 19809, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header {
    padding: 0.75rem 1rem;
  }
  /* line 19812, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header h5 {
    font-size: 0.85rem;
  }
  /* line 19817, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-body {
    padding: 1rem;
  }
  /* line 19821, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card {
    padding: 0.875rem;
  }
  /* line 19824, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-header .stock-symbol {
    font-size: 1rem;
  }
  /* line 19828, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    gap: 1rem;
  }
  /* line 19831, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices .price-item .price-value {
    font-size: 0.9rem;
  }
  /* line 19838, 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 19844, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-header .chart-controls {
    width: 100%;
    justify-content: flex-end;
  }
  /* line 19850, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-body {
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 19859, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 19864, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-legend {
    gap: 0.75rem;
    padding: 0.5rem 1rem;
  }
}

/* line 19879, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulations-content {
  padding: 0.75rem 0.5rem !important;
}

/* line 19884, 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 19890, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-header h5 {
  font-size: 0.9rem !important;
}

/* line 19896, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-card-pro {
  padding: 0.75rem !important;
  margin-bottom: 0.5rem !important;
}

/* line 19902, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .mb-4 {
  margin-bottom: 0.75rem !important;
}

/* line 19906, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .pro-card {
  margin-bottom: 0.75rem !important;
}

/* line 19913, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header {
  padding: 0.6rem 0.75rem !important;
}

/* line 19916, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header h5 {
  font-size: 0.8rem !important;
}

/* line 19921, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-body {
  padding: 0.75rem !important;
}

/* line 19926, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header {
  padding: 0.5rem 0.75rem !important;
}

/* line 19929, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header .chart-title {
  font-size: 0.85rem !important;
}

/* line 19934, 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 19943, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulations-content {
    padding: 0.75rem 0.5rem;
  }
  /* line 19950, 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 19963, 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 19970, 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 19978, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .mc-stat-card .mc-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}

/* line 19985, 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 19994, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card span {
  color: #a0aec0;
  font-size: 0.85rem;
}

/* line 19999, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card strong {
  margin-left: auto;
  font-size: 1rem;
}

/* line 20008, 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 20015, 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 20020, 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 20025, 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 20030, 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 20038, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-header i {
  font-size: 1rem;
}

/* line 20042, 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 20051, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-value {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 20057, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-return {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 20063, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-desc {
  color: #718096;
  font-size: 0.8rem;
  line-height: 1.4;
}

/* line 20070, 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 20078, app/assets/stylesheets/dashboard.scss */
.stress-test-card .recovery-estimate strong {
  color: #ffc107;
}

/* line 20087, app/assets/stylesheets/dashboard.scss */
.battle-card .battle-strategies-wrapper {
  width: 100%;
}

/* line 20091, 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 20091, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  /* line 20091, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

/* line 20106, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card-wrapper {
  min-width: 0;
}

/* line 20110, 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 20110, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card {
    padding: 0.85rem;
  }
}

/* line 20123, 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 20129, 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 20129, 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 20150, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .winner-badge i {
  font-size: 0.65rem;
}

@media (max-width: 768px) {
  /* line 20150, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .winner-badge i {
    font-size: 0.55rem;
  }
}

/* line 20159, 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 20159, 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 20175, 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 20175, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-return {
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20186, 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 20186, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics {
    gap: 0.25rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20197, 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 20197, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics > div {
    font-size: 0.7rem;
  }
}

/* line 20206, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div span {
  color: #718096;
}

/* line 20210, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div strong {
  color: #a0aec0;
}

/* line 20216, 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 20216, 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 20233, 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 20233, app/assets/stylesheets/dashboard.scss */
  .battle-card .winner-reason {
    padding: 0.75rem;
    font-size: 0.8rem;
  }
}

/* line 20247, app/assets/stylesheets/dashboard.scss */
.battle-card .winner-reason strong {
  color: #ffc107;
}

@media (max-width: 768px) {
  /* line 20256, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card {
    padding: 0.75rem;
  }
  /* line 20259, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-label {
    font-size: 0.65rem;
    margin-bottom: 0.35rem;
  }
  /* line 20264, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-value {
    font-size: 0.95rem;
  }
  /* line 20269, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card {
    padding: 0.5rem 0.75rem;
    flex-wrap: wrap;
  }
  /* line 20273, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card span {
    font-size: 0.75rem;
  }
  /* line 20277, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card strong {
    font-size: 0.9rem;
  }
  /* line 20283, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card {
    padding: 0.85rem;
  }
  /* line 20286, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-header {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
  }
  /* line 20291, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-value {
    font-size: 1.1rem;
  }
  /* line 20295, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-return {
    font-size: 0.85rem;
  }
  /* line 20299, 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 20312, 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 20322, 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 20335, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 20339, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    padding-left: 0 !important;
  }
}

@media (max-width: 767px) {
  /* line 20349, 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 20360, 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 20376, 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 20381, 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 20388, 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 20392, 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 20396, 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 20400, 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 20407, 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 20417, 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 20429, app/assets/stylesheets/dashboard.scss */
#portfolioHistoryModal {
  z-index: 1060 !important;
}

/* line 20432, app/assets/stylesheets/dashboard.scss */
#portfolioHistoryModal.show {
  z-index: 1060 !important;
}

/* line 20438, app/assets/stylesheets/dashboard.scss */
body.modal-open .modal-backdrop + #portfolioHistoryModal,
#portfolioHistoryModal.show {
  z-index: 1060 !important;
}

/* line 20443, 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 20448, 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 20452, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title {
  color: #fff;
  font-weight: 600;
  font-size: 1.1rem;
}

/* line 20457, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title i {
  color: #00d4aa;
}

/* line 20463, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-body {
  padding: 1.5rem;
}

/* line 20469, app/assets/stylesheets/dashboard.scss */
.period-selector {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

/* line 20474, 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 20485, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn:hover {
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 20490, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn.active {
  background: #00d4aa;
  border-color: #00d4aa;
  color: #000;
}

/* line 20499, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display {
  text-align: center;
}

/* line 20502, 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 20508, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value {
  font-size: 1.5rem;
  font-weight: 700;
}

/* line 20512, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.positive {
  color: #22c55e;
}

/* line 20516, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.negative {
  color: #ef4444;
}

/* line 20523, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 1rem;
}

/* line 20528, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 20535, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 1rem;
}

/* line 20540, 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 20548, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
}

/* line 20553, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.positive {
  color: #22c55e;
}

/* line 20557, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.negative {
  color: #ef4444;
}

@media (max-width: 576px) {
  /* line 20568, app/assets/stylesheets/dashboard.scss */
  #portfolioHistoryModal .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  /* line 20574, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content {
    border-radius: 12px;
  }
  /* line 20577, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header {
    padding: 0.75rem 1rem;
  }
  /* line 20580, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header .modal-title {
    font-size: 1rem;
  }
  /* line 20585, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-body {
    padding: 1rem;
  }
  /* line 20590, app/assets/stylesheets/dashboard.scss */
  .period-selector {
    flex-wrap: wrap;
    gap: 0.35rem;
  }
  /* line 20594, app/assets/stylesheets/dashboard.scss */
  .period-selector .period-btn {
    padding: 0.35rem 0.6rem;
    font-size: 0.75rem;
    min-width: auto;
  }
  /* line 20602, app/assets/stylesheets/dashboard.scss */
  .portfolio-pl-display .pl-value {
    font-size: 1.25rem;
  }
  /* line 20607, app/assets/stylesheets/dashboard.scss */
  .portfolio-chart-container {
    padding: 0.5rem;
    height: 220px !important;
  }
  /* line 20612, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics {
    padding: 0.75rem;
  }
  /* line 20615, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-label {
    font-size: 0.65rem;
  }
  /* line 20619, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-value {
    font-size: 0.95rem;
  }
}

@media (min-width: 1440px) {
  /* line 20629, app/assets/stylesheets/dashboard.scss */
  .dashboard-transaction-dropdown {
    margin-left: 0.5rem !important;
  }
  /* line 20633, app/assets/stylesheets/dashboard.scss */
  .trades-dropdown-btn {
    padding: 10px !important;
    font-size: 0.8rem !important;
  }
}

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

/* line 20648, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-container::before {
  display: none;
}

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

/* line 20658, 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 20665, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 20669, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-value {
  color: var(--text-primary) !important;
}

/* line 20673, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-label {
  color: var(--text-muted) !important;
}

/* line 20677, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-divider {
  background: var(--border-color) !important;
}

/* line 20681, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .total-breakdown {
  color: var(--text-muted) !important;
}

/* line 20687, 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 20693, 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 20698, 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 20703, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card .card-body,
[data-theme="light"] .dashboard-card .card-body {
  color: var(--text-primary) !important;
}

/* line 20707, 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 20711, 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 20718, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 20722, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table thead {
  background: var(--bg-secondary) !important;
}

/* line 20725, 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 20733, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table tbody tr {
  background: transparent !important;
  border-bottom-color: var(--border-color) !important;
}

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

/* line 20741, 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 20751, 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 20755, 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 20760, 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 20765, 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 20773, 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 20780, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 20784, 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 20790, 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 20794, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card .watch-item:hover {
  background: var(--bg-input) !important;
}

/* line 20801, 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 20806, 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 20814, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-row {
  background: var(--bg-primary) !important;
}

/* line 20818, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 20822, 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 20826, 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 20832, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .card-header h5 {
  color: var(--text-primary) !important;
}

/* line 20837, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .metric-value {
  color: var(--text-primary) !important;
}

/* line 20841, 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 20848, 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 20854, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-header {
  background: var(--bg-secondary) !important;
  border-bottom-color: var(--border-color) !important;
}

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

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

/* line 20868, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-footer {
  background: var(--bg-secondary) !important;
  border-top-color: var(--border-color) !important;
}

/* line 20874, 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 20879, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .calendar-cell:hover {
  background: var(--bg-input) !important;
}

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

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

/* line 20896, 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 20905, 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 20911, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

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

/* line 20918, 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 20925, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu .dropdown-divider {
  border-color: var(--border-color) !important;
}

/* line 20931, 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 20940, app/assets/stylesheets/dashboard.scss */
  [data-theme="light"] .dashboard-tabs .nav-tabs {
    background: var(--bg-card-solid) !important;
  }
  /* line 20943, 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 20947, 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 20960, app/assets/stylesheets/dashboard.scss */
.fundamentals-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 20965, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 20972, 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 20982, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-title i {
  color: #00d4aa;
}

/* line 20987, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-updated {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
}

/* line 20992, 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 20992, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  /* line 20992, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: 1fr;
  }
}

/* line 21006, 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 21012, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.valuation {
  border-left-color: #818cf8;
}

/* line 21013, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.market {
  border-left-color: #00b4d8;
}

/* line 21014, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.profitability {
  border-left-color: #00d4aa;
}

/* line 21015, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.balance {
  border-left-color: #ffa726;
}

/* line 21018, 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 21026, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block-title i {
  margin-right: 0.3rem;
}

/* line 21028, app/assets/stylesheets/dashboard.scss */
.valuation .fundamentals-section .fund-block-title {
  color: #818cf8;
}

/* line 21029, app/assets/stylesheets/dashboard.scss */
.market .fundamentals-section .fund-block-title {
  color: #00b4d8;
}

/* line 21030, app/assets/stylesheets/dashboard.scss */
.profitability .fundamentals-section .fund-block-title {
  color: #00d4aa;
}

/* line 21031, app/assets/stylesheets/dashboard.scss */
.balance .fundamentals-section .fund-block-title {
  color: #ffa726;
}

/* line 21034, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metrics-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* line 21040, 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 21049, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* line 21055, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-high .fund-value {
  color: #ff6b6b;
}

/* line 21058, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-low .fund-value {
  color: #ffa726;
}

/* line 21061, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-good .fund-value {
  color: #00d4aa;
}

/* line 21064, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-neutral .fund-value {
  color: #00b4d8;
}

/* line 21068, 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 21074, 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 21080, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-label .fund-info-icon:hover {
  color: rgba(255, 255, 255, 0.6);
}

/* line 21084, 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 21095, 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 21103, 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 21116, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 21121, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block {
    padding: 0.6rem;
  }
  /* line 21125, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block-title {
    font-size: 0.55rem;
  }
  /* line 21129, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-label {
    font-size: 0.6rem;
  }
  /* line 21133, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-value {
    font-size: 0.68rem;
  }
}

@media (max-width: 380px) {
  /* line 21139, 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 21154, app/assets/stylesheets/dashboard.scss */
.search-skeleton-state {
  padding: 0.25rem 0;
}

/* line 21158, 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 21167, app/assets/stylesheets/dashboard.scss */
.search-skeleton-spinner i {
  color: #00d4aa;
  font-size: 0.9rem;
}

/* line 21170, 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 21177, app/assets/stylesheets/dashboard.scss */
.search-skeleton-row:last-child {
  border-bottom: none;
}

/* line 21180, 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 21190, app/assets/stylesheets/dashboard.scss */
.search-skeleton-lines {
  flex: 1;
  min-width: 0;
}

/* line 21195, 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 21202, app/assets/stylesheets/dashboard.scss */
.search-skeleton-btns {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
}

/* line 21208, 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 21218, 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 21223, 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 21235, 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 21246, 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 21257, 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 21262, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed::before {
  opacity: 0.3;
}

/* line 21266, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed .today-actions-header {
  border-bottom-color: transparent;
}

/* line 21271, 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 21281, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:hover {
  background: rgba(0, 212, 170, 0.03);
}

/* line 21285, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:active {
  background: rgba(0, 212, 170, 0.05);
}

/* line 21290, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-title-group {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

/* line 21296, 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 21308, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-icon-wrap i {
  color: #00d4aa;
  font-size: 0.6rem;
}

/* line 21314, 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 21322, 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 21336, 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 21347, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 21351, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron.rotated {
  transform: rotate(-90deg);
}

/* line 21356, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body {
  padding: 0.6rem 1.1rem 0.85rem;
}

/* line 21359, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body.collapsed {
  display: none;
}

/* line 21364, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}

/* line 21371, 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 21381, 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 21386, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-buy {
  border-left: 3px solid #00d4aa;
}

/* line 21389, 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 21401, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-sell {
  border-left: 3px solid #ff6b6b;
}

/* line 21404, 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 21416, 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 21424, 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 21435, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-buy {
  background: rgba(0, 212, 170, 0.15);
  color: #00d4aa;
}

/* line 21440, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-sell {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
}

/* line 21446, 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 21453, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-confidence i {
  font-size: 0.55rem;
  color: #00d4aa;
}

/* line 21459, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-stock {
  margin-bottom: 0.3rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 21466, 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 21473, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-name {
  font-size: 0.7rem;
  color: #64748b;
}

/* line 21478, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}

/* line 21485, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-price {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 21491, 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 21500, 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 21506, 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 21512, 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 21519, 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 21532, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-card.has-swap {
  padding-bottom: 0;
}

/* line 21536, 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 21546, 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 21557, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-arrow i {
  font-size: 0.55rem;
}

/* line 21562, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-target {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 21569, 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 21579, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

/* line 21584, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-symbol {
  font-size: 0.75rem;
  font-weight: 700;
}

/* line 21589, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-name {
  font-size: 0.6rem;
}

/* line 21594, 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 21603, app/assets/stylesheets/dashboard.scss */
.today-actions-header-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 21609, 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 21623, 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 21629, 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 21637, 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 21656, app/assets/stylesheets/dashboard.scss */
.today-action-card:hover .today-action-check-btn {
  opacity: 1;
}

/* line 21660, 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 21669, 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 21682, app/assets/stylesheets/dashboard.scss */
.today-action-completed-overlay i {
  font-size: 1.5rem;
  color: #00d4aa;
}

/* line 21690, app/assets/stylesheets/dashboard.scss */
.today-action-card.completing .today-action-completed-overlay {
  opacity: 1;
  animation: completePulse 0.5s ease;
}

/* line 21695, 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 21707, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed {
  opacity: 0.45;
  filter: grayscale(0.4);
}

/* line 21711, 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 21718, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed .today-action-completed-overlay {
  opacity: 0;
}

/* line 21722, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed:hover {
  opacity: 0.65;
}

/* line 21728, 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 21738, app/assets/stylesheets/dashboard.scss */
.today-actions-all-done i {
  font-size: 1rem;
}

/* line 21745, 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 21750, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-show-completed:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #1e293b;
}

/* line 21755, 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 21762, 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 21767, 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 21774, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-completed-overlay {
  background: rgba(255, 255, 255, 0.88);
}

/* line 21777, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-completed-overlay i {
  color: #059669;
}

/* line 21780, 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 21786, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-all-done {
  color: #059669;
}

/* line 21792, 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 21797, 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 21803, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section::before {
  opacity: 0.8;
}

/* line 21807, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-header {
  border-bottom-color: rgba(0, 0, 0, 0.05);
}

/* line 21810, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-header:hover {
  background: rgba(0, 212, 170, 0.02);
}

/* line 21815, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-icon-wrap {
  background: rgba(5, 150, 105, 0.08);
}

/* line 21819, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-title {
  color: #1e293b;
}

/* line 21823, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-count {
  color: #fff;
}

/* line 21828, 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 21832, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card:hover {
  background: rgba(0, 0, 0, 0.03);
}

/* line 21836, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-buy {
  border-left-color: #059669;
}

/* line 21838, 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 21840, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-sell {
  border-left-color: #dc2626;
}

/* line 21842, 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 21846, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-symbol {
  color: #1e293b;
}

/* line 21851, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-badge.action-buy {
  background: rgba(5, 150, 105, 0.1);
  color: #059669;
}

/* line 21855, 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 21865, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.75rem 1rem 0.85rem;
  }
  /* line 21869, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.55rem;
  }
  /* line 21874, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 28px;
    height: 28px;
    border-radius: 5px;
  }
  /* line 21881, app/assets/stylesheets/dashboard.scss */
  .today-action-card {
    padding: 0.7rem 0.75rem;
  }
  /* line 21884, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge {
    font-size: 0.62rem;
    padding: 0.2rem 0.45rem;
    gap: 0.25rem;
  }
  /* line 21889, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.56rem;
  }
  /* line 21892, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    white-space: normal;
  }
  /* line 21896, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    display: inline;
    font-size: 0.64rem;
  }
  /* line 21901, 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 21911, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.75rem;
  }
}

@media (max-width: 768px) {
  /* line 21919, app/assets/stylesheets/dashboard.scss */
  .today-actions-section {
    border-radius: 12px;
    margin-bottom: 0.65rem;
  }
  /* line 21923, app/assets/stylesheets/dashboard.scss */
  .today-actions-section::before {
    height: 1.5px;
  }
  /* line 21927, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-header {
    padding: 0.6rem 0.85rem;
  }
  /* line 21931, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.5rem 0.75rem 0.65rem;
  }
  /* line 21935, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  /* line 21940, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-title {
    font-size: 0.78rem;
  }
  /* line 21944, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 26px;
    height: 26px;
    border-radius: 5px;
  }
  /* line 21949, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap i {
    font-size: 0.6rem;
  }
  /* line 21952, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-count {
    min-width: 16px;
    height: 16px;
    font-size: 0.55rem;
  }
  /* line 21959, 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 21970, app/assets/stylesheets/dashboard.scss */
  .today-action-card::after {
    display: none;
  }
  /* line 21971, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-buy {
    border-left-color: #00d4aa;
  }
  /* line 21972, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-sell {
    border-left-color: #ff6b6b;
  }
  /* line 21973, app/assets/stylesheets/dashboard.scss */
  .today-action-card:hover {
    background: rgba(255, 255, 255, 0.04);
  }
  /* line 21975, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge-row {
    flex-shrink: 0;
    margin-bottom: 0;
  }
  /* line 21980, 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 21986, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.58rem;
  }
  /* line 21989, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-confidence {
    display: none;
  }
  /* line 21993, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
  }
  /* line 21999, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.78rem;
  }
  /* line 22003, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    font-size: 0.65rem;
    color: #64748b;
  }
  /* line 22008, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-price {
    flex-shrink: 0;
    margin-bottom: 0;
    font-size: 0.72rem;
    color: #64748b;
  }
  /* line 22015, 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 22027, 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 22042, 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 22052, app/assets/stylesheets/dashboard.scss */
.stock-followers-count i {
  font-size: 0.55rem;
}

/* line 22056, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip] {
  cursor: default;
}

/* line 22059, 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 22069, 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 22084, 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 22093, 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 22102, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stock-followers-count {
  color: #94a3b8;
}

/* line 22110, 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 22123, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle:hover {
  background: rgba(245, 158, 11, 0.25);
  transform: scale(1.1);
}

/* line 22128, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i {
  font-size: 0.7rem;
  color: #f59e0b;
}

/* line 22132, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i.fa-bell-slash {
  color: #6b7280;
}

/* line 22138, 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 22141, 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 22148, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-alert-toggle {
  background: rgba(245, 158, 11, 0.08);
}

/* line 22151, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-alert-toggle:hover {
  background: rgba(245, 158, 11, 0.18);
}

/* line 22160, 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 22171, app/assets/stylesheets/dashboard.scss */
.today-actions-gate i {
  font-size: 0.8rem;
}

/* line 22175, app/assets/stylesheets/dashboard.scss */
.today-actions-gate span {
  font-size: 0.8rem;
}

/* line 22180, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  opacity: 0.45;
  cursor: default;
}

/* line 22187, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch .form-check-input {
  cursor: not-allowed;
  margin-top: 0;
}

/* line 22192, 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 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;
}

/* line 82, 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 95, 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 113, 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 121, 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 127, 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 131, 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 135, 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 144, app/assets/stylesheets/account.scss */
.account-page .tab-content,
.stocks-section .tab-content {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* line 152, 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 166, 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 177, 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 190, app/assets/stylesheets/account.scss */
.account-title, .dashboard-title {
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}

/* line 198, app/assets/stylesheets/account.scss */
.account-subtitle, .dashboard-subtitle {
  color: #94a3b8;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}

/* line 206, 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 215, 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 224, 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 235, 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 243, 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 251, 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 266, app/assets/stylesheets/account.scss */
.account-tabs .nav-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}

/* line 272, 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 278, 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 295, 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 307, app/assets/stylesheets/account.scss */
.section-header {
  margin-bottom: 2rem;
}

/* line 311, app/assets/stylesheets/account.scss */
.section-title h2 {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 318, 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 326, app/assets/stylesheets/account.scss */
.form-group:hover {
  border-color: rgba(0, 212, 170, 0.3);
}

/* line 332, 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 342, 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 349, 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 356, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content h3 {
  font-size: 1.1rem !important;
  margin-bottom: 0.75rem !important;
}

/* line 361, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content .row {
  margin-bottom: 0 !important;
}

/* line 365, 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 369, 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 374, 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 380, 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 388, app/assets/stylesheets/account.scss */
.form-label {
  color: #ffffff;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 394, 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 401, 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 408, app/assets/stylesheets/account.scss */
.form-control::placeholder, .form-select::placeholder {
  color: #64748b;
}

/* line 413, 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 418, app/assets/stylesheets/account.scss */
.form-check-input:checked {
  background-color: #00d4aa;
  border-color: #00d4aa;
}

/* line 424, app/assets/stylesheets/account.scss */
.form-check-label {
  color: #ffffff;
  font-weight: 500;
}

/* line 430, 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 438, 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 445, app/assets/stylesheets/account.scss */
.btn-outline-primary {
  border-color: #00d4aa;
  color: #00d4aa;
}

/* line 449, app/assets/stylesheets/account.scss */
.btn-outline-primary:hover {
  background: #00d4aa;
  border-color: #00d4aa;
  color: #ffffff;
}

/* line 457, app/assets/stylesheets/account.scss */
.text-muted {
  color: #64748b !important;
}

/* line 461, app/assets/stylesheets/account.scss */
.form-text {
  color: #64748b;
  font-size: 0.875rem;
}

/* line 467, app/assets/stylesheets/account.scss */
.stocks-management {
  background: transparent;
  border: none;
  padding: 0;
}

/* line 474, app/assets/stylesheets/account.scss */
.account-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 479, app/assets/stylesheets/account.scss */
.account-section-header h5 {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
}

/* line 485, app/assets/stylesheets/account.scss */
.account-section-header small {
  font-size: 0.78rem;
}

/* line 490, 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 500, app/assets/stylesheets/account.scss */
.account-section-icon.notif-icon {
  background: rgba(0, 212, 170, 0.12);
  color: #00d4aa;
}

/* line 504, app/assets/stylesheets/account.scss */
.account-section-icon.billing-icon {
  background: rgba(168, 85, 247, 0.12);
  color: #a855f7;
}

/* line 508, app/assets/stylesheets/account.scss */
.account-section-icon.data-icon {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}

/* line 512, app/assets/stylesheets/account.scss */
.account-section-icon.actions-icon {
  background: rgba(100, 116, 139, 0.12);
  color: #94a3b8;
}

/* line 519, app/assets/stylesheets/account.scss */
.notif-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 525, 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 535, app/assets/stylesheets/account.scss */
.notif-item:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

/* line 541, 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 557, app/assets/stylesheets/account.scss */
.notif-item-content {
  flex: 1;
  min-width: 0;
}

/* line 562, app/assets/stylesheets/account.scss */
.notif-item-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}

/* line 569, app/assets/stylesheets/account.scss */
.notif-item-desc {
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.3;
}

/* line 576, 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 584, app/assets/stylesheets/account.scss */
.billing-plan-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

/* line 591, app/assets/stylesheets/account.scss */
.billing-plan-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}

/* line 597, 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 606, app/assets/stylesheets/account.scss */
.billing-status-badge i {
  font-size: 0.4rem;
}

/* line 608, 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 612, 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 616, 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 622, app/assets/stylesheets/account.scss */
.billing-detail {
  font-size: 0.8rem;
  color: #64748b;
  margin: 0;
}

/* line 627, app/assets/stylesheets/account.scss */
.billing-detail.warning {
  color: #ffa726;
}

/* line 630, app/assets/stylesheets/account.scss */
.billing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 636, app/assets/stylesheets/account.scss */
.billing-empty-state {
  text-align: center;
  padding: 1.5rem 0;
}

/* line 641, app/assets/stylesheets/account.scss */
.billing-empty-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 237, 78, 0.08));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
}

/* line 651, app/assets/stylesheets/account.scss */
.billing-empty-icon i {
  font-size: 1.3rem;
  color: #ffd700;
}

/* line 657, app/assets/stylesheets/account.scss */
.billing-empty-text {
  font-size: 0.95rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.25rem;
}

/* line 664, app/assets/stylesheets/account.scss */
.billing-empty-sub {
  font-size: 0.8rem;
  color: #64748b;
  margin-bottom: 1rem;
}

/* line 671, app/assets/stylesheets/account.scss */
.data-includes-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 677, 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 687, app/assets/stylesheets/account.scss */
.data-includes-item i {
  font-size: 0.7rem;
  color: #00d4aa;
  opacity: 0.7;
}

/* line 691, 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 707, app/assets/stylesheets/account.scss */
.account-action-btn i {
  font-size: 0.8rem;
  opacity: 0.7;
}

/* line 709, 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 713, app/assets/stylesheets/account.scss */
.account-action-btn:hover i {
  opacity: 1;
}

/* line 716, app/assets/stylesheets/account.scss */
.account-action-btn.warning {
  border-color: rgba(255, 167, 38, 0.2);
  color: #ffa726;
}

/* line 719, 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 722, app/assets/stylesheets/account.scss */
.account-action-btn.danger {
  border-color: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 725, 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 730, app/assets/stylesheets/account.scss */
.d-flex.flex-column form:has(.account-action-btn) {
  width: 100%;
}

/* line 732, app/assets/stylesheets/account.scss */
.d-flex.flex-column form:has(.account-action-btn) .account-action-btn {
  width: 100%;
}

/* line 735, 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 742, 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 751, 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 758, app/assets/stylesheets/account.scss */
.stock-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 765, app/assets/stylesheets/account.scss */
.stock-info h6 {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 0.25rem;
  margin-right: 1rem;
}

/* line 772, app/assets/stylesheets/account.scss */
.stock-name {
  color: #94a3b8;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

/* line 778, app/assets/stylesheets/account.scss */
.stock-symbol {
  color: #00d4aa;
  font-weight: 700;
}

/* line 783, app/assets/stylesheets/account.scss */
.stock-actions .btn {
  padding: 0.375rem 0.75rem;
}

/* line 787, app/assets/stylesheets/account.scss */
.shares-input-group {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

/* line 793, app/assets/stylesheets/account.scss */
.shares-input {
  flex: 1;
}

/* line 798, app/assets/stylesheets/account.scss */
.stock-inputs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
}

/* line 806, 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 813, 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 820, app/assets/stylesheets/account.scss */
.position-value-display small i {
  color: #00d4aa;
  font-size: 0.75rem;
}

/* line 825, app/assets/stylesheets/account.scss */
.position-value-display small strong {
  color: #00d4aa;
  font-weight: 600;
}

/* line 833, app/assets/stylesheets/account.scss */
.stock-symbol-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 841, app/assets/stylesheets/account.scss */
.crypto-card {
  border-left: none !important;
  position: relative;
  overflow: hidden;
}

/* line 846, 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 857, 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 864, 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 875, app/assets/stylesheets/account.scss */
.asset-type-badge i {
  font-size: 0.6rem;
}

/* line 879, 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 885, 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 893, app/assets/stylesheets/account.scss */
.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  color: #94a3b8;
}

/* line 899, app/assets/stylesheets/account.scss */
.empty-icon {
  font-size: 3rem;
  color: #64748b;
  margin-bottom: 1rem;
}

/* line 905, app/assets/stylesheets/account.scss */
.empty-state h3 {
  color: #ffffff;
  margin-bottom: 0.5rem;
}

/* line 911, 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 917, app/assets/stylesheets/account.scss */
.alert-info h6 {
  color: #ffffff;
  margin-bottom: 0.75rem;
}

/* line 922, app/assets/stylesheets/account.scss */
.alert-info ul {
  margin-bottom: 0;
}

/* line 926, app/assets/stylesheets/account.scss */
.alert-info li {
  margin-bottom: 0.5rem;
}

/* line 932, 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 939, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-icon {
  color: #a855f7;
  font-size: 1.25rem;
  opacity: 0.9;
}

/* line 946, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-content strong {
  color: #ffffff;
  font-size: 0.95rem;
  display: block;
}

/* line 952, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-content p {
  color: #94a3b8;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* line 959, 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 965, 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 976, app/assets/stylesheets/account.scss */
  .account-header, .dashboard-header {
    padding: 0.75rem 0 !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 982, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 987, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .row {
    margin: 0 !important;
  }
  /* line 991, 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 997, 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 1006, app/assets/stylesheets/account.scss */
  #account-preferences h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1012, app/assets/stylesheets/account.scss */
  .form-group {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1017, app/assets/stylesheets/account.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
  }
}

@media (max-width: 767px) {
  /* line 1027, app/assets/stylesheets/account.scss */
  .account-header, .dashboard-header {
    padding: 0.5rem 0 !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1033, 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 1045, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content {
    width: 100% !important;
  }
  /* line 1048, 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 1054, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .row.g-2 > [class*="col-"] {
    padding: 0 0.25rem !important;
  }
  /* line 1059, 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 1066, 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 1077, app/assets/stylesheets/account.scss */
  #account-preferences h3 {
    font-size: 0.85rem !important;
    margin-bottom: 0.3rem !important;
  }
  /* line 1083, app/assets/stylesheets/account.scss */
  .preferences-form ~ .row .text-muted,
.row.mb-5 .text-muted {
    font-size: 0.65rem !important;
  }
  /* line 1088, app/assets/stylesheets/account.scss */
  .row.mb-5 {
    margin-bottom: 0.75rem !important;
  }
  /* line 1093, app/assets/stylesheets/account.scss */
  .form-group {
    padding: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1098, app/assets/stylesheets/account.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 1105, app/assets/stylesheets/account.scss */
  #stock-search-form .d-flex {
    flex-direction: column !important;
    gap: 0.5rem !important;
    align-items: stretch !important;
  }
  /* line 1111, app/assets/stylesheets/account.scss */
  #stock-search-form input.form-control {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
  }
  /* line 1117, 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 1128, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .stock-symbol {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
  }
  /* line 1134, 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 1141, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card small.text-muted {
    font-size: 0.68rem !important;
    line-height: 1.2 !important;
  }
  /* line 1147, 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 1154, 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 1161, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .position-value-display small {
    font-size: 0.75rem !important;
  }
  /* line 1166, 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 1174, app/assets/stylesheets/account.scss */
  .account-tabs {
    padding: 0.2rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1178, 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 1184, app/assets/stylesheets/account.scss */
  .account-tabs .nav-link i {
    font-size: 0.8rem !important;
    margin-right: 3px !important;
  }
  /* line 1192, 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 1200, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 1205, 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 1218, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link.active .tab-label {
    opacity: 1 !important;
    font-weight: 600 !important;
  }
  /* line 1225, app/assets/stylesheets/account.scss */
  .form-control, .form-select {
    min-height: 32px !important;
    font-size: 16px !important;
  }
  /* line 1230, app/assets/stylesheets/account.scss */
  .btn {
    min-height: 34px !important;
    font-size: 0.75rem !important;
    padding: 6px 10px !important;
  }
  /* line 1237, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1241, 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 1248, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) .card-content h3 {
    font-size: 0.9rem !important;
  }
  /* line 1252, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) .card-content p {
    font-size: 0.75rem !important;
  }
  /* line 1259, app/assets/stylesheets/account.scss */
  .risk-option {
    padding: 8px 6px !important;
    margin-bottom: 4px !important;
  }
  /* line 1263, app/assets/stylesheets/account.scss */
  .risk-option .risk-title {
    font-size: 0.8rem !important;
    margin-bottom: 3px !important;
  }
  /* line 1267, app/assets/stylesheets/account.scss */
  .risk-option .risk-title i {
    font-size: 0.85rem !important;
  }
  /* line 1272, app/assets/stylesheets/account.scss */
  .risk-option .risk-description {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
  }
  /* line 1279, app/assets/stylesheets/account.scss */
  .checkbox-group {
    gap: 3px !important;
  }
  /* line 1282, app/assets/stylesheets/account.scss */
  .checkbox-group .form-check {
    padding: 8px 6px !important;
    min-height: 34px !important;
  }
  /* line 1286, app/assets/stylesheets/account.scss */
  .checkbox-group .form-check .form-check-label {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
  }
  /* line 1294, app/assets/stylesheets/account.scss */
  h3.mb-3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1299, app/assets/stylesheets/account.scss */
  h5 {
    font-size: 0.85rem !important;
  }
  /* line 1304, app/assets/stylesheets/account.scss */
  #portfolio-management h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
}

/* line 1314, 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 1326, app/assets/stylesheets/account.scss */
.investor-profile-summary .risk-score-mini i {
  font-size: 0.65rem;
}

/* line 1332, app/assets/stylesheets/account.scss */
.profile-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 1339, 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 1348, 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 1354, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-label i {
  margin-right: 0.3rem;
  opacity: 0.7;
}

/* line 1360, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: #e2e8f0;
}

/* line 1365, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.conservative {
  color: #10b981;
}

/* line 1368, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.dynamic {
  color: #f59e0b;
}

/* line 1371, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.aggressive {
  color: #ef4444;
}

/* line 1378, app/assets/stylesheets/account.scss */
.profile-incomplete-notice .alert {
  font-size: 0.8rem;
  padding: 0.6rem 0.8rem;
  border-radius: 8px;
}

/* line 1383, app/assets/stylesheets/account.scss */
.profile-incomplete-notice .alert i {
  margin-right: 0.4rem;
}

@media (max-width: 767px) {
  /* line 1391, app/assets/stylesheets/account.scss */
  .profile-preview-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  /* line 1396, app/assets/stylesheets/account.scss */
  .profile-preview-item {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0.5rem;
  }
  /* line 1402, app/assets/stylesheets/account.scss */
  .profile-preview-item .preview-label {
    font-size: 0.6rem;
  }
  /* line 1406, app/assets/stylesheets/account.scss */
  .profile-preview-item .preview-value {
    font-size: 0.75rem;
  }
}

/* line 1417, app/assets/stylesheets/account.scss */
.account-settings-page h5 {
  color: #ffffff;
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

/* line 1425, 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 1435, 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;
}

/* line 1442, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card::before {
  display: none !important;
}

/* line 1446, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card:hover {
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 1452, 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 1460, 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 1465, app/assets/stylesheets/account.scss */
.account-settings-page .form-control::placeholder {
  color: #64748b;
  font-size: 0.85rem;
}

/* line 1473, 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 1477, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card .card-content {
  text-align: left !important;
}

/* line 1481, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card .fw-semibold {
  font-size: 0.9rem;
  color: #ffffff;
}

/* line 1486, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card small.text-muted {
  font-size: 0.75rem;
}

/* line 1492, 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 1502, app/assets/stylesheets/account.scss */
.account-settings-page .card-icon i {
  color: #00d4aa;
  font-size: 1.25rem;
}

/* line 1509, app/assets/stylesheets/account.scss */
.account-settings-page .card-content h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.75rem;
}

/* line 1516, app/assets/stylesheets/account.scss */
.account-settings-page .card-content p {
  font-size: 0.85rem;
  color: #94a3b8;
  margin-bottom: 0.5rem;
}

/* line 1521, app/assets/stylesheets/account.scss */
.account-settings-page .card-content p strong {
  color: #ffffff;
}

/* line 1528, 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 1537, 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 1542, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info {
  border-color: rgba(0, 168, 255, 0.4);
  color: #00a8ff;
}

/* line 1546, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info:hover {
  background: rgba(0, 168, 255, 0.1);
  border-color: #00a8ff;
}

/* line 1552, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-warning {
  border-color: rgba(234, 179, 8, 0.4);
  color: #eab308;
}

/* line 1556, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-warning:hover {
  background: rgba(234, 179, 8, 0.1);
  border-color: #eab308;
}

/* line 1562, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-danger {
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* line 1566, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-danger:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
}

/* line 1572, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-primary {
  border-color: rgba(0, 212, 170, 0.4);
  color: #00d4aa;
}

/* line 1576, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-primary:hover {
  background: rgba(0, 212, 170, 0.1);
  border-color: #00d4aa;
}

/* line 1583, 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 1590, 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 1600, 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 1606, app/assets/stylesheets/account.scss */
.account-settings-page .theme-preference-toggle .theme-option i {
  margin-right: 0.35rem;
}

/* line 1613, app/assets/stylesheets/account.scss */
.account-settings-page .d-flex.align-items-center.justify-content-center {
  justify-content: flex-start !important;
}

/* line 1625, app/assets/stylesheets/account.scss */
#my-data .dropdown .btn-outline-info.dropdown-toggle::after {
  margin-left: 0.5rem;
}

/* line 1631, 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 1648, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu li {
  background: transparent !important;
}

/* line 1652, 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 1660, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:last-child {
  margin-bottom: 0;
}

/* line 1664, 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 1668, 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 1671, 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 1676, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item i {
  width: 20px;
}

/* line 1680, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item small {
  color: #64748b !important;
  font-size: 0.75rem;
}

/* line 1692, 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 1703, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item {
  color: #111111 !important;
}

/* line 1706, 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 1711, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item small {
  color: #666666 !important;
}
/* 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);
}

/* line 590, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form [data-search-target="button"] {
  display: none !important;
}

/* line 594, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form .flex-grow-1.position-relative {
  flex: 1 1 100%;
}

/* line 598, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form [data-search-target="results"] {
  position: static !important;
  width: 100%;
  margin-top: 0.5rem;
}

/* line 606, 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 613, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateX(4px);
}

/* line 618, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item:last-child {
  border-bottom: none;
}

/* line 623, 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 627, 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 634, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-external {
  background: rgba(255, 255, 255, 0.02);
}

/* line 637, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-external:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 643, 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 647, 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 653, 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 662, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto .asset-type-badge.asset-type-crypto i {
  color: #1a1a2e;
}

/* line 670, app/assets/stylesheets/stocks_preferences.scss */
.crypto-symbol {
  color: #fbbf24 !important;
  background: rgba(245, 158, 11, 0.25) !important;
  font-weight: 700 !important;
}

/* line 677, 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 683, 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 692, 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 704, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item .asset-type-badge i {
  font-size: 0.6rem;
}

/* line 709, app/assets/stylesheets/stocks_preferences.scss */
.stock-info-container {
  flex: 1;
  min-width: 0;
}

/* line 714, app/assets/stylesheets/stocks_preferences.scss */
.stock-name-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 721, 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 730, app/assets/stylesheets/stocks_preferences.scss */
.super-stock-indicator {
  font-size: 0.9rem;
  opacity: 0.8;
  transition: all 0.2s ease;
}

/* line 735, app/assets/stylesheets/stocks_preferences.scss */
.super-stock-indicator:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* line 741, app/assets/stylesheets/stocks_preferences.scss */
.stock-details {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 748, 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 759, app/assets/stylesheets/stocks_preferences.scss */
.stock-separator {
  color: #a0aec0;
  font-weight: 300;
  opacity: 0.6;
}

/* line 765, app/assets/stylesheets/stocks_preferences.scss */
.stock-exchange {
  font-size: 0.875rem;
  color: #a0aec0;
  font-weight: 400;
}

/* line 772, app/assets/stylesheets/stocks_preferences.scss */
.search-result-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
  align-items: center;
}

/* line 778, 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 790, 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 796, app/assets/stylesheets/stocks_preferences.scss */
.btn-watchlist-add:hover {
  background: rgba(139, 92, 246, 0.28) !important;
  color: #c4b5fd !important;
}

/* line 802, 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 808, app/assets/stylesheets/stocks_preferences.scss */
.btn-add-owned:hover {
  background: rgba(25, 205, 165, 0.28) !important;
}

/* line 813, 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 824, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn i {
  margin-right: 0.25rem;
  font-size: 0.75rem;
}

/* line 829, 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 837, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn:active {
  transform: translateY(0);
}

/* line 843, 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 850, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal i {
  color: #00d4aa;
  margin-right: 0.25rem;
}

/* line 855, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal strong {
  color: #00d4aa;
  font-size: 1rem;
  margin-left: 0.25rem;
}

/* line 864, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .asset-type-badge {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  vertical-align: middle;
}

/* line 869, 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 878, 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 884, app/assets/stylesheets/stocks_preferences.scss */
.search-result-item:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 888, app/assets/stylesheets/stocks_preferences.scss */
.search-result-item:last-child {
  border-bottom: none;
}

/* line 893, app/assets/stylesheets/stocks_preferences.scss */
.search-result-symbol {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.25rem;
}

/* line 899, app/assets/stylesheets/stocks_preferences.scss */
.search-result-name {
  font-size: 0.875rem;
  color: #a0aec0;
}

/* line 905, 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 913, 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 926, app/assets/stylesheets/stocks_preferences.scss */
.empty-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

/* line 933, app/assets/stylesheets/stocks_preferences.scss */
.empty-description {
  color: #a0aec0;
  margin-bottom: 1.5rem;
}

/* line 939, app/assets/stylesheets/stocks_preferences.scss */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

/* line 944, 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 961, 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 972, app/assets/stylesheets/stocks_preferences.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem;
  }
  /* line 977, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    padding: 0.75rem;
    position: relative;
  }
  /* line 981, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 986, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info {
    padding-right: 35px;
  }
  /* line 989, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .stock-symbol {
    font-size: 0.75rem;
    padding: 0.15rem 0.4rem;
  }
  /* line 994, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .stock-name {
    font-size: 0.8rem;
    margin: 0.25rem 0;
  }
  /* line 999, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .text-muted {
    font-size: 0.65rem;
  }
  /* line 1004, 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 1013, 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 1026, 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 1034, 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 1045, 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 1050, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions .transaction-dropdown-component .btn::after {
    display: none !important;
  }
  /* line 1059, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .form-label {
    font-size: 0.75rem;
  }
  /* line 1063, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .shares-input {
    font-size: 0.85rem;
    padding: 0.4rem 0.6rem;
  }
  /* line 1070, app/assets/stylesheets/stocks_preferences.scss */
  .search-results {
    max-height: 350px;
  }
}

@media (max-width: 480px) {
  /* line 1078, app/assets/stylesheets/stocks_preferences.scss */
  .stocks-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
    padding: 0 0.25rem;
  }
  /* line 1085, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    padding: 0.875rem 0.875rem 0.75rem;
  }
  /* line 1089, 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 1098, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info {
    flex: 1;
    min-width: 0;
  }
  /* line 1102, 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 1110, 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 1116, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .watchlist-badge {
    font-size: 0.62rem;
    padding: 0.12rem 0.4rem;
  }
  /* line 1121, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .asset-type-badge {
    font-size: 0.6rem;
    padding: 0.1rem 0.35rem;
  }
  /* line 1126, 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 1136, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info small.text-muted {
    font-size: 0.7rem;
    opacity: 0.75;
  }
  /* line 1141, 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 1149, 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 1157, 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 1169, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .remove-stock-btn i {
    font-size: 0.68rem !important;
    margin: 0 !important;
  }
  /* line 1172, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component {
    margin: 0 !important;
  }
  /* line 1174, 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 1187, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component .btn i {
    font-size: 0.68rem !important;
    margin: 0 !important;
  }
  /* line 1188, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component .btn::after {
    display: none !important;
  }
  /* line 1194, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-card-body {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 1199, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-since-label {
    font-size: 0.72rem;
  }
  /* line 1200, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-card-pnl {
    font-size: 0.88rem;
  }
  /* line 1201, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-ref-price-label {
    font-size: 0.68rem;
  }
  /* line 1204, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-inputs-container {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 1209, 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 1216, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares,
.stock-card .stock-purchase-price {
    flex: 1;
    min-width: 0;
  }
  /* line 1221, 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 1230, 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 1233, 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 1240, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-save-actions {
    flex-shrink: 0;
    align-self: flex-end;
  }
  /* line 1244, 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 1252, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .position-value-display {
    margin-top: 0.5rem;
    padding: 0.35rem 0.55rem;
  }
  /* line 1256, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .position-value-display small {
    font-size: 0.78rem;
  }
  /* line 1263, app/assets/stylesheets/stocks_preferences.scss */
  .search-results {
    max-height: 300px;
  }
  /* line 1267, 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 1275, 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 1283, 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 1290, app/assets/stylesheets/stocks_preferences.scss */
  .stock-name {
    font-size: 0.78rem !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }
  /* line 1296, app/assets/stylesheets/stocks_preferences.scss */
  .stock-details {
    display: flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 1303, app/assets/stylesheets/stocks_preferences.scss */
  .stock-symbol {
    font-size: 0.62rem !important;
    padding: 0.06rem 0.22rem !important;
    margin: 0 !important;
  }
  /* line 1309, 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 1317, app/assets/stylesheets/stocks_preferences.scss */
  .stock-separator {
    display: none !important;
  }
  /* line 1319, 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 1332, 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 1343, app/assets/stylesheets/stocks_preferences.scss */
  .ai-analysis-badge {
    display: none !important;
  }
  /* line 1345, app/assets/stylesheets/stocks_preferences.scss */
  .save-single-btn {
    width: 100%;
    margin-top: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 1353, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card,
.save-btn,
.save-all-btn,
.search-result-item {
    transition: none;
  }
  /* line 1359, app/assets/stylesheets/stocks_preferences.scss */
  .loading-spinner {
    animation: none;
  }
}

/* line 1365, app/assets/stylesheets/stocks_preferences.scss */
.stock-card:focus-within {
  outline: 2px solid #00d4aa;
  outline-offset: 2px;
}

/* line 1370, 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 1381, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    border-width: 2px;
  }
  /* line 1385, app/assets/stylesheets/stocks_preferences.scss */
  .shares-input {
    border-width: 2px;
  }
}

/* line 1395, 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 1400, 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 1407, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-name {
  color: var(--text-primary);
}

/* line 1412, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-card small {
  color: var(--text-muted);
}

/* line 1417, 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 1423, 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 1429, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .shares-input::placeholder,
[data-theme="light"] .purchase-price-input::placeholder {
  color: var(--text-muted);
}

/* line 1435, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-inputs-container {
  border-top-color: var(--border-color);
}

/* line 1440, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .form-label {
  color: var(--text-primary);
}

/* line 1445, 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 1460, 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 1473, 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 1481, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .dropdown-divider {
  border-color: var(--border-color);
}

/* line 1486, 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 1492, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item {
  border-bottom-color: var(--border-color);
}

/* line 1495, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item:hover {
  background: var(--bg-secondary);
}

/* line 1499, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item.stock-result-external {
  background: transparent;
}

/* line 1502, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item.stock-result-external:hover {
  background: var(--bg-secondary);
}

/* line 1509, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-state {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 1514, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-title {
  color: var(--text-primary);
}

/* line 1518, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-description {
  color: var(--text-muted);
}

/* line 1523, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .loading-spinner {
  border-color: var(--border-color);
  border-top-color: var(--accent-primary);
}

/* line 1529, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .position-value-display small {
  color: var(--text-secondary);
}

/* line 1534, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-item {
  border-bottom-color: var(--border-color);
}

/* line 1537, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-item:hover {
  background: var(--bg-secondary);
}

/* line 1542, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-symbol {
  color: var(--text-primary);
}

/* line 1546, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-name {
  color: var(--text-muted);
}

/* line 1552, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] #shareQuantityModal .input-group-text {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1559, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-separator {
  color: var(--text-muted);
}

/* line 1563, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-exchange {
  color: var(--text-muted);
}

/* line 1572, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal {
  z-index: 1070 !important;
}

/* line 1575, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal.modal {
  z-index: 1070 !important;
}

/* line 1579, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal.show {
  z-index: 1070 !important;
}

/* line 1583, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal .modal-dialog {
  z-index: 1071 !important;
}

/* line 1587, 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;
  }
}
/* 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;
  }

  /* 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;
  }

  .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;
  }

  /* 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-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 optimization */
img[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.3s;
}

img[loading="lazy"].loaded {
  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 251, app/assets/stylesheets/sidebar.scss */
.sidebar-category {
  margin-bottom: 0.2rem;
}

/* line 254, 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 261, 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 268, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-header {
  justify-content: center;
  padding: 0.35rem;
}

/* line 274, 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 282, 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 291, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-title {
  opacity: 0;
  visibility: hidden;
  width: 0;
}

/* line 298, app/assets/stylesheets/sidebar.scss */
.sidebar-category-logos {
  display: flex;
  gap: 0.25rem;
}

/* line 302, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-logos {
  flex-direction: column;
  gap: 0.125rem;
}

/* line 308, app/assets/stylesheets/sidebar.scss */
.sidebar-platform-logo {
  width: 14px;
  height: 14px;
  object-fit: contain;
  opacity: 0.5;
  border-radius: 3px;
}

/* line 316, app/assets/stylesheets/sidebar.scss */
.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0 0.675rem;
}

/* line 322, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item {
  margin-bottom: 0.1rem;
  position: relative;
}

/* line 329, 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 334, 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 346, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link {
  color: #3b82f6;
  background: transparent;
}

/* line 350, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link .sidebar-icon {
  color: #3b82f6;
}

/* line 356, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-arrow-btn .sidebar-arrow {
  color: #3b82f6;
}

/* line 363, 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 368, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link .sidebar-icon {
  color: #3b82f6;
}

/* line 372, 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 387, 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 394, 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 402, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper {
  display: flex;
  align-items: center;
  border-radius: 10px;
  transition: all 0.2s;
}

/* line 408, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 412, 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 417, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper .sidebar-menu-link:hover {
  background: transparent;
}

/* line 424, 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 435, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* line 438, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover .sidebar-arrow {
  color: rgba(255, 255, 255, 0.8);
}

/* line 444, 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: all 0.2s;
  position: relative;
  cursor: pointer;
}

/* line 456, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

/* line 461, 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 466, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active .sidebar-icon {
  color: #3b82f6;
}

/* line 470, 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 484, 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 495, 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 503, 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 516, 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 528, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-soon {
  display: none;
}

/* line 534, 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 547, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-beta {
  display: none;
}

/* line 553, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* line 557, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled:hover {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.7);
}

/* line 564, app/assets/stylesheets/sidebar.scss */
.sidebar-icon-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 4px;
}

/* line 572, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.65rem;
}

/* line 580, 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 590, app/assets/stylesheets/sidebar.scss */
.open > .sidebar-submenu {
  max-height: 500px;
  opacity: 1;
  padding: 0.2rem 0;
}

/* line 597, 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 608, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link i {
  font-size: 0.7rem;
  width: 14px;
  opacity: 0.7;
}

/* line 614, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

/* line 619, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active {
  color: #3b82f6;
  background: rgba(59, 130, 246, 0.08);
}

/* line 623, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active i {
  opacity: 1;
}

/* line 629, app/assets/stylesheets/sidebar.scss */
.sidebar-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 0.675rem 0.675rem;
}

/* line 638, 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 645, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle {
  margin-bottom: 0.55rem;
}

/* line 648, 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 662, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* line 667, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn .theme-icon {
  font-size: 0.8rem;
}

/* line 673, 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 683, app/assets/stylesheets/sidebar.scss */
.sidebar-user-main {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 691, app/assets/stylesheets/sidebar.scss */
.sidebar-footer-menu {
  padding: 0 0.5rem;
  margin: 0;
  list-style: none;
}

/* line 697, 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 703, 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 716, 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 724, 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 733, app/assets/stylesheets/sidebar.scss */
.sidebar-user-plan {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: capitalize;
}

/* line 740, app/assets/stylesheets/sidebar.scss */
.sidebar-logout-form {
  width: 100%;
  margin: 0;
}

/* line 745, 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 761, app/assets/stylesheets/sidebar.scss */
.sidebar-logout:hover {
  background: rgba(234, 179, 8, 0.1);
  color: #eab308;
}

/* line 766, app/assets/stylesheets/sidebar.scss */
.sidebar-logout i {
  font-size: 0.8rem;
}

/* line 774, 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 784, app/assets/stylesheets/sidebar.scss */
.sidebar-mobile-open .sidebar-overlay {
  opacity: 1;
  visibility: visible;
}

/* line 794, app/assets/stylesheets/sidebar.scss */
.has-sidebar .navbar {
  display: none !important;
}

/* line 798, 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 804, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed #main-content {
  margin-left: 72px;
}

/* line 809, app/assets/stylesheets/sidebar.scss */
.has-sidebar .dashboard-tabs {
  display: none !important;
}

/* line 814, 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 822, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed .footer,
.has-sidebar.sidebar-collapsed footer.footer {
  margin-left: 72px;
}

@media (max-width: 1023px) {
  /* line 833, app/assets/stylesheets/sidebar.scss */
  .app-sidebar {
    transform: translateX(-100%);
  }
  /* line 837, app/assets/stylesheets/sidebar.scss */
  .sidebar-mobile-open .app-sidebar {
    transform: translateX(0);
  }
  /* line 842, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .navbar {
    display: flex !important;
  }
  /* line 846, app/assets/stylesheets/sidebar.scss */
  .has-sidebar #main-content {
    margin-left: 0;
  }
  /* line 851, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .dashboard-tabs {
    display: block !important;
  }
  /* line 855, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .footer,
.has-sidebar footer.footer {
    margin-left: 0;
    padding: 0 !important;
  }
}

@media (max-height: 800px) {
  /* line 867, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    padding: 0.35rem 0.7rem;
    min-height: 58px;
    height: 58px;
  }
  /* line 873, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 54px;
    height: 54px;
  }
  /* line 878, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 1.05rem;
  }
  /* line 882, app/assets/stylesheets/sidebar.scss */
  .sidebar-nav {
    padding: 0.2rem 0;
  }
  /* line 886, app/assets/stylesheets/sidebar.scss */
  .sidebar-category {
    margin-bottom: 0.1rem;
  }
  /* line 889, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.35rem;
    margin-top: 0.1rem;
  }
  /* line 895, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.2rem 0.7rem;
    margin-bottom: 0.1rem;
  }
  /* line 900, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.6rem;
    width: 14px;
  }
  /* line 905, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.6rem;
  }
  /* line 909, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu {
    padding: 0 0.55rem;
  }
  /* line 913, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-item {
    margin-bottom: 0.065rem;
  }
  /* line 917, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.45rem 0.7rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 923, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link-wrapper .sidebar-menu-link {
    padding-right: 0.2rem;
  }
  /* line 927, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.45rem 0.7rem 0.45rem 0.2rem;
  }
  /* line 931, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 16px;
    height: 16px;
    font-size: 0.8rem;
  }
  /* line 937, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.8rem;
  }
  /* line 943, app/assets/stylesheets/sidebar.scss */
  .open > .sidebar-submenu {
    padding: 0.1rem 0;
  }
  /* line 948, 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 954, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.675rem;
    width: 12px;
  }
  /* line 961, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.55rem 0.7rem;
  }
  /* line 965, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle {
    margin-bottom: 0.35rem;
  }
  /* line 968, 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 976, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.45rem;
    margin-bottom: 0.35rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 983, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 30px;
    height: 30px;
    font-size: 0.7rem;
    border-radius: 7px;
  }
  /* line 990, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.75rem;
  }
  /* line 994, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.675rem;
  }
  /* line 998, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.35rem 0.7rem;
    font-size: 0.75rem;
    gap: 0.55rem;
  }
  /* line 1003, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.75rem;
  }
}

@media (max-height: 700px) {
  /* line 1013, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    padding: 0.2rem 0.55rem;
    min-height: 58px;
    height: 58px;
  }
  /* line 1019, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 45px;
    height: 45px;
  }
  /* line 1024, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 0.9rem;
  }
  /* line 1029, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.2rem;
  }
  /* line 1034, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.1rem 0.55rem;
  }
  /* line 1038, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.55rem;
  }
  /* line 1042, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.55rem;
  }
  /* line 1046, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.3rem 0.55rem;
    gap: 0.45rem;
  }
  /* line 1051, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.3rem 0.55rem 0.3rem 0.1rem;
  }
  /* line 1055, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 14px;
    height: 14px;
    font-size: 0.7rem;
  }
  /* line 1061, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.7rem;
  }
  /* line 1065, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link {
    padding: 0.2rem 0.55rem 0.2rem 1.6rem;
    font-size: 0.675rem;
  }
  /* line 1069, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.55rem;
    width: 10px;
  }
  /* line 1075, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.35rem 0.55rem;
  }
  /* line 1079, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle {
    margin-bottom: 0.2rem;
  }
  /* line 1082, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle .theme-btn {
    padding: 0.25rem 0.55rem;
    font-size: 0.675rem;
  }
  /* line 1088, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.3rem;
    margin-bottom: 0.2rem;
    gap: 0.45rem;
  }
  /* line 1094, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 25px;
    height: 25px;
    font-size: 0.6rem;
  }
  /* line 1100, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.675rem;
  }
  /* line 1104, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.55rem;
  }
  /* line 1108, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.25rem 0.55rem;
    font-size: 0.675rem;
  }
  /* line 1112, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.675rem;
  }
}

/* line 1122, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .app-sidebar {
  background: var(--bg-primary, #f4f2ed);
  border-right-color: var(--border-color, #d0ccc5);
}

/* line 1127, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-header {
  border-bottom-color: var(--border-color, #d0ccc5);
}

/* line 1131, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-brand {
  color: var(--text-primary, #111111);
}

/* line 1135, 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 1140, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-toggle:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1146, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link {
  color: var(--text-secondary, #333333);
}

/* line 1149, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1154, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link.active {
  color: var(--accent-primary, #00a080);
}

/* line 1160, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link-wrapper:hover {
  background: var(--bg-secondary, #eae7e1);
}

/* line 1166, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow-btn:hover {
  background: var(--bg-input, #efede7);
}

/* line 1169, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow-btn:hover .sidebar-arrow {
  color: var(--text-secondary, #333333);
}

/* line 1175, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow {
  color: var(--text-muted, #666666);
}

/* line 1179, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link {
  color: var(--text-secondary, #333333);
}

/* line 1182, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1187, 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 1193, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-divider {
  background: var(--border-color, #d0ccc5);
}

/* line 1198, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-category:not(:first-child) {
  border-top-color: var(--border-color, #d0ccc5);
}

/* line 1203, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-category-icon,
[data-theme="light"] .sidebar-category-title {
  color: var(--text-muted, #666666);
}

/* line 1208, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-footer {
  border-top-color: var(--border-color, #d0ccc5);
}

/* line 1212, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user {
  background: var(--bg-card-solid, #faf9f6);
}

/* line 1216, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user-name {
  color: var(--text-primary, #111111);
}

/* line 1220, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user-plan {
  color: var(--text-muted, #666666);
}

/* line 1224, 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 1229, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-theme-toggle .theme-btn:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}
/* ============================================
   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;
}
/* ============================================
   HIDE ELEMENTS IN WEBVIEW MODE
   ============================================ */

/* Fix html and body to prevent double scroll - ONLY body should scroll */
html.webview-mode {
  /* html should NEVER scroll - disable all scrolling on html */
  position: fixed !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  height: 100% !important;
  width: 100% !important;
  /* Prevent any transform or movement */
  transform: none !important;
  -webkit-transform: none !important;
  /* Prevent scroll on html itself */
  overscroll-behavior: none !important;
  -webkit-overflow-scrolling: auto !important;
  /* Ensure scroll starts at 0 */
  scroll-behavior: auto !important;
  /* Allow fixed positioning to work correctly */
  position: relative !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) {
  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 */
  body:not(:has(.landing-v3)) 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;
}

/* 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;
}
/* 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 .form-check {
  margin-bottom: 1rem;
}

/* line 254, 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 261, 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 266, 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 271, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-label {
  color: var(--text-secondary, #94a3b8);
  font-size: 0.9rem;
}

/* line 279, 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 292, 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 297, 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 302, 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 307, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* line 314, 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 319, 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 326, app/assets/stylesheets/devise.scss */
.devise-btn.btn-link {
  color: #00d4aa;
  text-decoration: none;
  padding: 0.5rem 0;
}

/* line 331, app/assets/stylesheets/devise.scss */
.devise-btn.btn-link:hover {
  color: #00a8ff;
  text-decoration: underline;
}

/* line 339, app/assets/stylesheets/devise.scss */
.devise-links {
  text-align: center;
  margin-top: 1.5rem;
}

/* line 343, 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 349, app/assets/stylesheets/devise.scss */
.devise-links a:hover {
  color: var(--accent-primary, #00d4aa);
  text-decoration: underline;
}

/* line 355, app/assets/stylesheets/devise.scss */
.devise-links .divider {
  color: var(--text-muted, #64748b);
  margin: 0 0.5rem;
}

/* line 362, app/assets/stylesheets/devise.scss */
.alert {
  border-radius: 8px;
  border: none;
  margin-bottom: 1.5rem;
  padding: 1rem;
}

/* line 368, 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 374, 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 380, 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 388, 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 393, app/assets/stylesheets/devise.scss */
.devise-footer p {
  color: var(--text-muted, #64748b);
  font-size: 0.8rem;
  margin: 0;
}

/* line 401, 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 412, 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 422, app/assets/stylesheets/devise.scss */
  .devise-container {
    padding: 1rem 0.5rem;
  }
  /* line 426, app/assets/stylesheets/devise.scss */
  .devise-card {
    margin: 0;
  }
  /* line 430, app/assets/stylesheets/devise.scss */
  .devise-header,
.devise-body-content {
    padding: 1.5rem;
  }
  /* line 435, app/assets/stylesheets/devise.scss */
  .devise-footer {
    padding: 1rem 1.5rem 1.5rem;
  }
}

@media (max-width: 575px) {
  /* line 444, 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 452, 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 458, 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 468, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-content {
    flex: 0 0 auto !important;
  }
  /* line 472, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-content {
    max-width: 100% !important;
  }
  /* line 476, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-card {
    margin: 0 !important;
    border-radius: 12px !important;
  }
  /* line 481, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header {
    padding: 1rem 1rem 0.75rem !important;
  }
  /* line 484, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header .devise-logo {
    font-size: 1.25rem !important;
  }
  /* line 487, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header .devise-logo i {
    font-size: 1.4rem !important;
  }
  /* line 493, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-body-content {
    padding: 1rem !important;
  }
  /* line 497, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-title {
    font-size: 1.25rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 502, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-subtitle {
    font-size: 0.85rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 508, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-group {
    margin-bottom: 1rem !important;
  }
  /* line 512, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-label {
    font-size: 0.8rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 517, 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 523, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-check {
    margin-bottom: 0.75rem !important;
  }
  /* line 526, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-check .form-check-label {
    font-size: 0.8rem !important;
  }
  /* line 532, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-btn {
    padding: 0.7rem 1rem !important;
    font-size: 0.9rem !important;
    min-height: 44px !important;
  }
  /* line 538, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-links {
    margin-top: 1rem !important;
  }
  /* line 541, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-links a {
    font-size: 0.8rem !important;
  }
  /* line 546, app/assets/stylesheets/devise.scss */
  .webview-mode .alert {
    padding: 0.75rem !important;
    margin-bottom: 1rem !important;
    font-size: 0.85rem !important;
  }
}

/* line 558, 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 579, app/assets/stylesheets/devise.scss */
.password-requirements {
  margin-bottom: 1rem;
}

/* line 583, 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 590, app/assets/stylesheets/devise.scss */
.requirement:last-child {
  margin-bottom: 0;
}

/* line 595, app/assets/stylesheets/devise.scss */
.requirement.valid .requirement-icon {
  color: #10b981;
  transform: scale(1.1);
}

/* line 600, app/assets/stylesheets/devise.scss */
.requirement.valid .requirement-text {
  color: #059669;
  font-weight: 500;
}

/* line 607, app/assets/stylesheets/devise.scss */
.requirement.invalid .requirement-icon {
  color: #ef4444;
}

/* line 611, app/assets/stylesheets/devise.scss */
.requirement.invalid .requirement-text {
  color: #dc2626;
}

/* line 617, 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 628, app/assets/stylesheets/devise.scss */
.requirement-text {
  color: #6b7280;
  transition: all 0.3s ease;
}

/* line 633, app/assets/stylesheets/devise.scss */
.password-strength-meter {
  margin-top: 1rem;
}

/* line 637, app/assets/stylesheets/devise.scss */
.strength-bar {
  width: 100%;
  height: 6px;
  background-color: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

/* line 646, app/assets/stylesheets/devise.scss */
.strength-fill {
  height: 100%;
  width: 0%;
  transition: all 0.5s ease;
  border-radius: 3px;
}

/* line 652, app/assets/stylesheets/devise.scss */
.strength-fill.very-weak {
  width: 20%;
  background: linear-gradient(90deg, #ef4444, #f87171);
}

/* line 657, app/assets/stylesheets/devise.scss */
.strength-fill.weak {
  width: 40%;
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

/* line 662, app/assets/stylesheets/devise.scss */
.strength-fill.fair {
  width: 60%;
  background: linear-gradient(90deg, #eab308, #facc15);
}

/* line 667, app/assets/stylesheets/devise.scss */
.strength-fill.good {
  width: 80%;
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

/* line 672, app/assets/stylesheets/devise.scss */
.strength-fill.strong {
  width: 100%;
  background: linear-gradient(90deg, #10b981, #34d399);
}

/* line 678, app/assets/stylesheets/devise.scss */
.strength-text {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
}

/* line 684, app/assets/stylesheets/devise.scss */
.strength-text.very-weak {
  color: #dc2626;
}

/* line 688, app/assets/stylesheets/devise.scss */
.strength-text.weak {
  color: #d97706;
}

/* line 692, app/assets/stylesheets/devise.scss */
.strength-text.fair {
  color: #ca8a04;
}

/* line 696, app/assets/stylesheets/devise.scss */
.strength-text.good {
  color: #16a34a;
}

/* line 700, app/assets/stylesheets/devise.scss */
.strength-text.strong {
  color: #059669;
}

/* line 705, app/assets/stylesheets/devise.scss */
.password-hint {
  margin-top: 0.5rem;
}

/* line 708, app/assets/stylesheets/devise.scss */
.password-hint small {
  font-size: 0.75rem;
  color: #6b7280;
}

/* line 715, app/assets/stylesheets/devise.scss */
.password-input, .password-confirmation-input {
  transition: all 0.3s ease;
}

/* line 718, 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 723, 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 728, 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 735, 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 744, 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 763, app/assets/stylesheets/devise.scss */
  .password-strength-checker {
    padding: 0.75rem;
  }
  /* line 767, app/assets/stylesheets/devise.scss */
  .requirement {
    font-size: 0.8rem;
  }
  /* line 771, 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 804, app/assets/stylesheets/devise.scss */
.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: var(--color-success, #00d4aa);
  background-image: none;
}

/* line 810, app/assets/stylesheets/devise.scss */
.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: var(--color-danger, #ff6b6b);
  background-image: none;
}

/* line 816, app/assets/stylesheets/devise.scss */
.valid-feedback {
  color: var(--color-success, #00d4aa);
  font-size: 0.8rem;
}

/* line 821, app/assets/stylesheets/devise.scss */
.invalid-feedback {
  color: var(--color-danger, #ff6b6b);
  font-size: 0.8rem;
}

/* line 827, 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 837, app/assets/stylesheets/devise.scss */
.recaptcha-container iframe {
  border-radius: 8px;
}

/* Dark theme adjustments for reCAPTCHA */
/* line 842, app/assets/stylesheets/devise.scss */
.g-recaptcha {
  transform: scale(0.9);
  transform-origin: center;
}

@media (max-width: 768px) {
  /* line 848, app/assets/stylesheets/devise.scss */
  .recaptcha-container {
    padding: 0.5rem;
  }
  /* line 852, app/assets/stylesheets/devise.scss */
  .g-recaptcha {
    transform: scale(0.8);
  }
}

/* line 861, app/assets/stylesheets/devise.scss */
.oauth-section {
  margin-bottom: 1.5rem;
}

/* line 865, app/assets/stylesheets/devise.scss */
.oauth-divider {
  display: flex;
  align-items: center;
  margin: 1.5rem 0;
}

/* line 870, 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 878, 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 887, app/assets/stylesheets/devise.scss */
.oauth-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 893, 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 907, app/assets/stylesheets/devise.scss */
.oauth-btn .oauth-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* line 913, app/assets/stylesheets/devise.scss */
.oauth-btn span {
  flex-shrink: 0;
}

/* line 917, app/assets/stylesheets/devise.scss */
.oauth-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* line 922, app/assets/stylesheets/devise.scss */
.oauth-btn:active {
  transform: translateY(0);
}

/* line 928, app/assets/stylesheets/devise.scss */
.oauth-google {
  background: #ffffff;
  color: #3c4043;
  border-color: #dadce0;
}

/* line 933, app/assets/stylesheets/devise.scss */
.oauth-google:hover {
  background: #f8f9fa;
  border-color: #c6c6c6;
}

/* line 944, app/assets/stylesheets/devise.scss */
.oauth-apple {
  background: #000000;
  color: #ffffff;
  border-color: #333;
}

/* line 949, app/assets/stylesheets/devise.scss */
.oauth-apple:hover:not(:disabled) {
  background: #1a1a1a;
  border-color: #555;
}

/* line 954, app/assets/stylesheets/devise.scss */
.oauth-apple .oauth-icon {
  font-size: 1.25rem;
}

/* line 960, app/assets/stylesheets/devise.scss */
.oauth-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  position: relative;
}

/* line 965, app/assets/stylesheets/devise.scss */
.oauth-disabled:hover {
  transform: none;
  box-shadow: none;
}

/* line 970, 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 986, 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 991, app/assets/stylesheets/devise.scss */
.oauth-microsoft:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.3);
}

/* line 1002, 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 1009, app/assets/stylesheets/devise.scss */
.oauth-terms a {
  color: var(--accent-primary, #00d4aa);
  text-decoration: none;
}

/* line 1013, app/assets/stylesheets/devise.scss */
.oauth-terms a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 1021, app/assets/stylesheets/devise.scss */
  .oauth-btn {
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    border-radius: 10px;
  }
  /* line 1026, app/assets/stylesheets/devise.scss */
  .oauth-btn .oauth-icon {
    width: 18px;
    height: 18px;
  }
  /* line 1032, 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 1040, app/assets/stylesheets/devise.scss */
  .oauth-buttons {
    flex-direction: row;
    flex-wrap: wrap;
  }
  /* line 1044, app/assets/stylesheets/devise.scss */
  .oauth-buttons .oauth-btn {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 0;
  }
  /* line 1048, app/assets/stylesheets/devise.scss */
  .oauth-buttons .oauth-btn span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* line 1059, app/assets/stylesheets/devise.scss */
.webview-mode .oauth-btn {
  min-height: 48px;
  padding: 0.875rem 1rem;
}

/* line 1065, app/assets/stylesheets/devise.scss */
.webview-mode .oauth-section {
  margin-bottom: 1rem;
}

/* line 1072, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-body {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
}

/* line 1077, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-background {
  background: var(--bg-primary);
}

/* line 1081, 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 1087, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-glow {
  opacity: 0.5;
}

/* line 1091, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-orbs .orb {
  opacity: 0.15;
}

/* line 1095, 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 1101, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-header {
  border-bottom-color: var(--border-color);
}

/* line 1106, 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 1111, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-control::placeholder {
  color: var(--text-muted);
}

/* line 1115, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-control:focus {
  background: var(--bg-card-solid);
  border-color: var(--accent-primary);
}

/* line 1121, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-check-input {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1127, 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 1132, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-btn.btn-secondary:hover {
  background: var(--bg-card-hover);
}

/* line 1137, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-footer {
  border-top-color: var(--border-color);
}

/* line 1141, app/assets/stylesheets/devise.scss */
[data-theme="light"] .recaptcha-container {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1146, 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 1151, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-btn {
  border-color: var(--border-color);
}

/* line 1155, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-microsoft {
  background: var(--bg-input);
}

/* line 1158, 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-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;
}

.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;
}


} /* 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 1035, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-signal {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}

/* line 1042, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-signal-badge {
  display: inline-flex;
  padding: 0.5rem 1.25rem;
  border-radius: var(--radius-full);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.5px;
}

/* line 1049, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-signal-badge.sa-signal-buy {
  background: rgba(16, 185, 129, 0.15);
  color: var(--color-success);
  border: 1px solid rgba(16, 185, 129, 0.3);
}

/* line 1050, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-signal-badge.sa-signal-sell {
  background: rgba(239, 68, 68, 0.15);
  color: var(--color-danger);
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* line 1051, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-signal-badge.sa-signal-hold, .sa-ai-signal-badge.sa-signal-wait {
  background: rgba(245, 158, 11, 0.15);
  color: var(--color-warning);
  border: 1px solid rgba(245, 158, 11, 0.3);
}

/* line 1053, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-detail {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* line 1053, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-detail strong {
  color: var(--text-primary);
}

/* line 1055, 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 1064, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner > i {
  font-size: 1.3rem;
  color: #ffab00;
  flex-shrink: 0;
}

/* line 1065, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner div {
  flex: 1;
}

/* line 1066, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner strong {
  font-size: 0.85rem;
  color: var(--text-primary);
  display: block;
  margin-bottom: 2px;
}

/* line 1067, 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 1068, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner .btn {
  flex-shrink: 0;
}

/* line 1071, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-reasoning {
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
}

/* line 1077, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-reasoning h4 {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}

/* line 1077, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-reasoning h4 i {
  color: var(--accent-primary);
  margin-right: 0.4rem;
}

/* line 1079, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-text {
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--text-secondary);
  max-height: 300px;
  overflow: hidden;
  position: relative;
}

/* line 1086, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-text p {
  margin-bottom: 0.75rem;
}

/* line 1086, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-text p:last-child {
  margin-bottom: 0;
}

/* line 1087, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-text .sa-ai-paragraph {
  margin-bottom: 0.75rem;
}

/* line 1087, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-text .sa-ai-paragraph:last-child {
  margin-bottom: 0;
}

/* line 1088, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-text .sa-ai-label {
  color: var(--accent-primary);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 1091, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-complementary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}

/* line 1096, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-comp-block {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
}

/* line 1101, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-comp-block h5 {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--accent-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 0.5rem;
}

/* line 1102, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-comp-block p {
  font-size: 0.78rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* line 1105, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated {
  margin-top: 1rem;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 1105, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated i {
  margin-right: 0.3rem;
}

/* line 1108, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-row {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}

/* line 1114, 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 1124, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-label {
  font-size: 0.65rem;
  color: var(--text-muted);
  text-transform: uppercase;
  font-weight: 600;
}

/* line 1125, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-value {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1126, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
}

/* line 1129, 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 1135, 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 1140, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-panel h4 i {
  color: var(--accent-primary);
  margin-right: 0.4rem;
}

/* line 1144, app/assets/stylesheets/stock_analysis.scss */
.sa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1rem;
}

/* line 1150, 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 1162, 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 1172, 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 1182, 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 1186, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::before {
  opacity: 1;
}

/* line 1187, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::after {
  opacity: 1;
}

/* line 1191, app/assets/stylesheets/stock_analysis.scss */
.sa-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

/* line 1198, app/assets/stylesheets/stock_analysis.scss */
.sa-card-symbol {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1204, 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 1212, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-complete {
  background: rgba(var(--accent-primary-rgb), 0.15);
  color: var(--accent-primary);
}

/* line 1213, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-warning {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

/* line 1214, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-error {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* line 1215, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-pending {
  background: rgba(148, 163, 184, 0.12);
  color: #94a3b8;
}

/* line 1218, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-section {
  position: relative;
}

/* line 1219, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

/* line 1222, 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 1227, app/assets/stylesheets/stock_analysis.scss */
.sa-vh-badge strong {
  color: var(--text-primary);
  margin-left: 0.2rem;
}

/* line 1229, 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 1234, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-legend {
  display: flex;
  gap: 1.5rem;
  margin-top: 0.75rem;
  justify-content: center;
}

/* line 1237, 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 1241, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-dot {
  width: 10px;
  height: 3px;
  border-radius: 2px;
}

/* line 1244, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-price {
  background: rgba(16, 185, 129, 0.9);
}

/* line 1245, 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 1248, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.35rem;
  cursor: help;
}

/* line 1255, 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 1261, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover > i {
  color: var(--accent-primary);
}

/* line 1263, 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 1285, 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 1296, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover .sa-tooltip-content {
  display: block;
}

/* line 1310, 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 1315, app/assets/stylesheets/stock_analysis.scss */
.sa-section-title .sa-tooltip-trigger {
  vertical-align: middle;
}

/* line 1316, 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 1320, 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 1322, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-card .sa-tooltip-trigger .sa-tooltip-content {
  width: 220px;
}

@media (max-width: 768px) {
  /* line 1327, app/assets/stylesheets/stock_analysis.scss */
  .sa-tooltip-trigger .sa-tooltip-content {
    width: 200px;
    font-size: 0.63rem;
  }
}

/* line 1333, 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 1342, app/assets/stylesheets/stock_analysis.scss */
.sa-toc-help i {
  color: var(--accent-primary);
  margin-right: 0.3rem;
}

/* line 1345, 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 1354, app/assets/stylesheets/stock_analysis.scss */
.sa-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 1361, 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 1369, app/assets/stylesheets/stock_analysis.scss */
.sa-card-price {
  font-weight: 700;
  color: var(--text-primary);
  font-size: var(--font-sm);
}

/* line 1375, app/assets/stylesheets/stock_analysis.scss */
.sa-card-scores {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 1381, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 1386, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-label {
  font-size: 0.6rem;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* line 1387, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value {
  font-size: var(--font-sm);
  font-weight: 700;
}

/* line 1389, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-good {
  color: var(--color-success);
}

/* line 1390, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-neutral {
  color: var(--color-warning);
}

/* line 1391, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-bad {
  color: var(--color-danger);
}

/* line 1394, app/assets/stylesheets/stock_analysis.scss */
.sa-card-footer {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-color);
}

/* line 1400, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated {
  font-size: 0.65rem;
  color: var(--text-muted);
}

/* line 1400, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated i {
  margin-right: 3px;
}

/* line 1403, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section {
  margin-bottom: 1.5rem;
}

/* line 1405, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section .sa-section-title i {
  color: #f59e0b;
}

/* line 1408, 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 1415, 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 1421, 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 1432, 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 1439, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1445, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-logo {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: contain;
}

/* line 1452, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-identity {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

/* line 1459, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-symbol {
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1465, 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 1473, 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 1480, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 1486, 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 1496, 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 1502, 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 1508, 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 1515, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-label {
  opacity: 0.7;
}

/* line 1519, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-value {
  font-weight: 800;
}

/* line 1524, app/assets/stylesheets/stock_analysis.scss */
.sa-empty {
  text-align: center;
  padding: 4rem 2rem;
  color: var(--text-muted);
}

/* line 1528, app/assets/stylesheets/stock_analysis.scss */
.sa-empty i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.2;
}

/* line 1529, app/assets/stylesheets/stock_analysis.scss */
.sa-empty h3 {
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
}

/* line 1533, app/assets/stylesheets/stock_analysis.scss */
.sa-show-symbol {
  font-weight: 800;
  color: var(--text-primary);
  margin: 0;
}

/* line 1534, 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 1535, 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 1536, app/assets/stylesheets/stock_analysis.scss */
.sa-price-value {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1538, 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 1552, app/assets/stylesheets/stock_analysis.scss */
.sa-refresh-btn:hover {
  background: var(--accent-primary);
  color: var(--text-inverse);
  border-color: var(--accent-primary);
}

/* line 1553, 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 1554, 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 1564, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-overlay {
  margin-bottom: 2rem;
}

/* line 1566, 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 1576, 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 1585, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon {
  margin-bottom: 1rem;
}

/* line 1587, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
}

/* line 1590, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-error .sa-loading-icon i {
  color: var(--color-danger);
}

/* line 1591, 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 1592, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-message {
  color: var(--text-secondary);
  font-size: var(--font-sm);
  margin-bottom: 1.5rem;
}

/* line 1594, 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 1603, 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 1611, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-pct {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--accent-primary);
}

/* line 1614, 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 1623, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon {
  margin-bottom: 1rem;
}

/* line 1623, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
  opacity: 0.5;
}

/* line 1624, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis h2 {
  font-size: var(--font-xl);
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

/* line 1625, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis p {
  color: var(--text-secondary);
  font-size: var(--font-sm);
}

/* line 1626, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-note {
  margin-top: 1rem;
  font-size: 0.7rem !important;
  color: var(--text-muted) !important;
}

/* line 1628, 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 1643, 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 1645, app/assets/stylesheets/stock_analysis.scss */
.sa-btn-lg {
  padding: 0.9rem 2rem;
  font-size: var(--font-lg);
}

/* line 1648, 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 1655, app/assets/stylesheets/stock_analysis.scss */
.sa-nav-tabs::-webkit-scrollbar {
  display: none;
}

/* line 1658, 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 1671, app/assets/stylesheets/stock_analysis.scss */
.sa-tab:hover {
  color: var(--text-primary);
}

/* line 1672, 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 1680, app/assets/stylesheets/stock_analysis.scss */
.sa-tab-content {
  display: none;
}

/* line 1680, 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 1684, app/assets/stylesheets/stock_analysis.scss */
.sa-section-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.25rem;
}

/* line 1690, 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 1699, 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 1705, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-wide {
  grid-column: 1 / -1;
}

/* line 1707, 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 1712, 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 1720, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-header h3 i {
  color: var(--accent-primary);
  font-size: 0.85rem;
}

/* line 1724, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-body {
  padding: 1.5rem;
}

/* line 1727, 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 1734, app/assets/stylesheets/stock_analysis.scss */
.sa-score-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

/* line 1741, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring {
  position: relative;
  width: 80px;
  height: 80px;
}

/* line 1746, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 1752, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 4;
}

/* line 1757, 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 1763, 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 1764, 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 1765, 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 1768, 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 1777, app/assets/stylesheets/stock_analysis.scss */
.sa-score-number {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1;
}

/* line 1778, app/assets/stylesheets/stock_analysis.scss */
.sa-score-max {
  font-size: 0.6rem;
  color: var(--text-muted);
  margin-top: 2px;
}

/* line 1779, app/assets/stylesheets/stock_analysis.scss */
.sa-score-label {
  font-size: 0.7rem;
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 1780, app/assets/stylesheets/stock_analysis.scss */
.sa-score-desc {
  font-size: 0.6rem;
  color: var(--text-muted);
}

/* line 1783, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1.25rem;
}

/* line 1789, 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 1797, 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 1798, 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 1801, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 1807, 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 1814, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-label {
  font-size: var(--font-sm);
  color: var(--text-muted);
}

/* line 1815, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-value {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1818, app/assets/stylesheets/stock_analysis.scss */
.sa-target-visual {
  text-align: center;
}

/* line 1820, 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 1828, app/assets/stylesheets/stock_analysis.scss */
.sa-target-consensus {
  font-size: 2rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1829, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside {
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 1831, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.positive {
  color: var(--color-success);
}

/* line 1832, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.negative {
  color: var(--color-danger);
}

/* line 1835, app/assets/stylesheets/stock_analysis.scss */
.sa-target-range {
  max-width: 280px;
  margin: 0 auto;
}

/* line 1836, 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 1845, 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 1851, 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 1861, app/assets/stylesheets/stock_analysis.scss */
.sa-target-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 1864, 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 1871, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 1872, 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 1873, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* line 1875, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.positive {
  color: var(--color-success);
}

/* line 1876, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.negative {
  color: var(--color-danger);
}

/* line 1879, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-verdict {
  text-align: center;
  margin-top: 1rem;
}

/* line 1880, 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 1889, 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 1890, 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 1891, 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 1894, 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 1902, app/assets/stylesheets/stock_analysis.scss */
.sa-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

/* line 1907, app/assets/stylesheets/stock_analysis.scss */
.sa-table th, .sa-table td {
  padding: 0.7rem 0.9rem;
  text-align: right;
}

/* line 1910, 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 1920, 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 1931, 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 1935, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:last-child {
  border-bottom: none;
}

/* line 1936, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:hover {
  background: rgba(var(--accent-primary-rgb), 0.03);
}

/* line 1940, app/assets/stylesheets/stock_analysis.scss */
.sa-td-label {
  font-weight: 500;
  color: var(--text-secondary);
  white-space: nowrap;
}

/* line 1941, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value {
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 1943, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.positive {
  color: var(--color-success);
}

/* line 1944, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.negative {
  color: var(--color-danger);
}

/* line 1946, app/assets/stylesheets/stock_analysis.scss */
.sa-td-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
  max-width: 140px;
}

/* line 1949, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-bars {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

/* line 1950, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-divider {
  height: 1px;
  background: var(--border-color);
  margin: 0.5rem 0;
}

/* line 1952, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 1953, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 1954, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 500;
}

/* line 1955, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value {
  font-size: var(--font-sm);
  font-weight: 800;
}

/* line 1957, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.positive {
  color: var(--color-success);
}

/* line 1958, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.negative {
  color: var(--color-danger);
}

/* line 1961, 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 1969, 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 1973, 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 1974, 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 1978, app/assets/stylesheets/stock_analysis.scss */
.sa-peers-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 1979, 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 1990, 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 1994, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper {
  position: relative;
  height: 260px;
  width: 100%;
}

/* line 1998, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 2002, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
}

/* line 2008, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item {
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2013, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
}

/* line 2014, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 500;
}

/* line 2015, 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 2016, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-bottom: 6px;
}

/* line 2017, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-bar {
  margin-top: 6px;
}

/* line 2019, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-track {
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2026, 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 2030, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-cheap {
  background: linear-gradient(90deg, #10b981, #34d399);
}

/* line 2031, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-fair {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

/* line 2032, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-expensive {
  background: linear-gradient(90deg, #ef4444, #f87171);
}

/* line 2035, 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 2044, app/assets/stylesheets/stock_analysis.scss */
.sa-health-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 2rem;
}

/* line 2050, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric {
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2051, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

/* line 2052, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 500;
}

/* line 2053, 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 2055, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-track {
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2062, 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 2066, 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 2067, 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 2068, 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 2072, 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 2084, 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 2096, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-scores {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

/* line 2097, 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 2104, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-pill strong {
  color: var(--text-primary);
  margin-left: 0.25rem;
  font-size: 0.8rem;
}

/* line 2110, 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 2119, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link i {
  margin-right: 0.3rem;
  font-size: 0.65rem;
}

/* line 2120, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link:hover {
  text-decoration: none !important;
  background: rgba(var(--accent-primary-rgb), 0.1);
}

/* line 2126, 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 2132, 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 2145, 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 2146, app/assets/stylesheets/stock_analysis.scss */
.sa-full-analysis-btn i {
  font-size: 0.6rem;
}

/* line 2149, 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 2156, 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 2161, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-compact {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2162, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-kpis {
    width: 100%;
  }
  /* line 2163, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2164, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range-mini {
    max-width: 100%;
  }
  /* line 2165, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-compact {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2166, app/assets/stylesheets/stock_analysis.scss */
  .stock-analysis-page {
    padding: 0 0.5rem;
  }
  /* line 2168, 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 2182, app/assets/stylesheets/stock_analysis.scss */
  .sa-layout-with-toc {
    display: block;
  }
  /* line 2183, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.25rem;
    width: 100%;
  }
  /* line 2184, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-hero {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  /* line 2185, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenarios-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2186, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenario-primary {
    transform: none;
  }
  /* line 2187, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-duo {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2188, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-card {
    padding: 1rem;
  }
  /* line 2189, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-body {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
  }
  /* line 2190, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-row {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2191, app/assets/stylesheets/stock_analysis.scss */
  .sa-mini-score-card {
    min-width: auto;
    padding: 0.75rem 1rem;
  }
  /* line 2192, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: 1fr;
  }
  /* line 2193, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: 1fr;
  }
  /* line 2194, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 2195, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-card {
    padding: 0.75rem;
  }
  /* line 2196, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2197, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  /* line 2198, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 64px;
    height: 64px;
  }
  /* line 2199, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-number {
    font-size: 1rem;
  }
  /* line 2200, app/assets/stylesheets/stock_analysis.scss */
  .sa-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2201, app/assets/stylesheets/stock_analysis.scss */
  .sa-show-name {
    max-width: 100px;
  }
  /* line 2202, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 180px;
  }
  /* line 2203, app/assets/stylesheets/stock_analysis.scss */
  .sa-valuation-grid {
    grid-template-columns: 1fr;
  }
  /* line 2204, app/assets/stylesheets/stock_analysis.scss */
  .sa-health-grid {
    grid-template-columns: 1fr;
  }
  /* line 2205, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    gap: 0.5rem;
  }
  /* line 2206, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi {
    min-width: auto;
    padding: 0.6rem 0.75rem;
  }
  /* line 2207, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2208, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-ai {
    margin-left: 0;
    margin-right: 0;
    padding: 1rem;
  }
  /* line 2209, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-title {
    font-size: 1rem;
  }
  /* line 2210, app/assets/stylesheets/stock_analysis.scss */
  .sa-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
  }
  /* line 2211, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-hero {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2212, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-badges {
    gap: 0.35rem;
  }
  /* line 2213, app/assets/stylesheets/stock_analysis.scss */
  .sa-badge {
    font-size: 0.65rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 2214, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-grid {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2215, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range {
    min-width: auto;
    width: 100%;
  }
  /* line 2216, app/assets/stylesheets/stock_analysis.scss */
  .sa-yield-row {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2217, app/assets/stylesheets/stock_analysis.scss */
  .sa-ai-complementary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  /* line 2221, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2222, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 56px;
    height: 56px;
  }
  /* line 2223, app/assets/stylesheets/stock_analysis.scss */
  .sa-table {
    font-size: 0.75rem;
  }
  /* line 2223, app/assets/stylesheets/stock_analysis.scss */
  .sa-table th, .sa-table td {
    padding: 0.5rem;
  }
  /* line 2224, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 160px;
  }
  /* line 2225, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: 1fr;
  }
  /* line 2226, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-card-price {
    font-size: 1.4rem;
  }
  /* line 2227, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-big {
    font-size: 2rem;
  }
  /* line 2228, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    flex-wrap: wrap;
  }
  /* line 2229, 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 2233, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.75rem;
  }
  /* line 2234, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
  /* line 2235, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2236, 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;
  }
}
/*
 * Master stylesheet bundle — loads all CSS in one request to prevent FOUC.
 *































 */
